\start
Date: 01 Oct 2007 08:12:14 +0200
From: Martin Rubey
To: Tim Daly
Subject: Re: pfaffian.input.pamphlet

Tim Daly writes:

> Martin,
> 
> I've been writing some pfaffian examples. Should the PfChar code read:
> 
> PfChar(lambda, A) ==
>   n := nrows A
> 
> PfChar(lambda, A) ==
>   n := nrows A
>   odd? n => 0

I didn't check for odd n since I didn't check for skew-symmetry either.  Yes,
one should, in a production environment.

\start
Date: 01 Oct 2007 09:58:55 +0200
From: Martin Rubey
To: Alasdair McAndrew, William Sit, Bill Page
Subject: emacs mode

After a few more modifications, axiom.el now also works without X.  Could you
please check whether it still works on MS Windows, and, if possible, on MacOS.

In particular, typing

)re

(or any other system command)

followed by space and tab should yield a list of possible completions - namely
all directories and all files ending in .input, .spad, .as.

After typing

)cd somedirectory

tab completion should still work.  I currently get the current directory with

)sys pwd

but I do not know whether this is available under MS Windows, too.

Finally, I'd really really really like to have some feedback.  Am I the only
user of this emacs mode?  If so, why?

\start
Date: Mon, 1 Oct 2007 05:38:34 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: Re: End Of File

>> Are you able to read from a socket?
>I don't understand.  Isn't this what we're doing in axserver?

yes, but while i'm able to connect to the socket i'm unable to
read any data from the socket. i always get "" which causes an
infinite loop.

\start
Date: Mon, 01 Oct 2007 08:51:54 -0700
From: Arthur Ralfs
To: Tim Daly
Subject: Re: End Of File

root wrote:
>>> Are you able to read from a socket?
>>>       
>> I don't understand.  Isn't this what we're doing in axserver?
>>     
>
> yes, but while i'm able to connect to the socket i'm unable to
> read any data from the socket. i always get "" which causes an
> infinite loop.
>
> Tim
>
>   
Do you mean that the axserver interface that Alfredo is developing
doesn't work for you?  I  find it's quite snappy now, especially if
READ_-CHAR_-NO_-HANG is replaced with READ_-LINE for
GETting files

\start
Date: Tue, 2 Oct 2007 02:13:58 -0500
From: Tim Daly
To: Alfredo Portes, Arthur Ralfs
Subject: newhyper.pamphlet

Alfredo, Arthur,

I've committed the latest newhyper.pamphlet.

I've implemented the limit pages, the drawing pages, and the series pages.
I've added another "expansion" page that doesn't exist in hyperdoc but
it is only in outline form so far.

It is possible to view the graphics from firefox now although the next
implementation will use a different method.

To test this version do:

 mkdir -p /home/silver/bitmaps                    < set up req. dirs.
 cp newhyper.pamphlet /home/silver                < put the pamphlet there
 cd /home/silver                                  < go there
 export AXIOM=(where)                             < setup axiom
 export PATH=$AXIOM/bin/lib:$AXIOM/bin:$PATH      < get notangle on path
 notangle -t8 newhyper.pamphlet > Makefile        < extract makefile
 make                                             < extract pages
 axiom -noht                                      < don't start hyperdoc
 )set mes auto off                                < reduce noise
 )set out mathml on                               < pretty output
 )lisp (load "http.lisp")                         < the socket connection
 )compile axserver                                < the axiom code
 axServer(8085,multiServ)$AXSERV                  < listen

start firefox and go to:
 file:///home/silver/rootpage.html                < fetch the first page

I'm building and testing a version of Axiom that has the new functionality
embedded in it so there will be much less startup typing. If it passes
testing I'll commit it tomorrow.

Arthur, you recently walked thru the process of setting up a new 
command (the mathml mode). Could you look at creating a patch for
silver that does something like
  )browser
that effectively does 
  )set message autoload off
  )set output mathml on
  axServer(8085,multiServ)$AXSERV
I know I can do it but it's been a while and you've looked at it recently.
It could possibly take a non-default port such as
  )browser 7000

\start
Date: 02 Oct 2007 14:07:12 +0200
From: Martin Rubey
To: list
Subject: Re: [ANN] new version of axiom mode for emacs.

Martin Rubey writes:

> * undo should have sane behaviour, whatever that is.  Possibly, it should be
>   restricted to the current input, but that might be too restrictive. (For
>   example, if one has overwritten some important output by accident.)

Just realised that axiom in fact provides a command )undo, as well as redo.  It
remains to check how I can combine this suitably with emacs' undo facility...

\start
Date: Tue, 2 Oct 2007 17:28:07 -0400
From: Tim Daly
To: list
Subject: raw sockets on XP

I've been looking into the raw socket programming issue for gcl and found:


from 
<http://mehmeterturk.blogspot.com/2007/10/how-microsoft-restricts-developers-on.html>


      How Microsoft restricts developers on networking


Nowadays I'm interested in raw network programming which gives you 
ability to construct you building custom headers and makes sure that OS 
kernel does not modify these headers. I've started a VS.NET C++ console 
application (unmanaged) and typed several lines to test.


    #include "stdafx.h"
    #include

    int _tmain(int argc, _TCHAR* argv[])
    {
    SOCKET s;
    int optval = 1;

    s = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
    setsockopt(s, IPPROTO_IP, IP_HDRINCL, (char *)&optval, sizeof optval);


    return 0;
    }


I got an error message;

    Error 1 error C2065: 'IP_HDRINCL' : undeclared identifier ..


After some quick research I've come up to this solution. If you are 
interested in low level networking like me, you should have Unix based 
boxes instead of Microsoft. The reason is simple; restrictions. Raw 
socket programming is available in all Unix, and Linux OSs on the other 
hand MS based OSs is restricted to NT based ones. None of Windows 95, 
98, 98SE supported raw sockets. It becames available on Windows from 
Windows 2000, Windows XP but with Windows XP SP2 this feature is 
disabled. Quick summary from Microsoft's specification 
<http://technet.microsoft.com/en-us/library/bb457156.aspx> for this issue:


    The Windows implementation of TCP/IP still supports receiving
    traffic on raw IP sockets. However, the ability to send traffic over
    raw sockets has been restricted in two ways:

    * TCP data cannot be sent over raw sockets.
    *UDP datagrams with invalid source addresses cannot be sent over raw
    sockets. The IP source address for any outgoing UDP datagram must
    exist on a network interface or the datagram is dropped.

\start
Date: 03 Oct 2007 08:14:00 +0200
From: Martin Rubey
To: list
Subject: Re:  Re: emacs mode

Waldek Hebisch writes:

> If I add:
> 
> (provide 'axiom)
> 
> at the end of axiom.el then it works.

Yes, I believe that's the way to do it. I'm currently trying to clean up the
init code, so that one can start several axiom sessions in parallel, and I'm
looking into (ab)using 

  )history )save 

and 

  )undo

to get useful behaviour, that might also be closer to what some MMA and Maple
users expect.

\start
Date: 03 Oct 2007 10:19:47 +0200
From: Martin Rubey
To: Francois Maltey
Subject: Re: emacs mode

(I hope I do not offend you by forwarding this to the lists)

Francois Maltey writes:

> When I test linear algebra I noticed that nullSpace return a basis of the
> kernel, it's right, but I expect an empty list when the matrix is inversible.
> 
> The documentation of axiom announces it's the null vector in this case.  So
> it isnot a bug... but I think it's a silly feature because it becomes
> impossible to get the dimension by the length function.

I think you are right.  In fact, the user doc says it returns a basis, only the
internal doc says what you mentioned.  The modification would be trivial, only,
it might break something...

> What is your advice ? 

use nullity.

\start
Date: Wed, 3 Oct 2007 16:46:35 -0500
From: Tim Daly
To: list
Subject: 20071003.01.tpd.patch

This patch adds lisp code and spad code to support a browser-based
replacement for hyperdoc. Arthur Ralfs and Alfredo Portes have been
working on the various issues involved in the MathML and socket
connections. As of this change it is no longer necessary to load
http.lisp or compile the axserver.spad code.



===========================================================================
diff --git a/changelog b/changelog
index 6c10a71..21958ab 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,10 @@
+20071001 tpd src/algebra/exposed.lisp add (|AxiomServer| . AXSERV) to basic
+20071001 tpd src/algebra/Makefile add axserver.spad
+20071001 acr src/algebra/axserver.spad axserver socket connection code
+20071001 tpd src/interp/Makefile add http.lisp
+20071001 acr src/interp/http.lisp axserver socket connection code
+20071001 acr license/license.ralfs added
+20071001 acr Arthur Ralfs
 20070929 tpd src/input/Makefile pfaffian regression test removed
 20070929 tpd src/input/pfaffian.input regression test removed
 20070927 tpd src/input/Makefile pfaffian regression test added 
diff --git a/license/license.ralfs b/license/license.ralfs
new file mode 100644
index 0000000..ae26469
--- /dev/null
+++ b/license/license.ralfs
@@ -0,0 +1,31 @@
+--Copyright (c) 2007 Arthur C. Ralfs
+--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 Arthur C. Ralfs 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.
+
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 1e47325..939e6e5 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -625,7 +625,8 @@ wtpol.spad.pamphlet (WP OWP)
 
 LAYER14=\
   ${OUT}/ASP1.o     ${OUT}/ASP10.o    ${OUT}/ASP24.o    ${OUT}/ASP4.o     \
-  ${OUT}/ASP50.o    ${OUT}/ASP6.o     ${OUT}/ASP73.o    ${OUT}/BALFACT.o  \
+  ${OUT}/ASP50.o    ${OUT}/ASP6.o     ${OUT}/ASP73.o    ${OUT}/AXSERV.o   \
+  ${OUT}/BALFACT.o  \
   ${OUT}/BEZOUT.o   ${OUT}/BINARY.o   ${OUT}/BINFILE.o  ${OUT}/BOUNDZRO.o \
   ${OUT}/BPADICRT.o ${OUT}/BRILL.o    ${OUT}/CDEN.o     ${OUT}/CHVAR.o    \
   ${OUT}/COMMUPC.o  ${OUT}/CONTFRAC.o ${OUT}/CVMP.o     ${OUT}/CYCLOTOM.o \
@@ -1192,6 +1193,7 @@ SPADFILES= \
  ${OUTSRC}/algfunc.spad ${OUTSRC}/allfact.spad ${OUTSRC}/alql.spad \
  ${OUTSRC}/annacat.spad ${OUTSRC}/any.spad ${OUTSRC}/array1.spad \
  ${OUTSRC}/array2.spad ${OUTSRC}/asp.spad ${OUTSRC}/attreg.spad \
+ ${OUTSRC}/axserver.spad \
  ${OUTSRC}/bags.spad ${OUTSRC}/bezout.spad ${OUTSRC}/boolean.spad \
  ${OUTSRC}/brill.spad \
  ${OUTSRC}/c02.spad ${OUTSRC}/c05.spad ${OUTSRC}/c06.spad \
@@ -1351,7 +1353,7 @@ DOCFILES= \
  ${DOC}/algfunc.spad.dvi ${DOC}/allfact.spad.dvi ${DOC}/alql.spad.dvi \
  ${DOC}/annacat.spad.dvi ${DOC}/any.spad.dvi ${DOC}/array1.spad.dvi \
  ${DOC}/array2.spad.dvi ${DOC}/asp.spad.dvi ${DOC}/attreg.spad.dvi \
- ${DOC}/axtimer.as.dvi \
+ ${DOC}/axserver.spad.dvi ${DOC}/axtimer.as.dvi \
  ${DOC}/bags.spad.dvi ${DOC}/bezout.spad.dvi ${DOC}/boolean.spad.dvi \
  ${DOC}/brill.spad.dvi \
  ${DOC}/c02.spad.dvi ${DOC}/c05.spad.dvi ${DOC}/c06.spad.dvi \
diff --git a/src/algebra/axserver.spad.pamphlet b/src/algebra/axserver.spad.pamphlet
new file mode 100644
index 0000000..4262996
--- /dev/null
+++ b/src/algebra/axserver.spad.pamphlet
@@ -0,0 +1,258 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/algebra axserver.spad}
+\author{Arthur C. Ralfs}
+\maketitle
+\begin{abstract}
+The AxiomServer package is designed to provide a web interface
+to axiom.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{Running Axiom Server}
+
+Put the extracted files in a suitable directory, like the one you
+started Axiom from, and issue the commands:
+
+\begin{verbatim}
+)set message autoload off
+)set output mathml on
+axServer(8085,multiServ$AXSERV)
+\end{verbatim}
+
+Of course you need a mathml enabled build of axiom to do this.
+
+Once you've done this Axiom will be in a wait loop on a socket
+listening on port 8085. You can connect to this port by sending 
+the browser to the URL.
+\section{Axiom Server}
+<<package AXSERV AxiomServer>>=
+
+)abbrev package AXSERV AxiomServer
+AxiomServer: public == private where
+
+  public == with
+
+    axServer: (Integer, SExpression->Void) -> Void
+    multiServ: SExpression -> Void
+    fileserver: SExpression -> Void
+    axget: SExpression -> Void
+    axpost: SExpression -> Void
+
+
+  private == add
+
+    getFile: (SExpression,String) -> Void
+    getCommand: (SExpression,String) -> Void
+    lastStep: () -> String
+    lastType: () -> String
+    formatMessages: String -> String
+    formatMessages1: String -> String
+
+
+    axServer(port:Integer,serverfunc:SExpression->Void):Void ==
+      WriteLine("socketServer")$Lisp
+      s := SiSock(port,serverfunc)$Lisp
+      -- To listen for just one connection and then close the socket
+      -- uncomment i := 0.
+      i:Integer := 1
+      while (i > 0) repeat
+        if not null?(SiListen(s)$Lisp)$SExpression then
+          w := SiAccept(s)$Lisp
+          serverfunc(w)
+--        i := 0
+
+    multiServ(s:SExpression):Void ==
+          WriteLine("multiServ")$Lisp
+          headers:String := ""
+          char:String
+          -- read in the http headers
+          while (char := _
+            STRING(READ_-CHAR_-NO_-HANG(s,NIL$Lisp,'EOF)$Lisp)$Lisp) ^= "EOF"_
+             repeat
+              headers := concat [headers,char]
+          sayTeX$Lisp headers
+          StringMatch("([^ ]*)", headers)$Lisp
+          u:UniversalSegment(Integer)
+          u := segment(MatchBeginning(1)$Lisp+1,_
+                              MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+          reqtype:String := headers.u
+          sayTeX$Lisp  concat ["request type: ",reqtype]
+          if  reqtype = "GET" then
+              StringMatch("GET ([^ ]*)",headers)$Lisp
+              u:UniversalSegment(Integer)
+              u := segment(MatchBeginning(1)$Lisp+1,_
+                              MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+              getFile(s,headers.u)
+          if reqtype = "POST" then
+              StringMatch("command=(.*)$",headers)$Lisp
+              u:UniversalSegment(Integer)
+              u := segment(MatchBeginning(1)$Lisp+1,_
+                               MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+              getCommand(s,headers.u)
+
+    getFile(s:SExpression,pathvar:String):Void ==
+        WriteLine("getFile")$Lisp
+        if not null? PATHNAME_-NAME(PATHNAME(pathvar)$Lisp)$Lisp then
+        -- display contents of file
+            q:=OPEN(pathvar)$Lisp
+        else
+            q:=MAKE_-STRING_-INPUT_-STREAM("Problem with file path")$Lisp
+        file:String := ""
+        while (line :=STRING(READ_-LINE(q,NIL$Lisp,'EOF)$Lisp)$Lisp) ^= "EOF" _
+          repeat
+            file := concat [file,line,STRING(NewLine$Lisp)$Lisp]
+        CLOSE(q)$Lisp
+        file := concat _
+          ["Content-Length: ",string(#file),STRING(NewLine$Lisp)$Lisp,_
+            STRING(NewLine$Lisp)$Lisp,file]
+        file := concat ["Connection: close",STRING(NewLine$Lisp)$Lisp,file]
+        file := concat _
+         ["Content-Type: application/xhtml+xml",STRING(NewLine$Lisp)$Lisp,file]
+        file := concat ["HTTP/1.1 200 OK",STRING(NewLine$Lisp)$Lisp,file]
+        f:=MAKE_-STRING_-INPUT_-STREAM(file)$Lisp
+        SiCopyStream(f,s)$Lisp
+        CLOSE(f)$Lisp
+        CLOSE(s)$Lisp
+
+    getCommand(s:SExpression,command:String):Void ==
+        WriteLine$Lisp concat ["getCommand: ",command]
+        SETQ(tmpmathml$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
+        SETQ(tmpalgebra$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
+        SETQ(savemathml$Lisp, _$texOutputStream$Lisp)$Lisp
+        SETQ(savealgebra$Lisp, _$algebraOutputStream$Lisp)$Lisp
+        SETQ(_$texOutputStream$Lisp,tmpmathml$Lisp)$Lisp
+        SETQ(_$algebraOutputStream$Lisp,tmpalgebra$Lisp)$Lisp
+--      parseAndInterpret$Lisp command
+--      parseAndEvalStr$Lisp command
+-- The previous two commands don't exit nicely when a syntactically 
+-- incorrect command is given to them. They somehow need to be wrapped 
+-- in CATCH statements but I haven't figured out how to do this.  
+-- parseAndEvalToStringEqNum  uses the following CATCH statements to 
+-- call parseAndEvalStr but when I try these they don't work.  I get a
+-- "NIL is not a valid identifier to use in AXIOM" message. 
+-- Using parseAndEvalToStringEqNum works and doesn't crash on a syntax error.
+--        v := CATCH('SPAD__READER, _
+           CATCH('top__level, parseAndEvalStr$Lisp command)$Lisp)$Lisp
+--        v = 'restart => ['"error"]
+        ans := string parseAndEvalToStringEqNum$Lisp command
+        SETQ(resultmathml$Lisp,_
+         GET_-OUTPUT_-STREAM_-STRING(_$texOutputStream$Lisp)$Lisp)$Lisp
+        SETQ(resultalgebra$Lisp,_
+         GET_-OUTPUT_-STREAM_-STRING(_$algebraOutputStream$Lisp)$Lisp)$Lisp
+        SETQ(_$texOutputStream$Lisp,savemathml$Lisp)$Lisp
+        SETQ(_$algebraOutputStream$Lisp,savealgebra$Lisp)$Lisp
+        CLOSE(tmpmathml$Lisp)$Lisp
+        CLOSE(tmpalgebra$Lisp)$Lisp
+        -- Since strings returned from axiom are going to be displayed in html
+        -- I should really check for the characters &,<,> and replace them with
+        -- &amp;,&lt;,&gt;.  
+        -- At present I only check for ampersands in formatMessages.
+        mathml:String := string(resultmathml$Lisp)
+        algebra:String := string(resultalgebra$Lisp)
+        algebra := formatMessages(algebra)
+        -- At this point mathml contains the mathml for the output but does 
+        -- not include step number or type information.  We should also save 
+        -- the command. I get the type and step number from the 
+        -- $internalHistoryTable
+        axans:String := concat 
+         ["<div>"_
+           "<div class=_"stepnum_"> (", lastStep(), _
+              ") -&gt; ", command, "</div>" _
+           "<div class=_"algebra_">", algebra, "</div>" _
+           "<div id=_"answer_" class=_"mathml_">", mathml , "</div>" _
+           "<div class=_"type_">Type: ",lastType(),"</div>"_
+          "</div>"]
+        WriteLine$Lisp concat ["mathml answer: ",mathml]
+        WriteLine$Lisp concat ["algebra answer: ",algebra]
+        q:=MAKE_-STRING_-INPUT_-STREAM(axans)$Lisp
+        SiCopyStream(q,s)$Lisp
+        CLOSE(q)$Lisp
+        CLOSE(s)$Lisp
+
+    lastType():String ==
+--  The last history entry is the first item in the 
+--  $internalHistoryTable list so car(_$internalHistoryTable$Lisp) 
+--  selects it.  Here's an example:
+--  (3 (x+y)**3 (% (value (Polynomial (Integer)) WRAPPED 1 y 
+--   (3 0 . 1) (2 1 x (1 0 . 3)) (1 1 x (2 0 . 3)) (0 1 x (3 0 . 1)))))
+--  This corresponds to the input "(x+y)**3" being issued as the third 
+--  command after starting axiom. 
+--  The following line selects the type information.
+        string cadr(cadar(cddar(_$internalHistoryTable$Lisp)$Lisp)$Lisp)$Lisp
+
+    lastStep():String == 
+        string caar(_$internalHistoryTable$Lisp)$Lisp
+
+    formatMessages(str:String):String ==
+        WriteLine("formatMessages")$Lisp
+        -- I need to replace any ampersands with &amp; and may also need to
+        -- replace < and > with &lt; and &gt;
+        strlist:List String
+        WriteLine(str)$Lisp
+        strlist := split(str,char "&")
+        str := ""
+        for s in strlist repeat
+            str := concat [str,s,"&amp;"]
+        strlen:Integer := #str
+        str := str.(1..(#str - 5))
+        WriteLine(str)$Lisp
+        -- Here I split the string into lines and put each line in a "div".
+        strlist := split(str, char string NewlineChar$Lisp)
+        str := ""
+        WriteLine("formatMessages1")$Lisp
+        WriteLine(concat strlist)$Lisp
+        for s in strlist repeat
+            WriteLine(s)$Lisp
+            str := concat [str,"<div>",s,"</div>"]
+        str
+
+
+@
+        
+\section{License}
+<<license>>=
+--Copyright (c) 2007 Arthur C. Ralfs
+--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 Arthur C. Ralfs 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.
+
+
+@
+
+<<*>>=
+<<package AXSERV AxiomServer>>
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet
index c893d91..ed6155a 100644
--- a/src/algebra/exposed.lsp.pamphlet
+++ b/src/algebra/exposed.lsp.pamphlet
@@ -62,6 +62,7 @@
   (|AssociatedJordanAlgebra| . JORDAN)
   (|AssociatedLieAlgebra| . LIE)
   (|AttachPredicates| . PMPRED)
+  (|AxiomServer| . AXSERV)
   (|BalancedBinaryTree| . BBTREE)
   (|BasicOperator| . BOP)
   (|BasicOperatorFunctions1| . BOP1)
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index 3fa2d97..5404c64 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -156,6 +156,9 @@ by being compiled.
 
 Another exception is gclweb.lisp. This file contains lisp to extract
 code from literate documents. It is not a literate document.
+
+The file http.lisp contains code to enable browser-based hyperdoc
+and graphics.
 <<environment>>=
 OBJS= ${OUT}/vmlisp.${O}      ${OUT}/hash.${O} \
       ${OUT}/bootfuns.${LISP} ${OUT}/macros.${O} \
@@ -175,6 +178,7 @@ OBJS= ${OUT}/vmlisp.${O}      ${OUT}/hash.${O} \
       ${OUT}/g-error.${O}     ${OUT}/g-opt.${O} \
       ${OUT}/g-timer.${O}     ${OUT}/g-util.${O} \
       ${OUT}/gclweb.${O}      ${OUT}/ggreater.${O}    \
+      ${OUT}/http.${O} \
       ${OUT}/hypertex.${O}    ${OUT}/i-analy.${O} \
       ${OUT}/i-code.${O}      ${OUT}/i-coerce.${O} \
       ${OUT}/i-coerfn.${O}    ${OUT}/i-eval.${O} \
@@ -4013,6 +4017,29 @@ ${MID}/gclweb.lisp: ${IN}/gclweb.lisp
 	@( cp ${IN}/gclweb.lisp ${MID}/gclweb.lisp )
 
 @
+
+\subsection{http.lisp}
+<<http.o (OUT from MID)>>=
+${OUT}/http.${O}: ${MID}/http.lisp
+	@ echo 367 making ${OUT}/http.${O} from ${MID}/http.lisp
+	@ ( cd ${MID} ; \
+	  if [ -z "${NOISE}" ] ; then \
+	   echo '(progn  (compile-file "${MID}/http.lisp"' \
+             ':output-file "${OUT}/http.${O}") (${BYE}))' | ${DEPSYS} ; \
+	  else \
+	   echo '(progn  (compile-file "${MID}/http.lisp"' \
+             ':output-file "${OUT}/http.${O}") (${BYE}))' | ${DEPSYS} \
+             >${TMP}/trace ; \
+	  fi )
+
+@
+<<http.lisp (MID from IN)>>=
+${MID}/http.lisp: ${IN}/http.lisp
+	@ echo 368 making ${MID}/http.lisp from ${IN}/http.lisp
+	@( cp ${IN}/http.lisp ${MID}/http.lisp )
+
+@
+
 \subsection{hypertex.boot}
 <<hypertex.o (OUT from MID)>>=
 ${OUT}/hypertex.${O}: ${MID}/hypertex.clisp 
@@ -8809,6 +8836,9 @@ clean:
 <<gclweb.o (OUT from MID)>>
 <<gclweb.lisp (MID from IN)>>
 
+<<http.o (OUT from MID)>>
+<<http.lisp (MID from IN)>>
+
 <<hash.o (OUT from MID)>>
 <<hash.lisp (MID from IN)>>
 <<hash.lisp.dvi (DOC from IN)>>
diff --git a/src/interp/http.lisp b/src/interp/http.lisp
new file mode 100644
index 0000000..9db87f8
--- /dev/null
+++ b/src/interp/http.lisp
@@ -0,0 +1,23 @@
+(in-package "BOOT")
+
+(defvar |StandardOutput| *standard-output*)
+
+(defvar  |NewLine| '#\NewLine)
+
+;; some regexp stuff
+
+(defun |StringMatch| (s1 s2) (si::string-match s1 s2))
+(defun |ListMatches| (&rest args) (si::list-matches args))
+(defun |MatchBeginning| (i) (si::match-beginning i))
+(defun |MatchEnd| (i) (si::match-end i))
+
+;; the socket stuff
+
+(defun |SiSock| (p spadfn)
+  (si::socket p :server
+   (function (lambda (w) (SPADCALL w spadfn) )) :daemon nil))
+
+(defun |SiListen| (s) (si::listen s))
+(defun |SiAccept| (s) (si::accept s))
+(defun |SiCopyStream| (q s) (si::copy-stream q s))
+

\start
Date: Wed, 3 Oct 2007 22:14:18 -0400
From: Tim Daly
To: Camm Maguire
Subject: [Constantine Frangos: Re: Installing axiom on suse linux 10.2]
Cc: Constantine Frangos

Camm,

GCL seems to have built on Suse 10.2 and the system command works.
The GCC compiler appears to be in the path. Yet it appears that
GCL cannot execute it. CC1 seems to be looking in the wrong place
for the .h files. Do you have any insight into this?

Tim

------- Start of forwarded message -------

I tried  the instructions and it seems that the )sys command is 
working.

I use this command to delete foo1, and call gcc in order to compile one of my 
C programs located in another directory (see below).

It seems that gcc is on the path, but I dont recall the linux command to 
explicitly check this.

Regards,

C. Frangos.


(1) -> )sys rm /home/cfrangos/temp/foo1                    
(1) -> )sys gcc -o test1 /home/cfrangos/src/agvs1.c -lm -O3
(1) -> 







>(1) -> )fin
>
>BOOT>(defun foo (x) x)
>
>FOO
>
>BOOT>(compile 'foo)
>cc1: error: /root/axiom/mnt/fedora5/bin/../h: Permission denied
>
>Error: (SYSTEM "gcc -c -Wall -DVOL=volatile -fsigned-char -pipe  
>-I/root/axiom/mnt/fedora5/bin/../h  -O3 -fomit-frame-pointer -c 
>\"/tmp/gazonk5.c\" -o \"/tmp/gazonk5.o\" -w") returned a non-zero value 0.
>Fast links are on: do (si::use-fast-links nil) for debugging
>Error signalled by UNLESS.
>Broken at APPLY.  Type :H for Help.
>BOOT>>(foo 3)
>
>3
>
>On Wednesday 03 October 2007 21:49, you wrote:
>> right. the (foo 3) is interpreted.
>> the compile step is failing.
>> somehow axiom (actually gcl) cannot find the gcc command.
>> is gcc on your path?
>>
>> or possibly the "system" command does not work.
>> create a junk file like /tmp/foo by doing "touch /tmp/foo"
>> start axiom
>> type
>>   )sys rm /tmp/foo
>> and see if the file is erased.
>>
>> If the file is erased then the system command works and
>> the problem is that gcc cannot be found. If the file is
>> not erased then the system function is not working and
>> we have to get Camm (the GCL maintainer) involved.

\start
Date: Thu, 4 Oct 2007 13:04:32 +0200
From: Constantine Frangos
To: list
Subject: Axiom: Matrix manipulations

I have tried to read in the file test.input pasted below. However,
I am getting continuously error messages re. the matrix Acon, and have be=
en
unable to make progress.

Any assistance would be appreciated.

--file test.input

--)read expandsincos.input

Acon := matrix([[1 , 0 , Lo1*sin(phi) , -sin(phi)*a , 0 , 0 , 0 , 0 , 0=
],_
[0 , 1 , -Lo1*cos(phi) , a*cos(phi) , 0 , 0 , 0 , 0 , 0],_
[1 , 0 , -Lo1*sin(phi) , 0 , -a*sin(phi), 0 , 0 , 0 , 0],-
[0 , 1 , Lo1*cos(phi) , 0 , a*cos(phi) , 0 , 0 , 0 , 0],_
[1,0,-Lc*cos(phi)+Lo1*sin(phi),0,0,0,-a*sin(phi)*cos(delta3)_
-a*cos(phi)*sin(delta3),0,0],_
[0,1,-Lc*sin(phi)-Lo1*cos(phi),0,0,0,a*cos(phi)*cos(delta3)_
-a*sin(phi)*sin(delta3),0,0],_
[1,-Lc*cos(phi)-Lo1*sin(phi),0,0,(-2*sin(phi)*Lo1*sin(delta3)-sin(phi)*_
Lc*cos(delta3)-cos(phi)*Lc*sin(delta3))*a/sqrt(4*Lo1^2*sin(delta3)^2+_
4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0=
,0,0],_
[0,1,-Lc*sin(phi)+Lo1*cos(phi),0,0,a*(2*cos(phi)*Lo1*sin(delta3)+_
cos(phi)*Lc*cos(delta3)-sin(phi)*Lc*sin(delta3))/sqrt(4*Lo1^2*sin(delta3)=
^2+_
4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0=
,0,0],_
[0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , -k]])

rankAcon := rank(Acon)

nullityAcon := nullity(Acon)

Aconre := rowEchelon(Acon)

Aconnull := nullSpace(Acon)


--end of file.

\start
Date: Thu, 4 Oct 2007 14:33:41 +0200 (CEST)
From: Waldek Hebisch
To: Tim Daly
Subject: Re: [Constantine Frangos: Re: Installing axiom on suse linux 10.2]
Cc: Constantine Frangos

> Camm,
> 
> GCL seems to have built on Suse 10.2 and the system command works.
> The GCC compiler appears to be in the path. Yet it appears that
> GCL cannot execute it. CC1 seems to be looking in the wrong place
> for the .h files. Do you have any insight into this?
> 
> Tim

> >
> >BOOT>(compile 'foo)
> >cc1: error: /root/axiom/mnt/fedora5/bin/../h: Permission denied
> >

I belive this is the same problem as discussed in the thread starting at:

http://lists.nongnu.org/archive/html/axiom-developer/2007-02/msg00186.html

It not easy to decide whom to blame (and which programs should be fixed).
In wh-sandbox I worked around the problem by making sure that for
user compiler::*default-system-p* is set to nil (it _must_ be set
to t during build).

\start
Date: 04 Oct 2007 08:52:46 -0400
From: Camm Maguire
To: Tim Daly
Subject: Re: [Constantine Frangos: Re: Installing axiom	on suse linux 10.2]
Cc: Constantine Frangos

Greetings!

Turning off si::*default-system-p* as Waldek said works, but does so
by copying the header contents into each .c file to be compiled.  One
can also add :system-p nil to the compile-file command.  The real
issue is that apparently the install mechanism has not reset the
system library paths to their installed location.

In particular, when you move the compiled source tree (keeping its
structure intact), the si::*system-directory* and si::*lib-directory*
must be set to their final locations.  There is a routine
si::reset-sys-paths to help with this:

(defun reset-sys-paths (s)
  (declare (string s))
  (setq si::*lib-directory* s)
  (setq si::*system-directory* (si::string-concatenate s "unixport/"))
  (let (nl)
    (dolist (l '("cmpnew/" "gcl-tk/" "lsp/" "xgcl-2/"))
      (push (si::string-concatenate s l) nl))
    (setq si::*load-path* nl))
  nil)

i.e. 

>(si::reset-sys-paths "/new/location/gcl-install/")
>(si::save-system "foo")
mv foo /new/location/gcl-install/unixport/


GCL's make install is supposed to do this, but if the axiom build is
moving gcl images around by hand, this needs to be invoked at some
point. 

Bob Boyer once convinced me that autoloading and other dependence on
runtime files to be found in particular locations was a really bad
idea.  One great thing about GCL, IMHO, is that one can use it as a
completely self-contained stand-alone binary which can be moved around
at will (provided at least, of cource, that one sets
si::*default-system-p* to nil).

Take care,



Tim Daly writes:

> Camm,
> 
> GCL seems to have built on Suse 10.2 and the system command works.
> The GCC compiler appears to be in the path. Yet it appears that
> GCL cannot execute it. CC1 seems to be looking in the wrong place
> for the .h files. Do you have any insight into this?
> 
> Tim
> 
> From: "C. Frangos" Constantine Frangos
> Subject: Re: Installing axiom on suse linux 10.2
> To: Tim Daly
> Date: Wed, 3 Oct 2007 23:00:10 +0200
> Reply-To: Constantine Frangos
> 
> 
> I tried  the instructions and it seems that the )sys command is 
> working.
> 
> I use this command to delete foo1, and call gcc in order to compile one of my 
> C programs located in another directory (see below).
> 
> It seems that gcc is on the path, but I dont recall the linux command to 
> explicitly check this.
> 
> Regards,
> 
> C. Frangos.
> 
> 
> (1) -> )sys rm /home/cfrangos/temp/foo1                    
> (1) -> )sys gcc -o test1 /home/cfrangos/src/agvs1.c -lm -O3
> (1) -> 
> 
> 
> 
> 
> 
> 
> 
> >(1) -> )fin
> >
> >BOOT>(defun foo (x) x)
> >
> >FOO
> >
> >BOOT>(compile 'foo)
> >cc1: error: /root/axiom/mnt/fedora5/bin/../h: Permission denied
> >
> >Error: (SYSTEM "gcc -c -Wall -DVOL=volatile -fsigned-char -pipe  
> >-I/root/axiom/mnt/fedora5/bin/../h  -O3 -fomit-frame-pointer -c 
> >\"/tmp/gazonk5.c\" -o \"/tmp/gazonk5.o\" -w") returned a non-zero value 0.
> >Fast links are on: do (si::use-fast-links nil) for debugging
> >Error signalled by UNLESS.
> >Broken at APPLY.  Type :H for Help.
> >BOOT>>(foo 3)
> >
> >3
> >
> >On Wednesday 03 October 2007 21:49, you wrote:
> >> right. the (foo 3) is interpreted.
> >> the compile step is failing.
> >> somehow axiom (actually gcl) cannot find the gcc command.
> >> is gcc on your path?
> >>
> >> or possibly the "system" command does not work.
> >> create a junk file like /tmp/foo by doing "touch /tmp/foo"
> >> start axiom
> >> type
> >>   )sys rm /tmp/foo
> >> and see if the file is erased.
> >>
> >> If the file is erased then the system command works and
> >> the problem is that gcc cannot be found. If the file is
> >> not erased then the system function is not working and
> >> we have to get Camm (the GCL maintainer) involved.

\start
Date: Thu, 4 Oct 2007 10:12:20 -0500
From: Tim Daly
To: list
Subject: 20071004.01.tpd.patch

This patch adds regression testing of Axiom's ordinary differential
equation facilities using the first 50 equations from the Kamke test suite.
==========================================================================
diff --git a/changelog b/changelog
index 21958ab..46dc9dc 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071004 tpd src/input/Makefile kamke0.input regression test added
+20071004 tpd src/input/kamke0.input ODE regression test added
 20071001 tpd src/algebra/exposed.lisp add (|AxiomServer| . AXSERV) to basic
 20071001 tpd src/algebra/Makefile add axserver.spad
 20071001 acr src/algebra/axserver.spad axserver socket connection code
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index f62095a..c1ade3e 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -322,6 +322,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     intmix2.regress   intmix.regress   int.regress      intrf.regress \
     iprntpk.regress \
     ipftest.regress   is.regress       isprime.regress  kafile.regress \
+    kamke0.regress \
     kernel.regress    knot2.regress    kovacic.regress  kuipers.regress \
     laplace.regress   leg.regress      limit.regress    lindep.regress \
     list.regress      lode.regress     lodesys.regress  lodo1.regress \
@@ -556,11 +557,12 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/images3.input  ${OUT}/images6.input    ${OUT}/images6a.input \
        ${OUT}/images7.input  ${OUT}/images7a.input   ${OUT}/infprod.input \
        ${OUT}/intaf.input    ${OUT}/intbypart.input \
-       ${OUT}/intdeq.input     ${OUT}/intef.input \
+       ${OUT}/intdeq.input   ${OUT}/intef.input \
        ${OUT}/intg0.input    ${OUT}/intheory.input   ${OUT}/int.input \
        ${OUT}/intlf.input    ${OUT}/intmix.input     ${OUT}/intrf.input \
        ${OUT}/ipftest.input  ${OUT}/is.input         ${OUT}/isprime.input \
-       ${OUT}/kafile.input   ${OUT}/kernel.input     ${OUT}/knot.input \
+       ${OUT}/kafile.input   ${OUT}/kamke0.input \
+       ${OUT}/kernel.input   ${OUT}/knot.input \
        ${OUT}/kovacic.input  ${OUT}/kuipers.input  \
        ${OUT}/laplace.input  ${OUT}/leg.input        ${OUT}/lexp.input \
        ${OUT}/lextripk.input ${OUT}/lib.input        ${OUT}/limit.input \
@@ -825,6 +827,7 @@ DOCFILES= \
   ${DOC}/intmix.input.dvi      ${DOC}/intrf.input.dvi      \
   ${DOC}/ipftest.input.dvi     ${DOC}/is.input.dvi         \
   ${DOC}/isprime.input.dvi     ${DOC}/kafile.input.dvi     \
+  ${DOC}/kamke0.input.dvi \
   ${DOC}/kernel.input.dvi      ${DOC}/knot2.input.dvi      \
   ${DOC}/knot.input.dvi        ${DOC}/knownbugs.input.dvi  \
   ${DOC}/kovacic.input.dvi     ${DOC}/kuipers.input.dvi    \
diff --git a/src/input/kamke0.input.pamphlet b/src/input/kamke0.input.pamphlet
new file mode 100644
index 0000000..d1a9d8b
--- /dev/null
+++ b/src/input/kamke0.input.pamphlet
@@ -0,0 +1,1904 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kamke0.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+This is the first 50 of the Kamke test suite as published by 
+E. S. Cheb-Terrab\cite{1}. They have been rewritten using Axiom
+syntax. Where possible we show that the particular solution actually
+satisfies the original ordinary differential equation.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)spool kamke0.output
+)set break resume
+)set mes auto off
+)clear all
+
+--S 1 of 134
+y:=operator 'y
+--R 
+--R
+--R   (1)  y
+--R                                                          Type: BasicOperator
+--E 1
+
+--S 2 of 134
+f := operator 'f
+--R
+--R   (2)  f
+--R                                                          Type: BasicOperator
+--E 2
+
+--S 3 of 134
+g := operator 'g
+--R
+--R   (3)  g
+--R                                                          Type: BasicOperator
+--E 3
+
+--S 4 of 134
+ode1 := D(y(x),x) - (a4*x**4+a3*x**3+a2*x**2+a1*x+a0)**(-1/2)
+--R 
+--R
+--R         +---------------------------------+
+--R         |    4       3       2              ,
+--R        \|a4 x  + a3 x  + a2 x  + a1 x + a0 y (x) - 1
+--R
+--R   (4)  ---------------------------------------------
+--R              +---------------------------------+
+--R              |    4       3       2
+--R             \|a4 x  + a3 x  + a2 x  + a1 x + a0
+--R                                                     Type: Expression Integer
+--E 4
+
+--S 5 of 134
+ode1a:=solve(ode1,y,x)
+--R 
+--R
+--R   (5)
+--R                   x
+--R                 ++                    1
+--I   [particular=  |   ------------------------------------- d%N ,basis= [1]]
+--R                ++    +----------------------------------+
+--R                      |  4       3       2
+--I                     \|%N a4 + %N a3 + %N a2 + %N a1 + a0
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 5
+
+--S 6 of 134
+ode2 := D(y(x),x) + a*y(x) - c*exp(b*x)
+--R 
+--R
+--R         ,          b x
+--R   (6)  y (x) - c %e    + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 6
+
+--S 7 of 134
+ode2a:=solve(ode2,y,x)
+--R 
+--R
+--R                         b x
+--R                     c %e              - a x
+--R   (7)  [particular= -------,basis= [%e     ]]
+--R                      b + a
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 7
+
+--S 8 of 134
+yx:=ode2a.particular
+--R
+--R            b x
+--R        c %e
+--R   (8)  -------
+--R         b + a
+--R                                                     Type: Expression Integer
+--E 8
+
+--S 9 of 134
+ode2expr:=D(yx,x) + a*yx -c*exp(b*x)
+--R
+--R   (9)  0
+--R                                                     Type: Expression Integer
+--E 9
+
+--S 10 of 134
+ode3 := D(y(x),x) + a*y(x) - b*sin(c*x)
+--R
+--R          ,
+--R   (10)  y (x) - b sin(c x) + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 10
+
+--S 11 of 134
+ode3a:=solve(ode3,y,x)
+--R
+--R                      a b sin(c x) - b c cos(c x)           - a x
+--R   (11)  [particular= ---------------------------,basis= [%e     ]]
+--R                                 2    2
+--R                                c  + a
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 11
+
+--S 12 of 134
+yx:=ode3a.particular
+--R
+--R         a b sin(c x) - b c cos(c x)
+--R   (12)  ---------------------------
+--R                    2    2
+--R                   c  + a
+--R                                                     Type: Expression Integer
+--E 12
+
+--S 13 of 134
+ode3expr:=D(yx,x) + a*yx - b*sin(c*x)
+--R
+--R   (13)  0
+--R                                                     Type: Expression Integer
+--E 13
+
+--S 14 of 134
+ode4 := D(y(x),x) + 2*x*y(x) - x*exp(-x**2)
+--R
+--R                        2
+--R          ,          - x
+--R   (14)  y (x) - x %e     + 2x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 14
+
+--S 15 of 134
+ode4a:=solve(ode4,y,x)
+--R
+--R                             2
+--R                       2  - x               2
+--R                      x %e               - x
+--R   (15)  [particular= --------,basis= [%e    ]]
+--R                          2
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 15
+
+--S 16 of 134
+yx:=ode4a.particular
+--R
+--R                2
+--R          2  - x
+--R         x %e
+--R   (16)  --------
+--R             2
+--R                                                     Type: Expression Integer
+--E 16
+
+--S 17 of 134
+ode4expr:=D(yx,x) + 2*x*yx - x*exp(-x**2)
+--R
+--R   (17)  0
+--R                                                     Type: Expression Integer
+--E 17
+
+--S 18 of 134
+ode5 := D(y(x),x) + y(x)*cos(x) - exp(2*x)
+--R
+--R          ,        2x
+--R   (18)  y (x) - %e   + y(x)cos(x)
+--R
+--R                                                     Type: Expression Integer
+--E 18
+
+--S 19 of 134
+ode5a:=solve(ode5,y,x)
+--R
+--I                                   x      2%H
+--R                        - sin(x) ++     %e                      - sin(x)
+--I   (19)  [particular= %e         |   ----------- d%H ,basis= [%e        ]]
+--I                                ++     - sin(%H)
+--R                                     %e
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 19
+
+--S 20 of 134
+ode6 := D(y(x),x) + y(x)*cos(x) - sin(2*x)/2
+--R
+--R           ,
+--R         2y (x) - sin(2x) + 2y(x)cos(x)
+--R
+--R   (20)  ------------------------------
+--R                        2
+--R                                                     Type: Expression Integer
+--E 20
+
+--S 21 of 134
+ode6a:=solve(ode6,y,x)
+--R
+--R                                           - sin(x)
+--R   (21)  [particular= sin(x) - 1,basis= [%e        ]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 21
+
+--S 22 of 134
+yx:=ode6a.particular
+--R
+--R   (22)  sin(x) - 1
+--R                                                     Type: Expression Integer
+--E 22
+
+--S 23 of 134
+ode6expr:=D(yx,x) + yx*cos(x) - sin(2*x)/2
+--R
+--R         - sin(2x) + 2cos(x)sin(x)
+--R   (23)  -------------------------
+--R                     2
+--R                                                     Type: Expression Integer
+--E 23
+
+--S 24 of 134
+sin2rule := rule 2*cos(x)*sin(x) == sin(2*x)
+--R
+--I   (24)  2%Y cos(x)sin(x) == %Y sin(2x)
+--R                        Type: RewriteRule(Integer,Integer,Expression Integer)
+--E 24
+
+--S 25 of 134
+sin2rule ode6expr
+--R
+--R   (25)  0
+--R                                                     Type: Expression Integer
+--E 25
+
+--S 26 of 134
+ode7 := D(y(x),x) + y(x)*cos(x) - exp(-sin(x))
+--R
+--R          ,        - sin(x)
+--R   (26)  y (x) - %e         + y(x)cos(x)
+--R
+--R                                                     Type: Expression Integer
+--E 26
+
+--S 27 of 134
+ode7a:=solve(ode7,y,x)
+--R
+--R                          - sin(x)           - sin(x)
+--R   (27)  [particular= x %e        ,basis= [%e        ]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 27
+
+--S 28 of 134
+yx:=ode7a.particular
+--R
+--R             - sin(x)
+--R   (28)  x %e
+--R                                                     Type: Expression Integer
+--E 28
+
+--S 29 of 134
+ode7expr := D(yx,x) + yx*cos(x) - exp(-sin(x))
+--R
+--R   (29)  0
+--R                                                     Type: Expression Integer
+--E 29
+
+--S 30 of 134
+ode8 := D(y(x),x) + y(x)*tan(x) - sin(2*x)
+--R
+--R          ,
+--R   (30)  y (x) + y(x)tan(x) - sin(2x)
+--R
+--R                                                     Type: Expression Integer
+--E 30
+
+--S 31 of 134
+ode8a:=solve(ode8,y,x)
+--R
+--R   (31)
+--R                                        +-------+
+--R                          2             |   1
+--R                (- 2cos(x)  + 2cos(x))  |-------
+--R                                       4|      4
+--R                                       \|cos(x)                 1
+--R   [particular= --------------------------------,basis= [--------------]]
+--R                          +-----------+                   +-----------+
+--R                          |      2                        |      2
+--R                         \|tan(x)  + 1                   \|tan(x)  + 1
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 31
+
+--S 32 of 134
+yx:=ode8a.particular
+--R
+--R                                 +-------+
+--R                   2             |   1
+--R         (- 2cos(x)  + 2cos(x))  |-------
+--R                                4|      4
+--R                                \|cos(x)
+--R   (32)  --------------------------------
+--R                   +-----------+
+--R                   |      2
+--R                  \|tan(x)  + 1
+--R                                                     Type: Expression Integer
+--E 32
+
+--S 33 of 134
+ode8expr:=D(yx,x) + yx*tan(x) - sin(2*x)
+--R
+--R                           +-------+3 +-----------+
+--R                 3         |   1      |      2
+--R         - cos(x) sin(2x)  |-------  \|tan(x)  + 1 + 2sin(x)
+--R                          4|      4
+--R                          \|cos(x)
+--R   (33)  ---------------------------------------------------
+--R                            +-------+3 +-----------+
+--R                         3  |   1      |      2
+--R                   cos(x)   |-------  \|tan(x)  + 1
+--R                           4|      4
+--R                           \|cos(x)
+--R                                                     Type: Expression Integer
+--E 33
+
+--S 34 of 134
+ode9 := D(y(x),x) - (sin(log(x)) + cos(log(x)) +a)*y(x)
+--R
+--R          ,
+--R   (34)  y (x) - y(x)sin(log(x)) - y(x)cos(log(x)) - a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 34
+
+--S 35 of 134
+ode9a:=solve(ode9,y,x)
+--R
+--R                                  x sin(log(x)) + a x
+--R   (35)  [particular= 0,basis= [%e                   ]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 35
+
+--S 36 of 134
+yx:=ode9a.particular
+--R
+--R   (36)  0
+--R                                                     Type: Expression Integer
+--E 36
+
+--S 37 of 134
+ode9expr:=D(yx,x) - (sin(log(x)) + cos(log(x)) +a)*yx
+--R
+--R   (37)  0
+--R                                                     Type: Expression Integer
+--E 37
+
+--S 38 of 134
+ode10 := D(y(x),x) + D(f(x),x)*y(x) - f(x)*D(f(x),x)
+--R
+--R          ,                    ,
+--R   (38)  y (x) + (y(x) - f(x))f (x)
+--R
+--R                                                     Type: Expression Integer
+--E 38
+
+--S 39 of 134
+ode10a:=solve(ode10,y,x)
+--R 
+--R 
+--R   >> Error detected within library code:
+--R   Function not supported by Risch d.e.
+--R
+--R   Continuing to read the file...
+--R
+--E 39
+
+--S 40 of 134
+ode11 := D(y(x),x)  + f(x)*y(x) - g(x)
+--R
+--R          ,
+--R   (39)  y (x) + f(x)y(x) - g(x)
+--R
+--R                                                     Type: Expression Integer
+--E 40
+
+--S 41 of 134
+ode11a:=solve(ode11,y,x)
+--R 
+--R 
+--R   >> Error detected within library code:
+--R   Function not supported by Risch d.e.
+--R
+--R   Continuing to read the file...
+--R
+--E 41
+
+--S 42 of 134
+ode12 := D(y(x),x) + y(x)**2 - 1
+--R
+--R          ,          2
+--R   (40)  y (x) + y(x)  - 1
+--R
+--R                                                     Type: Expression Integer
+--E 42
+
+--S 43 of 134
+yx:=solve(ode12,y,x)
+--R
+--R         - log(y(x) + 1) + log(y(x) - 1) + 2x
+--R   (41)  ------------------------------------
+--R                           2
+--R                                          Type: Union(Expression Integer,...)
+--E 43
+
+--S 44 of 134
+ode12expr:=D(yx,x) + yx**2 - 1
+--R
+--R   (42)
+--R         ,           2                  2
+--R       4y (x) + (y(x)  - 1)log(y(x) + 1)
+--R
+--R     + 
+--R                2                            2
+--R       ((- 2y(x)  + 2)log(y(x) - 1) - 4x y(x)  + 4x)log(y(x) + 1)
+--R     + 
+--R          2                  2           2                        2    2     2
+--R     (y(x)  - 1)log(y(x) - 1)  + (4x y(x)  - 4x)log(y(x) - 1) + 4x y(x)  - 4x
+--R  /
+--R          2
+--R     4y(x)  - 4
+--R                                                     Type: Expression Integer
+--E 44
+
+--S 45 of 134
+ode13 := D(y(x),x) + y(x)**2 - a*x - b
+--R
+--R          ,          2
+--R   (43)  y (x) + y(x)  - a x - b
+--R
+--R                                                     Type: Expression Integer
+--E 45
+
+--S 46 of 134
+ode13a:=solve(ode13,y,x)
+--R
+--R   (44)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 46
+
+--S 47 of 134
+ode14 := D(y(x),x) + y(x)**2 + a*x**m
+--R 
+--R
+--R          ,         m       2
+--R   (45)  y (x) + a x  + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 47
+
+--S 48 of 134
+ode14a:=solve(ode14,y,x)
+--R
+--R   (46)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 48
+
+--S 49 of 134
+ode15 := D(y(x),x) + y(x)**2 - 2*x**2*y(x) + x**4 -2*x-1
+--R 
+--R
+--R          ,          2     2        4
+--R   (47)  y (x) + y(x)  - 2x y(x) + x  - 2x - 1
+--R
+--R                                                     Type: Expression Integer
+--E 49
+
+--S 50 of 134
+yx:=solve(ode15,y,x)
+--R
+--R                     2
+--R             y(x) - x  + 1
+--R   (48)  ---------------------
+--R                    2       2x
+--R         (2y(x) - 2x  - 2)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 50
+
+--S 51 of 134
+ode15expr:=D(yx,x) + yx**2 - 2*x**2*yx + x**4 -2*x-1
+--R
+--R   (49)
+--R            2x ,
+--R       - 4%e  y (x)
+--R
+--R     + 
+--R              4              2        6     4      3     2                    8
+--R           (4x  - 8x - 4)y(x)  + (- 8x  - 8x  + 16x  + 8x  + 16x + 8)y(x) + 4x
+--R         + 
+--R             6     5      3     2
+--R           8x  - 8x  - 16x  - 8x  - 8x - 4
+--R      *
+--R            2x 2
+--R         (%e  )
+--R     + 
+--R             2         2      4     2          6     4     2            2x
+--R       ((- 4x  - 4)y(x)  + (8x  + 8x )y(x) - 4x  - 4x  + 4x  + 8x + 4)%e
+--R     + 
+--R           2        2             4     2
+--R       y(x)  + (- 2x  + 2)y(x) + x  - 2x  + 1
+--R  /
+--R           2        2              4     2        2x 2
+--R     (4y(x)  + (- 8x  - 8)y(x) + 4x  + 8x  + 4)(%e  )
+--R                                                     Type: Expression Integer
+--E 51
+
+--S 52 of 134
+ode16 := D(y(x),x) + y(x)**2 +(x*y(x)-1)*f(x)
+--R
+--R          ,          2
+--R   (50)  y (x) + y(x)  + x f(x)y(x) - f(x)
+--R
+--R                                                     Type: Expression Integer
+--E 52
+
+--S 53 of 134
+ode16a:=solve(ode16,y,x)
+--R
+--R   (51)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 53
+
+--S 54 of 134
+ode17 := D(y(x),x) - y(x)**2 -3*y(x) + 4 
+--R 
+--R
+--R          ,          2
+--R   (52)  y (x) - y(x)  - 3y(x) + 4
+--R
+--R                                                     Type: Expression Integer
+--E 54
+
+--S 55 of 134
+yx:=solve(ode17,y,x)
+--R 
+--R
+--R         - log(y(x) + 4) + log(y(x) - 1) - 5x
+--R   (53)  ------------------------------------
+--R                           5
+--R                                          Type: Union(Expression Integer,...)
+--E 55
+
+--S 56 of 134
+ode17expr:=D(yx,x) - yx**2 -3*yx + 4 
+--R
+--R   (54)
+--R          ,             2                          2
+--R       25y (x) + (- y(x)  - 3y(x) + 4)log(y(x) + 4)
+--R
+--R     + 
+--R                 2                                             2
+--R           (2y(x)  + 6y(x) - 8)log(y(x) - 1) + (- 10x + 15)y(x)
+--R         + 
+--R           (- 30x + 45)y(x) + 40x - 60
+--R      *
+--R         log(y(x) + 4)
+--R     + 
+--R              2                          2
+--R       (- y(x)  - 3y(x) + 4)log(y(x) - 1)
+--R     + 
+--R                      2
+--R       ((10x - 15)y(x)  + (30x - 45)y(x) - 40x + 60)log(y(x) - 1)
+--R     + 
+--R           2                2         2                         2
+--R     (- 25x  + 75x + 75)y(x)  + (- 75x  + 225x + 225)y(x) + 100x  - 300x - 300
+--R  /
+--R           2
+--R     25y(x)  + 75y(x) - 100
+--R                                                     Type: Expression Integer
+--E 56
+
+--S 57 of 134
+ode18 := D(y(x),x) - y(x)**2 - x*y(x) - x + 1 
+--R 
+--R
+--R          ,          2
+--R   (55)  y (x) - y(x)  - x y(x) - x + 1
+--R
+--R                                                     Type: Expression Integer
+--E 57
+
+--S 58 of 134
+yx:=solve(ode18,y,x)
+--R 
+--R
+--R                          2
+--R                       - x  + 4x
+--R                       ---------   x
+--R                           2     ++          1
+--I         (- y(x) - 1)%e          |   - ------------- d%N  + 1
+--R                                ++           2
+--I                                         - %N  + 4%N
+--R                                         -----------
+--R                                              2
+--R                                       %e
+--R   (56)  ----------------------------------------------------
+--R                                        2
+--R                                     - x  + 4x
+--R                                     ---------
+--R                                         2
+--R                         (y(x) + 1)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 58
+
+--S 59 of 134
+ode18expr:=D(yx,x) - yx**2 - x*yx - x + 1 
+--R   (57)
+--R                                  2      2
+--R                               - x  + 4x
+--R                               ---------     x                     2
+--R              2                    2       ++          1
+--I       (- y(x)  - 2y(x) - 1)(%e         )  |   - ------------- d%H
+--R                                          ++           2
+--I                                                   - %H  + 4%H
+--R                                                   -----------
+--R                                                        2
+--R                                                 %e
+--R     + 
+--R                                       2      2                   2
+--R                                    - x  + 4x                  - x  + 4x
+--R                                    ---------                  ---------
+--R                 2                      2                          2
+--R         ((x y(x)  + 2x y(x) + x)(%e         )  + (2y(x) + 2)%e         )
+--R      *
+--R            x
+--R          ++          1
+--I          |   - ------------- d%H
+--R         ++           2
+--I                  - %H  + 4%H
+--R                  -----------
+--R                       2
+--R                %e
+--R     + 
+--R              2
+--R           - x  + 4x
+--R           ---------
+--R               2     ,
+--R       - %e         y (x)
+--R
+--R     + 
+--R                                                      2      2
+--R                                                   - x  + 4x
+--R                                                   ---------
+--R                     2                                 2
+--R       ((- x + 1)y(x)  + (- 2x + 2)y(x) - x + 1)(%e         )
+--R     + 
+--R                       2
+--R                    - x  + 4x
+--R                    ---------
+--R            2           2
+--R       (y(x)  - 1)%e          - 1
+--R  /
+--R                              2      2
+--R                           - x  + 4x
+--R                           ---------
+--R          2                    2
+--R     (y(x)  + 2y(x) + 1)(%e         )
+--R                                                     Type: Expression Integer
+--E 59
+
+--S 60 of 134
+ode19 := D(y(x),x) - (y(x) + x)**2
+--R 
+--R
+--R          ,          2              2
+--R   (58)  y (x) - y(x)  - 2x y(x) - x
+--R
+--R                                                     Type: Expression Integer
+--E 60
+
+--S 61 of 134
+yx:=solve(ode19,y,x)
+--R 
+--R
+--R                             +---+
+--R                   - y(x) + \|- 1  - x
+--R   (59)  --------------------------------------
+--R                                          +---+
+--R            +---+          +---+       2x\|- 1
+--R         (2\|- 1 y(x) + 2x\|- 1  - 2)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 61
+
+--S 62 of 134
+ode19expr := D(yx,x) - (yx + x)**2
+--R
+--R   (60)
+--R               +---+
+--R            2x\|- 1  ,
+--R       - 4%e        y (x)
+--R
+--R     + 
+--R              2    2        2 +---+     3          3 +---+     4     2
+--R         (- 4x y(x)  + (- 8x \|- 1  - 8x )y(x) - 8x \|- 1  - 4x  + 4x )
+--R      *
+--R               +---+ 2
+--R            2x\|- 1
+--R         (%e        )
+--R     + 
+--R                 +---+         2        2 +---+                  3       +---+
+--R           (- 4x\|- 1  + 4)y(x)  + (- 8x \|- 1  + 8x)y(x) + (- 4x  - 4x)\|- 1
+--R         + 
+--R             2
+--R           4x
+--R      *
+--R              +---+
+--R           2x\|- 1
+--R         %e
+--R     + 
+--R           2        +---+                +---+    2
+--R       y(x)  + (- 2\|- 1  + 2x)y(x) - 2x\|- 1  + x  - 1
+--R  /
+--R                                                             +---+ 2
+--R           2      +---+                +---+     2        2x\|- 1
+--R     (4y(x)  + (8\|- 1  + 8x)y(x) + 8x\|- 1  + 4x  - 4)(%e        )
+--R                                                     Type: Expression Integer
+--E 62
+
+--S 63 of 134
+ode20 := D(y(x),x) - y(x)**2 +(x**2 + 1)*y(x) - 2*x 
+--R 
+--R
+--R          ,          2     2
+--R   (61)  y (x) - y(x)  + (x  + 1)y(x) - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 63
+
+--S 64 of 134
+yx:=solve(ode20,y,x)
+--R
+--R                               3
+--R                            - x  - 3x
+--R                            ---------   x
+--R                    2           3     ++          1
+--I         (- y(x) + x  + 1)%e          |   - ------------- d%H  + 1
+--R                                     ++           3
+--I                                              - %H  - 3%H
+--R                                              -----------
+--R                                                   3
+--R                                            %e
+--R   (62)  ---------------------------------------------------------
+--R                                             3
+--R                                          - x  - 3x
+--R                                          ---------
+--R                                  2           3
+--R                         (y(x) - x  - 1)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 64
+
+--S 65 of 134
+ode20expr:=D(yx,x) - yx**2 +(x**2 + 1)*yx - 2*x 
+--R
+--R   (63)
+--R                                                       3      2
+--R                                                    - x  - 3x
+--R                                                    ---------
+--R                2      2             4     2            3
+--R         (- y(x)  + (2x  + 2)y(x) - x  - 2x  - 1)(%e         )
+--R      *
+--R            x                     2
+--R          ++          1
+--I          |   - ------------- d%H
+--R         ++           3
+--I                  - %H  - 3%H
+--R                  -----------
+--R                       3
+--R                %e
+--R     + 
+--R                  2         2      4     2             6     4     2
+--R             ((- x  - 1)y(x)  + (2x  + 4x  + 2)y(x) - x  - 3x  - 3x  - 1)
+--R          *
+--R                   3      2
+--R                - x  - 3x
+--R                ---------
+--R                    3
+--R             (%e         )
+--R         + 
+--R                                 3
+--R                              - x  - 3x
+--R                              ---------
+--R                      2           3
+--R           (2y(x) - 2x  - 2)%e
+--R      *
+--R            x
+--R          ++          1
+--I          |   - ------------- d%H
+--R         ++           3
+--I                  - %H  - 3%H
+--R                  -----------
+--R                       3
+--R                %e
+--R     + 
+--R              3
+--R           - x  - 3x
+--R           ---------
+--R               3     ,
+--R       - %e         y (x)
+--R
+--R     + 
+--R                                                           3      2
+--R                                                        - x  - 3x
+--R                                                        ---------
+--R                 2      3               5     3             3
+--R       (- 2x y(x)  + (4x  + 4x)y(x) - 2x  - 4x  - 2x)(%e         )
+--R     + 
+--R                                       3
+--R                                    - x  - 3x
+--R                                    ---------
+--R            2    4     2                3
+--R       (y(x)  - x  - 2x  + 2x - 1)%e          - 1
+--R  /
+--R                                                   3      2
+--R                                                - x  - 3x
+--R                                                ---------
+--R          2        2             4     2            3
+--R     (y(x)  + (- 2x  - 2)y(x) + x  + 2x  + 1)(%e         )
+--R                                                     Type: Expression Integer
+--E 65
+
+--S 66 of 134
+ode21 := D(y(x),x) - y(x)**2 +y(x)*sin(x) - cos(x) 
+--R 
+--R
+--R          ,                                2
+--R   (64)  y (x) + y(x)sin(x) - cos(x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 66
+
+--S 67 of 134
+ode21a:=solve(ode21,y,x)
+--R 
+--R
+--R   (65)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 67
+
+--S 68 of 134
+ode22 := D(y(x),x) - y(x)**2 -y(x)*sin(2*x) - cos(2*x) 
+--R 
+--R
+--R          ,                                  2
+--R   (66)  y (x) - y(x)sin(2x) - cos(2x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 68
+
+--S 69 of 134
+ode22a:=solve(ode22,y,x)
+--R 
+--R
+--R   (67)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 69
+
+--S 70 of 134
+ode23 := D(y(x),x) + a*y(x)**2 - b
+--R 
+--R
+--R          ,            2
+--R   (68)  y (x) + a y(x)  - b
+--R
+--R                                                     Type: Expression Integer
+--E 70
+
+--S 71 of 134
+yx:=solve(ode23,y,x)
+--R 
+--R
+--R                    2      +---+
+--R             (a y(x)  + b)\|a b  - 2a b y(x)       +---+
+--R         log(-------------------------------) + 2x\|a b
+--R                             2
+--R                       a y(x)  - b
+--R   (69)  -----------------------------------------------
+--R                               +---+
+--R                             2\|a b
+--R                                          Type: Union(Expression Integer,...)
+--E 71
+
+--S 72 of 134
+ode23expr := D(yx,x) + a*yx**2 - b
+--R
+--R   (70)
+--R                                         2      +---+             2
+--R          ,             2         (a y(x)  + b)\|a b  - 2a b y(x)
+--R       4by (x) + (a y(x)  - b)log(-------------------------------)
+--R                                                  2
+--R                                            a y(x)  - b
+--R     + 
+--R                                           2      +---+
+--R                 2         +---+    (a y(x)  + b)\|a b  - 2a b y(x)
+--R       (4a x y(x)  - 4b x)\|a b log(-------------------------------)
+--R                                                    2
+--R                                              a y(x)  - b
+--R     + 
+--R          2   2       2            2       2 2     3     2
+--R       (4a b x  - 4a b  + 4a b)y(x)  - 4a b x  + 4b  - 4b
+--R  /
+--R              2     2
+--R     4a b y(x)  - 4b
+--R                                                     Type: Expression Integer
+--E 72
+
+--S 73 of 134
+ode24 := D(y(x),x) + a*y(x)**2 - b*x**nu
+--R 
+--R
+--R          ,         nu         2
+--R   (71)  y (x) - b x   + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 73
+
+--S 74 of 134
+ode24a:=solve(ode24,y,x)
+--R 
+--R
+--R   (72)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 74
+
+--S 75 of 134
+ode25 := D(y(x),x) + a*y(x)**2 - b*x**(2*nu) - c*x**(nu-1)
+--R 
+--R
+--R          ,         2nu      nu - 1         2
+--R   (73)  y (x) - b x    - c x       + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 75
+
+--S 76 of 134
+ode25expr:=solve(ode25,y,x)
+--R 
+--R
+--R   (74)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 76
+
+--S 77 of 134
+ode26 := D(y(x),x) - (A*y(x) - a)*(B*y(x) - b)
+--R 
+--R
+--R          ,              2
+--R   (75)  y (x) - A B y(x)  + (A b + B a)y(x) - a b
+--R
+--R                                                     Type: Expression Integer
+--E 77
+
+--S 78 of 134
+yx:=solve(ode26,y,x)
+--R 
+--R
+--R         log(B y(x) - b) - log(A y(x) - a) + (- A b + B a)x
+--R   (76)  --------------------------------------------------
+--R                              A b - B a
+--R                                          Type: Union(Expression Integer,...)
+--E 78
+
+--S 79 of 134
+ode26expr := D(yx,x) - (A*yx - a)*(B*yx - b)
+--R
+--R   (77)
+--R         2 2               2 2  ,
+--R       (A b  - 2A B a b + B a )y (x)
+--R
+--R     + 
+--R           2 2    2     2         2                                2
+--R       (- A B y(x)  + (A B b + A B a)y(x) - A B a b)log(B y(x) - b)
+--R     + 
+--R              2 2    2        2          2
+--R           (2A B y(x)  + (- 2A B b - 2A B a)y(x) + 2A B a b)log(A y(x) - a)
+--R         + 
+--R               3 2      2 3       3   2      3 2     2
+--R           ((2A B b - 2A B a)x + A B b  - A B a )y(x)
+--R         + 
+--R                 3   2       3 2      3 3    2     2      2 2     3 3
+--R           ((- 2A B b  + 2A B a )x - A b  - A B a b  + A B a b + B a )y(x)
+--R         + 
+--R              2     2       2 2       2   3    2 3
+--R           (2A B a b  - 2A B a b)x + A a b  - B a b
+--R      *
+--R         log(B y(x) - b)
+--R     + 
+--R           2 2    2     2         2                                2
+--R       (- A B y(x)  + (A B b + A B a)y(x) - A B a b)log(A y(x) - a)
+--R     + 
+--R                 3 2      2 3       3   2      3 2     2
+--R           ((- 2A B b + 2A B a)x - A B b  + A B a )y(x)
+--R         + 
+--R               3   2       3 2      3 3    2     2      2 2     3 3
+--R           ((2A B b  - 2A B a )x + A b  + A B a b  - A B a b - B a )y(x)
+--R         + 
+--R                2     2       2 2       2   3    2 3
+--R           (- 2A B a b  + 2A B a b)x - A a b  + B a b
+--R      *
+--R         log(A y(x) - a)
+--R     + 
+--R               4 2 2     3 3       2 4 2  2
+--R           (- A B b  + 2A B a b - A B a )x
+--R         + 
+--R               4   3    3 2   2    2 3 2       4 3      3     3
+--R           (- A B b  + A B a b  + A B a b - A B a )x - A B a b
+--R         + 
+--R              2 2 2    3   2         3 3     2 2         3 2
+--R           (2A B a  - A B)b  + (- A B a  + 2A B a)b - A B a
+--R      *
+--R             2
+--R         y(x)
+--R     + 
+--R             4   3    3 2   2    2 3 2       4 3  2     4 4     2 2 2 2    4 4
+--R           (A B b  - A B a b  - A B a b + A B a )x  + (A b  - 2A B a b  + B a )x
+--R         + 
+--R            3   4       2   2    3  3         2 3    2     2     3 4      2 2
+--R           A a b  + (- A B a  + A )b  + (- A B a  - A B a)b  + (B a  - A B a )b
+--R         + 
+--R            3 3
+--R           B a
+--R      *
+--R         y(x)
+--R     + 
+--R           3     3     2 2 2 2      3 3   2
+--R       (- A B a b  + 2A B a b  - A B a b)x
+--R     + 
+--R           3   4    2   2 3      2 3 2    3 4       2 2 4          3    2   3
+--R       (- A a b  + A B a b  + A B a b  - B a b)x - A a b  + (2A B a  - A a)b
+--R     + 
+--R           2 4         2  2    2 3
+--R       (- B a  + 2A B a )b  - B a b
+--R  /
+--R         3   2     2 2         3 2     2
+--R       (A B b  - 2A B a b + A B a )y(x)
+--R     + 
+--R           3 3    2     2      2 2     3 3         2   3         2 2    2 3
+--R       (- A b  + A B a b  + A B a b - B a )y(x) + A a b  - 2A B a b  + B a b
+--R                                                     Type: Expression Integer
+--E 79
+
+--S 80 of 134
+ode27 := D(y(x),x) + a*y(x)*(y(x)-x) - 1
+--R 
+--R
+--R          ,            2
+--R   (78)  y (x) + a y(x)  - a x y(x) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 80
+
+--S 81 of 134
+ode27a:=solve(ode27,y,x)
+--R 
+--R
+--R                          2
+--R                       a x
+--R                       ----   x
+--R                         2  ++     a
+--I         (- y(x) + x)%e     |   ------ d%N  + 1
+--R                           ++       2
+--I                                  %N a
+--R                                  ----
+--R                                    2
+--R                                %e
+--R   (79)  --------------------------------------
+--R                                   2
+--R                                a x
+--R                                ----
+--R                                  2
+--R                    (y(x) - x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 81
+
+--S 82 of 134
+ode28 := D(y(x),x) + x*y(x)**2 -x**3*y(x) - 2*x 
+--R 
+--R
+--R          ,            2    3
+--R   (80)  y (x) + x y(x)  - x y(x) - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 82
+
+--S 83 of 134
+ode28a:=solve(ode28,y,x)
+--R 
+--R
+--R                         4
+--R                        x
+--R                        --   x
+--I                    2    4 ++    %N
+--I         (- y(x) + x )%e   |   ----- d%N  + 1
+--R                          ++       4
+--I                                 %N
+--R                                 ---
+--R                                  4
+--R                               %e
+--R   (81)  ------------------------------------
+--R                                  4
+--R                                 x
+--R                                 --
+--R                             2    4
+--R                    (y(x) - x )%e
+--R                                          Type: Union(Expression Integer,...)
+--E 83
+
+--S 84 of 134
+ode29 := D(y(x),x) - x*y(x)**2 - 3*x*y(x) 
+--R 
+--R
+--R          ,            2
+--R   (82)  y (x) - x y(x)  - 3x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 84
+
+--S 85 of 134
+yx:=solve(ode29,y,x)
+--R 
+--R
+--R                                           2
+--R         - 2log(y(x) + 3) + 2log(y(x)) - 3x
+--R   (83)  -----------------------------------
+--R                          6
+--R                                          Type: Union(Expression Integer,...)
+--E 85
+
+--S 86 of 134
+ode29expr := D(yx,x) - x*yx**2 - 3*x*yx 
+--R
+--R   (84)
+--R          ,                2                         2
+--R       36y (x) + (- 4x y(x)  - 12x y(x))log(y(x) + 3)
+--R
+--R     + 
+--R                   2                              3           2
+--R           (8x y(x)  + 24x y(x))log(y(x)) + (- 12x  + 36x)y(x)
+--R         + 
+--R                 3
+--R           (- 36x  + 108x)y(x)
+--R      *
+--R         log(y(x) + 3)
+--R     + 
+--R                 2                     2
+--R       (- 4x y(x)  - 12x y(x))log(y(x))
+--R     + 
+--R            3           2       3
+--R       ((12x  - 36x)y(x)  + (36x  - 108x)y(x))log(y(x))
+--R     + 
+--R            5      3           2         5       3
+--R       (- 9x  + 54x  - 36x)y(x)  + (- 27x  + 162x  - 108x)y(x)
+--R  /
+--R           2
+--R     36y(x)  + 108y(x)
+--R                                                     Type: Expression Integer
+--E 86
+
+--S 87 of 134
+ode30 := D(y(x),x) + x**(-a-1)*y(x)**2 - x**a
+--R 
+--R
+--R          ,       a       2 - a - 1
+--R   (85)  y (x) - x  + y(x) x
+--R
+--R                                                     Type: Expression Integer
+--E 87
+
+--S 88 of 134
+ode30a:=solve(ode30,y,x)
+--R 
+--R
+--R   (86)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 88
+
+--S 89 of 134
+ode31 := D(y(x),x) - a*x**n*(y(x)**2+1) 
+--R 
+--R
+--R          ,               2      n
+--R   (87)  y (x) + (- a y(x)  - a)x
+--R
+--R                                                     Type: Expression Integer
+--E 89
+
+--S 90 of 134
+yx:=solve(ode31,y,x)
+--R 
+--R
+--R                 n log(x)
+--R         - a x %e         + (n + 1)atan(y(x))
+--R   (88)  ------------------------------------
+--R                         n + 1
+--R                                          Type: Union(Expression Integer,...)
+--E 90
+
+--S 91 of 134
+ode31expr := D(yx,x) - a*x**n*(yx**2+1) 
+--R
+--R   (89)
+--R         2           ,          3 2    2    3 2  n   n log(x) 2
+--R       (n  + 2n + 1)y (x) + (- a x y(x)  - a x )x (%e        )
+--R
+--R     + 
+--R               2      2       2      2      2    n
+--R           ((2a n + 2a )x y(x)  + (2a n + 2a )x)x atan(y(x))
+--R         + 
+--R                 2                2      2
+--R           (- a n  - 2a n - a)y(x)  - a n  - 2a n - a
+--R      *
+--R           n log(x)
+--R         %e
+--R     + 
+--R              2                2      2             n          2
+--R       ((- a n  - 2a n - a)y(x)  - a n  - 2a n - a)x atan(y(x))
+--R     + 
+--R              2                2      2             n
+--R       ((- a n  - 2a n - a)y(x)  - a n  - 2a n - a)x
+--R  /
+--R       2              2    2
+--R     (n  + 2n + 1)y(x)  + n  + 2n + 1
+--R                                                     Type: Expression Integer
+--E 91
+
+--S 92 of 134
+ode32 := D(y(x),x) + y(x)**2*sin(x) - 2*sin(x)/cos(x)**2
+--R 
+--R
+--R               2 ,           2      2
+--R         cos(x) y (x) + (y(x) cos(x)  - 2)sin(x)
+--R
+--R   (90)  ---------------------------------------
+--R                               2
+--R                         cos(x)
+--R                                                     Type: Expression Integer
+--E 92
+
+--S 93 of 134
+yx:=solve(ode32,y,x)
+--R 
+--R
+--R   (91)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 93
+
+--S 94 of 134
+ode33 := D(y(x),x) - y(x)**2*D(f(x),x)/g(x) + D(g(x),x)/f(x)
+--R
+--R                  ,           ,              2 ,
+--R         f(x)g(x)y (x) + g(x)g (x) - f(x)y(x) f (x)
+--R
+--R   (92)  ------------------------------------------
+--R                          f(x)g(x)
+--R                                                     Type: Expression Integer
+--E 94
+
+--S 95 of 134
+ode33a:=solve(ode33,y,x)
+--R
+--R   (93)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 95
+
+--S 96 of 134
+ode34 := D(y(x),x) + f(x)*y(x)**2 + g(x)*y(x) 
+--R
+--R          ,              2
+--R   (94)  y (x) + f(x)y(x)  + g(x)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 96
+
+--S 97 of 134
+ode34a:=solve(ode34,y,x)
+--R 
+--R 
+--R   >> Error detected within library code:
+--R   Function not supported by Risch d.e.
+--R
+--R   Continuing to read the file...
+--R
+--E 97
+
+--S 98 of 134
+ode35 := D(y(x),x) + f(x)*(y(x)**2 + 2*a*y(x) +b) 
+--R
+--R          ,              2
+--R   (95)  y (x) + f(x)y(x)  + 2a f(x)y(x) + b f(x)
+--R
+--R                                                     Type: Expression Integer
+--E 98
+
+--S 99 of 134
+yx:=solve(ode35,y,x)
+--R
+--R   (96)
+--R         +--------+   x
+--R         |       2  ++
+--I       2\|- b + a   |   f(%H)d%H
+--R                   ++
+--R     + 
+--R                                     +--------+
+--R              2                   2  |       2            2                 3
+--R         (y(x)  + 2a y(x) - b + 2a )\|- b + a   + (2b - 2a )y(x) + 2a b - 2a
+--R     log(--------------------------------------------------------------------)
+--R                                      2
+--R                                  y(x)  + 2a y(x) + b
+--R  /
+--R       +--------+
+--R       |       2
+--R     2\|- b + a
+--R                                          Type: Union(Expression Integer,...)
+--E 99
+
+--S 100 of 134
+ode35expr := D(yx,x) + f(x)*(yx**2 + 2*a*yx +b) 
+--R
+--R   (97)
+--R                  2         2             3               2     2
+--R         ((4b - 4a )f(x)y(x)  + (8a b - 8a )f(x)y(x) + (4b  - 4a b)f(x))
+--R      *
+--R          +--------+   x          2
+--R          |       2  ++
+--I         \|- b + a   |   f(%H)d%H
+--R                    ++
+--R     + 
+--R                      2         2             3               2     2
+--R             ((4b - 4a )f(x)y(x)  + (8a b - 8a )f(x)y(x) + (4b  - 4a b)f(x))
+--R          *
+--R             log
+--R                                                +--------+
+--R                         2                   2  |       2            2
+--R                    (y(x)  + 2a y(x) - b + 2a )\|- b + a   + (2b - 2a )y(x)
+--R                  + 
+--R                             3
+--R                    2a b - 2a
+--R               /
+--R                      2
+--R                  y(x)  + 2a y(x) + b
+--R         + 
+--R                           3         2       2       4
+--R                 (8a b - 8a )f(x)y(x)  + (16a b - 16a )f(x)y(x)
+--R               + 
+--R                      2     3
+--R                 (8a b  - 8a b)f(x)
+--R          *
+--R              +--------+
+--R              |       2
+--R             \|- b + a
+--R      *
+--R            x
+--R          ++
+--I          |   f(%H)d%H
+--R         ++
+--R     + 
+--R                  +--------+
+--R               2  |       2  ,
+--R       (4b - 4a )\|- b + a  y (x)
+--R
+--R     + 
+--R                                              +--------+
+--R                    2                         |       2
+--R         (- f(x)y(x)  - 2a f(x)y(x) - b f(x))\|- b + a
+--R      *
+--R           log
+--R                                              +--------+
+--R                       2                   2  |       2            2
+--R                  (y(x)  + 2a y(x) - b + 2a )\|- b + a   + (2b - 2a )y(x) + 2a b
+--R                + 
+--R                      3
+--R                  - 2a
+--R             /
+--R                    2
+--R                y(x)  + 2a y(x) + b
+--R        **
+--R           2
+--R     + 
+--R                    3         2      2      4                 2     3
+--R         ((4a b - 4a )f(x)y(x)  + (8a b - 8a )f(x)y(x) + (4a b  - 4a b)f(x))
+--R      *
+--R                                       +--------+
+--R                2                   2  |       2            2                 3
+--R           (y(x)  + 2a y(x) - b + 2a )\|- b + a   + (2b - 2a )y(x) + 2a b - 2a
+--R       log(--------------------------------------------------------------------)
+--R                                        2
+--R                                    y(x)  + 2a y(x) + b
+--R     + 
+--R              2        2           2         2
+--R           (4b  + (- 4a  + 4)b - 4a )f(x)y(x)
+--R         + 
+--R                2        3            3
+--R           (8a b  + (- 8a  + 8a)b - 8a )f(x)y(x)
+--R         + 
+--R              3        2      2     2
+--R           (4b  + (- 4a  + 4)b  - 4a b)f(x)
+--R      *
+--R          +--------+
+--R          |       2
+--R         \|- b + a
+--R  /
+--R                                                       +--------+
+--R              2     2             3          2     2   |       2
+--R     ((4b - 4a )y(x)  + (8a b - 8a )y(x) + 4b  - 4a b)\|- b + a
+--R                                                     Type: Expression Integer
+--E 100
+
+--S 101 of 134
+ode36 := D(y(x),x) + y(x)**3 + a*x*y(x)**2 
+--R 
+--R
+--R          ,          3           2
+--R   (98)  y (x) + y(x)  + a x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 101
+
+--S 102 of 134
+ode36a:=solve(ode36,y,x)
+--R 
+--R
+--R   (99)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 102
+
+--S 103 of 134
+ode37 := D(y(x),x) - y(x)**3 - a*exp(x)*y(x)**2
+--R
+--R           ,            2  x       3
+--R   (100)  y (x) - a y(x) %e  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 103
+
+--S 104 of 134
+ode37a:=solve(ode37,y,x)
+--R
+--R   (101)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 104
+
+--S 105 of 134
+ode38 := D(y(x),x) - a*y(x)**3 - b*x**(3/2)
+--R
+--R           ,          +-+         3
+--R   (102)  y (x) - b x\|x  - a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 105
+
+--S 106 of 134
+ode38a:=solve(ode38,y,x)
+--R
+--R   (103)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 106
+
+--S 107 of 134
+ode39 := D(y(x),x) - a3*y(x)**3 - a2*y(x)**2 - a1*y(x) - a0
+--R
+--R           ,             3          2
+--R   (104)  y (x) - a3 y(x)  - a2 y(x)  - a1 y(x) - a0
+--R
+--R                                                     Type: Expression Integer
+--E 107
+
+--S 108 of 134
+yx:=solve(ode39,y,x)
+--R 
+--R
+--R   (105)
+--R           ROOT
+--R                           2  2                     3             3      2  2
+--R                    (- 81a0 a3  + (54a0 a1 a2 - 12a1 )a3 - 12a0 a2  + 3a1 a2 )
+--R                 *
+--R                         2
+--I                    %%CK0
+--R                + 
+--R                               2
+--R                  12a1 a3 - 4a2
+--R             /
+--R                    2  2                      3            3     2  2
+--R                27a0 a3  + (- 18a0 a1 a2 + 4a1 )a3 + 4a0 a2  - a1 a2
+--R         + 
+--I           - %%CK0
+--R      *
+--R         log
+--R                           2     3          2  2           2         4   2
+--R                      162a0 a1 a3  + (- 54a0 a2  - 108a0 a1 a2 + 24a1 )a3
+--R                    + 
+--R                                 3       3  2            5      2  4
+--R                      (60a0 a1 a2  - 14a1 a2 )a3 - 8a0 a2  + 2a1 a2
+--R                 *
+--I                    %%CK0
+--R                + 
+--R                      2  3                       3   2           3      2  2
+--R                  81a0 a3  + (- 54a0 a1 a2 + 12a1 )a3  + (12a0 a2  - 3a1 a2 )a3
+--R             *
+--R                ROOT
+--R                                 2  2                     3             3
+--R                           - 81a0 a3  + (54a0 a1 a2 - 12a1 )a3 - 12a0 a2
+--R                         + 
+--R                              2  2
+--R                           3a1 a2
+--R                      *
+--R                              2
+--I                         %%CK0
+--R                     + 
+--R                                    2
+--R                       12a1 a3 - 4a2
+--R                  /
+--R                         2  2                      3            3     2  2
+--R                     27a0 a3  + (- 18a0 a1 a2 + 4a1 )a3 + 4a0 a2  - a1 a2
+--R            + 
+--R                       2     3          2  2           2         4   2
+--R                  162a0 a1 a3  + (- 54a0 a2  - 108a0 a1 a2 + 24a1 )a3
+--R                + 
+--R                             3       3  2            5      2  4
+--R                  (60a0 a1 a2  - 14a1 a2 )a3 - 8a0 a2  + 2a1 a2
+--R             *
+--R                     2
+--I                %%CK0
+--R            + 
+--R                          2  3                     3   2
+--R                    - 81a0 a3  + (54a0 a1 a2 - 12a1 )a3
+--R                  + 
+--R                              3      2  2
+--R                    (- 12a0 a2  + 3a1 a2 )a3
+--R             *
+--I                %%CK0
+--R            + 
+--R                      3             2      3                         2   2
+--R              (54a0 a3  - 18a1 a2 a3  + 4a2 a3)y(x) + (18a0 a2 - 12a1 )a3
+--R            + 
+--R                    2
+--R              2a1 a2 a3
+--R     + 
+--R           -
+--R              ROOT
+--R                                 2  2                     3             3
+--R                           - 81a0 a3  + (54a0 a1 a2 - 12a1 )a3 - 12a0 a2
+--R                         + 
+--R                              2  2
+--R                           3a1 a2
+--R                    *
+--R                            2
+--I                       %%CK0
+--R                   + 
+--R                                  2
+--R                     12a1 a3 - 4a2
+--R                /
+--R                       2  2                      3            3     2  2
+--R                   27a0 a3  + (- 18a0 a1 a2 + 4a1 )a3 + 4a0 a2  - a1 a2
+--R         + 
+--I           - %%CK0
+--R      *
+--R         log
+--R                             2     3        2  2           2         4   2
+--R                      - 162a0 a1 a3  + (54a0 a2  + 108a0 a1 a2 - 24a1 )a3
+--R                    + 
+--R                                   3       3  2            5      2  4
+--R                      (- 60a0 a1 a2  + 14a1 a2 )a3 + 8a0 a2  - 2a1 a2
+--R                 *
+--I                    %%CK0
+--R                + 
+--R                      2  3                     3   2             3      2  2
+--R                - 81a0 a3  + (54a0 a1 a2 - 12a1 )a3  + (- 12a0 a2  + 3a1 a2 )a3
+--R             *
+--R                ROOT
+--R                                 2  2                     3             3
+--R                           - 81a0 a3  + (54a0 a1 a2 - 12a1 )a3 - 12a0 a2
+--R                         + 
+--R                              2  2
+--R                           3a1 a2
+--R                      *
+--R                              2
+--I                         %%CK0
+--R                     + 
+--R                                    2
+--R                       12a1 a3 - 4a2
+--R                  /
+--R                         2  2                      3            3     2  2
+--R                     27a0 a3  + (- 18a0 a1 a2 + 4a1 )a3 + 4a0 a2  - a1 a2
+--R            + 
+--R                       2     3          2  2           2         4   2
+--R                  162a0 a1 a3  + (- 54a0 a2  - 108a0 a1 a2 + 24a1 )a3
+--R                + 
+--R                             3       3  2            5      2  4
+--R                  (60a0 a1 a2  - 14a1 a2 )a3 - 8a0 a2  + 2a1 a2
+--R             *
+--R                     2
+--I                %%CK0
+--R            + 
+--R                          2  3                     3   2
+--R                    - 81a0 a3  + (54a0 a1 a2 - 12a1 )a3
+--R                  + 
+--R                              3      2  2
+--R                    (- 12a0 a2  + 3a1 a2 )a3
+--R             *
+--I                %%CK0
+--R            + 
+--R                      3             2      3                         2   2
+--R              (54a0 a3  - 18a1 a2 a3  + 4a2 a3)y(x) + (18a0 a2 - 12a1 )a3
+--R            + 
+--R                    2
+--R              2a1 a2 a3
+--R     + 
+--I         2%%CK0
+--R      *
+--R         log
+--R                         2     3        2  2           2         4   2
+--R                  - 162a0 a1 a3  + (54a0 a2  + 108a0 a1 a2 - 24a1 )a3
+--R                + 
+--R                               3       3  2            5      2  4
+--R                  (- 60a0 a1 a2  + 14a1 a2 )a3 + 8a0 a2  - 2a1 a2
+--R             *
+--R                     2
+--I                %%CK0
+--R            + 
+--R                     2  3                       3   2           3      2  2
+--R                (81a0 a3  + (- 54a0 a1 a2 + 12a1 )a3  + (12a0 a2  - 3a1 a2 )a3)
+--R             *
+--I                %%CK0
+--R            + 
+--R                      3            2      3                        2   2
+--R              (27a0 a3  - 9a1 a2 a3  + 2a2 a3)y(x) + (9a0 a2 + 12a1 )a3
+--R            + 
+--R                       2        4
+--R              - 11a1 a2 a3 + 2a2
+--R     + 
+--R       - 2x
+--R  /
+--R     2
+--R                                          Type: Union(Expression Integer,...)
+--E 108
+
+--S 109 of 134
+ode40 := D(y(x),x) + 3*a*y(x)**3 + 6*a*x*y(x)**2
+--R
+--R           ,             3            2
+--R   (106)  y (x) + 3a y(x)  + 6a x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 109
+
+--S 110 of 134
+ode40a:=solve(ode40,y,x)
+--R
+--R   (107)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 110
+
+--S 111 of 134
+ode41 := D(y(x),x) + a*x*y(x)**3 + b*y(x)**2
+--R
+--R           ,              3         2
+--R   (108)  y (x) + a x y(x)  + b y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 111
+
+--S 112 of 134
+ode41a:=solve(ode41,y,x)
+--R
+--R   (109)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 112
+
+--S 113 of 134
+ode42 := D(y(x),x) - x*(x+2)*y(x)**3 - (x+3)*y(x)**2
+--R
+--R           ,          2          3                2
+--R   (110)  y (x) + (- x  - 2x)y(x)  + (- x - 3)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 113
+
+--S 114 of 134
+ode42a:=solve(ode42,y,x)
+--R
+--R   (111)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 114
+
+--S 115 of 134
+ode43 := D(y(x),x) + (3*a*x**2 + 4*a**2*x + b)*y(x)**3 + 3*x*y(x)**2
+--R
+--R           ,           2     2          3          2
+--R   (112)  y (x) + (3a x  + 4a x + b)y(x)  + 3x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 115
+
+--S 116 of 134
+ode43a:=solve(ode43,y,x)
+--R
+--R   (113)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 116
+
+--S 117 of 134
+ode44 := D(y(x),x) + 2*a*x**3*y(x)**3 + 2*x*y(x)
+--R
+--R           ,          3    3
+--R   (114)  y (x) + 2a x y(x)  + 2x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 117
+
+--S 118 of 134
+yx:=solve(ode44,y,x)
+--R
+--R               2         2
+--R          (2a x  + a)y(x)  + 2
+--R   (115)  --------------------
+--R                         2
+--R                    2  2x
+--R               2y(x) %e
+--R                                          Type: Union(Expression Integer,...)
+--E 118
+
+--S 119 of 134
+ode44expr := D(yx,x) + 2*a*x**3*yx**3 + 2*x*yx
+--R
+--R   (116)
+--R                    2 2                                               2 2
+--R              3   2x    ,              3            6          4    2x
+--R       - 8y(x) (%e   ) y (x) + ((- 8a x  + 4a x)y(x)  - 8x y(x) )(%e   )
+--R
+--R     + 
+--R          4 9      4 7     4 5    4 3     6       3 7      3 5     3 3     4
+--R       (8a x  + 12a x  + 6a x  + a x )y(x)  + (24a x  + 24a x  + 6a x )y(x)
+--R     + 
+--R           2 5      2 3     2       3
+--R       (24a x  + 12a x )y(x)  + 8a x
+--R  /
+--R                2 3
+--R          6   2x
+--R     4y(x) (%e   )
+--R                                                     Type: Expression Integer
+--E 119
+
+--S 120 of 134
+ode45 := D(y(x),x) + 2*(a**2*x**3 - b**2*x)*y(x)**3 + 3*b*y(x)**2
+--R
+--R           ,         2 3     2      3          2
+--R   (117)  y (x) + (2a x  - 2b x)y(x)  + 3b y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 120
+
+--S 121 of 134
+ode45a:=solve(ode45,y,x)
+--R
+--R   (118)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 121
+
+--S 122 of 134
+ode46 := D(y(x),x) - x**a*y(x)**3 + 3*y(x)**2 - x**(-a)*y(x) _
+              -x**(-2*a) + a*x**(-a-1)
+--R
+--R           ,          3 a        - a      - a - 1    - 2a        2
+--R   (119)  y (x) - y(x) x  - y(x)x    + a x        - x     + 3y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 122
+
+--S 123 of 134
+ode46a:=solve(ode46,y,x)
+--R
+--R   (120)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 123
+
+--S 124 of 134
+ode47 := D(y(x),x) - a*(x**n - x)*y(x)**3 - y(x)**2
+--R
+--R           ,            3 n           3       2
+--R   (121)  y (x) - a y(x) x  + a x y(x)  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 124
+
+--S 125 of 134
+ode47a:=solve(ode47,y,x)
+--R
+--R   (122)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 125
+
+--S 126 of 134
+ode48 := D(y(x),x) - (a*x**n + b*x)*y(x)**3 - c*y(x)**2
+--R
+--R           ,            3 n           3         2
+--R   (123)  y (x) - a y(x) x  - b x y(x)  - c y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 126
+
+--S 127 of 134
+ode48a:=solve(ode48,y,x)
+--R
+--R   (124)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 127
+
+--S 128 of 134
+ode49 := D(y(x),x) + a*diff(phi(x),x)*y(x)**3 + 6*a*phi(x)*y(x)**2 + _
+          (2*a+1)*y(x)*diff(phi(x),x,x)/diff(phi(x),x) +2*(a+1)
+--R 
+--R   There are no library operations named phi 
+--R      Use HyperDoc Browse or issue
+--R                                )what op phi
+--R      to learn if there is any operation containing " phi " in its 
+--R      name.
+--R 
+--R   Cannot find a definition or applicable library operation named phi 
+--R      with argument type(s) 
+--R                                 Variable x
+--R      
+--R      Perhaps you should use "@" to indicate the required return type, 
+--R      or "$" to specify which version of the function you need.
+--E 128
+
+--S 129 of 134
+f1 := operator 'f1
+--R
+--R   (125)  f1
+--R                                                          Type: BasicOperator
+--E 129
+
+--S 130 of 134
+f2 := operator 'f2
+--R
+--R   (126)  f2
+--R                                                          Type: BasicOperator
+--E 130
+
+--S 131 of 134
+f3 := operator 'f3
+--R
+--R   (127)  f3
+--R                                                          Type: BasicOperator
+--E 131
+
+--S 132 of 134
+f0 := operator 'f0
+--R
+--R   (128)  f0
+--R                                                          Type: BasicOperator
+--E 132
+
+--S 133 of 134
+ode50 := D(y(x),x) - f3(x)*y(x)**3 - f2(x)*y(x)**2 - f1(x)*y(x) - f0(x)
+--R
+--R           ,               3            2
+--R   (129)  y (x) - f3(x)y(x)  - f2(x)y(x)  - f1(x)y(x) - f0(x)
+--R
+--R                                                     Type: Expression Integer
+--E 133
+
+--S 134 of 134
+ode50a:=solve(ode50,y,x)
+--R
+--R   (130)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 134
+
+)spool
+)lisp (bye)
+ 
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} {\bf http://www.cs.uwaterloo.ca/$\tilde{}$ecterrab/odetools.html}
+\end{thebibliography}
+\end{document}

\start
Date: Thu, 4 Oct 2007 16:19:05 -0500
From: Tim Daly
To: list
Subject: 20071004.02.tpd.patch

This patch adds the next 50 Kamke ordinary differential equations in 
Axiom syntax as a regression test.

=======================================================================
diff --git a/changelog b/changelog
index 46dc9dc..44f04bc 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071004 tpd src/input/Makefile kamke1.input regression test added
+20071004 tpd src/input/kamke1.input ODE regression test added
 20071004 tpd src/input/Makefile kamke0.input regression test added
 20071004 tpd src/input/kamke0.input ODE regression test added
 20071001 tpd src/algebra/exposed.lisp add (|AxiomServer| . AXSERV) to basic
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index c1ade3e..159377a 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -322,7 +322,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     intmix2.regress   intmix.regress   int.regress      intrf.regress \
     iprntpk.regress \
     ipftest.regress   is.regress       isprime.regress  kafile.regress \
-    kamke0.regress \
+    kamke0.regress    kamke1.regress \
     kernel.regress    knot2.regress    kovacic.regress  kuipers.regress \
     laplace.regress   leg.regress      limit.regress    lindep.regress \
     list.regress      lode.regress     lodesys.regress  lodo1.regress \
@@ -561,7 +561,7 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/intg0.input    ${OUT}/intheory.input   ${OUT}/int.input \
        ${OUT}/intlf.input    ${OUT}/intmix.input     ${OUT}/intrf.input \
        ${OUT}/ipftest.input  ${OUT}/is.input         ${OUT}/isprime.input \
-       ${OUT}/kafile.input   ${OUT}/kamke0.input \
+       ${OUT}/kafile.input   ${OUT}/kamke0.input     ${OUT}/kamke1.input \
        ${OUT}/kernel.input   ${OUT}/knot.input \
        ${OUT}/kovacic.input  ${OUT}/kuipers.input  \
        ${OUT}/laplace.input  ${OUT}/leg.input        ${OUT}/lexp.input \
@@ -827,7 +827,7 @@ DOCFILES= \
   ${DOC}/intmix.input.dvi      ${DOC}/intrf.input.dvi      \
   ${DOC}/ipftest.input.dvi     ${DOC}/is.input.dvi         \
   ${DOC}/isprime.input.dvi     ${DOC}/kafile.input.dvi     \
-  ${DOC}/kamke0.input.dvi \
+  ${DOC}/kamke0.input.dvi      ${DOC}/kamke1.input.dvi     \
   ${DOC}/kernel.input.dvi      ${DOC}/knot2.input.dvi      \
   ${DOC}/knot.input.dvi        ${DOC}/knownbugs.input.dvi  \
   ${DOC}/kovacic.input.dvi     ${DOC}/kuipers.input.dvi    \
diff --git a/src/input/kamke1.input.pamphlet b/src/input/kamke1.input.pamphlet
new file mode 100644
index 0000000..2b5237a
--- /dev/null
+++ b/src/input/kamke1.input.pamphlet
@@ -0,0 +1,2124 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kamke1.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+This is the next 50 of the Kamke test suite as published by 
+E. S. Cheb-Terrab\cite{1}. They have been rewritten using Axiom
+syntax. Where possible we show that the particular solution actually
+satisfies the original ordinary differential equation.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)spool kamke1.output
+)set break resume
+)set mes auto off
+)clear all
+
+--S 1 of 123
+y:=operator 'y
+--R 
+--R
+--R   (1)  y
+--R                                                          Type: BasicOperator
+--E 1
+
+--S 2 of 123
+f := operator 'f
+--R
+--R   (2)  f
+--R                                                          Type: BasicOperator
+--E 2
+
+--S 3 of 123
+g := operator 'g
+--R
+--R   (3)  g
+--R                                                          Type: BasicOperator
+--E 3
+
+--S 4 of 123
+h := operator 'h
+--R
+--R   (4)  h
+--R                                                          Type: BasicOperator
+--E 4
+
+--S 5 of 123
+ode51 := D(y(x),x) - (y(x)-f(x))*(y(x)-g(x))*(y(x)-(a*f(x)+b*g(x))/(a+b))*h(x)_
+           - D(f(x),x)*(y(x)-g(x))/(f(x)-g(x)) _
+           - D(g(x),x)*(y(x)-f(x))/(g(x)-f(x))
+--R
+--R   (5)
+--R                                     ,                                    ,
+--R       ((b + a)g(x) + (- b - a)f(x))y (x) + ((- b - a)y(x) + (b + a)f(x))g (x)
+--R
+--R     + 
+--R                                     ,
+--R       ((b + a)y(x) + (- b - a)g(x))f (x)
+--R
+--R     + 
+--R                                            3
+--R       ((- b - a)g(x) + (b + a)f(x))h(x)y(x)
+--R     + 
+--R                    2                                     2         2
+--R       ((2b + a)g(x)  + (- b + a)f(x)g(x) + (- b - 2a)f(x) )h(x)y(x)
+--R     + 
+--R                3                     2               2             3
+--R       (- b g(x)  + (- b - 2a)f(x)g(x)  + (2b + a)f(x) g(x) + a f(x) )h(x)y(x)
+--R     + 
+--R                  3                2    2         3
+--R       (b f(x)g(x)  + (- b + a)f(x) g(x)  - a f(x) g(x))h(x)
+--R  /
+--R     (b + a)g(x) + (- b - a)f(x)
+--R                                                     Type: Expression Integer
+--E 5
+
+--S 6 of 123
+ode51a:=solve(ode51,y,x)
+--R
+--R   (6)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 6
+
+--S 7 of 123
+ode52 := D(y(x),x) - a*y(x)**n - b*x**(n/(1-n))
+--R
+--R                                 n
+--R                             - -----
+--R         ,            n        n - 1
+--R   (7)  y (x) - a y(x)  - b x
+--R
+--R                                                     Type: Expression Integer
+--E 7
+
+--S 8 of 123
+ode52a:=solve(ode52,y,x)
+--R
+--R   (8)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 8
+
+--S 9 of 123
+ode53 := D(y(x),x) - f(x)**(1-n)*D(g(x),x)*y(x)**n/(a*g(x)+b)**n _
+           - D(f(x),x)*y(x)/f(x) - f(x)*D(g(x),x)
+--R
+--R   (9)
+--R                       n ,
+--R       f(x)(a g(x) + b) y (x)
+--R
+--R     + 
+--R                - n + 1    n       2            n  ,                      n ,
+--R     (- f(x)f(x)       y(x)  - f(x) (a g(x) + b) )g (x) - y(x)(a g(x) + b) f (x)
+--R
+--R  /
+--R                     n
+--R     f(x)(a g(x) + b)
+--R                                                     Type: Expression Integer
+--E 9
+
+--S 10 of 123
+ode53a:=solve(ode53,y,x)
+--R
+--R   (10)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 10
+
+--S 11 of 123
+ode54 := D(y(x),x) - a**n*f(x)**(1-n)*D(g(x),x)*y(x)**n - _
+          D(f(x),x)*y(x)/f(x) - f(x)*D(g(x),x)
+--R
+--R              ,              n    - n + 1    n       2  ,           ,
+--R         f(x)y (x) + (- f(x)a f(x)       y(x)  - f(x) )g (x) - y(x)f (x)
+--R
+--R   (11)  ---------------------------------------------------------------
+--R                                       f(x)
+--R                                                     Type: Expression Integer
+--E 11
+
+--S 12 of 123
+ode54a:=solve(ode54,y,x)
+--R
+--R   (12)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 12
+
+--S 13 of 123
+ode55 := D(y(x),x) - f(x)*y(x)**n - g(x)*y(x) - h(x)
+--R
+--R          ,              n
+--R   (13)  y (x) - f(x)y(x)  - g(x)y(x) - h(x)
+--R
+--R                                                     Type: Expression Integer
+--E 13
+
+--S 14 of 123
+ode55a:=solve(ode55,y,x)
+--R
+--R   (14)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 14
+
+--S 15 of 123
+ode56 := D(y(x),x) - f(x)*y(x)**a - g(x)*y(x)**b
+--R
+--R          ,              b           a
+--R   (15)  y (x) - g(x)y(x)  - f(x)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 15
+
+--S 16 of 123
+ode5a:=solve(ode56,y,x)
+--R
+--R   (16)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 16
+
+--S 17 of 123
+ode57 := D(y(x),x) - sqrt(abs(y(x)))
+--R
+--R            +---------+    ,
+--R   (17)  - \|abs(y(x))  + y (x)
+--R
+--R                                                     Type: Expression Integer
+--E 17
+
+--S 18 of 123
+yx:=solve(ode57,y,x)
+--R
+--R             +---------+
+--R         - x\|abs(y(x))  + 2y(x)
+--R   (18)  -----------------------
+--R                  +----+
+--R                 \|y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 18
+
+--S 19 of 123
+ode57expr := D(yx,x) - sqrt(abs(yx))
+--R
+--R   (19)
+--R                             +--------------------------+
+--R                             |      +---------+
+--R          +----+ +---------+ |    x\|abs(y(x))  - 2y(x)      ,    +---------+
+--R       - \|y(x) \|abs(y(x))  |abs(---------------------)  + y (x)\|abs(y(x))
+--R                             |            +----+
+--R                            \|           \|y(x)
+--R     + 
+--R       - abs(y(x))
+--R  /
+--R      +----+ +---------+
+--R     \|y(x) \|abs(y(x))
+--R                                                     Type: Expression Integer
+--E 19
+
+--S 20 of 123
+ode58 := D(y(x),x) - a*sqrt(y(x)) - b*x
+--R
+--R          ,        +----+
+--R   (20)  y (x) - a\|y(x)  - b x
+--R
+--R                                                     Type: Expression Integer
+--E 20
+
+--S 21 of 123
+ode58a:=solve(ode58,y,x)
+--R
+--R   (21)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 21
+
+--  this never finishes
+--  ode59 := D(y(x),x) - a*sqrt(y(x)**2+1) - b
+--
+
+--S 22 of 123
+ode60 := D(y(x),x) - sqrt(y(x)**2-1)/sqrt(x**2-1)
+--R
+--R          +------+         +---------+
+--R          | 2      ,       |    2
+--R         \|x  - 1 y (x) - \|y(x)  - 1
+--R
+--R   (22)  -----------------------------
+--R                    +------+
+--R                    | 2
+--R                   \|x  - 1
+--R                                                     Type: Expression Integer
+--E 22
+
+--S 23 of 123
+ode60a:=solve(ode60,y,x)
+--R
+--R   (23)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 23
+
+--S 24 of 123
+ode61 := D(y(x),x) - sqrt(x**2-1)/sqrt(y(x)**2-1)
+--R
+--R          +---------+         +------+
+--R          |    2      ,       | 2
+--R         \|y(x)  - 1 y (x) - \|x  - 1
+--R
+--R   (24)  -----------------------------
+--R                   +---------+
+--R                   |    2
+--R                  \|y(x)  - 1
+--R                                                     Type: Expression Integer
+--E 24
+
+--S 25 of 123
+yx:=solve(ode61,y,x)
+--R
+--R   (25)
+--R                    +------+                    +---------+
+--R                    | 2             2           |    2
+--R           (4x y(x)\|x  - 1  + (- 4x  + 2)y(x))\|y(x)  - 1
+--R         + 
+--R                             +------+
+--R                     2       | 2           2         2     2
+--R           (- 4x y(x)  + 2x)\|x  - 1  + (4x  - 2)y(x)  - 2x  + 1
+--R      *
+--R              +---------+
+--R              |    2
+--R         log(\|y(x)  - 1  - y(x))
+--R     + 
+--R                      +------+                      +------+
+--R                      | 2           2               | 2
+--R           (- 4x y(x)\|x  - 1  + (4x  - 2)y(x))log(\|x  - 1  - x)
+--R         + 
+--R                                  +------+
+--R                     3     3      | 2           2         3
+--R           (- 4x y(x)  + 4x y(x))\|x  - 1  + (4x  - 2)y(x)
+--R         + 
+--R                4     2
+--R           (- 4x  + 2x  + 1)y(x)
+--R      *
+--R          +---------+
+--R          |    2
+--R         \|y(x)  - 1
+--R     + 
+--R                        +------+                                   +------+
+--R                2       | 2             2         2     2          | 2
+--R       ((4x y(x)  - 2x)\|x  - 1  + (- 4x  + 2)y(x)  + 2x  - 1)log(\|x  - 1  - x)
+--R     + 
+--R                                                +------+
+--R               4        3          2     3      | 2             2         4
+--R       (4x y(x)  + (- 4x  - 2x)y(x)  + 2x  - x)\|x  - 1  + (- 4x  + 2)y(x)
+--R     + 
+--R          4         2     4     2
+--R       (4x  - 2)y(x)  - 2x  + 2x
+--R  /
+--R                +------+                    +---------+
+--R                | 2             2           |    2
+--R       (8x y(x)\|x  - 1  + (- 8x  + 4)y(x))\|y(x)  - 1
+--R     + 
+--R                         +------+
+--R                 2       | 2           2         2     2
+--R       (- 8x y(x)  + 4x)\|x  - 1  + (8x  - 4)y(x)  - 4x  + 2
+--R                                          Type: Union(Expression Integer,...)
+--E 25
+
+--S 26 of 123
+ode61expr := D(yx,x) - sqrt(x**2-1)/sqrt(yx**2-1)
+--R
+--R   (26)
+--R                             4      2         5       4      2          3
+--R                       (- 64x  + 64x  - 8)y(x)  + (96x  - 96x  + 12)y(x)
+--R                     + 
+--R                             4      2
+--R                       (- 32x  + 32x  - 4)y(x)
+--R                  *
+--R                      +------+
+--R                      | 2
+--R                     \|x  - 1
+--R                 + 
+--R                       5      3           5         5       3           3
+--R                   (64x  - 96x  + 32x)y(x)  + (- 96x  + 144x  - 48x)y(x)
+--R                 + 
+--R                       5      3
+--R                   (32x  - 48x  + 16x)y(x)
+--R              *
+--R                  +---------+
+--R                  |    2
+--R                 \|y(x)  - 1
+--R             + 
+--R                       4      2         6          4       2          4
+--R                   (64x  - 64x  + 8)y(x)  + (- 128x  + 128x  - 16)y(x)
+--R                 + 
+--R                       4      2         2     4     2
+--R                   (72x  - 72x  + 9)y(x)  - 8x  + 8x  - 1
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  - 1
+--R             + 
+--R                     5      3           6        5       3           4
+--R               (- 64x  + 96x  - 32x)y(x)  + (128x  - 192x  + 64x)y(x)
+--R             + 
+--R                     5       3           2     5      3
+--R               (- 72x  + 108x  - 36x)y(x)  + 8x  - 12x  + 4x
+--R          *
+--R              ,
+--R             y (x)
+--R
+--R         + 
+--R                       5      3           4         5      3           2     5
+--R                   (64x  - 96x  + 32x)y(x)  + (- 64x  + 96x  - 32x)y(x)  + 8x
+--R                 + 
+--R                        3
+--R                   - 12x  + 4x
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  - 1
+--R             + 
+--R                     6       4      2         4       6       4      2         2
+--R               (- 64x  + 128x  - 72x  + 8)y(x)  + (64x  - 128x  + 72x  - 8)y(x)
+--R             + 
+--R                   6      4     2
+--R               - 8x  + 16x  - 9x  + 1
+--R          *
+--R              +---------+
+--R              |    2
+--R             \|y(x)  - 1
+--R         + 
+--R                     5      3           5       5       3           3
+--R               (- 64x  + 96x  - 32x)y(x)  + (96x  - 144x  + 48x)y(x)
+--R             + 
+--R                     5      3
+--R               (- 32x  + 48x  - 16x)y(x)
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  - 1
+--R         + 
+--R               6       4      2         5         6       4       2          3
+--R           (64x  - 128x  + 72x  - 8)y(x)  + (- 96x  + 192x  - 108x  + 12)y(x)
+--R         + 
+--R               6      4      2
+--R           (32x  - 64x  + 36x  - 4)y(x)
+--R      *
+--R         ROOT
+--R                                                                 +------+
+--R                             3           3         3             | 2
+--R                        ((64x  - 32x)y(x)  + (- 32x  + 16x)y(x))\|x  - 1
+--R                      + 
+--R                              4      2         3       4      2
+--R                        (- 64x  + 64x  - 8)y(x)  + (32x  - 32x  + 4)y(x)
+--R                   *
+--R                       +---------+
+--R                       |    2
+--R                      \|y(x)  - 1
+--R                  + 
+--R                             3           4       3           2     3
+--R                      ((- 64x  + 32x)y(x)  + (64x  - 32x)y(x)  - 8x  + 4x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                        4      2         4         4      2         2     4
+--R                    (64x  - 64x  + 8)y(x)  + (- 64x  + 64x  - 8)y(x)  + 8x
+--R                  + 
+--R                        2
+--R                    - 8x  + 1
+--R               *
+--R                       +---------+        2
+--R                       |    2
+--R                  log(\|y(x)  - 1  - y(x))
+--R              + 
+--R                                                                      +------+
+--R                                    3           3       3             | 2
+--R                            ((- 128x  + 64x)y(x)  + (64x  - 32x)y(x))\|x  - 1
+--R                          + 
+--R                                 4       2          3         4      2
+--R                            (128x  - 128x  + 16)y(x)  + (- 64x  + 64x  - 8)y(x)
+--R                       *
+--R                               +------+
+--R                               | 2
+--R                          log(\|x  - 1  - x)
+--R                      + 
+--R                                   3           5        5           3
+--R                            (- 128x  + 64x)y(x)  + (128x  - 48x)y(x)
+--R                          + 
+--R                                  5      3
+--R                            (- 64x  + 48x )y(x)
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  - 1
+--R                      + 
+--R                             4       2          5
+--R                        (128x  - 128x  + 16)y(x)
+--R                      + 
+--R                               6      4      2          3
+--R                        (- 128x  + 64x  + 64x  - 16)y(x)
+--R                      + 
+--R                            6      4      2
+--R                        (64x  - 80x  + 16x  + 2)y(x)
+--R                   *
+--R                       +---------+
+--R                       |    2
+--R                      \|y(x)  - 1
+--R                  + 
+--R                                   3           4          3           2      3
+--R                              (128x  - 64x)y(x)  + (- 128x  + 64x)y(x)  + 16x
+--R                            + 
+--R                              - 8x
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  - 1
+--R                      + 
+--R                               4       2          4        4       2          2
+--R                        (- 128x  + 128x  - 16)y(x)  + (128x  - 128x  + 16)y(x)
+--R                      + 
+--R                             4      2
+--R                        - 16x  + 16x  - 2
+--R                   *
+--R                           +------+
+--R                           | 2
+--R                      log(\|x  - 1  - x)
+--R                  + 
+--R                             3           6          5      3           4
+--R                        (128x  - 64x)y(x)  + (- 128x  - 64x  + 80x)y(x)
+--R                      + 
+--R                             5      3           2      5      3
+--R                        (128x  - 64x  - 16x)y(x)  - 16x  + 16x  - 2x
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                           4       2          6        6       2          4
+--R                    (- 128x  + 128x  - 16)y(x)  + (128x  - 128x  + 24)y(x)
+--R                  + 
+--R                           6       4         2      6      4     2
+--R                    (- 128x  + 128x  - 8)y(x)  + 16x  - 24x  + 8x
+--R               *
+--R                       +---------+
+--R                       |    2
+--R                  log(\|y(x)  - 1  - y(x))
+--R              + 
+--R                                                                 +------+
+--R                             3           3         3             | 2
+--R                        ((64x  - 32x)y(x)  + (- 32x  + 16x)y(x))\|x  - 1
+--R                      + 
+--R                              4      2         3       4      2
+--R                        (- 64x  + 64x  - 8)y(x)  + (32x  - 32x  + 4)y(x)
+--R                   *
+--R                           +------+     2
+--R                           | 2
+--R                      log(\|x  - 1  - x)
+--R                  + 
+--R                                 3           5          5           3
+--R                            (128x  - 64x)y(x)  + (- 128x  + 48x)y(x)
+--R                          + 
+--R                                5      3
+--R                            (64x  - 48x )y(x)
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  - 1
+--R                      + 
+--R                               4       2          5
+--R                        (- 128x  + 128x  - 16)y(x)
+--R                      + 
+--R                             6      4      2          3
+--R                        (128x  - 64x  - 64x  + 16)y(x)
+--R                      + 
+--R                              6      4      2
+--R                        (- 64x  + 80x  - 16x  - 2)y(x)
+--R                   *
+--R                           +------+
+--R                           | 2
+--R                      log(\|x  - 1  - x)
+--R                  + 
+--R                            3           7          5      3           5
+--R                        (64x  - 32x)y(x)  + (- 128x  + 32x  + 32x)y(x)
+--R                      + 
+--R                            7      5       3            3
+--R                        (64x  + 32x  - 320x  + 128x)y(x)
+--R                      + 
+--R                              7      5       3
+--R                        (- 32x  + 32x  + 128x  - 66x)y(x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                          4      2         7        6      4      2          5
+--R                    (- 64x  + 64x  - 8)y(x)  + (128x  - 96x  - 32x  + 12)y(x)
+--R                  + 
+--R                          8       4       2          3
+--R                    (- 64x  + 344x  - 280x  + 28)y(x)
+--R                  + 
+--R                        8      6       4       2
+--R                    (32x  - 48x  - 116x  + 132x  - 16)y(x)
+--R               *
+--R                   +---------+
+--R                   |    2
+--R                  \|y(x)  - 1
+--R              + 
+--R                             3           4       3           2     3
+--R                      ((- 64x  + 32x)y(x)  + (64x  - 32x)y(x)  - 8x  + 4x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                        4      2         4         4      2         2     4
+--R                    (64x  - 64x  + 8)y(x)  + (- 64x  + 64x  - 8)y(x)  + 8x
+--R                  + 
+--R                        2
+--R                    - 8x  + 1
+--R               *
+--R                       +------+     2
+--R                       | 2
+--R                  log(\|x  - 1  - x)
+--R              + 
+--R                               3           6        5      3           4
+--R                        (- 128x  + 64x)y(x)  + (128x  + 64x  - 80x)y(x)
+--R                      + 
+--R                               5      3           2      5      3
+--R                        (- 128x  + 64x  + 16x)y(x)  + 16x  - 16x  + 2x
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                         4       2          6          6       2          4
+--R                    (128x  - 128x  + 16)y(x)  + (- 128x  + 128x  - 24)y(x)
+--R                  + 
+--R                         6       4         2      6      4     2
+--R                    (128x  - 128x  + 8)y(x)  - 16x  + 24x  - 8x
+--R               *
+--R                       +------+
+--R                       | 2
+--R                  log(\|x  - 1  - x)
+--R              + 
+--R                          3           8        5           6
+--R                    (- 64x  + 32x)y(x)  + (128x  - 48x)y(x)
+--R                  + 
+--R                          7      5       3            4
+--R                    (- 64x  - 96x  + 344x  - 116x)y(x)
+--R                  + 
+--R                        7      5       3            2     7      5      3
+--R                    (64x  - 32x  - 280x  + 132x)y(x)  - 8x  + 12x  + 28x  - 16x
+--R               *
+--R                   +------+
+--R                   | 2
+--R                  \|x  - 1
+--R              + 
+--R                    4      2         8          6      4      2          6
+--R                (64x  - 64x  + 8)y(x)  + (- 128x  + 64x  + 64x  - 16)y(x)
+--R              + 
+--R                    8      6       4       2          4
+--R                (64x  + 64x  - 400x  + 272x  - 23)y(x)
+--R              + 
+--R                      8      6       4       2          2     8      6      4
+--R                (- 64x  + 64x  + 272x  - 272x  + 31)y(x)  + 8x  - 16x  - 23x
+--R              + 
+--R                   2
+--R                31x  - 4
+--R           /
+--R                                                                +------+
+--R                          3            3          3             | 2
+--R                    ((256x  - 128x)y(x)  + (- 128x  + 64x)y(x))\|x  - 1
+--R                  + 
+--R                           4       2          3        4       2
+--R                    (- 256x  + 256x  - 32)y(x)  + (128x  - 128x  + 16)y(x)
+--R               *
+--R                   +---------+
+--R                   |    2
+--R                  \|y(x)  - 1
+--R              + 
+--R                          3            4        3            2      3
+--R                  ((- 256x  + 128x)y(x)  + (256x  - 128x)y(x)  - 32x  + 16x)
+--R               *
+--R                   +------+
+--R                   | 2
+--R                  \|x  - 1
+--R              + 
+--R                     4       2          4          4       2          2      4
+--R                (256x  - 256x  + 32)y(x)  + (- 256x  + 256x  - 32)y(x)  + 32x
+--R              + 
+--R                     2
+--R                - 32x  + 4
+--R     + 
+--R                   5      3           4         5      3           2     5
+--R               (64x  - 96x  + 32x)y(x)  + (- 64x  + 96x  - 32x)y(x)  + 8x
+--R             + 
+--R                    3
+--R               - 12x  + 4x
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  - 1
+--R         + 
+--R                 6       4      2         4       6       4      2         2
+--R           (- 64x  + 128x  - 72x  + 8)y(x)  + (64x  - 128x  + 72x  - 8)y(x)
+--R         + 
+--R               6      4     2
+--R           - 8x  + 16x  - 9x  + 1
+--R      *
+--R          +---------+
+--R          |    2
+--R         \|y(x)  - 1
+--R     + 
+--R                 5      3           5       5       3           3
+--R           (- 64x  + 96x  - 32x)y(x)  + (96x  - 144x  + 48x)y(x)
+--R         + 
+--R                 5      3
+--R           (- 32x  + 48x  - 16x)y(x)
+--R      *
+--R          +------+
+--R          | 2
+--R         \|x  - 1
+--R     + 
+--R           6       4      2         5         6       4       2          3
+--R       (64x  - 128x  + 72x  - 8)y(x)  + (- 96x  + 192x  - 108x  + 12)y(x)
+--R     + 
+--R           6      4      2
+--R       (32x  - 64x  + 36x  - 4)y(x)
+--R  /
+--R                       4      2         4         4      2         2     4     2
+--R                   (64x  - 64x  + 8)y(x)  + (- 64x  + 64x  - 8)y(x)  + 8x  - 8x
+--R                 + 
+--R                   1
+--R            *
+--R                +------+
+--R                | 2
+--R               \|x  - 1
+--R           + 
+--R                   5      3           4       5      3           2     5      3
+--R             (- 64x  + 96x  - 32x)y(x)  + (64x  - 96x  + 32x)y(x)  - 8x  + 12x
+--R           + 
+--R             - 4x
+--R        *
+--R            +---------+
+--R            |    2
+--R           \|y(x)  - 1
+--R       + 
+--R                   4      2         5       4      2          3
+--R             (- 64x  + 64x  - 8)y(x)  + (96x  - 96x  + 12)y(x)
+--R           + 
+--R                   4      2
+--R             (- 32x  + 32x  - 4)y(x)
+--R        *
+--R            +------+
+--R            | 2
+--R           \|x  - 1
+--R       + 
+--R             5      3           5         5       3           3
+--R         (64x  - 96x  + 32x)y(x)  + (- 96x  + 144x  - 48x)y(x)
+--R       + 
+--R             5      3
+--R         (32x  - 48x  + 16x)y(x)
+--R    *
+--R       ROOT
+--R                                                               +------+
+--R                           3           3         3             | 2
+--R                      ((64x  - 32x)y(x)  + (- 32x  + 16x)y(x))\|x  - 1
+--R                    + 
+--R                            4      2         3       4      2
+--R                      (- 64x  + 64x  - 8)y(x)  + (32x  - 32x  + 4)y(x)
+--R                 *
+--R                     +---------+
+--R                     |    2
+--R                    \|y(x)  - 1
+--R                + 
+--R                                                                       +------+
+--R                         3           4       3           2     3       | 2
+--R                  ((- 64x  + 32x)y(x)  + (64x  - 32x)y(x)  - 8x  + 4x)\|x  - 1
+--R                + 
+--R                      4      2         4         4      2         2     4     2
+--R                  (64x  - 64x  + 8)y(x)  + (- 64x  + 64x  - 8)y(x)  + 8x  - 8x
+--R                + 
+--R                  1
+--R             *
+--R                     +---------+        2
+--R                     |    2
+--R                log(\|y(x)  - 1  - y(x))
+--R            + 
+--R                                                                    +------+
+--R                                  3           3       3             | 2
+--R                          ((- 128x  + 64x)y(x)  + (64x  - 32x)y(x))\|x  - 1
+--R                        + 
+--R                               4       2          3         4      2
+--R                          (128x  - 128x  + 16)y(x)  + (- 64x  + 64x  - 8)y(x)
+--R                     *
+--R                             +------+
+--R                             | 2
+--R                        log(\|x  - 1  - x)
+--R                    + 
+--R                                 3           5        5           3
+--R                          (- 128x  + 64x)y(x)  + (128x  - 48x)y(x)
+--R                        + 
+--R                                5      3
+--R                          (- 64x  + 48x )y(x)
+--R                     *
+--R                         +------+
+--R                         | 2
+--R                        \|x  - 1
+--R                    + 
+--R                           4       2          5
+--R                      (128x  - 128x  + 16)y(x)
+--R                    + 
+--R                             6      4      2          3
+--R                      (- 128x  + 64x  + 64x  - 16)y(x)
+--R                    + 
+--R                          6      4      2
+--R                      (64x  - 80x  + 16x  + 2)y(x)
+--R                 *
+--R                     +---------+
+--R                     |    2
+--R                    \|y(x)  - 1
+--R                + 
+--R                              3           4          3           2      3
+--R                        ((128x  - 64x)y(x)  + (- 128x  + 64x)y(x)  + 16x  - 8x)
+--R                     *
+--R                         +------+
+--R                         | 2
+--R                        \|x  - 1
+--R                    + 
+--R                             4       2          4        4       2          2
+--R                      (- 128x  + 128x  - 16)y(x)  + (128x  - 128x  + 16)y(x)
+--R                    + 
+--R                           4      2
+--R                      - 16x  + 16x  - 2
+--R                 *
+--R                         +------+
+--R                         | 2
+--R                    log(\|x  - 1  - x)
+--R                + 
+--R                           3           6          5      3           4
+--R                      (128x  - 64x)y(x)  + (- 128x  - 64x  + 80x)y(x)
+--R                    + 
+--R                           5      3           2      5      3
+--R                      (128x  - 64x  - 16x)y(x)  - 16x  + 16x  - 2x
+--R                 *
+--R                     +------+
+--R                     | 2
+--R                    \|x  - 1
+--R                + 
+--R                         4       2          6        6       2          4
+--R                  (- 128x  + 128x  - 16)y(x)  + (128x  - 128x  + 24)y(x)
+--R                + 
+--R                         6       4         2      6      4     2
+--R                  (- 128x  + 128x  - 8)y(x)  + 16x  - 24x  + 8x
+--R             *
+--R                     +---------+
+--R                     |    2
+--R                log(\|y(x)  - 1  - y(x))
+--R            + 
+--R                                                               +------+
+--R                           3           3         3             | 2
+--R                      ((64x  - 32x)y(x)  + (- 32x  + 16x)y(x))\|x  - 1
+--R                    + 
+--R                            4      2         3       4      2
+--R                      (- 64x  + 64x  - 8)y(x)  + (32x  - 32x  + 4)y(x)
+--R                 *
+--R                         +------+     2
+--R                         | 2
+--R                    log(\|x  - 1  - x)
+--R                + 
+--R                               3           5          5           3
+--R                          (128x  - 64x)y(x)  + (- 128x  + 48x)y(x)
+--R                        + 
+--R                              5      3
+--R                          (64x  - 48x )y(x)
+--R                     *
+--R                         +------+
+--R                         | 2
+--R                        \|x  - 1
+--R                    + 
+--R                             4       2          5
+--R                      (- 128x  + 128x  - 16)y(x)
+--R                    + 
+--R                           6      4      2          3
+--R                      (128x  - 64x  - 64x  + 16)y(x)
+--R                    + 
+--R                            6      4      2
+--R                      (- 64x  + 80x  - 16x  - 2)y(x)
+--R                 *
+--R                         +------+
+--R                         | 2
+--R                    log(\|x  - 1  - x)
+--R                + 
+--R                          3           7          5      3           5
+--R                      (64x  - 32x)y(x)  + (- 128x  + 32x  + 32x)y(x)
+--R                    + 
+--R                          7      5       3            3
+--R                      (64x  + 32x  - 320x  + 128x)y(x)
+--R                    + 
+--R                            7      5       3
+--R                      (- 32x  + 32x  + 128x  - 66x)y(x)
+--R                 *
+--R                     +------+
+--R                     | 2
+--R                    \|x  - 1
+--R                + 
+--R                        4      2         7        6      4      2          5
+--R                  (- 64x  + 64x  - 8)y(x)  + (128x  - 96x  - 32x  + 12)y(x)
+--R                + 
+--R                        8       4       2          3
+--R                  (- 64x  + 344x  - 280x  + 28)y(x)
+--R                + 
+--R                      8      6       4       2
+--R                  (32x  - 48x  - 116x  + 132x  - 16)y(x)
+--R             *
+--R                 +---------+
+--R                 |    2
+--R                \|y(x)  - 1
+--R            + 
+--R                                                                       +------+
+--R                         3           4       3           2     3       | 2
+--R                  ((- 64x  + 32x)y(x)  + (64x  - 32x)y(x)  - 8x  + 4x)\|x  - 1
+--R                + 
+--R                      4      2         4         4      2         2     4     2
+--R                  (64x  - 64x  + 8)y(x)  + (- 64x  + 64x  - 8)y(x)  + 8x  - 8x
+--R                + 
+--R                  1
+--R             *
+--R                     +------+     2
+--R                     | 2
+--R                log(\|x  - 1  - x)
+--R            + 
+--R                             3           6        5      3           4
+--R                      (- 128x  + 64x)y(x)  + (128x  + 64x  - 80x)y(x)
+--R                    + 
+--R                             5      3           2      5      3
+--R                      (- 128x  + 64x  + 16x)y(x)  + 16x  - 16x  + 2x
+--R                 *
+--R                     +------+
+--R                     | 2
+--R                    \|x  - 1
+--R                + 
+--R                       4       2          6          6       2          4
+--R                  (128x  - 128x  + 16)y(x)  + (- 128x  + 128x  - 24)y(x)
+--R                + 
+--R                       6       4         2      6      4     2
+--R                  (128x  - 128x  + 8)y(x)  - 16x  + 24x  - 8x
+--R             *
+--R                     +------+
+--R                     | 2
+--R                log(\|x  - 1  - x)
+--R            + 
+--R                        3           8        5           6
+--R                  (- 64x  + 32x)y(x)  + (128x  - 48x)y(x)
+--R                + 
+--R                        7      5       3            4
+--R                  (- 64x  - 96x  + 344x  - 116x)y(x)
+--R                + 
+--R                      7      5       3            2     7      5      3
+--R                  (64x  - 32x  - 280x  + 132x)y(x)  - 8x  + 12x  + 28x  - 16x
+--R             *
+--R                 +------+
+--R                 | 2
+--R                \|x  - 1
+--R            + 
+--R                  4      2         8          6      4      2          6
+--R              (64x  - 64x  + 8)y(x)  + (- 128x  + 64x  + 64x  - 16)y(x)
+--R            + 
+--R                  8      6       4       2          4
+--R              (64x  + 64x  - 400x  + 272x  - 23)y(x)
+--R            + 
+--R                    8      6       4       2          2     8      6      4
+--R              (- 64x  + 64x  + 272x  - 272x  + 31)y(x)  + 8x  - 16x  - 23x
+--R            + 
+--R                 2
+--R              31x  - 4
+--R         /
+--R                                                              +------+
+--R                        3            3          3             | 2
+--R                  ((256x  - 128x)y(x)  + (- 128x  + 64x)y(x))\|x  - 1
+--R                + 
+--R                         4       2          3        4       2
+--R                  (- 256x  + 256x  - 32)y(x)  + (128x  - 128x  + 16)y(x)
+--R             *
+--R                 +---------+
+--R                 |    2
+--R                \|y(x)  - 1
+--R            + 
+--R                        3            4        3            2      3
+--R                ((- 256x  + 128x)y(x)  + (256x  - 128x)y(x)  - 32x  + 16x)
+--R             *
+--R                 +------+
+--R                 | 2
+--R                \|x  - 1
+--R            + 
+--R                   4       2          4          4       2          2      4
+--R              (256x  - 256x  + 32)y(x)  + (- 256x  + 256x  - 32)y(x)  + 32x
+--R            + 
+--R                   2
+--R              - 32x  + 4
+--R                                                     Type: Expression Integer
+--E 26
+
+--S 27 of 123
+ode62 := D(y(x),x) - (y(x)-x**2*sqrt(x**2-y(x)**2))/_
+                      (x*y(x)*sqrt(x**2-y(x)**2)+x)
+--R
+--R                 +------------+                +------------+
+--R                 |      2    2       ,       2 |      2    2
+--R         (x y(x)\|- y(x)  + x   + x)y (x) + x \|- y(x)  + x   - y(x)
+--R
+--R   (27)  -----------------------------------------------------------
+--R                                 +------------+
+--R                                 |      2    2
+--R                          x y(x)\|- y(x)  + x   + x
+--R                                                     Type: Expression Integer
+--E 27
+
+--S 28 of 123
+ode62a:=solve(ode62,y,x)
+--R
+--R   (28)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 28
+
+--S 29 of 123
+ode63 := D(y(x),x) - (1+ y(x)**2)/(abs(y(x)+sqrt(1+y(x)))*sqrt(1+x)**3)
+--R
+--R                 +-----+ ,        +--------+               2
+--R         (x + 1)\|x + 1 y (x)abs(\|y(x) + 1  + y(x)) - y(x)  - 1
+--R
+--R   (29)  -------------------------------------------------------
+--R                          +-----+     +--------+
+--R                  (x + 1)\|x + 1 abs(\|y(x) + 1  + y(x))
+--R                                                     Type: Expression Integer
+--E 29
+
+--S 30 of 123
+ode63a:=solve(ode63,y,x)
+--R
+--R   (30)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 30
+
+--S 31 of 123
+ode64 := D(y(x),x) - sqrt((a*y(x)**2+b*y(x)+c)/(a*x**2+b*x+c))
+--R
+--R                  +--------------------+
+--R                  |      2
+--R          ,       |a y(x)  + b y(x) + c
+--R   (31)  y (x) -  |--------------------
+--R                  |      2
+--R                 \|   a x  + b x + c
+--R                                                     Type: Expression Integer
+--E 31
+
+--S 32 of 123
+yx:=solve(ode64,y,x)
+--R
+--R   (32)
+--R       log
+--R                                                +--------------------+
+--R                                                |      2
+--R                       2 2                  +-+ |a y(x)  + b y(x) + c
+--R                    (2a x  + 2a b x + 2a c)\|a  |--------------------
+--R                                                |      2
+--R                                               \|   a x  + b x + c
+--R                 *
+--R                     +--------------------+
+--R                     |      2
+--R                    \|a y(x)  + b y(x) + c
+--R                + 
+--R                       3 3     2   2     2        2
+--R                  (- 2a x  - 2a b x  - 2a c x)y(x)
+--R                + 
+--R                       2   3       2 2                     2   3           2
+--R                  (- 2a b x  - 2a b x  - 2a b c x)y(x) - 2a c x  - 2a b c x
+--R                + 
+--R                        2
+--R                  - 2a c x
+--R             *
+--R                 +-------------------------+
+--R                 |        2               2
+--R                \|a c y(x)  + b c y(x) + c
+--R            + 
+--R                      3 4    2   3     2   2                2    3     2
+--R                  (- a x  - a b x  - 2a c x  - a b c x - a c  - a )y(x)
+--R                + 
+--R                      2   4      2 3           2    2         2    2
+--R                  (- a b x  - a b x  - 2a b c x  - b c x - b c  - a b)y(x)
+--R                + 
+--R                     2   4          3       2 2      2     3    2
+--R                  - a c x  - a b c x  - 2a c x  - b c x - c  - a c
+--R             *
+--R                     +--------------------+
+--R                 +-+ |      2
+--R                \|a \|a y(x)  + b y(x) + c
+--R            + 
+--R                     4 3     3   2     3        2
+--R                  (2a x  + 2a b x  + 2a c x)y(x)
+--R                + 
+--R                     3   3     2 2 2     2               3   3     2     2
+--R                  (2a b x  + 2a b x  + 2a b c x)y(x) + 2a c x  + 2a b c x
+--R                + 
+--R                    2 2
+--R                  2a c x
+--R             *
+--R                 +--------------------+
+--R                 |      2
+--R                 |a y(x)  + b y(x) + c
+--R                 |--------------------
+--R                 |      2
+--R                \|   a x  + b x + c
+--R         /
+--R                                        +--------------------+
+--R                                        |      2
+--R                   2 2                  |a y(x)  + b y(x) + c
+--R                (2a x  + 2a b x + 2a c) |--------------------
+--R                                        |      2
+--R                                       \|   a x  + b x + c
+--R             *
+--R                 +-------------------------+
+--R                 |        2               2
+--R                \|a c y(x)  + b c y(x) + c
+--R            + 
+--R                3 4    2   3                2    3     2
+--R              (a x  + a b x  - a b c x - a c  - a )y(x)
+--R            + 
+--R                2   4      2 3    2         2    2          2   4          3
+--R              (a b x  + a b x  - b c x - b c  - a b)y(x) + a c x  + a b c x
+--R            + 
+--R                   2     3    2
+--R              - b c x - c  - a c
+--R     + 
+--R       log
+--R                                    +--------------------+
+--R                 +-+ +-+            |      2                         +-+
+--R              (2\|a \|c  - 2a y(x))\|a y(x)  + b y(x) + c  + 2a y(x)\|c
+--R            + 
+--R                        2                +-+
+--R              (- 2a y(x)  - b y(x) - 2c)\|a
+--R         /
+--R                  +--------------------+
+--R              +-+ |      2
+--R            2\|c \|a y(x)  + b y(x) + c  - b y(x) - 2c
+--R  /
+--R      +-+
+--R     \|a
+--R                                          Type: Union(Expression Integer,...)
+--E 32
+
+@
+The results of this substitution are too long to include.
+It should be zero but Axiom cannot simplify it.
+<<*>>=
+--S 33 of 123
+ode64expr := D(yx,x) - sqrt((a*yx**2+b*yx+c)/(a*x**2+b*x+c));
+--E 33
+
+--S 34 of 123
+ode65 := D(y(x),x) - sqrt((y(x)**3+1)/(x**3+1))
+--R
+--R                  +---------+
+--R                  |    3
+--R          ,       |y(x)  + 1
+--R   (34)  y (x) -  |---------
+--R                  |   3
+--R                 \|  x  + 1
+--R                                                     Type: Expression Integer
+--E 34
+
+--S 35 of 123
+ode65a:=solve(ode65,y,x)
+--R
+--R                 +---------+
+--R                 |    3
+--R                 |y(x)  + 1
+--R                 |---------
+--R            x    |   3                 y(x)
+--I          ++    \| %P  + 1           ++          1
+--I   (35)   |   - ------------ d%P  +  |      ---------- d%P
+--R         ++      +---------+        ++       +-------+
+--R                 |    3                      |  3
+--I                \|y(x)  + 1                 \|%P  + 1
+--R                                          Type: Union(Expression Integer,...)
+--E 35
+
+--S 36 of 123
+ode66 := D(y(x),x) - sqrt(abs(y(x)*(1-y(x))*(1-a*y(x))))/_
+               sqrt(abs(x*(1-x)*(1-a*x)))
+--R
+--R   (36)
+--R          +------------------------------------+
+--R          |          3                2
+--R       - \|abs(a y(x)  + (- a - 1)y(x)  + y(x))
+--R     + 
+--R        +---------------------------+
+--R        |       3             2       ,
+--R       \|abs(a x  + (- a - 1)x  + x) y (x)
+--R
+--R  /
+--R      +---------------------------+
+--R      |       3             2
+--R     \|abs(a x  + (- a - 1)x  + x)
+--R                                                     Type: Expression Integer
+--E 36
+
+--S 37 of 123
+ode66a:=solve(ode66,y,x)
+--R
+--R   (37)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 37
+
+--S 38 of 123
+ode67 := D(y(x),x) - sqrt(1-y(x)**4)/sqrt(1-x**4)
+--R
+--R          +--------+         +-----------+
+--R          |   4      ,       |      4
+--R         \|- x  + 1 y (x) - \|- y(x)  + 1
+--R
+--R   (38)  ---------------------------------
+--R                     +--------+
+--R                     |   4
+--R                    \|- x  + 1
+--R                                                     Type: Expression Integer
+--E 38
+
+--S 39 of 123
+ode67a:=solve(ode67,y,x)
+--R
+--R   (39)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 39
+
+--S 40 of 123
+ode68 := D(y(x),x) - sqrt((a*y(x)**4+b*y(x)**2+1)/(a*x**4+b*x**2+1))
+--R
+--R                  +---------------------+
+--R                  |      4         2
+--R          ,       |a y(x)  + b y(x)  + 1
+--R   (40)  y (x) -  |---------------------
+--R                  |      4      2
+--R                 \|   a x  + b x  + 1
+--R                                                     Type: Expression Integer
+--E 40
+
+--S 41 of 123
+ode68a:=solve(ode68,y,x)
+--R 
+--R
+--R   (41)
+--R           +---------------------+
+--R           |      4         2
+--R           |a y(x)  + b y(x)  + 1
+--R           |---------------------
+--R      x    |     2      4                    y(x)
+--I    ++    \|   %N b + %N a + 1             ++              1
+--I    |   - ------------------------ d%N  +  |      ------------------ d%N
+--R   ++      +---------------------+        ++       +---------------+
+--R           |      4         2                      |  2      4
+--I          \|a y(x)  + b y(x)  + 1                 \|%N b + %N a + 1
+--R                                          Type: Union(Expression Integer,...)
+--E 41
+
+--S 42 of 123
+ode69 := D(y(x),x) - sqrt((b4*y(x)**4+b3*y(x)**3+b2*y(x)**2+b1*y(x)+b0)*_
+                           (a4*x**4+a3*x**3+a2*x**2+a1*x+a0))
+--R 
+--R
+--R   (42)
+--R      ,
+--R     y (x)
+--R
+--R   + 
+--R     -
+--R        ROOT
+--R                     4          3          2                       4
+--R             (a4 b4 x  + a3 b4 x  + a2 b4 x  + a1 b4 x + a0 b4)y(x)
+--R           + 
+--R                     4          3          2                       3
+--R             (a4 b3 x  + a3 b3 x  + a2 b3 x  + a1 b3 x + a0 b3)y(x)
+--R           + 
+--R                     4          3          2                       2
+--R             (a4 b2 x  + a3 b2 x  + a2 b2 x  + a1 b2 x + a0 b2)y(x)
+--R           + 
+--R                     4          3          2                                 4
+--R             (a4 b1 x  + a3 b1 x  + a2 b1 x  + a1 b1 x + a0 b1)y(x) + a4 b0 x
+--R           + 
+--R                    3          2
+--R             a3 b0 x  + a2 b0 x  + a1 b0 x + a0 b0
+--R                                                     Type: Expression Integer
+--E 42
+
+--S 43 of 123
+ode69a:=solve(ode69,y,x)
+--R 
+--R 
+--R   >> Error detected within library code:
+--R   PFO::possibleOrder: more than 1 algebraic constant
+--R
+--R   Continuing to read the file...
+--R
+--E 43
+
+--S 44 of 123
+ode70 := D(y(x),x) - sqrt((a4*x**4+a3*x**3+a2*x**2+a1*x+a0)/_
+                        (b4*y(x)**4+b3*y(x)**3+b2*y(x)**2+b1*y(x)+b0))
+--R
+--R                  +---------------------------------------------+
+--R                  |          4       3       2
+--R          ,       |      a4 x  + a3 x  + a2 x  + a1 x + a0
+--R   (43)  y (x) -  |---------------------------------------------
+--R                  |       4          3          2
+--R                 \|b4 y(x)  + b3 y(x)  + b2 y(x)  + b1 y(x) + b0
+--R                                                     Type: Expression Integer
+--E 44
+
+--S 45 of 123
+ode70a:=solve(ode70,y,x)
+--R 
+--R 
+--R   >> Error detected within library code:
+--R   PFO::possibleOrder: more than 1 algebraic constant
+--R
+--R   Continuing to read the file...
+--R
+--E 45
+
+--S 46 of 123
+ode71 := D(y(x),x) - sqrt((b4*y(x)**4+b3*y(x)**3+b2*y(x)**2+b1*y(x)+b0)/_
+                       (a4*x**4+a3*x**3+a2*x**2+a1*x+a0))
+--R
+--R                  +---------------------------------------------+
+--R                  |       4          3          2
+--R          ,       |b4 y(x)  + b3 y(x)  + b2 y(x)  + b1 y(x) + b0
+--R   (44)  y (x) -  |---------------------------------------------
+--R                  |          4       3       2
+--R                 \|      a4 x  + a3 x  + a2 x  + a1 x + a0
+--R                                                     Type: Expression Integer
+--E 46
+
+--S 47 of 123
+ode71a:=solve(ode71,y,x)
+--R 
+--R
+--R   (45)
+--R             +---------------------------------------------+
+--R             |       4          3          2
+--R             |b4 y(x)  + b3 y(x)  + b2 y(x)  + b1 y(x) + b0
+--R             |---------------------------------------------
+--R        x    |        4       3       2
+--I      ++    \|      %N a4 + %N a3 + %N a2 + %N a1 + a0
+--I      |   - ------------------------------------------------ d%N
+--R     ++      +---------------------------------------------+
+--R             |       4          3          2
+--R            \|b4 y(x)  + b3 y(x)  + b2 y(x)  + b1 y(x) + b0
+--R   + 
+--R        y(x)
+--R      ++                       1
+--I      |      ------------------------------------- d%N
+--R     ++       +----------------------------------+
+--R              |  4       3       2
+--I             \|%N b4 + %N b3 + %N b2 + %N b1 + b0
+--R                                          Type: Union(Expression Integer,...)
+--E 47
+
+--S 48 of 123
+R1:=operator 'R1
+--R
+--R   (46)  R1
+--R                                                          Type: BasicOperator
+--E 48
+
+--S 49 of 123
+R2:=operator 'R2
+--R
+--R   (47)  R2
+--R                                                          Type: BasicOperator
+--E 49
+
+--S 50 of 123
+ode72 := D(y(x),x) - R1(x,sqrt(a4*x**4+a3*x**3+a2*x**2+a1*x+a0))*_
+             R2(y(x),sqrt(b4*y(x)**4+b3*y(x)**3+b2*y(x)**2+b1*y(x)+b0))
+--R
+--R   (48)
+--R     -
+--R                +---------------------------------+
+--R                |    4       3       2
+--R          R1(x,\|a4 x  + a3 x  + a2 x  + a1 x + a0 )
+--R       *
+--R                   +---------------------------------------------+
+--R                   |       4          3          2
+--R          R2(y(x),\|b4 y(x)  + b3 y(x)  + b2 y(x)  + b1 y(x) + b0 )
+--R   + 
+--R      ,
+--R     y (x)
+--R
+--R                                                     Type: Expression Integer
+--E 50
+
+--S 51 of 123
+ode72a:=solve(ode72,y,x)
+--R 
+--R   >> Error detected within library code:
+--R   Function not supported by Risch d.e.
+--R
+--R   Continuing to read the file...
+--R
+--E 51
+
+--S 52 of 123
+ode73 := D(y(x),x) - ((a3*x**3+a2*x**2+a1*x+a0)/_
+           (a3*y(x)**3+a2*y(x)**2+a1*y(x)+a0))**(2/3)
+--R
+--R                  +----------------------------------+2
+--R                  |         3       2
+--R          ,       |     a3 x  + a2 x  + a1 x + a0
+--R   (49)  y (x) -  |----------------------------------
+--R                 3|       3          2
+--R                 \|a3 y(x)  + a2 y(x)  + a1 y(x) + a0
+--R                                                     Type: Expression Integer
+--E 52
+
+@
+Attempting to solve this problem fails with the error:
+\begin{verbatim}
+ode73a:=solve(ode73,y,x)
+   >> Error detected within library code:
+   Table construction failed in MLIFT
+\end{verbatim}
+<<*>>=
+
+--S 53 of 123
+ode74 := D(y(x),x) - f(x)*(y(x)-g(x))*sqrt((y(x)-a)*(y(x)-b))
+--R
+--R                                         +---------------------------+
+--R          ,                              |    2
+--R   (50)  y (x) + (- f(x)y(x) + f(x)g(x))\|y(x)  + (- b - a)y(x) + a b
+--R
+--R                                                     Type: Expression Integer
+--E 53
+
+--S 54 of 123
+ode74a:=solve(ode74,y,x)
+--R
+--R   (51)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 54
+
+--S 55 of 123
+ode75 := D(y(x),x) - exp(x-y(x)) + exp(x)
+--R
+--R          ,        - y(x) + x     x
+--R   (52)  y (x) - %e           + %e
+--R
+--R                                                     Type: Expression Integer
+--E 55
+
+--S 56 of 123
+ode75a:=solve(ode75,y,x)
+--R
+--R   (53)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 56
+
+--S 57 of 123
+ode76 := D(y(x),x) - a*cos(y(x)) + b
+--R
+--R          ,
+--R   (54)  y (x) - a cos(y(x)) + b
+--R
+--R                                                     Type: Expression Integer
+--E 57
+
+--S 58 of 123
+yx:=solve(ode76,y,x)
+--R
+--R   (55)
+--R                                    +---------+              +---------+
+--R               2    2               |   2    2               |   2    2
+--R           (- b  + a )sin(y(x)) + b\|- b  + a  cos(y(x)) - a\|- b  + a
+--R       log(-------------------------------------------------------------)
+--R                                  a cos(y(x)) - b
+--R     + 
+--R         +---------+
+--R         |   2    2
+--R       x\|- b  + a
+--R  /
+--R      +---------+
+--R      |   2    2
+--R     \|- b  + a
+--R                                          Type: Union(Expression Integer,...)
+--E 58
+
+--S 59 of 123
+ode76expr := D(yx,x) - a*cos(yx) + b
+--R
+--R   (56)
+--R                2 2    4                3    3
+--R           ((- a b  + a )cos(y(x)) + a b  - a b)sin(y(x))
+--R         + 
+--R               +---------+                           +---------+
+--R            2  |   2    2          2         2    3  |   2    2
+--R           a b\|- b  + a  cos(y(x))  + (- a b  - a )\|- b  + a  cos(y(x))
+--R         + 
+--R               +---------+
+--R            2  |   2    2
+--R           a b\|- b  + a
+--R      *
+--R         cos
+--R                log
+--R                                            +---------+              +---------+
+--R                       2    2               |   2    2               |   2    2
+--R                   (- b  + a )sin(y(x)) + b\|- b  + a  cos(y(x)) - a\|- b  + a
+--R                   -------------------------------------------------------------
+--R                                          a cos(y(x)) - b
+--R              + 
+--R                  +---------+
+--R                  |   2    2
+--R                x\|- b  + a
+--R           /
+--R               +---------+
+--R               |   2    2
+--R              \|- b  + a
+--R     + 
+--R               +---------+
+--R               |   2    2          2       2    2
+--R           - a\|- b  + a  sin(y(x))  + (- b  + a )sin(y(x))
+--R         + 
+--R               +---------+               +---------+
+--R               |   2    2          2     |   2    2
+--R           - a\|- b  + a  cos(y(x))  + b\|- b  + a  cos(y(x))
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R            3      2    3     3              4    3    2 2    2
+--R       ((a b  + a b  - a b - a )cos(y(x)) - b  - b  + a b  + a b)sin(y(x))
+--R     + 
+--R                      +---------+
+--R             2        |   2    2          2
+--R       (- a b  - a b)\|- b  + a  cos(y(x))
+--R     + 
+--R                            +---------+                           +---------+
+--R         3    2    2     2  |   2    2                   2        |   2    2
+--R       (b  + b  + a b + a )\|- b  + a  cos(y(x)) + (- a b  - a b)\|- b  + a
+--R  /
+--R                                                        +---------+
+--R            2    3              3    2                  |   2    2          2
+--R       ((a b  - a )cos(y(x)) - b  + a b)sin(y(x)) - a b\|- b  + a  cos(y(x))
+--R     + 
+--R                 +---------+                +---------+
+--R         2    2  |   2    2                 |   2    2
+--R       (b  + a )\|- b  + a  cos(y(x)) - a b\|- b  + a
+--R                                                     Type: Expression Integer
+--E 59
+
+--S 60 of 123
+ode77 := D(y(x),x) - cos(a*y(x)+b*x)
+--R
+--R          ,
+--R   (57)  y (x) - cos(a y(x) + b x)
+--R
+--R                                                     Type: Expression Integer
+--E 60
+
+--S 61 of 123
+ode77a:=solve(ode77,y,x)
+--R
+--R   (58)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 61
+
+--S 62 of 123
+ode78 := D(y(x),x) + a*sin(alpha*y(x)+beta*x) + b
+--R
+--R          ,
+--R   (59)  y (x) + a sin(alpha y(x) + beta x) + b
+--R
+--R                                                     Type: Expression Integer
+--E 62
+
+--S 63 of 123
+ode78a:=solve(ode78,y,x)
+--R
+--R   (60)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 63
+
+--S 64 of 123
+ode79 := D(y(x),x) + f(x)*cos(a*y(x)) + g(x)*sin(a*y(x)) + h(x)
+--R
+--R          ,
+--R   (61)  y (x) + g(x)sin(a y(x)) + f(x)cos(a y(x)) + h(x)
+--R
+--R                                                     Type: Expression Integer
+--E 64
+
+--S 65 of 123
+ode79a:=solve(ode79,y,x)
+--R
+--R   (62)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 65
+
+--S 66 of 123
+ode80 := D(y(x),x) + f(x)*sin(y(x)) + (1-D(f(x),x))*cos(y(x)) - D(f(x),x) - 1
+--R
+--R          ,                        ,
+--R   (63)  y (x) + (- cos(y(x)) - 1)f (x) + f(x)sin(y(x)) + cos(y(x)) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 66
+
+--S 67 of 123
+ode80a:=solve(ode80,y,x)
+--R
+--R   (64)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 67
+
+--S 68 of 123
+ode81 := D(y(x),x) + 2*tan(y(x))*tan(x) - 1
+--R
+--R          ,
+--R   (65)  y (x) + 2tan(x)tan(y(x)) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 68
+
+--S 69 of 123
+ode81a:=solve(ode81,y,x)
+--R
+--R   (66)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 69
+
+--S 70 of 123
+ode82 := D(y(x),x) - a*(1+tan(y(x))**2) + tan(y(x))*tan(x)
+--R
+--R          ,                 2
+--R   (67)  y (x) - a tan(y(x))  + tan(x)tan(y(x)) - a
+--R
+--R                                                     Type: Expression Integer
+--E 70
+
+--S 71 of 123
+ode82a:=solve(ode82,y,x)
+--R
+--R   (68)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 71
+
+--S 72 of 123
+ode83 := D(y(x),x) - tan(x*y(x))
+--R
+--R          ,
+--R   (69)  y (x) - tan(x y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 72
+
+--S 73 of 123
+ode83a:=solve(ode83,y,x)
+--R
+--R   (70)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 73
+
+--S 74 of 123
+ode84 := D(y(x),x) - f(a*x + b*y(x))
+--R
+--R          ,
+--R   (71)  y (x) - f(b y(x) + a x)
+--R
+--R                                                     Type: Expression Integer
+--E 74
+
+--S 75 of 123
+ode84a:=solve(ode84,y,x)
+--R
+--R   (72)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 75
+
+--S 76 of 123
+ode85 := D(y(x),x) - x**(a-1)*y(x)**(1-b)*f(x**a/a + y(x)**b/b)
+--R
+--R                                    b      a
+--R            a - 1    - b + 1  a y(x)  + b x      ,
+--R   (73)  - x     y(x)       f(--------------) + y (x)
+--R                                    a b
+--R                                                     Type: Expression Integer
+--E 76
+
+--S 77 of 123
+ode85a:=solve(ode85,y,x)
+--R
+--R   (74)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 77
+
+--S 78 of 123
+ode86 := D(y(x),x) - (y(x)-x*f(x**2+a*y(x)**2))/(x+a*y(x)*f(x**2+a*y(x)**2))
+--R
+--R                        2    2       ,                2    2
+--R         (a y(x)f(a y(x)  + x ) + x)y (x) + x f(a y(x)  + x ) - y(x)
+--R
+--R   (75)  -----------------------------------------------------------
+--R                                        2    2
+--R                          a y(x)f(a y(x)  + x ) + x
+--R                                                     Type: Expression Integer
+--E 78
+
+--S 79 of 123
+ode86a:=solve(ode86,y,x)
+--R
+--R   (76)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 79
+
+--S 80 of 123
+ode87 := D(y(x),x) - (y(x)*a*f(x**c*y(x))+c*x**a*y(x)**b)/_
+            (x*b*f(x**c*y(x))-x**a*y(x)**b)
+--R
+--R           a    b              c   ,         a    b                c
+--R         (x y(x)  - b x f(y(x)x ))y (x) + c x y(x)  + a y(x)f(y(x)x )
+--R
+--R   (77)  ------------------------------------------------------------
+--R                             a    b              c
+--R                            x y(x)  - b x f(y(x)x )
+--R                                                     Type: Expression Integer
+--E 80
+
+--S 81 of 123
+ode87a:=solve(ode87,y,x)
+--R
+--R   (78)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 81
+
+--S 82 of 123
+ode88 := 2*D(y(x),x) - 3*y(x)**2 - 4*a*y(x) - b - c*exp(-2*a*x)
+--R
+--R           ,          - 2a x        2
+--R   (79)  2y (x) - c %e       - 3y(x)  - 4a y(x) - b
+--R
+--R                                                     Type: Expression Integer
+--E 82
+
+--S 83 of 123
+ode88a:=solve(ode88,y,x)
+--R
+--R   (80)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 83
+
+--S 84 of 123
+ode89 := x*D(y(x),x) - sqrt(a**2 - x**2)
+--R
+--R                   +---------+
+--R           ,       |   2    2
+--R   (81)  xy (x) - \|- x  + a
+--R
+--R                                                     Type: Expression Integer
+--E 84
+
+--S 85 of 123
+ode89a:=solve(ode89,y,x)
+--R
+--R   (82)
+--R                                         +---------+
+--R                   +---------+           |   2    2
+--R                   |   2    2     2     \|- x  + a   - a     2
+--R                (a\|- x  + a   - a )log(----------------) - x
+--R                                                x
+--R   [particular= ----------------------------------------------,basis= [1]]
+--R                                +---------+
+--R                                |   2    2
+--R                               \|- x  + a   - a
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 85
+
+--S 86 of 123
+yx:=ode89a.particular
+--R
+--R                                  +---------+
+--R            +---------+           |   2    2
+--R            |   2    2     2     \|- x  + a   - a     2
+--R         (a\|- x  + a   - a )log(----------------) - x
+--R                                         x
+--R   (83)  ----------------------------------------------
+--R                         +---------+
+--R                         |   2    2
+--R                        \|- x  + a   - a
+--R                                                     Type: Expression Integer
+--E 86
+
+--S 87 of 123
+ode89expr := x*D(yx,x) - sqrt(a**2 - x**2)
+--R
+--R   (84)  0
+--R                                                     Type: Expression Integer
+--E 87
+
+--S 88 of 123
+ode90 := x*D(y(x),x) + y(x) - x*sin(x)
+--R
+--R           ,
+--R   (85)  xy (x) - x sin(x) + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 88
+
+--S 89 of 123
+ode90a:=solve(ode90,y,x)
+--R
+--R                      sin(x) - x cos(x)         1
+--R   (86)  [particular= -----------------,basis= [-]]
+--R                              x                 x
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 89
+
+--S 90 of 123
+yx:=ode90a.particular
+--R
+--R         sin(x) - x cos(x)
+--R   (87)  -----------------
+--R                 x
+--R                                                     Type: Expression Integer
+--E 90
+
+--S 91 of 123
+ode90expr := x*D(yx,x) + yx - x*sin(x)
+--R
+--R   (88)  0
+--R                                                     Type: Expression Integer
+--E 91
+
+--S 92 of 123
+ode91 := x*D(y(x),x) - y(x) - x/log(x)
+--R
+--R                  ,
+--R         x log(x)y (x) - y(x)log(x) - x
+--R
+--R   (89)  ------------------------------
+--R                     log(x)
+--R                                                     Type: Expression Integer
+--E 92
+
+--S 93 of 123
+ode91a:=solve(ode91,y,x)
+--R
+--R   (90)  [particular= x log(log(x)),basis= [x]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 93
+
+--S 94 of 123
+yx:=ode91a.particular
+--R
+--R   (91)  x log(log(x))
+--R                                                     Type: Expression Integer
+--E 94
+
+--S 95 of 123
+ode91expr := x*D(yx,x) - yx - x/log(x)
+--R
+--R   (92)  0
+--R                                                     Type: Expression Integer
+--E 95
+
+--S 96 of 123
+ode92 := x*D(y(x),x) - y(x) - x**2*sin(x)
+--R
+--R           ,       2
+--R   (93)  xy (x) - x sin(x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 96
+
+--S 97 of 123
+ode92a:=solve(ode92,y,x)
+--R
+--R   (94)  [particular= - x cos(x),basis= [x]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 97
+
+--S 98 of 123
+yx:=ode92a.particular
+--R
+--R   (95)  - x cos(x)
+--R                                                     Type: Expression Integer
+--E 98
+
+--S 99 of 123
+ode92expr := x*D(yx,x) - yx - x**2*sin(x)
+--R
+--R   (96)  0
+--R                                                     Type: Expression Integer
+--E 99
+
+
+--S 100 of 123
+ode93 := x*D(y(x),x) - y(x) - x*cos(log(log(x)))/log(x)
+--R
+--R                                         ,
+--R         - x cos(log(log(x))) + x log(x)y (x) - y(x)log(x)
+--R
+--R   (97)  -------------------------------------------------
+--R                               log(x)
+--R                                                     Type: Expression Integer
+--E 100
+
+--S 101 of 123
+ode93a:=solve(ode93,y,x)
+--R
+--R   (98)  [particular= x sin(log(log(x))),basis= [x]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 101
+
+--S 102 of 123
+yx:=ode93a.particular
+--R
+--R   (99)  x sin(log(log(x)))
+--R                                                     Type: Expression Integer
+--E 102
+
+--S 103 of 123
+ode93 := x*D(yx,x) - yx - x*cos(log(log(x)))/log(x)
+--R
+--R   (100)  0
+--R                                                     Type: Expression Integer
+--E 103
+
+--S 104 of 123
+ode94 := x*D(y(x),x) +a*y(x) + b*x**n
+--R
+--R            ,         n
+--R   (101)  xy (x) + b x  + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 104
+
+--S 105 of 123
+ode94a:=solve(ode94,y,x)
+--R
+--R                             n log(x)
+--R                         b %e                   - a log(x)
+--R   (102)  [particular= - ------------,basis= [%e          ]]
+--R                             n + a
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 105
+
+--S 106 of 123
+yx:=ode94a.particular
+--R
+--R                n log(x)
+--R            b %e
+--R   (103)  - ------------
+--R                n + a
+--R                                                     Type: Expression Integer
+--E 106
+
+--S 107 of 123
+ode94expr := x*D(yx,x) +a*yx + b*x**n
+--R
+--R                n log(x)      n
+--R   (104)  - b %e         + b x
+--R                                                     Type: Expression Integer
+--E 107
+
+--S 108 of 123
+exprule := rule x^n == %e^(n*log(x))
+--R
+--R           n      n log(x)
+--R   (105)  x  == %e
+--R                        Type: RewriteRule(Integer,Integer,Expression Integer)
+--E 108
+
+--S 109 of 123
+exprule ode94expr
+--R
+--R   (106)  0
+--R                                                     Type: Expression Integer
+--E 109
+
+--S 110 of 123
+ode95 := x*D(y(x),x) + y(x)**2 + x**2
+--R
+--R            ,          2    2
+--R   (107)  xy (x) + y(x)  + x
+--R
+--R                                                     Type: Expression Integer
+--E 110
+
+--S 111 of 123
+ode95a:=solve(ode95,y,x)
+--R 
+--R
+--R   (108)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 111
+
+--S 112 of 123
+ode96 := x*D(y(x),x) - y(x)**2 + 1
+--R 
+--R
+--R            ,          2
+--R   (109)  xy (x) - y(x)  + 1
+--R
+--R                                                     Type: Expression Integer
+--E 112
+
+--S 113 of 123
+yx:=solve(ode96,y,x)
+--R
+--R               - x y(x) - x
+--R   (110)  ----------------------
+--R           +--------+ +--------+
+--R          \|y(x) - 1 \|y(x) + 1
+--R                                          Type: Union(Expression Integer,...)
+--E 113
+
+--S 114 of 123
+ode96expr := x*D(yx,x) - yx**2 + 1
+--R
+--R   (111)
+--R    2 ,           2             2      +--------+ +--------+         2
+--R   x y (x) + ((- x  + 1)y(x) - x  - 1)\|y(x) - 1 \|y(x) + 1  - x y(x)  + x
+--R
+--R   -----------------------------------------------------------------------
+--R                                  +--------+ +--------+
+--R                       (y(x) - 1)\|y(x) - 1 \|y(x) + 1
+--R                                                     Type: Expression Integer
+--E 114
+
+--S 115 of 123
+ode97 := x*D(y(x),x) + a*y(x)**2 - y(x) + b*x**2
+--R 
+--R
+--R            ,            2             2
+--R   (112)  xy (x) + a y(x)  - y(x) + b x
+--R
+--R                                                     Type: Expression Integer
+--E 115
+
+--S 116 of 123
+yx:=solve(ode97,y,x)
+--R 
+--R
+--R                         +------+
+--R                  a y(x)\|- 4a b  - 2a b x
+--R   (113)  ---------------------------------------
+--R                                          +-----+
+--R                +------+               2x\|- a b
+--R          (2b x\|- 4a b  - 4a b y(x))%e
+--R                                          Type: Union(Expression Integer,...)
+--E 116
+
+--S 117 of 123
+ode97expr := x*D(yx,x) + a*yx**2 - yx + b*x**2
+--R
+--R   (114)
+--R                                              +-----+
+--R                3 +------+     2   2       2x\|- a b  ,
+--R       (- 4a b x \|- 4a b  + 8a b x y(x))%e          y (x)
+--R
+--R     + 
+--R                2 3    2     3 5  +------+     2 2 2    3        3 4
+--R         ((12a b x y(x)  - 4b x )\|- 4a b  - 8a b x y(x)  + 24a b x y(x))
+--R      *
+--R               +-----+ 2
+--R            2x\|- a b
+--R         (%e          )
+--R     + 
+--R                   2      3         3      +------+     2   2    2       2 4
+--R             ((- 4a x y(x)  - 4a b x y(x))\|- 4a b  - 8a b x y(x)  - 8a b x )
+--R          *
+--R              +-----+
+--R             \|- a b
+--R         + 
+--R                2    3         2      +------+      2        2       2 3
+--R           (- 2a y(x)  + 2a b x y(x))\|- 4a b  - 12a b x y(x)  - 4a b x
+--R      *
+--R              +-----+
+--R           2x\|- a b
+--R         %e
+--R     + 
+--R         3      2    2   3  +------+     4    3     3   2
+--R       (a x y(x)  + a b x )\|- 4a b  + 2a y(x)  + 2a b x y(x)
+--R  /
+--R                     2     2 3  +------+     2      3        2 2
+--R       ((12a b x y(x)  - 4b x )\|- 4a b  - 8a b y(x)  + 24a b x y(x))
+--R    *
+--R             +-----+ 2
+--R          2x\|- a b
+--R       (%e          )
+--R                                                     Type: Expression Integer
+--E 117
+
+--S 118 of 123
+ode98 := x*D(y(x),x) + a*y(x)**2 - b*y(x) + c*x**(2*b)
+--R 
+--R
+--R            ,         2b         2
+--R   (115)  xy (x) + c x   + a y(x)  - b y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 118
+
+--S 119 of 123
+ode98a:=solve(ode98,y,x)
+--R
+--R   (116)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 119
+
+--S 120 of 123
+ode99 := x*D(y(x),x) + a*y(x)**2 - b*y(x) - c*x**beta
+--R 
+--R
+--R            ,         beta         2
+--R   (117)  xy (x) - c x     + a y(x)  - b y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 120
+
+--S 121 of 123
+ode99a:=solve(ode99,y,x)
+--R 
+--R
+--R   (118)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 121
+
+--S 122 of 123
+ode100 := x*D(y(x),x) + x*y(x)**2 + a
+--R 
+--R
+--R            ,            2
+--R   (119)  xy (x) + x y(x)  + a
+--R
+--R                                                     Type: Expression Integer
+--E 122
+
+--S 123 of 123
+ode100a:=solve(ode100,y,x)
+--R 
+--R
+--R   (120)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 123
+)spool
+)lisp (bye)
+ 
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} {\bf http://www.cs.uwaterloo.ca/$\tilde{}$ecterrab/odetools.html}
+\end{thebibliography}
+\end{document}

\start
Date: Fri, 5 Oct 2007 00:35:45 +0200 (CEST)
From: Waldek Hebisch
To: Constantine Frangos
Subject: Re: Axiom: Matrix manipulations

C. Frangos wrote:
> I have tried to read in the file test.input pasted below. However, 
> I am getting continuously error messages re. the matrix Acon, and have been 
> unable to make progress.
> 

> --file test.input
> 
> --)read expandsincos.input
> 
> Acon := matrix([[1 , 0 , Lo1*sin(phi) , -sin(phi)*a , 0 , 0 , 0 , 0 , 0],_
> [0 , 1 , -Lo1*cos(phi) , a*cos(phi) , 0 , 0 , 0 , 0 , 0],_
> [1 , 0 , -Lo1*sin(phi) , 0 , -a*sin(phi), 0 , 0 , 0 , 0],-
                                                           ^
You need underscore here.
> [0 , 1 , Lo1*cos(phi) , 0 , a*cos(phi) , 0 , 0 , 0 , 0],_
> [1,0,-Lc*cos(phi)+Lo1*sin(phi),0,0,0,-a*sin(phi)*cos(delta3)_
> -a*cos(phi)*sin(delta3),0,0],_
> [0,1,-Lc*sin(phi)-Lo1*cos(phi),0,0,0,a*cos(phi)*cos(delta3)_
> -a*sin(phi)*sin(delta3),0,0],_ 
> [1,-Lc*cos(phi)-Lo1*sin(phi),0,0,(-2*sin(phi)*Lo1*sin(delta3)-sin(phi)*_
> Lc*cos(delta3)-cos(phi)*Lc*sin(delta3))*a/sqrt(4*Lo1^2*sin(delta3)^2+_
> 4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0,0,0],_ 

The row above has only 8 entries.

> [0,1,-Lc*sin(phi)+Lo1*cos(phi),0,0,a*(2*cos(phi)*Lo1*sin(delta3)+_
> cos(phi)*Lc*cos(delta3)-sin(phi)*Lc*sin(delta3))/sqrt(4*Lo1^2*sin(delta3)^2+_
> 4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0,0,0],_
> [0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , -k]])
> 
> rankAcon := rank(Acon)
> 
> nullityAcon := nullity(Acon)
> 
> Aconre := rowEchelon(Acon)
> 
> Aconnull := nullSpace(Acon)
> 
> 

After correcting the two problems above (I added leading 0 to
the short row) I get rank 8 and [[0,0,0,0,0,0,0,1,0]] as
nullSpace.

\start
Date: Thu, 4 Oct 2007 23:21:37 -0500
From: Tim Daly
To: list
Subject: 20071005.01.tpd.patch

This patch adds Axiom regression tests of Kamke ODEs 101-150
====================================================================
diff --git a/changelog b/changelog
index 44f04bc..c71345c 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071004 tpd src/input/Makefile kamke2.input regression test added
+20071004 tpd src/input/kamke2.input ODE regression test added
 20071004 tpd src/input/Makefile kamke1.input regression test added
 20071004 tpd src/input/kamke1.input ODE regression test added
 20071004 tpd src/input/Makefile kamke0.input regression test added
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index 159377a..1bfbcc1 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -322,7 +322,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     intmix2.regress   intmix.regress   int.regress      intrf.regress \
     iprntpk.regress \
     ipftest.regress   is.regress       isprime.regress  kafile.regress \
-    kamke0.regress    kamke1.regress \
+    kamke0.regress    kamke1.regress   kamke2.regress \
     kernel.regress    knot2.regress    kovacic.regress  kuipers.regress \
     laplace.regress   leg.regress      limit.regress    lindep.regress \
     list.regress      lode.regress     lodesys.regress  lodo1.regress \
@@ -562,6 +562,7 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/intlf.input    ${OUT}/intmix.input     ${OUT}/intrf.input \
        ${OUT}/ipftest.input  ${OUT}/is.input         ${OUT}/isprime.input \
        ${OUT}/kafile.input   ${OUT}/kamke0.input     ${OUT}/kamke1.input \
+       ${OUT}/kamke2.input \
        ${OUT}/kernel.input   ${OUT}/knot.input \
        ${OUT}/kovacic.input  ${OUT}/kuipers.input  \
        ${OUT}/laplace.input  ${OUT}/leg.input        ${OUT}/lexp.input \
@@ -828,6 +829,7 @@ DOCFILES= \
   ${DOC}/ipftest.input.dvi     ${DOC}/is.input.dvi         \
   ${DOC}/isprime.input.dvi     ${DOC}/kafile.input.dvi     \
   ${DOC}/kamke0.input.dvi      ${DOC}/kamke1.input.dvi     \
+  ${DOC}/kamke2.input.dvi     \
   ${DOC}/kernel.input.dvi      ${DOC}/knot2.input.dvi      \
   ${DOC}/knot.input.dvi        ${DOC}/knownbugs.input.dvi  \
   ${DOC}/kovacic.input.dvi     ${DOC}/kuipers.input.dvi    \
diff --git a/src/input/kamke2.input.pamphlet b/src/input/kamke2.input.pamphlet
new file mode 100644
index 0000000..2c8be63
--- /dev/null
+++ b/src/input/kamke2.input.pamphlet
@@ -0,0 +1,1731 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kamke2.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+This is the 50 ODEs of the Kamke test suite as published by 
+E. S. Cheb-Terrab\cite{1}. They have been rewritten using Axiom
+syntax. Where possible we show that the particular solution actually
+satisfies the original ordinary differential equation.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)spool kamke2.output
+)set break resume
+)set mes auto off
+)clear all
+
+--S 1 of 131
+y:=operator 'y
+--R
+--R   (1)  y
+--R                                                          Type: BasicOperator
+--E 1
+
+--S 2 of 131
+f:=operator 'f
+--R
+--R   (2)  f
+--R                                                          Type: BasicOperator
+--E 2
+
+--S 3 of 131
+g:=operator 'g
+--R
+--R   (3)  g
+--R                                                          Type: BasicOperator
+--E 3
+
+--S 4 of 131
+ode101 := x*D(y(x),x) + x*y(x)**2 - y(x)
+--R
+--R          ,            2
+--R   (4)  xy (x) + x y(x)  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 4
+
+--S 5 of 131
+yx:=solve(ode101,y,x)
+--R
+--R         2
+--R        x y(x) - 2x
+--R   (5)  -----------
+--R           2y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 5
+
+--S 6 of 131
+ode101expr := x*D(yx,x) + x*yx**2 - yx
+--R
+--R          2 ,        5     2     2     4         3
+--R        4x y (x) + (x  + 2x )y(x)  - 4x y(x) + 4x
+--R
+--R   (6)  ------------------------------------------
+--R                               2
+--R                          4y(x)
+--R                                                     Type: Expression Integer
+--E 6
+
+--S 7 of 131
+ode102 := x*D(y(x),x) + x*y(x)**2 - y(x) - a*x**3
+--R
+--R          ,            2             3
+--R   (7)  xy (x) + x y(x)  - y(x) - a x
+--R
+--R                                                     Type: Expression Integer
+--E 7
+
+--S 8 of 131
+yx:=solve(ode102,y,x)
+--R
+--R                            +-+
+--R               (2y(x) + 3x)\|a  + 3y(x) + 2a x
+--R   (8)  ---------------------------------------------
+--R                                                2 +-+
+--R                        +-+                    x \|a
+--R        ((6y(x) - 4a x)\|a  + 4a y(x) - 6a x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 8
+
+--S 9 of 131
+ode102expr := x*D(yx,x) + x*yx**2 - yx - a*x**3
+--R
+--R   (9)
+--R                   2         2           3       2  3  +-+
+--R           ((- 144a  - 108a)x y(x) + (32a  + 216a )x )\|a
+--R         + 
+--R                 3       2  2            3       2  3
+--R           (- 32a  - 216a )x y(x) + (144a  + 108a )x
+--R      *
+--R            2 +-+
+--R           x \|a  ,
+--R         %e      y (x)
+--R
+--R     + 
+--R                      3       2  3    3       4       3  4    2
+--R               (- 144a  - 108a )x y(x)  + (96a  + 648a )x y(x)
+--R             + 
+--R                      4       3  5           5       4  6
+--R               (- 432a  - 324a )x y(x) + (32a  + 216a )x
+--R          *
+--R              +-+
+--R             \|a
+--R         + 
+--R                 4       3  3    3        4       3  4    2
+--R           (- 32a  - 216a )x y(x)  + (432a  + 324a )x y(x)
+--R         + 
+--R                 5       4  5            5       4  6
+--R           (- 96a  - 648a )x y(x) + (144a  + 108a )x
+--R      *
+--R             2 +-+ 2
+--R            x \|a
+--R         (%e      )
+--R     + 
+--R                       2         2      2            3
+--R               ((- 144a  - 108a)x  - 16a  - 108a)y(x)
+--R             + 
+--R                    3       2  3        2              2
+--R               ((32a  + 216a )x  + (216a  + 162a)x)y(x)
+--R             + 
+--R                     3       2  4         3       2  2              4       3  5
+--R               ((144a  + 108a )x  + (- 16a  - 108a )x )y(x) + (- 32a  - 216a )x
+--R             + 
+--R                     3      2  3
+--R               (- 72a  - 54a )x
+--R          *
+--R              +-+
+--R             \|a
+--R         + 
+--R                  3       2  2      2           3
+--R           ((- 32a  - 216a )x  - 72a  - 54a)y(x)
+--R         + 
+--R                 3       2  3       3       2       2
+--R           ((144a  + 108a )x  + (48a  + 324a )x)y(x)
+--R         + 
+--R                4       3  4         3      2  2               4       3  5
+--R           ((32a  + 216a )x  + (- 72a  - 54a )x )y(x) + (- 144a  - 108a )x
+--R         + 
+--R                 4       3  3
+--R           (- 16a  - 108a )x
+--R      *
+--R            2 +-+
+--R           x \|a
+--R         %e
+--R     + 
+--R                           3      2        2    2         2        3
+--R           (36a + 27)x y(x)  + (8a  + 54a)x y(x)  + (- 36a  - 27a)x y(x)
+--R         + 
+--R                3      2  4
+--R           (- 8a  - 54a )x
+--R      *
+--R          +-+
+--R         \|a
+--R     + 
+--R          2             3       2        2    2        3      2  3
+--R       (8a  + 54a)x y(x)  + (36a  + 27a)x y(x)  + (- 8a  - 54a )x y(x)
+--R     + 
+--R             3      2  4
+--R       (- 36a  - 27a )x
+--R  /
+--R                  2            3         3       2       2
+--R             (144a  + 108a)y(x)  + (- 96a  - 648a )x y(x)
+--R           + 
+--R                  3       2  2             4       3  3
+--R             (432a  + 324a )x y(x) + (- 32a  - 216a )x
+--R        *
+--R            +-+
+--R           \|a
+--R       + 
+--R             3       2     3          3       2       2       4       3  2
+--R         (32a  + 216a )y(x)  + (- 432a  - 324a )x y(x)  + (96a  + 648a )x y(x)
+--R       + 
+--R                4       3  3
+--R         (- 144a  - 108a )x
+--R    *
+--R           2 +-+ 2
+--R          x \|a
+--R       (%e      )
+--R                                                     Type: Expression Integer
+--E 9
+
+--S 10 of 131
+ode103 := x*D(y(x),x) + x*y(x)**2 - (2*x**2+1)*y(x) - x**3
+--R
+--R           ,            2        2             3
+--R   (10)  xy (x) + x y(x)  + (- 2x  - 1)y(x) - x
+--R
+--R                                                     Type: Expression Integer
+--E 10
+
+--S 11 of 131
+yx:=solve(ode103,y,x)
+--R
+--R                   +-+              +-+
+--R                (2\|2  + 3)y(x) + x\|2  + x
+--R   (11)  -----------------------------------------
+--R                                             2 +-+
+--R             +-+                +-+         x \|2
+--R         ((6\|2  + 8)y(x) - 14x\|2  - 20x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 11
+
+--S 12 of 131
+ode103expr := x*D(yx,x) + x*yx**2 - (2*x**2+1)*yx - x**3
+--R
+--R   (12)
+--R                                                            2 +-+
+--R               2 +-+        2             3 +-+        3   x \|2  ,
+--R       ((- 792x \|2  - 1120x )y(x) + 1912x \|2  + 2704x )%e      y (x)
+--R
+--R     + 
+--R                  3 +-+        3     3         4 +-+        4     2
+--R           (- 792x \|2  - 1120x )y(x)  + (5736x \|2  + 8112x )y(x)
+--R         + 
+--R                    5 +-+         5              6 +-+         6
+--R           (- 13848x \|2  - 19584x )y(x) + 11144x \|2  + 15760x
+--R      *
+--R             2 +-+ 2
+--R            x \|2
+--R         (%e      )
+--R     + 
+--R                    2        +-+        2           3
+--R           ((- 1352x  - 280)\|2  - 1912x  - 396)y(x)
+--R         + 
+--R                  3          +-+        3             2
+--R           ((5968x  + 2028x)\|2  + 8440x  + 2868x)y(x)
+--R         + 
+--R                    4        2  +-+        4        2
+--R           ((- 5176x  - 2984x )\|2  - 7320x  - 4220x )y(x)
+--R         + 
+--R                   5       3  +-+        5       3
+--R           (- 3264x  - 676x )\|2  - 4616x  - 956x
+--R      *
+--R            2 +-+
+--R           x \|2
+--R         %e
+--R     + 
+--R            +-+            3          2 +-+       2     2
+--R       (99x\|2  + 140x)y(x)  + (- 157x \|2  - 222x )y(x)
+--R     + 
+--R              3 +-+       3           4 +-+      4
+--R       (- 181x \|2  - 256x )y(x) - 41x \|2  - 58x
+--R  /
+--R              +-+            3            +-+             2
+--R         (792\|2  + 1120)y(x)  + (- 5736x\|2  - 8112x)y(x)
+--R       + 
+--R                2 +-+         2              3 +-+         3
+--R         (13848x \|2  + 19584x )y(x) - 11144x \|2  - 15760x
+--R    *
+--R           2 +-+ 2
+--R          x \|2
+--R       (%e      )
+--R                                                     Type: Expression Integer
+--E 12
+
+--S 13 of 131
+ode104 := x*D(y(x),x) + a*x*y(x)**2 + 2*y(x) + b*x
+--R
+--R           ,              2
+--R   (13)  xy (x) + a x y(x)  + 2y(x) + b x
+--R
+--R                                                     Type: Expression Integer
+--E 13
+
+--S 14 of 131
+yx:=solve(ode104,y,x)
+--R
+--R                       +-----+    2
+--R                   a x\|- a b  + a x y(x) + a
+--R   (14)  ----------------------------------------------
+--R                                                +-----+
+--R                          +-----+            2x\|- a b
+--R         ((2a x y(x) + 2)\|- a b  + 2a b x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 14
+
+--S 15 of 131
+ode104expr := x*D(yx,x) + a*x*yx**2 + 2*yx + b*x
+--R
+--R   (15)
+--R                                                         +-----+
+--R             3   4         2   3  +-----+     3 2 4   2x\|- a b  ,
+--R       ((- 4a b x y(x) - 4a b x )\|- a b  - 4a b x )%e          y (x)
+--R
+--R     + 
+--R                 3 2 4    3      2 2 3    2         2 3 4        2 2
+--R               4a b x y(x)  + 12a b x y(x)  + (- 12a b x  + 12a b x )y(x)
+--R             + 
+--R                      3 3     2
+--R               - 12a b x  + 4b x
+--R          *
+--R              +-----+
+--R             \|- a b
+--R         + 
+--R              3 3 4    2      2 3 3         2 4 4        3 2
+--R           12a b x y(x)  + 24a b x y(x) - 4a b x  + 12a b x
+--R      *
+--R               +-----+ 2
+--R            2x\|- a b
+--R         (%e          )
+--R     + 
+--R                   4   4    3      3   3    2        3 2 4      2   2
+--R               - 4a b x y(x)  - 16a b x y(x)  + (- 4a b x  - 16a b x )y(x)
+--R             + 
+--R                   2 2 3
+--R               - 8a b x  - 4a b x
+--R          *
+--R              +-----+
+--R             \|- a b
+--R         + 
+--R             4   3    3        4 2 4      3   2     2
+--R           4a b x y(x)  + (- 4a b x  + 12a b x )y(x)
+--R         + 
+--R                3 2 3      2             3 3 4     2 2 2
+--R           (- 4a b x  + 12a b x)y(x) - 4a b x  + 4a b x  + 4a b
+--R      *
+--R              +-----+
+--R           2x\|- a b
+--R         %e
+--R     + 
+--R             5 4    3     4 3    2       4   4     3 2         3   3    2
+--R         (- a x y(x)  - 3a x y(x)  + (- a b x  - 3a x )y(x) - a b x  - a x)
+--R      *
+--R          +-----+
+--R         \|- a b
+--R     + 
+--R        5   4    2     4   3        4 2 4    3   2
+--R       a b x y(x)  + 2a b x y(x) + a b x  + a b x
+--R  /
+--R               3   3    3      2   2    2         2 2 3
+--R             4a b x y(x)  + 12a b x y(x)  + (- 12a b x  + 12a b x)y(x)
+--R           + 
+--R                    2 2
+--R             - 12a b x  + 4b
+--R        *
+--R            +-----+
+--R           \|- a b
+--R       + 
+--R            3 2 3    2      2 2 2         2 3 3        2
+--R         12a b x y(x)  + 24a b x y(x) - 4a b x  + 12a b x
+--R    *
+--R             +-----+ 2
+--R          2x\|- a b
+--R       (%e          )
+--R                                                     Type: Expression Integer
+--E 15
+
+--S 16 of 131
+ode105 := x*D(y(x),x) + a*x*y(x)**2 + b*y(x) + c*x + d
+--R
+--R           ,              2
+--R   (16)  xy (x) + a x y(x)  + b y(x) + c x + d
+--R
+--R                                                     Type: Expression Integer
+--E 16
+
+--S 17 of 131
+yx:=solve(ode105,y,x)
+--R   WARNING (genufact): No known algorithm to factor
+--R      3     2       2               2
+--R     ?  - 3?  + (- b  + 2b + 2)? + b  - 2b, trying square-free.
+--R
+--R   (17)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 17
+
+--S 18 of 131
+ode106 := x*D(y(x),x) + x**a*y(x)**2 + (a-b)*y(x)/2 + x**b
+--R
+--R            ,        b        2 a
+--R         2xy (x) + 2x  + 2y(x) x  + (- b + a)y(x)
+--R
+--R   (18)  ----------------------------------------
+--R                             2
+--R                                                     Type: Expression Integer
+--E 18
+
+--S 19 of 131
+yx:=solve(ode106,y,x)
+--R
+--R   (19)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 19
+
+--S 20 of 131
+ode107 := x*D(y(x),x) + a*x**alpha*y(x)**2 + b*y(x) - c*x**beta
+--R
+--R           ,         beta         2 alpha
+--R   (20)  xy (x) - c x     + a y(x) x      + b y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 20
+
+--S 21 of 131
+yx:=solve(ode107,y,x)
+--R
+--R   (21)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 21
+
+--S 22 of 131
+ode108 := x*D(y(x),x) - y(x)**2*log(x) + y(x)
+--R
+--R           ,          2
+--R   (22)  xy (x) - y(x) log(x) + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 22
+
+--S 23 of 131
+yx:=solve(ode108,y,x)
+--R
+--R         - y(x)log(x) - y(x) + 1
+--R   (23)  -----------------------
+--R                  x y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 23
+
+--S 24 of 131
+ode108expr := x*D(yx,x) - yx**2*log(x) + yx
+--R
+--R   (24)
+--R          2 ,          2      3           2               2
+--R       - x y (x) - y(x) log(x)  + (- 2y(x)  + 2y(x))log(x)
+--R
+--R     + 
+--R              2                            2
+--R       (- y(x)  + 2y(x) - 1)log(x) - x y(x)
+--R  /
+--R      2    2
+--R     x y(x)
+--R                                                     Type: Expression Integer
+--E 24
+
+--S 25 of 131
+ode109 := x*D(y(x),x) - y(x)*(2*y(x)*log(x)-1)
+--R
+--R           ,           2
+--R   (25)  xy (x) - 2y(x) log(x) + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 25
+
+--S 26 of 131
+yx:=solve(ode109,y,x)
+--R
+--R         - 2y(x)log(x) - 2y(x) + 1
+--R   (26)  -------------------------
+--R                   x y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 26
+
+--S 27 of 131
+ode109expr := x*D(yx,x) - yx*(2*yx*log(x)-1)
+--R
+--R   (27)
+--R          2 ,           2      3            2               2
+--R       - x y (x) - 8y(x) log(x)  + (- 16y(x)  + 8y(x))log(x)
+--R
+--R     + 
+--R               2                             2
+--R       (- 8y(x)  + 8y(x) - 2)log(x) - 2x y(x)
+--R  /
+--R      2    2
+--R     x y(x)
+--R                                                     Type: Expression Integer
+--E 27
+
+--S 28 of 131
+ode110 := x*D(y(x),x) + f(x)*(y(x)**2-x**2)
+--R
+--R           ,              2    2
+--R   (28)  xy (x) + f(x)y(x)  - x f(x)
+--R
+--R                                                     Type: Expression Integer
+--E 28
+
+--S 29 of 131
+yx:=solve(ode110,y,x)
+--R
+--R   (29)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 29
+
+--S 30 of 131
+ode111 := x*D(y(x),x) + y(x)**3 + 3*x*y(x)**2
+--R
+--R           ,          3          2
+--R   (30)  xy (x) + y(x)  + 3x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 30
+
+--S 31 of 131
+yx:=solve(ode111,y,x)
+--R
+--R   (31)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 31
+
+--S 32 of 131
+ode112 := x*D(y(x),x) - sqrt(y(x)**2 + x**2) - y(x)
+--R
+--R                   +----------+
+--R           ,       |    2    2
+--R   (32)  xy (x) - \|y(x)  + x   - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 32
+
+--S 33 of 131
+yx:=solve(ode112,y,x)
+--R
+--R   (33)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 33
+
+--S 34 of 131
+ode113 := x*D(y(x),x) + a*sqrt(y(x)**2 + x**2) - y(x)
+--R
+--R                    +----------+
+--R           ,        |    2    2
+--R   (34)  xy (x) + a\|y(x)  + x   - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 34
+
+--S 35 of 131
+yx:=solve(ode113,y,x)
+--R
+--R   (35)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 35
+
+--S 36 of 131
+ode114 := x*D(y(x),x) - x*sqrt(y(x)**2 + x**2) - y(x)
+--R
+--R                    +----------+
+--R           ,        |    2    2
+--R   (36)  xy (x) - x\|y(x)  + x   - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 36
+
+--S 37 of 131
+yx:=solve(ode114,y,x)
+--R
+--R   (37)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 37
+
+--S 38 of 131
+ode115 := x*D(y(x),x) - x*(y(x)-x)*sqrt(y(x)**2 + x**2) - y(x)
+--R
+--R                                  +----------+
+--R           ,                   2  |    2    2
+--R   (38)  xy (x) + (- x y(x) + x )\|y(x)  + x   - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 38
+
+--S 39 of 131
+yx:=solve(ode115,y,x)
+--R
+--R   (39)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 39
+
+--S 40 of 131
+ode116 := x*D(y(x),x) - x*sqrt((y(x)**2 - x**2)*(y(x)**2-4*x**2)) - y(x)
+--R
+--R                    +----------------------+
+--R           ,        |    4     2    2     4
+--R   (40)  xy (x) - x\|y(x)  - 5x y(x)  + 4x   - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 40
+
+--S 41 of 131
+yx:=solve(ode116,y,x)
+--R
+--R   (41)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 41
+
+--S 42 of 131
+ode117 := x*D(y(x),x) - x*exp(y(x)/x) - y(x) - x
+--R
+--R                      y(x)
+--R                      ----
+--R           ,            x
+--R   (42)  xy (x) - x %e     - y(x) - x
+--R
+--R                                                     Type: Expression Integer
+--E 42
+
+--S 43 of 131
+yx:=solve(ode117,y,x)
+--R
+--R   (43)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 43
+
+--S 44 of 131
+ode118 := x*D(y(x),x) - y(x)*log(y(x))
+--R
+--R           ,
+--R   (44)  xy (x) - y(x)log(y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 44
+
+--S 45 of 131
+yx:=solve(ode118,y,x)
+--R
+--R               x
+--R   (45)  - ---------
+--R           log(y(x))
+--R                                          Type: Union(Expression Integer,...)
+--E 45
+
+--S 46 of 131
+ode118expr := x*D(yx,x) - yx*log(yx)
+--R
+--R                                  x         2 ,
+--R         x y(x)log(y(x))log(- ---------) + x y (x) - x y(x)log(y(x))
+--R                              log(y(x))
+--R   (46)  -----------------------------------------------------------
+--R                                             2
+--R                                y(x)log(y(x))
+--R                                                     Type: Expression Integer
+--E 46
+
+--S 47 of 131
+ode119 := x*D(y(x),x) - y(x)*(log(x*y(x))-1)
+--R
+--R           ,
+--R   (47)  xy (x) - y(x)log(x y(x)) + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 47
+
+--S 48 of 131
+yx:=solve(ode119,y,x)
+--R
+--R   (48)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 48
+
+--S 49 of 131
+ode120 := x*D(y(x),x) - y(x)*(x*log(x**2/y(x))+2)
+--R
+--R                              2
+--R           ,                 x
+--R   (49)  xy (x) - x y(x)log(----) - 2y(x)
+--R                            y(x)
+--R                                                     Type: Expression Integer
+--E 49
+
+--S 50 of 131
+yx:=solve(ode120,y,x)
+--R
+--R   (50)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 50
+
+--S 51 of 131
+ode121 := x*D(y(x),x) + sin(y(x)-x)
+--R
+--R           ,
+--R   (51)  xy (x) + sin(y(x) - x)
+--R
+--R                                                     Type: Expression Integer
+--E 51
+
+--S 52 of 131
+yx:=solve(ode121,y,x)
+--R
+--R   (52)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 52
+
+--S 53 of 131
+ode122 := x*D(y(x),x) + (sin(y(x))-3*x**2*cos(y(x)))*cos(y(x))
+--R
+--R           ,                             2         2
+--R   (53)  xy (x) + cos(y(x))sin(y(x)) - 3x cos(y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 53
+
+--S 54 of 131
+yx:=solve(ode122,y,x)
+--R
+--R   (54)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 54
+
+--S 55 of 131
+ode123 := x*D(y(x),x) - x*sin(y(x)/x) - y(x)
+--R
+--R           ,            y(x)
+--R   (55)  xy (x) - x sin(----) - y(x)
+--R                          x
+--R                                                     Type: Expression Integer
+--E 55
+
+--S 56 of 131
+yx:=solve(ode123,y,x)
+--R
+--R   (56)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 56
+
+--S 57 of 131
+ode124 := x*D(y(x),x) + x*cos(y(x)/x) - y(x) + x
+--R
+--R           ,            y(x)
+--R   (57)  xy (x) + x cos(----) - y(x) + x
+--R                          x
+--R                                                     Type: Expression Integer
+--E 57
+
+--S 58 of 131
+yx:=solve(ode124,y,x)
+--R
+--R   (58)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 58
+
+--S 59 of 131
+ode125 := x*D(y(x),x) + x*tan(y(x)/x) - y(x)
+--R
+--R           ,            y(x)
+--R   (59)  xy (x) + x tan(----) - y(x)
+--R                          x
+--R                                                     Type: Expression Integer
+--E 59
+
+--S 60 of 131
+yx:=solve(ode125,y,x)
+--R
+--R   (60)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 60
+
+--S 61 of 131
+ode126 := x*D(y(x),x) - y(x)*f(x*y(x))
+--R
+--R           ,
+--R   (61)  xy (x) - y(x)f(x y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 61
+
+--S 62 of 131
+yx:=solve(ode126,y,x)
+--R
+--R   (62)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 62
+
+--S 63 of 131
+ode127 := x*D(y(x),x) - y(x)*f(x**a*y(x)**b)
+--R
+--R                  a    b      ,
+--R   (63)  - y(x)f(x y(x) ) + xy (x)
+--R
+--R                                                     Type: Expression Integer
+--E 63
+
+--S 64 of 131
+yx:=solve(ode127,y,x)
+--R
+--R   (64)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 64
+
+--S 65 of 131
+ode128 := x*D(y(x),x) + a*y(x) - f(x)*g(x**a*y(x))
+--R
+--R           ,                 a
+--R   (65)  xy (x) - f(x)g(y(x)x ) + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 65
+
+--S 66 of 131
+yx:=solve(ode128,y,x)
+--R
+--R   (66)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 66
+
+--S 67 of 131
+ode129 := (x+1)*D(y(x),x) + y(x)*(y(x)-x)
+--R
+--R                 ,          2
+--R   (67)  (x + 1)y (x) + y(x)  - x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 67
+
+--S 68 of 131
+yx:=solve(ode129,y,x)
+--R
+--R                              x
+--R                        - x ++              1
+--I         (- x - 1)y(x)%e    |   ------------------------ d%BH  + 1
+--I                           ++       2              - %BH
+--I                                (%BH  + 2%BH + 1)%e
+--R   (68)  ---------------------------------------------------------
+--R                                           - x
+--R                              (x + 1)y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 68
+
+--S 69 of 131
+ode130 := 2*x*D(y(x),x) - y(x) -2*x**3
+--R
+--R            ,               3
+--R   (69)  2xy (x) - y(x) - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 69
+
+--S 70 of 131
+ode130a:=solve(ode130,y,x)
+--R
+--R                        3
+--R                      2x           +-+
+--R   (70)  [particular= ---,basis= [\|x ]]
+--R                       5
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 70
+
+--S 71 of 131
+yx:=ode130a.particular
+--R
+--R           3
+--R         2x
+--R   (71)  ---
+--R          5
+--R                                                     Type: Expression Integer
+--E 71
+
+--S 72 of 131
+ode130expr := 2*x*D(yx,x) - yx -2*x**3
+--R
+--R   (72)  0
+--R                                                     Type: Expression Integer
+--E 72
+
+--S 73 of 131
+ode131 := (2*x+1)*D(y(x),x) - 4*exp(-y(x)) + 2
+--R
+--R                  ,         - y(x)
+--R   (73)  (2x + 1)y (x) - 4%e       + 2
+--R
+--R                                                     Type: Expression Integer
+--E 73
+
+--S 74 of 131
+yx:=solve(ode131,y,x)
+--R
+--R                 - y(x)            y(x)
+--R   (74)  (- 4x %e       + 2x + 1)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 74
+
+--S 75 of 131
+ode131expr := (2*x+1)*D(yx,x) - 4*exp(-yx) + 2
+--R
+--R   (75)
+--R                - y(x)            y(x)
+--R          (4x %e       - 2x - 1)%e          2            y(x) ,
+--R     - 4%e                             + (4x  + 4x + 1)%e    y (x)
+--R
+--R   + 
+--R                  - y(x)            y(x)
+--R     ((- 8x - 4)%e       + 4x + 2)%e     + 2
+--R                                                     Type: Expression Integer
+--E 75
+
+--S 76 of 131
+ode132 := 3*x*D(y(x),x) - 3*x*log(x)*y(x)**4 - y(x)
+--R
+--R            ,             4
+--R   (76)  3xy (x) - 3x y(x) log(x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 76
+
+--S 77 of 131
+yx:=solve(ode132,y,x)
+--R
+--R             2    3           2    3
+--R         - 6x y(x) log(x) + 3x y(x)  - 4x
+--R   (77)  --------------------------------
+--R                           3
+--R                      4y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 77
+
+--S 78 of 131
+ode132expr := 3*x*D(yx,x) - 3*x*log(x)*yx**4 - yx
+--R
+--R   (78)
+--R            2    8 ,           9    12      5
+--R       2304x y(x) y (x) - 3888x y(x)  log(x)
+--R
+--R     + 
+--R             9    12         8    9       4
+--R       (7776x y(x)   - 10368x y(x) )log(x)
+--R     + 
+--R               9    12         8    9         7    6       3
+--R       (- 5832x y(x)   + 15552x y(x)  - 10368x y(x) )log(x)
+--R     + 
+--R             9    12        8    9         7    6        6    3       2
+--R       (1944x y(x)   - 7776x y(x)  + 10368x y(x)  - 4608x y(x) )log(x)
+--R     + 
+--R                  9        2     12        8    9        7    6        6    3
+--R           (- 243x  - 1920x )y(x)   + 1296x y(x)  - 2592x y(x)  + 2304x y(x)
+--R         + 
+--R                 5
+--R           - 768x
+--R      *
+--R         log(x)
+--R     + 
+--R             2    12            9
+--R       - 192x y(x)   - 512x y(x)
+--R  /
+--R            12
+--R     256y(x)
+--R                                                     Type: Expression Integer
+--E 78
+
+--S 79 of 131
+ode133 := x**2*D(y(x),x) + y(x) - x
+--R
+--R          2 ,
+--R   (79)  x y (x) + y(x) - x
+--R
+--R                                                     Type: Expression Integer
+--E 79
+
+--S 80 of 131
+yx:=solve(ode133,y,x)
+--R
+--R                        1                               1
+--R                        -   x                           -
+--R                        x ++      1                     x
+--I   (80)  [particular= %e  |   --------- d%BH ,basis= [%e ]]
+--R                         ++          1
+--R                                    ---
+--I                                    %BH
+--I                              %BH %e
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 80
+
+--S 81 of 131
+ode134 := x**2*D(y(x),x) - y(x) + x**2*exp(x-1/x)
+--R
+--R                        2
+--R                       x  - 1
+--R                       ------
+--R          2 ,       2     x
+--R   (81)  x y (x) + x %e       - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 81
+
+--S 82 of 131
+ode134a:=solve(ode134,y,x)
+--R
+--R                           2
+--R                          x  - 1             1
+--R                          ------           - -
+--R                             x               x
+--R   (82)  [particular= - %e      ,basis= [%e   ]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 82
+
+--S 83 of 131
+yx:=ode134a.particular
+--R
+--R              2
+--R             x  - 1
+--R             ------
+--R                x
+--R   (83)  - %e
+--R                                                     Type: Expression Integer
+--E 83
+
+--S 84 of 131
+ode134expr := x**2*D(yx,x) - yx + x**2*exp(x-1/x)
+--R
+--R   (84)  0
+--R                                                     Type: Expression Integer
+--E 84
+
+--S 85 of 131
+ode135 := x**2*D(y(x),x) - (x-1)*y(x)
+--R
+--R          2 ,
+--R   (85)  x y (x) + (- x + 1)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 85
+
+--S 86 of 131
+ode135a:=solve(ode135,y,x)
+--R
+--R                                    1
+--R                                    -
+--R                                    x
+--R   (86)  [particular= 0,basis= [x %e ]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 86
+
+--S 87 of 131
+yx:=ode135a.particular
+--R
+--R   (87)  0
+--R                                                     Type: Expression Integer
+--E 87
+
+--S 88 of 131
+ode135expr := x**2*D(yx,x) - (x-1)*yx
+--R
+--R   (88)  0
+--R                                                     Type: Expression Integer
+--E 88
+
+--S 89 of 131
+ode136 := x**2*D(y(x),x) + y(x)**2 + x*y(x) + x**2
+--R
+--R          2 ,          2             2
+--R   (89)  x y (x) + y(x)  + x y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 89
+
+--S 90 of 131
+yx:=solve(ode136,y,x)
+--R
+--R         (- y(x) - x)log(x) + x
+--R   (90)  ----------------------
+--R                y(x) + x
+--R                                          Type: Union(Expression Integer,...)
+--E 90
+
+--S 91 of 131
+ode136expr := x**2*D(yx,x) + yx**2 + x*yx + x**2
+--R
+--R   (91)
+--R          3 ,           2              2       2
+--R       - x y (x) + (y(x)  + 2x y(x) + x )log(x)
+--R
+--R     + 
+--R                2        2              3     2            2         2     3
+--R       (- x y(x)  + (- 2x  - 2x)y(x) - x  - 2x )log(x) + (x  - x)y(x)  + 2x y(x)
+--R     + 
+--R        4    2
+--R       x  + x
+--R  /
+--R         2              2
+--R     y(x)  + 2x y(x) + x
+--R                                                     Type: Expression Integer
+--E 91
+
+--S 92 of 131
+ode137 := x**2*D(y(x),x) - y(x)**2 - x*y(x)
+--R
+--R          2 ,          2
+--R   (92)  x y (x) - y(x)  - x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 92
+
+--S 93 of 131
+yx:=solve(ode137,y,x)
+--R
+--R         y(x)log(x) + x
+--R   (93)  --------------
+--R              y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 93
+
+--S 94 of 131
+ode137expr := x**2*D(yx,x) - yx**2 - x*yx
+--R
+--R            3 ,          2      2            2                          2    2
+--R         - x y (x) - y(x) log(x)  + (- x y(x)  - 2x y(x))log(x) + x y(x)  - x
+--R
+--R   (94)  ---------------------------------------------------------------------
+--R                                             2
+--R                                         y(x)
+--R                                                     Type: Expression Integer
+--E 94
+
+--S 95 of 131
+ode138 := x**2*D(y(x),x) - y(x)**2 - x*y(x) - x**2
+--R
+--R          2 ,          2             2
+--R   (95)  x y (x) - y(x)  - x y(x) - x
+--R
+--R                                                     Type: Expression Integer
+--E 95
+
+--S 96 of 131
+yx:=solve(ode138,y,x)
+--R
+--R                         +---+               +---+
+--R                    (- 7\|- 1  + 9)y(x) + 9x\|- 1  + 7x
+--R   (96)  --------------------------------------------------------
+--R                                                      +---+
+--R              +---+                 +---+         - 2\|- 1 log(x)
+--R         ((18\|- 1  + 14)y(x) - 14x\|- 1  + 18x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 96
+
+--S 97 of 131
+ode138expr := x**2*D(yx,x) - yx**2 - x*yx - x**2
+--R
+--R   (97)
+--R                  3 +---+        3             4 +---+        4
+--R         ((- 1188x \|- 1  + 2716x )y(x) - 2716x \|- 1  - 1188x )
+--R      *
+--R               +---+
+--R           - 2\|- 1 log(x) ,
+--R         %e               y (x)
+--R
+--R     + 
+--R                   2 +---+        2     3           3 +---+        3     2
+--R           (- 1188x \|- 1  + 2716x )y(x)  + (- 8148x \|- 1  - 3564x )y(x)
+--R         + 
+--R                 4 +---+        4             5 +---+        5
+--R           (3564x \|- 1  - 8148x )y(x) + 2716x \|- 1  + 1188x
+--R      *
+--R                +---+       2
+--R            - 2\|- 1 log(x)
+--R         (%e               )
+--R     + 
+--R                   +---+             3         2 +---+        2     2
+--R           (- 170x\|- 1  - 3310x)y(x)  + (4498x \|- 1  - 2886x )y(x)
+--R         + 
+--R                 3 +---+        3             4 +---+       4
+--R           (2546x \|- 1  - 2122x )y(x) + 3310x \|- 1  - 170x
+--R      *
+--R               +---+
+--R           - 2\|- 1 log(x)
+--R         %e
+--R     + 
+--R            +---+           3           +---+            2
+--R       (297\|- 1  - 679)y(x)  + (- 679x\|- 1  - 297x)y(x)
+--R     + 
+--R            2 +---+       2            3 +---+       3
+--R       (297x \|- 1  - 679x )y(x) - 679x \|- 1  - 297x
+--R  /
+--R               +---+            3          +---+             2
+--R         (1188\|- 1  - 2716)y(x)  + (8148x\|- 1  + 3564x)y(x)
+--R       + 
+--R                 2 +---+        2             3 +---+        3
+--R         (- 3564x \|- 1  + 8148x )y(x) - 2716x \|- 1  - 1188x
+--R    *
+--R              +---+       2
+--R          - 2\|- 1 log(x)
+--R       (%e               )
+--R                                                     Type: Expression Integer
+--E 97
+
+--S 98 of 131
+ode139 := x**2*(D(y(x),x)+y(x)**2) + a*x**k - b*(b-1)
+--R
+--R          2 ,         k    2    2    2
+--R   (98)  x y (x) + a x  + x y(x)  - b  + b
+--R
+--R                                                     Type: Expression Integer
+--E 98
+
+--S 99 of 131
+yx:=solve(ode139,y,x)
+--R
+--R   (99)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 99
+
+--S 100 of 131
+ode140 := x**2*(D(y(x),x)+y(x)**2) + 4*x*y(x) + 2
+--R
+--R           2 ,       2    2
+--R   (100)  x y (x) + x y(x)  + 4x y(x) + 2
+--R
+--R                                                     Type: Expression Integer
+--E 100
+
+--S 101 of 131
+yx:=solve(ode140,y,x)
+--R
+--R               x y(x) + 2
+--R   (101)  --------------------
+--R            2
+--R          (x  - x)y(x) + x - 2
+--R                                          Type: Union(Expression Integer,...)
+--E 101
+
+--S 102 of 131
+ode140expr := x**2*(D(yx,x)+yx**2) + 4*x*yx + 2
+--R
+--R   (102)
+--R      4 ,         4     3     2     2       3      2                2
+--R   - x y (x) + (6x  - 8x  + 2x )y(x)  + (16x  - 28x  + 8x)y(x) + 12x  - 24x + 8
+--R
+--R   ----------------------------------------------------------------------------
+--R               4     3    2     2      3     2              2
+--R             (x  - 2x  + x )y(x)  + (2x  - 6x  + 4x)y(x) + x  - 4x + 4
+--R                                                     Type: Expression Integer
+--E 102
+
+--S 103 of 131
+ode141 := x**2*(D(y(x),x)+y(x)**2) + a*x*y(x) + b
+--R
+--R           2 ,       2    2
+--R   (103)  x y (x) + x y(x)  + a x y(x) + b
+--R
+--R                                                     Type: Expression Integer
+--E 103
+
+--S 104 of 131
+yx:=solve(ode141,y,x)
+--R                                                     2
+--R   WARNING (genufact): No known algorithm to factor ?  + (a - 1)? + b
+--R     , trying square-free.
+--R
+--R   (104)
+--R      +------------------+
+--R      |        2
+--R     \|- 4b + a  - 2a + 1  - 2x y(x) - a + 1
+--R  /
+--R                          +------------------+
+--R                          |        2                   2
+--R       ((2x y(x) + a - 1)\|- 4b + a  - 2a + 1  - 4b + a  - 2a + 1)
+--R    *
+--R                  +------------------+
+--R                  |        2
+--R         - log(x)\|- 4b + a  - 2a + 1
+--R       %e
+--R                                          Type: Union(Expression Integer,...)
+--E 104
+
+--S 105 of 131
+ode141expr := x**2*(D(yx,x)+yx**2) + a*x*yx + b
+--R
+--R   (105)
+--R                        2           4                       3     2           3
+--R             ((- 8b + 2a  - 4a + 2)x y(x) + ((- 4a + 4)b + a  - 3a  + 3a - 1)x )
+--R          *
+--R              +------------------+
+--R              |        2
+--R             \|- 4b + a  - 2a + 1
+--R         + 
+--R               2        2                4     3     2           3
+--R           (16b  + (- 8a  + 16a - 8)b + a  - 4a  + 6a  - 4a + 1)x
+--R      *
+--R                    +------------------+
+--R                    |        2
+--R           - log(x)\|- 4b + a  - 2a + 1  ,
+--R         %e                             y (x)
+--R
+--R     + 
+--R                  2        2             3    3
+--R               (8b  + (- 2a  + 4a - 2)b)x y(x)
+--R             + 
+--R                           2        3     2             2    2
+--R               ((12a - 12)b  + (- 3a  + 9a  - 9a + 3)b)x y(x)
+--R             + 
+--R                          3       2             2
+--R                     - 24b  + (18a  - 36a + 18)b
+--R                   + 
+--R                          4      3      2
+--R                     (- 3a  + 12a  - 18a  + 12a - 3)b
+--R              *
+--R                 x y(x)
+--R             + 
+--R                            3      3      2            2
+--R               (- 12a + 12)b  + (7a  - 21a  + 21a - 7)b
+--R             + 
+--R                   5     4      3      2
+--R               (- a  + 5a  - 10a  + 10a  - 5a + 1)b
+--R          *
+--R              +------------------+
+--R              |        2
+--R             \|- 4b + a  - 2a + 1
+--R         + 
+--R                   3       2             2        4      3      2              2
+--R             (- 48b  + (24a  - 48a + 24)b  + (- 3a  + 12a  - 18a  + 12a - 3)b)x
+--R          *
+--R                 2
+--R             y(x)
+--R         + 
+--R                            3       3      2             2
+--R               (- 48a + 48)b  + (24a  - 72a  + 72a - 24)b
+--R             + 
+--R                    5      4      3      2
+--R               (- 3a  + 15a  - 30a  + 30a  - 15a + 3)b
+--R          *
+--R             x y(x)
+--R         + 
+--R              4         2             3      4      3      2            2
+--R           16b  + (- 24a  + 48a - 24)b  + (9a  - 36a  + 54a  - 36a + 9)b
+--R         + 
+--R               6     5      4      3      2
+--R           (- a  + 6a  - 15a  + 20a  - 15a  + 6a - 1)b
+--R      *
+--R                     +------------------+ 2
+--R                     |        2
+--R            - log(x)\|- 4b + a  - 2a + 1
+--R         (%e                             )
+--R     + 
+--R                         2           4    3
+--R               (- 8b + 2a  - 4a + 2)x y(x)
+--R             + 
+--R                                 3     2           3    2
+--R               ((- 16a + 4)b + 4a  - 9a  + 6a - 1)x y(x)
+--R             + 
+--R                    2        2                4     3     2       2
+--R               (- 8b  + (- 6a  + 4a + 2)b + 2a  - 6a  + 6a  - 2a)x y(x)
+--R             + 
+--R                           2      3     2
+--R               ((- 8a + 4)b  + (2a  - 5a  + 4a - 1)b)x
+--R          *
+--R              +------------------+
+--R              |        2
+--R             \|- 4b + a  - 2a + 1
+--R         + 
+--R                       3     2       4    3
+--R           (- 8a b + 2a  - 4a  + 2a)x y(x)
+--R         + 
+--R               2         2                 4      3      2           3    2
+--R           (16b  + (- 20a  + 28a - 8)b + 4a  - 13a  + 15a  - 7a + 1)x y(x)
+--R         + 
+--R                2         3      2             5     4      3     2       2
+--R           (8a b  + (- 10a  + 20a  - 10a)b + 2a  - 8a  + 12a  - 8a  + 2a)x y(x)
+--R         + 
+--R               3         2            2      4     3     2
+--R           (16b  + (- 12a  + 20a - 8)b  + (2a  - 7a  + 9a  - 5a + 1)b)x
+--R      *
+--R                    +------------------+
+--R                    |        2
+--R           - log(x)\|- 4b + a  - 2a + 1
+--R         %e
+--R     + 
+--R               5    3              4    2            2           3
+--R           - 2x y(x)  + (- 3a + 3)x y(x)  + (- 2b - a  + 2a - 1)x y(x)
+--R         + 
+--R                       2
+--R           (- a + 1)b x
+--R      *
+--R          +------------------+
+--R          |        2
+--R         \|- 4b + a  - 2a + 1
+--R     + 
+--R                2           4    2                   3     2           3
+--R       (- 4b + a  - 2a + 1)x y(x)  + ((- 4a + 4)b + a  - 3a  + 3a - 1)x y(x)
+--R     + 
+--R            2     2             2
+--R       (- 4b  + (a  - 2a + 1)b)x
+--R  /
+--R                     2           3    3
+--R             (8b - 2a  + 4a - 2)x y(x)
+--R           + 
+--R                              3     2           2    2
+--R             ((12a - 12)b - 3a  + 9a  - 9a + 3)x y(x)
+--R           + 
+--R                   2       2                  4      3      2
+--R             (- 24b  + (18a  - 36a + 18)b - 3a  + 12a  - 18a  + 12a - 3)x y(x)
+--R           + 
+--R                          2      3      2                5     4      3      2
+--R             (- 12a + 12)b  + (7a  - 21a  + 21a - 7)b - a  + 5a  - 10a  + 10a
+--R           + 
+--R             - 5a + 1
+--R        *
+--R            +------------------+
+--R            |        2
+--R           \|- 4b + a  - 2a + 1
+--R       + 
+--R               2       2                  4      3      2            2    2
+--R         (- 48b  + (24a  - 48a + 24)b - 3a  + 12a  - 18a  + 12a - 3)x y(x)
+--R       + 
+--R                          2       3      2                  5      4      3
+--R             (- 48a + 48)b  + (24a  - 72a  + 72a - 24)b - 3a  + 15a  - 30a
+--R           + 
+--R                2
+--R             30a  - 15a + 3
+--R        *
+--R           x y(x)
+--R       + 
+--R            3         2             2      4      3      2                6
+--R         16b  + (- 24a  + 48a - 24)b  + (9a  - 36a  + 54a  - 36a + 9)b - a
+--R       + 
+--R           5      4      3      2
+--R         6a  - 15a  + 20a  - 15a  + 6a - 1
+--R    *
+--R                   +------------------+ 2
+--R                   |        2
+--R          - log(x)\|- 4b + a  - 2a + 1
+--R       (%e                             )
+--R                                                     Type: Expression Integer
+--E 105
+
+--S 106 of 131
+ode142 := x**2*(D(y(x),x)-y(x)**2) - a*x**2*y(x) + a*x + 2
+--R
+--R           2 ,       2    2      2
+--R   (106)  x y (x) - x y(x)  - a x y(x) + a x + 2
+--R
+--R                                                     Type: Expression Integer
+--E 106
+
+--S 107 of 131
+yx:=solve(ode142,y,x)
+--R
+--R            2 3       2              3 3    2 2
+--R          (a x  - 2a x  + 2x)y(x) + a x  - a x  + 2a x - 2
+--R   (107)  ------------------------------------------------
+--R                         3          3   - a x
+--R                       (a x y(x) - a )%e
+--R                                          Type: Union(Expression Integer,...)
+--E 107
+
+--S 108 of 131
+ode142expr := x**2*(D(yx,x)-yx**2) - a*x**2*yx + a*x + 2
+--R
+--R   (108)
+--R          6 6  - a x ,
+--R       - a x %e     y (x)
+--R
+--R     + 
+--R          7 3     6 2     2        7 2     6          7      6    - a x 2
+--R       ((a x  + 2a x )y(x)  + (- 2a x  - 4a x)y(x) + a x + 2a )(%e     )
+--R     + 
+--R              5 5     4 4     2      6 5     5 4     4 3          6 4     5 3
+--R           (2a x  - 2a x )y(x)  + (2a x  - 4a x  + 4a x )y(x) - 3a x  + 2a x
+--R         + 
+--R               4 2
+--R           - 2a x
+--R      *
+--R           - a x
+--R         %e
+--R     + 
+--R           4 8     3 7     2 6       5     4     2
+--R       (- a x  + 4a x  - 8a x  + 8a x  - 4x )y(x)
+--R     + 
+--R            5 8     4 7      3 6      2 5        4     3         6 8     5 7
+--R       (- 2a x  + 6a x  - 12a x  + 16a x  - 16a x  + 8x )y(x) - a x  + 2a x
+--R     + 
+--R           4 6     3 5     2 4       3     2
+--R       - 5a x  + 8a x  - 8a x  + 8a x  - 4x
+--R  /
+--R       6 2    2     6          6    - a x 2
+--R     (a x y(x)  - 2a x y(x) + a )(%e     )
+--R                                                     Type: Expression Integer
+--E 108
+
+--S 109 of 131
+ode143 := x**2*(D(y(x),x)+a*y(x)**2) - b
+--R
+--R           2 ,         2    2
+--R   (109)  x y (x) + a x y(x)  - b
+--R
+--R                                                     Type: Expression Integer
+--E 109
+
+--S 110 of 131
+yx:=solve(ode143,y,x)
+--R                                                     2
+--R   WARNING (genufact): No known algorithm to factor ?  - ? - a b
+--R     , trying square-free.
+--R
+--R                            +--------+     2
+--R                          a\|4a b + 1  - 2a x y(x) + a
+--R   (110)  ------------------------------------------------------------
+--R                                                            +--------+
+--R                           +--------+              - log(x)\|4a b + 1
+--R          ((2a x y(x) - 1)\|4a b + 1  + 4a b + 1)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 110
+
+--S 111 of 131
+ode143expr := x**2*(D(yx,x)+a*yx**2) - b
+--R
+--R   (111)
+--R                                  +--------+
+--R            3      2  3  - log(x)\|4a b + 1  ,
+--R       (- 8a b - 2a )x %e                   y (x)
+--R
+--R     + 
+--R                 2 2                     2      +--------+
+--R           ((- 8a b  - 2a b)x y(x) + 4a b  + b)\|4a b + 1
+--R         + 
+--R                3 2     2   2    2      2 2                   2 3       2
+--R           (- 8a b  - 2a b)x y(x)  + (8a b  + 2a b)x y(x) - 8a b  - 6a b  - b
+--R      *
+--R                     +--------+ 2
+--R            - log(x)\|4a b + 1
+--R         (%e                   )
+--R     + 
+--R                                                           +--------+
+--R             4      3  3    2      3 2     2      - log(x)\|4a b + 1
+--R       ((- 8a b - 2a )x y(x)  + (8a b  + 2a b)x)%e
+--R     + 
+--R            4 3        3 2  +--------+     5 4    2     4 3          4     3  2
+--R       (- 2a x y(x) + a x )\|4a b + 1  + 2a x y(x)  - 2a x y(x) + (2a b + a )x
+--R  /
+--R             2                          +--------+      3      2  2    2
+--R         ((8a b + 2a)x y(x) - 4a b - 1)\|4a b + 1  + (8a b + 2a )x y(x)
+--R       + 
+--R              2                  2 2
+--R         (- 8a b - 2a)x y(x) + 8a b  + 6a b + 1
+--R    *
+--R                   +--------+ 2
+--R          - log(x)\|4a b + 1
+--R       (%e                   )
+--R                                                     Type: Expression Integer
+--E 111
+
+--S 112 of 131
+ode144 := x**2*(D(y(x),x)+a*y(x)**2) + b*x**alpha + c
+--R
+--R           2 ,         alpha      2    2
+--R   (112)  x y (x) + b x      + a x y(x)  + c
+--R
+--R                                                     Type: Expression Integer
+--E 112
+
+--S 113 of 131
+yx:=solve(ode144,y,x)
+--R
+--R   (113)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 113
+
+--S 114 of 131
+ode145 := x**2*D(y(x),x) + a*y(x)**3 - a*x**2*y(x)**2
+--R
+--R           2 ,            3      2    2
+--R   (114)  x y (x) + a y(x)  - a x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 114
+
+--S 115 of 131
+yx:=solve(ode145,y,x)
+--R
+--R   (115)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 115
+
+--S 116 of 131
+ode146 := x**2*D(y(x),x) + x*y(x)**3 + a*y(x)**2
+--R
+--R           2 ,            3         2
+--R   (116)  x y (x) + x y(x)  + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 116
+
+--S 117 of 131
+yx:=solve(ode146,y,x)
+--R
+--R   (117)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 117
+
+--S 118 of 131
+ode147 := x**2*D(y(x),x) + a*x**2*y(x)**3 + b*y(x)**2
+--R
+--R           2 ,         2    3         2
+--R   (118)  x y (x) + a x y(x)  + b y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 118
+
+--S 119 of 131
+yx:=solve(ode147,y,x)
+--R
+--R   (119)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 119
+
+--S 120 of 131
+ode148 := (x**2+1)*D(y(x),x) + x*y(x) - 1
+--R
+--R            2      ,
+--R   (120)  (x  + 1)y (x) + x y(x) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 120
+
+--S 121 of 131
+ode148a:=solve(ode148,y,x)
+--R
+--R                              +------+
+--R                              | 2
+--R                         log(\|x  + 1  - x)             1
+--R   (121)  [particular= - ------------------,basis= [---------]]
+--R                               +------+              +------+
+--R                               | 2                   | 2
+--R                              \|x  + 1              \|x  + 1
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 121
+
+--S 122 of 131
+yx:=ode148a.particular
+--R
+--R                 +------+
+--R                 | 2
+--R            log(\|x  + 1  - x)
+--R   (122)  - ------------------
+--R                  +------+
+--R                  | 2
+--R                 \|x  + 1
+--R                                                     Type: Expression Integer
+--E 122
+
+--S 123 of 131
+ode148expr := (x**2+1)*D(yx,x) + x*yx - 1
+--R
+--R   (123)  0
+--R                                                     Type: Expression Integer
+--E 123
+
+--S 124 of 131
+ode149 := (x**2+1)*D(y(x),x) + x*y(x) - x*(x**2+1)
+--R
+--R            2      ,                3
+--R   (124)  (x  + 1)y (x) + x y(x) - x  - x
+--R
+--R                                                     Type: Expression Integer
+--E 124
+
+--S 125 of 131
+ode149a:=solve(ode149,y,x)
+--R
+--R                        2
+--R                       x  + 1             1
+--R   (125)  [particular= ------,basis= [---------]]
+--R                          3            +------+
+--R                                       | 2
+--R                                      \|x  + 1
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 125
+
+--S 126 of 131
+yx:=ode149a.particular
+--R
+--R           2
+--R          x  + 1
+--R   (126)  ------
+--R             3
+--R                                                     Type: Expression Integer
+--E 126
+
+--S 127 of 131
+ode149expr := (x**2+1)*D(yx,x) + x*yx - x*(x**2+1)
+--R
+--R   (127)  0
+--R                                                     Type: Expression Integer
+--E 127
+
+--S 128 of 131
+ode150 := (x**2+1)*D(y(x),x) + 2*x*y(x) - 2*x**2
+--R
+--R            2      ,                  2
+--R   (128)  (x  + 1)y (x) + 2x y(x) - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 128
+
+--S 129 of 131
+ode150a:=solve(ode150,y,x)
+--R
+--R                         3
+--R                       2x  + 3            1
+--R   (129)  [particular= -------,basis= [------]]
+--R                         2              2
+--R                       3x  + 3         x  + 1
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 129
+
+--S 130 of 131
+yx:=ode150a.particular
+--R
+--R            3
+--R          2x  + 3
+--R   (130)  -------
+--R            2
+--R          3x  + 3
+--R                                                     Type: Expression Integer
+--E 130
+
+--S 131 of 131
+ode150expr := (x**2+1)*D(yx,x) + 2*x*yx - 2*x**2
+--R
+--R   (131)  0
+--R                                                     Type: Expression Integer
+--E 131
+)spool
+)lisp (bye)
+ 
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} {\bf http://www.cs.uwaterloo.ca/$\tilde{}$ecterrab/odetools.html}
+\end{thebibliography}
+\end{document}

\start
Date: Fri, 5 Oct 2007 02:23:32 -0500
From: Tim Daly
To: list
Subject: 20071005.02.tpd.patch

This patch adds Axiom regression tests of Kamke ODEs 151-200
======================================================================
diff --git a/changelog b/changelog
index c71345c..2e818cc 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071005 tpd src/input/Makefile kamke3.input regression test added
+20071005 tpd src/input/kamke3.input ODE regression test added
 20071004 tpd src/input/Makefile kamke2.input regression test added
 20071004 tpd src/input/kamke2.input ODE regression test added
 20071004 tpd src/input/Makefile kamke1.input regression test added
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index 1bfbcc1..1bda3be 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -322,7 +322,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     intmix2.regress   intmix.regress   int.regress      intrf.regress \
     iprntpk.regress \
     ipftest.regress   is.regress       isprime.regress  kafile.regress \
-    kamke0.regress    kamke1.regress   kamke2.regress \
+    kamke0.regress    kamke1.regress   kamke2.regress   kamke3.regress \
     kernel.regress    knot2.regress    kovacic.regress  kuipers.regress \
     laplace.regress   leg.regress      limit.regress    lindep.regress \
     list.regress      lode.regress     lodesys.regress  lodo1.regress \
@@ -562,7 +562,7 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/intlf.input    ${OUT}/intmix.input     ${OUT}/intrf.input \
        ${OUT}/ipftest.input  ${OUT}/is.input         ${OUT}/isprime.input \
        ${OUT}/kafile.input   ${OUT}/kamke0.input     ${OUT}/kamke1.input \
-       ${OUT}/kamke2.input \
+       ${OUT}/kamke2.input   ${OUT}/kamke3.input \
        ${OUT}/kernel.input   ${OUT}/knot.input \
        ${OUT}/kovacic.input  ${OUT}/kuipers.input  \
        ${OUT}/laplace.input  ${OUT}/leg.input        ${OUT}/lexp.input \
@@ -829,7 +829,7 @@ DOCFILES= \
   ${DOC}/ipftest.input.dvi     ${DOC}/is.input.dvi         \
   ${DOC}/isprime.input.dvi     ${DOC}/kafile.input.dvi     \
   ${DOC}/kamke0.input.dvi      ${DOC}/kamke1.input.dvi     \
-  ${DOC}/kamke2.input.dvi     \
+  ${DOC}/kamke2.input.dvi      ${DOC}/kamke3.input.dvi     \
   ${DOC}/kernel.input.dvi      ${DOC}/knot2.input.dvi      \
   ${DOC}/knot.input.dvi        ${DOC}/knownbugs.input.dvi  \
   ${DOC}/kovacic.input.dvi     ${DOC}/kuipers.input.dvi    \
diff --git a/src/input/kamke3.input.pamphlet b/src/input/kamke3.input.pamphlet
new file mode 100644
index 0000000..2d9ac94
--- /dev/null
+++ b/src/input/kamke3.input.pamphlet
@@ -0,0 +1,2682 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kamke3.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+This is the first 50 of the Kamke test suite as published by 
+E. S. Cheb-Terrab\cite{1}. They have been rewritten using Axiom
+syntax. Where possible we show that the particular solution actually
+satisfies the original ordinary differential equation.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)spool kamke3.output
+)set break resume
+)set mes auto off
+)clear all
+
+--S 1 of 139
+y:=operator 'y
+--R 
+--R
+--R   (1)  y
+--R                                                          Type: BasicOperator
+--E 1
+
+--S 2 of 139
+ode151 := (x**2+1)*D(y(x),x) + (y(x)**2+1)*(2*x*y(x) - 1)
+--R 
+--R
+--R          2      ,             3       2
+--R   (2)  (x  + 1)y (x) + 2x y(x)  - y(x)  + 2x y(x) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 2
+
+--S 3 of 139
+ode151a:=solve(ode151,y,x)
+--R 
+--R
+--R   (3)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 3
+
+--S 4 of 139
+ode152 := (x**2+1)*D(y(x),x) + x*sin(y(x))*cos(y(x)) - x*(x**2+1)*cos(y(x))**2
+--R 
+--R
+--R          2      ,                                 3              2
+--R   (4)  (x  + 1)y (x) + x cos(y(x))sin(y(x)) + (- x  - x)cos(y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 4
+
+--S 5 of 139
+ode152a:=solve(ode152,y,x)
+--R 
+--R
+--R   (5)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 5
+
+--S 6 of 139
+ode153 := (x**2-1)*D(y(x),x) - x*y(x) + a
+--R 
+--R
+--R          2      ,
+--R   (6)  (x  - 1)y (x) - x y(x) + a
+--R
+--R                                                     Type: Expression Integer
+--E 6
+
+--S 7 of 139
+ode153a:=solve(ode153,y,x)
+--R 
+--R
+--R                                  +------+
+--R                                  | 2
+--R   (7)  [particular= a x,basis= [\|x  - 1 ]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 7
+
+--S 8 of 139
+yx:=ode153a.particular
+--R 
+--R
+--R   (8)  a x
+--R                                                     Type: Expression Integer
+--E 8
+
+--S 9 of 139
+ode153expr := (x**2-1)*D(yx,x) - x*yx + a
+--R 
+--R
+--R   (9)  0
+--R                                                     Type: Expression Integer
+--E 9
+
+--S 10 of 139
+ode154 := (x**2-1)*D(y(x),x) + 2*x*y(x) - cos(x)
+--R 
+--R
+--R           2      ,
+--R   (10)  (x  - 1)y (x) - cos(x) + 2x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 10
+
+--S 11 of 139
+ode154a:=solve(ode154,y,x)
+--R 
+--R
+--R                      sin(x)            1
+--R   (11)  [particular= ------,basis= [------]]
+--R                       2              2
+--R                      x  - 1         x  - 1
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 11
+
+--S 12 of 139
+yx:=ode154a.particular
+--R 
+--R
+--R         sin(x)
+--R   (12)  ------
+--R          2
+--R         x  - 1
+--R                                                     Type: Expression Integer
+--E 12
+
+--S 13 of 139
+ode154expr := (x**2-1)*D(yx,x) + 2*x*yx - cos(x)
+--R 
+--R
+--R   (13)  0
+--R                                                     Type: Expression Integer
+--E 13
+
+--S 14 of 139
+ode155 := (x**2-1)*D(y(x),x) + y(x)**2 - 2*x*y(x) + 1
+--R 
+--R
+--R           2      ,          2
+--R   (14)  (x  - 1)y (x) + y(x)  - 2x y(x) + 1
+--R
+--R                                                     Type: Expression Integer
+--E 14
+
+--S 15 of 139
+yx:=solve(ode155,y,x)
+--R 
+--R
+--R         (y(x) - x)log(x + 1) + (- y(x) + x)log(x - 1) + 2
+--R   (15)  -------------------------------------------------
+--R                             2y(x) - 2x
+--R                                          Type: Union(Expression Integer,...)
+--E 15
+
+--S 16 of 139
+ode155expr := (x**2-1)*D(yx,x) + yx**2 - 2*x*yx + 1
+--R 
+--R
+--R   (16)
+--R            2      ,           2              2           2
+--R       (- 4x  + 4)y (x) + (y(x)  - 2x y(x) + x )log(x + 1)
+--R
+--R     + 
+--R                   2               2                     2      2              3
+--R           (- 2y(x)  + 4x y(x) - 2x )log(x - 1) - 4x y(x)  + (8x  + 4)y(x) - 4x
+--R         + 
+--R           - 4x
+--R      *
+--R         log(x + 1)
+--R     + 
+--R            2              2           2
+--R       (y(x)  - 2x y(x) + x )log(x - 1)
+--R     + 
+--R               2        2              3                                2
+--R       (4x y(x)  + (- 8x  - 4)y(x) + 4x  + 4x)log(x - 1) - 8x y(x) + 12x
+--R  /
+--R          2               2
+--R     4y(x)  - 8x y(x) + 4x
+--R                                                     Type: Expression Integer
+--E 16
+
+--S 17 of 139
+ode156 := (x**2-1)*D(y(x),x) - y(x)*(y(x)-x)
+--R 
+--R
+--R           2      ,          2
+--R   (17)  (x  - 1)y (x) - y(x)  + x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 17
+
+--S 18 of 139
+yx:=solve(ode156,y,x)
+--R 
+--R
+--R          - x y(x) + 1
+--R   (18)  -------------
+--R              +------+
+--R              | 2
+--R         y(x)\|x  - 1
+--R                                          Type: Union(Expression Integer,...)
+--E 18
+
+--S 19 of 139
+ode156expr := (x**2-1)*D(yx,x) - yx*(yx-x)
+--R 
+--R
+--R   (19)
+--R                                                         +------+
+--R           4     2      ,          2    2                | 2
+--R       (- x  + 2x  - 1)y (x) + (- x y(x)  + 2x y(x) - 1)\|x  - 1
+--R
+--R     + 
+--R           4     2         2
+--R       (- x  + 2x  - 1)y(x)
+--R  /
+--R                   +------+
+--R       2         2 | 2
+--R     (x  - 1)y(x) \|x  - 1
+--R                                                     Type: Expression Integer
+--E 19
+
+--S 20 of 139
+ode157 := (x**2-1)*D(y(x),x) + a*(y(x)**2-2*x*y(x)+1)
+--R 
+--R
+--R           2      ,            2
+--R   (20)  (x  - 1)y (x) + a y(x)  - 2a x y(x) + a
+--R
+--R                                                     Type: Expression Integer
+--E 20
+
+--S 21 of 139
+ode157a:=solve(ode157,y,x)
+--R 
+--R
+--R   (21)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 21
+
+--S 22 of 139
+ode158 := (x**2-1)*D(y(x),x) + a*x*y(x)**2 + x*y(x)
+--R 
+--R
+--R           2      ,              2
+--R   (22)  (x  - 1)y (x) + a x y(x)  + x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 22
+
+--S 23 of 139
+yx:=solve(ode158,y,x)
+--R 
+--R
+--R           2 2    2
+--R          a x y(x)  + 2a y(x) + 1
+--R   (23)  ------------------------
+--R           4    2     3         2
+--R         2a y(x)  + 4a y(x) + 2a
+--R                                          Type: Union(Expression Integer,...)
+--E 23
+
+--S 24 of 139
+ode158expr := (x**2-1)*D(yx,x) + a*x*yx**2 + x*yx
+--R 
+--R
+--R   (24)
+--R           4 4     4 2     4     2      3 4     3 2     3       ,
+--R       ((4a x  - 8a x  + 4a )y(x)  + (4a x  - 8a x  + 4a )y(x))y (x)
+--R
+--R     + 
+--R         4 5     5 3     5      4        4     3  3     4      3
+--R       (a x  + 6a x  - 4a x)y(x)  + ((12a  + 4a )x  - 4a x)y(x)
+--R     + 
+--R           3     2  3      3     2       2      2
+--R       ((6a  + 2a )x  + (6a  + 4a )x)y(x)  + (8a  + 4a)x y(x) + (2a + 1)x
+--R  /
+--R       7    4      6    3      5    2      4         3
+--R     4a y(x)  + 16a y(x)  + 24a y(x)  + 16a y(x) + 4a
+--R                                                     Type: Expression Integer
+--E 24
+
+--S 25 of 139
+ode159 := (x**2-1)*D(y(x),x) - 2*x*y(x)*log(y(x))
+--R 
+--R
+--R           2      ,
+--R   (25)  (x  - 1)y (x) - 2x y(x)log(y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 25
+
+--S 26 of 139
+yx:=solve(ode159,y,x)
+--R 
+--R
+--R             2
+--R          - x  + 1
+--R   (26)  ---------
+--R         log(y(x))
+--R                                          Type: Union(Expression Integer,...)
+--E 26
+
+--S 27 of 139
+ode159expr := (x**2-1)*D(yx,x) - 2*x*yx*log(yx)
+--R 
+--R
+--R   (27)
+--R                                      2
+--R          3                        - x  + 1      4     2      ,
+--R       (2x  - 2x)y(x)log(y(x))log(---------) + (x  - 2x  + 1)y (x)
+--R                                  log(y(x))
+--R     + 
+--R            3
+--R       (- 2x  + 2x)y(x)log(y(x))
+--R  /
+--R                  2
+--R     y(x)log(y(x))
+--R                                                     Type: Expression Integer
+--E 27
+
+--S 28 of 139
+ode160 := (x**2-4)*D(y(x),x) + (x+2)*y(x)**2 - 4*y(x)
+--R 
+--R
+--R           2      ,                 2
+--R   (28)  (x  - 4)y (x) + (x + 2)y(x)  - 4y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 28
+
+--S 29 of 139
+yx:=solve(ode160,y,x)
+--R 
+--R
+--R         (- x - 2)y(x)log(x + 2) + x - 2
+--R   (29)  -------------------------------
+--R                   (x + 2)y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 29
+
+--S 30 of 139
+ode160expr := (x**2-4)*D(yx,x) + (x+2)*yx**2 - 4*yx
+--R 
+--R
+--R   (30)
+--R           3     2           ,        2              2          2
+--R       (- x  + 2x  + 4x - 8)y (x) + (x  + 4x + 4)y(x) log(x + 2)
+--R
+--R     + 
+--R                  2        2                           2         2    2
+--R     ((4x + 8)y(x)  + (- 2x  + 8)y(x))log(x + 2) + (- x  + 4)y(x)  + x  - 4x + 4
+--R  /
+--R                2
+--R     (x + 2)y(x)
+--R                                                     Type: Expression Integer
+--E 30
+
+--S 31 of 139
+ode161 := (x**2-5*x+6)*D(y(x),x) + 3*x*y(x) - 8*y(x) + x**2
+--R 
+--R
+--R           2           ,                      2
+--R   (31)  (x  - 5x + 6)y (x) + (3x - 8)y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 31
+
+--S 32 of 139
+ode161a:=solve(ode161,y,x)
+--R 
+--R
+--R                              4     3
+--R                          - 3x  + 8x  - 144                     1
+--R   (32)  [particular= ------------------------,basis= [-------------------]]
+--R                         3      2                       3     2
+--R                      12x  - 84x  + 192x - 144         x  - 7x  + 16x - 12
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 32
+
+--S 33 of 139
+yx:=ode161a.particular
+--R 
+--R
+--R                 4     3
+--R             - 3x  + 8x  - 144
+--R   (33)  ------------------------
+--R            3      2
+--R         12x  - 84x  + 192x - 144
+--R                                                     Type: Expression Integer
+--E 33
+
+--S 34 of 139
+ode161expr := (x**2-5*x+6)*D(yx,x) + 3*x*yx - 8*yx + x**2
+--R 
+--R
+--R   (34)  0
+--R                                                     Type: Expression Integer
+--E 34
+
+--S 35 of 139
+ode162 := (x-a)*(x-b)*D(y(x),x) + y(x)**2 + k*(y(x)+x-a)*(y(x)+x-b)
+--R 
+--R
+--R   (35)
+--R       2                     ,                 2
+--R     (x  + (- b - a)x + a b)y (x) + (k + 1)y(x)  + (2k x + (- b - a)k)y(x)
+--R
+--R   + 
+--R        2
+--R     k x  + (- b - a)k x + a b k
+--R                                                     Type: Expression Integer
+--E 35
+@
+This loops infinitely 
+\begin{verbatim}
+ode162a:=solve(ode162,y,x)
+ 
+   WARNING (genufact): No known algorithm to factor
+      3     2       2          2
+     ?  - 3?  + (- k  + 3)? + k  - 1, trying square-free.
+
+\end{verbatim} 
+<<*>>=
+--S 36 of 139
+ode163 := 2*x**2*D(y(x),x) - 2*y(x)**2 - x*y(x) + 2*a**2*x
+--R 
+--R
+--R           2 ,           2              2
+--R   (36)  2x y (x) - 2y(x)  - x y(x) + 2a x
+--R
+--R                                                     Type: Expression Integer
+--E 36
+
+--S 37 of 139
+yx:=solve(ode163,y,x)
+--R 
+--R
+--R                   +-+
+--R                 a\|x  - y(x)
+--R   (37)  ---------------------------
+--R                                 4a
+--R                              - ----
+--R                                 +-+
+--R            2 +-+               \|x
+--R         (2a \|x  + 2a y(x))%e
+--R                                          Type: Union(Expression Integer,...)
+--E 37
+
+--S 38 of 139
+ode163expr := 2*x**2*D(yx,x) - 2*yx**2 - x*yx + 2*a**2*x
+--R 
+--R
+--R   (38)
+--R                                                                   4a
+--R                                                                - ----
+--R                                                                   +-+
+--R              3 3    2     5 4  +-+     2 3    3      4 4         \|x  ,
+--R       ((- 12a x y(x)  - 4a x )\|x  - 4a x y(x)  - 12a x y(x))%e      y (x)
+--R
+--R     + 
+--R              4      5      6 2    3      8 3      +-+      5 2    4
+--R           (4a x y(x)  + 40a x y(x)  + 20a x y(x))\|x  + 20a x y(x)
+--R         + 
+--R              7 3    2     9 4
+--R           40a x y(x)  + 4a x
+--R      *
+--R               4a  2
+--R            - ----
+--R               +-+
+--R              \|x
+--R         (%e      )
+--R     + 
+--R                       5      3      4     3 2    3     5 2    2    5 3
+--R               a x y(x)  + 12a x y(x)  + 8a x y(x)  - 8a x y(x)  - a x y(x)
+--R             + 
+--R                   7 3
+--R               - 4a x
+--R          *
+--R              +-+
+--R             \|x
+--R         + 
+--R           2      5     2 2    4     4 2    3     4 3    2      6 3        6 4
+--R         4a x y(x)  + 5a x y(x)  + 8a x y(x)  + 4a x y(x)  - 12a x y(x) - a x
+--R      *
+--R              4a
+--R           - ----
+--R              +-+
+--R             \|x
+--R         %e
+--R     + 
+--R              5     2      3    4 2      +-+           4     3 2    2    5 3
+--R       (- y(x)  + 2a x y(x)  - a x y(x))\|x  - a x y(x)  + 2a x y(x)  - a x
+--R  /
+--R            2    5      4      3      6 2      +-+      3      4      5 2    2
+--R         (2a y(x)  + 20a x y(x)  + 10a x y(x))\|x  + 10a x y(x)  + 20a x y(x)
+--R       + 
+--R           7 3
+--R         2a x
+--R    *
+--R             4a  2
+--R          - ----
+--R             +-+
+--R            \|x
+--R       (%e      )
+--R                                                     Type: Expression Integer
+--E 38
+
+--S 39 of 139
+ode164 := 2*x**2*D(y(x),x) - 2*y(x)**2 - 3*x*y(x) + 2*a**2*x
+--R 
+--R
+--R           2 ,           2               2
+--R   (39)  2x y (x) - 2y(x)  - 3x y(x) + 2a x
+--R
+--R                                                     Type: Expression Integer
+--E 39
+
+--S 40 of 139
+yx:=solve(ode164,y,x)
+--R 
+--R
+--R                              +-+
+--R                (- 2y(x) - x)\|x  + 2a x
+--R   (40)  -------------------------------------
+--R                                           4a
+--R                                        - ----
+--R                                           +-+
+--R                           +-+     2      \|x
+--R         ((4a y(x) + 2a x)\|x  + 4a x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 40
+
+--S 41 of 139
+ode164expr := 2*x**2*D(yx,x) - 2*yx**2 - 3*x*yx + 2*a**2*x
+--R 
+--R
+--R   (41)
+--R                     2 2    3       2 3    2         2 4       4 3           2 5
+--R               - 128a x y(x)  - 192a x y(x)  + (- 96a x  - 384a x )y(x) - 16a x
+--R             + 
+--R                     4 4
+--R               - 192a x
+--R          *
+--R              +-+
+--R             \|x
+--R         + 
+--R                 3 3    2       3 4          3 5       5 4
+--R           - 384a x y(x)  - 384a x y(x) - 96a x  - 128a x
+--R      *
+--R              4a
+--R           - ----
+--R              +-+
+--R             \|x  ,
+--R         %e      y (x)
+--R
+--R     + 
+--R                   5      4        5 2    3        5 3        7 2     2
+--R               640a x y(x)  + 1280a x y(x)  + (960a x  + 1280a x )y(x)
+--R             + 
+--R                    5 4        7 3           5 5       7 4       9 3
+--R               (320a x  + 1280a x )y(x) + 40a x  + 320a x  + 128a x
+--R          *
+--R              +-+
+--R             \|x
+--R         + 
+--R               4      5       4 2    4        4 3        6 2     3
+--R           128a x y(x)  + 320a x y(x)  + (320a x  + 1280a x )y(x)
+--R         + 
+--R                4 4        6 3     2       4 5       6 4       8 3          4 6
+--R           (160a x  + 1920a x )y(x)  + (40a x  + 960a x  + 640a x )y(x) + 4a x
+--R         + 
+--R               6 5       8 4
+--R           160a x  + 320a x
+--R      *
+--R               4a  2
+--R            - ----
+--R               +-+
+--R              \|x
+--R         (%e      )
+--R     + 
+--R                   2    5       2      4        2 2       4      3
+--R               128a y(x)  + 672a x y(x)  + (960a x  + 256a x)y(x)
+--R             + 
+--R                    2 3       4 2     2        2 4       6 2           2 5
+--R               (592a x  + 384a x )y(x)  + (168a x  - 384a x )y(x) + 18a x
+--R             + 
+--R                    4 4       6 3
+--R               - 64a x  - 288a x
+--R          *
+--R              +-+
+--R             \|x
+--R         + 
+--R                     5          2       3      4          3        3 2     3
+--R           96a x y(x)  + (240a x  + 384a x)y(x)  + (240a x  + 1152a x )y(x)
+--R         + 
+--R                  4       3 3       5 2     2         5       3 4       5 3
+--R           (120a x  + 960a x  - 256a x )y(x)  + (30a x  + 288a x  - 480a x )y(x)
+--R         + 
+--R               6      3 5       5 4       7 3
+--R           3a x  + 24a x  - 240a x  - 128a x
+--R      *
+--R              4a
+--R           - ----
+--R              +-+
+--R             \|x
+--R         %e
+--R     + 
+--R                     4             3           2      3      2
+--R           - 32a y(x)  - 64a x y(x)  + (- 48a x  + 64a x)y(x)
+--R         + 
+--R                   3      3 2            4      3 3      5 2
+--R           (- 16a x  + 64a x )y(x) - 2a x  + 16a x  - 32a x
+--R      *
+--R          +-+
+--R         \|x
+--R     + 
+--R               5           4         2      2      3         3      2 2     2
+--R       - 32y(x)  - 80x y(x)  + (- 80x  + 64a x)y(x)  + (- 40x  + 96a x )y(x)
+--R     + 
+--R             4      2 3      4 2         5     2 4      4 3
+--R       (- 10x  + 48a x  - 32a x )y(x) - x  + 8a x  - 16a x
+--R  /
+--R                 3    4       3      3        3 2       5      2
+--R             320a y(x)  + 640a x y(x)  + (480a x  + 640a x)y(x)
+--R           + 
+--R                  3 3       5 2           3 4       5 3      7 2
+--R             (160a x  + 640a x )y(x) + 20a x  + 160a x  + 64a x
+--R        *
+--R            +-+
+--R           \|x
+--R       + 
+--R            2    5       2      4        2 2       4      3
+--R         64a y(x)  + 160a x y(x)  + (160a x  + 640a x)y(x)
+--R       + 
+--R             2 3       4 2     2       2 4       4 3       6 2          2 5
+--R         (80a x  + 960a x )y(x)  + (20a x  + 480a x  + 320a x )y(x) + 2a x
+--R       + 
+--R            4 4       6 3
+--R         80a x  + 160a x
+--R    *
+--R             4a  2
+--R          - ----
+--R             +-+
+--R            \|x
+--R       (%e      )
+--R                                                     Type: Expression Integer
+--E 41
+
+--S 42 of 139
+ode165 := x*(2*x-1)*D(y(x),x) + y(x)**2 - (4*x+1)*y(x) + 4*x
+--R 
+--R
+--R            2      ,          2
+--R   (42)  (2x  - x)y (x) + y(x)  + (- 4x - 1)y(x) + 4x
+--R
+--R                                                     Type: Expression Integer
+--E 42
+
+--S 43 of 139
+yx:=solve(ode165,y,x)
+--R 
+--R
+--R                    2
+--R         x y(x) - 2x
+--R   (43)  ------------
+--R           y(x) - 1
+--R                                          Type: Union(Expression Integer,...)
+--E 43
+
+--S 44 of 139
+ode165expr := x*(2*x-1)*D(yx,x) + yx**2 - (4*x+1)*yx + 4*x
+--R 
+--R
+--R   (44)
+--R          4     3    2  ,          2          2        3     2               4
+--R       (4x  - 4x  + x )y (x) + (- x  + 2x)y(x)  + (- 4x  + 8x  - 6x)y(x) + 4x
+--R
+--R     + 
+--R           2
+--R       - 6x  + 4x
+--R  /
+--R         2
+--R     y(x)  - 2y(x) + 1
+--R                                                     Type: Expression Integer
+--E 44
+
+--S 45 of 139
+ode166 := 2*x*(x-1)*D(y(x),x) + (x-1)*y(x)**2 - x
+--R 
+--R
+--R            2       ,                 2
+--R   (45)  (2x  - 2x)y (x) + (x - 1)y(x)  - x
+--R
+--R                                                     Type: Expression Integer
+--E 45
+
+--S 46 of 139
+ode166a:=solve(ode166,y,x)
+--R 
+--R
+--R   (46)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 46
+
+--S 47 of 139
+ode167 := 3*x**2*D(y(x),x) - 7*y(x)**2 - 3*x*y(x) - x**2
+--R 
+--R
+--R           2 ,           2              2
+--R   (47)  3x y (x) - 7y(x)  - 3x y(x) - x
+--R
+--R                                                     Type: Expression Integer
+--E 47
+
+--S 48 of 139
+yx:=solve(ode167,y,x)
+--R 
+--R
+--R                        +---+                    +---+
+--R                 (- 497\|- 7  + 1197)y(x) + 171x\|- 7  + 497x
+--R   (48)  ------------------------------------------------------------
+--R                                                          +---+
+--R                                                        2\|- 7 log(x)
+--R                                                      - -------------
+--R               +---+                   +---+                  3
+--R         ((342\|- 7  + 994)y(x) - 142x\|- 7  + 342x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 48
+
+--S 49 of 139
+ode167expr := 3*x**2*D(yx,x) - 7*yx**2 - 3*x*yx - x**2
+--R 
+--R
+--R   (49)
+--R                        3 +---+             3                 4 +---+
+--R           (- 275142420x \|- 7  + 547274532x )y(x) - 78182076x \|- 7
+--R         + 
+--R                       4
+--R           - 275142420x
+--R      *
+--R               +---+
+--R             2\|- 7 log(x)
+--R           - -------------
+--R                   3       ,
+--R         %e               y (x)
+--R
+--R     + 
+--R                       2 +---+             2     3
+--R           (- 91714140x \|- 7  + 182424844x )y(x)
+--R         + 
+--R                       3 +---+             3     2
+--R           (- 78182076x \|- 7  - 275142420x )y(x)
+--R         + 
+--R                     4 +---+            4                5 +---+            5
+--R           (39306060x \|- 7  - 78182076x )y(x) + 3722956x \|- 7  + 13102020x
+--R      *
+--R                +---+       2
+--R              2\|- 7 log(x)
+--R            - -------------
+--R                    3
+--R         (%e               )
+--R     + 
+--R                       +---+                   3
+--R           (368361714x\|- 7  - 2239972378x)y(x)
+--R         + 
+--R                      2 +---+             2     2
+--R           (595138474x \|- 7  - 178912818x )y(x)
+--R         + 
+--R                      3 +---+            3                 4 +---+            4
+--R           (130805178x \|- 7  - 44853634x )y(x) + 45713722x \|- 7  + 52623102x
+--R      *
+--R               +---+
+--R             2\|- 7 log(x)
+--R           - -------------
+--R                   3
+--R         %e
+--R     + 
+--R                   +---+                  3
+--R       (1123498215\|- 7  - 2234704339)y(x)
+--R     + 
+--R                     +---+                   2
+--R       (- 319243477x\|- 7  - 1123498215x)y(x)
+--R     + 
+--R                  2 +---+             2                 3 +---+             3
+--R       (160499745x \|- 7  - 319243477x )y(x) - 45606211x \|- 7  - 160499745x
+--R  /
+--R                   +---+                 3              +---+                  2
+--R         (91714140\|- 7  - 182424844)y(x)  + (78182076x\|- 7  + 275142420x)y(x)
+--R       + 
+--R                     2 +---+            2                3 +---+            3
+--R         (- 39306060x \|- 7  + 78182076x )y(x) - 3722956x \|- 7  - 13102020x
+--R    *
+--R              +---+       2
+--R            2\|- 7 log(x)
+--R          - -------------
+--R                  3
+--R       (%e               )
+--R                                                     Type: Expression Integer
+--E 49
+
+--S 50 of 139
+ode168 := 3*(x**2-4)*D(y(x),x) + y(x)**2 - x*y(x) - 3
+--R 
+--R
+--R            2       ,          2
+--R   (50)  (3x  - 12)y (x) + y(x)  - x y(x) - 3
+--R
+--R                                                     Type: Expression Integer
+--E 50
+
+--S 51 of 139
+ode168a:=solve(ode168,y,x)
+--R 
+--R
+--R   (51)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 51
+
+--S 52 of 139
+ode169 := (a*x+b)**2*D(y(x),x) + (a*x+b)*y(x)**3 + c*y(x)**2
+--R 
+--R
+--R           2 2             2  ,                   3         2
+--R   (52)  (a x  + 2a b x + b )y (x) + (a x + b)y(x)  + c y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 52
+
+--S 53 of 139
+ode169a:=solve(ode169,y,x)
+--R 
+--R
+--R   (53)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 53
+
+--S 54 of 139
+ode170 := x**3*D(y(x),x) - y(x)**2 - x**4
+--R 
+--R
+--R          3 ,          2    4
+--R   (54)  x y (x) - y(x)  - x
+--R
+--R                                                     Type: Expression Integer
+--E 54
+
+--S 55 of 139
+yx:=solve(ode170,y,x)
+--R 
+--R
+--R                  2           2
+--R         (y(x) - x )log(x) + x
+--R   (55)  ----------------------
+--R                        2
+--R                y(x) - x
+--R                                          Type: Union(Expression Integer,...)
+--E 55
+
+--S 56 of 139
+ode170expr := x**3*D(yx,x) - yx**2 - x**4
+--R 
+--R
+--R   (56)
+--R          5 ,             2     2        4       2        2         4
+--R       - x y (x) + (- y(x)  + 2x y(x) - x )log(x)  + (- 2x y(x) + 2x )log(x)
+--R
+--R     + 
+--R           4    2     2     6        8    6    4
+--R       (- x  + x )y(x)  + 2x y(x) - x  + x  - x
+--R  /
+--R         2     2        4
+--R     y(x)  - 2x y(x) + x
+--R                                                     Type: Expression Integer
+--E 56
+
+--S 57 of 139
+ode171 := x**3*D(y(x),x) - y(x)**2 - x**2*y(x)
+--R 
+--R
+--R          3 ,          2    2
+--R   (57)  x y (x) - y(x)  - x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 57
+
+--S 58 of 139
+yx:=solve(ode171,y,x)
+--R 
+--R
+--R                   2
+--R         - y(x) + x
+--R   (58)  -----------
+--R            x y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 58
+
+--S 59 of 139
+ode171expr := x**3*D(yx,x) - yx**2 - x**2*yx
+--R 
+--R
+--R            6 ,         3         2     2        4
+--R         - x y (x) + (2x  - 1)y(x)  + 2x y(x) - x
+--R
+--R   (59)  -----------------------------------------
+--R                           2    2
+--R                          x y(x)
+--R                                                     Type: Expression Integer
+--E 59
+
+--S 60 of 139
+ode172 := x**3*D(y(x),x) - x**4*y(x)**2 + x**2*y(x) + 20
+--R 
+--R
+--R          3 ,       4    2    2
+--R   (60)  x y (x) - x y(x)  + x y(x) + 20
+--R
+--R                                                     Type: Expression Integer
+--E 60
+
+--S 61 of 139
+yx:=solve(ode172,y,x)
+--R 
+--R
+--R              11      2           9
+--R           (7x   - 11x )y(x) + 35x  + 44
+--R   (61)  --------------------------------
+--R             11      2            9
+--R         (36x   - 36x )y(x) + 180x  + 144
+--R                                          Type: Union(Expression Integer,...)
+--E 61
+
+--S 62 of 139
+ode172expr := x**3*D(yx,x) - x**4*yx**2 + x**2*yx + 20
+--R 
+--R
+--R   (62)
+--R              14 ,
+--R       - 1296x  y (x)
+--R
+--R     + 
+--R                26       24         22       17       15         13       8
+--R           - 49x   + 252x   + 25920x   + 154x   + 648x   - 51840x   - 121x
+--R         + 
+--R               6         4
+--R           396x  + 25920x
+--R      *
+--R             2
+--R         y(x)
+--R     + 
+--R                 24        22          20       15        13         11       6
+--R           - 490x   + 2520x   + 259200x   + 154x   - 1944x   - 51840x   + 968x
+--R         + 
+--R                  4          2
+--R           - 3168x  - 207360x
+--R      *
+--R         y(x)
+--R     + 
+--R              22        20          18        13         11           9        4
+--R       - 1225x   + 6300x   + 648000x   - 3080x   - 12960x   + 1036800x  - 1936x
+--R     + 
+--R            2
+--R       6336x  + 414720
+--R  /
+--R             22        13        4     2          20        11         2
+--R       (1296x   - 2592x   + 1296x )y(x)  + (12960x   - 2592x   - 10368x )y(x)
+--R     + 
+--R             18         9
+--R       32400x   + 51840x  + 20736
+--R                                                     Type: Expression Integer
+--E 62
+
+--S 63 of 139
+ode173 := x**3*D(y(x),x) - x**6*y(x)**2 - (2*x-3)*x**2*y(x) + 3
+--R 
+--R
+--R          3 ,       6    2        3     2
+--R   (63)  x y (x) - x y(x)  + (- 2x  + 3x )y(x) + 3
+--R
+--R                                                     Type: Expression Integer
+--E 63
+
+--S 64 of 139
+yx:=solve(ode173,y,x)
+--R 
+--R
+--R               3
+--R            - x y(x) + 1
+--R   (64)  ------------------
+--R            3            4x
+--R         (4x y(x) + 12)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 64
+
+--S 65 of 139
+ode173expr := x**3*D(yx,x) - x**6*yx**2 - (2*x-3)*x**2*yx + 3
+--R 
+--R
+--R   (65)
+--R            6  4x ,          6    2       3              4x 2
+--R       - 16x %e  y (x) + (48x y(x)  + 288x y(x) + 432)(%e  )
+--R
+--R     + 
+--R            9      8     2       6      5           3      2   4x    12    2
+--R       ((24x  - 12x )y(x)  + (48x  - 72x )y(x) - 72x  + 36x )%e   - x  y(x)
+--R     + 
+--R         9        6
+--R       2x y(x) - x
+--R  /
+--R         6    2      3              4x 2
+--R     (16x y(x)  + 96x y(x) + 144)(%e  )
+--R                                                     Type: Expression Integer
+--E 65
+
+--S 66 of 139
+ode174 := x*(x**2+1)*D(y(x),x) + x**2*y(x)
+--R 
+--R
+--R           3      ,       2
+--R   (66)  (x  + x)y (x) + x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 66
+
+--S 67 of 139
+ode174a:=solve(ode174,y,x)
+--R 
+--R
+--R                                    1
+--R   (67)  [particular= 0,basis= [---------]]
+--R                                 +------+
+--R                                 | 2
+--R                                \|x  + 1
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 67
+
+--S 68 of 139
+yx:=ode174a.particular
+--R 
+--R
+--R   (68)  0
+--R                                                     Type: Expression Integer
+--E 68
+
+--S 69 of 139
+ode174expr := x*(x**2+1)*D(yx,x) + x**2*yx
+--R 
+--R
+--R   (69)  0
+--R                                                     Type: Expression Integer
+--E 69
+
+--S 70 of 139
+ode175 := x*(x**2-1)*D(y(x),x) - (2*x**2-1)*y(x) + a*x**3
+--R 
+--R
+--R           3      ,           2               3
+--R   (70)  (x  - x)y (x) + (- 2x  + 1)y(x) + a x
+--R
+--R                                                     Type: Expression Integer
+--E 70
+
+--S 71 of 139
+ode175a:=solve(ode175,y,x)
+--R 
+--R
+--R                                    +------+
+--R                                    | 2
+--R   (71)  [particular= a x,basis= [x\|x  - 1 ]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 71
+
+--S 72 of 139
+yx:=ode175a.particular
+--R 
+--R
+--R   (72)  a x
+--R                                                     Type: Expression Integer
+--E 72
+
+--S 73 of 139
+ode175expr := x*(x**2-1)*D(yx,x) - (2*x**2-1)*yx + a*x**3
+--R 
+--R
+--R   (73)  0
+--R                                                     Type: Expression Integer
+--E 73
+
+--S 74 of 139
+ode176 := x*(x**2-1)*D(y(x),x) + (x**2-1)*y(x)**2 - x**2
+--R 
+--R
+--R           3      ,        2         2    2
+--R   (74)  (x  - x)y (x) + (x  - 1)y(x)  - x
+--R
+--R                                                     Type: Expression Integer
+--E 74
+
+--S 75 of 139
+ode176a:=solve(ode176,y,x)
+--R 
+--R
+--R   (75)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 75
+
+--S 76 of 139
+ode177 := x**2*(x-1)*D(y(x),x) - y(x)**2 - x*(x-2)*y(x)
+--R 
+--R
+--R           3    2  ,          2       2
+--R   (76)  (x  - x )y (x) - y(x)  + (- x  + 2x)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 76
+
+--S 77 of 139
+yx:=solve(ode177,y,x)
+--R 
+--R
+--R                   2
+--R         - y(x) + x
+--R   (77)  -----------
+--R         (x - 1)y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 77
+
+--S 78 of 139
+ode177expr := x**2*(x-1)*D(yx,x) - yx**2 - x*(x-2)*yx
+--R 
+--R
+--R             6     5    4  ,         3     2              2     2        4
+--R         (- x  + 2x  - x )y (x) + (2x  - 4x  + 2x - 1)y(x)  + 2x y(x) - x
+--R
+--R   (78)  -----------------------------------------------------------------
+--R                                   2              2
+--R                                 (x  - 2x + 1)y(x)
+--R                                                     Type: Expression Integer
+--E 78
+
+--S 79 of 139
+ode178 := 2*x*(x**2-1)*D(y(x),x) + 2*(x**2-1)*y(x)**2 _
+           - (3*x**2-5)*y(x) + x**2 - 3
+--R 
+--R
+--R            3       ,         2         2        2             2
+--R   (79)  (2x  - 2x)y (x) + (2x  - 2)y(x)  + (- 3x  + 5)y(x) + x  - 3
+--R
+--R                                                     Type: Expression Integer
+--E 79
+
+--S 80 of 139
+yx:=solve(ode178,y,x)
+--R 
+--R
+--R                      +------+   x      +---+
+--I                      | 2      ++      \|%CL               +-+
+--I         (- y(x) + 1)\|x  - 1  |   -------------- d%CL  + \|x
+--R                              ++       +--------+
+--R                                       |   2
+--I                                   %CL\|%CL  - 1
+--R   (80)  -----------------------------------------------------
+--R                                     +------+
+--R                                     | 2
+--R                          (y(x) - 1)\|x  - 1
+--R                                          Type: Union(Expression Integer,...)
+--E 80
+
+--S 81 of 139
+ode178expr := 2*x*(x**2-1)*D(yx,x) + 2*(x**2-1)*yx**2 _
+               - (3*x**2-5)*yx + x**2 - 3
+--R 
+--R
+--R   (81)
+--R                                                          +------+
+--R             2         2        2              2      +-+ | 2
+--R         ((2x  - 2)y(x)  + (- 4x  + 4)y(x) + 2x  - 2)\|x \|x  - 1
+--R      *
+--R            x      +---+          2
+--I          ++      \|%CL
+--I          |   -------------- d%CL
+--R         ++       +--------+
+--R                  |   2
+--I              %CL\|%CL  - 1
+--R     + 
+--R                                                             +------+
+--R               2         2        2               2      +-+ | 2
+--R           ((3x  - 5)y(x)  + (- 6x  + 10)y(x) + 3x  - 5)\|x \|x  - 1
+--R         + 
+--R                3               3
+--R           (- 4x  + 4x)y(x) + 4x  - 4x
+--R      *
+--R            x      +---+
+--I          ++      \|%CL
+--I          |   -------------- d%CL
+--R         ++       +--------+
+--R                  |   2
+--I              %CL\|%CL  - 1
+--R     + 
+--R            4     2  ,
+--R       (- 2x  + 2x )y (x)
+--R
+--R     + 
+--R                                                           +------+
+--R          2         2        2             2           +-+ | 2
+--R       ((x  - 3)y(x)  + (- 2x  + 6)y(x) + x  + 2x - 3)\|x \|x  - 1
+--R     + 
+--R            3          2     3
+--R       (- 2x  + 2x)y(x)  + 2x  - 2x
+--R  /
+--R                             +------+
+--R          2              +-+ | 2
+--R     (y(x)  - 2y(x) + 1)\|x \|x  - 1
+--R                                                     Type: Expression Integer
+--E 81
+
+--S 82 of 139
+ode179 := 3*x*(x**2-1)*D(y(x),x) + x*y(x)**2 - (x**2+1)*y(x) - 3*x
+--R 
+--R
+--R            3       ,            2       2
+--R   (82)  (3x  - 3x)y (x) + x y(x)  + (- x  - 1)y(x) - 3x
+--R
+--R                                                     Type: Expression Integer
+--E 82
+
+--S 83 of 139
+ode179a:=solve(ode179,y,x)
+--R 
+--R
+--R   (83)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 83
+
+--S 84 of 139
+ode180 := (a*x**2+b*x+c)*(x*D(y(x),x)-y(x)) - y(x)**2 + x**2
+--R 
+--R
+--R             3      2        ,          2         2                   2
+--R   (84)  (a x  + b x  + c x)y (x) - y(x)  + (- a x  - b x - c)y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 84
+
+--S 85 of 139
+yx:=solve(ode180,y,x)
+--R 
+--R   WARNING (genufact): No known algorithm to factor
+--R                     2            2
+--R      4   - 4a c + 2b   2        b
+--R     ?  + ------------ ?  - -----------, trying square-free.
+--R             3     2 2        5     4 2
+--R           4a c - a b       4a c - a b
+--R   WARNING (genufact): No known algorithm to factor
+--R                     2            2         2            2
+--R      4   - 4a c + 2b  - 4a b + 4a   2   - b  + 4a b - 4a
+--R     ?  + ------------------------- ?  + -----------------, trying square-free.
+--R                   3     2 2                  5     4 2
+--R                 4a c - a b                 4a c - a b
+--R   WARNING (genufact): No known algorithm to factor
+--R                           2              4      2
+--R        9   9b  8   (144a b  - 24a)c - 36b  + 12b   7
+--R       ?  - -- ?  + ------------------------------ ?
+--R             a                  3     2 2
+--R                              4a c - a b
+--R     + 
+--R                3                 5      3
+--R       (- 336a b  + 168a b)c + 84b  - 84b   6
+--R       ----------------------------------- ?
+--R                     4     3 2
+--R                   4a c - a b
+--R     + 
+--R                   2 4        2 2       2  2
+--R             (2016a b  - 2016a b  + 144a )c
+--R           + 
+--R                       6          4         2         8       6      4
+--R             (- 1008a b  + 1512a b  - 192a b )c + 126b  - 252b  + 48b
+--R        /
+--R              6 2     5 2     4 4
+--R           16a c  - 8a b c + a b
+--R      *
+--R          5
+--R         ?
+--R     + 
+--R                     2 5        2 3       2   2
+--R             (- 2016a b  + 3360a b  - 720a b)c
+--R           + 
+--R                     7          5         3         9       7       5
+--R             (1008a b  - 2520a b  + 960a b )c - 126b  + 420b  - 240b
+--R        /
+--R              7 2     6 2     5 4
+--R           16a c  - 8a b c + a b
+--R      *
+--R          4
+--R         ?
+--R     + 
+--R                   3 6         3 4        3 2       3  3
+--R             (5376a b  - 13440a b  + 5760a b  - 256a )c
+--R           + 
+--R                     2 8         2 6        2 4       2 2  2
+--R             (- 4032a b  + 13440a b  - 9120a b  + 640a b )c
+--R           + 
+--R                     10          8          6         4        12       10
+--R             (1008a b   - 4200a b  + 3840a b  - 384a b )c - 84b   + 420b
+--R           + 
+--R                   8      6
+--R             - 480b  + 64b
+--R        /
+--R              9 3      8 2 2      7 4     6 6
+--R           64a c  - 48a b c  + 12a b c - a b
+--R      *
+--R          3
+--R         ?
+--R     + 
+--R                     3 7        3 5        3 3       3   3
+--R             (- 2304a b  + 8064a b  - 5760a b  + 768a b)c
+--R           + 
+--R                   2 9        2 7        2 5        2 3  2
+--R             (1728a b  - 8064a b  + 9120a b  - 1920a b )c
+--R           + 
+--R                      11          9          7          5        13       11
+--R             (- 432a b   + 2520a b  - 3840a b  + 1152a b )c + 36b   - 252b
+--R           + 
+--R                 9       7
+--R             480b  - 192b
+--R        /
+--R              10 3      9 2 2      8 4     7 6
+--R           64a  c  - 48a b c  + 12a b c - a b
+--R      *
+--R          2
+--R         ?
+--R     + 
+--R                  3 8        3 6        3 4       3 2  3
+--R             (576a b  - 2688a b  + 2880a b  - 768a b )c
+--R           + 
+--R                    2 10        2 8        2 6        2 4       2 2  2
+--R             (- 432a b   + 2688a b  - 4560a b  + 1920a b  - 256a b )c
+--R           + 
+--R                    12         10          8          6       14      12
+--R             (108a b   - 840a b   + 1920a b  - 1152a b )c - 9b   + 84b
+--R           + 
+--R                   10       8
+--R             - 240b   + 192b
+--R        /
+--R              11 3      10 2 2      9 4     8 6
+--R           64a  c  - 48a  b c  + 12a b c - a b
+--R      *
+--R         ?
+--R     + 
+--R                 3 9       3 7       3 5       3 3  3
+--R           (- 64a b  + 384a b  - 576a b  + 256a b )c
+--R         + 
+--R               2 11       2 9       2 7       2 5       2 3  2
+--R           (48a b   - 384a b  + 912a b  - 640a b  + 256a b )c
+--R         + 
+--R                   13         11         9         7      15      13      11
+--R           (- 12a b   + 120a b   - 384a b  + 384a b )c + b   - 12b   + 48b
+--R         + 
+--R                9
+--R           - 64b
+--R      /
+--R            12 3      11 2 2      10 4     9 6
+--R         64a  c  - 48a  b c  + 12a  b c - a b
+--R     , trying square-free.
+--R   WARNING (genufact): No known algorithm to factor
+--R        9   9b - 18a  8
+--R       ?  + -------- ?
+--R                a
+--R     + 
+--R                    2       2        3              4         3
+--R             (144a b  - 576a b + 576a  - 24a)c - 36b  + 144a b
+--R           + 
+--R                    2       2              2
+--R             (- 144a  + 12)b  - 24a b + 24a
+--R        /
+--R             3     2 2
+--R           4a c - a b
+--R      *
+--R          7
+--R         ?
+--R     + 
+--R                    3        2 2         3                 4       2        5
+--R             (336a b  - 2016a b  + (4032a  - 168a)b - 2688a  + 336a )c - 84b
+--R           + 
+--R                   4           2       3        3         2       2        3
+--R             504a b  + (- 1008a  + 84)b  + (672a  - 336a)b  + 504a b - 336a
+--R        /
+--R             4     3 2
+--R           4a c - a b
+--R      *
+--R          6
+--R         ?
+--R     + 
+--R                      2 4         3 3          4        2  2
+--R                 2016a b  - 16128a b  + (48384a  - 2016a )b
+--R               + 
+--R                          5        3           6        4       2
+--R                 (- 64512a  + 8064a )b + 32256a  - 8064a  + 144a
+--R            *
+--R                2
+--R               c
+--R           + 
+--R                          6        2 5            3          4
+--R                 - 1008a b  + 8064a b  + (- 24192a  + 1512a)b
+--R               + 
+--R                        4        2  3            5         3         2
+--R                 (32256a  - 8064a )b  + (- 16128a  + 16128a  - 192a)b
+--R               + 
+--R                          4       2          5       3
+--R                 (- 16128a  + 480a )b + 8064a  - 480a
+--R            *
+--R               c
+--R           + 
+--R                 8          7         2        6           3          5
+--R             126b  - 1008a b  + (3024a  - 252)b  + (- 4032a  + 1512a)b
+--R           + 
+--R                   4        2       4         3         3           4       2  2
+--R             (2016a  - 3528a  + 48)b  + (4032a  - 192a)b  + (- 2016a  + 336a )b
+--R           + 
+--R                   3        4
+--R             - 288a b + 144a
+--R        /
+--R              6 2     5 2     4 4
+--R           16a c  - 8a b c + a b
+--R      *
+--R          5
+--R         ?
+--R     + 
+--R                      2 5         3 4          4        2  3
+--R                 2016a b  - 20160a b  + (80640a  - 3360a )b
+--R               + 
+--R                           5         3  2           6         4       2
+--R                 (- 161280a  + 20160a )b  + (161280a  - 40320a  + 720a )b
+--R               + 
+--R                         7         5        3
+--R                 - 64512a  + 26880a  - 1440a
+--R            *
+--R                2
+--R               c
+--R           + 
+--R                          7         2 6            3          5
+--R                 - 1008a b  + 10080a b  + (- 40320a  + 2520a)b
+--R               + 
+--R                        4         2  4            5         3         3
+--R                 (80640a  - 18480a )b  + (- 80640a  + 53760a  - 960a)b
+--R               + 
+--R                        6         4        2  2          5        3           6
+--R                 (32256a  - 80640a  + 4320a )b  + (67200a  - 7200a )b - 26880a
+--R               + 
+--R                      4
+--R                 4800a
+--R            *
+--R               c
+--R           + 
+--R                 9          8         2        7            3          6
+--R             126b  - 1260a b  + (5040a  - 420)b  + (- 10080a  + 3360a)b
+--R           + 
+--R                    4         2        5           5         3          4
+--R             (10080a  - 10920a  + 240)b  + (- 4032a  + 18480a  - 1440a)b
+--R           + 
+--R                      4        2  3         5        3  2        4         5
+--R             (- 16800a  + 3600a )b  + (6720a  - 4800a )b  + 3600a b - 1440a
+--R        /
+--R              7 2     6 2     5 4
+--R           16a c  - 8a b c + a b
+--R      *
+--R          4
+--R         ?
+--R     + 
+--R                      3 6         4 5           5         3  4
+--R                 5376a b  - 64512a b  + (322560a  - 13440a )b
+--R               + 
+--R                           6          4  3            7          5        3  2
+--R                 (- 860160a  + 107520a )b  + (1290240a  - 322560a  + 5760a )b
+--R               + 
+--R                            8          6         4            9          7
+--R                 (- 1032192a  + 430080a  - 23040a )b + 344064a  - 215040a
+--R               + 
+--R                       5       3
+--R                 23040a  - 256a
+--R            *
+--R                3
+--R               c
+--R           + 
+--R                        2 8         3 7             4         2  6
+--R                 - 4032a b  + 48384a b  + (- 241920a  + 13440a )b
+--R               + 
+--R                         5          3  5             6          4        2  4
+--R                 (645120a  - 120960a )b  + (- 967680a  + 443520a  - 9120a )b
+--R               + 
+--R                         7          5         3  3
+--R                 (774144a  - 860160a  + 55680a )b
+--R               + 
+--R                           8          6          4       2  2
+--R                 (- 258048a  + 967680a  - 132480a  + 640a )b
+--R               + 
+--R                         7          5        3            8         6        4
+--R               (- 645120a  + 153600a  - 1792a )b + 215040a  - 76800a  + 1792a
+--R            *
+--R                2
+--R               c
+--R           + 
+--R                        10         2 9          3          8
+--R                 1008a b   - 12096a b  + (60480a  - 4200a)b
+--R               + 
+--R                           4         2  7           5          3          6
+--R                 (- 161280a  + 40320a )b  + (241920a  - 161280a  + 3840a)b
+--R               + 
+--R                           6          4         2  5
+--R                 (- 193536a  + 349440a  - 27840a )b
+--R               + 
+--R                        7          5         3         4
+--R                 (64512a  - 443520a  + 83520a  - 384a)b
+--R               + 
+--R                         6          4        2  3
+--R                 (322560a  - 134400a  + 1792a )b
+--R               + 
+--R                           7          5        3  2            6        4
+--R                 (- 107520a  + 124800a  - 3584a )b  + (- 69120a  + 3584a )b
+--R               + 
+--R                       7        5
+--R                 23040a  - 1792a
+--R            *
+--R               c
+--R           + 
+--R                  12          11           2        10          3          9
+--R             - 84b   + 1008a b   + (- 5040a  + 420)b   + (13440a  - 4200a)b
+--R           + 
+--R                      4         2        8          5         3          7
+--R             (- 20160a  + 17640a  - 480)b  + (16128a  - 40320a  + 3840a)b
+--R           + 
+--R                     6         4         2       6
+--R             (- 5376a  + 53760a  - 12960a  + 64)b
+--R           + 
+--R                      5         3         5          6         4        2  4
+--R             (- 40320a  + 24000a  - 384a)b  + (13440a  - 26400a  + 1024a )b
+--R           + 
+--R                    5        3  3           6        4  2       5        6
+--R             (17280a  - 1536a )b  + (- 5760a  + 1408a )b  - 768a b + 256a
+--R        /
+--R              9 3      8 2 2      7 4     6 6
+--R           64a c  - 48a b c  + 12a b c - a b
+--R      *
+--R          3
+--R         ?
+--R     + 
+--R                      3 7         4 6           5        3  5
+--R                 2304a b  - 32256a b  + (193536a  - 8064a )b
+--R               + 
+--R                           6         4  4            7          5        3  3
+--R                 (- 645120a  + 80640a )b  + (1290240a  - 322560a  + 5760a )b
+--R               + 
+--R                            8          6         4  2
+--R                 (- 1548288a  + 645120a  - 34560a )b
+--R               + 
+--R                          9          7         5       3            10
+--R                 (1032192a  - 645120a  + 69120a  - 768a )b - 294912a
+--R               + 
+--R                        8         6        4
+--R                 258048a  - 46080a  + 1536a
+--R            *
+--R                3
+--R               c
+--R           + 
+--R                        2 9         3 8             4        2  7
+--R                 - 1728a b  + 24192a b  + (- 145152a  + 8064a )b
+--R               + 
+--R                         5         3  6             6          4        2  5
+--R                 (483840a  - 88704a )b  + (- 967680a  + 411264a  - 9120a )b
+--R               + 
+--R                          7           5         3  4
+--R                 (1161216a  - 1048320a  + 73920a )b
+--R               + 
+--R                           8           6          4        2  3
+--R                 (- 774144a  + 1612800a  - 243840a  + 1920a )b
+--R               + 
+--R                         9           7          5        3  2
+--R                 (221184a  - 1548288a  + 418560a  - 9216a )b
+--R               + 
+--R                       8          6         4            9          7         5
+--R               (903168a  - 384000a  + 16128a )b - 258048a  + 153600a  - 10752a
+--R            *
+--R                2
+--R               c
+--R           + 
+--R                       11        2 10          3          9
+--R                 432a b   - 6048a b   + (36288a  - 2520a)b
+--R               + 
+--R                           4         2  8           5          3          7
+--R                 (- 120960a  + 29232a )b  + (241920a  - 145152a  + 3840a)b
+--R               + 
+--R                           6          4         2  6
+--R                 (- 290304a  + 403200a  - 35520a )b
+--R               + 
+--R                         7          5          3          5
+--R                 (193536a  - 685440a  + 139200a  - 1152a)b
+--R               + 
+--R                          8          6          4        2  4
+--R                 (- 55296a  + 725760a  - 301440a  + 7680a )b
+--R               + 
+--R                           7          5         3  3
+--R                 (- 451584a  + 393600a  - 21504a )b
+--R               + 
+--R                         8          6         4  2           7         5
+--R                 (129024a  - 318720a  + 32256a )b  + (161280a  - 26880a )b
+--R               + 
+--R                         8         6
+--R                 - 46080a  + 10752a
+--R            *
+--R               c
+--R           + 
+--R                  13         12           2        11          3          10
+--R             - 36b   + 504a b   + (- 3024a  + 252)b   + (10080a  - 3024a)b
+--R           + 
+--R                      4         2        9          5         3          8
+--R             (- 20160a  + 15624a  - 480)b  + (24192a  - 45360a  + 4800a)b
+--R           + 
+--R                      6         4         2        7
+--R             (- 16128a  + 80640a  - 20640a  + 192)b
+--R           + 
+--R                   7         5         3          6
+--R             (4608a  - 88704a  + 49920a  - 1536a)b
+--R           + 
+--R                    6         4        2  5            7         5         3  4
+--R             (56448a  - 74400a  + 5376a )b  + (- 16128a  + 70080a  - 10752a )b
+--R           + 
+--R                      6         4  3          7         5  2        6         7
+--R             (- 40320a  + 13440a )b  + (11520a  - 10752a )b  + 5376a b - 1536a
+--R        /
+--R              10 3      9 2 2      8 4     7 6
+--R           64a  c  - 48a b c  + 12a b c - a b
+--R      *
+--R          2
+--R         ?
+--R     + 
+--R                     3 8        4 7          5        3  6
+--R                 576a b  - 9216a b  + (64512a  - 2688a )b
+--R               + 
+--R                           6         4  5           7          5        3  4
+--R                 (- 258048a  + 32256a )b  + (645120a  - 161280a  + 2880a )b
+--R               + 
+--R                            8          6         4  3
+--R                 (- 1032192a  + 430080a  - 23040a )b
+--R               + 
+--R                          9          7         5       3  2
+--R                 (1032192a  - 645120a  + 69120a  - 768a )b
+--R               + 
+--R                           10          8         6        4            11
+--R                 (- 589824a   + 516096a  - 92160a  + 3072a )b + 147456a
+--R               + 
+--R                          9         7        5
+--R                 - 172032a  + 46080a  - 3072a
+--R            *
+--R                3
+--R               c
+--R           + 
+--R                       2 10        3 9            4        2  8
+--R                 - 432a b   + 6912a b  + (- 48384a  + 2688a )b
+--R               + 
+--R                         5         3  7             6          4        2  6
+--R                 (193536a  - 34944a )b  + (- 483840a  + 196224a  - 4560a )b
+--R               + 
+--R                         7          5         3  5
+--R                 (774144a  - 623616a  + 46080a )b
+--R               + 
+--R                           8           6          4        2  4
+--R                 (- 774144a  + 1236480a  - 195840a  + 1920a )b
+--R               + 
+--R                         9           7          5         3  3
+--R                 (442368a  - 1591296a  + 453120a  - 13056a )b
+--R               + 
+--R                           10           8          6         4       2  2
+--R                 (- 110592a   + 1333248a  - 610560a  + 34560a  - 256a )b
+--R               + 
+--R                           9          7         5        3            10
+--R                 (- 688128a  + 460800a  - 43008a  + 1024a )b + 172032a
+--R               + 
+--R                          8         6        4
+--R                 - 153600a  + 21504a  - 1024a
+--R            *
+--R                2
+--R               c
+--R           + 
+--R                       12        2 11          3         10
+--R                 108a b   - 1728a b   + (12096a  - 840a)b
+--R               + 
+--R                          4         2  9           5         3          8
+--R                 (- 48384a  + 11424a )b  + (120960a  - 67872a  + 1920a)b
+--R               + 
+--R                           6          4         2  7
+--R                 (- 193536a  + 231168a  - 21600a )b
+--R               + 
+--R                         7          5          3          6
+--R                 (193536a  - 497280a  + 105120a  - 1152a)b
+--R               + 
+--R                           8          6          4        2  5
+--R                 (- 110592a  + 698880a  - 289920a  + 9984a )b
+--R               + 
+--R                        9          7          5         3  4
+--R                 (27648a  - 634368a  + 498240a  - 36864a )b
+--R               + 
+--R                         8          6         4       2  3
+--R                 (344064a  - 552960a  + 75264a  + 512a )b
+--R               + 
+--R                          9          7         5        3  2
+--R                 (- 86016a  + 399360a  - 91392a  - 2560a )b
+--R               + 
+--R                           8         6        4           9         7        5
+--R                 (- 184320a  + 64512a  + 4096a )b + 46080a  - 21504a  - 2048a
+--R            *
+--R               c
+--R           + 
+--R                 14         13           2       12         3          11
+--R             - 9b   + 144a b   + (- 1008a  + 84)b   + (4032a  - 1176a)b
+--R           + 
+--R                      4        2        10          5         3          9
+--R             (- 10080a  + 7224a  - 240)b   + (16128a  - 25536a  + 2880a)b
+--R           + 
+--R                      6         4         2        8
+--R             (- 16128a  + 57120a  - 15120a  + 192)b
+--R           + 
+--R                   7         5         3          7
+--R             (9216a  - 83328a  + 45600a  - 1920a)b
+--R           + 
+--R                     8         6         4        2  6
+--R             (- 2304a  + 77952a  - 87120a  + 8448a )b
+--R           + 
+--R                      7          5         3  5
+--R             (- 43008a  + 109440a  - 21504a )b
+--R           + 
+--R                    8         6         4       2  4
+--R             (10752a  - 90240a  + 34944a  - 256a )b
+--R           + 
+--R                    7         5        3  3            8         6        4  2
+--R             (46080a  - 37632a  + 1536a )b  + (- 11520a  + 26880a  - 3328a )b
+--R           + 
+--R                      7        5          8        6
+--R             (- 12288a  + 3072a )b + 3072a  - 1024a
+--R        /
+--R              11 3      10 2 2      9 4     8 6
+--R           64a  c  - 48a  b c  + 12a b c - a b
+--R      *
+--R         ?
+--R     + 
+--R                  3 9        4 8         5       3  7            6        4  6
+--R               64a b  - 1152a b  + (9216a  - 384a )b  + (- 43008a  + 5376a )b
+--R             + 
+--R                       7         5       3  5
+--R               (129024a  - 32256a  + 576a )b
+--R             + 
+--R                         8          6        4  4
+--R               (- 258048a  + 107520a  - 5760a )b
+--R             + 
+--R                       9          7         5       3  3
+--R               (344064a  - 215040a  + 23040a  - 256a )b
+--R             + 
+--R                         10          8         6        4  2
+--R               (- 294912a   + 258048a  - 46080a  + 1536a )b
+--R             + 
+--R                       11          9         7        5           12         10
+--R               (147456a   - 172032a  + 46080a  - 3072a )b - 32768a   + 49152a
+--R             + 
+--R                       8        6
+--R               - 18432a  + 2048a
+--R          *
+--R              3
+--R             c
+--R         + 
+--R                    2 11       3 10           4       2  9
+--R               - 48a b   + 864a b   + (- 6912a  + 384a )b
+--R             + 
+--R                      5        3  8            6         4       2  7
+--R               (32256a  - 5760a )b  + (- 96768a  + 38016a  - 912a )b
+--R             + 
+--R                       7          5         3  6
+--R               (193536a  - 145152a  + 11040a )b
+--R             + 
+--R                         8          6         4       2  5
+--R               (- 258048a  + 354816a  - 57600a  + 640a )b
+--R             + 
+--R                       9          7          5        3  4
+--R               (221184a  - 580608a  + 168960a  - 5632a )b
+--R             + 
+--R                         10          8          6         4       2  3
+--R               (- 110592a   + 645120a  - 303360a  + 20224a  - 256a )b
+--R             + 
+--R                      11          9          7         5        3  2
+--R               (24576a   - 479232a  + 336384a  - 37376a  + 1536a )b
+--R             + 
+--R                       10          8         6        4           11         9
+--R               (221184a   - 215040a  + 35840a  - 3072a )b - 49152a   + 61440a
+--R             + 
+--R                       7        5
+--R               - 14336a  + 2048a
+--R          *
+--R              2
+--R             c
+--R         + 
+--R                    13       2 12         3         11           4        2  10
+--R               12a b   - 216a b   + (1728a  - 120a)b   + (- 8064a  + 1872a )b
+--R             + 
+--R                      5         3         9            6         4        2  8
+--R               (24192a  - 12960a  + 384a)b  + (- 48384a  + 52416a  - 5088a )b
+--R             + 
+--R                      7          5         3         7
+--R               (64512a  - 137088a  + 29664a  - 384a)b
+--R             + 
+--R                        8          6          4        2  6
+--R               (- 55296a  + 241920a  - 100032a  + 4096a )b
+--R             + 
+--R                      9          7          5         3  5
+--R               (27648a  - 290304a  + 215616a  - 18944a )b
+--R             + 
+--R                       10          8          6         4       2  4
+--R               (- 6144a   + 230400a  - 309888a  + 49664a  + 512a )b
+--R             + 
+--R                         9          7         5        3  3
+--R               (- 110592a  + 301056a  - 80640a  - 3584a )b
+--R             + 
+--R                      10          8         6        4  2
+--R               (24576a   - 196608a  + 82432a  + 9216a )b
+--R             + 
+--R                      9         7         5           10         8        6
+--R               (82944a  - 50176a  - 10240a )b - 18432a   + 14336a  + 4096a
+--R          *
+--R             c
+--R         + 
+--R              15        14          2       13        3         12
+--R           - b   + 18a b   + (- 144a  + 12)b   + (672a  - 192a)b
+--R         + 
+--R                   4        2       11         5        3         10
+--R           (- 2016a  + 1368a  - 48)b   + (4032a  - 5712a  + 672a)b
+--R         + 
+--R                   6         4        2       9
+--R           (- 5376a  + 15456a  - 4176a  + 64)b
+--R         + 
+--R                 7         5         3         8
+--R           (4608a  - 28224a  + 15168a  - 768a)b
+--R         + 
+--R                   8         6         4        2  7
+--R           (- 2304a  + 34944a  - 35664a  + 4096a )b
+--R         + 
+--R                9         7         5         3  6
+--R           (512a  - 28416a  + 56736a  - 12800a )b
+--R         + 
+--R                  8         6         4       2  5
+--R           (13824a  - 61824a  + 25984a  - 256a )b
+--R         + 
+--R                   9         7         5        3  4
+--R           (- 3072a  + 45312a  - 35840a  + 2048a )b
+--R         + 
+--R                    8         6        4  3         9         7        5  2
+--R           (- 20736a  + 34048a  - 6400a )b  + (4608a  - 22016a  + 9728a )b
+--R         + 
+--R                 8        6          9        7
+--R           (9216a  - 7168a )b - 2048a  + 2048a
+--R      /
+--R            12 3      11 2 2      10 4     9 6
+--R         64a  c  - 48a  b c  + 12a  b c - a b
+--R     , trying square-free.
+--R
+--R   (85)
+--R     - y(x) + x
+--R  /
+--R       (2y(x) + 2x)
+--R    *
+--R         %e
+--R      **
+--R             2
+--R          *
+--R             log
+--R                                                 +-----------+
+--R                       2 2                    2  |          2       2        2
+--R                    (2a x  + 2a b x - 2a c + b )\|- 4a c + b   + (8a c - 2a b )x
+--R                  + 
+--R                              3
+--R                    4a b c - b
+--R               /
+--R                     2
+--R                  a x  + b x + c
+--R        /
+--R            +-----------+
+--R            |          2
+--R           \|- 4a c + b
+--R                                          Type: Union(Expression Integer,...)
+--E 85
+
+--S 86 of 139
+ode180expr := (a*x**2+b*x+c)*(x*D(yx,x)-yx) - yx**2 + x**2
+--R 
+--R
+--R   (86)
+--R            2    2     3         4
+--R         (4x y(x)  + 8x y(x) + 4x )
+--R      *
+--R             %e
+--R          **
+--R                 2
+--R              *
+--R                 log
+--R                                                     +-----------+
+--R                           2 2                    2  |          2
+--R                        (2a x  + 2a b x - 2a c + b )\|- 4a c + b
+--R                      + 
+--R                           2        2               3
+--R                        (8a c - 2a b )x + 4a b c - b
+--R                   /
+--R                         2
+--R                      a x  + b x + c
+--R            /
+--R                +-----------+
+--R                |          2
+--R               \|- 4a c + b
+--R        **
+--R           2
+--R     + 
+--R                  4       3       2  ,           2                      2
+--R           (- 4a x  - 4b x  - 4c x )y (x) + (2a x  + (2b + 4)x + 2c)y(x)
+--R
+--R         + 
+--R                3       2                   4              3       2
+--R           (4a x  + 4b x  + 4c x)y(x) - 2a x  + (- 2b - 4)x  - 2c x
+--R      *
+--R           %e
+--R        **
+--R               2
+--R            *
+--R               log
+--R                                                   +-----------+
+--R                         2 2                    2  |          2
+--R                      (2a x  + 2a b x - 2a c + b )\|- 4a c + b
+--R                    + 
+--R                         2        2               3
+--R                      (8a c - 2a b )x + 4a b c - b
+--R                 /
+--R                       2
+--R                    a x  + b x + c
+--R          /
+--R              +-----------+
+--R              |          2
+--R             \|- 4a c + b
+--R     + 
+--R             2              2
+--R       - y(x)  + 2x y(x) - x
+--R  /
+--R             2               2
+--R       (4y(x)  + 8x y(x) + 4x )
+--R    *
+--R           %e
+--R        **
+--R               2
+--R            *
+--R               log
+--R                                                   +-----------+
+--R                         2 2                    2  |          2
+--R                      (2a x  + 2a b x - 2a c + b )\|- 4a c + b
+--R                    + 
+--R                         2        2               3
+--R                      (8a c - 2a b )x + 4a b c - b
+--R                 /
+--R                       2
+--R                    a x  + b x + c
+--R          /
+--R              +-----------+
+--R              |          2
+--R             \|- 4a c + b
+--R      **
+--R         2
+--R                                                     Type: Expression Integer
+--E 86
+
+--S 87 of 139
+ode181 := x**4*(D(y(x),x)+y(x)**2) + a
+--R 
+--R
+--R          4 ,       4    2
+--R   (87)  x y (x) + x y(x)  + a
+--R
+--R                                                     Type: Expression Integer
+--E 87
+
+--S 88 of 139
+yx:=solve(ode181,y,x)
+--R 
+--R                                                     2
+--R   WARNING (genufact): No known algorithm to factor ?  + a, trying square-free.
+--R
+--R                   +---+    2
+--R                  \|- a  - x y(x) + x
+--R   (88)  ------------------------------------
+--R                                        +---+
+--R                                      2\|- a
+--R                                      -------
+--R             2           +---+           x
+--R         ((2x y(x) - 2x)\|- a  - 2a)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 88
+
+--S 89 of 139
+ode181expr := x**4*(D(yx,x)+yx**2) + a
+--R 
+--R
+--R   (89)
+--R                  +---+
+--R                2\|- a
+--R                -------
+--R             6     x    ,
+--R       - 4a x %e       y (x)
+--R
+--R     + 
+--R             2 2         2   +---+     2 4    2     2 3         2 2     3
+--R         ((8a x y(x) - 8a x)\|- a  + 4a x y(x)  - 8a x y(x) + 4a x  - 4a )
+--R      *
+--R              +---+ 2
+--R            2\|- a
+--R            -------
+--R               x
+--R         (%e       )
+--R     + 
+--R                                 +---+
+--R                               2\|- a
+--R                               -------
+--R              6    2     2 2      x         6         5  +---+    8    2
+--R       (- 4a x y(x)  - 4a x )%e        + (2x y(x) - 2x )\|- a  - x y(x)
+--R     + 
+--R         7        6      4
+--R       2x y(x) - x  + a x
+--R  /
+--R             2             +---+       4    2       3           2     2
+--R       ((8a x y(x) - 8a x)\|- a  + 4a x y(x)  - 8a x y(x) + 4a x  - 4a )
+--R    *
+--R            +---+ 2
+--R          2\|- a
+--R          -------
+--R             x
+--R       (%e       )
+--R                                                     Type: Expression Integer
+--E 89
+
+--S 90 of 139
+ode182 := x*(x**3-1)*D(y(x),x) - 2*x*y(x)**2 + y(x) + x**2
+--R 
+--R
+--R           4      ,             2           2
+--R   (90)  (x  - x)y (x) - 2x y(x)  + y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 90
+@
+
+This never completes
+\begin{verbatim}
+ ode182a:=solve(ode182,y,x)
+\end{verbatim}
+<<*>>=
+
+--S 91 of 139
+ode183 := (2*x**4-x)*D(y(x),x) - 2*(x**3-1)*y(x)
+--R 
+--R
+--R            4      ,           3
+--R   (91)  (2x  - x)y (x) + (- 2x  + 2)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 91
+
+--S 92 of 139
+ode183a:=solve(ode183,y,x)
+--R 
+--R
+--R                                     2
+--R                                    x
+--R   (92)  [particular= 0,basis= [----------]]
+--R                                 +-------+
+--R                                3|  3
+--R                                \|2x  - 1
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 92
+
+--S 93 of 139
+yx:=ode183a.particular
+--R 
+--R
+--R   (93)  0
+--R                                                     Type: Expression Integer
+--E 93
+
+--S 94 of 139
+ode183expr := (2*x**4-x)*D(yx,x) - 2*(x**3-1)*yx
+--R 
+--R
+--R   (94)  0
+--R                                                     Type: Expression Integer
+--E 94
+
+--S 95 of 139
+ode184 := (a*x**2+b*x+c)**2*(D(y(x),x)+y(x)**2) + A
+--R 
+--R
+--R   (95)
+--R       2 4         3            2  2             2  ,
+--R     (a x  + 2a b x  + (2a c + b )x  + 2b c x + c )y (x)
+--R
+--R   + 
+--R       2 4         3            2  2             2     2
+--R     (a x  + 2a b x  + (2a c + b )x  + 2b c x + c )y(x)  + A
+--R                                                     Type: Expression Integer
+--E 95
+
+@
+This never completes
+\begin{verbatim}
+ ode184a:=solve(ode184,y,x)
+\end{verbatim}
+<<*>>=
+
+--S 96 of 139
+ode185 := x**7*D(y(x),x) + 2*(x**2+1)*y(x)**3 + 5*x**3*y(x)**2
+--R 
+--R
+--R          7 ,         2         3     3    2
+--R   (96)  x y (x) + (2x  + 2)y(x)  + 5x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 96
+
+--S 97 of 139
+ode185a:=solve(ode185,y,x)
+--R 
+--R
+--R   (97)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 97
+
+--S 98 of 139
+ode186 := x**n*D(y(x),x) + y(x)**2 -(n-1)*x**(n-1)*y(x) + x**(2*n-2)
+--R 
+--R
+--R          n ,       2n - 2                 n - 1       2
+--R   (98)  x y (x) + x       + (- n + 1)y(x)x      + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 98
+
+--S 99 of 139
+ode186a:=solve(ode186,y,x)
+--R 
+--R
+--R   (99)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 99
+
+--S 100 of 139
+ode187 := x**n*D(y(x),x) - a*y(x)**2 - b*x**(2*n-2)
+--R 
+--R
+--R           n ,         2n - 2         2
+--R   (100)  x y (x) - b x       - a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 100
+
+--S 101 of 139
+ode187a:=solve(ode187,y,x)
+--R 
+--R
+--R   (101)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 101
+
+--S 102 of 139
+ode188 := x**(2*n+1)*D(y(x),x) - a*y(x)**3 - b*x**3*n
+--R 
+--R
+--R           2n + 1 ,            3        3
+--R   (102)  x      y (x) - a y(x)  - b n x
+--R
+--R                                                     Type: Expression Integer
+--E 102
+
+--S 103 of 139
+ode188a:=solve(ode188,y,x)
+--R 
+--R
+--R   (103)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 103
+
+--S 104 of 139
+ode189 := x**(m*(n-1)+n)*D(y(x),x) - a*y(x)**n - b*x**(n*(m+1))
+--R 
+--R
+--R           (m + 1)n - m ,            n      (m + 1)n
+--R   (104)  x            y (x) - a y(x)  - b x
+--R
+--R                                                     Type: Expression Integer
+--E 104
+
+--S 105 of 139
+ode189a:=solve(ode189,y,x)
+--R 
+--R
+--R   (105)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 105
+
+--S 106 of 139
+ode190 := sqrt(x**2-1)*D(y(x),x) - sqrt(y(x)**2-1)
+--R 
+--R
+--R           +------+         +---------+
+--R           | 2      ,       |    2
+--R   (106)  \|x  - 1 y (x) - \|y(x)  - 1
+--R
+--R                                                     Type: Expression Integer
+--E 106
+
+--S 107 of 139
+ode190a:=solve(ode190,y,x)
+--R 
+--R
+--R   (107)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 107
+
+--S 108 of 139
+ode191 := sqrt(1-x**2)*D(y(x),x) - y(x)*sqrt(y(x)**2-1)
+--R 
+--R
+--R           +--------+             +---------+
+--R           |   2      ,           |    2
+--R   (108)  \|- x  + 1 y (x) - y(x)\|y(x)  - 1
+--R
+--R                                                     Type: Expression Integer
+--E 108
+
+--S 109 of 139
+ode191a:=solve(ode191,y,x)
+--R 
+--R
+--R   (109)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 109
+
+--S 110 of 139
+ode192 := sqrt(x**2+a**2)*D(y(x),x) + y(x) - sqrt(x**2+a**2) + x
+--R 
+--R
+--R           +-------+         +-------+
+--R           | 2    2  ,       | 2    2
+--R   (110)  \|x  + a  y (x) - \|x  + a   + y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 110
+
+--S 111 of 139
+ode192a:=solve(ode192,y,x)
+--R 
+--R
+--R   (111)
+--R                    +-------+          +-------+               +-------+
+--R                    | 2    2           | 2    2                | 2    2
+--R   [particular= (- \|x  + a   + x)log(\|x  + a   - x),basis= [\|x  + a   - x]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 111
+
+--S 112 of 139
+yx:=ode192a.particular
+--R 
+--R
+--R              +-------+          +-------+
+--R              | 2    2           | 2    2
+--R   (112)  (- \|x  + a   + x)log(\|x  + a   - x)
+--R                                                     Type: Expression Integer
+--E 112
+
+--S 113 of 139
+ode192expr := sqrt(x**2+a**2)*D(yx,x) + yx - sqrt(x**2+a**2) + x
+--R 
+--R
+--R   (113)  0
+--R                                                     Type: Expression Integer
+--E 113
+
+--S 114 of 139
+ode193 := x*D(y(x),x)*log(x) + y(x) - a*x*(log(x)+1)
+--R 
+--R
+--R                   ,
+--R   (114)  x log(x)y (x) - a x log(x) + y(x) - a x
+--R
+--R                                                     Type: Expression Integer
+--E 114
+
+--S 115 of 139
+ode193a:=solve(ode193,y,x)
+--R 
+--R
+--R                                      1
+--R   (115)  [particular= a x,basis= [------]]
+--R                                   log(x)
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 115
+
+--S 116 of 139
+yx:=ode193a.particular
+--R
+--R   (116)  a x
+--R                                                     Type: Expression Integer
+--E 116
+
+--S 117 of 139
+ode193expr := x*D(yx,x)*log(x) + yx - a*x*(log(x)+1)
+--R
+--R   (117)  0
+--R                                                     Type: Expression Integer
+--E 117
+
+--S 118 of 139
+ode194 := x*D(y(x),x)*log(x) - y(x)**2*log(x) - _
+            (2*log(x)**2+1)*y(x) - log(x)**3
+--R 
+--R
+--R                   ,            3              2       2
+--R   (118)  x log(x)y (x) - log(x)  - 2y(x)log(x)  - y(x) log(x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 118
+
+--S 119 of 139
+ode194a:=solve(ode194,y,x)
+--R 
+--R
+--R   (119)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 119
+
+--S 120 of 139
+ode195 := sin(x)*D(y(x),x) - y(x)**2*sin(x)**2 + (cos(x) - 3*sin(x))*y(x) + 4
+--R 
+--R
+--R                 ,          2      2
+--R   (120)  sin(x)y (x) - y(x) sin(x)  - 3y(x)sin(x) + y(x)cos(x) + 4
+--R
+--R                                                     Type: Expression Integer
+--E 120
+
+--S 121 of 139
+yx:=solve(ode195,y,x)
+--R 
+--R
+--R              - y(x)sin(x) + 1
+--R   (121)  ------------------------
+--R                 5x             5x
+--R          5y(x)%e  sin(x) + 20%e
+--R                                          Type: Union(Expression Integer,...)
+--E 121
+
+--S 122 of 139
+ode195expr:=sin(x)*D(yx,x) - yx**2*sin(x)**2 + (cos(x) - 3*sin(x))*yx + 4
+--R 
+--R
+--R   (122)
+--R             5x      2 ,          2      4          2  5x               3
+--R       - 25%e  sin(x) y (x) - y(x) sin(x)  + (40y(x) %e   + 2y(x))sin(x)
+--R
+--R     + 
+--R               2   5x 2           2                   5x           2
+--R       (100y(x) (%e  )  + (- 5y(x) cos(x) + 120y(x))%e   - 1)sin(x)
+--R     + 
+--R                  5x 2                           5x                 5x 2
+--R       (800y(x)(%e  )  + (- 40y(x)cos(x) - 160)%e  )sin(x) + 1600(%e  )
+--R     + 
+--R                 5x
+--R       20cos(x)%e
+--R  /
+--R           2   5x 2      2             5x 2               5x 2
+--R     25y(x) (%e  ) sin(x)  + 200y(x)(%e  ) sin(x) + 400(%e  )
+--R                                                     Type: Expression Integer
+--E 122
+
+--S 123 of 139
+ode196 := cos(x)*D(y(x),x) + y(x) + (1 + sin(x))*cos(x)
+--R 
+--R
+--R                 ,
+--R   (123)  cos(x)y (x) + cos(x)sin(x) + cos(x) + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 123
+
+--S 124 of 139
+ode196a:=solve(ode196,y,x)
+--R 
+--R
+--R   (124)
+--R   [
+--R     particular =
+--R                                        sin(x) - cos(x) - 1
+--R           (- 4sin(x) + 4cos(x) + 4)log(-------------------)
+--R                                             cos(x) + 1
+--R         + 
+--R                                         2              2
+--R         (2sin(x) - 2cos(x) - 2)log(----------) - sin(x)  + (cos(x) + 1)sin(x)
+--R                                    cos(x) + 1
+--R      /
+--R         sin(x) + cos(x) + 1
+--R     ,
+--R            sin(x) - cos(x) - 1
+--R    basis= [-------------------]]
+--R            sin(x) + cos(x) + 1
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 124
+
+--S 125 of 139
+yx:=ode196a.particular
+--R 
+--R
+--R   (125)
+--R                                    sin(x) - cos(x) - 1
+--R       (- 4sin(x) + 4cos(x) + 4)log(-------------------)
+--R                                         cos(x) + 1
+--R     + 
+--R                                       2              2
+--R       (2sin(x) - 2cos(x) - 2)log(----------) - sin(x)  + (cos(x) + 1)sin(x)
+--R                                  cos(x) + 1
+--R  /
+--R     sin(x) + cos(x) + 1
+--R                                                     Type: Expression Integer
+--E 125
+
+--S 126 of 139
+ode196expr := cos(x)*D(yx,x) + yx + (1 + sin(x))*cos(x)
+--R 
+--R
+--R   (126)
+--R                     2                      2          4           3          2
+--R           (- 8cos(x)  - 12cos(x) - 4)sin(x)  - 8cos(x)  - 12cos(x)  + 4cos(x)
+--R         + 
+--R           12cos(x) + 4
+--R      *
+--R             sin(x) - cos(x) - 1
+--R         log(-------------------)
+--R                  cos(x) + 1
+--R     + 
+--R                   2                     2          4          3          2
+--R           (4cos(x)  + 6cos(x) + 2)sin(x)  + 4cos(x)  + 6cos(x)  - 2cos(x)
+--R         + 
+--R           - 6cos(x) - 2
+--R      *
+--R                  2
+--R         log(----------)
+--R             cos(x) + 1
+--R     + 
+--R                2                     3          3                2
+--R       (- cos(x)  - 4cos(x) - 1)sin(x)  + (cos(x)  - cos(x))sin(x)
+--R     + 
+--R                4          3                              5          3
+--R       (- cos(x)  - 4cos(x)  + 4cos(x) + 1)sin(x) + cos(x)  - 2cos(x)  + cos(x)
+--R  /
+--R                         2           2                              3          2
+--R       (cos(x) + 1)sin(x)  + (2cos(x)  + 4cos(x) + 2)sin(x) + cos(x)  + 3cos(x)
+--R     + 
+--R       3cos(x) + 1
+--R                                                     Type: Expression Integer
+--E 126
+
+--S 127 of 139
+ode197 := cos(x)*D(y(x),x) - y(x)**4 - y(x)*sin(x)
+--R 
+--R
+--R                 ,                       4
+--R   (127)  cos(x)y (x) - y(x)sin(x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 127
+
+--S 128 of 139
+yx:=solve(ode197,y,x)
+--R 
+--R
+--R                3      2       3
+--R          (2y(x) cos(x)  + y(x) )sin(x) + 1
+--R   (128)  ---------------------------------
+--R                         3      3
+--R                     y(x) cos(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 128
+
+--S 129 of 139
+ode197expr := cos(x)*D(yx,x) - yx**4 - yx*sin(x)
+--R 
+--R
+--R   (129)
+--R              8      10 ,
+--R       - 3y(x) cos(x)  y (x)
+--R
+--R     + 
+--R                   12      8         12      6         12      4
+--R           - 16y(x)  cos(x)  - 32y(x)  cos(x)  - 24y(x)  cos(x)
+--R         + 
+--R                  12      2       12
+--R           - 8y(x)  cos(x)  - y(x)
+--R      *
+--R               4
+--R         sin(x)
+--R     + 
+--R                9      6         9      4         9      2        9       3
+--R       (- 32y(x) cos(x)  - 48y(x) cos(x)  - 24y(x) cos(x)  - 4y(x) )sin(x)
+--R     + 
+--R             12      9         6      4         6      2        6       2
+--R       (2y(x)  cos(x)  - 24y(x) cos(x)  - 24y(x) cos(x)  - 6y(x) )sin(x)
+--R     + 
+--R             9      9        3      2        3               12      13
+--R       (2y(x) cos(x)  - 8y(x) cos(x)  - 4y(x) )sin(x) + 2y(x)  cos(x)
+--R     + 
+--R           12      11
+--R       y(x)  cos(x)   - 1
+--R  /
+--R         12      12
+--R     y(x)  cos(x)
+--R                                                     Type: Expression Integer
+--E 129
+
+--S 130 of 139
+ode198 := sin(x)*cos(x)*D(y(x),x) - y(x) - sin(x)**3
+--R 
+--R
+--R                       ,            3
+--R   (130)  cos(x)sin(x)y (x) - sin(x)  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 130
+
+--S 131 of 139
+ode198a:=solve(ode198,y,x)
+--R 
+--R
+--R                                        sin(x)
+--R   (131)  [particular= - sin(x),basis= [------]]
+--R                                        cos(x)
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 131
+
+--S 132 of 139
+yx:=ode198a.particular
+--R 
+--R
+--R   (132)  - sin(x)
+--R                                                     Type: Expression Integer
+--E 132
+
+--S 133 of 139
+ode198expr := sin(x)*cos(x)*D(yx,x) - yx - sin(x)**3
+--R 
+--R
+--R                  3            2
+--R   (133)  - sin(x)  + (- cos(x)  + 1)sin(x)
+--R                                                     Type: Expression Integer
+--E 133
+
+--S 134 of 139
+ode199 := sin(2*x)*D(y(x),x) + sin(2*y(x))
+--R 
+--R
+--R                  ,
+--R   (134)  sin(2x)y (x) + sin(2y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 134
+
+--S 135 of 139
+ode199a:=solve(ode199,y,x)
+--R 
+--R
+--R   (135)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 135
+
+--S 136 of 139
+ode200 := (a*sin(x)**2+b)*D(y(x),x) + a*y(x)*sin(2*x) + A*x*(a*sin(x)**2+c)
+--R 
+--R
+--R                   2      ,                                  2
+--R   (136)  (a sin(x)  + b)y (x) + a y(x)sin(2x) + A a x sin(x)  + A c x
+--R
+--R                                                     Type: Expression Integer
+--E 136
+
+--S 137 of 139
+ode200a:=solve(ode200,y,x)
+--R 
+--R
+--R   (137)
+--R                                                  2                2
+--R                - 2A a x cos(x)sin(x) - A a cos(x)  + (2A c + A a)x
+--R   [particular= ----------------------------------------------------,
+--R                                         2
+--R                                4a cos(x)  - 4b - 4a
+--R                    1
+--R    basis= [-----------------]]
+--R                    2
+--R            a cos(x)  - b - a
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 137
+
+--S 138 of 139
+yx:=ode200a.particular
+--R 
+--R
+--R                                            2                2
+--R          - 2A a x cos(x)sin(x) - A a cos(x)  + (2A c + A a)x
+--R   (138)  ----------------------------------------------------
+--R                                   2
+--R                          4a cos(x)  - 4b - 4a
+--R                                                     Type: Expression Integer
+--E 138
+
+--S 139 of 139
+ode200expr := (a*sin(x)**2+b)*D(yx,x) + a*yx*sin(2*x) + A*x*(a*sin(x)**2+c)
+--R 
+--R
+--R   (139)
+--R                  3        3        2        3                      3      4
+--R           (- 2A a x cos(x)  + (2A a b + 2A a )x cos(x))sin(x) - A a cos(x)
+--R         + 
+--R                 2       3  2      2       3       2
+--R           ((2A a c + A a )x  + A a b + A a )cos(x)
+--R         + 
+--R                            2        2       3  2
+--R           ((- 2A a b - 2A a )c - A a b - A a )x
+--R      *
+--R         sin(2x)
+--R     + 
+--R              3        2          2        3         4
+--R       (- 2A a x cos(x)  + (- 2A a b - 2A a )x)sin(x)
+--R     + 
+--R              3      3        2        3  2             3
+--R       (- 2A a cos(x)  + (4A a c + 2A a )x cos(x))sin(x)
+--R     + 
+--R               3        4        2        2        3         2
+--R           2A a x cos(x)  + (4A a c - 8A a b - 4A a )x cos(x)
+--R         + 
+--R                            2           2       2        3
+--R           ((- 4A a b - 4A a )c + 2A a b  + 4A a b + 2A a )x
+--R      *
+--R               2
+--R         sin(x)
+--R     + 
+--R              2        3                   2   2
+--R       (- 2A a b cos(x)  + (4A a b c + 2A a b)x cos(x))sin(x)
+--R     + 
+--R            2        2          4
+--R       (4A a c - 2A a b)x cos(x)
+--R     + 
+--R                        2           2       2          2
+--R       ((- 4A a b - 8A a )c + 2A a b  + 4A a b)x cos(x)
+--R     + 
+--R                      2           2       2
+--R       ((4A a b + 4A a )c - 2A a b  - 2A a b)x
+--R  /
+--R       2      4               2       2     2            2
+--R     4a cos(x)  + (- 8a b - 8a )cos(x)  + 4b  + 8a b + 4a
+--R                                                     Type: Expression Integer
+--E 139
+
+)spool
+)lisp (bye)
+ 
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} {\bf http://www.cs.uwaterloo.ca/$\tilde{}$ecterrab/odetools.html}
+\end{thebibliography}
+\end{document}

\start
Date: Fri, 5 Oct 2007 12:47:45 -0500
From: Tim Daly
To: list
Subject: 20071005.03.tpd.patch

This patch adds Axiom regression tests of Kamke ODE 201-250
=========================================================================
diff --git a/changelog b/changelog
index 2e818cc..666bd42 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071005 tpd src/input/Makefile kamke4.input regression test added
+20071005 tpd src/input/kamke4.input ODE regression test added
 20071005 tpd src/input/Makefile kamke3.input regression test added
 20071005 tpd src/input/kamke3.input ODE regression test added
 20071004 tpd src/input/Makefile kamke2.input regression test added
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index 1bda3be..b803938 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -323,6 +323,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     iprntpk.regress \
     ipftest.regress   is.regress       isprime.regress  kafile.regress \
     kamke0.regress    kamke1.regress   kamke2.regress   kamke3.regress \
+    kamke4.regress \
     kernel.regress    knot2.regress    kovacic.regress  kuipers.regress \
     laplace.regress   leg.regress      limit.regress    lindep.regress \
     list.regress      lode.regress     lodesys.regress  lodo1.regress \
@@ -562,7 +563,7 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/intlf.input    ${OUT}/intmix.input     ${OUT}/intrf.input \
        ${OUT}/ipftest.input  ${OUT}/is.input         ${OUT}/isprime.input \
        ${OUT}/kafile.input   ${OUT}/kamke0.input     ${OUT}/kamke1.input \
-       ${OUT}/kamke2.input   ${OUT}/kamke3.input \
+       ${OUT}/kamke2.input   ${OUT}/kamke3.input     ${OUT}/kamke4.input \
        ${OUT}/kernel.input   ${OUT}/knot.input \
        ${OUT}/kovacic.input  ${OUT}/kuipers.input  \
        ${OUT}/laplace.input  ${OUT}/leg.input        ${OUT}/lexp.input \
@@ -830,6 +831,7 @@ DOCFILES= \
   ${DOC}/isprime.input.dvi     ${DOC}/kafile.input.dvi     \
   ${DOC}/kamke0.input.dvi      ${DOC}/kamke1.input.dvi     \
   ${DOC}/kamke2.input.dvi      ${DOC}/kamke3.input.dvi     \
+  ${DOC}/kamke4.input.dvi     \
   ${DOC}/kernel.input.dvi      ${DOC}/knot2.input.dvi      \
   ${DOC}/knot.input.dvi        ${DOC}/knownbugs.input.dvi  \
   ${DOC}/kovacic.input.dvi     ${DOC}/kuipers.input.dvi    \
diff --git a/src/input/kamke4.input.pamphlet b/src/input/kamke4.input.pamphlet
new file mode 100644
index 0000000..57e395d
--- /dev/null
+++ b/src/input/kamke4.input.pamphlet
@@ -0,0 +1,1462 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kamke4.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+This is the 201-250 of the Kamke test suite as published by 
+E. S. Cheb-Terrab\cite{1}. They have been rewritten using Axiom
+syntax. Where possible we show that the particular solution actually
+satisfies the original ordinary differential equation.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)spool kamke4.output
+)set break resume
+)set mes auto off
+)clear all
+--S 1 of 127
+y:=operator 'y
+--R 
+--R
+--R   (1)  y
+--R                                                          Type: BasicOperator
+--E 1
+
+--S 2 of 127
+f:=operator 'f
+--R 
+--R
+--R   (2)  f
+--R                                                          Type: BasicOperator
+--E 2
+
+--S 3 of 127
+f0:=operator 'f0
+--R 
+--R
+--R   (3)  f0
+--R                                                          Type: BasicOperator
+--E 3
+
+--S 4 of 127
+f1:=operator 'f1
+--R 
+--R
+--R   (4)  f1
+--R                                                          Type: BasicOperator
+--E 4
+
+--S 5 of 127
+f2:=operator 'f2
+--R 
+--R
+--R   (5)  f2
+--R                                                          Type: BasicOperator
+--E 5
+
+--S 6 of 127
+g:=operator 'g
+--R 
+--R
+--R   (6)  g
+--R                                                          Type: BasicOperator
+--E 6
+
+--S 7 of 127
+tg:=operator 'tg
+--R 
+--R
+--R   (7)  tg
+--R                                                          Type: BasicOperator
+--E 7
+
+--S 8 of 127
+h:=operator 'h
+--R 
+--R
+--R   (8)  h
+--R                                                          Type: BasicOperator
+--E 8
+
+--S 9 of 127
+ode201 := 2*f(x)*D(y(x),x)+2*f(x)*y(x)**2-D(f(x),x)*y(x)-2*f(x)**2
+--R 
+--R
+--R              ,           ,               2        2
+--R   (9)  2f(x)y (x) - y(x)f (x) + 2f(x)y(x)  - 2f(x)
+--R
+--R                                                     Type: Expression Integer
+--E 9
+
+--S 10 of 127
+solve(ode201,y,x)
+--R 
+--R
+--R   (10)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 10
+
+--S 11 of 127
+ode202 := f(x)*D(y(x),x)+g(x)*tg(y(x))+h(x)
+--R 
+--R
+--R              ,
+--R   (11)  f(x)y (x) + g(x)tg(y(x)) + h(x)
+--R
+--R                                                     Type: Expression Integer
+--E 11
+
+--S 12 of 127
+solve(ode202,y,x)
+--R 
+--R
+--R   (12)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 12
+
+--S 13 of 127
+ode203 := y(x)*D(y(x),x)+y(x)+x**3
+--R 
+--R
+--R              ,              3
+--R   (13)  y(x)y (x) + y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 13
+
+--S 14 of 127
+solve(ode203,y,x)
+--R 
+--R
+--R   (14)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 14
+
+--S 15 of 127
+ode204 := y(x)*D(y(x),x)+a*y(x)+x
+--R 
+--R
+--R              ,
+--R   (15)  y(x)y (x) + a y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 15
+
+--S 16 of 127
+solve(ode204,y,x)
+--R 
+--R
+--R   (16)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 16
+
+--S 17 of 127
+ode205 := y(x)*D(y(x),x)+a*y(x)+(a**2-1)/(4)*x+b*x**n
+--R 
+--R
+--R               ,          n               2
+--R         4y(x)y (x) + 4b x  + 4a y(x) + (a  - 1)x
+--R
+--R   (17)  ----------------------------------------
+--R                             4
+--R                                                     Type: Expression Integer
+--E 17
+
+--S 18 of 127
+solve(ode205,y,x)
+--R 
+--R
+--R   (18)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 18
+
+--S 19 of 127
+ode206 := y(x)*D(y(x),x)+a*y(x)+b*exp(x)-2*a
+--R 
+--R
+--R              ,          x
+--R   (19)  y(x)y (x) + b %e  + a y(x) - 2a
+--R
+--R                                                     Type: Expression Integer
+--E 19
+
+--S 20 of 127
+solve(ode206,y,x)
+--R 
+--R
+--R   (20)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 20
+
+--S 21 of 127
+ode207 := y(x)*D(y(x),x)+y(x)**2+4*x*(x+1)
+--R 
+--R
+--R              ,          2     2
+--R   (21)  y(x)y (x) + y(x)  + 4x  + 4x
+--R
+--R                                                     Type: Expression Integer
+--E 21
+
+--S 22 of 127
+yx:=solve(ode207,y,x)
+--R 
+--R
+--R              2     2   2x
+--R         (y(x)  + 4x )%e
+--R   (22)  -----------------
+--R                 2
+--R                                          Type: Union(Expression Integer,...)
+--E 22
+
+--S 23 of 127
+ode207expr := yx*D(yx,x)+yx**2+4*x*(x+1)
+--R 
+--R
+--R   (23)
+--R             3     2        2x 2 ,
+--R       (2y(x)  + 8x y(x))(%e  ) y (x)
+--R
+--R     + 
+--R             4       2          2      4      3    2x 2      2
+--R       (3y(x)  + (24x  + 8x)y(x)  + 48x  + 32x )(%e  )  + 16x  + 16x
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 23
+
+--S 24 of 127
+ode208 := y(x)*D(y(x),x)+a*y(x)**2-b*cos(x+c)
+--R 
+--R
+--R              ,                           2
+--R   (24)  y(x)y (x) - b cos(x + c) + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 24
+
+--S 25 of 127
+yx:=solve(ode208,y,x)
+--R 
+--R
+--R                2a x                                     2         2   2a x
+--R         - 2b %e    sin(x + c) + (- 4a b cos(x + c) + (4a  + 1)y(x) )%e
+--R   (25)  ------------------------------------------------------------------
+--R                                         2
+--R                                       8a  + 2
+--R                                          Type: Union(Expression Integer,...)
+--E 25
+
+--S 26 of 127
+ode208expr := yx*D(yx,x)+a*yx**2-b*cos(x+c)
+--R 
+--R
+--R   (26)
+--R                 2              2a x 2
+--R           (- 16a  - 4)b y(x)(%e    ) sin(x + c)
+--R         + 
+--R                  3                             4      2         3    2a x 2
+--R           ((- 32a  - 8a)b y(x)cos(x + c) + (32a  + 16a  + 2)y(x) )(%e    )
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R           2   2a x 2          2
+--R       4a b (%e    ) sin(x + c)
+--R     + 
+--R            2      2                   3            2    2a x 2
+--R       ((32a  + 4)b cos(x + c) + (- 32a  - 8a)b y(x) )(%e    ) sin(x + c)
+--R     + 
+--R               3       2          2         4      2           2
+--R           (48a  + 8a)b cos(x + c)  + (- 96a  - 32a  - 2)b y(x) cos(x + c)
+--R         + 
+--R               5      3          4
+--R           (48a  + 24a  + 3a)y(x)
+--R      *
+--R            2a x 2
+--R         (%e    )
+--R     + 
+--R             4      2
+--R       (- 64a  - 32a  - 4)b cos(x + c)
+--R  /
+--R        4      2
+--R     64a  + 32a  + 4
+--R                                                     Type: Expression Integer
+--E 26
+
+--S 27 of 127
+ode209 := y(x)*D(y(x),x)-sqrt(a*y(x)**2+b)
+--R 
+--R
+--R                      +-----------+
+--R              ,       |      2
+--R   (27)  y(x)y (x) - \|a y(x)  + b
+--R
+--R                                                     Type: Expression Integer
+--E 27
+
+--S 28 of 127
+yx:=solve(ode209,y,x)
+--R 
+--R
+--R                 +-----------+
+--R             +-+ |      2            2 +-+
+--R         - x\|b \|a y(x)  + b  + y(x) \|b  + b x
+--R   (28)  ---------------------------------------
+--R                       +-----------+
+--R                   +-+ |      2
+--R                  \|b \|a y(x)  + b  - b
+--R                                          Type: Union(Expression Integer,...)
+--E 28
+
+--S 29 of 127
+ode209expr := yx*D(yx,x)-sqrt(a*yx**2+b)
+--R 
+--R
+--R   (29)
+--R                               +-----------+
+--R                      2     2  |      2          2    4            2     2  +-+
+--R         ((- 3a b y(x)  - 4b )\|a y(x)  + b  + (a y(x)  + 5a b y(x)  + 4b )\|b )
+--R      *
+--R         ROOT
+--R                                                +-----------+
+--R                      2       +-+            2  |      2                 2 +-+
+--R                ((2a x  + 2b)\|b  + 2a x y(x) )\|a y(x)  + b  - 2a x y(x) \|b
+--R              + 
+--R                        4       2 2           2         2     2
+--R                - a y(x)  + (- a x  - a b)y(x)  - 2a b x  - 2b
+--R           /
+--R                    +-----------+
+--R                +-+ |      2              2
+--R              2\|b \|a y(x)  + b  - a y(x)  - 2b
+--R     + 
+--R                                                    +-----------+
+--R                     3              +-+          3  |      2
+--R           ((a x y(x)  + 4b x y(x))\|b  + 2b y(x) )\|a y(x)  + b
+--R         + 
+--R                    5          3  +-+              3     2
+--R           (- a y(x)  - 2b y(x) )\|b  - 3a b x y(x)  - 4b x y(x)
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                                                        +-----------+
+--R               4          2  +-+              2     2   |      2
+--R       ((a y(x)  + 2b y(x) )\|b  + 3a b x y(x)  + 4b x)\|a y(x)  + b
+--R     + 
+--R           2      4              2     2   +-+            4     2    2
+--R       (- a x y(x)  - 5a b x y(x)  - 4b x)\|b  - 2a b y(x)  - 2b y(x)
+--R  /
+--R                        +-----------+
+--R               2     2  |      2            2    4            2     2  +-+
+--R     (3a b y(x)  + 4b )\|a y(x)  + b  + (- a y(x)  - 5a b y(x)  - 4b )\|b
+--R                                                     Type: Expression Integer
+--E 29
+
+--S 30 of 127
+ode210 := y(x)*D(y(x),x)+x*y(x)**2-4*x
+--R 
+--R
+--R              ,            2
+--R   (30)  y(x)y (x) + x y(x)  - 4x
+--R
+--R                                                     Type: Expression Integer
+--E 30
+
+--S 31 of 127
+yx:=solve(ode210,y,x)
+--R 
+--R
+--R                       2
+--R              2       x
+--R         (y(x)  - 4)%e
+--R   (31)  ---------------
+--R                2
+--R                                          Type: Union(Expression Integer,...)
+--E 31
+
+--S 32 of 127
+ode210expr := yx*D(yx,x)+x*yx**2-4*x
+--R 
+--R
+--R   (32)
+--R                       2 2                                        2 2
+--R         3            x    ,              4           2          x
+--R   (2y(x)  - 8y(x))(%e  ) y (x) + (3x y(x)  - 24x y(x)  + 48x)(%e  )  - 16x
+--R
+--R   ------------------------------------------------------------------------
+--R                                       4
+--R                                                     Type: Expression Integer
+--E 32
+
+--S 33 of 127
+ode211 := y(x)*D(y(x),x)-x*exp(x/y(x))
+--R 
+--R
+--R                           x
+--R                         ----
+--R              ,          y(x)
+--R   (33)  y(x)y (x) - x %e
+--R
+--R                                                     Type: Expression Integer
+--E 33
+
+--S 34 of 127
+solve(ode211,y,x)
+--R 
+--R
+--R   (34)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 34
+
+--S 35 of 127
+ode212 := y(x)*D(y(x),x)+f(x**2+y(x)**2)*g(x)+x
+--R 
+--R
+--R              ,                2    2
+--R   (35)  y(x)y (x) + g(x)f(y(x)  + x ) + x
+--R
+--R                                                     Type: Expression Integer
+--E 35
+
+--S 36 of 127
+solve(ode212,y,x)
+--R 
+--R
+--R   (36)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 36
+
+--S 37 of 127
+ode213 := (y(x)+1)*D(y(x),x)-y(x)-x
+--R 
+--R
+--R                    ,
+--R   (37)  (y(x) + 1)y (x) - y(x) - x
+--R
+--R                                                     Type: Expression Integer
+--E 37
+
+--S 38 of 127
+solve(ode213,y,x)
+--R 
+--R
+--R   (38)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 38
+
+--S 39 of 127
+ode214 := (y(x)+x-1)*D(y(x),x)-y(x)+2*x+3
+--R 
+--R
+--R                        ,
+--R   (39)  (y(x) + x - 1)y (x) - y(x) + 2x + 3
+--R
+--R                                                     Type: Expression Integer
+--E 39
+
+--S 40 of 127
+solve(ode214,y,x)
+--R 
+--R
+--R   (40)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 40
+
+--S 41 of 127
+ode215 := (y(x)+2*x-2)*D(y(x),x)-y(x)+x+1
+--R 
+--R
+--R                         ,
+--R   (41)  (y(x) + 2x - 2)y (x) - y(x) + x + 1
+--R
+--R                                                     Type: Expression Integer
+--E 41
+
+--S 42 of 127
+solve(ode215,y,x)
+--R 
+--R
+--R   (42)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 42
+
+--S 43 of 127
+ode216 := (y(x)-2*x+1)*D(y(x),x)+y(x)+x
+--R 
+--R
+--R                         ,
+--R   (43)  (y(x) - 2x + 1)y (x) + y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 43
+
+--S 44 of 127
+solve(ode216,y,x)
+--R 
+--R
+--R   (44)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 44
+
+--S 45 of 127
+ode217 := (y(x)-x**2)*D(y(x),x)-x
+--R 
+--R
+--R                  2  ,
+--R   (45)  (y(x) - x )y (x) - x
+--R
+--R                                                     Type: Expression Integer
+--E 45
+
+--S 46 of 127
+yx:=solve(ode217,y,x)
+--R 
+--R
+--R                    2       2y(x)
+--R         (2y(x) - 2x  - 1)%e
+--R   (46)  ------------------------
+--R                     4
+--R                                          Type: Union(Expression Integer,...)
+--E 46
+
+--S 47 of 127
+ode217expr := (yx-x**2)*D(yx,x)-x
+--R 
+--R
+--R   (47)
+--R                 2        2              4    2    2y(x) 2
+--R           (2y(x)  + (- 4x  - 1)y(x) + 2x  + x )(%e     )
+--R         + 
+--R                2         4   2y(x)
+--R           (- 4x y(x) + 4x )%e
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                      3        2y(x) 2     3  2y(x)
+--R       (- 2x y(x) + 2x  + x)(%e     )  + 4x %e      - 4x
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 47
+
+--S 48 of 127
+ode218 := (y(x)-x**2)*D(y(x),x)+4*x*y(x)
+--R 
+--R
+--R                  2  ,
+--R   (48)  (y(x) - x )y (x) + 4x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 48
+
+--S 49 of 127
+yx:=solve(ode218,y,x)
+--R 
+--R
+--R                   2
+--R         2y(x) + 2x
+--R   (49)  -----------
+--R            +----+
+--R           \|y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 49
+
+--S 50 of 127
+ode218expr := (yx-x**2)*D(yx,x)+4*x*yx
+--R 
+--R
+--R   (50)
+--R              2     4  +----+    2    2    4      ,
+--R       ((2y(x)  - 2x )\|y(x)  - x y(x)  + x y(x))y (x)
+--R
+--R     + 
+--R               2     3      +----+          3     3    2
+--R       (8x y(x)  + 8x y(x))\|y(x)  + 8x y(x)  + 4x y(x)
+--R  /
+--R         2 +----+
+--R     y(x) \|y(x)
+--R                                                     Type: Expression Integer
+--E 50
+
+--S 51 of 127
+ode219 := (y(x)+g(x))*D(y(x),x)-f2(x)*y(x)**2-f1(x)*y(x)-f0(x)
+--R 
+--R
+--R                       ,               2
+--R   (51)  (y(x) + g(x))y (x) - f2(x)y(x)  - f1(x)y(x) - f0(x)
+--R
+--R                                                     Type: Expression Integer
+--E 51
+
+--S 52 of 127
+solve(ode219,y,x)
+--R 
+--R
+--R   (52)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 52
+
+--S 53 of 127
+ode220 := 2*y(x)*D(y(x),x)-x*y(x)**2-x**3
+--R 
+--R
+--R               ,            2    3
+--R   (53)  2y(x)y (x) - x y(x)  - x
+--R
+--R                                                     Type: Expression Integer
+--E 53
+
+--S 54 of 127
+yx:=solve(ode220,y,x)
+--R 
+--R
+--R                              2
+--R                             x
+--R                           - --
+--R              2    2          2
+--R   (54)  (y(x)  + x  + 2)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 54
+
+--S 55 of 127
+ode220expr := 2*yx*D(yx,x)-x*yx**2-x**3
+--R 
+--R
+--R   (55)
+--R                                   2 2
+--R                                  x
+--R                                - --
+--R           3      2                2   ,
+--R     (4y(x)  + (4x  + 8)y(x))(%e    ) y (x)
+--R
+--R   + 
+--R                                                            2 2
+--R                                                           x
+--R                                                         - --
+--R               4        3          2     5     3            2      3
+--R     (- 3x y(x)  + (- 6x  - 8x)y(x)  - 3x  - 8x  - 4x)(%e    )  - x
+--R                                                     Type: Expression Integer
+--E 55
+
+--S 56 of 127
+ode221 := (2*y(x)+x+1)*D(y(x),x)-(2*y(x)+x-1)
+--R 
+--R
+--R                         ,
+--R   (56)  (2y(x) + x + 1)y (x) - 2y(x) - x + 1
+--R
+--R                                                     Type: Expression Integer
+--E 56
+
+--S 57 of 127
+solve(ode221,y,x)
+--R 
+--R
+--R   (57)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 57
+
+--S 58 of 127
+ode222 := (2*y(x)+x+7)*D(y(x),x)-y(x)+2*x+4
+--R 
+--R
+--R                         ,
+--R   (58)  (2y(x) + x + 7)y (x) - y(x) + 2x + 4
+--R
+--R                                                     Type: Expression Integer
+--E 58
+
+--S 59 of 127
+solve(ode222,y,x)
+--R 
+--R
+--R   (59)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 59
+
+--S 60 of 127
+ode223 := (2*y(x)-x)*D(y(x),x)-y(x)-2*x
+--R 
+--R
+--R                     ,
+--R   (60)  (2y(x) - x)y (x) - y(x) - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 60
+
+--S 61 of 127
+yx:=solve(ode223,y,x)
+--R 
+--R
+--R             2             2
+--R   (61)  y(x)  - x y(x) - x
+--R                                          Type: Union(Expression Integer,...)
+--E 61
+
+--S 62 of 127
+ode223expr := (2*yx-x)*D(yx,x)-yx-2*x
+--R 
+--R
+--R   (62)
+--R           3          2        2               3    2  ,           3
+--R     (4y(x)  - 6x y(x)  + (- 2x  - 2x)y(x) + 2x  + x )y (x) - 2y(x)
+--R
+--R   + 
+--R                   2      2               3     2
+--R     (- 2x - 1)y(x)  + (6x  + 2x)y(x) + 4x  + 3x  - 2x
+--R                                                     Type: Expression Integer
+--E 62
+
+--S 63 of 127
+ode224 := (2*y(x)-6*x)*D(y(x),x)-y(x)+3*x+2
+--R 
+--R
+--R                      ,
+--R   (63)  (2y(x) - 6x)y (x) - y(x) + 3x + 2
+--R
+--R                                                     Type: Expression Integer
+--E 63
+
+--S 64 of 127
+solve(ode224,y,x)
+--R 
+--R
+--R   (64)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 64
+
+--S 65 of 127
+ode225 := (4*y(x)+2*x+3)*D(y(x),x)-2*y(x)-x-1
+--R 
+--R
+--R                          ,
+--R   (65)  (4y(x) + 2x + 3)y (x) - 2y(x) - x - 1
+--R
+--R                                                     Type: Expression Integer
+--E 65
+
+--S 66 of 127
+solve(ode225,y,x)
+--R 
+--R
+--R   (66)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 66
+
+--S 67 of 127
+ode226 := (4*y(x)-2*x-3)*D(y(x),x)+2*y(x)-x-1
+--R 
+--R
+--R                          ,
+--R   (67)  (4y(x) - 2x - 3)y (x) + 2y(x) - x - 1
+--R
+--R                                                     Type: Expression Integer
+--E 67
+
+--S 68 of 127
+solve(ode226,y,x)
+--R 
+--R
+--R   (68)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 68
+
+--S 69 of 127
+ode227 := (4*y(x)-3*x-5)*D(y(x),x)-3*y(x)+7*x+2
+--R 
+--R
+--R                          ,
+--R   (69)  (4y(x) - 3x - 5)y (x) - 3y(x) + 7x + 2
+--R
+--R                                                     Type: Expression Integer
+--E 69
+
+--S 70 of 127
+yx:=solve(ode227,y,x)
+--R 
+--R
+--R              2                       2
+--R         4y(x)  + (- 6x - 10)y(x) + 7x  + 4x
+--R   (70)  -----------------------------------
+--R                          2
+--R                                          Type: Union(Expression Integer,...)
+--E 70
+
+--S 71 of 127
+ode227expr := (4*yx-3*x-5)*D(yx,x)-3*yx+7*x+2
+--R 
+--R
+--R   (71)
+--R                 3                     2        2                        3
+--R           64y(x)  + (- 144x - 240)y(x)  + (184x  + 280x + 160)y(x) - 84x
+--R         + 
+--R                 2
+--R           - 170x  - 20x + 50
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R               3                   2          2                        3       2
+--R       - 48y(x)  + (184x + 140)y(x)  + (- 252x  - 340x - 20)y(x) + 196x  + 105x
+--R     + 
+--R       - 48x - 16
+--R  /
+--R     2
+--R                                                     Type: Expression Integer
+--E 71
+
+--S 72 of 127
+ode228 := (4*y(x)+11*x-11) *D(y(x),x)-25*y(x)-8*x+62
+--R 
+--R
+--R                            ,
+--R   (72)  (4y(x) + 11x - 11)y (x) - 25y(x) - 8x + 62
+--R
+--R                                                     Type: Expression Integer
+--E 72
+
+--S 73 of 127
+solve(ode228,y,x)
+--R 
+--R
+--R   (73)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 73
+
+--S 74 of 127
+ode229 := (12*y(x)-5*x-8)*D(y(x),x)-5*y(x)+2*x+3
+--R 
+--R
+--R                           ,
+--R   (74)  (12y(x) - 5x - 8)y (x) - 5y(x) + 2x + 3
+--R
+--R                                                     Type: Expression Integer
+--E 74
+
+--S 75 of 127
+yx:=solve(ode229,y,x)
+--R 
+--R
+--R              2                     2
+--R   (75)  6y(x)  + (- 5x - 8)y(x) + x  + 3x
+--R                                          Type: Union(Expression Integer,...)
+--E 75
+
+--S 76 of 127
+ode229expr := (12*yx-5*x-8)*D(yx,x)-5*yx+2*x+3
+--R 
+--R
+--R   (76)
+--R                3                       2        2                         3
+--R         864y(x)  + (- 1080x - 1728)y(x)  + (444x  + 1332x + 672)y(x) - 60x
+--R       + 
+--R               2
+--R         - 251x  - 208x + 64
+--R    *
+--R        ,
+--R       y (x)
+--R
+--R   + 
+--R              3                   2          2                        3      2
+--R     - 360y(x)  + (444x + 666)y(x)  + (- 180x  - 502x - 208)y(x) + 24x  + 93x
+--R   + 
+--R     64x - 21
+--R                                                     Type: Expression Integer
+--E 76
+
+--S 77 of 127
+ode230 := a*y(x)*D(y(x),x)+b*y(x)**2+f(x)
+--R 
+--R
+--R                ,            2
+--R   (77)  a y(x)y (x) + b y(x)  + f(x)
+--R
+--R                                                     Type: Expression Integer
+--E 77
+
+--S 78 of 127
+solve(ode230,y,x)
+--R 
+--R
+--I                                 2%I b
+--R            x                    -----
+--R          ++         2             a
+--I   (78)   |   (b y(x)  + f(%I))%e     d%I
+--R         ++
+--R                                          Type: Union(Expression Integer,...)
+--E 78
+
+--S 79 of 127
+ode231 := (a*y(x)+b*x+c)*D(y(x),x)+alpha*y(x)+beta*x+gamma
+--R 
+--R
+--R                            ,
+--R   (79)  (a y(x) + b x + c)y (x) + alpha y(x) + beta x + gamma
+--R
+--R                                                     Type: Expression Integer
+--E 79
+
+--S 80 of 127
+solve(ode231,y,x)
+--R 
+--R
+--R   (80)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 80
+
+--S 81 of 127
+ode232 := x*y(x)*D(y(x),x)+y(x)**2+x**2
+--R 
+--R
+--R                ,          2    2
+--R   (81)  x y(x)y (x) + y(x)  + x
+--R
+--R                                                     Type: Expression Integer
+--E 81
+
+--S 82 of 127
+yx:=solve(ode232,y,x)
+--R 
+--R
+--R           2    2    4
+--R         2x y(x)  + x
+--R   (82)  -------------
+--R               4
+--R                                          Type: Union(Expression Integer,...)
+--E 82
+
+--S 83 of 127
+ode232expr := x*yx*D(yx,x)+yx**2+x**2
+--R 
+--R
+--R            5    3     7      ,         4    4      6    2     8      2
+--R         (8x y(x)  + 4x y(x))y (x) + 12x y(x)  + 16x y(x)  + 5x  + 16x
+--R
+--R   (83)  --------------------------------------------------------------
+--R                                       16
+--R                                                     Type: Expression Integer
+--E 83
+
+--S 84 of 127
+ode233 := x*y(x)*D(y(x),x)-y(x)**2+a*x**3*cos(x)
+--R 
+--R
+--R                ,         3             2
+--R   (84)  x y(x)y (x) + a x cos(x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 84
+
+--S 85 of 127
+yx:=solve(ode233,y,x)
+--R 
+--R
+--R             2             2
+--R         2a x sin(x) + y(x)
+--R   (85)  -------------------
+--R                   2
+--R                 2x
+--R                                          Type: Union(Expression Integer,...)
+--E 85
+
+--S 86 of 127
+ode233expr := x*yx*D(yx,x)-yx**2+a*x**3*cos(x)
+--R 
+--R
+--R   (86)
+--R            3                    3  ,        2 4      2
+--R       (4a x y(x)sin(x) + 2x y(x) )y (x) - 4a x sin(x)
+--R
+--R     + 
+--R          2 5             2    2               3    2       7               4
+--R       (4a x cos(x) - 8a x y(x) )sin(x) + (2a x y(x)  + 4a x )cos(x) - 3y(x)
+--R  /
+--R       4
+--R     4x
+--R                                                     Type: Expression Integer
+--E 86
+
+--S 87 of 127
+ode234 := x*y(x)*D(y(x),x)-y(x)**2+x*y(x)+x**3-2*x**2
+--R 
+--R
+--R                ,          2             3     2
+--R   (87)  x y(x)y (x) - y(x)  + x y(x) + x  - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 87
+
+--S 88 of 127
+solve(ode234,y,x)
+--R 
+--R
+--R   (88)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 88
+
+--S 89 of 127
+ode235 := (x*y(x)+a)*D(y(x),x)+b*y(x)
+--R 
+--R
+--R                      ,
+--R   (89)  (x y(x) + a)y (x) + b y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 89
+
+--S 90 of 127
+yx:=solve(ode235,y,x)
+--R 
+--R
+--R               y(x)
+--R               ----
+--R                 b         y(x)
+--R   (90)  b x %e     + a Ei(----)
+--R                             b
+--R                                          Type: Union(Expression Integer,...)
+--E 90
+
+--S 91 of 127
+ode235expr := (x*yx+a)*D(yx,x)+b*yx
+--R 
+--R
+--R   (91)
+--R                                 y(x) 2
+--R                                 ----
+--R               3            2      b
+--R           (b x y(x) + a b x )(%e    )
+--R         + 
+--R                                                       y(x)
+--R                                                       ----
+--R                2        2     y(x)                2     b
+--R           ((a x y(x) + a x)Ei(----) + a x y(x) + a )%e
+--R                                 b
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                  y(x) 2                                           y(x)
+--R                  ----                                             ----
+--R        2 2         b                    y(x)      2                 b
+--R       b x y(x)(%e    )  + (a b x y(x)Ei(----) + (b x + a b)y(x))%e
+--R                                           b
+--R     + 
+--R                  y(x)
+--R       a b y(x)Ei(----)
+--R                    b
+--R  /
+--R     y(x)
+--R                                                     Type: Expression Integer
+--E 91
+
+--S 92 of 127
+ode236 := x*(y(x)+4)*D(y(x),x)-y(x)**2-2*y(x)-2*x
+--R 
+--R
+--R                       ,          2
+--R   (92)  (x y(x) + 4x)y (x) - y(x)  - 2y(x) - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 92
+
+--S 93 of 127
+solve(ode236,y,x)
+--R 
+--R
+--R   (93)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 93
+
+--S 94 of 127
+ode237 := x*(y(x)+a)*D(y(x),x)+b*y(x)+c*x
+--R 
+--R
+--R                        ,
+--R   (94)  (x y(x) + a x)y (x) + b y(x) + c x
+--R
+--R                                                     Type: Expression Integer
+--E 94
+
+--S 95 of 127
+solve(ode237,y,x)
+--R 
+--R
+--R   (95)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 95
+
+--S 96 of 127
+ode238 := (x*(y(x)+x)+a)*D(y(x),x)-y(x)*(y(x)+x)-b
+--R 
+--R
+--R                    2      ,          2
+--R   (96)  (x y(x) + x  + a)y (x) - y(x)  - x y(x) - b
+--R
+--R                                                     Type: Expression Integer
+--E 96
+
+--S 97 of 127
+solve(ode238,y,x)
+--R 
+--R
+--R   (97)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 97
+
+--S 98 of 127
+ode239 := (x*y(x)-x**2)*D(y(x),x)+y(x)**2-3*x*y(x)-2*x**2
+--R 
+--R
+--R                    2  ,          2               2
+--R   (98)  (x y(x) - x )y (x) + y(x)  - 3x y(x) - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 98
+
+--S 99 of 127
+yx:=solve(ode239,y,x)
+--R 
+--R
+--R          2    2     3        4
+--R         x y(x)  - 2x y(x) - x
+--R   (99)  ----------------------
+--R                    2
+--R                                          Type: Union(Expression Integer,...)
+--E 99
+
+--S 100 of 127
+ode239expr := (x*yx-x**2)*D(yx,x)+yx**2-3*x*yx-2*x**2
+--R 
+--R
+--R   (100)
+--R          5    3     6    2      7     4          8     5  ,        4    4
+--R       (2x y(x)  - 6x y(x)  + (2x  - 4x )y(x) + 2x  + 4x )y (x) + 3x y(x)
+--R
+--R     + 
+--R            5    3      6      3     2       7      4          8      5     2
+--R       - 14x y(x)  + (8x  - 10x )y(x)  + (18x  + 24x )y(x) + 5x  + 14x  - 8x
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 100
+
+--S 101 of 127
+ode240 := 2*x*y(x)*D(y(x),x)-y(x)**2+a*x
+--R 
+--R
+--R                  ,          2
+--R   (101)  2x y(x)y (x) - y(x)  + a x
+--R
+--R                                                     Type: Expression Integer
+--E 101
+
+--S 102 of 127
+yx:=solve(ode240,y,x)
+--R 
+--R
+--R                           2
+--R          a x log(x) + y(x)
+--R   (102)  ------------------
+--R                   x
+--R                                          Type: Union(Expression Integer,...)
+--E 102
+
+--S 103 of 127
+ode240expr := 2*x*yx*D(yx,x)-yx**2+a*x
+--R 
+--R
+--R   (103)
+--R            2                    3  ,       2 2      2
+--R       (4a x y(x)log(x) + 4x y(x) )y (x) - a x log(x)
+--R
+--R     + 
+--R                   2     2 2               4            2      3
+--R       (- 4a x y(x)  + 2a x )log(x) - 3y(x)  + 2a x y(x)  + a x
+--R  /
+--R      2
+--R     x
+--R                                                     Type: Expression Integer
+--E 103
+
+--S 104 of 127
+ode241 := 2*x*y(x)*D(y(x),x)-y(x)**2+a*x**2
+--R 
+--R
+--R                  ,          2      2
+--R   (104)  2x y(x)y (x) - y(x)  + a x
+--R
+--R                                                     Type: Expression Integer
+--E 104
+
+--S 105 of 127
+yx:=solve(ode241,y,x)
+--R 
+--R
+--R              2      2
+--R          y(x)  + a x
+--R   (105)  ------------
+--R                x
+--R                                          Type: Union(Expression Integer,...)
+--E 105
+
+--S 106 of 127
+ode241expr := 2*x*yx*D(yx,x)-yx**2+a*x**2
+--R 
+--R
+--R                  3       3      ,           4       2    2     2      4
+--R          (4x y(x)  + 4a x y(x))y (x) - 3y(x)  - 2a x y(x)  + (a  + a)x
+--R
+--R   (106)  --------------------------------------------------------------
+--R                                         2
+--R                                        x
+--R                                                     Type: Expression Integer
+--E 106
+
+--S 107 of 127
+ode242 := 2*x*y(x)*D(y(x),x)+2*y(x)**2+1
+--R 
+--R
+--R                  ,           2
+--R   (107)  2x y(x)y (x) + 2y(x)  + 1
+--R
+--R                                                     Type: Expression Integer
+--E 107
+
+--S 108 of 127
+yx:=solve(ode242,y,x)
+--R 
+--R
+--R            2    2    2
+--R          2x y(x)  + x
+--R   (108)  -------------
+--R                2
+--R                                          Type: Union(Expression Integer,...)
+--E 108
+
+--S 109 of 127
+ode242expr := 2*x*yx*D(yx,x)+2*yx**2+1
+--R 
+--R
+--R             5    3     5      ,         4    4      4    2     4
+--R          (8x y(x)  + 4x y(x))y (x) + 12x y(x)  + 12x y(x)  + 3x  + 2
+--R
+--R   (109)  -----------------------------------------------------------
+--R                                       2
+--R                                                     Type: Expression Integer
+--E 109
+
+--S 110 of 127
+ode243 := x*(2*y(x)+x-1)*D(y(x),x)-y(x)*(y(x)+2*x+1)
+--R 
+--R
+--R                      2      ,          2
+--R   (110)  (2x y(x) + x  - x)y (x) - y(x)  + (- 2x - 1)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 110
+
+--S 111 of 127
+solve(ode243,y,x)
+--R 
+--R
+--R   (111)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 111
+
+--S 112 of 127
+ode244 := x*(2*y(x)-x-1)*D(y(x),x)+y(x)*(2*x-y(x)-1)
+--R 
+--R
+--R                      2      ,          2
+--R   (112)  (2x y(x) - x  - x)y (x) - y(x)  + (2x - 1)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 112
+
+--S 113 of 127
+solve(ode244,y,x)
+--R 
+--R
+--R   (113)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 113
+
+--S 114 of 127
+ode245 := (2*x*y(x)+4*x**3)*D(y(x),x)+y(x)**2+112*x**2*y(x)
+--R 
+--R
+--R                       3  ,          2       2
+--R   (114)  (2x y(x) + 4x )y (x) + y(x)  + 112x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 114
+
+--S 115 of 127
+solve(ode245,y,x)
+--R 
+--R
+--R   (115)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 115
+
+--S 116 of 127
+ode246 := x*(3*y(x)+2*x)*D(y(x),x)+3*(y(x)+x)**2
+--R 
+--R
+--R                       2  ,           2               2
+--R   (116)  (3x y(x) + 2x )y (x) + 3y(x)  + 6x y(x) + 3x
+--R
+--R                                                     Type: Expression Integer
+--E 116
+
+--S 117 of 127
+yx:=solve(ode246,y,x)
+--R 
+--R
+--R            2    2     3         4
+--R          6x y(x)  + 8x y(x) + 3x
+--R   (117)  ------------------------
+--R                      4
+--R                                          Type: Union(Expression Integer,...)
+--E 117
+
+--S 118 of 127
+ode246expr := x*(3*yx+2*x)*D(yx,x)+3*(yx+x)**2
+--R 
+--R
+--R   (118)
+--R            5    3       6    2        7      4           8      5  ,
+--R       (216x y(x)  + 432x y(x)  + (300x  + 96x )y(x) + 72x  + 64x )y (x)
+--R
+--R     + 
+--R           4    4        5    3         6       3     2        7       4
+--R       324x y(x)  + 1008x y(x)  + (1200x  + 240x )y(x)  + (648x  + 384x )y(x)
+--R     + 
+--R           8       5      2
+--R       135x  + 168x  + 48x
+--R  /
+--R     16
+--R                                                     Type: Expression Integer
+--E 118
+
+--S 119 of 127
+ode247 := (3*x+2)*(y(x)-2*x-1)*D(y(x),x)-y(x)**2+x*y(x)-7*x**2-9*x-3
+--R 
+--R
+--R                            2           ,          2              2
+--R   (119)  ((3x + 2)y(x) - 6x  - 7x - 2)y (x) - y(x)  + x y(x) - 7x  - 9x - 3
+--R
+--R                                                     Type: Expression Integer
+--E 119
+
+--S 120 of 127
+solve(ode247,y,x)
+--R 
+--R
+--R   (120)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 120
+
+--S 121 of 127
+ode248 := (6*x*y(x)+x**2+3)*D(y(x),x)+3*y(x)**2+2*x*y(x)+2*x
+--R 
+--R
+--R                      2      ,           2
+--R   (121)  (6x y(x) + x  + 3)y (x) + 3y(x)  + 2x y(x) + 2x
+--R
+--R                                                     Type: Expression Integer
+--E 121
+
+--S 122 of 127
+yx:=solve(ode248,y,x)
+--R 
+--R
+--R                 2     2             2
+--R   (122)  3x y(x)  + (x  + 3)y(x) + x
+--R                                          Type: Union(Expression Integer,...)
+--E 122
+
+--S 123 of 127
+ode248expr := (6*x*yx+x**2+3)*D(yx,x)+3*yx**2+2*x*yx+2*x
+--R 
+--R
+--R   (123)
+--R             3    3       4       2     2      5      4      3                5
+--R         108x y(x)  + (54x  + 162x )y(x)  + (6x  + 36x  + 42x  + 72x)y(x) + 6x
+--R       + 
+--R          4      3     2
+--R         x  + 18x  + 6x  + 9
+--R    *
+--R        ,
+--R       y (x)
+--R
+--R   + 
+--R        2    4       3            3       4      3      2          2
+--R     81x y(x)  + (72x  + 108x)y(x)  + (15x  + 72x  + 63x  + 36)y(x)
+--R   + 
+--R         4     3      2                 4     3
+--R     (30x  + 4x  + 54x  + 12x)y(x) + 15x  + 4x  + 8x
+--R                                                     Type: Expression Integer
+--E 123
+
+--S 124 of 127
+ode249 := (a*x*y(x)+b*x**n)*D(y(x),x)+alpha*y(x)**3+beta*y(x)**2
+--R 
+--R
+--R              n             ,                3            2
+--R   (124)  (b x  + a x y(x))y (x) + alpha y(x)  + beta y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 124
+
+--S 125 of 127
+solve(ode249,y,x)
+--R 
+--R
+--R   (125)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 125
+
+--S 126 of 127
+ode250 := (B*x*y(x)+A*x**2+a*x+b*y(x)+c)*D(y(x),x)-B*g(x)**2+_
+             A*x*y(x)+alpha*x+beta*y(x)+gamma
+--R 
+--R
+--R   (126)
+--R                         2            ,                               2
+--R     ((B x + b)y(x) + A x  + a x + c)y (x) + (A x + beta)y(x) - B g(x)
+--R
+--R   + 
+--R     alpha x + gamma
+--R                                                     Type: Expression Integer
+--E 126
+
+--S 127 of 127
+solve(ode250,y,x)
+--R 
+--R
+--R   (127)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 127
+
+)spool
+)lisp (bye)
+ 
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} {\bf http://www.cs.uwaterloo.ca/$\tilde{}$ecterrab/odetools.html}
+\end{thebibliography}
+\end{document}
+ 

\start
Date: Fri, 5 Oct 2007 18:06:45 -0500
From: Tim Daly
To: list
Subject: 20071005.04.tpd.patch

This patch adds Axiom regression tests of Kamke ODE 251-300
=====================================================================
diff --git a/changelog b/changelog
index 666bd42..916c822 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071005 tpd src/input/Makefile kamke5.input regression test added
+20071005 tpd src/input/kamke5.input ODE regression test added
 20071005 tpd src/input/Makefile kamke4.input regression test added
 20071005 tpd src/input/kamke4.input ODE regression test added
 20071005 tpd src/input/Makefile kamke3.input regression test added
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index b803938..1d2626f 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -323,7 +323,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     iprntpk.regress \
     ipftest.regress   is.regress       isprime.regress  kafile.regress \
     kamke0.regress    kamke1.regress   kamke2.regress   kamke3.regress \
-    kamke4.regress \
+    kamke4.regress    kamke5.regress \
     kernel.regress    knot2.regress    kovacic.regress  kuipers.regress \
     laplace.regress   leg.regress      limit.regress    lindep.regress \
     list.regress      lode.regress     lodesys.regress  lodo1.regress \
@@ -564,6 +564,7 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/ipftest.input  ${OUT}/is.input         ${OUT}/isprime.input \
        ${OUT}/kafile.input   ${OUT}/kamke0.input     ${OUT}/kamke1.input \
        ${OUT}/kamke2.input   ${OUT}/kamke3.input     ${OUT}/kamke4.input \
+       ${OUT}/kamke5.input \
        ${OUT}/kernel.input   ${OUT}/knot.input \
        ${OUT}/kovacic.input  ${OUT}/kuipers.input  \
        ${OUT}/laplace.input  ${OUT}/leg.input        ${OUT}/lexp.input \
@@ -831,7 +832,7 @@ DOCFILES= \
   ${DOC}/isprime.input.dvi     ${DOC}/kafile.input.dvi     \
   ${DOC}/kamke0.input.dvi      ${DOC}/kamke1.input.dvi     \
   ${DOC}/kamke2.input.dvi      ${DOC}/kamke3.input.dvi     \
-  ${DOC}/kamke4.input.dvi     \
+  ${DOC}/kamke4.input.dvi      ${DOC}/kamke5.input.dvi     \
   ${DOC}/kernel.input.dvi      ${DOC}/knot2.input.dvi      \
   ${DOC}/knot.input.dvi        ${DOC}/knownbugs.input.dvi  \
   ${DOC}/kovacic.input.dvi     ${DOC}/kuipers.input.dvi    \
diff --git a/src/input/kamke5.input.pamphlet b/src/input/kamke5.input.pamphlet
new file mode 100644
index 0000000..34a8ee0
--- /dev/null
+++ b/src/input/kamke5.input.pamphlet
@@ -0,0 +1,1634 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kamke5.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+This is the 251-300 of the Kamke test suite as published by 
+E. S. Cheb-Terrab\cite{1}. They have been rewritten using Axiom
+syntax. Where possible we show that the particular solution actually
+satisfies the original ordinary differential equation.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)spool kamke5.output
+)set break resume
+)set mes auto off
+)clear all
+
+--S 1 of 130
+y:=operator 'y
+--R 
+--R
+--R   (1)  y
+--R                                                          Type: BasicOperator
+--E 1
+
+--S 2 of 130
+f:=operator 'f
+--R 
+--R
+--R   (2)  f
+--R                                                          Type: BasicOperator
+--E 2
+
+--S 3 of 130
+f0:=operator 'f0
+--R 
+--R
+--R   (3)  f0
+--R                                                          Type: BasicOperator
+--E 3
+
+--S 4 of 130
+f1:=operator 'f1
+--R 
+--R
+--R   (4)  f1
+--R                                                          Type: BasicOperator
+--E 4
+
+--S 5 of 130
+f2:=operator 'f2
+--R 
+--R
+--R   (5)  f2
+--R                                                          Type: BasicOperator
+--E 5
+
+--S 6 of 130
+f3:=operator 'f3
+--R 
+--R
+--R   (6)  f3
+--R                                                          Type: BasicOperator
+--E 6
+
+--S 7 of 130
+g:=operator 'g
+--R 
+--R
+--R   (7)  g
+--R                                                          Type: BasicOperator
+--E 7
+
+--S 8 of 130
+g0:=operator 'g0
+--R 
+--R
+--R   (8)  g0
+--R                                                          Type: BasicOperator
+--E 8
+
+--S 9 of 130
+g1:=operator 'g1
+--R 
+--R
+--R   (9)  g1
+--R                                                          Type: BasicOperator
+--E 9
+
+--S 10 of 130
+h:=operator 'h
+--R 
+--R
+--R   (10)  h
+--R                                                          Type: BasicOperator
+--E 10
+
+--S 11 of 130
+ode251 := (x**2*y(x)-1)*D(y(x),x)+x*y(x)**2-1
+--R 
+--R
+--R           2          ,            2
+--R   (11)  (x y(x) - 1)y (x) + x y(x)  - 1
+--R
+--R                                                     Type: Expression Integer
+--E 11
+
+--S 12 of 130
+yx:=solve(ode251,y,x)
+--R 
+--R
+--R          2    2
+--R         x y(x)  - 2y(x) - 2x
+--R   (12)  --------------------
+--R                   2
+--R                                          Type: Union(Expression Integer,...)
+--E 12
+
+--S 13 of 130
+ode251expr := (x**2*yx-1)*D(yx,x)+x*yx**2-1
+--R 
+--R
+--R   (13)
+--R          6    3     4    2     5         3      ,        5    4     3    3
+--R       (2x y(x)  - 6x y(x)  - 4x y(x) + 4x  + 4)y (x) + 3x y(x)  - 8x y(x)
+--R
+--R     + 
+--R            4    2      2         3
+--R       - 10x y(x)  + 12x y(x) + 8x
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 13
+
+--S 14 of 130
+ode252 := (x**2*y(x)-1)*D(y(x),x)-(x*y(x)**2-1)
+--R 
+--R
+--R           2          ,            2
+--R   (14)  (x y(x) - 1)y (x) - x y(x)  + 1
+--R
+--R                                                     Type: Expression Integer
+--E 14
+
+--S 15 of 130
+solve(ode252,y,x)
+--R 
+--R
+--R   (15)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 15
+
+--S 16 of 130
+ode253 := (x**2*y(x)-1)*D(y(x),x)+8*(x*y(x)**2-1)
+--R 
+--R
+--R           2          ,             2
+--R   (16)  (x y(x) - 1)y (x) + 8x y(x)  - 8
+--R
+--R                                                     Type: Expression Integer
+--E 16
+
+--S 17 of 130
+solve(ode253,y,x)
+--R 
+--R
+--R   (17)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 17
+
+--S 18 of 130
+ode254 := x*(x*y(x)-2)*D(y(x),x)+x**2*y(x)**3+x*y(x)**2-2*y(x)
+--R 
+--R
+--R           2           ,       2    3         2
+--R   (18)  (x y(x) - 2x)y (x) + x y(x)  + x y(x)  - 2y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 18
+
+--S 19 of 130
+solve(ode254,y,x)
+--R 
+--R
+--R   (19)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 19
+
+--S 20 of 130
+ode255 := x*(x*y(x)-3)*D(y(x),x)+x*y(x)**2-y(x)
+--R 
+--R
+--R           2           ,            2
+--R   (20)  (x y(x) - 3x)y (x) + x y(x)  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 20
+
+--S 21 of 130
+solve(ode255,y,x)
+--R 
+--R
+--R   (21)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 21
+
+--S 22 of 130
+ode256 := x**2*(y(x)-1)*D(y(x),x)+(x-1)*y(x)
+--R 
+--R
+--R           2        2  ,
+--R   (22)  (x y(x) - x )y (x) + (x - 1)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 22
+
+--S 23 of 130
+solve(ode256,y,x)
+--R 
+--R
+--R   (23)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 23
+
+--S 24 of 130
+ode257 := x*(x*y(x)+x**4-1)*D(y(x),x)-y(x)*(x*y(x)-x**4-1)
+--R 
+--R
+--R           2        5      ,            2     4
+--R   (24)  (x y(x) + x  - x)y (x) - x y(x)  + (x  + 1)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 24
+
+--S 25 of 130
+solve(ode257,y,x)
+--R 
+--R
+--R   (25)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 25
+
+--S 26 of 130
+ode258 := 2*x**2*y(x)*D(y(x),x)+y(x)**2-2*x**3-x**2
+--R 
+--R
+--R           2     ,          2     3    2
+--R   (26)  2x y(x)y (x) + y(x)  - 2x  - x
+--R
+--R                                                     Type: Expression Integer
+--E 26
+
+--S 27 of 130
+yx:=solve(ode258,y,x)
+--R 
+--R
+--R                         1
+--R                       - -
+--R              2    2     x
+--R   (27)  (y(x)  - x )%e
+--R                                          Type: Union(Expression Integer,...)
+--E 27
+
+--S 28 of 130
+ode258expr := 2*x**2*yx*D(yx,x)+yx**2-2*x**3-x**2
+--R 
+--R
+--R   (28)
+--R                              1 2
+--R                            - -
+--R        2    3     4          x   ,
+--R     (4x y(x)  - 4x y(x))(%e   ) y (x)
+--R
+--R   + 
+--R                                                   1 2
+--R                                                 - -
+--R           4        3     2     2     5     4      x       3    2
+--R     (3y(x)  + (- 4x  - 6x )y(x)  + 4x  + 3x )(%e   )  - 2x  - x
+--R                                                     Type: Expression Integer
+--E 28
+
+--S 29 of 130
+ode259 := 2*x**2*y(x)*D(y(x),x)-y(x)**2-x**2*exp(x-1/x)
+--R 
+--R
+--R                             2
+--R                            x  - 1
+--R                            ------
+--R           2     ,       2     x         2
+--R   (29)  2x y(x)y (x) - x %e       - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 29
+
+--S 30 of 130
+yx:=solve(ode259,y,x)
+--R 
+--R
+--R                 2
+--R             1  x  - 1          1
+--R             -  ------          -
+--R             x     x         2  x
+--R   (30)  - %e %e       + y(x) %e
+--R                                          Type: Union(Expression Integer,...)
+--E 30
+
+--S 31 of 130
+ode259expr := 2*x**2*yx*D(yx,x)-yx**2-x**2*exp(x-1/x)
+--R 
+--R
+--R   (31)
+--R                        2
+--R                  1 2  x  - 1              1 2
+--R                  -    ------              -
+--R          2       x       x       2    3   x    ,
+--R     (- 4x y(x)(%e ) %e       + 4x y(x) (%e ) )y (x)
+--R
+--R   + 
+--R                        2     2                                   2
+--R                 1 2   x  - 1                         1 2        x  - 1
+--R                 -     ------                         -          ------
+--R        2        x        x             2         2   x      2      x
+--R     (2x  - 1)(%e ) (%e      )  + ((- 2x  + 4)y(x) (%e )  - x )%e
+--R   + 
+--R                1 2
+--R                -
+--R            4   x
+--R     - 3y(x) (%e )
+--R                                                     Type: Expression Integer
+--E 31
+
+--S 32 of 130
+ode260 := (2*x**2*y(x)+x)*D(y(x),x)-x**2*y(x)**3+2*x*y(x)**2+y(x)
+--R 
+--R
+--R            2          ,       2    3          2
+--R   (32)  (2x y(x) + x)y (x) - x y(x)  + 2x y(x)  + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 32
+
+--S 33 of 130
+solve(ode260,y,x)
+--R 
+--R
+--R   (33)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 33
+
+--S 34 of 130
+ode261 := (2*x**2*y(x)-x)*D(y(x),x)-2*x*y(x)**2-y(x)
+--R 
+--R
+--R            2          ,             2
+--R   (34)  (2x y(x) - x)y (x) - 2x y(x)  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 34
+
+--S 35 of 130
+solve(ode261,y,x)
+--R 
+--R
+--R   (35)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 35
+
+--S 36 of 130
+ode262 := (2*x**2*y(x)-x**3)*D(y(x),x)+y(x)**3-4*x*y(x)**2+2*x**3
+--R 
+--R
+--R            2        3  ,          3          2     3
+--R   (36)  (2x y(x) - x )y (x) + y(x)  - 4x y(x)  + 2x
+--R
+--R                                                     Type: Expression Integer
+--E 36
+
+--S 37 of 130
+solve(ode262,y,x)
+--R 
+--R
+--R   (37)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 37
+
+--S 38 of 130
+ode263 := 2*x**3+y(x)*D(y(x),x)+3*x**2*y(x)**2+7
+--R 
+--R
+--R              ,        2    2     3
+--R   (38)  y(x)y (x) + 3x y(x)  + 2x  + 7
+--R
+--R                                                     Type: Expression Integer
+--E 38
+
+--S 39 of 130
+solve(ode263,y,x)
+--R 
+--R
+--R            x                            3
+--I          ++      2    2      3       2%K
+--I   (39)   |   (3%K y(x)  + 2%K  + 7)%e    d%K
+--R         ++
+--R                                          Type: Union(Expression Integer,...)
+--E 39
+
+--S 40 of 130
+ode264 := 2*x*(x**3*y(x)+1)*D(y(x),x)+(3*x**3*y(x)-1)*y(x)
+--R 
+--R
+--R            4           ,        3    2
+--R   (40)  (2x y(x) + 2x)y (x) + 3x y(x)  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 40
+
+--S 41 of 130
+solve(ode264,y,x)
+--R 
+--R
+--R   (41)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 41
+
+--S 42 of 130
+ode265 := (x**(n*(n+1))*y(x)-1)*D(y(x),x)+2*(n+1)**2*x**(n-1)_
+            *(x**(n**2)*y(x)**2-1)
+--R 
+--R
+--R   (42)
+--R            2                                            2
+--R           n  + n      ,         2              2 n - 1 n
+--R     (y(x)x       - 1)y (x) + (2n  + 4n + 2)y(x) x     x
+--R
+--R   + 
+--R          2           n - 1
+--R     (- 2n  - 4n - 2)x
+--R                                                     Type: Expression Integer
+--E 42
+
+--S 43 of 130
+solve(ode265,y,x)
+--R 
+--R
+--R   (43)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 43
+
+--S 44 of 130
+ode266 := (y(x)-x)*sqrt(x**2+1)*D(y(x),x)-a*sqrt((y(x)**2+1)**3)
+--R 
+--R
+--R                    +------+          +---------------------------+
+--R                    | 2      ,        |    6        4        2
+--R   (44)  (y(x) - x)\|x  + 1 y (x) - a\|y(x)  + 3y(x)  + 3y(x)  + 1
+--R
+--R                                                     Type: Expression Integer
+--E 44
+
+--S 45 of 130
+solve(ode266,y,x)
+--R 
+--R
+--R   (45)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 45
+
+--S 46 of 130
+ode267 := y(x)*D(y(x),x)*sin(x)**2+y(x)**2*cos(x)*sin(x)-1
+--R 
+--R
+--R                   2 ,          2
+--R   (46)  y(x)sin(x) y (x) + y(x) cos(x)sin(x) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 46
+
+--S 47 of 130
+yx:=solve(ode267,y,x)
+--R 
+--R
+--R             2      2
+--R         y(x) sin(x)  - 2x
+--R   (47)  -----------------
+--R                 2
+--R                                          Type: Union(Expression Integer,...)
+--E 47
+
+--S 48 of 130
+ode267expr := yx*D(yx,x)*sin(x)**2+yx**2*cos(x)*sin(x)-1
+--R 
+--R
+--R   (48)
+--R             3      6                4  ,           4            5
+--R       (2y(x) sin(x)  - 4x y(x)sin(x) )y (x) + 3y(x) cos(x)sin(x)
+--R
+--R     + 
+--R            2      4          2            3            2     2
+--R     - 2y(x) sin(x)  - 8x y(x) cos(x)sin(x)  + 4x sin(x)  + 4x cos(x)sin(x) - 4
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 48
+
+--S 49 of 130
+ode268 := f(x)*y(x)*D(y(x),x)+g(x)*y(x)**2+h(x)
+--R 
+--R
+--R                  ,              2
+--R   (49)  f(x)y(x)y (x) + g(x)y(x)  + h(x)
+--R
+--R                                                     Type: Expression Integer
+--E 49
+
+--S 50 of 130
+solve(ode268,y,x)
+--R 
+--R 
+--R   >> Error detected within library code:
+--R   Function not supported by Risch d.e.
+--R
+--R   Continuing to read the file...
+--R
+--E 50
+
+--S 51 of 130
+ode269 := (g1(x)*y(x)+g0(x))*D(y(x),x)-f1(x)*y(x)-_
+              f2(x)*y(x)**2-f3(x)*y(x)**3-f0(x)
+--R 
+--R
+--R   (50)
+--R                       ,               3            2
+--R   (g1(x)y(x) + g0(x))y (x) - f3(x)y(x)  - f2(x)y(x)  - f1(x)y(x) - f0(x)
+--R
+--R                                                     Type: Expression Integer
+--E 51
+
+--S 52 of 130
+solve(ode269,y,x)
+--R 
+--R
+--R   (51)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 52
+
+--S 53 of 130
+ode270 := (y(x)**2-x)*D(y(x),x)-y(x)+x**2
+--R 
+--R
+--R              2      ,              2
+--R   (52)  (y(x)  - x)y (x) - y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 53
+
+--S 54 of 130
+yx:=solve(ode270,y,x)
+--R 
+--R
+--R             3              3
+--R         y(x)  - 3x y(x) + x
+--R   (53)  --------------------
+--R                   3
+--R                                          Type: Union(Expression Integer,...)
+--E 54
+
+--S 55 of 130
+ode270expr := (yx**2-x)*D(yx,x)-yx+x**2
+--R 
+--R
+--R   (54)
+--R               8          6     3    5      2    4     4    3
+--R           y(x)  - 7x y(x)  + 2x y(x)  + 15x y(x)  - 8x y(x)
+--R         + 
+--R             6     3          2     5        7     2
+--R           (x  - 9x  - 9x)y(x)  + 6x y(x) - x  + 9x
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R             7    2    6          5     3    4      5     2         3
+--R       - y(x)  + x y(x)  + 6x y(x)  - 8x y(x)  + (2x  - 9x  - 3)y(x)
+--R     + 
+--R          4    2        6               8      3     2
+--R       15x y(x)  + (- 7x  + 18x)y(x) + x  - 12x  + 9x
+--R  /
+--R     9
+--R                                                     Type: Expression Integer
+--E 55
+
+--S 56 of 130
+ode271 := (y(x)**2+x**2)*D(y(x),x)+2*x*(y(x)+2*x)
+--R 
+--R
+--R              2    2  ,                  2
+--R   (55)  (y(x)  + x )y (x) + 2x y(x) + 4x
+--R
+--R                                                     Type: Expression Integer
+--E 56
+
+--S 57 of 130
+yx:=solve(ode271,y,x)
+--R 
+--R
+--R             3     2         3
+--R         y(x)  + 3x y(x) + 4x
+--R   (56)  ---------------------
+--R                   3
+--R                                          Type: Union(Expression Integer,...)
+--E 57
+
+--S 58 of 130
+ode271expr := (yx**2+x**2)*D(yx,x)+2*x*(yx+2*x)
+--R 
+--R
+--R   (57)
+--R               8     2    6     3    5      4    4      5    3
+--R           y(x)  + 7x y(x)  + 8x y(x)  + 15x y(x)  + 32x y(x)
+--R         + 
+--R               6     2     2      7          8     4
+--R           (25x  + 9x )y(x)  + 24x y(x) + 16x  + 9x
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R              7     2    6      3    5      4    4       5          3
+--R       2x y(x)  + 4x y(x)  + 12x y(x)  + 40x y(x)  + (50x  + 6x)y(x)
+--R     + 
+--R          6    2        7      3           8      4      2
+--R       84x y(x)  + (128x  + 36x )y(x) + 64x  + 60x  + 36x
+--R  /
+--R     9
+--R                                                     Type: Expression Integer
+--E 58
+
+--S 59 of 130
+ode272 := (y(x)**2+x**2)*D(y(x),x)-y(x)**2
+--R 
+--R
+--R              2    2  ,          2
+--R   (58)  (y(x)  + x )y (x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 59
+
+--S 60 of 130
+solve(ode272,y,x)
+--R 
+--R
+--R   (59)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 60
+
+--S 61 of 130
+ode273 := (y(x)**2+x**2+a)*D(y(x),x)+2*x*y(x)
+--R 
+--R
+--R              2    2      ,
+--R   (60)  (y(x)  + x  + a)y (x) + 2x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 61
+
+--S 62 of 130
+yx:=solve(ode273,y,x)
+--R 
+--R
+--R             3      2
+--R         y(x)  + (3x  + 3a)y(x)
+--R   (61)  ----------------------
+--R                    3
+--R                                          Type: Union(Expression Integer,...)
+--E 62
+
+--S 63 of 130
+ode273expr := (yx**2+x**2+a)*D(yx,x)+2*x*yx
+--R 
+--R
+--R   (62)
+--R               8      2          6       4        2      2     4
+--R           y(x)  + (7x  + 7a)y(x)  + (15x  + 30a x  + 15a )y(x)
+--R         + 
+--R              6        4       2      2     3          2     4        2     2
+--R           (9x  + 27a x  + (27a  + 9)x  + 9a  + 9a)y(x)  + 9x  + 18a x  + 9a
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R              7       3             5       5        3       2           3
+--R       2x y(x)  + (12x  + 12a x)y(x)  + (18x  + 36a x  + (18a  + 6)x)y(x)
+--R     + 
+--R           3
+--R       (36x  + 36a x)y(x)
+--R  /
+--R     9
+--R                                                     Type: Expression Integer
+--E 63
+
+--S 64 of 130
+ode274 := (y(x)**2+x**2+a)*D(y(x),x)+2*x*y(x)+x**2+b
+--R 
+--R
+--R              2    2      ,                 2
+--R   (63)  (y(x)  + x  + a)y (x) + 2x y(x) + x  + b
+--R
+--R                                                     Type: Expression Integer
+--E 64
+
+--S 65 of 130
+yx:=solve(ode274,y,x)
+--R 
+--R
+--R             3      2              3
+--R         y(x)  + (3x  + 3a)y(x) + x  + 3b x
+--R   (64)  ----------------------------------
+--R                          3
+--R                                          Type: Union(Expression Integer,...)
+--E 65
+
+--S 66 of 130
+ode274expr := (yx**2+x**2+a)*D(yx,x)+2*x*yx+x**2+b
+--R 
+--R
+--R   (65)
+--R               8      2          6      3            5
+--R           y(x)  + (7x  + 7a)y(x)  + (2x  + 6b x)y(x)
+--R         + 
+--R               4        2      2     4      5              3               3
+--R           (15x  + 30a x  + 15a )y(x)  + (8x  + (24b + 8a)x  + 24a b x)y(x)
+--R         + 
+--R               6              4      2      2      2     3          2
+--R           (10x  + (6b + 27a)x  + (9b  + 27a  + 9)x  + 9a  + 9a)y(x)
+--R         + 
+--R              7               5              2  3      2            8
+--R           (6x  + (18b + 12a)x  + (36a b + 6a )x  + 18a b x)y(x) + x
+--R         + 
+--R                    6      2             4        2        2     2
+--R           (6b + a)x  + (9b  + 6a b + 9)x  + (9a b  + 18a)x  + 9a
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R              7     2         6       3             5
+--R       2x y(x)  + (x  + b)y(x)  + (12x  + 12a x)y(x)
+--R     + 
+--R           4              2            4
+--R       (10x  + (18b + 6a)x  + 6a b)y(x)
+--R     + 
+--R           5              3      2      2           3
+--R       (20x  + (8b + 36a)x  + (6b  + 18a  + 6)x)y(x)
+--R     + 
+--R           6               4              2  2     2      2
+--R       (21x  + (45b + 30a)x  + (54a b + 9a )x  + 9a b)y(x)
+--R     + 
+--R          7              5       2               3         2                 8
+--R       (8x  + (36b + 6a)x  + (36b  + 24a b + 36)x  + (18a b  + 36a)x)y(x) + x
+--R     + 
+--R           6       2       4      3                 2
+--R       7b x  + (15b  + 15)x  + (9b  + 27b + 9a + 9)x  + (9a + 9)b
+--R  /
+--R     9
+--R                                                     Type: Expression Integer
+--E 66
+
+--S 67 of 130
+ode275 := (y(x)**2+x**2+x)*D(y(x),x)-y(x)
+--R 
+--R
+--R              2    2      ,
+--R   (66)  (y(x)  + x  + x)y (x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 67
+
+--S 68 of 130
+solve(ode275,y,x)
+--R 
+--R
+--R   (67)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 68
+
+--S 69 of 130
+ode276 := (y(x)**2-x**2)*D(y(x),x)+2*x*y(x)
+--R 
+--R
+--R              2    2  ,
+--R   (68)  (y(x)  - x )y (x) + 2x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 69
+
+--S 70 of 130
+yx:=solve(ode276,y,x)
+--R 
+--R
+--R             2    2
+--R         y(x)  + x
+--R   (69)  ----------
+--R            y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 70
+
+--S 71 of 130
+ode276expr := (yx**2-x**2)*D(yx,x)+2*x*yx
+--R 
+--R
+--R              6    6  ,             5     3    3     5
+--R         (y(x)  - x )y (x) + 4x y(x)  + 4x y(x)  + 2x y(x)
+--R
+--R   (70)  -------------------------------------------------
+--R                                   4
+--R                               y(x)
+--R                                                     Type: Expression Integer
+--E 71
+
+--S 72 of 130
+ode277 := (y(x)**2+x**4)*D(y(x),x)-4*x**3*y(x)
+--R 
+--R
+--R              2    4  ,        3
+--R   (71)  (y(x)  + x )y (x) - 4x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 72
+
+--S 73 of 130
+yx:=solve(ode277,y,x)
+--R 
+--R
+--R             2    4
+--R         y(x)  - x
+--R   (72)  ----------
+--R            y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 73
+
+--S 74 of 130
+ode277expr := (yx**2+x**4)*D(yx,x)-4*x**3*yx
+--R 
+--R
+--R              6    12  ,        3    5     7    3     11
+--R         (y(x)  + x  )y (x) - 8x y(x)  + 8x y(x)  - 4x  y(x)
+--R
+--R   (73)  ---------------------------------------------------
+--R                                    4
+--R                                y(x)
+--R                                                     Type: Expression Integer
+--E 74
+
+--S 75 of 130
+ode278 := (y(x)**2+4*sin(x))*D(y(x),x)-cos(x)
+--R 
+--R
+--R                        2  ,
+--R   (74)  (4sin(x) + y(x) )y (x) - cos(x)
+--R
+--R                                                     Type: Expression Integer
+--E 75
+
+--S 76 of 130
+yx:=solve(ode278,y,x)
+--R 
+--R
+--R                            2               - 4y(x)
+--R         (- 32sin(x) - 8y(x)  - 4y(x) - 1)%e
+--R   (75)  ------------------------------------------
+--R                             32
+--R                                          Type: Union(Expression Integer,...)
+--E 76
+
+--S 77 of 130
+ode278expr := (yx**2+4*sin(x))*D(yx,x)-cos(x)
+--R 
+--R
+--R   (76)
+--R                         3            2                        2
+--R               4096sin(x)  + (3072y(x)  + 1024y(x) + 256)sin(x)
+--R             + 
+--R                       4          3          2                             6
+--R               (768y(x)  + 512y(x)  + 192y(x)  + 32y(x) + 4)sin(x) + 64y(x)
+--R             + 
+--R                     5         4        3       2
+--R               64y(x)  + 32y(x)  + 8y(x)  + y(x)
+--R          *
+--R                - 4y(x) 3
+--R             (%e       )
+--R         + 
+--R                       2           2         - 4y(x)
+--R           (16384sin(x)  + 4096y(x) sin(x))%e
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                             2             2
+--R           - 1024cos(x)sin(x)  + (- 512y(x)  - 256y(x) - 64)cos(x)sin(x)
+--R         + 
+--R                    4         3         2
+--R           (- 64y(x)  - 64y(x)  - 32y(x)  - 8y(x) - 1)cos(x)
+--R      *
+--R            - 4y(x) 3
+--R         (%e       )
+--R     + 
+--R                           - 4y(x)
+--R       - 4096cos(x)sin(x)%e        - 1024cos(x)
+--R  /
+--R     1024
+--R                                                     Type: Expression Integer
+--E 77
+
+--S 78 of 130
+ode279 := (y(x)**2+2*y(x)+x)*D(y(x),x)+(y(x)+x)**2*y(x)**2+y(x)*(y(x)+1)
+--R 
+--R
+--R              2              ,          4          3     2         2
+--R   (77)  (y(x)  + 2y(x) + x)y (x) + y(x)  + 2x y(x)  + (x  + 1)y(x)  + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 78
+
+--S 79 of 130
+solve(ode279,y,x)
+--R 
+--R
+--R   (78)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 79
+
+--S 80 of 130
+ode280 := (y(x)+x)**2*D(y(x),x)-a**2
+--R 
+--R
+--R              2              2  ,       2
+--R   (79)  (y(x)  + 2x y(x) + x )y (x) - a
+--R
+--R                                                     Type: Expression Integer
+--E 80
+
+--S 81 of 130
+solve(ode280,y,x)
+--R 
+--R
+--R   (80)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 81
+
+--S 82 of 130
+ode281 := (y(x)**2+2*x*y(x)-x**2)*D(y(x),x)-_
+            y(x)**2+2*x*y(x)+x**2
+--R 
+--R
+--R              2              2  ,          2              2
+--R   (81)  (y(x)  + 2x y(x) - x )y (x) - y(x)  + 2x y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 82
+
+--S 83 of 130
+solve(ode281,y,x)
+--R 
+--R
+--R   (82)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 83
+
+--S 84 of 130
+ode282 := (y(x)+3*x-1)**2*D(y(x),x)-(2*y(x)-1)*(4*y(x)+6*x-3)
+--R 
+--R
+--R   (83)
+--R          2                    2           ,           2
+--R     (y(x)  + (6x - 2)y(x) + 9x  - 6x + 1)y (x) - 8y(x)  + (- 12x + 10)y(x) + 6x
+--R
+--R   + 
+--R     - 3
+--R                                                     Type: Expression Integer
+--E 84
+
+--S 85 of 130
+solve(ode282,y,x)
+--R 
+--R
+--R   (84)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 85
+
+--S 86 of 130
+ode283 := 3*(y(x)**2-x**2)*D(y(x),x)+2*y(x)**3-6*x*(x+1)*y(x)-3*exp(x)
+--R 
+--R
+--R               2     2  ,         x        3        2
+--R   (85)  (3y(x)  - 3x )y (x) - 3%e  + 2y(x)  + (- 6x  - 6x)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 86
+
+--S 87 of 130
+yx:=solve(ode283,y,x)
+--R 
+--R
+--R              x 3        3     2        x 2
+--R   (86)  - (%e )  + (y(x)  - 3x y(x))(%e )
+--R                                          Type: Union(Expression Integer,...)
+--E 87
+
+--S 88 of 130
+ode283expr := 3*(yx**2-x**2)*D(yx,x)+2*yx**3-6*x*(x+1)*yx-3*exp(x)
+--R 
+--R
+--R   (87)
+--R               2     2    x 8            5      2    3      4        x 7
+--R         (9y(x)  - 9x )(%e )  + (- 18y(x)  + 72x y(x)  - 54x y(x))(%e )
+--R       + 
+--R               8      2    6       4    4      6    2    x 6
+--R         (9y(x)  - 63x y(x)  + 135x y(x)  - 81x y(x) )(%e )
+--R       + 
+--R              2    2     4    x 2
+--R         (- 9x y(x)  + 9x )(%e )
+--R    *
+--R        ,
+--R       y (x)
+--R
+--R   + 
+--R            x 9          3         2               x 8
+--R     - 11(%e )  + (30y(x)  + (- 90x  - 18x)y(x))(%e )
+--R   + 
+--R              6        2           4          4       3     2    x 7
+--R     (- 27y(x)  + (162x  + 36x)y(x)  + (- 243x  - 108x )y(x) )(%e )
+--R   + 
+--R              9         2           7        4       3     5
+--R         8y(x)  + (- 72x  - 18x)y(x)  + (216x  + 108x )y(x)
+--R       + 
+--R                6       5     3
+--R         (- 216x  - 162x )y(x)
+--R    *
+--R          x 6
+--R       (%e )
+--R   + 
+--R         2         x 3          2          3       4      3         x 2      x
+--R     (15x  + 6x)(%e )  + ((- 12x  - 6x)y(x)  + (36x  + 36x )y(x))(%e )  - 3%e
+--R                                                     Type: Expression Integer
+--E 88
+
+--S 89 of 130
+ode284 := (4*y(x)**2+x**2)*D(y(x),x)-x*y(x)
+--R 
+--R
+--R               2    2  ,
+--R   (88)  (4y(x)  + x )y (x) - x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 89
+
+--S 90 of 130
+yx:=solve(ode284,y,x)
+--R 
+--R
+--R              2             2
+--R         8y(x) log(y(x)) - x
+--R   (89)  --------------------
+--R                     2
+--R                2y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 90
+
+--S 91 of 130
+ode284expr := (4*yx**2+x**2)*D(yx,x)-x*yx
+--R 
+--R
+--R   (90)
+--R                   6       2    4          2
+--R           (512y(x)  + 128x y(x) )log(y(x))
+--R         + 
+--R                  2    4      4    2               2    6     4    4     4    2
+--R           (- 128x y(x)  - 32x y(x) )log(y(x)) + 8x y(x)  + 2x y(x)  + 8x y(x)
+--R         + 
+--R             6
+--R           2x
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                  5         2             7      3    3              3    5
+--R       - 128x y(x) log(y(x))  + (- 8x y(x)  + 32x y(x) )log(y(x)) - x y(x)
+--R     + 
+--R           5
+--R       - 2x y(x)
+--R  /
+--R          7
+--R     2y(x)
+--R                                                     Type: Expression Integer
+--E 91
+
+--S 92 of 130
+ode285 := (4*y(x)**2+2*x*y(x)+3*x**2)*D(y(x),x)+y(x)**2+6*x*y(x)+2*x**2
+--R 
+--R
+--R               2               2  ,          2               2
+--R   (91)  (4y(x)  + 2x y(x) + 3x )y (x) + y(x)  + 6x y(x) + 2x
+--R
+--R                                                     Type: Expression Integer
+--E 92
+
+--S 93 of 130
+yx:=solve(ode285,y,x)
+--R 
+--R
+--R              3          2     2         3
+--R         4y(x)  + 3x y(x)  + 9x y(x) + 2x
+--R   (92)  ---------------------------------
+--R                         3
+--R                                          Type: Union(Expression Integer,...)
+--E 93
+
+--S 94 of 130
+ode285expr := (4*yx**2+2*x*yx+3*x**2)*D(yx,x)+yx**2+6*x*yx+2*x**2
+--R 
+--R
+--R   (93)
+--R                  8            7        2    6         3           5
+--R           256y(x)  + 512x y(x)  + 1680x y(x)  + (2056x  + 96x)y(x)
+--R         + 
+--R                 4       2     4         5       3     3
+--R           (3020x  + 120x )y(x)  + (2160x  + 324x )y(x)
+--R         + 
+--R                 6       4       2     2        7       5      3           8
+--R           (1468x  + 210x  + 108x )y(x)  + (464x  + 186x  + 54x )y(x) + 48x
+--R         + 
+--R              6      4
+--R           36x  + 81x
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R             8            7         2          6         3           5
+--R       64y(x)  + 480x y(x)  + (1028x  + 16)y(x)  + (2416x  + 48x)y(x)
+--R     + 
+--R             4       2     4         5       3           3
+--R       (2700x  + 243x )y(x)  + (2936x  + 280x  + 72x)y(x)
+--R     + 
+--R             6       4      2     2        7       5       3           8      6
+--R       (1624x  + 465x  + 81x )y(x)  + (384x  + 216x  + 324x )y(x) + 32x  + 28x
+--R     + 
+--R          4      2
+--R       90x  + 18x
+--R  /
+--R     9
+--R                                                     Type: Expression Integer
+--E 94
+
+--S 95 of 130
+ode286 := (2*y(x)-3*x+1)**2*D(y(x),x)-(3*y(x)-2*x-4)**2
+--R 
+--R
+--R   (94)
+--R           2                       2           ,           2
+--R     (4y(x)  + (- 12x + 4)y(x) + 9x  - 6x + 1)y (x) - 9y(x)  + (12x + 24)y(x)
+--R
+--R   + 
+--R         2
+--R     - 4x  - 16x - 16
+--R                                                     Type: Expression Integer
+--E 95
+
+--S 96 of 130
+solve(ode286,y,x)
+--R 
+--R
+--R   (95)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 96
+
+--S 97 of 130
+ode287 := (2*y(x)-4*x+1)**2*D(y(x),x)-(y(x)-2*x)**2
+--R 
+--R
+--R   (96)
+--R         2                        2           ,          2               2
+--R   (4y(x)  + (- 16x + 4)y(x) + 16x  - 8x + 1)y (x) - y(x)  + 4x y(x) - 4x
+--R
+--R                                                     Type: Expression Integer
+--E 97
+
+--S 98 of 130
+solve(ode287,y,x)
+--R 
+--R
+--R   (97)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 98
+
+--S 99 of 130
+ode288 := (6*y(x)**2-3*x**2*y(x)+1)*D(y(x),x)-3*x*y(x)**2+x
+--R 
+--R
+--R               2     2          ,             2
+--R   (98)  (6y(x)  - 3x y(x) + 1)y (x) - 3x y(x)  + x
+--R
+--R                                                     Type: Expression Integer
+--E 99
+
+--S 100 of 130
+yx:=solve(ode288,y,x)
+--R 
+--R
+--R              3     2    2            2
+--R         4y(x)  - 3x y(x)  + 2y(x) + x
+--R   (99)  ------------------------------
+--R                        2
+--R                                          Type: Union(Expression Integer,...)
+--E 100
+
+--S 101 of 130
+ode288expr := (6*yx**2-3*x**2*yx+1)*D(yx,x)-3*x*yx**2+x
+--R 
+--R
+--R   (100)
+--R                  8        2    7        4           6          6       2     5
+--R           576y(x)  - 1152x y(x)  + (756x  + 672)y(x)  + (- 162x  - 720x )y(x)
+--R         + 
+--R               4           4       6      2     3         4          2
+--R           (90x  + 240)y(x)  + (54x  - 48x )y(x)  + (- 54x  + 48)y(x)  + 4
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                  8       3    7          5            6      3    5
+--R       - 288x y(x)  + 432x y(x)  + (- 162x  - 240x)y(x)  + 72x y(x)
+--R     + 
+--R           5           4      3    3     5
+--R       (81x  - 24x)y(x)  - 72x y(x)  - 3x  + 8x
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 101
+
+--S 102 of 130
+ode289 := (6*y(x)-x)**2*D(y(x),x)-6*y(x)**2+2*x*y(x)+a
+--R 
+--R
+--R                 2               2  ,           2
+--R   (101)  (36y(x)  - 12x y(x) + x )y (x) - 6y(x)  + 2x y(x) + a
+--R
+--R                                                     Type: Expression Integer
+--E 102
+
+--S 103 of 130
+yx:=solve(ode289,y,x)
+--R 
+--R
+--R                3          2    2
+--R   (102)  12y(x)  - 6x y(x)  + x y(x) + a x
+--R                                          Type: Union(Expression Integer,...)
+--E 103
+
+--S 104 of 130
+ode289expr := (6*yx-x)**2*D(yx,x)-6*yx**2+2*x*yx+a
+--R 
+--R
+--R   (103)
+--R                   8               7          2    6
+--R         186624y(x)  - 248832x y(x)  + 145152x y(x)
+--R       + 
+--R                  3                        5
+--R         (- 46656x  + (31104a - 5184)x)y(x)
+--R       + 
+--R               4                     2     4          5                  3     3
+--R         (8640x  + (- 25920a + 4320)x )y(x)  + (- 864x  + (8640a - 1440)x )y(x)
+--R       + 
+--R             6                   4         2              2     2
+--R         (36x  + (- 1296a + 216)x  + (1296a  - 432a + 36)x )y(x)
+--R       + 
+--R                     5          2              3            2            4
+--R         ((72a - 12)x  + (- 432a  + 144a - 12)x )y(x) + (36a  - 12a + 1)x
+--R    *
+--R        ,
+--R       y (x)
+--R
+--R   + 
+--R                8              7            2                   6
+--R     - 31104y(x)  + 41472x y(x)  + (- 23328x  + 5184a - 864)y(x)
+--R   + 
+--R           3                          5           4                  2     4
+--R     (6912x  + (- 10368a + 1728)x)y(x)  + (- 1080x  + (6480a - 1080)x )y(x)
+--R   + 
+--R         5                   3        2                   3
+--R     (72x  + (- 1728a + 288)x  + (864a  - 288a + 24)x)y(x)
+--R   + 
+--R                  4          2              2     2        2            3
+--R     ((180a - 30)x  + (- 648a  + 216a - 18)x )y(x)  + (144a  - 48a + 4)x y(x)
+--R   + 
+--R         3      2       2
+--R     (36a  - 18a  + 3a)x  + a
+--R                                                     Type: Expression Integer
+--E 104
+
+--S 105 of 130
+ode290 := (a*y(x)**2+2*b*x*y(x)+c*x**2)*D(y(x),x)+b*y(x)**2+2*c*x*y(x)+d*x**2
+--R 
+--R
+--R                 2                  2  ,            2                  2
+--R   (104)  (a y(x)  + 2b x y(x) + c x )y (x) + b y(x)  + 2c x y(x) + d x
+--R
+--R                                                     Type: Expression Integer
+--E 105
+
+--S 106 of 130
+yx:=solve(ode290,y,x)
+--R 
+--R
+--R                3            2       2          3
+--R          a y(x)  + 3b x y(x)  + 3c x y(x) + d x
+--R   (105)  ---------------------------------------
+--R                             3
+--R                                          Type: Union(Expression Integer,...)
+--E 106
+
+--S 107 of 130
+ode290expr:=(a*yx**2+2*b*x*yx+c*x**2)*D(yx,x)+b*yx**2+2*c*x*yx+d*x**2
+--R 
+--R
+--R   (106)
+--R            4    8     3        7      3       2 2  2    6
+--R           a y(x)  + 8a b x y(x)  + (7a c + 21a b )x y(x)
+--R         + 
+--R               3       2           3  3     2        5
+--R           ((2a d + 36a b c + 18a b )x  + 6a b x)y(x)
+--R         + 
+--R                2         2 2        2   4        2 2     4
+--R           ((10a b d + 15a c  + 45a b c)x  + 30a b x )y(x)
+--R         + 
+--R                2         2            2  5                 3  3     3
+--R           (((8a c + 12a b )d + 36a b c )x  + (24a b c + 36b )x )y(x)
+--R         + 
+--R              2 2                   3  6                2   4         2     2
+--R           ((a d  + 18a b c d + 9a c )x  + (6a b d + 54b c)x  + 9a c x )y(x)
+--R         + 
+--R                   2       2   7       2         2  5          3             2 8
+--R           ((2a b d  + 6a c d)x  + (12b d + 18b c )x  + 18b c x )y(x) + a c d x
+--R         + 
+--R                   6     2 4
+--R           6b c d x  + 9c x
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R        3      8      3      2 2       7
+--R       a b y(x)  + (2a c + 6a b )x y(x)
+--R     + 
+--R          3       2          3  2    2      6
+--R       ((a d + 18a b c + 9a b )x  + a b)y(x)
+--R     + 
+--R           2         2 2        2   3        2      5
+--R       ((8a b d + 12a c  + 36a b c)x  + 12a b x)y(x)
+--R     + 
+--R             2         2            2  4                 3  2     4
+--R       (((10a c + 15a b )d + 45a b c )x  + (18a b c + 27b )x )y(x)
+--R     + 
+--R           2 2                    3  5                2   3              3
+--R       ((2a d  + 36a b c d + 18a c )x  + (8a b d + 72b c)x  + 6a c x)y(x)
+--R     + 
+--R               2        2   6       2         2  4          2     2
+--R       ((7a b d  + 21a c d)x  + (30b d + 45b c )x  + 27b c x )y(x)
+--R     + 
+--R            2 7            5      2 3           3 8       2 6          4       2
+--R     (8a c d x  + 36b c d x  + 36c x )y(x) + a d x  + 7b d x  + 15c d x  + 9d x
+--R  /
+--R     9
+--R                                                     Type: Expression Integer
+--E 107
+
+--S 108 of 130
+ode291 := (b*(beta*y(x)+alpha*x)**2-beta*(b*y(x)+a*x))*D(y(x),x)+_
+              a*(beta*y(x)+alpha*x)**2-alpha*(b*y(x)+a*x)
+--R 
+--R
+--R   (107)
+--R              2    2                                         2   2
+--R       (b beta y(x)  + (2alpha b beta x - b beta)y(x) + alpha b x  - a beta x)
+--R    *
+--R        ,
+--R       y (x)
+--R
+--R   + 
+--R           2    2                                            2 2
+--R     a beta y(x)  + (2a alpha beta x - alpha b)y(x) + a alpha x  - a alpha x
+--R                                                     Type: Expression Integer
+--E 108
+
+--S 109 of 130
+solve(ode291,y,x)
+--R 
+--R
+--R   (108)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 109
+
+--S 110 of 130
+ode292 := (a*y(x)+b*x+c)**2*D(y(x),x)+(alpha*y(x)+beta*x+gamma)**2
+--R 
+--R
+--R   (109)
+--R       2    2                          2 2             2  ,           2    2
+--R     (a y(x)  + (2a b x + 2a c)y(x) + b x  + 2b c x + c )y (x) + alpha y(x)
+--R
+--R   + 
+--R                                              2 2                        2
+--R     (2alpha beta x + 2alpha gamma)y(x) + beta x  + 2beta gamma x + gamma
+--R                                                     Type: Expression Integer
+--E 110
+
+--S 111 of 130
+solve(ode292,y,x)
+--R 
+--R
+--R   (110)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 111
+
+--S 112 of 130
+ode293 := x*(y(x)**2-3*x)*D(y(x),x)+2*y(x)**3-5*x*y(x)
+--R 
+--R
+--R                 2     2  ,           3
+--R   (111)  (x y(x)  - 3x )y (x) + 2y(x)  - 5x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 112
+
+--S 113 of 130
+solve(ode293,y,x)
+--R 
+--R
+--R   (112)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 113
+
+--S 114 of 130
+ode294 := x*(y(x)**2+x**2-a)*D(y(x),x)-y(x)*(y(x)**2+x**2+a)
+--R 
+--R
+--R                 2    3        ,          3       2
+--R   (113)  (x y(x)  + x  - a x)y (x) - y(x)  + (- x  - a)y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 114
+
+--S 115 of 130
+solve(ode294,y,x)
+--R 
+--R
+--R   (114)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 115
+
+--S 116 of 130
+ode295 := x*(y(x)**2+x*y(x)-x**2)*D(y(x),x)-y(x)**3+x*y(x)**2+x**2*y(x)
+--R 
+--R
+--R                 2    2        3  ,          3         2    2
+--R   (115)  (x y(x)  + x y(x) - x )y (x) - y(x)  + x y(x)  + x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 116
+
+--S 117 of 130
+solve(ode295,y,x)
+--R 
+--R
+--R   (116)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 117
+
+--S 118 of 130
+ode296 := x*(y(x)**2+x**2*y(x)+x**2)*D(y(x),x)-2*y(x)**3-2*x**2*y(x)**2+x**4
+--R 
+--R
+--R                 2    3        3  ,           3     2    2    4
+--R   (117)  (x y(x)  + x y(x) + x )y (x) - 2y(x)  - 2x y(x)  + x
+--R
+--R                                                     Type: Expression Integer
+--E 118
+
+--S 119 of 130
+solve(ode296,y,x)
+--R 
+--R
+--R   (118)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 119
+
+--S 120 of 130
+ode297 := 2*x*(y(x)**2+5*x**2)*D(y(x),x)+y(x)**3-x**2*y(x)
+--R 
+--R
+--R                  2      3  ,          3    2
+--R   (119)  (2x y(x)  + 10x )y (x) + y(x)  - x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 120
+
+--S 121 of 130
+solve(ode297,y,x)
+--R 
+--R
+--R   (120)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 121
+
+--S 122 of 130
+ode298 := 3*x*y(x)**2*D(y(x),x)+y(x)**3-2*x
+--R 
+--R
+--R                 2 ,          3
+--R   (121)  3x y(x) y (x) + y(x)  - 2x
+--R
+--R                                                     Type: Expression Integer
+--E 122
+
+--S 123 of 130
+yx:=solve(ode298,y,x)
+--R 
+--R
+--R                3    2
+--R   (122)  x y(x)  - x
+--R                                          Type: Union(Expression Integer,...)
+--E 123
+
+--S 124 of 130
+ode298expr := 3*x*yx**2*D(yx,x)+yx**3-2*x
+--R 
+--R
+--R   (123)
+--R        4    8      5    5     6    2  ,        3    9      4    6      5    3
+--R     (9x y(x)  - 18x y(x)  + 9x y(x) )y (x) + 4x y(x)  - 15x y(x)  + 18x y(x)
+--R
+--R   + 
+--R         6
+--R     - 7x  - 2x
+--R                                                     Type: Expression Integer
+--E 124
+
+--S 125 of 130
+ode299 := (3*x*y(x)**2-x**2)*D(y(x),x)+y(x)**3-2*x*y(x)
+--R 
+--R
+--R                  2    2  ,          3
+--R   (124)  (3x y(x)  - x )y (x) + y(x)  - 2x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 125
+
+--S 126 of 130
+yx:=solve(ode299,y,x)
+--R 
+--R
+--R                3    2
+--R   (125)  x y(x)  - x y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 126
+
+--S 127 of 130
+ode299expr := (3*x*yx**2-x**2)*D(yx,x)+yx**3-2*x*yx
+--R 
+--R
+--R   (126)
+--R        4    8      5    6      6    4        7     3     2    4  ,
+--R     (9x y(x)  - 21x y(x)  + 15x y(x)  + (- 3x  - 3x )y(x)  + x )y (x)
+--R
+--R   + 
+--R       3    9      4    7      5    5        6     2     3     3
+--R     4x y(x)  - 15x y(x)  + 18x y(x)  + (- 7x  - 3x )y(x)  + 4x y(x)
+--R                                                     Type: Expression Integer
+--E 127
+
+--S 128 of 130
+ode300 := 6*x*y(x)**2*D(y(x),x)+2*y(x)**3+x
+--R 
+--R
+--R                 2 ,           3
+--R   (127)  6x y(x) y (x) + 2y(x)  + x
+--R
+--R                                                     Type: Expression Integer
+--E 128
+
+--S 129 of 130
+yx:=solve(ode300,y,x)
+--R 
+--R
+--R                 3    2
+--R          4x y(x)  + x
+--R   (128)  -------------
+--R                2
+--R                                          Type: Union(Expression Integer,...)
+--E 129
+
+--S 130 of 130
+ode300expr := 6*x*yx**2*D(yx,x)+2*yx**3+x
+--R 
+--R
+--R   (129)
+--R            4    8       5    5      6    2  ,          3    9       4    6
+--R       (576x y(x)  + 288x y(x)  + 36x y(x) )y (x) + 256x y(x)  + 240x y(x)
+--R
+--R     + 
+--R          5    3     6
+--R       72x y(x)  + 7x  + 4x
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 130
+
+)spool
+)lisp (bye)
+ 
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} {\bf http://www.cs.uwaterloo.ca/$\tilde{}$ecterrab/odetools.html}
+\end{thebibliography}
+\end{document}

\start
Date: Sat, 6 Oct 2007 01:06:19 -0500
From: Tim Daly
To: list
Subject: 20071006.01.tpd.patch

This patch adds Axiom regression tests of Kamke ODEs 301-350
========================================================================
diff --git a/changelog b/changelog
index 916c822..c63be68 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071005 tpd src/input/Makefile kamke6.input regression test added
+20071005 tpd src/input/kamke6.input ODE regression test added
 20071005 tpd src/input/Makefile kamke5.input regression test added
 20071005 tpd src/input/kamke5.input ODE regression test added
 20071005 tpd src/input/Makefile kamke4.input regression test added
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index 1d2626f..3d92581 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -323,7 +323,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     iprntpk.regress \
     ipftest.regress   is.regress       isprime.regress  kafile.regress \
     kamke0.regress    kamke1.regress   kamke2.regress   kamke3.regress \
-    kamke4.regress    kamke5.regress \
+    kamke4.regress    kamke5.regress   kamke6.regress \
     kernel.regress    knot2.regress    kovacic.regress  kuipers.regress \
     laplace.regress   leg.regress      limit.regress    lindep.regress \
     list.regress      lode.regress     lodesys.regress  lodo1.regress \
@@ -564,7 +564,7 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/ipftest.input  ${OUT}/is.input         ${OUT}/isprime.input \
        ${OUT}/kafile.input   ${OUT}/kamke0.input     ${OUT}/kamke1.input \
        ${OUT}/kamke2.input   ${OUT}/kamke3.input     ${OUT}/kamke4.input \
-       ${OUT}/kamke5.input \
+       ${OUT}/kamke5.input   ${OUT}/kamke6.input \
        ${OUT}/kernel.input   ${OUT}/knot.input \
        ${OUT}/kovacic.input  ${OUT}/kuipers.input  \
        ${OUT}/laplace.input  ${OUT}/leg.input        ${OUT}/lexp.input \
@@ -833,6 +833,7 @@ DOCFILES= \
   ${DOC}/kamke0.input.dvi      ${DOC}/kamke1.input.dvi     \
   ${DOC}/kamke2.input.dvi      ${DOC}/kamke3.input.dvi     \
   ${DOC}/kamke4.input.dvi      ${DOC}/kamke5.input.dvi     \
+  ${DOC}/kamke6.input.dvi     \
   ${DOC}/kernel.input.dvi      ${DOC}/knot2.input.dvi      \
   ${DOC}/knot.input.dvi        ${DOC}/knownbugs.input.dvi  \
   ${DOC}/kovacic.input.dvi     ${DOC}/kuipers.input.dvi    \
diff --git a/src/input/kamke6.input.pamphlet b/src/input/kamke6.input.pamphlet
new file mode 100644
index 0000000..ad31cd3
--- /dev/null
+++ b/src/input/kamke6.input.pamphlet
@@ -0,0 +1,3661 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kamke6.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+This is the 301-350 of the Kamke test suite as published by 
+E. S. Cheb-Terrab\cite{1}. They have been rewritten using Axiom
+syntax. Where possible we show that the particular solution actually
+satisfies the original ordinary differential equation.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)spool kamke6.output
+)set break resume
+)set mes auto off
+)clear all
+
+--S 1 of 120
+y:=operator 'y
+--R 
+--R
+--R   (1)  y
+--R                                                          Type: BasicOperator
+--E 1
+
+--S 2 of 120
+--Rf:=operator 'f
+--R 
+--R
+--R   (2)  f
+--R                                                          Type: BasicOperator
+--E 2
+
+--S 3 of 120
+--Rg:=operator 'g
+--R 
+--R
+--R   (3)  g
+--R                                                          Type: BasicOperator
+--R
+--E 3
+
+--S 4 of 120
+--Rode301 := (6*x*y(x)**2+x**2)*D(y(x),x)-y(x)*(3*y(x)**2-x)
+--R 
+--R
+--R                2    2  ,           3
+--R   (4)  (6x y(x)  + x )y (x) - 3y(x)  + x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 4
+
+--S 5 of 120
+--Rsolve(ode301,y,x)
+--R 
+--R
+--R   (5)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 5
+
+--S 6 of 120
+--Rode302 := (x**2*y(x)**2+x)*D(y(x),x)+y(x)
+--R 
+--R
+--R          2    2      ,
+--R   (6)  (x y(x)  + x)y (x) + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 6
+
+--S 7 of 120
+--Rsolve(ode302,y,x)
+--R 
+--R
+--R   (7)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 7
+
+--S 8 of 120
+--Rode303 := (x*y(x)-1)**2*x*D(y(x),x)+(x**2*y(x)**2+1)*y(x)
+--R 
+--R
+--R          3    2     2          ,       2    3
+--R   (8)  (x y(x)  - 2x y(x) + x)y (x) + x y(x)  + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 8
+
+--S 9 of 120
+--Rsolve(ode303,y,x)
+--R 
+--R
+--R   (9)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 9
+
+--S 10 of 120
+--Rode304 := (10*x**3*y(x)**2+x**2*y(x)+2*x)*D(y(x),x)+5*x**2*y(x)**3+x*y(x)**2
+--R 
+--R
+--R             3    2    2           ,        2    3         2
+--R   (10)  (10x y(x)  + x y(x) + 2x)y (x) + 5x y(x)  + x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 10
+
+--S 11 of 120
+--Rsolve(ode304,y,x)
+--R 
+--R
+--R   (11)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 11
+
+--S 12 of 120
+--Rode305 := (y(x)**3-3*x)*D(y(x),x)-3*y(x)+x**2
+--R 
+--R
+--R              3       ,               2
+--R   (12)  (y(x)  - 3x)y (x) - 3y(x) + x
+--R
+--R                                                     Type: Expression Integer
+--E 12
+
+--S 13 of 120
+--Ryx:=solve(ode305,y,x)
+--R 
+--R
+--R              4                3
+--R         3y(x)  - 36x y(x) + 4x
+--R   (13)  -----------------------
+--R                    12
+--R                                          Type: Union(Expression Integer,...)
+--E 13
+
+--S 14 of 120
+--Rode305expr := (yx**3-3*x)*D(yx,x)-3*yx+x**2
+--R 
+--R
+--R   (14)
+--R                 15             12       3    11         2    9        4    8
+--R           27y(x)   - 1053x y(x)   + 108x y(x)   + 14580x y(x)  - 2916x y(x)
+--R         + 
+--R               6    7         3    6         5    5        7    4
+--R           144x y(x)  - 81648x y(x)  + 23328x y(x)  - 2160x y(x)
+--R         + 
+--R               9          4             3         6    2        8           10
+--R           (64x  + 139968x  - 5184x)y(x)  - 46656x y(x)  + 5184x y(x) - 192x
+--R         + 
+--R                 2
+--R           15552x
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R               13      2    12             10        3    9       5    8
+--R       - 81y(x)   + 27x y(x)   + 2916x y(x)   - 1296x y(x)  + 108x y(x)
+--R     + 
+--R               2    7         4    6        6    5
+--R       - 34992x y(x)  + 19440x y(x)  - 3024x y(x)
+--R     + 
+--R            8          3            4         5    3         7    2
+--R       (144x  + 139968x  - 1296)y(x)  - 93312x y(x)  + 20736x y(x)
+--R     + 
+--R               9                    11        3        2
+--R       (- 1920x  + 31104x)y(x) + 64x   - 6912x  + 1728x
+--R  /
+--R     1728
+--R                                                     Type: Expression Integer
+--E 14
+
+--S 15 of 120
+--Rode306 := (y(x)**3-x**3)*D(y(x),x)-x**2*y(x)
+--R 
+--R
+--R              3    3  ,       2
+--R   (15)  (y(x)  - x )y (x) - x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 15
+
+--S 16 of 120
+--Ryx:=solve(ode306,y,x)
+--R 
+--R
+--R             6     3    3
+--R         y(x)  - 2x y(x)
+--R   (16)  ----------------
+--R                 6
+--R                                          Type: Union(Expression Integer,...)
+--E 16
+
+--S 17 of 120
+--Rode306expr := (yx**3-x**3)*D(yx,x)-x**2*yx
+--R 
+--R
+--R   (17)
+--R               23     3    20      6    17      9    14     12    11
+--R           y(x)   - 7x y(x)   + 18x y(x)   - 20x y(x)   + 8x  y(x)
+--R         + 
+--R                 3    5       6    2
+--R           - 216x y(x)  + 216x y(x)
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R        2    21     5    18      8    15     11    12      2    6       5    3
+--R     - x y(x)   + 6x y(x)   - 12x y(x)   + 8x  y(x)   - 36x y(x)  + 288x y(x)
+--R  /
+--R     216
+--R                                                     Type: Expression Integer
+--E 17
+
+--S 18 of 120
+--Rode307 := (y(x)**2+x**2+a)*y(x)*D(y(x),x)+(y(x)**2+x**2-a)*x
+--R 
+--R
+--R              3     2           ,            2    3
+--R   (18)  (y(x)  + (x  + a)y(x))y (x) + x y(x)  + x  - a x
+--R
+--R                                                     Type: Expression Integer
+--E 18
+
+--S 19 of 120
+--Ryx:=solve(ode307,y,x)
+--R 
+--R
+--R             4      2          2    4       2
+--R         y(x)  + (2x  + 2a)y(x)  + x  - 2a x
+--R   (19)  ------------------------------------
+--R                           4
+--R                                          Type: Union(Expression Integer,...)
+--E 19
+
+--S 20 of 120
+--Rode307expr := (yx**2+x**2+a)*yx*D(yx,x)+(yx**2+x**2-a)*x
+--R 
+--R
+--R   (20)
+--R               15      2          13       4        2      2     11
+--R           y(x)   + (7x  + 7a)y(x)   + (21x  + 30a x  + 18a )y(x)
+--R         + 
+--R               6        4      2 2      3     9
+--R           (35x  + 45a x  + 30a x  + 20a )y(x)
+--R         + 
+--R               8        6      2 4         3       2     4           7
+--R           (35x  + 20a x  - 12a x  + (- 16a  + 16)x  + 8a  + 16a)y(x)
+--R         + 
+--R                    10        8      2 6         3       4         4        2
+--R                 21x   - 15a x  - 36a x  + (- 24a  + 48)x  + (- 24a  + 96a)x
+--R               + 
+--R                    2
+--R                 48a
+--R          *
+--R                 5
+--R             y(x)
+--R         + 
+--R                 12        10     2 8       3       6       4        4      2 2
+--R               7x   - 18a x   - 6a x  + (16a  + 48)x  + (24a  + 80a)x  + 64a x
+--R             + 
+--R                  3
+--R               32a
+--R          *
+--R                 3
+--R             y(x)
+--R         + 
+--R             14       12     2 10      3       8     4 6      2 4      3 2
+--R           (x   - 5a x   + 6a x   + (4a  + 16)x  - 8a x  - 48a x  - 32a x )y(x)
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R             14      3            12       5        3     2      10
+--R       x y(x)   + (7x  + 5a x)y(x)   + (21x  + 18a x  + 6a x)y(x)
+--R     + 
+--R           7        5     2 3        3           8
+--R       (35x  + 15a x  - 6a x  + (- 4a  + 4)x)y(x)
+--R     + 
+--R           9        7      2 5         3       3        4             6
+--R       (35x  - 20a x  - 36a x  + (- 16a  + 32)x  + (- 8a  + 32a)x)y(x)
+--R     + 
+--R           11        9      2 7       3       5       4        3      2      4
+--R       (21x   - 45a x  - 12a x  + (24a  + 72)x  + (24a  + 80a)x  + 32a x)y(x)
+--R     + 
+--R          13        11      2 9       3       7      4 5      2 3      3      2
+--R       (7x   - 30a x   + 30a x  + (16a  + 64)x  - 24a x  - 96a x  - 32a x)y(x)
+--R     + 
+--R        15       13      2 11         3       9      4        7       3       3
+--R       x   - 7a x   + 18a x   + (- 20a  + 20)x  + (8a  - 48a)x  + (32a  + 64)x
+--R     + 
+--R       - 64a x
+--R  /
+--R     64
+--R                                                     Type: Expression Integer
+--E 20
+
+--S 21 of 120
+--Rode308 := 2*y(x)**3*D(y(x),x)+x*y(x)**2
+--R 
+--R
+--R              3 ,            2
+--R   (21)  2y(x) y (x) + x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 21
+
+--S 22 of 120
+--Ryx:=solve(ode308,y,x)
+--R 
+--R
+--R              2    2
+--R         2y(x)  + x
+--R   (22)  -----------
+--R              2
+--R                                          Type: Union(Expression Integer,...)
+--E 22
+
+--S 23 of 120
+--Rode308expr := 2*yx**3*D(yx,x)+x*yx**2
+--R 
+--R
+--R   (23)
+--R              7      2    5      4    3     6      ,             6
+--R       (16y(x)  + 24x y(x)  + 12x y(x)  + 2x y(x))y (x) + 8x y(x)
+--R
+--R     + 
+--R           3          4      5     3     2    7    5
+--R       (12x  + 4x)y(x)  + (6x  + 4x )y(x)  + x  + x
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 23
+
+--S 24 of 120
+--Rode309 := (2*y(x)**3+y(x))*D(y(x),x)-2*x**3-x
+--R 
+--R
+--R               3         ,        3
+--R   (24)  (2y(x)  + y(x))y (x) - 2x  - x
+--R
+--R                                                     Type: Expression Integer
+--E 24
+
+--S 25 of 120
+--Ryx:=solve(ode309,y,x)
+--R 
+--R
+--R             4       2    4    2
+--R         y(x)  + y(x)  - x  - x
+--R   (25)  -----------------------
+--R                    2
+--R                                          Type: Union(Expression Integer,...)
+--E 25
+
+--S 26 of 120
+--Rode309expr := (2*yx**3+yx)*D(yx,x)-2*x**3-x
+--R 
+--R
+--R   (26)
+--R                15        13        4     2         11
+--R           2y(x)   + 7y(x)   + (- 6x  - 6x  + 9)y(x)
+--R         + 
+--R                 4      2         9      8      6     4      2         7
+--R           (- 15x  - 15x  + 5)y(x)  + (6x  + 12x  - 6x  - 12x  + 5)y(x)
+--R         + 
+--R              8      6     4     2         5
+--R           (9x  + 18x  + 6x  - 3x  + 6)y(x)
+--R         + 
+--R                12     10     8     6    4     2         3
+--R           (- 2x   - 6x   - 3x  + 4x  - x  - 4x  + 2)y(x)
+--R         + 
+--R               12     10     8    6     4     2
+--R           (- x   - 3x   - 3x  - x  - 2x  - 2x )y(x)
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R            3         12        3          10      7     5     3          8
+--R       (- 2x  - x)y(x)   + (- 6x  - 3x)y(x)   + (6x  + 9x  - 3x  - 3x)y(x)
+--R     + 
+--R           7      5     3         6        11      9     7     5    3          4
+--R       (12x  + 18x  + 4x  - x)y(x)  + (- 6x   - 15x  - 6x  + 6x  - x  - 2x)y(x)
+--R     + 
+--R            11      9      7     5     3          2     15     13     11     9
+--R       (- 6x   - 15x  - 12x  - 3x  - 4x  - 2x)y(x)  + 2x   + 7x   + 9x   + 5x
+--R     + 
+--R         7     5     3
+--R       5x  + 6x  - 6x  - 4x
+--R  /
+--R     4
+--R                                                     Type: Expression Integer
+--E 26
+
+--S 27 of 120
+--Rode310 := (2*y(x)**3+5*x**2*y(x))*D(y(x),x)+5*x*y(x)**2+x**3
+--R 
+--R
+--R               3     2      ,             2    3
+--R   (27)  (2y(x)  + 5x y(x))y (x) + 5x y(x)  + x
+--R
+--R                                                     Type: Expression Integer
+--E 27
+
+--S 28 of 120
+--Ryx:=solve(ode310,y,x)
+--R 
+--R
+--R              4      2    2    4
+--R         2y(x)  + 10x y(x)  + x
+--R   (28)  -----------------------
+--R                    4
+--R                                          Type: Union(Expression Integer,...)
+--E 28
+
+--S 29 of 120
+--Rode310expr := (2*yx**3+5*x**2*yx)*D(yx,x)+5*x*yx**2+x**3
+--R 
+--R
+--R   (29)
+--R                 15       2    13        4    11        6    9
+--R           16y(x)   + 280x y(x)   + 1824x y(x)   + 5300x y(x)
+--R         + 
+--R                 8       2     7         10        4     5
+--R           (6212x  + 160x )y(x)  + (1590x   + 1200x )y(x)
+--R         + 
+--R                12        6     3      14       8
+--R           (152x   + 2080x )y(x)  + (5x   + 200x )y(x)
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R               14       3    12        5    10         7           8
+--R       40x y(x)   + 608x y(x)   + 3180x y(x)   + (6212x  + 40x)y(x)
+--R     + 
+--R             9       3     6        11        5     4       13       7     2
+--R       (2650x  + 800x )y(x)  + (456x   + 3120x )y(x)  + (35x   + 800x )y(x)
+--R     + 
+--R        15      9      3
+--R       x   + 50x  + 32x
+--R  /
+--R     32
+--R                                                     Type: Expression Integer
+--E 29
+
+--S 30 of 120
+--Rode311 := (20*y(x)**3-3*x*y(x)**2+6*x**2*y(x)+3*x**3)*D(y(x),x)-_
+--R             y(x)**3+6*x*y(x)**2+9*x**2*y(x)+4*x**3
+--R 
+--R
+--R   (30)
+--R          3          2     2         3  ,          3          2     2         3
+--R   (20y(x)  - 3x y(x)  + 6x y(x) + 3x )y (x) - y(x)  + 6x y(x)  + 9x y(x) + 4x
+--R
+--R                                                     Type: Expression Integer
+--E 30
+
+--S 31 of 120
+--Ryx:=solve(ode311,y,x)
+--R 
+--R
+--R              4         3     2    2     3        4
+--R   (31)  5y(x)  - x y(x)  + 3x y(x)  + 3x y(x) + x
+--R                                          Type: Union(Expression Integer,...)
+--E 31
+
+--S 32 of 120
+--Rode311expr := (20*yx**3-3*x*yx**2+6*x**2*yx+3*x**3)*D(yx,x)-_
+--R                yx**3+6*x*yx**2+9*x**2*yx+4*x**3
+--R 
+--R
+--R   (32)
+--R                  15              14          2    13         3    12
+--R         50000y(x)   - 37500x y(x)   + 115500x y(x)   + 37700x y(x)
+--R       + 
+--R                4             11           5       2     10
+--R         (67860x  - 1500x)y(x)   + (111540x  + 825x )y(x)
+--R       + 
+--R                6        3     9          7        4     8
+--R         (90600x  - 2400x )y(x)  + (72720x  - 1206x )y(x)
+--R       + 
+--R                8        5       2     7          9        6       3     6
+--R         (71880x  - 1032x  + 600x )y(x)  + (52080x  - 1554x  - 210x )y(x)
+--R       + 
+--R                10        7       4     5          11       8       5     4
+--R         (29880x   - 1206x  + 558x )y(x)  + (17100x   - 630x  + 360x )y(x)
+--R       + 
+--R               12       9       6      3     3
+--R         (8860x   - 420x  + 156x  + 60x )y(x)
+--R       + 
+--R               13       10       7     4     2
+--R         (3180x   - 234x   + 144x  - 9x )y(x)
+--R       + 
+--R              14      11      8      5           15     12      9     6
+--R         (660x   - 72x   + 90x  + 18x )y(x) + 60x   - 9x   + 18x  + 9x
+--R    *
+--R        ,
+--R       y (x)
+--R
+--R   + 
+--R               15              14        2    13          3           12
+--R     - 2500y(x)   + 16500x y(x)   + 8700x y(x)   + (22620x  - 125)y(x)
+--R   + 
+--R            4            11          5       2     10          6       3     9
+--R     (50700x  + 150x)y(x)   + (54360x  - 720x )y(x)   + (56560x  - 536x )y(x)
+--R   + 
+--R            7       4            8          8        5      2     7
+--R     (71880x  - 645x  + 150x)y(x)  + (66960x  - 1332x  - 90x )y(x)
+--R   + 
+--R            9        6       3     6          10        7       4     5
+--R     (49800x  - 1407x  + 372x )y(x)  + (37620x   - 1008x  + 360x )y(x)
+--R   + 
+--R            11       8       5      2     4
+--R     (26580x   - 945x  + 234x  + 45x )y(x)
+--R   + 
+--R            12       9       6      3     3
+--R     (13780x   - 780x  + 336x  - 12x )y(x)
+--R   + 
+--R           13       10       7      4     2
+--R     (4620x   - 396x   + 360x  + 45x )y(x)
+--R   + 
+--R          14       11       8      5           15      12      9      6     3
+--R     (900x   - 108x   + 162x  + 54x )y(x) + 80x   - 13x   + 30x  + 21x  + 4x
+--R                                                     Type: Expression Integer
+--E 32
+
+--S 33 of 120
+--Rode312 := (y(x)**2/b+x**2/a)*(y(x)*D(y(x),x)+x)+((a-b)/(a+b))*_
+--R             (y(x)*D(y(x),x)-x)
+--R 
+--R
+--R   (33)
+--R                2     3      2        2      2    2        ,
+--R       ((a b + a )y(x)  + ((b  + a b)x  - a b  + a b)y(x))y (x)
+--R
+--R     + 
+--R               2       2     2        3       2    2
+--R       (a b + a )x y(x)  + (b  + a b)x  + (a b  - a b)x
+--R  /
+--R        2    2
+--R     a b  + a b
+--R                                                     Type: Expression Integer
+--E 33
+
+--S 34 of 120
+--Rsolve(ode312,y,x)
+--R 
+--R
+--R   (34)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 34
+
+--S 35 of 120
+--Rode313 := (2*a*y(x)**3+3*a*x*y(x)**2-b*x**3+c*x**2)*D(y(x),x)-_
+--R             a*y(x)**3+c*y(x)**2+3*b*x**2*y(x)+2*b*x**3
+--R 
+--R
+--R   (35)
+--R             3            2      3      2  ,            3         2       2
+--R     (2a y(x)  + 3a x y(x)  - b x  + c x )y (x) - a y(x)  + c y(x)  + 3b x y(x)
+--R
+--R   + 
+--R         3
+--R     2b x
+--R                                                     Type: Expression Integer
+--E 35
+
+--S 36 of 120
+--Rsolve(ode313,y,x)
+--R 
+--R
+--R   (36)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 36
+
+--S 37 of 120
+--Rode314 := x*y(x)**3*D(y(x),x)+y(x)**4-x*sin(x)
+--R 
+--R
+--R               3 ,                     4
+--R   (37)  x y(x) y (x) - x sin(x) + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 37
+
+--S 38 of 120
+--Ryx:=solve(ode314,y,x)
+--R 
+--R
+--R               3                   4      2                4    4
+--R         (- 16x  + 96x)sin(x) + (4x  - 48x  + 96)cos(x) + x y(x)
+--R   (38)  --------------------------------------------------------
+--R                                     4
+--R                                          Type: Union(Expression Integer,...)
+--E 38
+
+--S 39 of 120
+--Rode314expr := x*yx**3*D(yx,x)+yx**4-x*sin(x)
+--R 
+--R
+--R   (39)
+--R                    14          12           10           8     3      3
+--R           (- 16384x   + 294912x   - 1769472x   + 3538944x )y(x) sin(x)
+--R         + 
+--R                        15          13           11           9            7
+--R                 (12288x   - 294912x   + 2506752x   - 8847360x  + 10616832x )
+--R              *
+--R                     3
+--R                 y(x) cos(x)
+--R             + 
+--R                     15         13          11     7
+--R               (3072x   - 36864x   + 110592x  )y(x)
+--R          *
+--R                   2
+--R             sin(x)
+--R         + 
+--R                          16         14           12           10            8
+--R                   - 3072x   + 92160x   - 1032192x   + 5308416x   - 12386304x
+--R                 + 
+--R                            6
+--R                   10616832x
+--R              *
+--R                     3      2
+--R                 y(x) cos(x)
+--R             + 
+--R                       16         14          12          10     7
+--R               (- 1536x   + 27648x   - 147456x   + 221184x  )y(x) cos(x)
+--R             + 
+--R                      16        14     11
+--R               (- 192x   + 1152x  )y(x)
+--R          *
+--R             sin(x)
+--R         + 
+--R                   17        15          13          11           9           7
+--R               256x   - 9216x   + 129024x   - 884736x   + 3096576x  - 5308416x
+--R             + 
+--R                       5
+--R               3538944x
+--R          *
+--R                 3      3
+--R             y(x) cos(x)
+--R         + 
+--R                17        15         13          11          9     7      2
+--R           (192x   - 4608x   + 36864x   - 110592x   + 110592x )y(x) cos(x)
+--R         + 
+--R               17       15        13     11           17    15
+--R           (48x   - 576x   + 1152x  )y(x)  cos(x) + 4x  y(x)
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                   14          12          10            8            6
+--R             16384x   - 229376x   + 196608x   + 10616832x  - 56623104x
+--R           + 
+--R                      4
+--R             84934656x
+--R      *
+--R               4
+--R         sin(x)
+--R     + 
+--R                       15          13          11            9             7
+--R               - 12288x   + 229376x   - 540672x   - 13959168x  + 116785152x
+--R             + 
+--R                           5             3
+--R               - 339738624x  + 339738624x
+--R          *
+--R             cos(x)
+--R         + 
+--R                   15        13          11           9           7     4
+--R           (- 3072x   + 4096x   + 479232x   - 3538944x  + 7077888x )y(x)
+--R      *
+--R               3
+--R         sin(x)
+--R     + 
+--R                    16         14          12           10            8
+--R               3072x   - 67584x   + 147456x   + 7372800x   - 79626240x
+--R             + 
+--R                         6             4             2
+--R               343277568x  - 679477248x  + 509607936x
+--R          *
+--R                   2
+--R             cos(x)
+--R         + 
+--R                    16        14          12           10            8
+--R               1536x   - 3072x   - 442368x   + 4792320x   - 17694720x
+--R             + 
+--R                        6
+--R               21233664x
+--R          *
+--R                 4
+--R             y(x) cos(x)
+--R         + 
+--R                16        14         12          10     8
+--R           (192x   + 3456x   - 55296x   + 165888x  )y(x)
+--R      *
+--R               2
+--R         sin(x)
+--R     + 
+--R                     17        15         13           11            9
+--R               - 256x   + 5120x   + 43008x   - 2064384x   + 23445504x
+--R             + 
+--R                           7             5             3
+--R               - 129171456x  + 378667008x  - 566231040x  + 339738624x
+--R          *
+--R                   3
+--R             cos(x)
+--R         + 
+--R                     17        15          13           11            9
+--R               - 192x   - 1536x   + 147456x   - 1953792x   + 10506240x
+--R             + 
+--R                          7            5
+--R               - 24772608x  + 21233664x
+--R          *
+--R                 4      2
+--R             y(x) cos(x)
+--R         + 
+--R                 17        15         13          11          9     8
+--R           (- 48x   - 1728x   + 40320x   - 221184x   + 331776x )y(x) cos(x)
+--R         + 
+--R                17       15        13     12
+--R           (- 4x   - 256x   + 1536x  )y(x)   - 256x
+--R      *
+--R         sin(x)
+--R     + 
+--R               16         14          12           10            8            6
+--R           256x   - 12288x   + 245760x   - 2654208x   + 16809984x  - 63700992x
+--R         + 
+--R                     4             2
+--R           141557760x  - 169869312x  + 84934656
+--R      *
+--R               4
+--R         cos(x)
+--R     + 
+--R               16         14          12           10           8            6
+--R           512x   - 18432x   + 258048x   - 1769472x   + 6193152x  - 10616832x
+--R         + 
+--R                   4
+--R           7077888x
+--R      *
+--R             4      3
+--R         y(x) cos(x)
+--R     + 
+--R            16        14         12          10          8     8      2
+--R       (288x   - 6912x   + 55296x   - 165888x   + 165888x )y(x) cos(x)
+--R     + 
+--R           16       14        12     12           16    16
+--R       (64x   - 768x   + 1536x  )y(x)  cos(x) + 5x  y(x)
+--R  /
+--R     256
+--R                                                     Type: Expression Integer
+--E 39
+
+--S 40 of 120
+--Rode315 := (2*x*y(x)**3-x**4)*D(y(x),x)-y(x)**4+2*x**3*y(x)
+--R 
+--R
+--R                 3    4  ,          4     3
+--R   (40)  (2x y(x)  - x )y (x) - y(x)  + 2x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 40
+
+--S 41 of 120
+--Rsolve(ode315,y,x)
+--R 
+--R
+--R   (41)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 41
+
+--S 42 of 120
+--Rode316 := (2*x*y(x)**3+y(x))*D(y(x),x)+2*y(x)**2
+--R 
+--R
+--R                 3         ,           2
+--R   (42)  (2x y(x)  + y(x))y (x) + 2y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 42
+
+--S 43 of 120
+--Ryx:=solve(ode316,y,x)
+--R 
+--R
+--R                  2
+--R              y(x)
+--R              -----          2
+--R                2        y(x)
+--R         4x %e      + Ei(-----)
+--R                           2
+--R   (43)  ----------------------
+--R                    2
+--R                                          Type: Union(Expression Integer,...)
+--E 43
+
+--S 44 of 120
+--Rode316expr := (2*x*yx**3+yx)*D(yx,x)+2*yx**2
+--R 
+--R
+--R   (44)
+--R                                     2 4                                     2 3
+--R                                 y(x)                                    y(x)
+--R                                 -----                              2    -----
+--R                5    2      4      2           4    2      3    y(x)       2
+--R           (128x y(x)  + 64x )(%e     )  + (96x y(x)  + 48x )Ei(-----)(%e     )
+--R                                                                  2
+--R         + 
+--R                                                                 2 2
+--R                                                             y(x)
+--R                                     2 2                     -----
+--R                3    2      2    y(x)         2    2           2
+--R           ((24x y(x)  + 12x )Ei(-----)  + 16x y(x)  + 8x)(%e     )
+--R                                   2
+--R         + 
+--R                                                                     2
+--R                                                                 y(x)
+--R                                 2 3                        2    -----
+--R               2    2        y(x)              2        y(x)       2
+--R           ((2x y(x)  + x)Ei(-----)  + (4x y(x)  + 2)Ei(-----))%e
+--R                               2                          2
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                       2 4                           2 3
+--R                   y(x)                          y(x)
+--R                   -----                    2    -----
+--R           4         2          3       y(x)       2
+--R       128x y(x)(%e     )  + 96x y(x)Ei(-----)(%e     )
+--R                                          2
+--R     + 
+--R                                                     2 2
+--R                                                 y(x)
+--R                       2 2                       -----
+--R           2       y(x)          2                 2
+--R       (24x y(x)Ei(-----)  + (32x  + 16x)y(x))(%e     )
+--R                     2
+--R     + 
+--R                                                         2
+--R                                                     y(x)
+--R                      2 3                       2    -----               2 2
+--R                  y(x)                      y(x)       2             y(x)
+--R       (2x y(x)Ei(-----)  + (16x + 4)y(x)Ei(-----))%e      + 2y(x)Ei(-----)
+--R                    2                         2                        2
+--R  /
+--R     4y(x)
+--R                                                     Type: Expression Integer
+--E 44
+
+--S 45 of 120
+--Rode317 := (2*x*y(x)**3+x*y(x)+x**2)*D(y(x),x)+y(x)**2-x*y(x)
+--R 
+--R
+--R                 3             2  ,          2
+--R   (45)  (2x y(x)  + x y(x) + x )y (x) + y(x)  - x y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 45
+
+--S 46 of 120
+--Rsolve(ode317,y,x)
+--R 
+--R
+--R   (46)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 46
+
+--S 47 of 120
+--Rode318 := (3*x*y(x)**3-4*x*y(x)+y(x))*D(y(x),x)+y(x)**2*(y(x)**2-2)
+--R 
+--R
+--R                 3                   ,          4        2
+--R   (47)  (3x y(x)  + (- 4x + 1)y(x))y (x) + y(x)  - 2y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 47
+
+--S 48 of 120
+--Ryx:=solve(ode318,y,x)
+--R 
+--R
+--R   (48)
+--R                                       +---------+
+--R                4               2      |    2              5                 3
+--R       (- x y(x)  + (2x - 1)y(x)  + 2)\|y(x)  - 2  + x y(x)  + (- 2x + 1)y(x)
+--R     + 
+--R       - 2y(x)
+--R  /
+--R          +---------+
+--R          |    2            2
+--R     y(x)\|y(x)  - 2  - y(x)  + 2
+--R                                          Type: Union(Expression Integer,...)
+--E 48
+
+--S 49 of 120
+--Rode318expr := (3*x*yx**3-4*x*yx+yx)*D(yx,x)+yx**2*(yx**2-2)
+--R 
+--R
+--R   (49)
+--R           5    11         5      4     9       5      4      3     7
+--R         9x y(x)   + (- 30x  + 30x )y(x)  + (24x  - 96x  + 36x )y(x)
+--R       + 
+--R             4       3      2     5       3      2          3
+--R         (72x  - 120x  + 21x )y(x)  + (88x  - 68x  + 7x)y(x)
+--R       + 
+--R             2
+--R         (40x  - 14x + 1)y(x)
+--R    *
+--R        ,
+--R       y (x)
+--R
+--R   + 
+--R       4    12         4      3     10       4      3      2     8
+--R     4x y(x)   + (- 16x  + 13x )y(x)   + (16x  - 52x  + 15x )y(x)
+--R   + 
+--R         3      2          6       2               4                2
+--R     (52x  - 66x  + 8x)y(x)  + (72x  - 38x + 2)y(x)  + (44x - 8)y(x)  + 8
+--R                                                     Type: Expression Integer
+--E 49
+
+--S 50 of 120
+--Rode319 := (7*x*y(x)**3+y(x)-5*x)*D(y(x),x)+y(x)**4-5*y(x)
+--R 
+--R
+--R                 3              ,          4
+--R   (50)  (7x y(x)  + y(x) - 5x)y (x) + y(x)  - 5y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 50
+
+--S 51 of 120
+--Ryx:=solve(ode319,y,x)
+--R 
+--R
+--R                 7        5            4         2
+--R         10x y(x)  + 2y(x)  - 100x y(x)  - 25y(x)  + 250x y(x)
+--R   (51)  -----------------------------------------------------
+--R                                   10
+--R                                          Type: Union(Expression Integer,...)
+--E 51
+
+--S 52 of 120
+--Rode319expr := (7*x*yx**3+yx-5*x)*D(yx,x)+yx**4-5*yx
+--R 
+--R
+--R   (52)
+--R                  5    27          4    25            5    24          3    23
+--R           490000x y(x)   + 364000x y(x)   - 17500000x y(x)   + 100800x y(x)
+--R         + 
+--R                      4    22              5         2     21           3    20
+--R           - 13685000x y(x)   + (269500000x  + 12320x )y(x)   - 3969000x y(x)
+--R         + 
+--R                      4            19                 5          2     18
+--R           (210000000x  + 560x)y(x)   + (- 2327500000x  - 505400x )y(x)
+--R         + 
+--R                    3    17                 4              16
+--R           60952500x y(x)   + (- 1710625000x  - 23800x)y(x)
+--R         + 
+--R                        5           2     15             3    14
+--R           (12250000000x  + 7784000x )y(x)   - 464625000x y(x)
+--R         + 
+--R                       4         2               13
+--R           (7962500000x  + 70000x  + 367500x)y(x)
+--R         + 
+--R                          5            2     12               3              11
+--R           (- 39812500000x  - 55168750x )y(x)   + (1842750000x  + 24000x)y(x)
+--R         + 
+--R                          4           2                10
+--R           (- 20934375000x  - 1100000x  - 2406250x)y(x)
+--R         + 
+--R                        5             2            9
+--R           (76562500000x  + 175000000x  + 2000)y(x)
+--R         + 
+--R                         3               8
+--R           (- 3543750000x  - 405000x)y(x)
+--R         + 
+--R                        4           2                7
+--R           (28000000000x  + 6000000x  + 5468750x)y(x)
+--R         + 
+--R                          5             2             6
+--R           (- 76562500000x  - 191756250x  - 35000)y(x)
+--R         + 
+--R                       3                5
+--R           (2460937500x  + 1800000x)y(x)
+--R         + 
+--R                          4            2              4
+--R           (- 13671875000x  - 12500000x  - 50000x)y(x)
+--R         + 
+--R                        5           2              3                2
+--R           (27343750000x  + 2000000x  + 125000)y(x)  - 1875000x y(x)
+--R         + 
+--R                    2                          2
+--R           (6250000x  + 250000x)y(x) - 1250000x
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R             4    28         3    26           4    25         2    24
+--R       80000x y(x)   + 50000x y(x)   - 3200000x y(x)   + 10800x y(x)
+--R     + 
+--R                 3    23             4            22          2    21
+--R       - 2125000x y(x)   + (56000000x  + 880x)y(x)   - 486000x y(x)
+--R     + 
+--R                 3          20                4              19
+--R       (37500000x  + 16)y(x)   + (- 560000000x  - 41800x)y(x)
+--R     + 
+--R               2    18                3           17
+--R       8707500x y(x)   + (- 359375000x  - 800)y(x)
+--R     + 
+--R                   4               16            2    15
+--R       (3500000000x  + 764500x)y(x)   - 79650000x y(x)
+--R     + 
+--R                   3                      14
+--R       (2031250000x  + 10000x + 15000)y(x)
+--R     + 
+--R                      4                13              2            12
+--R       (- 14000000000x  - 6668750x)y(x)   + (394875000x  + 2000)y(x)
+--R     + 
+--R                     3                        11
+--R       (- 6796875000x  - 200000x - 125000)y(x)
+--R     + 
+--R                    4                 10                 2             9
+--R       (35000000000x  + 27500000x)y(x)   + (- 1012500000x  - 45000)y(x)
+--R     + 
+--R                    3                         8
+--R       (12500000000x  + 1500000x + 390625)y(x)
+--R     + 
+--R                      4                 7               2              6
+--R       (- 50000000000x  - 43068750x)y(x)  + (1054687500x  + 300000)y(x)
+--R     + 
+--R                     3                        5
+--R       (- 9765625000x  - 5000000x - 10000)y(x)
+--R     + 
+--R                    4                4             3                          2
+--R       (31250000000x  + 1000000x)y(x)  - 625000y(x)  + (6250000x + 125000)y(x)
+--R     + 
+--R       - 2500000x y(x)
+--R  /
+--R     10000
+--R                                                     Type: Expression Integer
+--E 52
+
+--S 53 of 120
+--Rode320 := (x**2*y(x)**3+x*y(x))*D(y(x),x)-1
+--R 
+--R
+--R           2    3           ,
+--R   (53)  (x y(x)  + x y(x))y (x) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 53
+
+--S 54 of 120
+--Rsolve(ode320,y,x)
+--R 
+--R
+--R   (54)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 54
+
+--S 55 of 120
+--Rode321 := (2*x**2*y(x)**3+x**2*y(x)**2-2*x)*D(y(x),x)-2*y(x)-1
+--R 
+--R
+--R            2    3    2    2       ,
+--R   (55)  (2x y(x)  + x y(x)  - 2x)y (x) - 2y(x) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 55
+
+--S 56 of 120
+--Rsolve(ode321,y,x)
+--R 
+--R
+--R   (56)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 56
+
+--S 57 of 120
+--Rode322 := (10*x**2*y(x)**3-3*y(x)**2-2)*D(y(x),x)+5*x*y(x)**4+x
+--R 
+--R
+--R             2    3        2      ,             4
+--R   (57)  (10x y(x)  - 3y(x)  - 2)y (x) + 5x y(x)  + x
+--R
+--R                                                     Type: Expression Integer
+--E 57
+
+--S 58 of 120
+--Ryx:=solve(ode322,y,x)
+--R 
+--R
+--R           2    4        3            2
+--R         5x y(x)  - 2y(x)  - 4y(x) + x
+--R   (58)  ------------------------------
+--R                        2
+--R                                          Type: Union(Expression Integer,...)
+--E 58
+
+--S 59 of 120
+--Rode322expr := (10*x**2*yx**3-3*yx**2-2)*D(yx,x)+5*x*yx**4+x
+--R 
+--R
+--R   (59)
+--R                 10    15         8    14         6    13
+--R           25000x  y(x)   - 37500x y(x)   + 21000x y(x)
+--R         + 
+--R                    8        4     12          10         6       2     11
+--R           (- 65000x  - 5200x )y(x)   + (15000x   + 69000x  + 480x )y(x)
+--R         + 
+--R                    8         4     10          6        2     9
+--R           (- 16500x  - 23100x )y(x)   + (66000x  + 2000x )y(x)
+--R         + 
+--R                    8         4           8         10         6        2     7
+--R           (- 27000x  - 38520x  + 144)y(x)  + (3000x   + 18000x  + 3840x )y(x)
+--R         + 
+--R                   8         4           6          6        2     5
+--R           (- 2100x  - 24920x  + 672)y(x)  + (14760x  + 4656x )y(x)
+--R         + 
+--R                   8        4           4        10       6        2     3
+--R           (- 3000x  - 3600x  + 960)y(x)  + (200x   + 840x  + 1856x )y(x)
+--R         + 
+--R               8        4           2        6       2           8      4
+--R         (- 60x  - 1884x  + 480)y(x)  + (480x  - 192x )y(x) - 40x  + 24x  + 64
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R             9    16         7    15        5    14            7        3     13
+--R       15625x y(x)   - 20000x y(x)   + 9000x y(x)   + (- 40000x  - 1600x )y(x)
+--R     + 
+--R              9         5           12            7        3     11
+--R       (12500x  + 34500x  + 80x)y(x)   + (- 12000x  - 8400x )y(x)
+--R     + 
+--R              5            10            7         3     9
+--R       (39600x  + 400x)y(x)   + (- 24000x  - 17120x )y(x)
+--R     + 
+--R             9         5            8           7         3     7
+--R       (3750x  + 13500x  + 960x)y(x)  + (- 2400x  - 14240x )y(x)
+--R     + 
+--R              5             6           7        3     5
+--R       (14760x  + 1552x)y(x)  + (- 4800x  - 2880x )y(x)
+--R     + 
+--R            9        5            4          7        3     3
+--R       (500x  + 1260x  + 928x)y(x)  + (- 160x  - 2512x )y(x)
+--R     + 
+--R             5            2          7      3           9      5
+--R       (1440x  - 192x)y(x)  + (- 320x  + 96x )y(x) + 25x  - 12x  - 16x
+--R  /
+--R     16
+--R                                                     Type: Expression Integer
+--E 59
+
+--S 60 of 120
+--Rode323 := (a*x*y(x)**3+c)*x*D(y(x),x)+(b*x**3*y(x)+c)*y(x)
+--R 
+--R
+--R             2    3        ,         3    2
+--R   (60)  (a x y(x)  + c x)y (x) + b x y(x)  + c y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 60
+
+--S 61 of 120
+--Rsolve(ode323,y,x)
+--R 
+--R
+--R   (61)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 61
+
+--S 62 of 120
+--Rode324 := (2*x**3*y(x)**3-x)*D(y(x),x)+2*x**3*y(x)**3-y(x)
+--R 
+--R
+--R            3    3      ,        3    3
+--R   (62)  (2x y(x)  - x)y (x) + 2x y(x)  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 62
+
+--S 63 of 120
+--Rsolve(ode324,y,x)
+--R 
+--R
+--R   (63)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 63
+
+--S 64 of 120
+--Rode325 := y(x)*(y(x)**3-2*x**3)*D(y(x),x)+(2*y(x)**3-x**3)*x
+--R 
+--R
+--R              4     3      ,             3    4
+--R   (64)  (y(x)  - 2x y(x))y (x) + 2x y(x)  - x
+--R
+--R                                                     Type: Expression Integer
+--E 64
+
+--S 65 of 120
+--Rsolve(ode325,y,x)
+--R 
+--R
+--R   (65)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 65
+
+--S 66 of 120
+--Rode326 := y(x)*((a*y(x)+b*x)**3+b*x**3)*D(y(x),x)+x*((a*y(x)+b*x)**3+a*y(x)**3)
+--R 
+--R
+--R   (66)
+--R       3    4     2        3       2 2    2     3      3      ,
+--R     (a y(x)  + 3a b x y(x)  + 3a b x y(x)  + (b  + b)x y(x))y (x)
+--R
+--R   + 
+--R       3           3     2   2    2       2 3        3 4
+--R     (a  + a)x y(x)  + 3a b x y(x)  + 3a b x y(x) + b x
+--R                                                     Type: Expression Integer
+--E 66
+
+--S 67 of 120
+--Rsolve(ode326,y,x)
+--R 
+--R
+--R   (67)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 67
+
+--S 68 of 120
+--Rode327 := (x*y(x)**4+2*x**2*y(x)**3+2*y(x)+x)*D(y(x),x)+y(x)**5+y(x)
+--R 
+--R
+--R                4     2    3              ,          5
+--R   (68)  (x y(x)  + 2x y(x)  + 2y(x) + x)y (x) + y(x)  + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 68
+
+--S 69 of 120
+--Rsolve(ode327,y,x)
+--R 
+--R
+--R   (69)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 69
+
+--S 70 of 120
+--Rode328 := a*x**2*y(x)**n*D(y(x),x)-2*x*D(y(x),x)+y(x)
+--R 
+--R
+--R             2    n       ,
+--R   (70)  (a x y(x)  - 2x)y (x) + y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 70
+
+--S 71 of 120
+--Rsolve(ode328,y,x)
+--R 
+--R
+--R   (71)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 71
+
+--S 72 of 120
+--Rode329 := y(x)**m*x**n*(a*x*D(y(x),x)+b*y(x))+alpha*x*D(y(x),x)+beta*y(x)
+--R 
+--R
+--R               n    m            ,             n    m
+--R   (72)  (a x x y(x)  + alpha x)y (x) + b y(x)x y(x)  + beta y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 72
+
+--S 73 of 120
+--Rsolve(ode329,y,x)
+--R 
+--R
+--R   (73)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 73
+
+--S 74 of 120
+--Rode330 := (f(x+y(x))+1)*D(y(x),x)+f(x+y(x))
+--R 
+--R
+--R                           ,
+--R   (74)  (f(y(x) + x) + 1)y (x) + f(y(x) + x)
+--R
+--R                                                     Type: Expression Integer
+--E 74
+
+--S 75 of 120
+--Rsolve(ode330,y,x)
+--R 
+--R 
+--R   >> Error detected within library code:
+--R   Sorry - cannot handle that integrand yet
+--R
+--R   Continuing to read the file...
+--R
+--E 75
+
+@
+I have no idea what to do with this
+\begin{verbatim}
+ ode331 := D(y(x),x)*convert([sum(f[nu](x)*y(x)**nu,'nu'=1..p)],`+`)-_
+                     convert([sum(g[nu](x)*y(x)**nu,'nu'=1..q)],`+`)
+\end{verbatim}
+<<*>>=
+--R
+--S 76 of 120
+--Rode333 := (2*x**(5/2)*y(x)**(3/2)+x**2*y(x)-x)*D(y(x),x)-_
+--R            x**(3/2)*y(x)**(5/2)+x*y(x)**2-y(x)
+--R 
+--R
+--R   (75)
+--R      2     +-+ +----+    2          ,            2 +-+ +----+         2
+--R   (2x y(x)\|x \|y(x)  + x y(x) - x)y (x) - x y(x) \|x \|y(x)  + x y(x)  - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 76
+
+--S 77 of 120
+--Rsolve(ode333,y,x)
+--R 
+--R
+--R   (76)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 77
+
+--S 78 of 120
+--Rode334 := (sqrt(y(x)+x)+1)*D(y(x),x)+1
+--R 
+--R
+--R           +--------+      ,
+--R   (77)  (\|y(x) + x  + 1)y (x) + 1
+--R
+--R                                                     Type: Expression Integer
+--E 78
+
+--S 79 of 120
+--Rsolve(ode334,y,x)
+--R 
+--R
+--R   (78)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 79
+
+--S 80 of 120
+--Rode335 := sqrt(y(x)**2-1)*D(y(x),x)-sqrt(x**2-1)
+--R 
+--R
+--R          +---------+         +------+
+--R          |    2      ,       | 2
+--R   (79)  \|y(x)  - 1 y (x) - \|x  - 1
+--R
+--R                                                     Type: Expression Integer
+--E 80
+
+--S 81 of 120
+--Ryx:=solve(ode335,y,x)
+--R 
+--R
+--R   (80)
+--R                    +------+                    +---------+
+--R                    | 2             2           |    2
+--R           (4x y(x)\|x  - 1  + (- 4x  + 2)y(x))\|y(x)  - 1
+--R         + 
+--R                             +------+
+--R                     2       | 2           2         2     2
+--R           (- 4x y(x)  + 2x)\|x  - 1  + (4x  - 2)y(x)  - 2x  + 1
+--R      *
+--R              +---------+
+--R              |    2
+--R         log(\|y(x)  - 1  - y(x))
+--R     + 
+--R                      +------+                      +------+
+--R                      | 2           2               | 2
+--R           (- 4x y(x)\|x  - 1  + (4x  - 2)y(x))log(\|x  - 1  - x)
+--R         + 
+--R                                  +------+
+--R                     3     3      | 2           2         3
+--R           (- 4x y(x)  + 4x y(x))\|x  - 1  + (4x  - 2)y(x)
+--R         + 
+--R                4     2
+--R           (- 4x  + 2x  + 1)y(x)
+--R      *
+--R          +---------+
+--R          |    2
+--R         \|y(x)  - 1
+--R     + 
+--R                        +------+                                   +------+
+--R                2       | 2             2         2     2          | 2
+--R       ((4x y(x)  - 2x)\|x  - 1  + (- 4x  + 2)y(x)  + 2x  - 1)log(\|x  - 1  - x)
+--R     + 
+--R                                                +------+
+--R               4        3          2     3      | 2             2         4
+--R       (4x y(x)  + (- 4x  - 2x)y(x)  + 2x  - x)\|x  - 1  + (- 4x  + 2)y(x)
+--R     + 
+--R          4         2     4     2
+--R       (4x  - 2)y(x)  - 2x  + 2x
+--R  /
+--R                +------+                    +---------+
+--R                | 2             2           |    2
+--R       (8x y(x)\|x  - 1  + (- 8x  + 4)y(x))\|y(x)  - 1
+--R     + 
+--R                         +------+
+--R                 2       | 2           2         2     2
+--R       (- 8x y(x)  + 4x)\|x  - 1  + (8x  - 4)y(x)  - 4x  + 2
+--R                                          Type: Union(Expression Integer,...)
+--E 81
+
+--S 82 of 120
+--Rode335expr := sqrt(yx**2-1)*D(yx,x)-sqrt(x**2-1)
+--R 
+--R
+--R   (81)
+--R                             4      2         5       4      2          3
+--R                       (- 64x  + 64x  - 8)y(x)  + (96x  - 96x  + 12)y(x)
+--R                     + 
+--R                             4      2
+--R                       (- 32x  + 32x  - 4)y(x)
+--R                  *
+--R                      +------+
+--R                      | 2
+--R                     \|x  - 1
+--R                 + 
+--R                       5      3           5         5       3           3
+--R                   (64x  - 96x  + 32x)y(x)  + (- 96x  + 144x  - 48x)y(x)
+--R                 + 
+--R                       5      3
+--R                   (32x  - 48x  + 16x)y(x)
+--R              *
+--R                  +---------+
+--R                  |    2
+--R                 \|y(x)  - 1
+--R             + 
+--R                       4      2         6          4       2          4
+--R                   (64x  - 64x  + 8)y(x)  + (- 128x  + 128x  - 16)y(x)
+--R                 + 
+--R                       4      2         2     4     2
+--R                   (72x  - 72x  + 9)y(x)  - 8x  + 8x  - 1
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  - 1
+--R             + 
+--R                     5      3           6        5       3           4
+--R               (- 64x  + 96x  - 32x)y(x)  + (128x  - 192x  + 64x)y(x)
+--R             + 
+--R                     5       3           2     5      3
+--R               (- 72x  + 108x  - 36x)y(x)  + 8x  - 12x  + 4x
+--R          *
+--R              ,
+--R             y (x)
+--R
+--R         + 
+--R                       5      3           4         5      3           2     5
+--R                   (64x  - 96x  + 32x)y(x)  + (- 64x  + 96x  - 32x)y(x)  + 8x
+--R                 + 
+--R                        3
+--R                   - 12x  + 4x
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  - 1
+--R             + 
+--R                     6       4      2         4       6       4      2         2
+--R               (- 64x  + 128x  - 72x  + 8)y(x)  + (64x  - 128x  + 72x  - 8)y(x)
+--R             + 
+--R                   6      4     2
+--R               - 8x  + 16x  - 9x  + 1
+--R          *
+--R              +---------+
+--R              |    2
+--R             \|y(x)  - 1
+--R         + 
+--R                     5      3           5       5       3           3
+--R               (- 64x  + 96x  - 32x)y(x)  + (96x  - 144x  + 48x)y(x)
+--R             + 
+--R                     5      3
+--R               (- 32x  + 48x  - 16x)y(x)
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  - 1
+--R         + 
+--R               6       4      2         5         6       4       2          3
+--R           (64x  - 128x  + 72x  - 8)y(x)  + (- 96x  + 192x  - 108x  + 12)y(x)
+--R         + 
+--R               6      4      2
+--R           (32x  - 64x  + 36x  - 4)y(x)
+--R      *
+--R         ROOT
+--R                                                                 +------+
+--R                             3           3         3             | 2
+--R                        ((64x  - 32x)y(x)  + (- 32x  + 16x)y(x))\|x  - 1
+--R                      + 
+--R                              4      2         3       4      2
+--R                        (- 64x  + 64x  - 8)y(x)  + (32x  - 32x  + 4)y(x)
+--R                   *
+--R                       +---------+
+--R                       |    2
+--R                      \|y(x)  - 1
+--R                  + 
+--R                             3           4       3           2     3
+--R                      ((- 64x  + 32x)y(x)  + (64x  - 32x)y(x)  - 8x  + 4x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                        4      2         4         4      2         2     4
+--R                    (64x  - 64x  + 8)y(x)  + (- 64x  + 64x  - 8)y(x)  + 8x
+--R                  + 
+--R                        2
+--R                    - 8x  + 1
+--R               *
+--R                       +---------+        2
+--R                       |    2
+--R                  log(\|y(x)  - 1  - y(x))
+--R              + 
+--R                                                                      +------+
+--R                                    3           3       3             | 2
+--R                            ((- 128x  + 64x)y(x)  + (64x  - 32x)y(x))\|x  - 1
+--R                          + 
+--R                                 4       2          3         4      2
+--R                            (128x  - 128x  + 16)y(x)  + (- 64x  + 64x  - 8)y(x)
+--R                       *
+--R                               +------+
+--R                               | 2
+--R                          log(\|x  - 1  - x)
+--R                      + 
+--R                                   3           5        5           3
+--R                            (- 128x  + 64x)y(x)  + (128x  - 48x)y(x)
+--R                          + 
+--R                                  5      3
+--R                            (- 64x  + 48x )y(x)
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  - 1
+--R                      + 
+--R                             4       2          5
+--R                        (128x  - 128x  + 16)y(x)
+--R                      + 
+--R                               6      4      2          3
+--R                        (- 128x  + 64x  + 64x  - 16)y(x)
+--R                      + 
+--R                            6      4      2
+--R                        (64x  - 80x  + 16x  + 2)y(x)
+--R                   *
+--R                       +---------+
+--R                       |    2
+--R                      \|y(x)  - 1
+--R                  + 
+--R                                   3           4          3           2      3
+--R                              (128x  - 64x)y(x)  + (- 128x  + 64x)y(x)  + 16x
+--R                            + 
+--R                              - 8x
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  - 1
+--R                      + 
+--R                               4       2          4        4       2          2
+--R                        (- 128x  + 128x  - 16)y(x)  + (128x  - 128x  + 16)y(x)
+--R                      + 
+--R                             4      2
+--R                        - 16x  + 16x  - 2
+--R                   *
+--R                           +------+
+--R                           | 2
+--R                      log(\|x  - 1  - x)
+--R                  + 
+--R                             3           6          5      3           4
+--R                        (128x  - 64x)y(x)  + (- 128x  - 64x  + 80x)y(x)
+--R                      + 
+--R                             5      3           2      5      3
+--R                        (128x  - 64x  - 16x)y(x)  - 16x  + 16x  - 2x
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                           4       2          6        6       2          4
+--R                    (- 128x  + 128x  - 16)y(x)  + (128x  - 128x  + 24)y(x)
+--R                  + 
+--R                           6       4         2      6      4     2
+--R                    (- 128x  + 128x  - 8)y(x)  + 16x  - 24x  + 8x
+--R               *
+--R                       +---------+
+--R                       |    2
+--R                  log(\|y(x)  - 1  - y(x))
+--R              + 
+--R                                                                 +------+
+--R                             3           3         3             | 2
+--R                        ((64x  - 32x)y(x)  + (- 32x  + 16x)y(x))\|x  - 1
+--R                      + 
+--R                              4      2         3       4      2
+--R                        (- 64x  + 64x  - 8)y(x)  + (32x  - 32x  + 4)y(x)
+--R                   *
+--R                           +------+     2
+--R                           | 2
+--R                      log(\|x  - 1  - x)
+--R                  + 
+--R                                 3           5          5           3
+--R                            (128x  - 64x)y(x)  + (- 128x  + 48x)y(x)
+--R                          + 
+--R                                5      3
+--R                            (64x  - 48x )y(x)
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  - 1
+--R                      + 
+--R                               4       2          5
+--R                        (- 128x  + 128x  - 16)y(x)
+--R                      + 
+--R                             6      4      2          3
+--R                        (128x  - 64x  - 64x  + 16)y(x)
+--R                      + 
+--R                              6      4      2
+--R                        (- 64x  + 80x  - 16x  - 2)y(x)
+--R                   *
+--R                           +------+
+--R                           | 2
+--R                      log(\|x  - 1  - x)
+--R                  + 
+--R                            3           7          5      3           5
+--R                        (64x  - 32x)y(x)  + (- 128x  + 32x  + 32x)y(x)
+--R                      + 
+--R                            7      5       3            3
+--R                        (64x  + 32x  - 320x  + 128x)y(x)
+--R                      + 
+--R                              7      5       3
+--R                        (- 32x  + 32x  + 128x  - 66x)y(x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                          4      2         7        6      4      2          5
+--R                    (- 64x  + 64x  - 8)y(x)  + (128x  - 96x  - 32x  + 12)y(x)
+--R                  + 
+--R                          8       4       2          3
+--R                    (- 64x  + 344x  - 280x  + 28)y(x)
+--R                  + 
+--R                        8      6       4       2
+--R                    (32x  - 48x  - 116x  + 132x  - 16)y(x)
+--R               *
+--R                   +---------+
+--R                   |    2
+--R                  \|y(x)  - 1
+--R              + 
+--R                             3           4       3           2     3
+--R                      ((- 64x  + 32x)y(x)  + (64x  - 32x)y(x)  - 8x  + 4x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                        4      2         4         4      2         2     4
+--R                    (64x  - 64x  + 8)y(x)  + (- 64x  + 64x  - 8)y(x)  + 8x
+--R                  + 
+--R                        2
+--R                    - 8x  + 1
+--R               *
+--R                       +------+     2
+--R                       | 2
+--R                  log(\|x  - 1  - x)
+--R              + 
+--R                               3           6        5      3           4
+--R                        (- 128x  + 64x)y(x)  + (128x  + 64x  - 80x)y(x)
+--R                      + 
+--R                               5      3           2      5      3
+--R                        (- 128x  + 64x  + 16x)y(x)  + 16x  - 16x  + 2x
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  - 1
+--R                  + 
+--R                         4       2          6          6       2          4
+--R                    (128x  - 128x  + 16)y(x)  + (- 128x  + 128x  - 24)y(x)
+--R                  + 
+--R                         6       4         2      6      4     2
+--R                    (128x  - 128x  + 8)y(x)  - 16x  + 24x  - 8x
+--R               *
+--R                       +------+
+--R                       | 2
+--R                  log(\|x  - 1  - x)
+--R              + 
+--R                          3           8        5           6
+--R                    (- 64x  + 32x)y(x)  + (128x  - 48x)y(x)
+--R                  + 
+--R                          7      5       3            4
+--R                    (- 64x  - 96x  + 344x  - 116x)y(x)
+--R                  + 
+--R                        7      5       3            2     7      5      3
+--R                    (64x  - 32x  - 280x  + 132x)y(x)  - 8x  + 12x  + 28x  - 16x
+--R               *
+--R                   +------+
+--R                   | 2
+--R                  \|x  - 1
+--R              + 
+--R                    4      2         8          6      4      2          6
+--R                (64x  - 64x  + 8)y(x)  + (- 128x  + 64x  + 64x  - 16)y(x)
+--R              + 
+--R                    8      6       4       2          4
+--R                (64x  + 64x  - 400x  + 272x  - 23)y(x)
+--R              + 
+--R                      8      6       4       2          2     8      6      4
+--R                (- 64x  + 64x  + 272x  - 272x  + 31)y(x)  + 8x  - 16x  - 23x
+--R              + 
+--R                   2
+--R                31x  - 4
+--R           /
+--R                                                                +------+
+--R                          3            3          3             | 2
+--R                    ((256x  - 128x)y(x)  + (- 128x  + 64x)y(x))\|x  - 1
+--R                  + 
+--R                           4       2          3        4       2
+--R                    (- 256x  + 256x  - 32)y(x)  + (128x  - 128x  + 16)y(x)
+--R               *
+--R                   +---------+
+--R                   |    2
+--R                  \|y(x)  - 1
+--R              + 
+--R                          3            4        3            2      3
+--R                  ((- 256x  + 128x)y(x)  + (256x  - 128x)y(x)  - 32x  + 16x)
+--R               *
+--R                   +------+
+--R                   | 2
+--R                  \|x  - 1
+--R              + 
+--R                     4       2          4          4       2          2      4
+--R                (256x  - 256x  + 32)y(x)  + (- 256x  + 256x  - 32)y(x)  + 32x
+--R              + 
+--R                     2
+--R                - 32x  + 4
+--R     + 
+--R                   5      3           4         5      3           2     5
+--R               (64x  - 96x  + 32x)y(x)  + (- 64x  + 96x  - 32x)y(x)  + 8x
+--R             + 
+--R                    3
+--R               - 12x  + 4x
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  - 1
+--R         + 
+--R                 6       4      2         4       6       4      2         2
+--R           (- 64x  + 128x  - 72x  + 8)y(x)  + (64x  - 128x  + 72x  - 8)y(x)
+--R         + 
+--R               6      4     2
+--R           - 8x  + 16x  - 9x  + 1
+--R      *
+--R          +---------+
+--R          |    2
+--R         \|y(x)  - 1
+--R     + 
+--R                 5      3           5       5       3           3
+--R           (- 64x  + 96x  - 32x)y(x)  + (96x  - 144x  + 48x)y(x)
+--R         + 
+--R                 5      3
+--R           (- 32x  + 48x  - 16x)y(x)
+--R      *
+--R          +------+
+--R          | 2
+--R         \|x  - 1
+--R     + 
+--R           6       4      2         5         6       4       2          3
+--R       (64x  - 128x  + 72x  - 8)y(x)  + (- 96x  + 192x  - 108x  + 12)y(x)
+--R     + 
+--R           6      4      2
+--R       (32x  - 64x  + 36x  - 4)y(x)
+--R  /
+--R                  4      2         4         4      2         2     4     2
+--R             ((64x  - 64x  + 8)y(x)  + (- 64x  + 64x  - 8)y(x)  + 8x  - 8x  + 1)
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  - 1
+--R         + 
+--R               5      3           4       5      3           2     5      3
+--R         (- 64x  + 96x  - 32x)y(x)  + (64x  - 96x  + 32x)y(x)  - 8x  + 12x  - 4x
+--R      *
+--R          +---------+
+--R          |    2
+--R         \|y(x)  - 1
+--R     + 
+--R                 4      2         5       4      2          3
+--R           (- 64x  + 64x  - 8)y(x)  + (96x  - 96x  + 12)y(x)
+--R         + 
+--R                 4      2
+--R           (- 32x  + 32x  - 4)y(x)
+--R      *
+--R          +------+
+--R          | 2
+--R         \|x  - 1
+--R     + 
+--R           5      3           5         5       3           3
+--R       (64x  - 96x  + 32x)y(x)  + (- 96x  + 144x  - 48x)y(x)
+--R     + 
+--R           5      3
+--R       (32x  - 48x  + 16x)y(x)
+--R                                                     Type: Expression Integer
+--E 82
+
+--S 83 of 120
+--Rode336 := (sqrt(y(x)**2+1)+a*x)*D(y(x),x)+sqrt(x**2+1)+a*y(x)
+--R 
+--R
+--R           +---------+                +------+
+--R           |    2             ,       | 2
+--R   (82)  (\|y(x)  + 1  + a x)y (x) + \|x  + 1  + a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 83
+
+--S 84 of 120
+--Ryx:=solve(ode336,y,x)
+--R 
+--R
+--R   (83)
+--R                      +------+                  +---------+
+--R                      | 2           2           |    2
+--R           (- 4x y(x)\|x  + 1  + (4x  + 2)y(x))\|y(x)  + 1
+--R         + 
+--R                           +------+
+--R                   2       | 2             2         2     2
+--R           (4x y(x)  + 2x)\|x  + 1  + (- 4x  - 2)y(x)  - 2x  - 1
+--R      *
+--R              +---------+
+--R              |    2
+--R         log(\|y(x)  + 1  - y(x))
+--R     + 
+--R                      +------+                      +------+
+--R                      | 2           2               | 2
+--R           (- 4x y(x)\|x  + 1  + (4x  + 2)y(x))log(\|x  + 1  - x)
+--R         + 
+--R                                                        +------+
+--R                     3       2    2        3            | 2
+--R           (- 4x y(x)  + 8a x y(x)  + (- 4x  - 4x)y(x))\|x  + 1
+--R         + 
+--R              2         3          3            2      4     2
+--R           (4x  + 2)y(x)  + (- 8a x  - 4a x)y(x)  + (4x  + 6x  + 1)y(x)
+--R      *
+--R          +---------+
+--R          |    2
+--R         \|y(x)  + 1
+--R     + 
+--R                        +------+                                   +------+
+--R                2       | 2             2         2     2          | 2
+--R       ((4x y(x)  + 2x)\|x  + 1  + (- 4x  - 2)y(x)  - 2x  - 1)log(\|x  + 1  - x)
+--R     + 
+--R                                                                       +------+
+--R               4       2    3      3          2       2         3      | 2
+--R       (4x y(x)  - 8a x y(x)  + (4x  + 6x)y(x)  - 4a x y(x) + 2x  + x)\|x  + 1
+--R     + 
+--R            2         4        3            3        4     2         2
+--R       (- 4x  - 2)y(x)  + (8a x  + 4a x)y(x)  + (- 4x  - 8x  - 2)y(x)
+--R     + 
+--R            3                 4     2
+--R       (4a x  + 2a x)y(x) - 2x  - 2x
+--R  /
+--R                +------+                    +---------+
+--R                | 2             2           |    2
+--R       (8x y(x)\|x  + 1  + (- 8x  - 4)y(x))\|y(x)  + 1
+--R     + 
+--R                         +------+
+--R                 2       | 2           2         2     2
+--R       (- 8x y(x)  - 4x)\|x  + 1  + (8x  + 4)y(x)  + 4x  + 2
+--R                                          Type: Union(Expression Integer,...)
+--E 84
+
+--S 85 of 120
+--Rode336expr := (sqrt(yx**2+1)+a*x)*D(yx,x)+sqrt(x**2+1)+a*yx
+--R 
+--R
+--R   (84)
+--R                               6        4        2          7
+--R                       (- 2048x  - 3072x  - 1152x  - 64)y(x)
+--R                     + 
+--R                               7          5          3             6
+--R                       (2048a x  + 3072a x  + 1152a x  + 64a x)y(x)
+--R                     + 
+--R                               6        4        2           5
+--R                       (- 4096x  - 6144x  - 2304x  - 128)y(x)
+--R                     + 
+--R                               7          5          3             4
+--R                       (3072a x  + 4608a x  + 1728a x  + 96a x)y(x)
+--R                     + 
+--R                               6        4        2          3
+--R                       (- 2432x  - 3648x  - 1368x  - 76)y(x)
+--R                     + 
+--R                               7          5         3             2
+--R                       (1152a x  + 1728a x  + 648a x  + 36a x)y(x)
+--R                     + 
+--R                              6       4       2                  7        5
+--R                       (- 384x  - 576x  - 216x  - 12)y(x) + 64a x  + 96a x
+--R                     + 
+--R                            3
+--R                       36a x  + 2a x
+--R                  *
+--R                      +------+
+--R                      | 2
+--R                     \|x  + 1
+--R                 + 
+--R                         7        5        3            7
+--R                   (2048x  + 4096x  + 2432x  + 384x)y(x)
+--R                 + 
+--R                             8          6          4         2     6
+--R                   (- 2048a x  - 4096a x  - 2432a x  - 384a x )y(x)
+--R                 + 
+--R                         7        5        3            5
+--R                   (4096x  + 8192x  + 4864x  + 768x)y(x)
+--R                 + 
+--R                             8          6          4         2     4
+--R                   (- 3072a x  - 6144a x  - 3648a x  - 576a x )y(x)
+--R                 + 
+--R                         7        5        3            3
+--R                   (2432x  + 4864x  + 2888x  + 456x)y(x)
+--R                 + 
+--R                             8          6          4         2     2
+--R                   (- 1152a x  - 2304a x  - 1368a x  - 216a x )y(x)
+--R                 + 
+--R                        7       5       3                   8         6        4
+--R                   (384x  + 768x  + 456x  + 72x)y(x) - 64a x  - 128a x  - 76a x
+--R                 + 
+--R                          2
+--R                   - 12a x
+--R              *
+--R                  +---------+
+--R                  |    2
+--R                 \|y(x)  + 1
+--R             + 
+--R                         6        4        2          8
+--R                   (2048x  + 3072x  + 1152x  + 64)y(x)
+--R                 + 
+--R                             7          5          3             7
+--R                   (- 2048a x  - 3072a x  - 1152a x  - 64a x)y(x)
+--R                 + 
+--R                         6        4        2           6
+--R                   (5120x  + 7680x  + 2880x  + 160)y(x)
+--R                 + 
+--R                             7          5          3              5
+--R                   (- 4096a x  - 6144a x  - 2304a x  - 128a x)y(x)
+--R                 + 
+--R                         6        4        2           4
+--R                   (4224x  + 6336x  + 2376x  + 132)y(x)
+--R                 + 
+--R                             7          5          3             3
+--R                   (- 2432a x  - 3648a x  - 1368a x  - 76a x)y(x)
+--R                 + 
+--R                         6        4       2          2
+--R                   (1216x  + 1824x  + 684x  + 38)y(x)
+--R                 + 
+--R                            7         5         3                   6      4
+--R                   (- 384a x  - 576a x  - 216a x  - 12a x)y(x) + 64x  + 96x
+--R                 + 
+--R                      2
+--R                   36x  + 2
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  + 1
+--R             + 
+--R                       7        5        3            8
+--R               (- 2048x  - 4096x  - 2432x  - 384x)y(x)
+--R             + 
+--R                       8          6          4         2     7
+--R               (2048a x  + 4096a x  + 2432a x  + 384a x )y(x)
+--R             + 
+--R                       7         5        3            6
+--R               (- 5120x  - 10240x  - 6080x  - 960x)y(x)
+--R             + 
+--R                       8          6          4         2     5
+--R               (4096a x  + 8192a x  + 4864a x  + 768a x )y(x)
+--R             + 
+--R                       7        5        3            4
+--R               (- 4224x  - 8448x  - 5016x  - 792x)y(x)
+--R             + 
+--R                       8          6          4         2     3
+--R               (2432a x  + 4864a x  + 2888a x  + 456a x )y(x)
+--R             + 
+--R                       7        5        3            2
+--R               (- 1216x  - 2432x  - 1444x  - 228x)y(x)
+--R             + 
+--R                      8         6         4        2           7       5      3
+--R               (384a x  + 768a x  + 456a x  + 72a x )y(x) - 64x  - 128x  - 76x
+--R             + 
+--R               - 12x
+--R          *
+--R              ,
+--R             y (x)
+--R
+--R         + 
+--R                           6          4          2           7
+--R                   (2048a x  + 3072a x  + 1152a x  + 64a)y(x)
+--R                 + 
+--R                           7        5        3            6
+--R                   (- 2048x  - 4096x  - 2432x  - 384x)y(x)
+--R                 + 
+--R                           6          4          2           5
+--R                   (3072a x  + 4608a x  + 1728a x  + 96a)y(x)
+--R                 + 
+--R                           7        5        3            4
+--R                   (- 3072x  - 6144x  - 3648x  - 576x)y(x)
+--R                 + 
+--R                           6          4         2           3
+--R                   (1152a x  + 1728a x  + 648a x  + 36a)y(x)
+--R                 + 
+--R                           7        5        3            2
+--R                   (- 1152x  - 2304x  - 1368x  - 216x)y(x)
+--R                 + 
+--R                       6        4        2                7       5      3
+--R                 (64a x  + 96a x  + 36a x  + 2a)y(x) - 64x  - 128x  - 76x  - 12x
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  + 1
+--R             + 
+--R                         7          5          3              7
+--R               (- 2048a x  - 4096a x  - 2432a x  - 384a x)y(x)
+--R             + 
+--R                     8        6        4        2          6
+--R               (2048x  + 5120x  + 4224x  + 1216x  + 64)y(x)
+--R             + 
+--R                         7          5          3              5
+--R               (- 3072a x  - 6144a x  - 3648a x  - 576a x)y(x)
+--R             + 
+--R                     8        6        4        2          4
+--R               (3072x  + 7680x  + 6336x  + 1824x  + 96)y(x)
+--R             + 
+--R                         7          5          3              3
+--R               (- 1152a x  - 2304a x  - 1368a x  - 216a x)y(x)
+--R             + 
+--R                     8        6        4       2          2
+--R               (1152x  + 2880x  + 2376x  + 684x  + 36)y(x)
+--R             + 
+--R                       7         5        3                   8       6       4
+--R               (- 64a x  - 128a x  - 76a x  - 12a x)y(x) + 64x  + 160x  + 132x
+--R             + 
+--R                  2
+--R               38x  + 2
+--R          *
+--R              +---------+
+--R              |    2
+--R             \|y(x)  + 1
+--R         + 
+--R                         6          4          2           8
+--R               (- 2048a x  - 3072a x  - 1152a x  - 64a)y(x)
+--R             + 
+--R                     7        5        3            7
+--R               (2048x  + 4096x  + 2432x  + 384x)y(x)
+--R             + 
+--R                         6          4          2            6
+--R               (- 4096a x  - 6144a x  - 2304a x  - 128a)y(x)
+--R             + 
+--R                     7        5        3            5
+--R               (4096x  + 8192x  + 4864x  + 768x)y(x)
+--R             + 
+--R                         6          4          2           4
+--R               (- 2432a x  - 3648a x  - 1368a x  - 76a)y(x)
+--R             + 
+--R                     7        5        3            3
+--R               (2432x  + 4864x  + 2888x  + 456x)y(x)
+--R             + 
+--R                        6         4         2           2
+--R               (- 384a x  - 576a x  - 216a x  - 12a)y(x)
+--R             + 
+--R                    7       5       3
+--R               (384x  + 768x  + 456x  + 72x)y(x)
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  + 1
+--R         + 
+--R                   7          5          3              8
+--R           (2048a x  + 4096a x  + 2432a x  + 384a x)y(x)
+--R         + 
+--R                   8        6        4        2          7
+--R           (- 2048x  - 5120x  - 4224x  - 1216x  - 64)y(x)
+--R         + 
+--R                   7          5          3              6
+--R           (4096a x  + 8192a x  + 4864a x  + 768a x)y(x)
+--R         + 
+--R                   8         6        4        2           5
+--R           (- 4096x  - 10240x  - 8448x  - 2432x  - 128)y(x)
+--R         + 
+--R                   7          5          3              4
+--R           (2432a x  + 4864a x  + 2888a x  + 456a x)y(x)
+--R         + 
+--R                   8        6        4        2          3
+--R           (- 2432x  - 6080x  - 5016x  - 1444x  - 76)y(x)
+--R         + 
+--R                  7         5         3             2
+--R           (384a x  + 768a x  + 456a x  + 72a x)y(x)
+--R         + 
+--R                  8       6       4       2
+--R           (- 384x  - 960x  - 792x  - 228x  - 12)y(x)
+--R      *
+--R         ROOT
+--R                                                               +------+
+--R                             3           3       3             | 2
+--R                        ((64x  + 32x)y(x)  + (32x  + 16x)y(x))\|x  + 1
+--R                      + 
+--R                              4      2         3         4      2
+--R                        (- 64x  - 64x  - 8)y(x)  + (- 32x  - 32x  - 4)y(x)
+--R                   *
+--R                       +---------+
+--R                       |    2
+--R                      \|y(x)  + 1
+--R                  + 
+--R                             3           4         3           2     3
+--R                      ((- 64x  - 32x)y(x)  + (- 64x  - 32x)y(x)  - 8x  - 4x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  + 1
+--R                  + 
+--R                        4      2         4       4      2         2     4     2
+--R                    (64x  + 64x  + 8)y(x)  + (64x  + 64x  + 8)y(x)  + 8x  + 8x
+--R                  + 
+--R                    1
+--R               *
+--R                       +---------+        2
+--R                       |    2
+--R                  log(\|y(x)  + 1  - y(x))
+--R              + 
+--R                                                                    +------+
+--R                                  3           3       3             | 2
+--R                            ((128x  + 64x)y(x)  + (64x  + 32x)y(x))\|x  + 1
+--R                          + 
+--R                                 4       2          3         4      2
+--R                          (- 128x  - 128x  - 16)y(x)  + (- 64x  - 64x  - 8)y(x)
+--R                       *
+--R                               +------+
+--R                               | 2
+--R                          log(\|x  + 1  - x)
+--R                      + 
+--R                                 3           5            4         2     4
+--R                            (128x  + 64x)y(x)  + (- 256a x  - 128a x )y(x)
+--R                          + 
+--R                                 5       3           3
+--R                            (128x  + 256x  + 80x)y(x)
+--R                          + 
+--R                                     4        2     2       5      3
+--R                            (- 128a x  - 64a x )y(x)  + (64x  + 80x  + 16x)y(x)
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  + 1
+--R                      + 
+--R                               4       2          5
+--R                        (- 128x  - 128x  - 16)y(x)
+--R                      + 
+--R                               5         3             4
+--R                        (256a x  + 256a x  + 32a x)y(x)
+--R                      + 
+--R                               6       4       2          3
+--R                        (- 128x  - 320x  - 192x  - 16)y(x)
+--R                      + 
+--R                               5         3             2
+--R                        (128a x  + 128a x  + 16a x)y(x)
+--R                      + 
+--R                              6       4      2
+--R                        (- 64x  - 112x  - 48x  - 2)y(x)
+--R                   *
+--R                       +---------+
+--R                       |    2
+--R                      \|y(x)  + 1
+--R                  + 
+--R                                   3           4          3           2      3
+--R                            (- 128x  - 64x)y(x)  + (- 128x  - 64x)y(x)  - 16x
+--R                          + 
+--R                            - 8x
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  + 1
+--R                      + 
+--R                             4       2          4        4       2          2
+--R                        (128x  + 128x  + 16)y(x)  + (128x  + 128x  + 16)y(x)
+--R                      + 
+--R                           4      2
+--R                        16x  + 16x  + 2
+--R                   *
+--R                           +------+
+--R                           | 2
+--R                      log(\|x  + 1  - x)
+--R                  + 
+--R                               3           6          4         2     5
+--R                        (- 128x  - 64x)y(x)  + (256a x  + 128a x )y(x)
+--R                      + 
+--R                               5       3            4          4         2     3
+--R                        (- 128x  - 320x  - 112x)y(x)  + (256a x  + 128a x )y(x)
+--R                      + 
+--R                               5       3           2         4        2
+--R                        (- 128x  - 192x  - 48x)y(x)  + (32a x  + 16a x )y(x)
+--R                      + 
+--R                             5      3
+--R                        - 16x  - 16x  - 2x
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  + 1
+--R                  + 
+--R                         4       2          6
+--R                    (128x  + 128x  + 16)y(x)
+--R                  + 
+--R                             5         3             5
+--R                    (- 256a x  - 256a x  - 32a x)y(x)
+--R                  + 
+--R                         6       4       2          4
+--R                    (128x  + 384x  + 256x  + 24)y(x)
+--R                  + 
+--R                             5         3             3
+--R                    (- 256a x  - 256a x  - 32a x)y(x)
+--R                  + 
+--R                         6       4       2         2
+--R                    (128x  + 256x  + 128x  + 8)y(x)
+--R                  + 
+--R                            5        3                  6      4     2
+--R                    (- 32a x  - 32a x  - 4a x)y(x) + 16x  + 24x  + 8x
+--R               *
+--R                       +---------+
+--R                       |    2
+--R                  log(\|y(x)  + 1  - y(x))
+--R              + 
+--R                                                               +------+
+--R                             3           3       3             | 2
+--R                        ((64x  + 32x)y(x)  + (32x  + 16x)y(x))\|x  + 1
+--R                      + 
+--R                              4      2         3         4      2
+--R                        (- 64x  - 64x  - 8)y(x)  + (- 32x  - 32x  - 4)y(x)
+--R                   *
+--R                           +------+     2
+--R                           | 2
+--R                      log(\|x  + 1  - x)
+--R                  + 
+--R                                 3           5            4         2     4
+--R                            (128x  + 64x)y(x)  + (- 256a x  - 128a x )y(x)
+--R                          + 
+--R                                 5       3           3
+--R                            (128x  + 256x  + 80x)y(x)
+--R                          + 
+--R                                     4        2     2       5      3
+--R                            (- 128a x  - 64a x )y(x)  + (64x  + 80x  + 16x)y(x)
+--R                       *
+--R                           +------+
+--R                           | 2
+--R                          \|x  + 1
+--R                      + 
+--R                               4       2          5
+--R                        (- 128x  - 128x  - 16)y(x)
+--R                      + 
+--R                               5         3             4
+--R                        (256a x  + 256a x  + 32a x)y(x)
+--R                      + 
+--R                               6       4       2          3
+--R                        (- 128x  - 320x  - 192x  - 16)y(x)
+--R                      + 
+--R                               5         3             2
+--R                        (128a x  + 128a x  + 16a x)y(x)
+--R                      + 
+--R                              6       4      2
+--R                        (- 64x  - 112x  - 48x  - 2)y(x)
+--R                   *
+--R                           +------+
+--R                           | 2
+--R                      log(\|x  + 1  - x)
+--R                  + 
+--R                            3           7            4         2     6
+--R                        (64x  + 32x)y(x)  + (- 256a x  - 128a x )y(x)
+--R                      + 
+--R                              2        5        2        3           5
+--R                        ((256a  + 128)x  + (128a  + 224)x  + 64x)y(x)
+--R                      + 
+--R                                 6         4         2     4
+--R                        (- 256a x  - 512a x  - 160a x )y(x)
+--R                      + 
+--R                            7        2        5       2        3            3
+--R                        (64x  + (128a  + 224)x  + (64a  + 448)x  + 160x)y(x)
+--R                      + 
+--R                                 6         4        2     2
+--R                        (- 128a x  - 160a x  - 32a x )y(x)
+--R                      + 
+--R                            7      5       3
+--R                        (32x  + 64x  + 160x  + 66x)y(x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  + 1
+--R                  + 
+--R                          4      2         7          5         3             6
+--R                    (- 64x  - 64x  - 8)y(x)  + (256a x  + 256a x  + 32a x)y(x)
+--R                  + 
+--R                               2        6          2        4         2        2
+--R                        (- 256a  - 128)x  + (- 256a  - 288)x  + (- 32a  - 160)x
+--R                      + 
+--R                        - 12
+--R                   *
+--R                          5
+--R                      y(x)
+--R                  + 
+--R                           7         5         3             4
+--R                    (256a x  + 640a x  + 384a x  + 32a x)y(x)
+--R                  + 
+--R                             8          2        6          2        4
+--R                        - 64x  + (- 128a  - 256)x  + (- 128a  - 552)x
+--R                      + 
+--R                              2        2
+--R                        (- 16a  - 360)x  - 36
+--R                   *
+--R                          3
+--R                      y(x)
+--R                  + 
+--R                           7         5        3            2
+--R                    (128a x  + 224a x  + 96a x  + 4a x)y(x)
+--R                  + 
+--R                          8      6       4       2
+--R                    (- 32x  - 80x  - 188x  - 140x  - 16)y(x)
+--R               *
+--R                   +---------+
+--R                   |    2
+--R                  \|y(x)  + 1
+--R              + 
+--R                             3           4         3           2     3
+--R                      ((- 64x  - 32x)y(x)  + (- 64x  - 32x)y(x)  - 8x  - 4x)
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  + 1
+--R                  + 
+--R                        4      2         4       4      2         2     4     2
+--R                    (64x  + 64x  + 8)y(x)  + (64x  + 64x  + 8)y(x)  + 8x  + 8x
+--R                  + 
+--R                    1
+--R               *
+--R                       +------+     2
+--R                       | 2
+--R                  log(\|x  + 1  - x)
+--R              + 
+--R                               3           6          4         2     5
+--R                        (- 128x  - 64x)y(x)  + (256a x  + 128a x )y(x)
+--R                      + 
+--R                               5       3            4          4         2     3
+--R                        (- 128x  - 320x  - 112x)y(x)  + (256a x  + 128a x )y(x)
+--R                      + 
+--R                               5       3           2         4        2
+--R                        (- 128x  - 192x  - 48x)y(x)  + (32a x  + 16a x )y(x)
+--R                      + 
+--R                             5      3
+--R                        - 16x  - 16x  - 2x
+--R                   *
+--R                       +------+
+--R                       | 2
+--R                      \|x  + 1
+--R                  + 
+--R                         4       2          6
+--R                    (128x  + 128x  + 16)y(x)
+--R                  + 
+--R                             5         3             5
+--R                    (- 256a x  - 256a x  - 32a x)y(x)
+--R                  + 
+--R                         6       4       2          4
+--R                    (128x  + 384x  + 256x  + 24)y(x)
+--R                  + 
+--R                             5         3             3
+--R                    (- 256a x  - 256a x  - 32a x)y(x)
+--R                  + 
+--R                         6       4       2         2
+--R                    (128x  + 256x  + 128x  + 8)y(x)
+--R                  + 
+--R                            5        3                  6      4     2
+--R                    (- 32a x  - 32a x  - 4a x)y(x) + 16x  + 24x  + 8x
+--R               *
+--R                       +------+
+--R                       | 2
+--R                  log(\|x  + 1  - x)
+--R              + 
+--R                          3           8          4         2     7
+--R                    (- 64x  - 32x)y(x)  + (256a x  + 128a x )y(x)
+--R                  + 
+--R                            2        5          2        3           6
+--R                    ((- 256a  - 128)x  + (- 128a  - 256)x  - 80x)y(x)
+--R                  + 
+--R                           6         4         2     5
+--R                    (256a x  + 640a x  + 224a x )y(x)
+--R                  + 
+--R                          7          2        5          2        3            4
+--R                    (- 64x  + (- 256a  - 288)x  + (- 128a  - 552)x  - 188x)y(x)
+--R                  + 
+--R                           6         4        2     3
+--R                    (256a x  + 384a x  + 96a x )y(x)
+--R                  + 
+--R                          7         2        5         2        3            2
+--R                    (- 64x  + (- 32a  - 160)x  + (- 16a  - 360)x  - 140x)y(x)
+--R                  + 
+--R                          6        4       2          7      5      3
+--R                    (32a x  + 32a x  + 4a x )y(x) - 8x  - 12x  - 36x  - 16x
+--R               *
+--R                   +------+
+--R                   | 2
+--R                  \|x  + 1
+--R              + 
+--R                    4      2         8            5         3             7
+--R                (64x  + 64x  + 8)y(x)  + (- 256a x  - 256a x  - 32a x)y(x)
+--R              + 
+--R                      2        6        2        4       2        2          6
+--R                ((256a  + 128)x  + (256a  + 320)x  + (32a  + 192)x  + 16)y(x)
+--R              + 
+--R                         7         5         3             5
+--R                (- 256a x  - 768a x  - 512a x  - 48a x)y(x)
+--R              + 
+--R                         8        2        6        2        4       2        2
+--R                      64x  + (256a  + 320)x  + (256a  + 688)x  + (32a  + 432)x
+--R                    + 
+--R                      41
+--R               *
+--R                      4
+--R                  y(x)
+--R              + 
+--R                         7         5         3             3
+--R                (- 256a x  - 512a x  - 256a x  - 16a x)y(x)
+--R              + 
+--R                      8       2        6       2        4      2        2
+--R                  (64x  + (32a  + 192)x  + (32a  + 432)x  + (4a  + 304)x  + 33)
+--R               *
+--R                      2
+--R                  y(x)
+--R              + 
+--R                        7        5        3          8      6      4      2
+--R                (- 32a x  - 48a x  - 16a x )y(x) + 8x  + 16x  + 41x  + 33x  + 4
+--R           /
+--R                                                              +------+
+--R                          3            3        3             | 2
+--R                    ((256x  + 128x)y(x)  + (128x  + 64x)y(x))\|x  + 1
+--R                  + 
+--R                           4       2          3          4       2
+--R                    (- 256x  - 256x  - 32)y(x)  + (- 128x  - 128x  - 16)y(x)
+--R               *
+--R                   +---------+
+--R                   |    2
+--R                  \|y(x)  + 1
+--R              + 
+--R                          3            4          3            2      3
+--R                  ((- 256x  - 128x)y(x)  + (- 256x  - 128x)y(x)  - 32x  - 16x)
+--R               *
+--R                   +------+
+--R                   | 2
+--R                  \|x  + 1
+--R              + 
+--R                     4       2          4        4       2          2      4
+--R                (256x  + 256x  + 32)y(x)  + (256x  + 256x  + 32)y(x)  + 32x
+--R              + 
+--R                   2
+--R                32x  + 4
+--R     + 
+--R                             6          4         2           6
+--R                   (- 1024a x  - 1536a x  - 576a x  - 32a)y(x)
+--R                 + 
+--R                             6          4         2           4
+--R                   (- 1536a x  - 2304a x  - 864a x  - 48a)y(x)
+--R                 + 
+--R                            6         4         2           2        6        4
+--R                   (- 576a x  - 864a x  - 324a x  - 18a)y(x)  - 32a x  - 48a x
+--R                 + 
+--R                          2
+--R                   - 18a x  - a
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  + 1
+--R             + 
+--R                       7          5          3              6
+--R               (1024a x  + 2048a x  + 1216a x  + 192a x)y(x)
+--R             + 
+--R                       7          5          3              4
+--R               (1536a x  + 3072a x  + 1824a x  + 288a x)y(x)
+--R             + 
+--R                      7          5         3              2        7        5
+--R               (576a x  + 1152a x  + 684a x  + 108a x)y(x)  + 32a x  + 64a x
+--R             + 
+--R                    3
+--R               38a x  + 6a x
+--R          *
+--R              +---------+
+--R              |    2
+--R             \|y(x)  + 1
+--R         + 
+--R                       6          4         2           7
+--R               (1024a x  + 1536a x  + 576a x  + 32a)y(x)
+--R             + 
+--R                       6          4          2           5
+--R               (2048a x  + 3072a x  + 1152a x  + 64a)y(x)
+--R             + 
+--R                       6          4         2           3
+--R               (1216a x  + 1824a x  + 684a x  + 38a)y(x)
+--R             + 
+--R                      6         4         2
+--R               (192a x  + 288a x  + 108a x  + 6a)y(x)
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  + 1
+--R         + 
+--R                     7          5          3              7
+--R           (- 1024a x  - 2048a x  - 1216a x  - 192a x)y(x)
+--R         + 
+--R                     7          5          3              5
+--R           (- 2048a x  - 4096a x  - 2432a x  - 384a x)y(x)
+--R         + 
+--R                     7          5          3              3
+--R           (- 1216a x  - 2432a x  - 1444a x  - 228a x)y(x)
+--R         + 
+--R                    7         5         3
+--R           (- 192a x  - 384a x  - 228a x  - 36a x)y(x)
+--R      *
+--R              +---------+
+--R              |    2
+--R         log(\|y(x)  + 1  - y(x))
+--R     + 
+--R                             7          5          3             7
+--R                   (- 2048a x  - 3072a x  - 1152a x  - 64a x)y(x)
+--R                 + 
+--R                         2 8        2 6        2 4      2 2     6
+--R                   (2048a x  + 3072a x  + 1152a x  + 64a x )y(x)
+--R                 + 
+--R                             7          5          3              5
+--R                   (- 4096a x  - 6144a x  - 2304a x  - 128a x)y(x)
+--R                 + 
+--R                         2 8        2 6        2 4      2 2     4
+--R                   (3072a x  + 4608a x  + 1728a x  + 96a x )y(x)
+--R                 + 
+--R                             7          5          3             3
+--R                   (- 2432a x  - 3648a x  - 1368a x  - 76a x)y(x)
+--R                 + 
+--R                         2 8        2 6       2 4      2 2     2
+--R                   (1152a x  + 1728a x  + 648a x  + 36a x )y(x)
+--R                 + 
+--R                            7         5         3                   2 8      2 6
+--R                   (- 384a x  - 576a x  - 216a x  - 12a x)y(x) + 64a x  + 96a x
+--R                 + 
+--R                      2 4     2 2
+--R                   36a x  + 2a x
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  + 1
+--R             + 
+--R                       8          6          4         2     7
+--R               (2048a x  + 4096a x  + 2432a x  + 384a x )y(x)
+--R             + 
+--R                       2 9        2 7        2 5       2 3     6
+--R               (- 2048a x  - 4096a x  - 2432a x  - 384a x )y(x)
+--R             + 
+--R                       8          6          4         2     5
+--R               (4096a x  + 8192a x  + 4864a x  + 768a x )y(x)
+--R             + 
+--R                       2 9        2 7        2 5       2 3     4
+--R               (- 3072a x  - 6144a x  - 3648a x  - 576a x )y(x)
+--R             + 
+--R                       8          6          4         2     3
+--R               (2432a x  + 4864a x  + 2888a x  + 456a x )y(x)
+--R             + 
+--R                       2 9        2 7        2 5       2 3     2
+--R               (- 1152a x  - 2304a x  - 1368a x  - 216a x )y(x)
+--R             + 
+--R                      8         6         4        2           2 9       2 7
+--R               (384a x  + 768a x  + 456a x  + 72a x )y(x) - 64a x  - 128a x
+--R             + 
+--R                    2 5      2 3
+--R               - 76a x  - 12a x
+--R          *
+--R              +---------+
+--R              |    2
+--R             \|y(x)  + 1
+--R         + 
+--R                       7          5          3             8
+--R               (2048a x  + 3072a x  + 1152a x  + 64a x)y(x)
+--R             + 
+--R                       2 8        2 6        2 4      2 2     7
+--R               (- 2048a x  - 3072a x  - 1152a x  - 64a x )y(x)
+--R             + 
+--R                       7          5          3              6
+--R               (5120a x  + 7680a x  + 2880a x  + 160a x)y(x)
+--R             + 
+--R                       2 8        2 6        2 4       2 2     5
+--R               (- 4096a x  - 6144a x  - 2304a x  - 128a x )y(x)
+--R             + 
+--R                       7          5          3              4
+--R               (4224a x  + 6336a x  + 2376a x  + 132a x)y(x)
+--R             + 
+--R                       2 8        2 6        2 4      2 2     3
+--R               (- 2432a x  - 3648a x  - 1368a x  - 76a x )y(x)
+--R             + 
+--R                       7          5         3             2
+--R               (1216a x  + 1824a x  + 684a x  + 38a x)y(x)
+--R             + 
+--R                      2 8       2 6       2 4      2 2             7        5
+--R               (- 384a x  - 576a x  - 216a x  - 12a x )y(x) + 64a x  + 96a x
+--R             + 
+--R                    3
+--R               36a x  + 2a x
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  + 1
+--R         + 
+--R                     8          6          4         2     8
+--R           (- 2048a x  - 4096a x  - 2432a x  - 384a x )y(x)
+--R         + 
+--R                 2 9        2 7        2 5       2 3     7
+--R           (2048a x  + 4096a x  + 2432a x  + 384a x )y(x)
+--R         + 
+--R                     8           6          4         2     6
+--R           (- 5120a x  - 10240a x  - 6080a x  - 960a x )y(x)
+--R         + 
+--R                 2 9        2 7        2 5       2 3     5
+--R           (4096a x  + 8192a x  + 4864a x  + 768a x )y(x)
+--R         + 
+--R                     8          6          4         2     4
+--R           (- 4224a x  - 8448a x  - 5016a x  - 792a x )y(x)
+--R         + 
+--R                 2 9        2 7        2 5       2 3     3
+--R           (2432a x  + 4864a x  + 2888a x  + 456a x )y(x)
+--R         + 
+--R                     8          6          4         2     2
+--R           (- 1216a x  - 2432a x  - 1444a x  - 228a x )y(x)
+--R         + 
+--R                2 9       2 7       2 5      2 3             8         6
+--R           (384a x  + 768a x  + 456a x  + 72a x )y(x) - 64a x  - 128a x
+--R         + 
+--R                  4        2
+--R           - 76a x  - 12a x
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                             6          4         2           6
+--R                   (- 1024a x  - 1536a x  - 576a x  - 32a)y(x)
+--R                 + 
+--R                             6          4         2           4
+--R                   (- 1536a x  - 2304a x  - 864a x  - 48a)y(x)
+--R                 + 
+--R                            6         4         2           2        6        4
+--R                   (- 576a x  - 864a x  - 324a x  - 18a)y(x)  - 32a x  - 48a x
+--R                 + 
+--R                          2
+--R                   - 18a x  - a
+--R              *
+--R                  +------+
+--R                  | 2
+--R                 \|x  + 1
+--R             + 
+--R                       7          5          3              6
+--R               (1024a x  + 2048a x  + 1216a x  + 192a x)y(x)
+--R             + 
+--R                       7          5          3              4
+--R               (1536a x  + 3072a x  + 1824a x  + 288a x)y(x)
+--R             + 
+--R                      7          5         3              2        7        5
+--R               (576a x  + 1152a x  + 684a x  + 108a x)y(x)  + 32a x  + 64a x
+--R             + 
+--R                    3
+--R               38a x  + 6a x
+--R          *
+--R                  +------+
+--R                  | 2
+--R             log(\|x  + 1  - x)
+--R         + 
+--R                         6          4         2           8
+--R               (- 1024a x  - 1536a x  - 576a x  - 32a)y(x)
+--R             + 
+--R                     2 7        2 5        2 3       2      7
+--R               (4096a x  + 6144a x  + 2304a x  + 128a x)y(x)
+--R             + 
+--R                            8        7          6        5          4        3
+--R                   - 3072a x  - 2048x  - 8192a x  - 4096x  - 6720a x  - 2432x
+--R                 + 
+--R                            2
+--R                   - 1728a x  - 384x - 64a
+--R              *
+--R                     6
+--R                 y(x)
+--R             + 
+--R                     2 7        2 5        2 3       2      5
+--R               (6144a x  + 9216a x  + 3456a x  + 192a x)y(x)
+--R             + 
+--R                            8        7           6        5          4        3
+--R                   - 4608a x  - 3072x  - 10432a x  - 6144x  - 7296a x  - 3648x
+--R                 + 
+--R                            2
+--R                   - 1548a x  - 576x - 38a
+--R              *
+--R                     4
+--R                 y(x)
+--R             + 
+--R                     2 7        2 5        2 3      2      3
+--R               (2304a x  + 3456a x  + 1296a x  + 72a x)y(x)
+--R             + 
+--R                            8        7          6        5          4        3
+--R                   - 1728a x  - 1152x  - 3648a x  - 2304x  - 2340a x  - 1368x
+--R                 + 
+--R                           2
+--R                   - 432a x  - 216x - 6a
+--R              *
+--R                     2
+--R                 y(x)
+--R             + 
+--R                    2 7       2 5      2 3     2              8      7         6
+--R               (128a x  + 192a x  + 72a x  + 4a x)y(x) - 96a x  - 64x  - 192a x
+--R             + 
+--R                     5         4      3        2
+--R               - 128x  - 114a x  - 76x  - 18a x  - 12x
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  + 1
+--R         + 
+--R                   7          5          3              8
+--R           (1024a x  + 2048a x  + 1216a x  + 192a x)y(x)
+--R         + 
+--R                   2 8        2 6        2 4       2 2     7
+--R           (- 4096a x  - 8192a x  - 4864a x  - 768a x )y(x)
+--R         + 
+--R                      9        8          7        6           5        4
+--R               3072a x  + 2048x  + 9728a x  + 5120x  + 10432a x  + 4224x
+--R             + 
+--R                      3        2
+--R               4256a x  + 1216x  + 480a x + 64
+--R          *
+--R                 6
+--R             y(x)
+--R         + 
+--R                   2 8         2 6        2 4        2 2     5
+--R           (- 6144a x  - 12288a x  - 7296a x  - 1152a x )y(x)
+--R         + 
+--R                      9        8           7        6           5        4
+--R               4608a x  + 3072x  + 12736a x  + 7680x  + 11936a x  + 6336x
+--R             + 
+--R                      3        2
+--R               4180a x  + 1824x  + 372a x + 96
+--R          *
+--R                 4
+--R             y(x)
+--R         + 
+--R                   2 8        2 6        2 4       2 2     3
+--R           (- 2304a x  - 4608a x  - 2736a x  - 432a x )y(x)
+--R         + 
+--R                      9        8          7        6          5        4
+--R               1728a x  + 1152x  + 4512a x  + 2880x  + 3948a x  + 2376x
+--R             + 
+--R                      3       2
+--R               1254a x  + 684x  + 90a x + 36
+--R          *
+--R                 2
+--R             y(x)
+--R         + 
+--R                  2 8       2 6       2 4      2 2             9      8
+--R           (- 128a x  - 256a x  - 152a x  - 24a x )y(x) + 96a x  + 64x
+--R         + 
+--R                 7       6         5       4        3      2
+--R           240a x  + 160x  + 198a x  + 132x  + 57a x  + 38x  + 3a x + 2
+--R      *
+--R          +---------+
+--R          |    2
+--R         \|y(x)  + 1
+--R     + 
+--R                       6          4         2           7
+--R               (1024a x  + 1536a x  + 576a x  + 32a)y(x)
+--R             + 
+--R                       6          4          2           5
+--R               (2048a x  + 3072a x  + 1152a x  + 64a)y(x)
+--R             + 
+--R                       6          4         2           3
+--R               (1216a x  + 1824a x  + 684a x  + 38a)y(x)
+--R             + 
+--R                      6         4         2
+--R               (192a x  + 288a x  + 108a x  + 6a)y(x)
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  + 1
+--R         + 
+--R                     7          5          3              7
+--R           (- 1024a x  - 2048a x  - 1216a x  - 192a x)y(x)
+--R         + 
+--R                     7          5          3              5
+--R           (- 2048a x  - 4096a x  - 2432a x  - 384a x)y(x)
+--R         + 
+--R                     7          5          3              3
+--R           (- 1216a x  - 2432a x  - 1444a x  - 228a x)y(x)
+--R         + 
+--R                    7         5         3
+--R           (- 192a x  - 384a x  - 228a x  - 36a x)y(x)
+--R      *
+--R              +------+
+--R              | 2
+--R         log(\|x  + 1  - x)
+--R     + 
+--R                   6          4         2           9
+--R           (1024a x  + 1536a x  + 576a x  + 32a)y(x)
+--R         + 
+--R                   2 7        2 5        2 3       2      8
+--R           (- 4096a x  - 6144a x  - 2304a x  - 128a x)y(x)
+--R         + 
+--R                      8        7          6        5          4        3
+--R               3072a x  + 2048x  + 8704a x  + 4096x  + 7488a x  + 2432x
+--R             + 
+--R                      2
+--R               2016a x  + 384x + 80a
+--R          *
+--R                 7
+--R             y(x)
+--R         + 
+--R                   2 7         2 5        2 3       2      6
+--R           (- 8192a x  - 12288a x  - 4608a x  - 256a x)y(x)
+--R         + 
+--R                      8        7           6        5           4        3
+--R               6144a x  + 4096x  + 14400a x  + 8192x  + 10464a x  + 4864x
+--R             + 
+--R                      2
+--R               2340a x  + 768x + 66a
+--R          *
+--R                 5
+--R             y(x)
+--R         + 
+--R                   2 7        2 5        2 3       2      4
+--R           (- 4864a x  - 7296a x  - 2736a x  - 152a x)y(x)
+--R         + 
+--R                      8        7          6        5          4        3
+--R               3648a x  + 2432x  + 7904a x  + 4864x  + 5244a x  + 2888x
+--R             + 
+--R                      2
+--R               1026a x  + 456x + 19a
+--R          *
+--R                 3
+--R             y(x)
+--R         + 
+--R                  2 7        2 5       2 3      2      2
+--R           (- 768a x  - 1152a x  - 432a x  - 24a x)y(x)
+--R         + 
+--R                     8       7          6       5         4       3         2
+--R               576a x  + 384x  + 1184a x  + 768x  + 732a x  + 456x  + 126a x
+--R             + 
+--R               72x + a
+--R          *
+--R             y(x)
+--R      *
+--R          +------+
+--R          | 2
+--R         \|x  + 1
+--R     + 
+--R                 7          5          3              9
+--R       (- 1024a x  - 2048a x  - 1216a x  - 192a x)y(x)
+--R     + 
+--R             2 8        2 6        2 4       2 2     8
+--R       (4096a x  + 8192a x  + 4864a x  + 768a x )y(x)
+--R     + 
+--R                    9        8           7        6           5        4
+--R           - 3072a x  - 2048x  - 10240a x  - 5120x  - 11456a x  - 4224x
+--R         + 
+--R                    3        2
+--R           - 4864a x  - 1216x  - 576a x - 64
+--R      *
+--R             7
+--R         y(x)
+--R     + 
+--R             2 8         2 6        2 4        2 2     6
+--R       (8192a x  + 16384a x  + 9728a x  + 1536a x )y(x)
+--R     + 
+--R                    9        8           7         6           5        4
+--R           - 6144a x  - 4096x  - 17472a x  - 10240x  - 16896a x  - 8448x
+--R         + 
+--R                    3        2
+--R           - 6156a x  - 2432x  - 588a x - 128
+--R      *
+--R             5
+--R         y(x)
+--R     + 
+--R             2 8        2 6        2 4       2 2     4
+--R       (4864a x  + 9728a x  + 5776a x  + 912a x )y(x)
+--R     + 
+--R                    9        8          7        6          5        4
+--R           - 3648a x  - 2432x  - 9728a x  - 6080x  - 8740a x  - 5016x
+--R         + 
+--R                    3        2
+--R           - 2888a x  - 1444x  - 228a x - 76
+--R      *
+--R             3
+--R         y(x)
+--R     + 
+--R            2 8        2 6       2 4       2 2     2
+--R       (768a x  + 1536a x  + 912a x  + 144a x )y(x)
+--R     + 
+--R                   9       8          7       6          5       4         3
+--R           - 576a x  - 384x  - 1472a x  - 960x  - 1252a x  - 792x  - 380a x
+--R         + 
+--R                 2
+--R           - 228x  - 24a x - 12
+--R      *
+--R         y(x)
+--R  /
+--R                     6        4        2          6
+--R               (2048x  + 3072x  + 1152x  + 64)y(x)
+--R             + 
+--R                     6        4        2          4
+--R               (3072x  + 4608x  + 1728x  + 96)y(x)
+--R             + 
+--R                     6        4       2          2      6      4      2
+--R               (1152x  + 1728x  + 648x  + 36)y(x)  + 64x  + 96x  + 36x  + 2
+--R          *
+--R              +------+
+--R              | 2
+--R             \|x  + 1
+--R         + 
+--R                   7        5        3            6
+--R           (- 2048x  - 4096x  - 2432x  - 384x)y(x)
+--R         + 
+--R                   7        5        3            4
+--R           (- 3072x  - 6144x  - 3648x  - 576x)y(x)
+--R         + 
+--R                   7        5        3            2      7       5      3
+--R           (- 1152x  - 2304x  - 1368x  - 216x)y(x)  - 64x  - 128x  - 76x  - 12x
+--R      *
+--R          +---------+
+--R          |    2
+--R         \|y(x)  + 1
+--R     + 
+--R                   6        4        2          7
+--R           (- 2048x  - 3072x  - 1152x  - 64)y(x)
+--R         + 
+--R                   6        4        2           5
+--R           (- 4096x  - 6144x  - 2304x  - 128)y(x)
+--R         + 
+--R                   6        4        2          3
+--R           (- 2432x  - 3648x  - 1368x  - 76)y(x)
+--R         + 
+--R                  6       4       2
+--R           (- 384x  - 576x  - 216x  - 12)y(x)
+--R      *
+--R          +------+
+--R          | 2
+--R         \|x  + 1
+--R     + 
+--R             7        5        3            7
+--R       (2048x  + 4096x  + 2432x  + 384x)y(x)
+--R     + 
+--R             7        5        3            5
+--R       (4096x  + 8192x  + 4864x  + 768x)y(x)
+--R     + 
+--R           7        5        3            3        7       5       3
+--R     (2432x  + 4864x  + 2888x  + 456x)y(x)  + (384x  + 768x  + 456x  + 72x)y(x)
+--R                                                     Type: Expression Integer
+--E 85
+
+--S 86 of 120
+--Rode337 := (sqrt(y(x)**2+x**2)+x)*D(y(x),x)-y(x)
+--R 
+--R
+--R           +----------+
+--R           |    2    2       ,
+--R   (85)  (\|y(x)  + x   + x)y (x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 86
+
+--S 87 of 120
+--Rsolve(ode337,y,x)
+--R 
+--R
+--R   (86)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 87
+
+--S 88 of 120
+--Rode338 := (y(x)*sqrt(y(x)**2+x**2)+(y(x)**2-x**2)*sin(alpha)-_
+--R            2*x*y(x)*cos(alpha))*D(y(x),x)+x*sqrt(y(x)**2+x**2)+_
+--R            2*x*y(x)*sin(alpha)+(y(x)**2-x**2)*cos(alpha)
+--R 
+--R
+--R   (87)
+--R           +----------+
+--R           |    2    2         2    2                                 ,
+--R     (y(x)\|y(x)  + x   + (y(x)  - x )sin(alpha) - 2x y(x)cos(alpha))y (x)
+--R
+--R   + 
+--R       +----------+
+--R       |    2    2                             2    2
+--R     x\|y(x)  + x   + 2x y(x)sin(alpha) + (y(x)  - x )cos(alpha)
+--R                                                     Type: Expression Integer
+--E 88
+
+--S 89 of 120
+--Rsolve(ode338,y,x)
+--R 
+--R
+--R   (88)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 89
+
+--S 90 of 120
+--Rode339 := (x*sqrt(x**2+y(x)**2+1)-y(x)*(x**2+y(x)**2))*D(y(x),x)-_
+--R            y(x)*sqrt(x**2+y(x)**2+1)-x*(x**2+y(x)**2)
+--R 
+--R
+--R   (89)
+--R        +--------------+                               +--------------+
+--R        |    2    2            3    2      ,           |    2    2
+--R     (x\|y(x)  + x  + 1  - y(x)  - x y(x))y (x) - y(x)\|y(x)  + x  + 1
+--R
+--R   + 
+--R             2    3
+--R     - x y(x)  - x
+--R                                                     Type: Expression Integer
+--E 90
+
+--S 91 of 120
+--Rsolve(ode339,y,x)
+--R 
+--R
+--R   (90)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 91
+
+--S 92 of 120
+--Rode340 := (e1*(x+a)/((x+a)**2+y(x)**2)**(3/2)+e2*(x-a)/_
+--R           ((x-a)**2+y(x)**2)**(3/2))*D(y(x),x)-y(x)*_
+--R           (e1/((x+a)**2+y(x)**2)**(3/2)+e2/((x-a)**2+y(x)**2)**(3/2))
+--R 
+--R
+--R   (91)
+--R                               2       3         2    2        3
+--R             ((e2 x - a e2)y(x)  + e2 x  + a e2 x  - a e2 x - a e2)
+--R          *
+--R              +----------------------+
+--R              |    2    2           2
+--R             \|y(x)  + x  + 2a x + a
+--R         + 
+--R                               2       3         2    2        3
+--R             ((e1 x + a e1)y(x)  + e1 x  - a e1 x  - a e1 x + a e1)
+--R          *
+--R              +----------------------+
+--R              |    2    2           2
+--R             \|y(x)  + x  - 2a x + a
+--R      *
+--R          ,
+--R         y (x)
+--R
+--R     + 
+--R                                                     +----------------------+
+--R                 3          2              2         |    2    2           2
+--R       (- e2 y(x)  + (- e2 x  - 2a e2 x - a e2)y(x))\|y(x)  + x  + 2a x + a
+--R     + 
+--R                                                     +----------------------+
+--R                 3          2              2         |    2    2           2
+--R       (- e1 y(x)  + (- e1 x  + 2a e1 x - a e1)y(x))\|y(x)  + x  - 2a x + a
+--R  /
+--R                                                    +----------------------+
+--R            4      2     2     2    4     2 2    4  |    2    2           2
+--R       (y(x)  + (2x  + 2a )y(x)  + x  - 2a x  + a )\|y(x)  + x  - 2a x + a
+--R    *
+--R        +----------------------+
+--R        |    2    2           2
+--R       \|y(x)  + x  + 2a x + a
+--R                                                     Type: Expression Integer
+--E 92
+
+--S 93 of 120
+--Rsolve(ode340,y,x)
+--R 
+--R
+--R   (92)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 93
+
+--S 94 of 120
+--Rode341 := (x*exp(y(x))+exp(x))*D(y(x),x)+exp(y(x))+y(x)*exp(x)
+--R 
+--R
+--R              y(x)     x  ,        y(x)         x
+--R   (93)  (x %e     + %e )y (x) + %e     + y(x)%e
+--R
+--R                                                     Type: Expression Integer
+--E 94
+
+--S 95 of 120
+--Ryx:=solve(ode341,y,x)
+--R 
+--R
+--R             y(x)         x
+--R   (94)  x %e     + y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 95
+
+--S 96 of 120
+--Rode341expr := (x*exp(yx)+exp(x))*D(yx,x)+exp(yx)+yx*exp(x)
+--R 
+--R
+--R   (95)
+--R                                                               y(x)         x
+--R        2  y(x)       x  ,          y(x)           x       x %e     + y(x)%e
+--R     ((x %e     + x %e )y (x) + x %e     + x y(x)%e  + 1)%e
+--R
+--R   + 
+--R          x  y(x)      x 2  ,               x  y(x)           x 2
+--R     (x %e %e     + (%e ) )y (x) + (x + 1)%e %e     + 2y(x)(%e )
+--R
+--R                                                     Type: Expression Integer
+--E 96
+
+--S 97 of 120
+--Rode342 := x*(3*exp(x*y(x))+2*exp(-x*y(x)))*(x*D(y(x),x)+y(x))+1
+--R 
+--R
+--R   (96)
+--R      2  x y(x)     2  - x y(x)  ,               x y(x)            - x y(x)
+--R   (3x %e       + 2x %e        )y (x) + 3x y(x)%e       + 2x y(x)%e         + 1
+--R
+--R                                                     Type: Expression Integer
+--E 97
+
+--S 98 of 120
+--Ryx:=solve(ode342,y,x)
+--R 
+--R
+--R             x y(x) 2           x y(x)
+--R         3(%e      )  + log(x)%e       - 2
+--R   (97)  ---------------------------------
+--R                        x y(x)
+--R                      %e
+--R                                          Type: Union(Expression Integer,...)
+--E 98
+
+--S 99 of 120
+--Rode342expr := x*(3*exp(x*yx)+2*exp(-x*yx))*(x*D(yx,x)+yx)+1
+--R 
+--R
+--R   (98)
+--R              3   x y(x) 2     3  ,         2             x y(x) 2
+--R           (9x (%e      )  + 6x )y (x) + (9x y(x) + 9x)(%e      )
+--R
+--R         + 
+--R                             x y(x)     2
+--R           (3x log(x) + 3x)%e       + 6x y(x) - 6x
+--R      *
+--R                 x y(x) 2             x y(x)
+--R           3x (%e      )  + x log(x)%e       - 2x
+--R           --------------------------------------
+--R                            x y(x)
+--R                          %e
+--R         %e
+--R     + 
+--R              3   x y(x) 2     3  ,         2             x y(x) 2
+--R           (6x (%e      )  + 4x )y (x) + (6x y(x) + 6x)(%e      )
+--R
+--R         + 
+--R                             x y(x)     2
+--R           (2x log(x) + 2x)%e       + 4x y(x) - 4x
+--R      *
+--R                   x y(x) 2             x y(x)
+--R           - 3x (%e      )  - x log(x)%e       + 2x
+--R           ----------------------------------------
+--R                             x y(x)
+--R                           %e
+--R         %e
+--R     + 
+--R         x y(x)
+--R       %e
+--R  /
+--R       x y(x)
+--R     %e
+--R                                                     Type: Expression Integer
+--E 99
+
+--S 100 of 120
+--Rode343 := (log(y(x))+x)*D(y(x),x)-1
+--R 
+--R
+--R                         ,
+--R   (99)  (log(y(x)) + x)y (x) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 100
+
+--S 101 of 120
+--Ryx:=solve(ode343,y,x)
+--R 
+--R
+--R              - y(x)                - y(x)
+--R   (100)  - %e      log(y(x)) - x %e       + Ei(- y(x))
+--R                                          Type: Union(Expression Integer,...)
+--E 101
+
+--S 102 of 120
+--Rode343expr := (log(yx)+x)*D(yx,x)-1
+--R 
+--R
+--R   (101)
+--R           - y(x)                - y(x)  ,        - y(x)
+--R       ((%e      log(y(x)) + x %e      )y (x) - %e      )
+--R
+--R    *
+--R               - y(x)                - y(x)
+--R       log(- %e      log(y(x)) - x %e       + Ei(- y(x)))
+--R   + 
+--R          - y(x)             2  - y(x)  ,          - y(x)
+--R     (x %e      log(y(x)) + x %e      )y (x) - x %e       - 1
+--R
+--R                                                     Type: Expression Integer
+--E 102
+
+--S 103 of 120
+--Rode344 := (log(y(x))+2*x-1)*D(y(x),x)-2*y(x)
+--R 
+--R
+--R                               ,
+--R   (102)  (log(y(x)) + 2x - 1)y (x) - 2y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 103
+
+--S 104 of 120
+--Ryx:=solve(ode344,y,x)
+--R 
+--R
+--R          - log(y(x)) - 2x
+--R   (103)  ----------------
+--R                y(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 104
+
+--S 105 of 120
+--Rode344expr := (log(yx)+2*x-1)*D(yx,x)-2*yx
+--R 
+--R
+--R   (104)
+--R                             ,                - log(y(x)) - 2x
+--R       ((log(y(x)) + 2x - 1)y (x) - 2y(x))log(----------------)
+--R                                                    y(x)
+--R     + 
+--R                              2           ,
+--R       ((2x - 1)log(y(x)) + 4x  - 4x + 1)y (x) + 2y(x)log(y(x)) + 2y(x)
+--R
+--R  /
+--R         2
+--R     y(x)
+--R                                                     Type: Expression Integer
+--E 105
+
+--S 106 of 120
+--Rode345 := x*(2*x**2*y(x)*log(y(x))+1)*D(y(x),x)-2*y(x)
+--R 
+--R
+--R             3                   ,
+--R   (105)  (2x y(x)log(y(x)) + x)y (x) - 2y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 106
+
+--S 107 of 120
+--Ryx:=solve(ode345,y,x)
+--R 
+--R
+--R            2    2             2    2
+--R          2x y(x) log(y(x)) - x y(x)  + 2y(x)
+--R   (106)  -----------------------------------
+--R                            2
+--R                          2x
+--R                                          Type: Union(Expression Integer,...)
+--E 107
+
+--S 108 of 120
+--Rode345expr := x*(2*x**2*yx*log(yx)+1)*D(yx,x)-2*yx
+--R 
+--R
+--R   (107)
+--R                 5    3         2        5    3     3    2              3    2
+--R               4x y(x) log(y(x))  + (- 2x y(x)  + 6x y(x) )log(y(x)) - x y(x)
+--R             + 
+--R               2x y(x)
+--R          *
+--R              ,
+--R             y (x)
+--R
+--R         + 
+--R               2    3              2    3        2
+--R           - 4x y(x) log(y(x)) + 2x y(x)  - 4y(x)
+--R      *
+--R               2    2             2    2
+--R             2x y(x) log(y(x)) - x y(x)  + 2y(x)
+--R         log(-----------------------------------)
+--R                               2
+--R                             2x
+--R     + 
+--R          3                   ,        2    2             2    2
+--R       (2x y(x)log(y(x)) + x)y (x) - 2x y(x) log(y(x)) + x y(x)  - 4y(x)
+--R
+--R  /
+--R      2
+--R     x
+--R                                                     Type: Expression Integer
+--E 108
+
+--S 109 of 120
+--Rode346 := x*(y(x)*log(x*y(x))+y(x)-a*x)*D(y(x),x)-_
+--R              y(x)*(a*x*log(x*y(x))-y(x)+a*x)
+--R 
+--R
+--R   (108)
+--R                                      2  ,                                2
+--R     (x y(x)log(x y(x)) + x y(x) - a x )y (x) - a x y(x)log(x y(x)) + y(x)
+--R
+--R   + 
+--R     - a x y(x)
+--R                                                     Type: Expression Integer
+--E 109
+
+--S 110 of 120
+--Rsolve(ode346,y,x)
+--R 
+--R
+--R   (109)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 110
+
+--S 111 of 120
+--Rode347 := D(y(x),x)*(1+sin(x))*sin(y(x))+cos(x)*(cos(y(x))-1)
+--R 
+--R
+--R                                ,
+--R   (110)  (sin(x) + 1)sin(y(x))y (x) + cos(x)cos(y(x)) - cos(x)
+--R
+--R                                                     Type: Expression Integer
+--E 111
+
+--S 112 of 120
+--Ryx:=solve(ode347,y,x)
+--R 
+--R
+--R   (111)
+--R                     2                     2             2
+--R           (- 4cos(x)  - 8cos(x) - 4)sin(x)  + (- 8cos(x)  - 16cos(x) - 8)sin(x)
+--R         + 
+--R                    2
+--R           - 4cos(x)  - 8cos(x) - 4
+--R      *
+--R         cos(y(x))
+--R     + 
+--R               5                        4             2                      3
+--R       - sin(x)  + (- 4cos(x) - 4)sin(x)  + (- 6cos(x)  - 12cos(x) - 6)sin(x)
+--R     + 
+--R                 3           2                      2
+--R       (- 4cos(x)  - 12cos(x)  - 12cos(x) - 4)sin(x)
+--R     + 
+--R                4          3          2
+--R       (- cos(x)  - 4cos(x)  - 6cos(x)  - 4cos(x) - 1)sin(x)
+--R  /
+--R             5                      4           2                       3
+--R       sin(x)  + (4cos(x) + 5)sin(x)  + (6cos(x)  + 16cos(x) + 10)sin(x)
+--R     + 
+--R               3           2                       2
+--R       (4cos(x)  + 18cos(x)  + 24cos(x) + 10)sin(x)
+--R     + 
+--R              4          3           2                               4
+--R       (cos(x)  + 8cos(x)  + 18cos(x)  + 16cos(x) + 5)sin(x) + cos(x)
+--R     + 
+--R              3          2
+--R       4cos(x)  + 6cos(x)  + 4cos(x) + 1
+--R                                          Type: Union(Expression Integer,...)
+--E 112
+
+--S 113 of 120
+--Rode347expr := D(yx,x)*(1+sin(x))*sin(yx)+cos(x)*(cos(yx)-1)
+--R 
+--R
+--R   (112)
+--R                         2                     4
+--R               (- 4cos(x)  - 8cos(x) - 4)sin(x)
+--R             + 
+--R                         3           2                       3
+--R               (- 4cos(x)  - 24cos(x)  - 36cos(x) - 16)sin(x)
+--R             + 
+--R                          3           2                       2
+--R               (- 12cos(x)  - 48cos(x)  - 60cos(x) - 24)sin(x)
+--R             + 
+--R                          3           2                                 3
+--R               (- 12cos(x)  - 40cos(x)  - 44cos(x) - 16)sin(x) - 4cos(x)
+--R             + 
+--R                         2
+--R               - 12cos(x)  - 12cos(x) - 4
+--R          *
+--R                       ,
+--R             sin(y(x))y (x)
+--R
+--R         + 
+--R                                    5           2                      4
+--R               (- 8cos(x) - 8)sin(x)  + (8cos(x)  - 8cos(x) - 16)sin(x)
+--R             + 
+--R                          3                  3
+--R               (- 12cos(x)  + 12cos(x))sin(x)
+--R             + 
+--R                       4           3           2                      2
+--R               (4cos(x)  - 28cos(x)  - 44cos(x)  + 4cos(x) + 16)sin(x)
+--R             + 
+--R                       4           3           2
+--R               (8cos(x)  - 20cos(x)  - 56cos(x)  - 20cos(x) + 8)sin(x)
+--R             + 
+--R                      4          3           2
+--R               4cos(x)  - 4cos(x)  - 20cos(x)  - 12cos(x)
+--R          *
+--R             cos(y(x))
+--R         + 
+--R                       5           2                 4
+--R           cos(x)sin(x)  + (5cos(x)  + 5cos(x))sin(x)
+--R         + 
+--R                    3           2                  3
+--R           (10cos(x)  + 20cos(x)  + 10cos(x))sin(x)
+--R         + 
+--R                    4           3           2                  2
+--R           (10cos(x)  + 30cos(x)  + 30cos(x)  + 10cos(x))sin(x)
+--R         + 
+--R                   5           4           3           2
+--R           (5cos(x)  + 20cos(x)  + 30cos(x)  + 20cos(x)  + 5cos(x))sin(x)
+--R         + 
+--R                 6          5           4           3          2
+--R           cos(x)  + 5cos(x)  + 10cos(x)  + 10cos(x)  + 5cos(x)  + cos(x)
+--R      *
+--R         sin
+--R                            2                     2
+--R                    (4cos(x)  + 8cos(x) + 4)sin(x)
+--R                  + 
+--R                            2                                2
+--R                    (8cos(x)  + 16cos(x) + 8)sin(x) + 4cos(x)  + 8cos(x) + 4
+--R               *
+--R                  cos(y(x))
+--R              + 
+--R                      5                      4
+--R                sin(x)  + (4cos(x) + 4)sin(x)
+--R              + 
+--R                        2                      3
+--R                (6cos(x)  + 12cos(x) + 6)sin(x)
+--R              + 
+--R                        3           2                      2
+--R                (4cos(x)  + 12cos(x)  + 12cos(x) + 4)sin(x)
+--R              + 
+--R                       4          3          2
+--R                (cos(x)  + 4cos(x)  + 6cos(x)  + 4cos(x) + 1)sin(x)
+--R           /
+--R                      5                      4
+--R                sin(x)  + (4cos(x) + 5)sin(x)
+--R              + 
+--R                        2                       3
+--R                (6cos(x)  + 16cos(x) + 10)sin(x)
+--R              + 
+--R                        3           2                       2
+--R                (4cos(x)  + 18cos(x)  + 24cos(x) + 10)sin(x)
+--R              + 
+--R                       4          3           2                               4
+--R                (cos(x)  + 8cos(x)  + 18cos(x)  + 16cos(x) + 5)sin(x) + cos(x)
+--R              + 
+--R                       3          2
+--R                4cos(x)  + 6cos(x)  + 4cos(x) + 1
+--R     + 
+--R                       6           2                 5
+--R           cos(x)sin(x)  + (5cos(x)  + 6cos(x))sin(x)
+--R         + 
+--R                    3           2                  4
+--R           (10cos(x)  + 25cos(x)  + 15cos(x))sin(x)
+--R         + 
+--R                    4           3           2                  3
+--R           (10cos(x)  + 40cos(x)  + 50cos(x)  + 20cos(x))sin(x)
+--R         + 
+--R                   5           4           3           2                  2
+--R           (5cos(x)  + 30cos(x)  + 60cos(x)  + 50cos(x)  + 15cos(x))sin(x)
+--R         + 
+--R                    6           5           4           3           2
+--R             (cos(x)  + 10cos(x)  + 30cos(x)  + 40cos(x)  + 25cos(x)  + 6cos(x))
+--R          *
+--R             sin(x)
+--R         + 
+--R                 6          5           4           3          2
+--R           cos(x)  + 5cos(x)  + 10cos(x)  + 10cos(x)  + 5cos(x)  + cos(x)
+--R      *
+--R         cos
+--R                            2                     2
+--R                    (4cos(x)  + 8cos(x) + 4)sin(x)
+--R                  + 
+--R                            2                                2
+--R                    (8cos(x)  + 16cos(x) + 8)sin(x) + 4cos(x)  + 8cos(x) + 4
+--R               *
+--R                  cos(y(x))
+--R              + 
+--R                      5                      4
+--R                sin(x)  + (4cos(x) + 4)sin(x)
+--R              + 
+--R                        2                      3
+--R                (6cos(x)  + 12cos(x) + 6)sin(x)
+--R              + 
+--R                        3           2                      2
+--R                (4cos(x)  + 12cos(x)  + 12cos(x) + 4)sin(x)
+--R              + 
+--R                       4          3          2
+--R                (cos(x)  + 4cos(x)  + 6cos(x)  + 4cos(x) + 1)sin(x)
+--R           /
+--R                      5                      4
+--R                sin(x)  + (4cos(x) + 5)sin(x)
+--R              + 
+--R                        2                       3
+--R                (6cos(x)  + 16cos(x) + 10)sin(x)
+--R              + 
+--R                        3           2                       2
+--R                (4cos(x)  + 18cos(x)  + 24cos(x) + 10)sin(x)
+--R              + 
+--R                       4          3           2                               4
+--R                (cos(x)  + 8cos(x)  + 18cos(x)  + 16cos(x) + 5)sin(x) + cos(x)
+--R              + 
+--R                       3          2
+--R                4cos(x)  + 6cos(x)  + 4cos(x) + 1
+--R     + 
+--R                     6             2                 5
+--R       - cos(x)sin(x)  + (- 5cos(x)  - 6cos(x))sin(x)
+--R     + 
+--R                  3           2                  4
+--R       (- 10cos(x)  - 25cos(x)  - 15cos(x))sin(x)
+--R     + 
+--R                  4           3           2                  3
+--R       (- 10cos(x)  - 40cos(x)  - 50cos(x)  - 20cos(x))sin(x)
+--R     + 
+--R                 5           4           3           2                  2
+--R       (- 5cos(x)  - 30cos(x)  - 60cos(x)  - 50cos(x)  - 15cos(x))sin(x)
+--R     + 
+--R                  6           5           4           3           2
+--R         (- cos(x)  - 10cos(x)  - 30cos(x)  - 40cos(x)  - 25cos(x)  - 6cos(x))
+--R      *
+--R         sin(x)
+--R     + 
+--R               6          5           4           3          2
+--R       - cos(x)  - 5cos(x)  - 10cos(x)  - 10cos(x)  - 5cos(x)  - cos(x)
+--R  /
+--R             6                      5            2                       4
+--R       sin(x)  + (5cos(x) + 6)sin(x)  + (10cos(x)  + 25cos(x) + 15)sin(x)
+--R     + 
+--R                3           2                       3
+--R       (10cos(x)  + 40cos(x)  + 50cos(x) + 20)sin(x)
+--R     + 
+--R               4           3           2                       2
+--R       (5cos(x)  + 30cos(x)  + 60cos(x)  + 50cos(x) + 15)sin(x)
+--R     + 
+--R              5           4           3           2
+--R       (cos(x)  + 10cos(x)  + 30cos(x)  + 40cos(x)  + 25cos(x) + 6)sin(x)
+--R     + 
+--R             5          4           3           2
+--R       cos(x)  + 5cos(x)  + 10cos(x)  + 10cos(x)  + 5cos(x) + 1
+--R                                                     Type: Expression Integer
+--E 113 
+
+--S 114 of 120
+--Rode348 := (x*cos(y(x))+sin(x))*D(y(x),x)+y(x)*cos(x)+sin(y(x))
+--R 
+--R
+--R                                 ,
+--R   (113)  (x cos(y(x)) + sin(x))y (x) + sin(y(x)) + y(x)cos(x)
+--R
+--R                                                     Type: Expression Integer
+--E 114
+
+--S 115 of 120
+--Ryx:=solve(ode348,y,x)
+--R 
+--R
+--R   (114)  x sin(y(x)) + y(x)sin(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 115
+
+--S 116 of 120
+--Rode348expr := (x*cos(yx)+sin(x))*D(yx,x)+yx*cos(x)+sin(yx)
+--R 
+--R
+--R   (115)
+--R     sin(x sin(y(x)) + y(x)sin(x))
+--R   + 
+--R          2                      ,
+--R       ((x cos(y(x)) + x sin(x))y (x) + x sin(y(x)) + x y(x)cos(x))
+--R
+--R    *
+--R       cos(x sin(y(x)) + y(x)sin(x))
+--R   + 
+--R                                2  ,
+--R     (x sin(x)cos(y(x)) + sin(x) )y (x) + (sin(x) + x cos(x))sin(y(x))
+--R
+--R   + 
+--R     2y(x)cos(x)sin(x)
+--R                                                     Type: Expression Integer
+--E 116
+
+--S 117 of 120
+--Rode349 := x*D(y(x),x)*cot(y(x)/x)+2*x*sin(y(x)/x)-y(x)*cot(y(x)/x)
+--R 
+--R
+--R                y(x)  ,             y(x)            y(x)
+--R   (116)  x cot(----)y (x) + 2x sin(----) - y(x)cot(----)
+--R                  x                   x               x
+--R                                                     Type: Expression Integer
+--E 117
+
+--S 118 of 120
+--Rsolve(ode349,y,x)
+--R 
+--R
+--R   (117)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 118
+
+--S 119 of 120
+--Rode350 := D(y(x),x)*cos(y(x))-cos(x)*sin(y(x))**2-sin(y(x))
+--R 
+--R
+--R                    ,                     2
+--R   (118)  cos(y(x))y (x) - cos(x)sin(y(x))  - sin(y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 119
+
+--S 120 of 120
+--Rsolve(ode350,y,x)
+--R 
+--R
+--R   (119)  "failed"
+--R                                                    Type: Union("failed",...)
+--E 120
+ 
+
+)spool
+)lisp (bye)
+ 
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} {\bf http://www.cs.uwaterloo.ca/$\tilde{}$ecterrab/odetools.html}
+\end{thebibliography}
+\end{document}

\start
Date: Sat, 6 Oct 2007 20:46:50 -0500
From: Tim Daly
To: list
Subject: 20071006.02.tpd.patch

This patch adds the remaining Kamke ODEs that give results in Axiom.
===================================================================
diff --git a/changelog b/changelog
index c63be68..7c61a45 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071005 tpd src/input/Makefile kamke7.input regression test added
+20071005 tpd src/input/kamke7.input ODE regression test added
 20071005 tpd src/input/Makefile kamke6.input regression test added
 20071005 tpd src/input/kamke6.input ODE regression test added
 20071005 tpd src/input/Makefile kamke5.input regression test added
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index 3d92581..f1f937b 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -323,7 +323,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     iprntpk.regress \
     ipftest.regress   is.regress       isprime.regress  kafile.regress \
     kamke0.regress    kamke1.regress   kamke2.regress   kamke3.regress \
-    kamke4.regress    kamke5.regress   kamke6.regress \
+    kamke4.regress    kamke5.regress   kamke6.regress   kamke7.regress \
     kernel.regress    knot2.regress    kovacic.regress  kuipers.regress \
     laplace.regress   leg.regress      limit.regress    lindep.regress \
     list.regress      lode.regress     lodesys.regress  lodo1.regress \
@@ -564,7 +564,7 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/ipftest.input  ${OUT}/is.input         ${OUT}/isprime.input \
        ${OUT}/kafile.input   ${OUT}/kamke0.input     ${OUT}/kamke1.input \
        ${OUT}/kamke2.input   ${OUT}/kamke3.input     ${OUT}/kamke4.input \
-       ${OUT}/kamke5.input   ${OUT}/kamke6.input \
+       ${OUT}/kamke5.input   ${OUT}/kamke6.input     ${OUT}/kamke7.input \
        ${OUT}/kernel.input   ${OUT}/knot.input \
        ${OUT}/kovacic.input  ${OUT}/kuipers.input  \
        ${OUT}/laplace.input  ${OUT}/leg.input        ${OUT}/lexp.input \
@@ -833,7 +833,7 @@ DOCFILES= \
   ${DOC}/kamke0.input.dvi      ${DOC}/kamke1.input.dvi     \
   ${DOC}/kamke2.input.dvi      ${DOC}/kamke3.input.dvi     \
   ${DOC}/kamke4.input.dvi      ${DOC}/kamke5.input.dvi     \
-  ${DOC}/kamke6.input.dvi     \
+  ${DOC}/kamke6.input.dvi      ${DOC}/kamke7.input.dvi     \
   ${DOC}/kernel.input.dvi      ${DOC}/knot2.input.dvi      \
   ${DOC}/knot.input.dvi        ${DOC}/knownbugs.input.dvi  \
   ${DOC}/kovacic.input.dvi     ${DOC}/kuipers.input.dvi    \
diff --git a/src/input/kamke7.input.pamphlet b/src/input/kamke7.input.pamphlet
new file mode 100644
index 0000000..eb989d3
--- /dev/null
+++ b/src/input/kamke7.input.pamphlet
@@ -0,0 +1,1538 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kamke7.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+This is the remaining ODEs of the Kamke test suite as published by 
+E. S. Cheb-Terrab\cite{1}. They have been rewritten using Axiom
+syntax. Where possible we show that the particular solution actually
+satisfies the original ordinary differential equation.
+
+Note that after a certain point Axiom can no longer generate useful
+results. The failures fall into several cases which have been included
+in other regression test files.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{Generated results}
+<<*>>=
+)spool kamke7.output
+)set break resume
+)set mes auto off
+)clear all
+
+--S 1 of 97
+y:=operator 'y
+--R 
+--R
+--R   (1)  y
+--R                                                          Type: BasicOperator
+--E 1
+
+--S 2 of 97
+f:=operator 'f
+--R 
+--R
+--R   (2)  f
+--R                                                          Type: BasicOperator
+--E 2
+
+--S 3 of 97
+g:=operator 'g
+--R 
+--R
+--R   (3)  g
+--R                                                          Type: BasicOperator
+--E 3
+
+--S 4 of 97
+h:=operator 'h
+--R 
+--R
+--R   (4)  h
+--R                                                          Type: BasicOperator
+--E 4
+
+--S 5 of 97
+fa:=operator 'fa
+--R 
+--R
+--R   (5)  fa
+--R                                                          Type: BasicOperator
+--E 5
+
+--S 6 of 97
+fb:=operator 'fb
+--R 
+--R
+--R   (6)  fb
+--R                                                          Type: BasicOperator
+--E 6
+
+--S 7 of 97
+fc:=operator 'fc
+--R 
+--R
+--R   (7)  fc
+--R                                                          Type: BasicOperator
+--E 7
+
+--S 8 of 97
+fd:=operator 'fd
+--R 
+--R
+--R   (8)  fd
+--R                                                          Type: BasicOperator
+--E 8
+
+--S 9 of 97
+fe:=operator 'fe
+--R 
+--R
+--R   (9)  fe
+--R                                                          Type: BasicOperator
+--E 9
+
+--S 10 of 97
+ff:=operator 'ff
+--R 
+--R
+--R   (10)  ff
+--R                                                          Type: BasicOperator
+--E 10
+
+--S 11 of 97
+ode352 := D(y(x),x)*(cos(y(x))-sin(alpha)*sin(x))*cos(y(x))+(cos(x)-_
+            sin(alpha)*sin(y(x)))*cos(x)
+--R 
+--R
+--R   (11)
+--R               2                              ,
+--R     (cos(y(x))  - sin(alpha)sin(x)cos(y(x)))y (x) - cos(x)sin(alpha)sin(y(x))
+--R
+--R   + 
+--R           2
+--R     cos(x)
+--R                                                     Type: Expression Integer
+--E 11
+
+--S 12 of 97
+yx:=solve(ode352,y,x)
+--R 
+--R
+--R         (cos(y(x)) - 2sin(alpha)sin(x))sin(y(x)) + cos(x)sin(x) + y(x) + x
+--R   (12)  ------------------------------------------------------------------
+--R                                          2
+--R                                          Type: Union(Expression Integer,...)
+--E 12
+
+--S 13 of 97
+ode352expr := D(yx,x)*(cos(yx)-sin(alpha)*sin(x))*cos(yx)+(cos(x)-_
+                sin(alpha)*sin(yx))*cos(x)
+--R 
+--R
+--R   (13)
+--R       -
+--R            2cos(x)sin(alpha)
+--R         *
+--R            sin
+--R                   (cos(y(x)) - 2sin(alpha)sin(x))sin(y(x)) + cos(x)sin(x)
+--R                 + 
+--R                   y(x) + x
+--R              /
+--R                 2
+--R     + 
+--R                       2            2                                   ,
+--R           (- sin(y(x))  + cos(y(x))  - 2sin(alpha)sin(x)cos(y(x)) + 1)y (x)
+--R
+--R         + 
+--R                                                2         2
+--R           - 2cos(x)sin(alpha)sin(y(x)) - sin(x)  + cos(x)  + 1
+--R      *
+--R           (cos(y(x)) - 2sin(alpha)sin(x))sin(y(x)) + cos(x)sin(x) + y(x) + x 2
+--R       cos(------------------------------------------------------------------)
+--R                                            2
+--R     + 
+--R                                        2                            2
+--R               sin(alpha)sin(x)sin(y(x))  - sin(alpha)sin(x)cos(y(x))
+--R             + 
+--R                          2      2
+--R               2sin(alpha) sin(x) cos(y(x)) - sin(alpha)sin(x)
+--R          *
+--R              ,
+--R             y (x)
+--R
+--R         + 
+--R                            2                                  3
+--R           2cos(x)sin(alpha) sin(x)sin(y(x)) + sin(alpha)sin(x)
+--R         + 
+--R                    2
+--R           (- cos(x)  - 1)sin(alpha)sin(x)
+--R      *
+--R           (cos(y(x)) - 2sin(alpha)sin(x))sin(y(x)) + cos(x)sin(x) + y(x) + x
+--R       cos(------------------------------------------------------------------)
+--R                                            2
+--R     + 
+--R              2
+--R       2cos(x)
+--R  /
+--R     2
+--R                                                     Type: Expression Integer
+--E 13
+
+--S 14 of 97
+ode353 := x*D(y(x),x)*cos(y(x))+sin(y(x))
+--R 
+--R
+--R                     ,
+--R   (14)  x cos(y(x))y (x) + sin(y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 14
+
+--S 15 of 97
+yx:=solve(ode353,y,x)
+--R 
+--R
+--R   (15)  x sin(y(x))
+--R                                          Type: Union(Expression Integer,...)
+--E 15
+
+--S 16 of 97
+ode353expr := x*D(yx,x)*cos(yx)+sin(yx)
+--R 
+--R
+--R                              2          ,
+--R   (16)  sin(x sin(y(x))) + (x cos(y(x))y (x) + x sin(y(x)))cos(x sin(y(x)))
+--R
+--R                                                     Type: Expression Integer
+--E 16
+
+--S 17 of 97
+ode354 := (x*sin(y(x))-1)*D(y(x),x)+cos(y(x))
+--R 
+--R
+--R                           ,
+--R   (17)  (x sin(y(x)) - 1)y (x) + cos(y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 17
+
+--S 18 of 97
+yx:=solve(ode354,y,x)
+--R 
+--R
+--R         - sin(y(x)) + x
+--R   (18)  ---------------
+--R            cos(y(x))
+--R                                          Type: Union(Expression Integer,...)
+--E 18
+
+--S 19 of 97
+ode354expr := (x*sin(yx)-1)*D(yx,x)+cos(yx)
+--R 
+--R
+--R   (19)
+--R                      2    2                       2  ,
+--R         ((x sin(y(x))  - x sin(y(x)) + x cos(y(x)) )y (x) - x cos(y(x)))
+--R
+--R      *
+--R             sin(y(x)) - x
+--R         sin(-------------)
+--R               cos(y(x))
+--R     + 
+--R                2    sin(y(x)) - x
+--R       cos(y(x)) cos(-------------)
+--R                       cos(y(x))
+--R     + 
+--R                 2                          2  ,
+--R       (sin(y(x))  - x sin(y(x)) + cos(y(x)) )y (x) - cos(y(x))
+--R
+--R  /
+--R              2
+--R     cos(y(x))
+--R                                                     Type: Expression Integer
+--E 19
+
+--S 20 of 97
+ode355 := (x*cos(y(x))+cos(x))*D(y(x),x)-y(x)*sin(x)+sin(y(x))
+--R 
+--R
+--R                                ,
+--R   (20)  (x cos(y(x)) + cos(x))y (x) + sin(y(x)) - y(x)sin(x)
+--R
+--R                                                     Type: Expression Integer
+--E 20
+
+--S 21 of 97
+yx:=solve(ode355,y,x)
+--R 
+--R
+--R   (21)  x sin(y(x)) + y(x)cos(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 21
+
+--S 22 of 97
+ode355expr := (x*cos(yx)+cos(x))*D(yx,x)-yx*sin(x)+sin(yx)
+--R 
+--R
+--R   (22)
+--R     sin(x sin(y(x)) + y(x)cos(x))
+--R   + 
+--R          2                      ,
+--R       ((x cos(y(x)) + x cos(x))y (x) + x sin(y(x)) - x y(x)sin(x))
+--R
+--R    *
+--R       cos(x sin(y(x)) + y(x)cos(x))
+--R   + 
+--R                                2  ,
+--R     (x cos(x)cos(y(x)) + cos(x) )y (x) + (- x sin(x) + cos(x))sin(y(x))
+--R
+--R   + 
+--R     - 2y(x)cos(x)sin(x)
+--R                                                     Type: Expression Integer
+--E 22
+
+--S 23 of 97
+ode356 := (x**2*cos(y(x))+2*y(x)*sin(x))*D(y(x),x)+2*x*sin(y(x))+y(x)**2*cos(x)
+--R 
+--R
+--R           2                         ,                         2
+--R   (23)  (x cos(y(x)) + 2y(x)sin(x))y (x) + 2x sin(y(x)) + y(x) cos(x)
+--R
+--R                                                     Type: Expression Integer
+--E 23
+
+--S 24 of 97
+yx:=solve(ode356,y,x)
+--R 
+--R
+--R          2                2
+--R   (24)  x sin(y(x)) + y(x) sin(x)
+--R                                          Type: Union(Expression Integer,...)
+--E 24
+
+--S 25 of 97
+ode356expr:=(x**2*cos(yx)+2*yx*sin(x))*D(yx,x)+2*x*sin(yx)+yx**2*cos(x)
+--R 
+--R
+--R   (25)
+--R             2                2
+--R     2x sin(x sin(y(x)) + y(x) sin(x))
+--R   + 
+--R          4              2            ,        3             2    2
+--R       ((x cos(y(x)) + 2x y(x)sin(x))y (x) + 2x sin(y(x)) + x y(x) cos(x))
+--R
+--R    *
+--R            2                2
+--R       cos(x sin(y(x)) + y(x) sin(x))
+--R   + 
+--R            4                    2          2
+--R         (2x sin(x)cos(y(x)) + 4x y(x)sin(x) )sin(y(x))
+--R       + 
+--R           2    2      2                 3      3
+--R         2x y(x) sin(x) cos(y(x)) + 4y(x) sin(x)
+--R    *
+--R        ,
+--R       y (x)
+--R
+--R   + 
+--R        3          4                2
+--R     (4x sin(x) + x cos(x))sin(y(x))
+--R   + 
+--R             2      2     2    2                              4            2
+--R     (4x y(x) sin(x)  + 4x y(x) cos(x)sin(x))sin(y(x)) + 3y(x) cos(x)sin(x)
+--R                                                     Type: Expression Integer
+--E 25
+
+--S 26 of 97
+ode358 := D(y(x),x)*sin(y(x))*cos(x)+cos(y(x))*sin(x)
+--R 
+--R
+--R                         ,
+--R   (26)  cos(x)sin(y(x))y (x) + sin(x)cos(y(x))
+--R
+--R                                                     Type: Expression Integer
+--E 26
+
+--S 27 of 97
+yx:=solve(ode358,y,x)
+--R 
+--R
+--R   (27)  - cos(x)cos(y(x))
+--R                                          Type: Union(Expression Integer,...)
+--E 27
+
+--S 28 of 97
+ode358expr := D(yx,x)*sin(yx)*cos(x)+cos(yx)*sin(x)
+--R 
+--R
+--R   (28)
+--R              2          ,
+--R     (- cos(x) sin(y(x))y (x) - cos(x)sin(x)cos(y(x)))sin(cos(x)cos(y(x)))
+--R
+--R   + 
+--R     sin(x)cos(cos(x)cos(y(x)))
+--R                                                     Type: Expression Integer
+--E 28
+
+--S 29 of 97
+ode361 := (x*sin(x*y(x))+cos(x+y(x))-sin(y(x)))*D(y(x),x)+_
+              y(x)*sin(x*y(x))+cos(x+y(x))+cos(x)
+--R 
+--R
+--R   (29)
+--R                                                 ,
+--R     (x sin(x y(x)) - sin(y(x)) + cos(y(x) + x))y (x) + y(x)sin(x y(x))
+--R
+--R   + 
+--R     cos(y(x) + x) + cos(x)
+--R                                                     Type: Expression Integer
+--E 29
+
+--S 30 of 97
+yx:=solve(ode361,y,x)
+--R 
+--R
+--R   (30)
+--R          y(x) 2                     y(x)                  y(x)
+--R     2cos(----) sin(y(x) + x) - 2cos(----)cos(y(x) + x)sin(----) - cos(x y(x))
+--R            2                          2                     2
+--R   + 
+--R     cos(y(x))
+--R                                          Type: Union(Expression Integer,...)
+--E 30
+
+--S 31 of 97
+ode361expr:=(x*sin(x*yx)+cos(x+yx)-sin(yx))*D(yx,x)+_
+              yx*sin(x*yx)+cos(x+yx)+cos(x)
+--R 
+--R
+--R   (31)
+--R              2                                               y(x) 2
+--R             x sin(x y(x)) - x sin(y(x)) + x cos(y(x) + x)sin(----)
+--R                                                                2
+--R           + 
+--R                   y(x) 2
+--R             x cos(----) cos(y(x) + x)
+--R                     2
+--R        *
+--R            ,
+--R           y (x)
+--R
+--R       + 
+--R                                     y(x)     y(x)         y(x) 2
+--R         x y(x)sin(x y(x)) + (2x cos(----)sin(----) + 2cos(----) )sin(y(x) + x)
+--R                                       2        2            2
+--R       + 
+--R                y(x)                  y(x)
+--R         - 2cos(----)cos(y(x) + x)sin(----) - cos(x y(x))
+--R                  2                     2
+--R       + 
+--R                y(x) 2
+--R         2x cos(----) cos(y(x) + x) + cos(y(x))
+--R                  2
+--R    *
+--R       sin
+--R                   y(x) 2                       y(x)                  y(x)
+--R            2x cos(----) sin(y(x) + x) - 2x cos(----)cos(y(x) + x)sin(----)
+--R                     2                            2                     2
+--R          + 
+--R            - x cos(x y(x)) + x cos(y(x))
+--R   + 
+--R                                                            y(x) 2
+--R             - x sin(x y(x)) + sin(y(x)) - cos(y(x) + x)sin(----)
+--R                                                              2
+--R           + 
+--R                   y(x) 2
+--R             - cos(----) cos(y(x) + x)
+--R                     2
+--R        *
+--R            ,
+--R           y (x)
+--R
+--R       + 
+--R                                  y(x)     y(x)
+--R         - y(x)sin(x y(x)) - 2cos(----)sin(----)sin(y(x) + x)
+--R                                    2        2
+--R       + 
+--R                y(x) 2
+--R         - 2cos(----) cos(y(x) + x)
+--R                  2
+--R    *
+--R       sin
+--R                 y(x) 2                     y(x)                  y(x)
+--R            2cos(----) sin(y(x) + x) - 2cos(----)cos(y(x) + x)sin(----)
+--R                   2                          2                     2
+--R          + 
+--R            - cos(x y(x)) + cos(y(x))
+--R   + 
+--R                                                          y(x) 2
+--R             x sin(x y(x)) - sin(y(x)) + cos(y(x) + x)sin(----)
+--R                                                            2
+--R           + 
+--R                 y(x) 2
+--R             cos(----) cos(y(x) + x)
+--R                   2
+--R        *
+--R            ,
+--R           y (x)
+--R
+--R       + 
+--R                                y(x)     y(x)
+--R         y(x)sin(x y(x)) + 2cos(----)sin(----)sin(y(x) + x)
+--R                                  2        2
+--R       + 
+--R              y(x) 2
+--R         2cos(----) cos(y(x) + x) + 1
+--R                2
+--R    *
+--R       cos
+--R                 y(x) 2                     y(x)                  y(x)
+--R            2cos(----) sin(y(x) + x) - 2cos(----)cos(y(x) + x)sin(----)
+--R                   2                          2                     2
+--R          + 
+--R            - cos(x y(x)) + cos(y(x)) + x
+--R   + 
+--R     cos(x)
+--R                                                     Type: Expression Integer
+--E 31
+
+--S 32 of 97
+ode363 := (x*D(y(x),x)-y(x))*cos(y(x)/x)**2+x
+--R 
+--R
+--R               y(x) 2 ,              y(x) 2
+--R   (32)  x cos(----) y (x) - y(x)cos(----)  + x
+--R                 x                     x
+--R                                                     Type: Expression Integer
+--E 32
+
+--S 33 of 97
+yx:=solve(ode363,y,x)
+--R 
+--R
+--R               y(x)     y(x)
+--R         x cos(----)sin(----) + 2x log(x) + y(x)
+--R                 x        x
+--R   (33)  ---------------------------------------
+--R                            2x
+--R                                          Type: Union(Expression Integer,...)
+--E 33
+
+--S 34 of 97
+ode363expr := (x*D(yx,x)-yx)*cos(yx/x)**2+x
+--R 
+--R
+--R   (34)
+--R                    y(x) 2         y(x) 2      ,              y(x) 2
+--R           (- x sin(----)  + x cos(----)  + x)y (x) + y(x)sin(----)
+--R                      x              x                          x
+--R         + 
+--R                   y(x)     y(x)            y(x) 2
+--R           - x cos(----)sin(----) - y(x)cos(----)  - 2x log(x) - 2y(x) + 2x
+--R                     x        x               x
+--R      *
+--R                   y(x)     y(x)                     2
+--R             x cos(----)sin(----) + 2x log(x) + y(x)
+--R                     x        x
+--R         cos(---------------------------------------)
+--R                                 2
+--R                               2x
+--R     + 
+--R         2
+--R       2x
+--R  /
+--R     2x
+--R                                                     Type: Expression Integer
+--E 34
+
+--S 35 of 97
+ode364 := (y(x)*sin(y(x)/x)-x*cos(y(x)/x))*x*D(y(x),x)-_
+            (x*cos(y(x)/x)+y(x)*sin(y(x)/x))*y(x)
+--R 
+--R
+--R   (35)
+--R              y(x)     2    y(x)   ,          2    y(x)              y(x)
+--R   (x y(x)sin(----) - x cos(----))y (x) - y(x) sin(----) - x y(x)cos(----)
+--R                x             x                      x                 x
+--R                                                     Type: Expression Integer
+--E 35
+
+--S 36 of 97
+yx:=solve(ode364,y,x)
+--R 
+--R
+--R                     y(x)
+--R   (36)  - x y(x)cos(----)
+--R                       x
+--R                                          Type: Union(Expression Integer,...)
+--E 36
+
+--S 37 of 97
+ode364expr := (yx*sin(yx/x)-x*cos(yx/x))*x*D(yx,x)-_
+                (x*cos(yx/x)+yx*sin(yx/x))*yx
+--R 
+--R
+--R   (37)
+--R           2    2    y(x)     y(x)     3        y(x) 2  ,
+--R         (x y(x) cos(----)sin(----) - x y(x)cos(----) )y (x)
+--R                       x        x                 x
+--R       + 
+--R                 3    y(x)     y(x)
+--R         - x y(x) cos(----)sin(----)
+--R                        x        x
+--R    *
+--R                   y(x)
+--R       sin(y(x)cos(----))
+--R                     x
+--R   + 
+--R             2        y(x)     3    y(x)   ,            2    y(x)
+--R         (- x y(x)sin(----) + x cos(----))y (x) + x y(x) sin(----)
+--R                        x             x                        x
+--R       + 
+--R           2        y(x)
+--R         2x y(x)cos(----)
+--R                      x
+--R    *
+--R                   y(x)
+--R       cos(y(x)cos(----))
+--R                     x
+--R                                                     Type: Expression Integer
+--E 37
+
+--S 38 of 97
+ode434 := D(y(x),x)-1
+--R 
+--R
+--R          ,
+--R   (38)  y (x) - 1
+--R
+--R                                                     Type: Expression Integer
+--E 38
+
+--S 39 of 97
+ode434a:=solve(ode434,y,x)
+--R 
+--R
+--R   (39)  [particular= x,basis= [1]]
+--RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+--E 39
+
+--S 40 of 97
+yx:=ode434a.particular
+--R 
+--R
+--R   (40)  x
+--R                                                     Type: Expression Integer
+--E 40
+
+--S 41 of 97
+ode434expr := D(yx,x)-1
+--R 
+--R
+--R   (41)  0
+--R                                                     Type: Expression Integer
+--E 41
+
+--S 42 of 97
+ode683 := (D(y(x),x) = y(x)*(-1+log(x*(x+1))*y(x)*x**4-log(x*(x+1))*x**3)/x)
+--R 
+--R
+--R                  4    2    3          2
+--R          ,     (x y(x)  - x y(x))log(x  + x) - y(x)
+--R   (42)  y (x)= ------------------------------------
+--R                                  x
+--R                                            Type: Equation Expression Integer
+--E 42
+
+--S 43 of 97
+solve(ode683,y,x)
+--R 
+--R
+--R                           - x y(x) + 1
+--R   (43)  -----------------------------------------------
+--R                           3     2          3     2
+--R                         6x log(x  + x) - 4x  + 3x  - 6x
+--R                         -------------------------------
+--R               3+-----+                 18
+--R         x y(x)\|x + 1 %e
+--R                                          Type: Union(Expression Integer,...)
+--E 43
+
+--S 44 of 97
+ode703 := (D(y(x),x) = y(x)*(1-x+y(x)*x**2*log(x)+y(x)*x**3-x*log(x)-x**2)/_
+            (x-1)/x)
+--R 
+--R
+--R                  2    2                    3    2       2
+--R          ,     (x y(x)  - x y(x))log(x) + x y(x)  + (- x  - x + 1)y(x)
+--R   (44)  y (x)= -------------------------------------------------------
+--R                                          2
+--R                                         x  - x
+--R                                            Type: Equation Expression Integer
+--E 44
+
+--S 45 of 97
+solve(ode703,y,x)
+--R 
+--R
+--R                 - x y(x) + 1
+--R   (45)  ----------------------------
+--R           2           - dilog(x) + x
+--R         (x  - x)y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 45
+
+--S 46 of 97
+ode714 := (D(y(x),x) = -y(x)*(-log(1/x)+exp(x)+y(x)*x**2*log(x)+_
+            y(x)*x**3-x*log(x)-x**2)/(-log(1/x)+exp(x))/x)
+--R 
+--R
+--R   (46)
+--R            2    2                           1          x    3    2    2
+--R          (x y(x)  - x y(x))log(x) - y(x)log(-) + y(x)%e  + x y(x)  - x y(x)
+--R    ,                                        x
+--R   y (x)= ------------------------------------------------------------------
+--R                                         1        x
+--R                                   x log(-) - x %e
+--R                                         x
+--R                                            Type: Equation Expression Integer
+--E 46
+
+--S 47 of 97
+solve(ode714,y,x)
+--R 
+--R
+--R   (47)
+--R       -
+--I                                         1      %I     2
+--I                     x %I log(%I) + log(--) - %e   + %I
+--I                   ++                   %I
+--I                   |   --------------------------------- d%I
+--I                  ++                  1         %I
+--I                              %I log(--) - %I %e
+--I                                     %I
+--R            y(x)%e
+--R         *
+--R            INTSIGN
+--R           ,
+--R               x
+--R           ,
+--R                                                        2
+--I                                       - %I log(%I) - %I
+--R                 --------------------------------------------------------------
+--I                                                           1      %I     2
+--I                                      %I %I log(%I) + log(--) - %e   + %I
+--I                                    ++                    %I
+--I                                    |    --------------------------------- d%I
+--I                                   ++                   1         %I
+--I                                                %I log(--) - %I %e
+--I                       1      %I                       %I
+--R                 (log(--) - %e  )%e
+--I                      %I
+--R              *
+--I                 d%I
+--R     + 
+--R       1
+--R  /
+--I                                  1      %I     2
+--I              x %I log(%I) + log(--) - %e   + %I
+--I            ++                   %I
+--I            |   --------------------------------- d%I
+--I           ++                  1         %I
+--I                       %I log(--) - %I %e
+--I                              %I
+--R     y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 47
+
+--S 48 of 97
+ode719 := (D(y(x),x) = y(x)*(-exp(x)+log(2*x)*x**2*y(x)-log(2*x)*x)/x/exp(x))
+--R 
+--R
+--R                  2    2                          x
+--R          ,     (x y(x)  - x y(x))log(2x) - y(x)%e
+--R   (48)  y (x)= -----------------------------------
+--R                                   x
+--R                               x %e
+--R                                            Type: Equation Expression Integer
+--E 48
+
+--S 49 of 97
+solve(ode719,y,x)
+--R 
+--R
+--R                    - x y(x) + 1
+--R   (49)  ----------------------------------
+--I                  x                 %I
+--I                ++  %I log(2%I) + %e
+--I                |   ------------------ d%I
+--I               ++              %I
+--I                          %I %e
+--R         y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 49
+
+--S 50 of 97
+ode736 := (D(y(x),x) = (2*x**2+2*x+x**4-2*y(x)*x**2-1+y(x)**2)/(x+1))
+--R 
+--R
+--R                    2     2        4     2
+--R          ,     y(x)  - 2x y(x) + x  + 2x  + 2x - 1
+--R   (50)  y (x)= -----------------------------------
+--R                               x + 1
+--R                                            Type: Equation Expression Integer
+--E 50
+
+--S 51 of 97
+solve(ode736,y,x)
+--R 
+--R
+--R           2                  4     3     2
+--R         (x  + 2x - 2)y(x) - x  - 2x  + 3x  + 2x + 4
+--R   (51)  -------------------------------------------
+--R                                 2
+--R                       2y(x) - 2x  - 2
+--R                                          Type: Union(Expression Integer,...)
+--E 51
+
+--S 52 of 97
+ode765 := (D(y(x),x) = y(x)*(-1-log((x-1)*(1+x)/x)+_
+            log((x-1)*(1+x)/x)*x*y(x))/x)
+--R 
+--R
+--R                                     2
+--R                       2            x  - 1
+--R                (x y(x)  - y(x))log(------) - y(x)
+--R          ,                            x
+--R   (52)  y (x)= ----------------------------------
+--R                                 x
+--R                                            Type: Equation Expression Integer
+--E 52
+
+--S 53 of 97
+solve(ode765,y,x)
+--R 
+--R
+--R                   - x y(x) + 1
+--R   (53)  --------------------------------
+--R                          2
+--I                        %I  - 1
+--R                  x log(-------) + 1
+--I                ++         %I
+--I                |   ---------------- d%I
+--I               ++          %I
+--R         y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 53
+
+--S 54 of 97
+ode766 := (D(y(x),x) = y(x)*(-log(x)-x*log((x-1)*(1+x)/x)+_
+            log((x-1)*(1+x)/x)*x**2*y(x))/x/log(x))
+--R 
+--R
+--R                                                      2
+--R                                 2    2              x  - 1
+--R                - y(x)log(x) + (x y(x)  - x y(x))log(------)
+--R          ,                                             x
+--R   (54)  y (x)= --------------------------------------------
+--R                                  x log(x)
+--R                                            Type: Equation Expression Integer
+--E 54
+
+--S 55 of 97
+solve(ode766,y,x)
+--R 
+--R
+--R   (55)
+--R       -
+--R                                          2
+--I                                        %I  - 1
+--I                     x log(%I) + %I log(-------)
+--I                   ++                      %I
+--I                   |   ------------------------- d%I
+--I                  ++           %I log(%I)
+--R            y(x)%e
+--R         *
+--R                                           2
+--I                                         %I  - 1
+--I               x                  %I log(-------)
+--I             ++                             %I
+--I             |   - --------------------------------------------- d%I
+--R            ++                                       2
+--I                                                   %I  - 1
+--I                               %I log(%I) + %I log(-------)
+--I                             ++                       %I
+--I                             |    ------------------------- d%I
+--I                            ++            %I log(%I)
+--I                   log(%I)%e
+--R     + 
+--R       1
+--R  /
+--R                                   2
+--I                                 %I  - 1
+--I              x log(%I) + %I log(-------)
+--I            ++                      %I
+--I            |   ------------------------- d%I
+--I           ++           %I log(%I)
+--R     y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 55
+
+--S 56 of 97
+ode776 := (D(y(x),x) = y(x)*(-log(1/x)-log((x**2+1)/x)*x+_
+              log((x**2+1)/x)*x**2*y(x))/x/log(1/x))
+--R 
+--R
+--R                                       2
+--R                  2    2              x  + 1            1
+--R                (x y(x)  - x y(x))log(------) - y(x)log(-)
+--R          ,                              x              x
+--R   (56)  y (x)= ------------------------------------------
+--R                                       1
+--R                                 x log(-)
+--R                                       x
+--R                                            Type: Equation Expression Integer
+--E 56
+
+--S 57 of 97
+solve(ode776,y,x)
+--R 
+--R
+--R                        - x y(x) + 1
+--R   (57)  -----------------------------------------
+--R                             2
+--I                           %I  + 1         1
+--I                  x %I log(-------) + log(--)
+--I                ++            %I          %I
+--I                |   ------------------------- d%I
+--R               ++                   1
+--I                            %I log(--)
+--I                                   %I
+--R         y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 57
+
+--S 58 of 97
+ode872 := (D(y(x),x) = 1/5*(-30*y(x)*x**3+12*x**6+70*x**(7/2)-30*x**3-_
+            25*y(x)*x**(1/2)+50*x-25*x**(1/2)-25)/_
+            (-5*y(x)+2*x**3+10*x**(1/2)-5)/x)
+--R 
+--R
+--R                               3       +-+      3          6      3
+--R          ,     (- 25y(x) + 70x  - 25)\|x  - 30x y(x) + 12x  - 30x  + 50x - 25
+--R   (58)  y (x)= --------------------------------------------------------------
+--R                                    +-+                 4
+--R                                50x\|x  - 25x y(x) + 10x  - 25x
+--R                                            Type: Equation Expression Integer
+--E 58
+
+--S 59 of 97
+solve(ode872,y,x)
+--R 
+--R
+--R   (59)
+--R               +-+                  3        +-+         2       3
+--R       100log(\|x ) + (100y(x) - 40x  + 100)\|x  - 25y(x)  + (20x  - 50)y(x)
+--R     + 
+--R           6      3
+--R       - 4x  + 20x  - 100x
+--R  /
+--R     2
+--R                                          Type: Union(Expression Integer,...)
+--E 59
+
+--S 60 of 97
+ode555 := sqrt(D(y(x),x)**2+1)+x*D(y(x),x)-y(x)
+--R 
+--R
+--R          +----------+
+--R          | ,   2          ,
+--R   (60)   |y (x)  + 1  + xy (x) - y(x)
+--R         \|
+--R                                                     Type: Expression Integer
+--E 60
+
+--S 61 of 97
+solve(ode555,y,x)
+--R 
+--R
+--R               +-----------+
+--R               | ,    2
+--I            x  |y (%I)  + 1  - y(x)
+--R          ++  \|
+--I   (61)   |   --------------------- d%I
+--R         ++              2
+--I                       %I
+--R                                          Type: Union(Expression Integer,...)
+--E 61
+
+--S 62 of 97
+ode557 := x*(sqrt(D(y(x),x)**2+1)+D(y(x),x))-y(x)
+--R 
+--R
+--R           +----------+
+--R           | ,   2          ,
+--R   (62)  x |y (x)  + 1  + xy (x) - y(x)
+--R          \|
+--R                                                     Type: Expression Integer
+--E 62
+
+--S 63 of 97
+solve(ode557,y,x)
+--R 
+--R
+--R                 +-----------+
+--R                 | ,    2
+--I            x %I |y (%I)  + 1  - y(x)
+--R          ++    \|
+--I   (63)   |   ----------------------- d%I
+--R         ++               2
+--I                        %I
+--R                                          Type: Union(Expression Integer,...)
+--E 63
+
+--S 64 of 97
+ode558 := a*x*sqrt(D(y(x),x)**2+1)+x*D(y(x),x)-y(x)
+--R 
+--R
+--R             +----------+
+--R             | ,   2          ,
+--R   (64)  a x |y (x)  + 1  + xy (x) - y(x)
+--R            \|
+--R                                                     Type: Expression Integer
+--E 64
+
+--S 65 of 97
+solve(ode558,y,x)
+--R 
+--R
+--R                   +-----------+
+--R                   | ,    2
+--I            x %I a |y (%I)  + 1  - y(x)
+--R          ++      \|
+--I   (65)   |   ------------------------- d%I
+--R         ++                2
+--I                         %I
+--R                                          Type: Union(Expression Integer,...)
+--E 65
+
+--S 66 of 97
+ode562 := a*(D(y(x),x)**3+1)**(1/3)+b*x*D(y(x),x)-y(x)
+--R 
+--R
+--R            +----------+
+--R            | ,   3           ,
+--R   (66)  a 3|y (x)  + 1 + b xy (x) - y(x)
+--R           \|
+--R                                                     Type: Expression Integer
+--E 66
+
+--S 67 of 97
+solve(ode562,y,x)
+--R 
+--R
+--I                    log(%I)                         log(%I)
+--R                  - -------  +-----------+        - -------
+--R                       b     | ,    3                  b
+--I            x a %e          3|y (%I)  + 1 - y(x)%e
+--R          ++                \|
+--I   (67)   |   --------------------------------------------- d%I
+--I         ++                         %I
+--R                                          Type: Union(Expression Integer,...)
+--E 67
+
+--S 68 of 97
+ode563 := log(D(y(x),x))+x*D(y(x),x)+a*y(x)+b
+--R 
+--R
+--R              ,         ,
+--R   (68)  log(y (x)) + xy (x) + a y(x) + b
+--R
+--R                                                     Type: Expression Integer
+--E 68
+
+--S 69 of 97
+solve(ode563,y,x)
+--R 
+--R
+--I                a log(%I)     ,                      a log(%I)
+--I            x %e         log(y (%I)) + (a y(x) + b)%e
+--R          ++
+--I   (69)   |   ------------------------------------------------ d%I
+--I         ++                          %I
+--R                                          Type: Union(Expression Integer,...)
+--E 69
+
+--S 70 of 97
+ode564 := log(D(y(x),x))+a*(x*D(y(x),x)-y(x))
+--R 
+--R
+--R              ,           ,
+--R   (70)  log(y (x)) + a xy (x) - a y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 70
+
+--S 71 of 97
+solve(ode564,y,x)
+--R 
+--R
+--R                   ,
+--I            x log(y (%I)) - a y(x)
+--R          ++
+--I   (71)   |   -------------------- d%I
+--R         ++              2
+--I                       %I
+--R                                          Type: Union(Expression Integer,...)
+--E 71
+
+--S 72 of 97
+ode571 := a*x**n*f(D(y(x),x))+x*D(y(x),x)-y(x)
+--R 
+--R
+--R            n   ,         ,
+--R   (72)  a x f(y (x)) + xy (x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 72
+
+--S 73 of 97
+solve(ode571,y,x)
+--R 
+--R
+--R                  n   ,
+--I            x a %I f(y (%I)) - y(x)
+--R          ++
+--I   (73)   |   --------------------- d%I
+--R         ++              2
+--I                       %I
+--R                                          Type: Union(Expression Integer,...)
+--E 73
+
+--S 74 of 97
+ode573 := f(x*D(y(x),x)**2)+2*x*D(y(x),x)-y(x)
+--R 
+--R
+--R              ,   2       ,
+--R   (74)  f(x y (x) ) + 2xy (x) - y(x)
+--R
+--R                                                     Type: Expression Integer
+--E 74
+
+--S 75 of 97
+solve(ode573,y,x)
+--R 
+--R
+--R                    ,    2
+--I            x f(%I y (%I) ) - y(x)
+--R          ++
+--I   (75)   |   -------------------- d%I
+--R         ++             +--+
+--I                     %I\|%I
+--R                                          Type: Union(Expression Integer,...)
+--E 75
+
+--S 76 of 97
+ode683 := (D(y(x),x) = y(x)*(-1+log(x*(x+1))*y(x)*x**4-log(x*(x+1))*x**3)/x)
+--R 
+--R
+--R                  4    2    3          2
+--R          ,     (x y(x)  - x y(x))log(x  + x) - y(x)
+--R   (76)  y (x)= ------------------------------------
+--R                                  x
+--R                                            Type: Equation Expression Integer
+--E 76
+
+--S 77 of 97
+solve(ode683,y,x)
+--R 
+--R
+--R                           - x y(x) + 1
+--R   (77)  -----------------------------------------------
+--R                           3     2          3     2
+--R                         6x log(x  + x) - 4x  + 3x  - 6x
+--R                         -------------------------------
+--R               3+-----+                 18
+--R         x y(x)\|x + 1 %e
+--R                                          Type: Union(Expression Integer,...)
+--E 77
+
+--S 78 of 97
+ode703 := (D(y(x),x) = y(x)*(1-x+y(x)*x**2*log(x)+y(x)*x**3-x*log(x)-x**2)/_
+            (x-1)/x)
+--R 
+--R
+--R                  2    2                    3    2       2
+--R          ,     (x y(x)  - x y(x))log(x) + x y(x)  + (- x  - x + 1)y(x)
+--R   (78)  y (x)= -------------------------------------------------------
+--R                                          2
+--R                                         x  - x
+--R                                            Type: Equation Expression Integer
+--E 78
+
+--S 79 of 97
+solve(ode703,y,x)
+--R 
+--R
+--R                 - x y(x) + 1
+--R   (79)  ----------------------------
+--R           2           - dilog(x) + x
+--R         (x  - x)y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 79
+
+--S 80 of 97
+ode714 := (D(y(x),x) = -y(x)*(-log(1/x)+exp(x)+y(x)*x**2*log(x)+_
+           y(x)*x**3-x*log(x)-x**2)/(-log(1/x)+exp(x))/x)
+--R 
+--R
+--R   (80)
+--R            2    2                           1          x    3    2    2
+--R          (x y(x)  - x y(x))log(x) - y(x)log(-) + y(x)%e  + x y(x)  - x y(x)
+--R    ,                                        x
+--R   y (x)= ------------------------------------------------------------------
+--R                                         1        x
+--R                                   x log(-) - x %e
+--R                                         x
+--R                                            Type: Equation Expression Integer
+--E 80
+
+--S 81 of 97
+solve(ode714,y,x)
+--R 
+--R
+--R   (81)
+--R       -
+--I                                         1      %I     2
+--I                     x %I log(%I) + log(--) - %e   + %I
+--I                   ++                   %I
+--I                   |   --------------------------------- d%I
+--I                  ++                  1         %I
+--I                              %I log(--) - %I %e
+--I                                     %I
+--R            y(x)%e
+--R         *
+--R            INTSIGN
+--R           ,
+--R               x
+--R           ,
+--R                                                        2
+--I                                       - %I log(%I) - %I
+--R                 --------------------------------------------------------------
+--I                                                           1      %I     2
+--I                                      %I %I log(%I) + log(--) - %e   + %I
+--I                                    ++                    %I
+--I                                    |    --------------------------------- d%I
+--I                                   ++                   1         %I
+--I                                                %I log(--) - %I %e
+--I                       1      %I                       %I
+--R                 (log(--) - %e  )%e
+--I                      %I
+--R              *
+--I                 d%I
+--R     + 
+--R       1
+--R  /
+--I                                  1      %I     2
+--I              x %I log(%I) + log(--) - %e   + %I
+--I            ++                   %I
+--I            |   --------------------------------- d%I
+--I           ++                  1         %I
+--I                       %I log(--) - %I %e
+--I                              %I
+--R     y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 81
+
+--S 82 of 97
+ode719 := (D(y(x),x) = y(x)*(-exp(x)+log(2*x)*x**2*y(x)-log(2*x)*x)/x/exp(x))
+--R 
+--R
+--R                  2    2                          x
+--R          ,     (x y(x)  - x y(x))log(2x) - y(x)%e
+--R   (82)  y (x)= -----------------------------------
+--R                                   x
+--R                               x %e
+--R                                            Type: Equation Expression Integer
+--E 82
+
+--S 83 of 97
+solve(ode719,y,x)
+--R 
+--R
+--R                    - x y(x) + 1
+--R   (83)  ----------------------------------
+--I                  x                 %I
+--I                ++  %I log(2%I) + %e
+--I                |   ------------------ d%I
+--I               ++              %I
+--I                          %I %e
+--R         y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 83
+
+--S 84 of 97
+ode736 := (D(y(x),x) = (2*x**2+2*x+x**4-2*y(x)*x**2-1+y(x)**2)/(x+1))
+--R 
+--R
+--R                    2     2        4     2
+--R          ,     y(x)  - 2x y(x) + x  + 2x  + 2x - 1
+--R   (84)  y (x)= -----------------------------------
+--R                               x + 1
+--R                                            Type: Equation Expression Integer
+--E 84
+
+--S 85 of 97
+solve(ode736,y,x)
+--R 
+--R
+--R           2                  4     3     2
+--R         (x  + 2x - 2)y(x) - x  - 2x  + 3x  + 2x + 4
+--R   (85)  -------------------------------------------
+--R                                 2
+--R                       2y(x) - 2x  - 2
+--R                                          Type: Union(Expression Integer,...)
+--E 85
+
+--S 86 of 97
+ode765 := (D(y(x),x) = y(x)*(-1-log((x-1)*(1+x)/x)+_
+            log((x-1)*(1+x)/x)*x*y(x))/x)
+--R 
+--R
+--R                                     2
+--R                       2            x  - 1
+--R                (x y(x)  - y(x))log(------) - y(x)
+--R          ,                            x
+--R   (86)  y (x)= ----------------------------------
+--R                                 x
+--R                                            Type: Equation Expression Integer
+--E 86
+
+--S 87 of 97
+solve(ode765,y,x)
+--R 
+--R
+--R                   - x y(x) + 1
+--R   (87)  --------------------------------
+--R                          2
+--I                        %I  - 1
+--R                  x log(-------) + 1
+--I                ++         %I
+--I                |   ---------------- d%I
+--I               ++          %I
+--R         y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 87
+
+--S 88 of 97
+ode766 := (D(y(x),x) = y(x)*(-log(x)-x*log((x-1)*(1+x)/x)+_
+           log((x-1)*(1+x)/x)*x**2*y(x))/x/log(x))
+--R 
+--R
+--R                                                      2
+--R                                 2    2              x  - 1
+--R                - y(x)log(x) + (x y(x)  - x y(x))log(------)
+--R          ,                                             x
+--R   (88)  y (x)= --------------------------------------------
+--R                                  x log(x)
+--R                                            Type: Equation Expression Integer
+--E 88
+
+--S 89 of 97
+solve(ode766,y,x)
+--R 
+--R
+--R   (89)
+--R       -
+--R                                          2
+--I                                        %I  - 1
+--I                     x log(%I) + %I log(-------)
+--I                   ++                      %I
+--I                   |   ------------------------- d%I
+--I                  ++           %I log(%I)
+--R            y(x)%e
+--R         *
+--R                                           2
+--I                                         %I  - 1
+--I               x                  %I log(-------)
+--I             ++                             %I
+--I             |   - --------------------------------------------- d%I
+--R            ++                                       2
+--I                                                   %I  - 1
+--I                               %I log(%I) + %I log(-------)
+--I                             ++                       %I
+--I                             |    ------------------------- d%I
+--I                            ++            %I log(%I)
+--I                   log(%I)%e
+--R     + 
+--R       1
+--R  /
+--R                                   2
+--I                                 %I  - 1
+--I              x log(%I) + %I log(-------)
+--I            ++                      %I
+--I            |   ------------------------- d%I
+--I           ++           %I log(%I)
+--R     y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 89
+
+--S 90 of 97
+ode776 := (D(y(x),x) = y(x)*(-log(1/x)-log((x**2+1)/x)*x+_
+            log((x**2+1)/x)*x**2*y(x))/x/log(1/x))
+--R 
+--R
+--R                                       2
+--R                  2    2              x  + 1            1
+--R                (x y(x)  - x y(x))log(------) - y(x)log(-)
+--R          ,                              x              x
+--R   (90)  y (x)= ------------------------------------------
+--R                                       1
+--R                                 x log(-)
+--R                                       x
+--R                                            Type: Equation Expression Integer
+--E 90
+
+--S 91 of 97
+solve(ode776,y,x)
+--R 
+--R
+--R                        - x y(x) + 1
+--R   (91)  -----------------------------------------
+--R                             2
+--I                           %I  + 1         1
+--I                  x %I log(-------) + log(--)
+--I                ++            %I          %I
+--I                |   ------------------------- d%I
+--R               ++                   1
+--I                            %I log(--)
+--I                                   %I
+--R         y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 91
+
+--S 92 of 97
+ode872 := (D(y(x),x) = 1/5*(-30*y(x)*x**3+12*x**6+70*x**(7/2)-30*x**3-_
+            25*y(x)*x**(1/2)+50*x-25*x**(1/2)-25)/(-5*y(x)+2*x**3+_
+            10*x**(1/2)-5)/x)
+--R 
+--R
+--R                               3       +-+      3          6      3
+--R          ,     (- 25y(x) + 70x  - 25)\|x  - 30x y(x) + 12x  - 30x  + 50x - 25
+--R   (92)  y (x)= --------------------------------------------------------------
+--R                                    +-+                 4
+--R                                50x\|x  - 25x y(x) + 10x  - 25x
+--R                                            Type: Equation Expression Integer
+--E 92
+
+--S 93 of 97
+solve(ode872,y,x)
+--R 
+--R
+--R   (93)
+--R               +-+                  3        +-+         2       3
+--R       100log(\|x ) + (100y(x) - 40x  + 100)\|x  - 25y(x)  + (20x  - 50)y(x)
+--R     + 
+--R           6      3
+--R       - 4x  + 20x  - 100x
+--R  /
+--R     2
+--R                                          Type: Union(Expression Integer,...)
+--E 93
+
+--S 94 of 97
+ode956 := (D(y(x),x) = 1/(1+log(x))*y(x)*(-1-x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*x**2-x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*x**2*log(x)+x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*x**2*y(x)+2*x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*x**2*y(x)*log(x)+x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*x**2*y(x)*log(x)**2)/x)
+--R 
+--R
+--R   (94)
+--R    ,
+--R   y (x) =
+--R
+--R             2    2      2      2    2    2               2    2    2
+--R           (x y(x) log(x)  + (2x y(x)  - x y(x))log(x) + x y(x)  - x y(x))
+--R        *
+--R                     2
+--R              2log(x)        2
+--R             ---------- ----------
+--R             log(x) + 1 log(x) + 1
+--R           %e          x
+--R       + 
+--R         - y(x)
+--R    /
+--R       x log(x) + x
+--R                                            Type: Equation Expression Integer
+--E 94
+
+--S 95 of 97
+solve(ode956,y,x)
+--R 
+--R
+--R          - y(x)log(x) - y(x) + 1
+--R   (95)  -------------------------
+--R                4                4
+--R               x                x
+--R               --               --
+--R                4                4
+--R         y(x)%e  log(x) + y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 95
+
+--S 96 of 97
+ode957 := (D(y(x),x) = 1/(1+log(x))*y(x)*(-1-x**3*x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)-x**3*x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*log(x)+x**3*x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*y(x)+2*x**3*x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*y(x)*log(x)+x**3*x**(2/(1+log(x)))*_
+            exp(2/(1+log(x))*log(x)**2)*y(x)*log(x)**2)/x)
+--R 
+--R
+--R   (96)
+--R    ,
+--R   y (x) =
+--R
+--R             3    2      2      3    2    3               3    2    3
+--R           (x y(x) log(x)  + (2x y(x)  - x y(x))log(x) + x y(x)  - x y(x))
+--R        *
+--R                     2
+--R              2log(x)        2
+--R             ---------- ----------
+--R             log(x) + 1 log(x) + 1
+--R           %e          x
+--R       + 
+--R         - y(x)
+--R    /
+--R       x log(x) + x
+--R                                            Type: Equation Expression Integer
+--E 96
+
+--S 97 of 97
+solve(ode957,y,x)
+--R 
+--R
+--R          - y(x)log(x) - y(x) + 1
+--R   (97)  -------------------------
+--R                5                5
+--R               x                x
+--R               --               --
+--R                5                5
+--R         y(x)%e  log(x) + y(x)%e
+--R                                          Type: Union(Expression Integer,...)
+--E 97
+)spool
+)lisp (bye)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} {\bf http://www.cs.uwaterloo.ca/$\tilde{}$ecterrab/odetools.html}
+\end{thebibliography}
+\end{document}

\start
Date: Wed, 10 Oct 2007 07:03:11 -0700
From: Arthur Ralfs
To: Tim Daly
Subject: axserver patches

Tim,

These patches should make the versions of axserver.spad.pamphlet
and http.lisp on silver the same as what I'm currently working on.

Arthur

--------------040100020602050601060703
 name="axserver.patch"
 filename="axserver.patch"

--- axserver.spad.pamphlet	2007-10-08 23:28:38.000000000 -0700
+++ axserver.spad.pamphlet.new	2007-10-10 06:50:31.000000000 -0700
@@ -33,181 +33,214 @@
 )abbrev package AXSERV AxiomServer
 AxiomServer: public == private where
 
-  public == with
+ public == with
 
-    axServer: (Integer, SExpression->Void) -> Void
-    multiServ: SExpression -> Void
-    fileserver: SExpression -> Void
-    axget: SExpression -> Void
-    axpost: SExpression -> Void
-
-
-  private == add
-
-    getFile: (SExpression,String) -> Void
-    getCommand: (SExpression,String) -> Void
-    lastStep: () -> String
-    lastType: () -> String
-    formatMessages: String -> String
-    formatMessages1: String -> String
-
-
-    axServer(port:Integer,serverfunc:SExpression->Void):Void ==
-      WriteLine("socketServer")$Lisp
-      s := SiSock(port,serverfunc)$Lisp
-      -- To listen for just one connection and then close the socket
-      -- uncomment i := 0.
-      i:Integer := 1
-      while (i > 0) repeat
-        if not null?(SiListen(s)$Lisp)$SExpression then
-          w := SiAccept(s)$Lisp
-          serverfunc(w)
---        i := 0
-
-    multiServ(s:SExpression):Void ==
-          WriteLine("multiServ")$Lisp
-          headers:String := ""
-          char:String
-          -- read in the http headers
-          while (char := _
-            STRING(READ_-CHAR_-NO_-HANG(s,NIL$Lisp,'EOF)$Lisp)$Lisp) ^= "EOF"_
-             repeat
-              headers := concat [headers,char]
-          sayTeX$Lisp headers
-          StringMatch("([^ ]*)", headers)$Lisp
-          u:UniversalSegment(Integer)
-          u := segment(MatchBeginning(1)$Lisp+1,_
-                              MatchEnd(1)$Lisp)$UniversalSegment(Integer)
-          reqtype:String := headers.u
-          sayTeX$Lisp  concat ["request type: ",reqtype]
-          if  reqtype = "GET" then
-              StringMatch("GET ([^ ]*)",headers)$Lisp
-              u:UniversalSegment(Integer)
-              u := segment(MatchBeginning(1)$Lisp+1,_
-                              MatchEnd(1)$Lisp)$UniversalSegment(Integer)
-              getFile(s,headers.u)
-          if reqtype = "POST" then
-              StringMatch("command=(.*)$",headers)$Lisp
-              u:UniversalSegment(Integer)
-              u := segment(MatchBeginning(1)$Lisp+1,_
-                               MatchEnd(1)$Lisp)$UniversalSegment(Integer)
-              getCommand(s,headers.u)
-
-    getFile(s:SExpression,pathvar:String):Void ==
-        WriteLine("getFile")$Lisp
-        if not null? PATHNAME_-NAME(PATHNAME(pathvar)$Lisp)$Lisp then
-        -- display contents of file
-            q:=OPEN(pathvar)$Lisp
-        else
-            q:=MAKE_-STRING_-INPUT_-STREAM("Problem with file path")$Lisp
-        file:String := ""
-        while (line :=STRING(READ_-LINE(q,NIL$Lisp,'EOF)$Lisp)$Lisp) ^= "EOF" _
-          repeat
-            file := concat [file,line,STRING(NewLine$Lisp)$Lisp]
-        CLOSE(q)$Lisp
-        file := concat _
-          ["Content-Length: ",string(#file),STRING(NewLine$Lisp)$Lisp,_
-            STRING(NewLine$Lisp)$Lisp,file]
-        file := concat ["Connection: close",STRING(NewLine$Lisp)$Lisp,file]
-        file := concat _
-         ["Content-Type: application/xhtml+xml",STRING(NewLine$Lisp)$Lisp,file]
-        file := concat ["HTTP/1.1 200 OK",STRING(NewLine$Lisp)$Lisp,file]
-        f:=MAKE_-STRING_-INPUT_-STREAM(file)$Lisp
-        SiCopyStream(f,s)$Lisp
-        CLOSE(f)$Lisp
-        CLOSE(s)$Lisp
-
-    getCommand(s:SExpression,command:String):Void ==
-        WriteLine$Lisp concat ["getCommand: ",command]
-        SETQ(tmpmathml$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
-        SETQ(tmpalgebra$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
-        SETQ(savemathml$Lisp, _$texOutputStream$Lisp)$Lisp
-        SETQ(savealgebra$Lisp, _$algebraOutputStream$Lisp)$Lisp
-        SETQ(_$texOutputStream$Lisp,tmpmathml$Lisp)$Lisp
-        SETQ(_$algebraOutputStream$Lisp,tmpalgebra$Lisp)$Lisp
+   axServer: (Integer, SExpression->Void) -> Void
+   multiServ: SExpression -> Void
+
+ private == add
+
+   getFile: (SExpression,String) -> Void
+   getCommand: (SExpression,String) -> Void
+   lastStep: () -> String
+   lastType: () -> String
+   formatMessages: String -> String
+   getContentType: String -> String
+
+
+   axServer(port:Integer,serverfunc:SExpression->Void):Void ==
+     WriteLine("socketServer")$Lisp
+     s := SiSock(port,serverfunc)$Lisp
+     -- To listen for just one connection and then close the socket
+     -- uncomment i := 0.
+     i:Integer := 1
+     while (i > 0) repeat
+       if not null?(SiListen(s)$Lisp)$SExpression then
+         w := SiAccept(s)$Lisp
+         serverfunc(w)
+--         i := 0
+
+   multiServ(s:SExpression):Void ==
+         WriteLine("multiServ begin")$Lisp
+         headers:String := ""
+         char:String
+         -- read in the http headers
+         while (char := STRING(READ_-CHAR_-NO_-HANG(s,NIL$Lisp,'EOF)$Lisp)$Lisp) ^= "EOF" repeat
+             headers := concat [headers,char]
+	 WriteLine(headers)$Lisp
+         StringMatch("([^ ]*)", headers)$Lisp
+         u:UniversalSegment(Integer)
+         u := segment(MatchBeginning(1)$Lisp+1,MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+         reqtype:String := headers.u
+         WriteLine$Lisp  concat ["request type: ",reqtype]
+         if  reqtype = "GET" then
+             StringMatch("GET ([^ ]*)",headers)$Lisp
+             u:UniversalSegment(Integer)
+             u := segment(MatchBeginning(1)$Lisp+1,MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+             getFile(s,headers.u)
+         if reqtype = "POST" then
+             StringMatch("command=(.*)$",headers)$Lisp
+             u:UniversalSegment(Integer)
+             u := segment(MatchBeginning(1)$Lisp+1,MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+             getCommand(s,headers.u)
+         WriteLine("multiServ end")$Lisp
+	 WriteLine("")$Lisp
+
+   getFile(s:SExpression,pathvar:String):Void ==
+       WriteLine("")$Lisp
+       WriteLine("getFile begin")$Lisp
+       if not null? PATHNAME_-NAME(PATHNAME(pathvar)$Lisp)$Lisp then
+           contentType:String := getContentType(pathvar)
+	   q := Open(pathvar)$Lisp
+	   if null? q then
+	     q := MAKE_-STRING_-INPUT_-STREAM("File doesn't exist")$Lisp
+	     WriteLine("File does not exist.")$Lisp
+--           if null? (q := Open(pathvar)$Lisp) then
+--	     q := MAKE_-STRING_-INPUT_-STREAM("File doesn't exist")$Lisp
+       else
+           q:=MAKE_-STRING_-INPUT_-STREAM("Problem with file path")$Lisp
+       file:String := ""
+       WriteLine("begin reading file")$Lisp
+       r := MAKE_-STRING_-OUTPUT_-STREAM()$Lisp
+       SiCopyStream(q,r)$Lisp
+       filestream:String := GET_-OUTPUT_-STREAM_-STRING(r)$Lisp
+       CLOSE(r)$Lisp
+       CLOSE(q)$Lisp
+       filelength:String := string(#filestream)
+       WriteLine("end reading file")$Lisp
+       file := concat ["Content-Length: ",filelength,STRING(NewLine$Lisp)$Lisp,STRING(NewLine$Lisp)$Lisp,file]
+       file := concat ["Connection: close",STRING(NewLine$Lisp)$Lisp,file]
+       file := concat ["Content-Type: ",contentType,STRING(NewLine$Lisp)$Lisp,file]
+       file := concat ["HTTP/1.1 200 OK",STRING(NewLine$Lisp)$Lisp,file]
+       file := concat [file,filestream]
+       f:=MAKE_-STRING_-INPUT_-STREAM(file)$Lisp
+       SiCopyStream(f,s)$Lisp
+       CLOSE(f)$Lisp
+       CLOSE(s)$Lisp
+       WriteLine("getFile end")$Lisp
+       WriteLine("")$Lisp
+
+   getCommand(s:SExpression,command:String):Void ==
+       WriteLine$Lisp concat ["getCommand: ",command]
+       SETQ(tmpmathml$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
+       SETQ(tmpalgebra$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
+       SETQ(savemathml$Lisp, _$texOutputStream$Lisp)$Lisp
+       SETQ(savealgebra$Lisp, _$algebraOutputStream$Lisp)$Lisp
+       SETQ(_$texOutputStream$Lisp,tmpmathml$Lisp)$Lisp
+       SETQ(_$algebraOutputStream$Lisp,tmpalgebra$Lisp)$Lisp
 --      parseAndInterpret$Lisp command
 --      parseAndEvalStr$Lisp command
--- The previous two commands don't exit nicely when a syntactically 
--- incorrect command is given to them. They somehow need to be wrapped 
--- in CATCH statements but I haven't figured out how to do this.  
--- parseAndEvalToStringEqNum  uses the following CATCH statements to 
--- call parseAndEvalStr but when I try these they don't work.  I get a
--- "NIL is not a valid identifier to use in AXIOM" message. 
--- Using parseAndEvalToStringEqNum works and doesn't crash on a syntax error.
---        v := CATCH('SPAD__READER, _
-           CATCH('top__level, parseAndEvalStr$Lisp command)$Lisp)$Lisp
+-- The previous two commands don't exit nicely when a syntactically incorrect command is
+-- given to them.  They somehow need to be wrapped in CATCH statements but I haven't
+-- figured out how to do this.  parseAndEvalToStringEqNum  uses the following CATCH
+-- statements to call parseAndEvalStr but when I try these they don't work.  I get a
+-- "NIL is not a valid identifier to use in AXIOM" message. Using parseAndEvalToStringEqNum
+-- works and doesn't crash on a syntax error.
+--        v := CATCH('SPAD__READER, CATCH('top__level, parseAndEvalStr$Lisp command)$Lisp)$Lisp
 --        v = 'restart => ['"error"]
-        ans := string parseAndEvalToStringEqNum$Lisp command
-        SETQ(resultmathml$Lisp,_
-         GET_-OUTPUT_-STREAM_-STRING(_$texOutputStream$Lisp)$Lisp)$Lisp
-        SETQ(resultalgebra$Lisp,_
-         GET_-OUTPUT_-STREAM_-STRING(_$algebraOutputStream$Lisp)$Lisp)$Lisp
-        SETQ(_$texOutputStream$Lisp,savemathml$Lisp)$Lisp
-        SETQ(_$algebraOutputStream$Lisp,savealgebra$Lisp)$Lisp
-        CLOSE(tmpmathml$Lisp)$Lisp
-        CLOSE(tmpalgebra$Lisp)$Lisp
-        -- Since strings returned from axiom are going to be displayed in html
-        -- I should really check for the characters &,<,> and replace them with
-        -- &amp;,&lt;,&gt;.  
-        -- At present I only check for ampersands in formatMessages.
-        mathml:String := string(resultmathml$Lisp)
-        algebra:String := string(resultalgebra$Lisp)
-        algebra := formatMessages(algebra)
-        -- At this point mathml contains the mathml for the output but does 
-        -- not include step number or type information.  We should also save 
-        -- the command. I get the type and step number from the 
-        -- $internalHistoryTable
-        axans:String := concat 
-         ["<div>"_
-           "<div class=_"stepnum_"> (", lastStep(), _
-              ") -&gt; ", command, "</div>" _
-           "<div class=_"algebra_">", algebra, "</div>" _
-           "<div id=_"answer_" class=_"mathml_">", mathml , "</div>" _
-           "<div class=_"type_">Type: ",lastType(),"</div>"_
-          "</div>"]
-        WriteLine$Lisp concat ["mathml answer: ",mathml]
-        WriteLine$Lisp concat ["algebra answer: ",algebra]
-        q:=MAKE_-STRING_-INPUT_-STREAM(axans)$Lisp
-        SiCopyStream(q,s)$Lisp
-        CLOSE(q)$Lisp
-        CLOSE(s)$Lisp
+       ans := string parseAndEvalToStringEqNum$Lisp command
+       SETQ(resultmathml$Lisp,GET_-OUTPUT_-STREAM_-STRING(_$texOutputStream$Lisp)$Lisp)$Lisp
+       SETQ(resultalgebra$Lisp,GET_-OUTPUT_-STREAM_-STRING(_$algebraOutputStream$Lisp)$Lisp)$Lisp
+       SETQ(_$texOutputStream$Lisp,savemathml$Lisp)$Lisp
+       SETQ(_$algebraOutputStream$Lisp,savealgebra$Lisp)$Lisp
+       CLOSE(tmpmathml$Lisp)$Lisp
+       CLOSE(tmpalgebra$Lisp)$Lisp
+       -- Since strings returned from axiom are going to be 
+       -- displayed in html I
+       -- should really check for the characters &,<,> and 
+       -- replace them with
+       -- &amp;,&lt;,&gt;.  At present I only check for ampersands in
+       -- formatMessages.  MathML should already be valid xml.
+       mathml:String := string(resultmathml$Lisp)
+       algebra:String := string(resultalgebra$Lisp)
+       algebra := formatMessages(algebra)
+       -- At this point mathml contains the mathml for the 
+       -- output but does not
+       -- include step number or type information.  
+       -- We should also save the command.
+       -- I get the type and step number from the $internalHistoryTable
+       axans:String := concat ["<div><div class=_"command_">(",lastStep(),") -> ",command,"</div><div class=_"algebra_">",algebra,"</div><div class=_"mathml_">",mathml,"</div><div class=_"type_">Type: ",lastType(),"</div></div>"]
+       WriteLine$Lisp concat ["mathml answer: ",mathml]
+       WriteLine$Lisp concat ["algebra answer: ",algebra]
+       q:=MAKE_-STRING_-INPUT_-STREAM(axans)$Lisp
+       SiCopyStream(q,s)$Lisp
+       CLOSE(q)$Lisp
+       CLOSE(s)$Lisp
 
-    lastType():String ==
+
+   lastType():String ==
 --  The last history entry is the first item in the 
---  $internalHistoryTable list so car(_$internalHistoryTable$Lisp) 
---  selects it.  Here's an example:
---  (3 (x+y)**3 (% (value (Polynomial (Integer)) WRAPPED 1 y 
---   (3 0 . 1) (2 1 x (1 0 . 3)) (1 1 x (2 0 . 3)) (0 1 x (3 0 . 1)))))
---  This corresponds to the input "(x+y)**3" being issued as the third 
---  command after starting axiom. 
---  The following line selects the type information.
-        string cadr(cadar(cddar(_$internalHistoryTable$Lisp)$Lisp)$Lisp)$Lisp
-
-    lastStep():String == 
-        string caar(_$internalHistoryTable$Lisp)$Lisp
-
-    formatMessages(str:String):String ==
-        WriteLine("formatMessages")$Lisp
-        -- I need to replace any ampersands with &amp; and may also need to
-        -- replace < and > with &lt; and &gt;
-        strlist:List String
-        WriteLine(str)$Lisp
-        strlist := split(str,char "&")
-        str := ""
-        for s in strlist repeat
-            str := concat [str,s,"&amp;"]
-        strlen:Integer := #str
-        str := str.(1..(#str - 5))
-        WriteLine(str)$Lisp
-        -- Here I split the string into lines and put each line in a "div".
-        strlist := split(str, char string NewlineChar$Lisp)
-        str := ""
-        WriteLine("formatMessages1")$Lisp
-        WriteLine(concat strlist)$Lisp
-        for s in strlist repeat
-            WriteLine(s)$Lisp
-            str := concat [str,"<div>",s,"</div>"]
-        str
+-- $internalHistoryTable list so
+--  car(_$internalHistoryTable$Lisp) selects it.  Here's an example:
+--  (3 (x+y)**3 (% (value (Polynomial (Integer)) WRAPPED 1 y (3 0 . 1) (2 1 x (1 0 . 3)) (1 1 x (2 0 . 3)) (0 1 x (3 0 . 1)))))
+--  This corresponds to the input "(x+y)**3" being issued 
+-- as the third command after
+--  starting axiom.  The following line selects the type information.
+       string car(cdr(car(cdr(car(cdr(cdr(car(_$internalHistoryTable$Lisp)$Lisp)$Lisp)$Lisp)$Lisp)$Lisp)$Lisp)$Lisp)$Lisp
+
+
+   lastStep():String ==
+       string car(car(_$internalHistoryTable$Lisp)$Lisp)$Lisp
+
+
+   formatMessages(str:String):String ==
+       WriteLine("formatMessages")$Lisp
+       -- I need to replace any ampersands with &amp; and may also need to
+       -- replace < and > with &lt; and &gt;
+       strlist:List String
+       WriteLine(str)$Lisp
+       strlist := split(str,char "&")
+       str := ""
+       -- oops, if & is the last character in the string this method
+       -- will eliminate it.  Need to redo this.
+       for s in strlist repeat
+           str := concat [str,s,"&amp;"]
+       strlen:Integer := #str
+       str := str.(1..(#str - 5))
+       WriteLine(str)$Lisp
+       -- Here I split the string into lines and put each line in a "div".
+       strlist := split(str, char string NewlineChar$Lisp)
+       str := ""
+       WriteLine("formatMessages1")$Lisp
+       WriteLine(concat strlist)$Lisp
+       for s in strlist repeat
+           WriteLine(s)$Lisp
+           str := concat [str,"<div>",s,"</div>"]
+       str
+
+   getContentType(pathvar:String):String ==
+       WriteLine("getContentType begin")$Lisp
+       -- set default content type
+       contentType:String := "text/plain"
+       -- need to test for successful match?
+       StringMatch(".*\.(.*)$", pathvar)$Lisp
+       u:UniversalSegment(Integer)
+       u := segment(MatchBeginning(1)$Lisp+1,MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+       extension:String := pathvar.u
+       WriteLine$Lisp concat ["file extension: ",extension]
+       -- test for extensions: html, htm, xml, xhtml, js, css, png, jpg, jpeg
+       if extension = "html" then
+           contentType:String := "text/html"
+       else if extension = "htm" then
+           contentType:String := "text/html"
+       else if extension = "xml" then
+           contentType:String := "text/xml"
+       else if extension = "xhtml" then
+           contentType:String := "application/xhtml+xml"
+       else if extension = "js" then
+           contentType:String := "text/javascript"
+       else if extension = "css" then
+           contentType:String := "text/css"
+       else if extension = "png" then
+           contentType:String := "image/png"
+       else if extension = "jpg" then
+           contentType:String := "image/jpeg"
+       else if extension = "jpeg" then
+           contentType:String := "image/jpeg"
+       WriteLine$Lisp concat ["Content-Type: ",contentType]
+       WriteLine("getContentType end")$Lisp
+       contentType
+
 
 
 @
@@ -229,9 +262,9 @@
 --      the documentation and/or other materials provided with the
 --      distribution.
 --
---    - Neither the name of Arthur C. Ralfs nor the
---      names of its contributors may be used to endorse or promote products
---      derived from this software without specific prior written permission.
+--    - The name of Arthur C. Ralfs may not 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

--------------040100020602050601060703
 name="http.lisp.patch"
 filename="http.lisp.patch"

--- http.lisp	2007-10-08 23:28:41.000000000 -0700
+++ http.lisp.new	2007-10-10 06:30:45.000000000 -0700
@@ -1,6 +1,9 @@
 (in-package "BOOT")
 
-(defvar |StandardOutput| *standard-output*)
+(defun |Open| (path)
+  (si::open path :direction :input :if-exists nil :if-does-not-exist nil)
+  )
+
 
 (defvar  |NewLine| '#\NewLine)
 

--------------040100020602050601060703--

\start
Date: Wed, 10 Oct 2007 23:56:33 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: Re: axserver patches

Arthur,

I applied your changes and the web service is much faster.
However, the browser no longer displays the results as mathml.
I can't imagine what's changed. The browser is exactly the same.

\start
Date: Sat, 13 Oct 2007 21:49:36 -0500
From: Tim Daly
To: Arthur Ralfs, Alasdair McAndrew, Alfredo Portes
Subject: new hyperdoc changes -- xhtml jenks book

Arthur,

I've added the book to the new hyperdoc. I made two minor modifications.
I changed the default background color to match the default background
of the rest of the pages. I added name anchor tags for each chapter
in the book-contents file. Note that there is no chapter 20. The 
diff-Naur patches for these changes are attached.

I need to change bookvol1.pamphlet to xhtml format. Did you use
Axiom to write out the mathml for each equation?

I'll look at the issue of making the inputs "live" shortly.

Tim

======================================================================
graphicstyle.css
======================================================================
--- /tmp/axbook/graphicstyle.css	2007-10-08 16:32:42.000000000 -0400
+++ graphicstyle.css	2007-10-03 17:09:41.000000000 -0400
@@ -1,3 +1,4 @@
+body { background-color: #FFFF66 }
 div.spadcommand, div.spadgraph 
       {
                               display: block;

======================================================================
book-contents.xhtml
======================================================================
--- /tmp/axbook/book-contents.xhtml	2007-10-08 16:32:41.000000000 -0400
+++ book-contents.xhtml	2007-10-03 16:07:31.000000000 -0400
@@ -17,6 +17,7 @@
 
   <body>
 
+<a name="chapter0"/>
 <h3>Chapter 0: Introduction to Axiom</h3>
 <a href="section-0.1.xhtml">0.1 Introduction to Axiom</a><br/>
 <a href="section-0.1.xhtml#subsec-0.1.1" class="subseccontents">0.1.1 Symbolic Computation</a><br/>
@@ -71,6 +72,7 @@
 <a href="section-0.7.xhtml#subsubsec-0.7.5.2" class="subsubseccontents">0.7.5.2 The <span class="teletype">while</span> loop</a><br/>
 <a href="section-0.7.xhtml#subsubsec-0.7.5.3" class="subsubseccontents">0.7.5.3 The <span class="teletype">for</span> loop</a><br/>
 
+<a name="chapter1"/>
 <h3>Chapter 1: An Overview of Axiom</h3>
 <a href="section-1.0.xhtml">1.0 An Overview of Axiom</a><br/>
 <a href="section-1.1.xhtml">1.1 Starting Up and Winding Down</a><br/>
@@ -101,6 +103,7 @@
 <a href="section-1.15.xhtml#subsec-1.15.1" class="subseccontents">1.15.1 Undo</a><br/>
 <a href="section-1.16.xhtml">1.16 Graphics</a><br/>
 
+<a name="chapter2"/>
 <h3>Chapter 2: Using Types and Modes</h3>
 <a href="section-2.0.xhtml">2.0 Using Types and Modes</a><br/>
 <a href="section-2.1.xhtml">2.1 The Basic Idea</a><br/>
@@ -124,6 +127,7 @@
 <a href="section-2.11.xhtml">2.11 Exposing Domains and Packages</a><br/>
 <a href="section-2.12.xhtml">2.12 Commands for Snooping</a><br/>
 
+<a name="chapter3"/>
 <h3>Chapter 3: Using HyperDoc</h3>
 <a href="section-3.0.xhtml">3.0 Using HyperDoc</a><br/>
 <a href="section-3.1.xhtml">3.1 Headings</a><br/>
@@ -136,6 +140,7 @@
 <a href="section-3.7.xhtml">3.7 Example Pages</a><br/>
 <a href="section-3.8.xhtml">3.8 X Window Resources for HyperDoc</a><br/>
 
+<a name="chapter4"/>
 <h3>Chapter 4: Input Files and Output Styles</h3>
 <a href="section-4.0.xhtml">4.0 Input Files and Output Styles</a><br/>
 <a href="section-4.1.xhtml">4.1 Input Files</a><br/>
@@ -146,6 +151,7 @@
 <a href="section-4.6.xhtml">4.6 IBM Script Formula Format</a><br/>
 <a href="section-4.7.xhtml">4.7 FORTRAN Format</a><br/>
 
+<a name="chapter5"/>
 <h3>Chapter 5: Overview of Interactive Language</h3>
 <a href="section-5.0.xhtml">5.0 Interactive Language</a><br/>
 <a href="section-5.1.xhtml">5.1 Immediate and Delayed Assignments</a><br/>
@@ -170,6 +176,7 @@
 <a href="section-5.5.xhtml">5.5 Creating Lists and Streams with Iterators</a><br/>
 <a href="section-5.6.xhtml">5.6 An Example: Streams of Primes</a><br/>
 
+<a name="chapter6"/>
 <h3>Chapter 6: User-Defined Functions, Macros and Rules</h3>
 <a href="section-6.0.xhtml">6.0 Functions, Macros and Rules</a><br/>
 <a href="section-6.1.xhtml">6.1 Functions vs. Macros</a><br/>
@@ -199,6 +206,7 @@
 <a href="section-6.20.xhtml">6.20 Example: Testing for Palindromes</a><br/>
 <a href="section-6.21.xhtml">6.21 Rules and Pattern Matching</a><br/>
 
+<a name="chapter7"/>
 <h3>Chapter 7: Graphics</h3>
 <a href="section-7.0.xhtml">7.0 Graphics</a><br/>
 <a href="section-7.1.xhtml">7.1 Two-Dimensional Graphics</a><br/>
@@ -238,6 +246,7 @@
 <a href="section-7.2.xhtml#subsec-7.2.10" class="subseccontents">7.2.10 Operations for Three-Dimensional Graphics</a><br/>
 <a href="section-7.2.xhtml#subsec-7.2.11" class="subseccontents">7.2.11 Customization using .Xdefaults</a><br/>
 
+<a name="chapter8"/>
 <h3>Chapter 8: Advanced Problem Solving</h3>
 <a href="section-8.0.xhtml">8.0 Advanced Problem Solving</a><br/>
 <a href="section-8.1.xhtml">8.1 Numeric Functions</a><br/>
@@ -282,6 +291,7 @@
 <a href="section-8.13.xhtml">8.13 Computation of Galois Groups</a><br/>
 <a href="section-8.14.xhtml">8.14 Non-Associative Algebras and Modelling Genetic Laws</a><br/>
 
+<a name="chapter9"/>
 <h3>Chapter 9: Some Examples of Domains and Packages</h3>
 <a href="section-9.1.xhtml">9.1 AssociationList</a><br/>
 <a href="section-9.2.xhtml">9.2 BalancedBinaryTree</a><br/>
@@ -418,6 +428,7 @@
 <a href="section-9.90.xhtml">9.90 XPolynomialRing</a><br/>
 <a href="section-9.91.xhtml">9.91 ZeroDimensionalSolvePackage</a><br/>
 
+<a name="chapter10"/>
 <h3>Chapter 10: Interactive Programming</h3>
 <a href="section-10.0.xhtml">10.0 Interactive Programming</a><br/>
 <a href="section-10.1.xhtml">10.1 Drawing Ribbons Interactively</a><br/>
@@ -431,6 +442,7 @@
 <a href="section-10.9.xhtml">10.9 Functions Producing Functions</a><br/>
 <a href="section-10.10.xhtml">10.10 Automatic Newton Iteration Formulas</a><br/>
 
+<a name="chapter11"/>
 <h3>Chapter 11: Packages</h3>
 <a href="section-11.0.xhtml">11.0 Packages</a><br/>
 <a href="section-11.1.xhtml">11.1 Names, Abbreviations, and File Structure</a><br/>
@@ -444,6 +456,7 @@
 <a href="section-11.9.xhtml">11.9 Testing</a><br/>
 <a href="section-11.10.xhtml">11.10 How Packages Work</a><br/>
 
+<a name="chapter12"/>
 <h3>Chapter 12: Categories</h3>
 <a href="section-12.0.xhtml">12.0 Categories</a><br/>
 <a href="section-12.1.xhtml">12.1 Definitions</a><br/>
@@ -459,6 +472,7 @@
 <a href="section-12.11.xhtml">12.11 Conditionals</a><br/>
 <a href="section-12.12.xhtml">12.12 Anonymous Categories</a><br/>
 
+<a name="chapter13"/>
 <h3>Chapter 13: Domains</h3>
 <a href="section-13.0.xhtml">13.0 Domains</a><br/>
 <a href="section-13.1.xhtml">13.1 Domains vs. Packages</a><br/>
@@ -483,6 +497,7 @@
 <a href="section-13.13.xhtml#subsec-13.13.7" class="subseccontents">13.13.7 Putting It All Together</a><br/>
 <a href="section-13.13.xhtml#subsec-13.13.8" class="subseccontents">13.13.8 Example Queries</a><br/>
 
+<a name="chapter14"/>
 <h3>Chapter 14: Browse</h3>
 <a href="section-14.0.xhtml">14.0 Browse</a><br/>
 <a href="section-14.1.xhtml">14.1 The Front Page: Searching the Library</a><br/>
@@ -540,6 +555,7 @@
 <a href="section-14.3.xhtml#subsubsec-14.3.4.1" class="subsubseccontents">14.3.4.1 Exposure</a><br/>
 <a href="section-14.3.xhtml#subsubsec-14.3.4.2" class="subsubseccontents">14.3.4.2 Threshold</a><br/>
 
+<a name="chapter15"/>
 <h3>Chapter 15: What's New in Axiom Version 2.0</h3>
 <a href="section-15.0.xhtml">15.0 Axiom Packages</a><br/>
 <a href="section-15.1.xhtml">15.1 Important Things to Read First</a><br/>
@@ -572,6 +588,7 @@
 <a href="section-15.6.xhtml">15.6 HyperTex</a><br/>
 <a href="section-15.7.xhtml">15.7 Documentation</a><br/>
 
+<a name="chapter16"/>
 <h3>Chapter 16: Axiom System Commands</h3>
 <a href="section-16.0.xhtml">16.0 Axiom System Commands</a><br/>
 <a href="section-16.1.xhtml">16.1 Introduction</a><br/>
@@ -603,15 +620,19 @@
 <a href="section-16.27.xhtml">16.27 )undo</a><br/>
 <a href="section-16.28.xhtml">16.28 )what</a><br/>
 
+<a name="chapter17"/>
 <h3>Chapter 17: Categories</h3>
 <a href="section-17.1.xhtml">17.1 Axiom Categories</a><br/>
 
+<a name="chapter18"/>
 <h3>Chapter 18: Domains</h3>
 <a href="section-18.1.xhtml">18.1 Axiom Domains</a><br/>
 
+<a name="chapter19"/>
 <h3>Chapter 19: Packages</h3>
 <a href="section-19.1.xhtml">19.1 Axiom Packages</a><br/>
 
+<a name="chapter21"/>
 <h3>Chapter 21: Programs for AXIOM Images</h3>
 <a href="section-21.0.xhtml">21.0 Programs for AXIOM Images</a><br/>
 <a href="section-21.1.xhtml">21.1 images1.input</a><br/>

\start
Date: Sat, 13 Oct 2007 21:51:37 -0500
From: Tim Daly
To: Arthur Ralfs, Alasdair McAndrew, Alfredo Portes
Subject: new hyperdoc changes -- Cryptographics Topic

Alasdair,

Your lab notes have been incorporated into the new hyperdoc under
the Topics page. They are trivial to modify if you want changes.
We can also trivially add new pages as you develop them.

\start
Date: Sat, 13 Oct 2007 21:58:24 -0500
From: Tim Daly
To: Arthur Ralfs, Alasdair McAndrew, Alfredo Portes
Subject: new hyperdoc changes -- axserver.spad

Arthur,

You were correct that the problem Content-Type field was the problem.
I hardcoded the contentType in getFile to read "application/xhtml+xml"
and the mathml output works again. I admit that it's probably not what
you were trying to do with the getContentType function but I was 
unable to figure out how it was intended to work. 

The output is much faster with the changes you've made.

The next patch release will contain the code you sent me with my
modification for contentType.

\start
Date: Sat, 13 Oct 2007 22:05:00 -0500
From: Tim Daly
To: Arthur Ralfs, Alasdair McAndrew, Alfredo Portes
Subject: new hyperdoc changes -- Axiom main line changes

Alfredo,

The next newhyper.pamphlet no longer contains http.lisp or axserver.spad
as these have been merged into the main line.

It contains links to Arthur's xhtml Jenks book.
It contains Alasdair's Cryto lab notes.

I'll be checking in the latest version to doyen shortly.

I'm about to make this "live" in the main line distribution as soon as
I finish fleshing out the old existing hyperdoc pages and figure out
how to hook it to the )hd command.

\start
Date: Sun, 14 Oct 2007 01:10:25 -0500
From: Tim Daly
To: list
Subject: 20071013.01.acr.patch
Cc: Arthur Ralfs

This patch allows faster browsing of new hyperdoc web pages
=========================================================================
diff --git a/changelog b/changelog
index 7c61a45..7608e21 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20071013 acr license/license.ralfs license rewrite
+20071013 acr src/interp/http.lisp faster page service
+20071013 acr src/algebra/axserver.spad faster page service
 20071005 tpd src/input/Makefile kamke7.input regression test added
 20071005 tpd src/input/kamke7.input ODE regression test added
 20071005 tpd src/input/Makefile kamke6.input regression test added
diff --git a/license/license.ralfs b/license/license.ralfs
index ae26469..220429c 100644
--- a/license/license.ralfs
+++ b/license/license.ralfs
@@ -13,9 +13,9 @@
 --      the documentation and/or other materials provided with the
 --      distribution.
 --
---    - Neither the name of Arthur C. Ralfs nor the
---      names of its contributors may be used to endorse or promote products
---      derived from this software without specific prior written permission.
+--    - The name of Arthur C. Ralfs may not 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
diff --git a/src/algebra/axserver.spad.pamphlet b/src/algebra/axserver.spad.pamphlet
index 4262996..791d851 100644
--- a/src/algebra/axserver.spad.pamphlet
+++ b/src/algebra/axserver.spad.pamphlet
@@ -33,181 +33,230 @@ the browser to the URL.
 )abbrev package AXSERV AxiomServer
 AxiomServer: public == private where
 
-  public == with
+ public == with
 
-    axServer: (Integer, SExpression->Void) -> Void
-    multiServ: SExpression -> Void
-    fileserver: SExpression -> Void
-    axget: SExpression -> Void
-    axpost: SExpression -> Void
+   axServer: (Integer, SExpression->Void) -> Void
+   multiServ: SExpression -> Void
 
+ private == add
 
-  private == add
+   getFile: (SExpression,String) -> Void
+   getCommand: (SExpression,String) -> Void
+   lastStep: () -> String
+   lastType: () -> String
+   formatMessages: String -> String
+   getContentType: String -> String
 
-    getFile: (SExpression,String) -> Void
-    getCommand: (SExpression,String) -> Void
-    lastStep: () -> String
-    lastType: () -> String
-    formatMessages: String -> String
-    formatMessages1: String -> String
 
+   axServer(port:Integer,serverfunc:SExpression->Void):Void ==
+     WriteLine("socketServer")$Lisp
+     s := SiSock(port,serverfunc)$Lisp
+     -- To listen for just one connection and then close the socket
+     -- uncomment i := 0.
+     i:Integer := 1
+     while (i > 0) repeat
+       if not null?(SiListen(s)$Lisp)$SExpression then
+         w := SiAccept(s)$Lisp
+         serverfunc(w)
+--         i := 0
 
-    axServer(port:Integer,serverfunc:SExpression->Void):Void ==
-      WriteLine("socketServer")$Lisp
-      s := SiSock(port,serverfunc)$Lisp
-      -- To listen for just one connection and then close the socket
-      -- uncomment i := 0.
-      i:Integer := 1
-      while (i > 0) repeat
-        if not null?(SiListen(s)$Lisp)$SExpression then
-          w := SiAccept(s)$Lisp
-          serverfunc(w)
---        i := 0
+   multiServ(s:SExpression):Void ==
+         WriteLine("multiServ begin")$Lisp
+         headers:String := ""
+         char:String
+         -- read in the http headers
+         while (_
+          char := STRING(READ_-CHAR_-NO_-HANG(s,NIL$Lisp,'EOF)$Lisp)$Lisp)_
+           ^= "EOF" repeat
+             headers := concat [headers,char]
+	 WriteLine(headers)$Lisp
+         StringMatch("([^ ]*)", headers)$Lisp
+         u:UniversalSegment(Integer)
+         u := segment(MatchBeginning(1)$Lisp+1,_
+                      MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+         reqtype:String := headers.u
+         WriteLine$Lisp  concat ["request type: ",reqtype]
+         if  reqtype = "GET" then
+             StringMatch("GET ([^ ]*)",headers)$Lisp
+             u:UniversalSegment(Integer)
+             u := segment(MatchBeginning(1)$Lisp+1,_
+                          MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+             getFile(s,headers.u)
+         if reqtype = "POST" then
+             StringMatch("command=(.*)$",headers)$Lisp
+             u:UniversalSegment(Integer)
+             u := segment(MatchBeginning(1)$Lisp+1,_
+                          MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+             getCommand(s,headers.u)
+         WriteLine("multiServ end")$Lisp
+	 WriteLine("")$Lisp
 
-    multiServ(s:SExpression):Void ==
-          WriteLine("multiServ")$Lisp
-          headers:String := ""
-          char:String
-          -- read in the http headers
-          while (char := _
-            STRING(READ_-CHAR_-NO_-HANG(s,NIL$Lisp,'EOF)$Lisp)$Lisp) ^= "EOF"_
-             repeat
-              headers := concat [headers,char]
-          sayTeX$Lisp headers
-          StringMatch("([^ ]*)", headers)$Lisp
-          u:UniversalSegment(Integer)
-          u := segment(MatchBeginning(1)$Lisp+1,_
-                              MatchEnd(1)$Lisp)$UniversalSegment(Integer)
-          reqtype:String := headers.u
-          sayTeX$Lisp  concat ["request type: ",reqtype]
-          if  reqtype = "GET" then
-              StringMatch("GET ([^ ]*)",headers)$Lisp
-              u:UniversalSegment(Integer)
-              u := segment(MatchBeginning(1)$Lisp+1,_
-                              MatchEnd(1)$Lisp)$UniversalSegment(Integer)
-              getFile(s,headers.u)
-          if reqtype = "POST" then
-              StringMatch("command=(.*)$",headers)$Lisp
-              u:UniversalSegment(Integer)
-              u := segment(MatchBeginning(1)$Lisp+1,_
-                               MatchEnd(1)$Lisp)$UniversalSegment(Integer)
-              getCommand(s,headers.u)
+   getFile(s:SExpression,pathvar:String):Void ==
+       WriteLine("")$Lisp
+       WriteLine("getFile begin")$Lisp
+       if not null? PATHNAME_-NAME(PATHNAME(pathvar)$Lisp)$Lisp then
+           contentType:String := "application/xhtml+xml"
+	   q := Open(pathvar)$Lisp
+	   if null? q then
+	     q := MAKE_-STRING_-INPUT_-STREAM("File doesn't exist")$Lisp
+	     WriteLine("File does not exist.")$Lisp
+       else
+           q:=MAKE_-STRING_-INPUT_-STREAM("Problem with file path")$Lisp
+       file:String := ""
+       WriteLine("begin reading file")$Lisp
+       r := MAKE_-STRING_-OUTPUT_-STREAM()$Lisp
+       SiCopyStream(q,r)$Lisp
+       filestream:String := GET_-OUTPUT_-STREAM_-STRING(r)$Lisp
+       CLOSE(r)$Lisp
+       CLOSE(q)$Lisp
+       filelength:String := string(#filestream)
+       WriteLine("end reading file")$Lisp
+       file := concat ["Content-Length: ",filelength,_
+                STRING(NewLine$Lisp)$Lisp,STRING(NewLine$Lisp)$Lisp,file]
+       file := concat ["Connection: close",STRING(NewLine$Lisp)$Lisp,file]
+       file := concat ["Content-Type: ",contentType,_
+                STRING(NewLine$Lisp)$Lisp,file]
+       file := concat ["HTTP/1.1 200 OK",STRING(NewLine$Lisp)$Lisp,file]
+       file := concat [file,filestream]
+       f:=MAKE_-STRING_-INPUT_-STREAM(file)$Lisp
+       SiCopyStream(f,s)$Lisp
+       CLOSE(f)$Lisp
+       CLOSE(s)$Lisp
+       WriteLine("getFile end")$Lisp
+       WriteLine("")$Lisp
 
-    getFile(s:SExpression,pathvar:String):Void ==
-        WriteLine("getFile")$Lisp
-        if not null? PATHNAME_-NAME(PATHNAME(pathvar)$Lisp)$Lisp then
-        -- display contents of file
-            q:=OPEN(pathvar)$Lisp
-        else
-            q:=MAKE_-STRING_-INPUT_-STREAM("Problem with file path")$Lisp
-        file:String := ""
-        while (line :=STRING(READ_-LINE(q,NIL$Lisp,'EOF)$Lisp)$Lisp) ^= "EOF" _
-          repeat
-            file := concat [file,line,STRING(NewLine$Lisp)$Lisp]
-        CLOSE(q)$Lisp
-        file := concat _
-          ["Content-Length: ",string(#file),STRING(NewLine$Lisp)$Lisp,_
-            STRING(NewLine$Lisp)$Lisp,file]
-        file := concat ["Connection: close",STRING(NewLine$Lisp)$Lisp,file]
-        file := concat _
-         ["Content-Type: application/xhtml+xml",STRING(NewLine$Lisp)$Lisp,file]
-        file := concat ["HTTP/1.1 200 OK",STRING(NewLine$Lisp)$Lisp,file]
-        f:=MAKE_-STRING_-INPUT_-STREAM(file)$Lisp
-        SiCopyStream(f,s)$Lisp
-        CLOSE(f)$Lisp
-        CLOSE(s)$Lisp
-
-    getCommand(s:SExpression,command:String):Void ==
-        WriteLine$Lisp concat ["getCommand: ",command]
-        SETQ(tmpmathml$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
-        SETQ(tmpalgebra$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
-        SETQ(savemathml$Lisp, _$texOutputStream$Lisp)$Lisp
-        SETQ(savealgebra$Lisp, _$algebraOutputStream$Lisp)$Lisp
-        SETQ(_$texOutputStream$Lisp,tmpmathml$Lisp)$Lisp
-        SETQ(_$algebraOutputStream$Lisp,tmpalgebra$Lisp)$Lisp
+   getCommand(s:SExpression,command:String):Void ==
+       WriteLine$Lisp concat ["getCommand: ",command]
+       SETQ(tmpmathml$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
+       SETQ(tmpalgebra$Lisp, MAKE_-STRING_-OUTPUT_-STREAM()$Lisp)$Lisp
+       SETQ(savemathml$Lisp, _$texOutputStream$Lisp)$Lisp
+       SETQ(savealgebra$Lisp, _$algebraOutputStream$Lisp)$Lisp
+       SETQ(_$texOutputStream$Lisp,tmpmathml$Lisp)$Lisp
+       SETQ(_$algebraOutputStream$Lisp,tmpalgebra$Lisp)$Lisp
 --      parseAndInterpret$Lisp command
 --      parseAndEvalStr$Lisp command
 -- The previous two commands don't exit nicely when a syntactically 
--- incorrect command is given to them. They somehow need to be wrapped 
+-- incorrect command is given to them.  They somehow need to be wrapped 
 -- in CATCH statements but I haven't figured out how to do this.  
--- parseAndEvalToStringEqNum  uses the following CATCH statements to 
--- call parseAndEvalStr but when I try these they don't work.  I get a
--- "NIL is not a valid identifier to use in AXIOM" message. 
--- Using parseAndEvalToStringEqNum works and doesn't crash on a syntax error.
+-- parseAndEvalToStringEqNum  uses the following CATCH statements to call 
+-- parseAndEvalStr but when I try these they don't work.  I get a
+-- "NIL is not a valid identifier to use in AXIOM" message. Using 
+-- parseAndEvalToStringEqNum works and doesn't crash on a syntax error.
 --        v := CATCH('SPAD__READER, _
-           CATCH('top__level, parseAndEvalStr$Lisp command)$Lisp)$Lisp
+--             CATCH('top__level, parseAndEvalStr$Lisp command)$Lisp)$Lisp
 --        v = 'restart => ['"error"]
-        ans := string parseAndEvalToStringEqNum$Lisp command
-        SETQ(resultmathml$Lisp,_
+       ans := string parseAndEvalToStringEqNum$Lisp command
+       SETQ(resultmathml$Lisp,_
          GET_-OUTPUT_-STREAM_-STRING(_$texOutputStream$Lisp)$Lisp)$Lisp
-        SETQ(resultalgebra$Lisp,_
+       SETQ(resultalgebra$Lisp,_
          GET_-OUTPUT_-STREAM_-STRING(_$algebraOutputStream$Lisp)$Lisp)$Lisp
-        SETQ(_$texOutputStream$Lisp,savemathml$Lisp)$Lisp
-        SETQ(_$algebraOutputStream$Lisp,savealgebra$Lisp)$Lisp
-        CLOSE(tmpmathml$Lisp)$Lisp
-        CLOSE(tmpalgebra$Lisp)$Lisp
-        -- Since strings returned from axiom are going to be displayed in html
-        -- I should really check for the characters &,<,> and replace them with
-        -- &amp;,&lt;,&gt;.  
-        -- At present I only check for ampersands in formatMessages.
-        mathml:String := string(resultmathml$Lisp)
-        algebra:String := string(resultalgebra$Lisp)
-        algebra := formatMessages(algebra)
-        -- At this point mathml contains the mathml for the output but does 
-        -- not include step number or type information.  We should also save 
-        -- the command. I get the type and step number from the 
-        -- $internalHistoryTable
-        axans:String := concat 
-         ["<div>"_
-           "<div class=_"stepnum_"> (", lastStep(), _
-              ") -&gt; ", command, "</div>" _
-           "<div class=_"algebra_">", algebra, "</div>" _
-           "<div id=_"answer_" class=_"mathml_">", mathml , "</div>" _
-           "<div class=_"type_">Type: ",lastType(),"</div>"_
-          "</div>"]
-        WriteLine$Lisp concat ["mathml answer: ",mathml]
-        WriteLine$Lisp concat ["algebra answer: ",algebra]
-        q:=MAKE_-STRING_-INPUT_-STREAM(axans)$Lisp
-        SiCopyStream(q,s)$Lisp
-        CLOSE(q)$Lisp
-        CLOSE(s)$Lisp
+       SETQ(_$texOutputStream$Lisp,savemathml$Lisp)$Lisp
+       SETQ(_$algebraOutputStream$Lisp,savealgebra$Lisp)$Lisp
+       CLOSE(tmpmathml$Lisp)$Lisp
+       CLOSE(tmpalgebra$Lisp)$Lisp
+       -- Since strings returned from axiom are going to be 
+       -- displayed in html I
+       -- should really check for the characters &,<,> and 
+       -- replace them with
+       -- &amp;,&lt;,&gt;.  At present I only check for ampersands in
+       -- formatMessages.  MathML should already be valid xml.
+       mathml:String := string(resultmathml$Lisp)
+       algebra:String := string(resultalgebra$Lisp)
+       algebra := formatMessages(algebra)
+       -- At this point mathml contains the mathml for the 
+       -- output but does not
+       -- include step number or type information.  
+       -- We should also save the command.
+       -- I get the type and step number from the $internalHistoryTable
+       axans:String := concat _
+         ["<div><div class=_"command_">(",lastStep(),") -> ",_
+           command,"</div><div class=_"algebra_">",_
+           algebra,"</div><div class=_"mathml_">",_
+           mathml,"</div><div class=_"type_">Type: ",_
+           lastType(),"</div></div>"]
+       WriteLine$Lisp concat ["mathml answer: ",mathml]
+       WriteLine$Lisp concat ["algebra answer: ",algebra]
+       q:=MAKE_-STRING_-INPUT_-STREAM(axans)$Lisp
+       SiCopyStream(q,s)$Lisp
+       CLOSE(q)$Lisp
+       CLOSE(s)$Lisp
+
 
-    lastType():String ==
+   lastType():String ==
 --  The last history entry is the first item in the 
---  $internalHistoryTable list so car(_$internalHistoryTable$Lisp) 
---  selects it.  Here's an example:
+-- $internalHistoryTable list so
+--  car(_$internalHistoryTable$Lisp) selects it.  Here's an example:
 --  (3 (x+y)**3 (% (value (Polynomial (Integer)) WRAPPED 1 y 
---   (3 0 . 1) (2 1 x (1 0 . 3)) (1 1 x (2 0 . 3)) (0 1 x (3 0 . 1)))))
---  This corresponds to the input "(x+y)**3" being issued as the third 
---  command after starting axiom. 
---  The following line selects the type information.
-        string cadr(cadar(cddar(_$internalHistoryTable$Lisp)$Lisp)$Lisp)$Lisp
+--    (3 0 . 1) (2 1 x (1 0 . 3)) (1 1 x (2 0 . 3)) (0 1 x (3 0 . 1)))))
+--  This corresponds to the input "(x+y)**3" being issued 
+-- as the third command after
+--  starting axiom.  The following line selects the type information.
+       string cadr(cadar(cddar(_$internalHistoryTable$Lisp)$Lisp)$Lisp)$Lisp
+
+
+   lastStep():String ==
+       string car(car(_$internalHistoryTable$Lisp)$Lisp)$Lisp
+
+
+   formatMessages(str:String):String ==
+       WriteLine("formatMessages")$Lisp
+       -- I need to replace any ampersands with &amp; and may also need to
+       -- replace < and > with &lt; and &gt;
+       strlist:List String
+       WriteLine(str)$Lisp
+       strlist := split(str,char "&")
+       str := ""
+       -- oops, if & is the last character in the string this method
+       -- will eliminate it.  Need to redo this.
+       for s in strlist repeat
+           str := concat [str,s,"&amp;"]
+       strlen:Integer := #str
+       str := str.(1..(#str - 5))
+       WriteLine(str)$Lisp
+       -- Here I split the string into lines and put each line in a "div".
+       strlist := split(str, char string NewlineChar$Lisp)
+       str := ""
+       WriteLine("formatMessages1")$Lisp
+       WriteLine(concat strlist)$Lisp
+       for s in strlist repeat
+           WriteLine(s)$Lisp
+           str := concat [str,"<div>",s,"</div>"]
+       str
 
-    lastStep():String == 
-        string caar(_$internalHistoryTable$Lisp)$Lisp
+   getContentType(pathvar:String):String ==
+       WriteLine("getContentType begin")$Lisp
+       -- set default content type
+       contentType:String := "text/plain"
+       -- need to test for successful match?
+       StringMatch(".*\.(.*)$", pathvar)$Lisp
+       u:UniversalSegment(Integer)
+       u := segment(MatchBeginning(1)$Lisp+1,_
+                    MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+       extension:String := pathvar.u
+       WriteLine$Lisp concat ["file extension: ",extension]
+       -- test for extensions: html, htm, xml, xhtml, js, css, png, jpg, jpeg
+       if extension = "html" then
+           contentType:String := "text/html"
+       else if extension = "htm" then
+           contentType:String := "text/html"
+       else if extension = "xml" then
+           contentType:String := "text/xml"
+       else if extension = "xhtml" then
+           contentType:String := "application/xhtml+xml"
+       else if extension = "js" then
+           contentType:String := "text/javascript"
+       else if extension = "css" then
+           contentType:String := "text/css"
+       else if extension = "png" then
+           contentType:String := "image/png"
+       else if extension = "jpg" then
+           contentType:String := "image/jpeg"
+       else if extension = "jpeg" then
+           contentType:String := "image/jpeg"
+       WriteLine$Lisp concat ["Content-Type: ",contentType]
+       WriteLine("getContentType end")$Lisp
+       contentType
 
-    formatMessages(str:String):String ==
-        WriteLine("formatMessages")$Lisp
-        -- I need to replace any ampersands with &amp; and may also need to
-        -- replace < and > with &lt; and &gt;
-        strlist:List String
-        WriteLine(str)$Lisp
-        strlist := split(str,char "&")
-        str := ""
-        for s in strlist repeat
-            str := concat [str,s,"&amp;"]
-        strlen:Integer := #str
-        str := str.(1..(#str - 5))
-        WriteLine(str)$Lisp
-        -- Here I split the string into lines and put each line in a "div".
-        strlist := split(str, char string NewlineChar$Lisp)
-        str := ""
-        WriteLine("formatMessages1")$Lisp
-        WriteLine(concat strlist)$Lisp
-        for s in strlist repeat
-            WriteLine(s)$Lisp
-            str := concat [str,"<div>",s,"</div>"]
-        str
 
 
 @
@@ -229,9 +278,9 @@ AxiomServer: public == private where
 --      the documentation and/or other materials provided with the
 --      distribution.
 --
---    - Neither the name of Arthur C. Ralfs nor the
---      names of its contributors may be used to endorse or promote products
---      derived from this software without specific prior written permission.
+--    - The name of Arthur C. Ralfs may not 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
diff --git a/src/interp/http.lisp b/src/interp/http.lisp
index 9db87f8..6feb283 100644
--- a/src/interp/http.lisp
+++ b/src/interp/http.lisp
@@ -1,6 +1,9 @@
 (in-package "BOOT")
 
-(defvar |StandardOutput| *standard-output*)
+(defun |Open| (path)
+  (si::open path :direction :input :if-exists nil :if-does-not-exist nil)
+  )
+
 
 (defvar  |NewLine| '#\NewLine)
 
\start
Date: Sun, 14 Oct 2007 11:01:40 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: Re: new hyperdoc changes -- xhtml jenks book

>The original book.pamphlet chapter 20 lacked any content.
>It's supposed to be a listing of operations but there's nothing
>there.  Do you know where the missing content is? 

Chapter 20, the operations, was automatically generated by a 
program that ran on the IBM/370 VM system. It was too large
to run on a PC at the time. The sources were never released
as far as I know. It was called "autodoc". I think Scott
Morrison wrote it.

I tried to write the equivalent program while editing the book
back to its original form but never got it finished.





>For writing out the mathml I wrote a "TeX to mathml" program
>in C.  I put that in quotes because it's just supposed to handle
>the TeX that Axiom produces between double dollar signs.
>It's about 95% finished.  Some things I still had to tweak by
>hand or substitute the output from Axiom.  A lot of the math
>TeX in the book has been hand altered and is not what
>Axiom produces in TeX mode.  The hand altered TeX tends
>to cause a lot of trouble.  I can post the C program if you're
>interested in it.

Yeah, the TeX in the book is hand modified Axiom output.
Axiom output needs tweaking to fit the format of the book.
It took several months of work to reconstruct the Jenks book.

I looked at the Xhtml book output and there are some things
that need minor tweaks (e.g. "f == " comes out as "f = ="
in some places. Unfortunately I don't know enough mathml yet
to hand-tweak the sources but I'll get there.

Also Axiom's mathml output is one long line. It needs to be
"pretty-printed" (e.g. single-space indent for each open element
and single-space outdent for corresponding close element) so it
can be printed in latex documents. I'm not sure if Axiom has
enough information to do this during generation so we might
need a pretty-printer postprocess.





>I also have a lot of emacs lisp macros for converting the rest
>of the book material, which you're also welcome to,  although
>they're not written with a view to somebody else using them.

That's ok. I generally have my own set of macros that fit well
"under my fingers" for these kinds of tasks.





>I can try running bookvol1.pamphlet through my emacs macros
>and see what happens.  In fact I've had this in mind after
>the Jenks-Sutor book but hadn't gotten around to it.

If you'll initially process it I'm willing to polish it.  It would be
easier to use the same process so it has the same look and feel.  I've
added a link to the new hyperdoc pages for it so it is certainly in
the queue of things to do.

\start
Date: Sun, 14 Oct 2007 11:14:02 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: CATS - Computer Algebra Test Suite

On another subject...

I've long had the notion that we need a Computer Algebra Test Suite
(CATS) that lays out the mathematics and then shows the same
mathematics done by a range of computer algebra systems.

I have a test suite of ODEs that I've put together than consists of a
couple thousand ODEs, some of which I've recently added to the input
file subdirectory for regression testing. I also have a test suite of
about 4k integrals, which continues to grow.  And I'm looking to build
a similar test suite for series, etc.

I'm classifying the various equations based on increasing complexity.
I've also built a special purpose copy of Axiom that highlights the
exact code used to solve the problem and I'm annotating the code with
the equations it solves. Eventually this will give us a list of the
algorithms that Axiom implements as well as standard test case inputs.

I expect that this classification scheme will give us a place to
"hang algorithms" that solve the particular subclass of problems.
Such a classification scheme will allow us to be specific about
what algorithms are missing and we'll have a more scientific basis
for forward progress.

For this effort I've been generating the ODEs for Axiom and
also running the same ODES thru Mathematica, Maple, Maxima,
and Reduce. Unfortunately not all of these systems can generate
mathml. Given that you're tightly wired into the mathml work
do you know of some reasonable editor where I can type an
equation or the latex for an equation and generate the mathml?

\start
Date: Sun, 14 Oct 2007 07:11:58 -0700
From: Arthur Ralfs
To: Tim Daly
Subject: Re: new hyperdoc changes -- xhtml jenks book

Tim Daly wrote:
> Arthur,
>
> I've added the book to the new hyperdoc. I made two minor modifications.
> I changed the default background color to match the default background
> of the rest of the pages. I added name anchor tags for each chapter
> in the book-contents file. Note that there is no chapter 20. The 
> diff-Naur patches for these changes are attached.
>
> I need to change bookvol1.pamphlet to xhtml format. Did you use
> Axiom to write out the mathml for each equation?
>
> I'll look at the issue of making the inputs "live" shortly.
>
> Tim
>   
Tim,

The original book.pamphlet chapter 20 lacked any content.
It's supposed to be a listing of operations but there's nothing
there.  Do you know where the missing content is? 

For writing out the mathml I wrote a "TeX to mathml" program
in C.  I put that in quotes because it's just supposed to handle
the TeX that Axiom produces between double dollar signs.
It's about 95% finished.  Some things I still had to tweak by
hand or substitute the output from Axiom.  A lot of the math
TeX in the book has been hand altered and is not what
Axiom produces in TeX mode.  The hand altered TeX tends
to cause a lot of trouble.  I can post the C program if you're
interested in it.

I also have a lot of emacs lisp macros for converting the rest
of the book material, which you're also welcome to,  although
they're not written with a view to somebody else using them.

I can try running bookvol1.pamphlet through my emacs macros
and see what happens.  In fact I've had this in mind after
the Jenks-Sutor book but hadn't gotten around to it.

\start
Date: Sun, 14 Oct 2007 12:04:02 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: html -> xhtml page rename fix

Arthur,

I took your suggestion and renamed all the pages from .html to .xhtml
and then I re-introduced the call to getContentType which I had hardcoded.
That change worked. Thanks.

I'm doing a rebuild/test cycle with the new change and it should be 
pushed to silver by the end of the day.

\start
Date: Sun, 14 Oct 2007 14:50:08 -0700
From: Ed Borasky
To: Tim Daly
Subject: Re: CATS - Computer Algebra Test Suite
Cc: Arthur Ralfs

root wrote:
> On another subject...
> 
> I've long had the notion that we need a Computer Algebra Test Suite
> (CATS) that lays out the mathematics and then shows the same
> mathematics done by a range of computer algebra systems.
> 
> I have a test suite of ODEs that I've put together than consists of a
> couple thousand ODEs, some of which I've recently added to the input
> file subdirectory for regression testing. I also have a test suite of
> about 4k integrals, which continues to grow.  And I'm looking to build
> a similar test suite for series, etc.
> 
> I'm classifying the various equations based on increasing complexity.
> I've also built a special purpose copy of Axiom that highlights the
> exact code used to solve the problem and I'm annotating the code with
> the equations it solves. Eventually this will give us a list of the
> algorithms that Axiom implements as well as standard test case inputs.
> 
> I expect that this classification scheme will give us a place to
> "hang algorithms" that solve the particular subclass of problems.
> Such a classification scheme will allow us to be specific about
> what algorithms are missing and we'll have a more scientific basis
> for forward progress.
> 
> For this effort I've been generating the ODEs for Axiom and
> also running the same ODES thru Mathematica, Maple, Maxima,
> and Reduce. Unfortunately not all of these systems can generate
> mathml. Given that you're tightly wired into the mathml work
> do you know of some reasonable editor where I can type an
> equation or the latex for an equation and generate the mathml?
> 
> Tim
> 
> 
> 
> _______________________________________________
> Axiom-developer mailing list
> list
> http://lists.nongnu.org/mailman/listinfo/axiom-developer
> 

Well ... the two main WYSIWIG open-source TeX editors are LyX and 
TeXmacs. I have them both loaded on my machine. I prefer LyX and rarely 
use TeXmacs. However, there does not appear to be any MathML capability 
in LyX. It will, however, export to HTML.

TeXmacs, on the other hand, does claim to be able to export to MathML. 
In addition, TeXmacs has the ability to start up an Axiom session and 
capture the interactions in a document. TeXmacs has a keyboard mapping 
similar to emacs, so if you're used to emacs, you'll probably find 
TeXmacs easier to use than I've found it. :)

I don't have TeXmacs and Axiom loaded on this machine, so I can't make a 
sample output. In any event, if you've got any reasonable Linux distro 
(Debian/Ubuntu, Fedora/Red Hat/CentOS, Gentoo, SuSE, Slackware, etc.) 
you should be able to install TeXmacs from either the distro repository 
or the upstream source and try it out.

\start
Date: Sun, 14 Oct 2007 18:38:11 -0400
From: Tim Daly
To: Ed Borasky
Subject: Re: CATS - Computer Algebra Test Suite
Cc: Arthur Ralfs

Excellent. I'll download the latest TeXmacs and try it. -- Tim

\start
Date: Sun, 14 Oct 2007 20:58:20 -0700
From: Arthur Ralfs
To: Tim Daly
Subject: Re: CATS - Computer Algebra Test Suite

root wrote:
> On another subject...
>
>
> For this effort I've been generating the ODEs for Axiom and
> also running the same ODES thru Mathematica, Maple, Maxima,
> and Reduce. Unfortunately not all of these systems can generate
> mathml. Given that you're tightly wired into the mathml work
> do you know of some reasonable editor where I can type an
> equation or the latex for an equation and generate the mathml?
>
> Tim
>
>
>   
Tim,

As I mentioned I have a C program which is mostly complete at
translating Axiom tex into mathml.  However I now think that
introducing more external programs is not the best idea and
that ideally the latex to mathml should either happen in Axiom
or in the browser.  However that's a bit of a project.  I haven't
used anything else myself.

\start
Date: Sun, 14 Oct 2007 23:01:41 -0700
From: Ed Borasky
To: Tim Daly
Subject: Re: CATS - Computer Algebra Test Suite
Cc: Arthur Ralfs

This is a multi-part message in MIME format.
--------------020206060908080404000606

root wrote:
> Excellent. I'll download the latest TeXmacs and try it. -- Tim
> 
OK ... here's some sample output. I started up TeXmacs, went into the 
menu Edit -> Preferences -> Converters -> TeXmacs > Html -> Use MathML. 
Then I did an Insert -> Session -> Axiom. That starts up Axiom in the 
background. You type Axiom input into the document and Axiom responds 
underneath -- essentially you get a typeset dialog.

The attached files are the results in several formats:

test.tm: native TeXmacs document format
test.tex: LaTeX output
test.xhtml: this is supposed to be MathML but I haven't been able to get 
Firefox to render it -- it's whining about fonts, etc.
test.pdf: this is what it's supposed to look like
test.scm: a Scheme version of the document.

--------------020206060908080404000606
 name="test.pdf"
 filename="test.pdf"

[encoded data, 17881 characters]
--------------020206060908080404000606
 name="test.scm"
 filename="test.scm"

KGRvY3VtZW50IChUZVhtYWNzICIxLjAuNiIpIChzdHlsZSAodHVwbGUgImdlbmVyaWMiICJh
eGlvbSIpKSAoYm9keSAoZG9jdW1lbnQgKHdpdGggInByb2ctbGFuZ3VhZ2UiICJheGlvbSIg
InByb2ctc2Vzc2lvbiIgImRlZmF1bHQiIChzZXNzaW9uIChkb2N1bWVudCAoaW5wdXQgKGNv
bmNhdCAod2l0aCAiY29sb3IiICJyZWQiIChjb25jYXQgKHdpdGggIm1vZGUiICJtYXRoIiAi
PHJpZ2h0YXJyb3c+IikgIiAiKSkgIiIpIChkb2N1bWVudCAic3FydCg1KSIpKSAob3V0cHV0
IChkb2N1bWVudCAoY29uY2F0ICh3aXRoICJtb2RlIiAibWF0aCIgIm1hdGgtZGlzcGxheSIg
InRydWUiIChjb25jYXQgKHNxcnQgIjUiKSAobGVxbm8pICIoMSkiKSkgIiIpIChjb25jYXQg
KGF4aW9tdHlwZSAiQWxnZWJyYWljTnVtYmVyICIpICIiKSkpIChpbnB1dCAoY29uY2F0ICh3
aXRoICJjb2xvciIgInJlZCIgKGNvbmNhdCAod2l0aCAibW9kZSIgIm1hdGgiICI8cmlnaHRh
cnJvdz4iKSAiICIpKSAiIikgKGRvY3VtZW50ICJEKHNxcnQoeCkseCkiKSkgKG91dHB1dCAo
ZG9jdW1lbnQgKGNvbmNhdCAod2l0aCAibW9kZSIgIm1hdGgiICJtYXRoLWRpc3BsYXkiICJ0
cnVlIiAoY29uY2F0IChmcmFjICIxIiAoY29uY2F0ICIyIiAoc3FydCAieCIpKSkgKGxlcW5v
KSAiKDIpIikpICIiKSAoY29uY2F0IChheGlvbXR5cGUgIkV4cHJlc3Npb24gSW50ZWdlciAi
KSAiIikpKSAoaW5wdXQgKGNvbmNhdCAod2l0aCAiY29sb3IiICJyZWQiIChjb25jYXQgKHdp
dGggIm1vZGUiICJtYXRoIiAiPHJpZ2h0YXJyb3c+IikgIiAiKSkgIiIpIChkb2N1bWVudCAi
IikpKSkpKSkp
--------------020206060908080404000606
 name="test.tex"
 filename="test.tex"

\documentclass{letter}
\usepackage{color}

%%%%%%%%%% Start TeXmacs macros
\definecolor{grey}{rgb}{0.75,0.75,0.75}
\definecolor{orange}{rgb}{1.0,0.5,0.5}
\definecolor{brown}{rgb}{0.5,0.25,0.0}
\definecolor{pink}{rgb}{1.0,0.5,0.5}
%%%%%%%%%% End TeXmacs macros

\begin{document}

{\color{red}\ttfamily{{\color{red} $\rightarrow$ }}}{\color{blue}
\verb|sqrt(5)|}

{\ttfamily{$\sqrt{5} \hspace*{\fill} (1)$

{\hspace*{\fill}}{\color{brown} Type: AlgebraicNumber }}}

{\color{red}\ttfamily{{\color{red} $\rightarrow$ }}}{\color{blue}
\verb|D(sqrt(x),x)|}

{\ttfamily{$\frac{1}{2 \sqrt{x}} \hspace*{\fill} (2)$

{\hspace*{\fill}}{\color{brown} Type: Expression Integer }}}

{\color{red}\ttfamily{{\color{red} $\rightarrow$ }}}{\color{blue}\verb||}

\end{document}

--------------020206060908080404000606
 name="test.tm"
 filename="test.tm"

PFRlWG1hY3N8MS4wLjY+Cgo8c3R5bGV8PHR1cGxlfGdlbmVyaWN8YXhpb20+PgoKPFxib2R5
PgogIDx3aXRofHByb2ctbGFuZ3VhZ2V8YXhpb218cHJvZy1zZXNzaW9ufGRlZmF1bHR8PFxz
ZXNzaW9uPgogICAgPFxpbnB1dHw8d2l0aHxjb2xvcnxyZWR8PHdpdGh8bW9kZXxtYXRofFw8
cmlnaHRhcnJvd1w+PiA+PgogICAgICBzcXJ0KDUpCiAgICA8L2lucHV0PgoKICAgIDxcb3V0
cHV0PgogICAgICA8d2l0aHxtb2RlfG1hdGh8bWF0aC1kaXNwbGF5fHRydWV8PHNxcnR8NT48
bGVxbm8+KDEpPgoKICAgICAgPGF4aW9tdHlwZXxBbGdlYnJhaWNOdW1iZXIgPgogICAgPC9v
dXRwdXQ+CgogICAgPFxpbnB1dHw8d2l0aHxjb2xvcnxyZWR8PHdpdGh8bW9kZXxtYXRofFw8
cmlnaHRhcnJvd1w+PiA+PgogICAgICBEKHNxcnQoeCkseCkKICAgIDwvaW5wdXQ+CgogICAg
PFxvdXRwdXQ+CiAgICAgIDx3aXRofG1vZGV8bWF0aHxtYXRoLWRpc3BsYXl8dHJ1ZXw8ZnJh
Y3wxfDI8c3FydHx4Pj48bGVxbm8+KDIpPgoKICAgICAgPGF4aW9tdHlwZXxFeHByZXNzaW9u
IEludGVnZXIgPgogICAgPC9vdXRwdXQ+CgogICAgPFxpbnB1dHw8d2l0aHxjb2xvcnxyZWR8
PHdpdGh8bW9kZXxtYXRofFw8cmlnaHRhcnJvd1w+PiA+PgogICAgICBcOwogICAgPC9pbnB1
dD4KICA8L3Nlc3Npb24+Pgo8L2JvZHk+
--------------020206060908080404000606
 name="test.xhtml"
 filename="test.xhtml"

[encoded data, 6059 characters]
ZHk+CjwvaHRtbD4=
--------------020206060908080404000606--

\start
Date: Mon, 15 Oct 2007 01:15:05 -0500
From: Mike Hansen
To: Ed Borasky
Subject: Re: CATS - Computer Algebra Test Suite
Cc: Arthur Ralfs

On a somewhat related note, you might also look into jsMath (
http://www.math.union.edu/~dpvc/jsMath/ ) which is able to display
high-quality typeset math in a web browser using LaTeX directly as
input.  For example, see
http://www.math.union.edu/~dpvc/jsMath/examples/Struik.html

\start
Date: 15 Oct 2007 08:35:13 +0200
From: Martin Rubey
To: Arthur Ralfs
Subject: Re: CATS - Computer Algebra Test Suite

Arthur Ralfs writes:

> As I mentioned I have a C program which is mostly complete at
> translating Axiom tex into mathml.  However I now think that
> introducing more external programs is not the best idea and
> that ideally the latex to mathml should either happen in Axiom
> or in the browser.  However that's a bit of a project.  I haven't
> used anything else myself.

I believe I mentioned several times before that I have done that via tex4ht
already.  The sources are on mathaction.  It has the advantage of being able to
deal with all of TeX and LaTeX and being able to output anything you like (dvi,
ps, pdf, html, mathml, jsmath, whatever tex4ht provides).

It has the slight disadvantage that it is necessary to have either a very fast
computer or to cache the results.  I do the latter.

\start
Date: Mon, 15 Oct 2007 01:57:13 -0500
From: Tim Daly
To: list
Subject: 20071014.01.acr.patch

This patch restores the correct page type handling for ContentType
=====================================================================
diff --git a/changelog b/changelog
index 7608e21..ea3d202 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,4 @@
+20071014 acr src/algebra/axserver.spad use getContentType(pathvar)
 20071013 acr license/license.ralfs license rewrite
 20071013 acr src/interp/http.lisp faster page service
 20071013 acr src/algebra/axserver.spad faster page service
diff --git a/src/algebra/axserver.spad.pamphlet b/src/algebra/axserver.spad.pamphlet
index 791d851..741840f 100644
--- a/src/algebra/axserver.spad.pamphlet
+++ b/src/algebra/axserver.spad.pamphlet
@@ -95,7 +95,7 @@ AxiomServer: public == private where
        WriteLine("")$Lisp
        WriteLine("getFile begin")$Lisp
        if not null? PATHNAME_-NAME(PATHNAME(pathvar)$Lisp)$Lisp then
-           contentType:String := "application/xhtml+xml"
+           contentType:String := getContentType(pathvar)
 	   q := Open(pathvar)$Lisp
 	   if null? q then
 	     q := MAKE_-STRING_-INPUT_-STREAM("File doesn't exist")$Lisp

\start
Date: Mon, 15 Oct 2007 02:14:29 -0500
From: Tim Daly
To: Arthur Ralfs, Alasdair McAndrew, Alfredo Portes
Subject: new hyperdoc changes

I've commited a patch that fixes the ContentType page handling the way
Arthur originally intended. (See 20071014.01.acr.patch).

I've checked the latest set of pages into doyen's svn repository.

To show the latest changes you need to 

BUILD AXIOM
1) build the latest silver release of axiom from savannah 
   or from my git repository (as of 3AM EST this morning)

GET NEW HYPERDOC
2) check out newhyper.pamphlet, bigbayou.png, and axbook.tgz 
   from the doyen repository

SET UP THE HOMEDIR
3) mkdir -p /home/silver/bitmaps           
4) cp newhyper.pamphlet /home/silver
5) cp bigbayou.png /home/silver
6) cp axbook.tgz /home/silver
7) cd /home/silver

SET UP THE ENVIRONMENT
8) export AXIOM=(where)
9) export PATH=$AXIOM/bin/lib:$AXIOM/bin:$PATH

GET THE PAGE SOURCES
10) notangle -t8 newhyper.pamphlet > Makefile
11) make
12) tar -zxf axbook.tgz

MAKE AXIOM LISTEN
13) axiom -noht
 -> )set mes auto off
 -> )set out mathml on
 -> axServer(8085,multiServ)$AXSERV

SEE THE RESULTS
Start firefox and go to:
  file:///home/silver/rootpage.xhtml

Most of the changes are under the Topics and Axiom book branch.

The Axiom book branch has links to the work done by Arthur.
Now the new hyperdoc has the complete Jenks book.

The Topics branch has a full layer expansion. Almost all pages beyond
the third layer are stubs so far. I'm working top-down, breadth-first
on the hyperdoc documentation. However, all of Alasdair's notes are
in the Cryptography Topic and fully expanded.

As usual, send questions.

\start
Date: 15 Oct 2007 14:48:41 +0200
From: Francois Maltey
To: list
Subject: How to enumerate a product of lists (or integer sets)

Hello, 

I try to enumerate all the matrices

[[     a,      b, 15-a-b],
 [     c,      d, 15-c-d],
 [15-a-c, 15-b-d, 15-a-d]]   with (a,b,c,d) in 1..9.

in fact (a, d) are members of 2..8, 
    and (b, c) are in 1..9.

It's the first question of an exercice which try to find 
the magic matrix with the same sum in all directions.

With axiom I only find this multi-line command :
L := reduce
 (append, 
  [reduce
   (append, 
    [reduce
     (append, 
      [[matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]] 
        for a in 1..9] for b in 1..9]) for c in 1..9]) for d in 1..9]) ;

a train of for creates only one zip-list.
[[i,j]for i in 1..5 for j in 1000..2000] create the short list
[[1,1000],[2,1001],[3,1002],[4,1003],[5,1004]].

The syntax of mupad/maple is shorter with the operator $

L :=  [matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]] 
          $for a in 1..9 $for b in 1..9 $for c in 1..9 $for d in 1..9] :

Maple needs quote ":" in order to restain the evaluation.

L :=  ['''matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]] 
          $for a in 1..9' $for b in 1..9' $for c in 1..9' $for d in 1..9] :

Is there an other way with axiom ?

\start
Date: 15 Oct 2007 15:20:16 +0200
From: Martin Rubey
To: Francois Maltey
Subject: Re: How to enumerate a product of lists (or integer sets)

Francois Maltey writes:

> With axiom I only find this multi-line command :
> L := reduce
>  (append, 
>   [reduce
>    (append, 
>     [reduce
>      (append, 
>       [[matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]] 
>         for a in 1..9] for b in 1..9]) for c in 1..9]) for d in 1..9]) ;

you can shorten this in two different ways:

* reduce(append, l) is the same as concat l, thus, you can write

L := concat [concat [concat [[matrix [[a,b,15-a-b],_
                                      [c,d,15-c-d],_
                                      [15-a-c,15-b-d,15-a-d]] _
                              for a in 1..9]_
                             for b in 1..9]_
                     for c in 1..9] _
             for d in 1..9]

* you could first generate all Cartesian products with

L := concat [concat [concat [[[a,b,c,d] _
                              for a in 1..9] _
                             for b in 1..9] _
                     for c in 1..9] _
             for d in 1..9]

and then loop over them:

[eval(matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]], [a,b,c,d], l) for l in L]

> a train of for creates only one zip-list.

Yes, and that's something very useful! For example

[f(l) for l in L for i in 1..4]

only uses the first for elements in L, or

[f(l, i) for l in L for i in 1..]

is in my opinion much better to read then

[f(L.i, i) for i in 1..#L]

\start
Date: 15 Oct 2007 16:53:32 +0200
From: Francois Maltey
To: Martin Rubey
Subject: Re: How to enumerate a product of lists (or integer sets)

Many thanks dear Martin !

> L := concat [concat [concat [[[a,b,c,d] _
>                               for a in 1..9] _
>                              for b in 1..9] _
>                      for c in 1..9] _
>              for d in 1..9]
> 
> and then loop over them:
> 
> [eval(matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]], [a,b,c,d], 
>                 l) for l in L]

I ignore this way. It's better than this too long command line map :
map (l +-> matrix [[l.1,l.2,15-l.1-l.2],[...],[...]], L)

In mupad there is the short-cut
map ([a,b,c,d] -> matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]], L)

Is there no way to find it in axiom ?

The eval seems quite different : 
the map doesn't create any symbolic matrix 
but the eval create symbolic matrices. Am I right ?

> > a train of for creates only one zip-list.
> Yes, and that's something very useful! For example
 
> [f(l, i) for l in L for i in 1..]
> is in my opinion much better to read then [f(L.i, i) for i in 1..#L]
> and [f(l) for l in L for i in 1..4] for the four first.
 
It's right ! train of for are useful.

But I take note that exercices for my students use a lot 
of cartesian products with $...$... and very view train of for as above.

I don't suggest a where operator [f(i,j) for i in 1..10 where j in L] 
for cartesian product ;-)

\start
Date: 15 Oct 2007 17:03:18 +0200
From: Martin Rubey
To: Francois Maltey
Subject: Re: How to enumerate a product of lists (or integer sets)

Francois Maltey writes:

> > L := concat [concat [concat [[[a,b,c,d] _
> >                               for a in 1..9] _
> >                              for b in 1..9] _
> >                      for c in 1..9] _
> >              for d in 1..9]
> > 
> > and then loop over them:
> > 
> > [eval(matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]], [a,b,c,d], 
> >                 l) for l in L]
> 
> I ignore this way. It's better than this too long command line map :
> map (l +-> matrix [[l.1,l.2,15-l.1-l.2],[...],[...]], L)
> 
> In mupad there is the short-cut
> map ([a,b,c,d] -> matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]], L)

yes, I'd love to have this, too.  I think in aldor it should work.

> The eval seems quite different : 
> the map doesn't create any symbolic matrix 
> but the eval create symbolic matrices. Am I right ?

Well, not the eval, but

matrix [[a,b,15-a-b],[c,d,15-c-d],[15-a-c,15-b-d,15-a-d]]

which really results in the same problem, though.

> But I take note that exercices for my students use a lot of cartesian
> products with $...$... and very view train of for as above.

Well, parallel iteration is not found in many languages, it is really a
strenght of Axiom/Aldor.

\start
Date: Mon, 15 Oct 2007 08:33:50 -0700
From: Arthur Ralfs
To: Martin Rubey
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

Martin Rubey wrote:
> Arthur Ralfs writes:
>
>   
>> Sorry, I misunderstood.  I thought you meant the sources were on Mathaction.
>>     
>
> The sources of my program are on mathaction:
>
> http://wiki.axiom-developer.org/SandBoxHyperDocReplacement
>
> My program requires tex4ht, which is in my opinion a good idea, because tex4ht
> is quite standard, and uses TeX itself to produce its results.  As a
> consequence, it can deal with all of TeX, not only with a subset.  This is, in
> my opinion again, very necessary, since I want to use LaTeX for documentation,
> not a subset as HyperDoc does it currently.
>
> I think it is not a good idea to reinvent tex4ht, nor do I think it is a good
> idea to do without LaTeX.
>   
I have no plan to do without latex.  I think mathml is primarily useful
for producing
nice output in a browser.  Although if we can get content mathml out of
axiom it may
prove more useful, but still not a replacement for latex.

\start
Date: Mon, 15 Oct 2007 11:40:37 -0400
From: Tim Daly
To: Martin Rubey
Subject: Re: CATS - Computer Algebra Test Suite

I found only 1 mention of tex4ht on MathAction.
It appears in the summer of code section.
Do you have a reference?

\start
Date: 15 Oct 2007 17:51:35 +0200
From: Martin Rubey
To: Tim Daly
Subject: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

Tim Daly writes:

> I found only 1 mention of tex4ht on MathAction.  It appears in the summer of
> code section.  Do you have a reference?

http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html



I have written the beginnings of a replacement for hyperdoc a while ago. I even
advertised it here, but nobody showed any interest, so I didn't pursue it
further.

You can find it on 

http://wiki.axiom-developer.org/SandBoxHyperDocReplacement

Before you can use it, you have to install tex4ht, which is standard with, for
example,

apt-get install tex4ht

As far as I remember, it also depends on a few fixes at the time only found in
wh-sandbox, but I imagine they have found their way to axiom already.

I'd love to see it resurrected.  It provides dynamic lookup, dynamic generation
of html -- or mathml, jsmath, etc., that's trivial to configure.

It assumes that people do not have super fast machines, so the results of the
translation to html are cached.  This could certainly be done better.  I
thought one would generate the necessary html database during build time,
adding a constructor would update the database dynamically.  Since I am not
into databases, I did not waste any time to design a sensible structure, but
that certainly could be done.

Again, the only point of my little program was to show that it should be fairly
easy to replace the hyperdoc rendering by a browser rendering, while keeping
all the other functionality.

\start
Date: Mon, 15 Oct 2007 17:53:59 +0200
From: Ralf Hemmecke
To: Arthur Ralfs
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

>> I think it is not a good idea to reinvent tex4ht, nor do I think it is a good
>> idea to do without LaTeX.
>>   
> I have no plan to do without latex.  I think mathml is primarily useful
> for producing
> nice output in a browser.  Although if we can get content mathml out of
> axiom it may
> prove more useful, but still not a replacement for latex.

As far as I know, tex4ht can also produce mathml. I think that I had 
some problems, though.

\start
Date: Mon, 15 Oct 2007 12:04:08 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

I followed that link and found your code. 

I can see where your approach is a more general way to put latex
documentation into a new hyperdoc.

I can see where Arthur's approach makes the equations "live".

We should give some thought to merging the spad code concepts
so the hyperdoc-firefox front end has more choices available to it.
In particular we should probably design a generic "hyper" domain.
And a generic "request/response" protocol so others can use it from
places other than the web browser.

I know we're going to need the output from system commands such as:
  )show Polynomial(Fraction(Integer))
and we'll need to be able to make database calls like asq does.

Also it would be nice to export draw commands for the browser.
The key problem is that currently draw assumes sman. If there
were another version draw that wrote to a file we could invoke
viewalone on the file. Once this works we no longer need sman,
clef, session, hyper, the special sockets, the lisp code to
support sman, or the lisp code to support hyperdoc. Huge pieces
of the system fall away and life is much easier. Nearly all the
non-graphics lisp code disappears from axiom.

It would also be nice to do things like save session history so the
user could construct a web page with input/output or write it to a file.

\start
Date: Mon, 15 Oct 2007 12:21:26 -0400
From: Tim Daly
To: Martin Rubey
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

Thanks for the TeX4ht link.

The sources for TeX4ht are literate. I found it amusing that he uses
the "basement mentality" ... 

  throw in without much scrutiny any item of possible value at some
  point of time, and clean a corner when the need arises for working
  on a specific issue of the code

My primary goal at the moment is to get almost all of hyperdoc moved
into xhtml pages on as "as is" basis. Since writing web pages is so
trivial anyone can rewrite/reformat/add anything. For instance, it
only took a day of hacking to turn Alasdair Crypto work into web
pages. Another day or two of hacking and those pages will eventually
have "live" equations.

I had an off-list discussion over the weekend about creating a domain
that does drawing into flash format which would allow "video" kinds
of output (e.g. evolving surfaces) from Axiom to be displayed in firefox.

\start
Date: 15 Oct 2007 21:06:45 +0200
From: Martin Rubey
To: Tim Daly
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

Tim Daly writes:

> I know we're going to need the output from system commands such as:
>   )show Polynomial(Fraction(Integer))
> and we'll need to be able to make database calls like asq does.

Eh, but that's exactly what my package does!?  Did you look at it?  Did you try
it?

\start
Date: Mon, 15 Oct 2007 15:16:23 -0400
From: Tim Daly
To: Martin Rubey
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

>> I know we're going to need the output from system commands such as:
>>   )show Polynomial(Fraction(Integer))
>> and we'll need to be able to make database calls like asq does.
>
>Eh, but that's exactly what my package does!?  Did you look at it?  Did you try
>it?

Not yet. I downloaded it but I'm working at my real job at the moment.
I'll look at it later this evening.

\start
Date: Mon, 15 Oct 2007 18:14:14 -0700
From: Arthur Ralfs
To: Alfredo Portes, Tim Daly
Subject: axserver console interaction

I've posted some changes to axserver on doyen
to test a different method of console interaction.  The method
of showing/hiding branches is a little clunky but gives the idea
of what sort of functionality I have in mind.  I show borders for
now to make the structure clear.  This is more or less what
I'd like myself (unless someone comes up with something
I like better) but it would be easy to let users choose from more
than one method.

\start
Date: Mon, 15 Oct 2007 21:28:16 -0400
From: Alfredo Portes
To: Arthur Ralfs
Subject: Re: axserver console interaction

Hi Arthur,

I am getting the following error with revision 34:

Error: mathBox.firstChild.nextSibling has no properties
Source File: http://127.0.0.1:8085/home/alfredo/sandbox/axserver/axserver/axserver.js
Line: 180

Regards,

Alfredo

On 10/15/07, Arthur Ralfs wrote:
> Alfredo, Tim,
>
> I've posted some changes to axserver on doyen
> to test a different method of console interaction.  The method
> of showing/hiding branches is a little clunky but gives the idea
> of what sort of functionality I have in mind.  I show borders for
> now to make the structure clear.  This is more or less what
> I'd like myself (unless someone comes up with something
> I like better) but it would be easy to let users choose from more
> than one method.

\start
Date: Mon, 15 Oct 2007 19:14:25 -0700
From: Arthur Ralfs
To: Alfredo Portes
Subject: Re: axserver console interaction

Alfredo,

I made a minor change to the format of the response
from axserver.spad.  Are you using the new one or
an old one?  I just checked what I uploaded and it's
working for me.

I simplified the format a the axserver response to:

<div class="stepnum">stepnum</div>
<div class="command">command</div>
<div class="algebra">algebra</div>
<div class="mathml">mathml</div>
<div class="type">type</div>

whereas before I had, for instance,

<div class="command">(stepnum) -> <form><input value="command"
.../></form></div>

Now I add the extra stuff in the javascript.
I thought cluttering up the axiom response with
with things other than the raw data was maybe not the
best.  However I can easily add different functions to
deliver a format to keep everybody happy.

Arthur

Alfredo Portes wrote:
> Hi Arthur,
>
> I am getting the following error with revision 34:
>
> Error: mathBox.firstChild.nextSibling has no properties
> Source File: http://127.0.0.1:8085/home/alfredo/sandbox/axserver/axserver/axserver.js
> Line: 180
>
> Regards,
>
> Alfredo
>
> On 10/15/07, Arthur Ralfs wrote:
>   
>> Alfredo, Tim,
>>
>> I've posted some changes to axserver on doyen
>> to test a different method of console interaction.  The method
>> of showing/hiding branches is a little clunky but gives the idea
>> of what sort of functionality I have in mind.  I show borders for
>> now to make the structure clear.  This is more or less what
>> I'd like myself (unless someone comes up with something
>> I like better) but it would be easy to let users choose from more
>> than one method.

\start
Date: Mon, 15 Oct 2007 19:33:27 -0700
From: Arthur Ralfs
To: Martin Rubey
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

Martin,

I took a look at the tex4ht package.  Maybe I should tell you
what my "agenda" is.

I am motivated to make mathematical content and functionality
as easy as possible to access on the web.

To me the only possibility for doing this is by using a web
browser as the interface.

Philosophically any software I use must be Free in the sense
of Richard M. Stallman.

I want a potential user to be able to navigate to a URL in their
browser and be exposed to full mathematical content and
functionality.  To be as easy as possible the user should not
have to download or install any other packages or plugins.
This means using only native browser capability.  I think I
have demonstrated that this is possible although of course
much work remains to be done.

The tex4ht package looks like it's too hard to install.  I don't
run a debian based system.  The only way tex4ht would fit
with my plan is if it was bundled and configured with axiom.

I am not against other approaches.  The more the merrier.
But for  now I am only interested in the above.

Arthur


Martin Rubey wrote:
> Tim Daly writes:
>
>   
>> I found only 1 mention of tex4ht on MathAction.  It appears in the summer of
>> code section.  Do you have a reference?
>>     
>
> http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html
>
>
>
> I have written the beginnings of a replacement for hyperdoc a while ago. I even
> advertised it here, but nobody showed any interest, so I didn't pursue it
> further.
>
> You can find it on 
>
> http://wiki.axiom-developer.org/SandBoxHyperDocReplacement
>
> Before you can use it, you have to install tex4ht, which is standard with, for
> example,
>
> apt-get install tex4ht
>
> As far as I remember, it also depends on a few fixes at the time only found in
> wh-sandbox, but I imagine they have found their way to axiom already.
>
> I'd love to see it resurrected.  It provides dynamic lookup, dynamic generation
> of html -- or mathml, jsmath, etc., that's trivial to configure.
>
> It assumes that people do not have super fast machines, so the results of the
> translation to html are cached.  This could certainly be done better.  I
> thought one would generate the necessary html database during build time,
> adding a constructor would update the database dynamically.  Since I am not
> into databases, I did not waste any time to design a sensible structure, but
> that certainly could be done.
>
> Again, the only point of my little program was to show that it should be fairly
> easy to replace the hyperdoc rendering by a browser rendering, while keeping
> all the other functionality.

\start
Date: Mon, 15 Oct 2007 22:44:11 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: re: axserver console interaction

>Alfredo,
>
>I made a minor change to the format of the response
>from axserver.spad.  Are you using the new one or
>an old one?  I just checked what I uploaded and it's
>working for me.
>
>I simplified the format a the axserver response to:
>
><div class="stepnum">stepnum</div>
><div class="command">command</div>
><div class="algebra">algebra</div>
><div class="mathml">mathml</div>
><div class="type">type</div>
>
>whereas before I had, for instance,
>
><div class="command">(stepnum) -> <form><input value="command"
>.../></form></div>
>
>Now I add the extra stuff in the javascript.
>I thought cluttering up the axiom response with
>with things other than the raw data was maybe not the
>best.  However I can easily add different functions to
>deliver a format to keep everybody happy.
>
>Arthur

Ok. I'll look at it tonight if I get the chance.

I'm working on an example of the "free" mechanism from the old hyperdoc.
I'm trying to craft a generic solution to the problem so we just need
to embed the single javascript function.

\start
Date: Mon, 15 Oct 2007 19:46:20 -0700
From: Alfredo Portes
To: Arthur Ralfs
Subject: Re: axserver console interaction

Hi Arthur,

On 10/15/07, Arthur Ralfs wrote:
> Alfredo,
>
> I made a minor change to the format of the response
> from axserver.spad.  Are you using the new one or
> an old one?  I just checked what I uploaded and it's
> working for me.

Yes I am using the latest axserver.spad. I will test
again with a fresh checkout. I am also about to test
in Windows.

> I simplified the format a the axserver response to:
[...]
> Now I add the extra stuff in the javascript.
> I thought cluttering up the axiom response with
> with things other than the raw data was maybe not the
> best.  However I can easily add different functions to
> deliver a format to keep everybody happy.

Yeah this was very good idea, it is much cleaner now.
Also with the changes you made it is much faster, great work.

By the way as a side project I started writing a clone of
Hyperdoc in Java, using AxServer also.

I tried to keep the same look and feel.
Currently it can use ht.db to find the Hyperdoc Pages in
the link between pages, and display the content in raw form.
Of course now I need a parser to convert the latex
like syntax of the pages into html.

If you want to play with it:

svn co https://alfredoportes.com/svn/jaxiom/trunk jyperdoc :-)

\start
Date: Mon, 15 Oct 2007 22:56:33 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

>Arthur wrote:
>I took a look at the tex4ht package.  Maybe I should tell you
>what my "agenda" is.
>
>I am motivated to make mathematical content and functionality
>as easy as possible to access on the web.
>
>To me the only possibility for doing this is by using a web
>browser as the interface.

I'm motivated to move to the web browser so I can lose all of
the non-portable "portable C code". All I want to depend on is
a socket interface if we can arrange it. Except for drawing
(so far), everything else can be done better in the browser.

>
>Philosophically any software I use must be Free in the sense
>of Richard M. Stallman.
>
>I want a potential user to be able to navigate to a URL in their
>browser and be exposed to full mathematical content and
>functionality.  To be as easy as possible the user should not
>have to download or install any other packages or plugins.
>This means using only native browser capability.  I think I
>have demonstrated that this is possible although of course
>much work remains to be done.

There is an issue of the fonts but I contacted the STIX font
group about packaging the fonts with Axiom and they said:

   The beta version of the fonts should be released within two weeks.
   I will see that your email address is added to our notification
   list for receiving an alert when the fonts become available for
   download.  Yes, you can package these fonts with Axiom so the end
   user can install them as part of the axiom install.  See the terms
   of the license available as a link from the home page of the STIX
   website.

I've been unable to find the Math1, Math2, and Math4 fonts (which
include things like multi-sized parens) so I'm hopeful that STIX
will solve that issue.

>
>The tex4ht package looks like it's too hard to install.  I don't
>run a debian based system.  The only way tex4ht would fit
>with my plan is if it was bundled and configured with axiom.
>
>I am not against other approaches.  The more the merrier.
>But for  now I am only interested in the above.

I've looked at TeX4ht and it might be useful for showing pamphlets
directly in the hypertex-browser so I've put it on the list of
things to try. At the moment I'm pretty focused on getting the
old hyperdoc implemented in the browser but I have a long wish
list of new ideas that keep screaming for attention. The browser
really opens up a whole new path of opportunity not available 
from hyperdoc.

I think that the functions from Martin's domain can be added to
axserver without too much difficulty. 

I think we need a way to specify "out of band" commands so they
can execute other functions in the domain. This would solve the
problem, which Martin's code solves, of doing things like calling
lisp functions for database lookup.

\start
Date: Tue, 16 Oct 2007 02:12:50 -0400
From: Tim Daly
To: Arthur Ralfs
Subject: Re: Hyperlinks
Cc: Constantine Frangos

>> Tim Daly writes:
>> I need to understand this problem and the Suse problem in gcl
>> so I can give Camm some patches.

Arthur Ralfs writes:
>What problem are you having on Suse?  That's what I use.
>
>Arthur

Arthur, 

I've attached some of the correspondence with C. Frangos.

C. Frangos installed Axiom on Suse 10.2 on a 64 bit machine.
It appears that GCL cannot find the GCC compiler even though the
compiler appears to be available and on the path. I built a Suse10.2
image again this weekend but didn't get a chance to try to build
Axiom on it.

These are the replies but I don't understand them (since I haven't
spent the necessary time to reproduce the problem yet).

Do these make sense to you? 
Do you have the same problem?
If you have a clue perhaps I can make a suse stanza to fix it.

==================================================================
There were two responses to your email re. the problem I have with
the axiom installation (see below).

Unfortunately, I do not know lisp so its not clear what should be
done.

Any assistance would be much appreciated.


> >
> >BOOT>(compile 'foo)
> >cc1: error: /root/axiom/mnt/fedora5/bin/../h: Permission denied
> >

I belive this is the same problem as discussed in the thread starting at:

http://lists.nongnu.org/archive/html/axiom-developer/2007-02/msg00186.html

It not easy to decide whom to blame (and which programs should be fixed).
In wh-sandbox I worked around the problem by making sure that for
user compiler::*default-system-p* is set to nil (it _must_ be set
to t during build).

Greetings!

Turning off si::*default-system-p* as Waldek said works, but does so
by copying the header contents into each .c file to be compiled.  One
can also add :system-p nil to the compile-file command.  The real
issue is that apparently the install mechanism has not reset the
system library paths to their installed location.

In particular, when you move the compiled source tree (keeping its
structure intact), the si::*system-directory* and si::*lib-directory*
must be set to their final locations.  There is a routine
si::reset-sys-paths to help with this:

(defun reset-sys-paths (s)
  (declare (string s))
  (setq si::*lib-directory* s)
  (setq si::*system-directory* (si::string-concatenate s "unixport/"))
  (let (nl)
    (dolist (l '("cmpnew/" "gcl-tk/" "lsp/" "xgcl-2/"))
      (push (si::string-concatenate s l) nl))
    (setq si::*load-path* nl))
  nil)

i.e.

>(si::reset-sys-paths "/new/location/gcl-install/")
>(si::save-system "foo")


mv foo /new/location/gcl-install/unixport/


GCL's make install is supposed to do this, but if the axiom build is
moving gcl images around by hand, this needs to be invoked at some
point.

Bob Boyer once convinced me that autoloading and other dependence on
runtime files to be found in particular locations was a really bad
idea.  One great thing about GCL, IMHO, is that one can use it as a
completely self-contained stand-alone binary which can be moved around
at will (provided at least, of cource, that one sets
si::*default-system-p* to nil).

Take care,



Tim Daly writes:

> Camm,
>
> GCL seems to have built on Suse 10.2 and the system command works.
> The GCC compiler appears to be in the path. Yet it appears that
> GCL cannot execute it. CC1 seems to be looking in the wrong place
> for the .h files. Do you have any insight into this?
>
> Tim
>
> From: "C. Frangos" Constantine Frangos
> Subject: Re: Installing axiom on suse linux 10.2
> To: Tim Daly
> Date: Wed, 3 Oct 2007 23:00:10 +0200
> Reply-To: Constantine Frangos
>
>
> I tried  the instructions and it seems that the )sys command is
> working.
>
> I use this command to delete foo1, and call gcc in order to compile =
one of

my
> C programs located in another directory (see below).
>
> It seems that gcc is on the path, but I dont recall the linux command =
to
> explicitly check this.
>
> Regards,
>
> C. Frangos.
>
>
> (1) -> )sys rm /home/cfrangos/temp/foo1                   
> (1) -> )sys gcc -o test1 /home/cfrangos/src/agvs1.c -lm -O3
> (1) ->
>

\start
Date: 16 Oct 2007 08:23:23 +0200
From: Martin Rubey
To:  
Subject: Re:  Re: HyperDoc replacement

Arthur Ralfs writes:

> The tex4ht package looks like it's too hard to install.  I don't
> run a debian based system.  The only way tex4ht would fit
> with my plan is if it was bundled and configured with axiom.

I think that would not be a problem.  But in what sense and why do you think
that tex4ht is "hard to install"?

\start
Date: Tue, 16 Oct 2007 10:48:51 +0200
From: Ralf Hemmecke
To: Eitan Gurari
Subject: Re: HyperDoc replacement, was: Re: CATS - Computer Algebra Test Suite

Dear Eitan,

do you know the exact reason why tex4ht, is not already bundled with 
major tex distributions?

Ralf

On 10/16/2007 04:33 AM, Arthur Ralfs wrote:
> Martin,
> 
> I took a look at the tex4ht package.  Maybe I should tell you
> what my "agenda" is.
> 
> I am motivated to make mathematical content and functionality
> as easy as possible to access on the web.
> 
> To me the only possibility for doing this is by using a web
> browser as the interface.
> 
> Philosophically any software I use must be Free in the sense
> of Richard M. Stallman.
> 
> I want a potential user to be able to navigate to a URL in their
> browser and be exposed to full mathematical content and
> functionality.  To be as easy as possible the user should not
> have to download or install any other packages or plugins.
> This means using only native browser capability.  I think I
> have demonstrated that this is possible although of course
> much work remains to be done.
> 
> The tex4ht package looks like it's too hard to install.  I don't
> run a debian based system.  The only way tex4ht would fit
> with my plan is if it was bundled and configured with axiom.
> 
> I am not against other approaches.  The more the merrier.
> But for  now I am only interested in the above.

\start
Date: 16 Oct 2007 16:47:06 +0200
From: Martin Rubey
To: Gabriel Dos Reis
Subject: Re:  [Axiom-mail] A little print problem

Gabriel Dos Reis writes:

> Ralf Hemmecke writes:
> 
> | Ooops. Anybody else experiencing this?
> | Clearly, I gave wrong input first, but the error message is frightening.
> 
> OpenAxiom correctly computed the result.  It was the pretty printer
> that had problems printing the result.  I'm looking into it.

wh-sandbox does not have this problem, it seems.

\start
Date: Tue, 16 Oct 2007 07:54:28 -0700
From: Arthur Ralfs
To: Martin Rubey
Subject: re:  Re: HyperDoc replacement

Martin Rubey wrote:
> Arthur Ralfs writes:
>
>   
>> The tex4ht package looks like it's too hard to install.  I don't
>> run a debian based system.  The only way tex4ht would fit
>> with my plan is if it was bundled and configured with axiom.
>>     
>
> I think that would not be a problem.  But in what sense and why do you think
> that tex4ht is "hard to install"?
>
> Martin
>
>
>
> _
Looking at the home page I saw directions for updating and a link
to some precompiled systems but no directions for  a general
from scratch build.  It looks like an interesting project though.
Do you think you can get it working as part of an axiom build?

\start
Date: 16 Oct 2007 17:17:40 +0200
From: Martin Rubey
To: list
Subject: Re:  re:  Re: HyperDoc replacement
Cc: Eitan Gurari

Arthur Ralfs writes:

> Looking at the home page I saw directions for updating and a link
> to some precompiled systems but no directions for  a general
> from scratch build.  

I believe you would just have to follow:

   Establishing ports from scratch for Unix and MS Windows require additional
   effort, mainly because of the need to set up non-native utilities

But certainly Eitan is the one to ask.

> Do you think you can get it working as part of an axiom build?

No.  I'm a mathematician ;-)

But since tex4ht's status on ctan.org is "maintained", I'd trust that people in
the know should get it working.  Maybe Eitan would help, if necessary.

\start
Date: Tue, 16 Oct 2007 10:25:14 -0500 (CDT)
From: Gabriel Dos Reis
To:  
Subject: Re:  re:  Re: HyperDoc replacement
Cc: Eitan Gurari

On Tue, 16 Oct 2007, Martin Rubey wrote:

| > Do you think you can get it working as part of an axiom build?
| 
| No.  I'm a mathematician ;-)

So, those working to get the system built and running are not
mathematicians? 

\start
Date: Tue, 16 Oct 2007 13:34:18 -0400
From: Eitan Gurari
To: Martin Rubey
Subject: Re:  re:  Re: HyperDoc replacement

 > > Looking at the home page I saw directions for updating and a link
 > > to some precompiled systems but no directions for  a general
 > > from scratch build.  
 > 
 > I believe you would just have to follow:
 > 
 >    Establishing ports from scratch for Unix and MS Windows require additional
 >    effort, mainly because of the need to set up non-native utilities

Yes, the `unix' and `MS Windows' links at

    http://www.cse.ohio-state.edu/~gurari/TeX4ht/

are provided for building the system from scratch.

 > But certainly Eitan is the one to ask.

I'll be glad to help with specific questions.

\start
Date: Tue, 16 Oct 2007 21:52:55 -0700
From: Arthur Ralfs
To: Martin Rubey
Subject: Re:  re:  Re: HyperDoc replacement
Cc: Eitan Gurari

Martin Rubey wrote:
> Arthur Ralfs writes:
>
>   
>> Looking at the home page I saw directions for updating and a link
>> to some precompiled systems but no directions for  a general
>> from scratch build.  
>>     
>
> I believe you would just have to follow:
>
>    Establishing ports from scratch for Unix and MS Windows require additional
>    effort, mainly because of the need to set up non-native utilities
>
> But certainly Eitan is the one to ask.
>
>   
Martin,

I checked the building from scratch directions for Unix.  They consist
of 23 separate steps.  Some of the steps involve complications that are
not immediately obvious.  I would have to really really want to use
tex4ht to bother with it.  All I want to do is test out some latex to mathml
conversions.  Maybe you could do that for me and post the results?

\start
Date: Tue, 16 Oct 2007 23:07:37 -0700
From: Arthur Ralfs
To: Eitan Gurari
Subject: Re:  re:  Re: HyperDoc replacement

Eitan Gurari wrote:
>  > tex4ht to bother with it.  All I want to do is test out some latex to mathml
>  > conversions.  
>
> I just compiled the AMS test file into
>
>     http://www.cse.ohio-state.edu/~gurari/temp/testmath.xht
>     http://www.cse.ohio-state.edu/~gurari/temp/testmath.pdf
>
> using the following command line for xhtml+mathml 
>
>     mzlatex testmath "html,3,mathplayer,mathml-"
>
> -eitan
>   
Eitan,

Thanks.  The capabilities of tex4ht look very impressive.   In order
to be useful in axiom I think it needs to be included as part of the
axiom build.  I don't know at this point who might be up for doing
that, or if it would be acceptable to the maintainers of the various
axiom forks.

\start
Date: Thu, 18 Oct 2007 02:23:42 -0500
From: Tim Daly
To: Arthur Ralfs, Alfredo Portes
Subject: newhyper.pamphlet

I've rewritten newhyper.pamphlet to use the new output format from
axserver.spad. Now the basic command pages show the input command
as well as the output exactly as before. But the new pages, like
Integer, only show the mathml output.

I still have to build and test a release of Axiom that has the new
axserver.spad and http.lisp but once it builds and passes tests I'll
post the new hyperdoc pages.

\start
Date: Sat, 20 Oct 2007 18:43:00 +0200 (CEST)
From: Franz Lehner
To: list
Subject: hashing

since hashing and remember tables came up recently,
I have a question how it works.
)set fun cache
apparently does not work on self compiled functions
and anyways it was remarked that the remember
table should be part of the function itself.
In fact it is easy to get such a function
by simply overloading 'apply' in Table
and make it update itself whenever a new
argument value is encountered.
This works quite well for recursive (noncommutative) cumulant
tables which I am currently computing,
however it is not clear to me how the Table domain works.
In
    src/algebra/table.spad.pamphlet
I see

Implementation ==> InnerTable(Key, Entry,
    if hashable(Key)$Lisp then HashTable(Key, Entry, "UEQUAL")
        else AssociationList(Key, Entry))

hashable()$Lisp is a rather mysterious function.
The only other place where it is mentioned its definition in
src/interp/spad.lisp.pamphlet:

(defun |knownEqualPred| (dom)
   (let ((fun (|compiledLookup| '= '((|Boolean|) $ $) dom)))
       (if fun (get (bpiname (car fun)) '|SPADreplace|)
           nil)))

(defun |hashable| (dom)
    (memq (|knownEqualPred| dom)
    #-Lucid '(EQ EQL EQUAL)
    #+Lucid '(EQ EQL EQUAL EQUALP)
    ))

Trying it out interactively gives no clue for me either,
apparently it is not a Boolean function.
My table now has 18000 entries and further calculations
are rather slow, therefore I suspect that my key
(which is a custom domain) is not "hashable"
and therefore an AssociationList is used instead of a HashTable.
This leads to my questions:
1. Which domains are hashable?
2. does the "hash" function have anything to do with this?
    However hash returns 0 anyways for most domains I tried.
3. How do I make my key domains hashable?

\start
Date: Sat, 20 Oct 2007 22:55:36 -0500
From: Tim Daly
To: Arthur Ralfs, Alfredo Portes
Subject: 20071020.01.acr.patch

This patch changes the AJAX communication to use the new return values
for new hyperdoc.

==========================================================================
diff --git a/changelog b/changelog
index ea3d202..74bd7c2 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20071019 acr src/interp/http.lisp use new return values
+20071019 acr src/algebra/axserver.spad use new return values
 20071014 acr src/algebra/axserver.spad use getContentType(pathvar)
 20071013 acr license/license.ralfs license rewrite
 20071013 acr src/interp/http.lisp faster page service
diff --git a/src/algebra/axserver.spad.pamphlet b/src/algebra/axserver.spad.pamphlet
index 741840f..ead58da 100644
--- a/src/algebra/axserver.spad.pamphlet
+++ b/src/algebra/axserver.spad.pamphlet
@@ -11,22 +11,6 @@ to axiom.
 \eject
 \tableofcontents
 \eject
-\section{Running Axiom Server}
-
-Put the extracted files in a suitable directory, like the one you
-started Axiom from, and issue the commands:
-
-\begin{verbatim}
-)set message autoload off
-)set output mathml on
-axServer(8085,multiServ$AXSERV)
-\end{verbatim}
-
-Of course you need a mathml enabled build of axiom to do this.
-
-Once you've done this Axiom will be in a wait loop on a socket
-listening on port 8085. You can connect to this port by sending 
-the browser to the URL.
 \section{Axiom Server}
 <<package AXSERV AxiomServer>>=
 
@@ -58,48 +42,45 @@ AxiomServer: public == private where
        if not null?(SiListen(s)$Lisp)$SExpression then
          w := SiAccept(s)$Lisp
          serverfunc(w)
---         i := 0
+--        i := 0
 
    multiServ(s:SExpression):Void ==
          WriteLine("multiServ begin")$Lisp
          headers:String := ""
          char:String
          -- read in the http headers
-         while (_
-          char := STRING(READ_-CHAR_-NO_-HANG(s,NIL$Lisp,'EOF)$Lisp)$Lisp)_
-           ^= "EOF" repeat
+         while (char := STRING(READ_-CHAR_-NO_-HANG(s,NIL$Lisp,'EOF)$Lisp)$Lisp) ^= "EOF" repeat
              headers := concat [headers,char]
-	 WriteLine(headers)$Lisp
+         sayTeX$Lisp headers
          StringMatch("([^ ]*)", headers)$Lisp
          u:UniversalSegment(Integer)
-         u := segment(MatchBeginning(1)$Lisp+1,_
-                      MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+         u := segment(MatchBeginning(1)$Lisp+1,MatchEnd(1)$Lisp)$UniversalSegment(Integer)
          reqtype:String := headers.u
-         WriteLine$Lisp  concat ["request type: ",reqtype]
+         sayTeX$Lisp  concat ["request type: ",reqtype]
          if  reqtype = "GET" then
              StringMatch("GET ([^ ]*)",headers)$Lisp
              u:UniversalSegment(Integer)
-             u := segment(MatchBeginning(1)$Lisp+1,_
-                          MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+             u := segment(MatchBeginning(1)$Lisp+1,MatchEnd(1)$Lisp)$UniversalSegment(Integer)
              getFile(s,headers.u)
          if reqtype = "POST" then
              StringMatch("command=(.*)$",headers)$Lisp
              u:UniversalSegment(Integer)
-             u := segment(MatchBeginning(1)$Lisp+1,_
-                          MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+             u := segment(MatchBeginning(1)$Lisp+1,MatchEnd(1)$Lisp)$UniversalSegment(Integer)
              getCommand(s,headers.u)
          WriteLine("multiServ end")$Lisp
-	 WriteLine("")$Lisp
+         WriteLine("")$Lisp
 
    getFile(s:SExpression,pathvar:String):Void ==
        WriteLine("")$Lisp
-       WriteLine("getFile begin")$Lisp
+       WriteLine("getFile")$Lisp
        if not null? PATHNAME_-NAME(PATHNAME(pathvar)$Lisp)$Lisp then
+       -- display contents of file
+       --first determine Content-Type from file extension
            contentType:String := getContentType(pathvar)
-	   q := Open(pathvar)$Lisp
-	   if null? q then
-	     q := MAKE_-STRING_-INPUT_-STREAM("File doesn't exist")$Lisp
-	     WriteLine("File does not exist.")$Lisp
+           q:=Open(pathvar)$Lisp
+           if null? q then
+             q := MAKE_-STRING_-INPUT_-STREAM("File doesn't exist")$Lisp
+             WriteLine("File does not exist.")$Lisp
        else
            q:=MAKE_-STRING_-INPUT_-STREAM("Problem with file path")$Lisp
        file:String := ""
@@ -109,13 +90,11 @@ AxiomServer: public == private where
        filestream:String := GET_-OUTPUT_-STREAM_-STRING(r)$Lisp
        CLOSE(r)$Lisp
        CLOSE(q)$Lisp
-       filelength:String := string(#filestream)
        WriteLine("end reading file")$Lisp
-       file := concat ["Content-Length: ",filelength,_
-                STRING(NewLine$Lisp)$Lisp,STRING(NewLine$Lisp)$Lisp,file]
+       filelength:String := string(#filestream)
+       file := concat ["Content-Length: ",filelength,STRING(NewLine$Lisp)$Lisp,STRING(NewLine$Lisp)$Lisp,file]
        file := concat ["Connection: close",STRING(NewLine$Lisp)$Lisp,file]
-       file := concat ["Content-Type: ",contentType,_
-                STRING(NewLine$Lisp)$Lisp,file]
+       file := concat ["Content-Type: ",contentType,STRING(NewLine$Lisp)$Lisp,file]
        file := concat ["HTTP/1.1 200 OK",STRING(NewLine$Lisp)$Lisp,file]
        file := concat [file,filestream]
        f:=MAKE_-STRING_-INPUT_-STREAM(file)$Lisp
@@ -135,45 +114,32 @@ AxiomServer: public == private where
        SETQ(_$algebraOutputStream$Lisp,tmpalgebra$Lisp)$Lisp
 --      parseAndInterpret$Lisp command
 --      parseAndEvalStr$Lisp command
--- The previous two commands don't exit nicely when a syntactically 
--- incorrect command is given to them.  They somehow need to be wrapped 
--- in CATCH statements but I haven't figured out how to do this.  
--- parseAndEvalToStringEqNum  uses the following CATCH statements to call 
--- parseAndEvalStr but when I try these they don't work.  I get a
--- "NIL is not a valid identifier to use in AXIOM" message. Using 
--- parseAndEvalToStringEqNum works and doesn't crash on a syntax error.
---        v := CATCH('SPAD__READER, _
---             CATCH('top__level, parseAndEvalStr$Lisp command)$Lisp)$Lisp
+-- The previous two commands don't exit nicely when a syntactically incorrect command is
+-- given to them.  They somehow need to be wrapped in CATCH statements but I haven't
+-- figured out how to do this.  parseAndEvalToStringEqNum  uses the following CATCH
+-- statements to call parseAndEvalStr but when I try these they don't work.  I get a
+-- "NIL is not a valid identifier to use in AXIOM" message. Using parseAndEvalToStringEqNum
+-- works and doesn't crash on a syntax error.
+--        v := CATCH('SPAD__READER, CATCH('top__level, parseAndEvalStr$Lisp command)$Lisp)$Lisp
 --        v = 'restart => ['"error"]
        ans := string parseAndEvalToStringEqNum$Lisp command
-       SETQ(resultmathml$Lisp,_
-         GET_-OUTPUT_-STREAM_-STRING(_$texOutputStream$Lisp)$Lisp)$Lisp
-       SETQ(resultalgebra$Lisp,_
-         GET_-OUTPUT_-STREAM_-STRING(_$algebraOutputStream$Lisp)$Lisp)$Lisp
+       SETQ(resultmathml$Lisp,GET_-OUTPUT_-STREAM_-STRING(_$texOutputStream$Lisp)$Lisp)$Lisp
+       SETQ(resultalgebra$Lisp,GET_-OUTPUT_-STREAM_-STRING(_$algebraOutputStream$Lisp)$Lisp)$Lisp
        SETQ(_$texOutputStream$Lisp,savemathml$Lisp)$Lisp
        SETQ(_$algebraOutputStream$Lisp,savealgebra$Lisp)$Lisp
        CLOSE(tmpmathml$Lisp)$Lisp
        CLOSE(tmpalgebra$Lisp)$Lisp
-       -- Since strings returned from axiom are going to be 
-       -- displayed in html I
-       -- should really check for the characters &,<,> and 
-       -- replace them with
-       -- &amp;,&lt;,&gt;.  At present I only check for ampersands in
-       -- formatMessages.  MathML should already be valid xml.
+       -- Since strings returned from axiom are going to be displayed in html I
+       -- should really check for the characters &,<,> and replace them with
+       -- &amp;,&lt;,&gt;.  At present I only check for ampersands in formatMessages.
        mathml:String := string(resultmathml$Lisp)
        algebra:String := string(resultalgebra$Lisp)
        algebra := formatMessages(algebra)
-       -- At this point mathml contains the mathml for the 
-       -- output but does not
-       -- include step number or type information.  
-       -- We should also save the command.
+       -- At this point mathml contains the mathml for the output but does not
+       -- include step number or type information.  We should also save the command.
        -- I get the type and step number from the $internalHistoryTable
-       axans:String := concat _
-         ["<div><div class=_"command_">(",lastStep(),") -> ",_
-           command,"</div><div class=_"algebra_">",_
-           algebra,"</div><div class=_"mathml_">",_
-           mathml,"</div><div class=_"type_">Type: ",_
-           lastType(),"</div></div>"]
+--       axans:String := concat ["<div><div class=_"command_">(",lastStep(),") -> ",command,"</div><div class=_"algebra_">",algebra,"</div><div class=_"mathml_">",mathml,"</div><div class=_"type_">Type: ",lastType(),"</div></div>"]
+       axans:String := concat ["<div class=_"stepnum_">", lastStep(), "</div><div class=_"command_">", command, "</div><div class=_"algebra_">",algebra,"</div><div class=_"mathml_">",mathml,"</div><div class=_"type_">",lastType(),"</div>"]       
        WriteLine$Lisp concat ["mathml answer: ",mathml]
        WriteLine$Lisp concat ["algebra answer: ",algebra]
        q:=MAKE_-STRING_-INPUT_-STREAM(axans)$Lisp
@@ -183,15 +149,12 @@ AxiomServer: public == private where
 
 
    lastType():String ==
---  The last history entry is the first item in the 
--- $internalHistoryTable list so
+--  The last history entry is the first item in the $internalHistoryTable list so
 --  car(_$internalHistoryTable$Lisp) selects it.  Here's an example:
---  (3 (x+y)**3 (% (value (Polynomial (Integer)) WRAPPED 1 y 
---    (3 0 . 1) (2 1 x (1 0 . 3)) (1 1 x (2 0 . 3)) (0 1 x (3 0 . 1)))))
---  This corresponds to the input "(x+y)**3" being issued 
--- as the third command after
+--  (3 (x+y)**3 (% (value (Polynomial (Integer)) WRAPPED 1 y (3 0 . 1) (2 1 x (1 0 . 3)) (1 1 x (2 0 . 3)) (0 1 x (3 0 . 1)))))
+--  This corresponds to the input "(x+y)**3" being issued as the third command after
 --  starting axiom.  The following line selects the type information.
-       string cadr(cadar(cddar(_$internalHistoryTable$Lisp)$Lisp)$Lisp)$Lisp
+       string car(cdr(car(cdr(car(cdr(cdr(car(_$internalHistoryTable$Lisp)$Lisp)$Lisp)$Lisp)$Lisp)$Lisp)$Lisp)$Lisp)$Lisp
 
 
    lastStep():String ==
@@ -230,11 +193,10 @@ AxiomServer: public == private where
        -- need to test for successful match?
        StringMatch(".*\.(.*)$", pathvar)$Lisp
        u:UniversalSegment(Integer)
-       u := segment(MatchBeginning(1)$Lisp+1,_
-                    MatchEnd(1)$Lisp)$UniversalSegment(Integer)
+       u := segment(MatchBeginning(1)$Lisp+1,MatchEnd(1)$Lisp)$UniversalSegment(Integer)
        extension:String := pathvar.u
        WriteLine$Lisp concat ["file extension: ",extension]
-       -- test for extensions: html, htm, xml, xhtml, js, css, png, jpg, jpeg
+       -- test for extensions: html, htm, xml, xhtml, js, css
        if extension = "html" then
            contentType:String := "text/html"
        else if extension = "htm" then
@@ -257,8 +219,6 @@ AxiomServer: public == private where
        WriteLine("getContentType end")$Lisp
        contentType
 
-
-
 @
         
 \section{License}
@@ -278,9 +238,9 @@ AxiomServer: public == private where
 --      the documentation and/or other materials provided with the
 --      distribution.
 --
---    - The name of Arthur C. Ralfs may not be used to endorse or promote 
---      products derived from this software without specific prior written 
---      permission.
+--    - Neither the name of Arthur C. Ralfs 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
@@ -294,7 +254,6 @@ AxiomServer: public == private where
 --NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 --SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-
 @
 
 <<*>>=
diff --git a/src/interp/http.lisp b/src/interp/http.lisp
index 6feb283..0b264bf 100644
--- a/src/interp/http.lisp
+++ b/src/interp/http.lisp
@@ -4,23 +4,45 @@
   (si::open path :direction :input :if-exists nil :if-does-not-exist nil)
   )
 
+(defvar |StandardOutput| *standard-output*)
 
 (defvar  |NewLine| '#\NewLine)
 
 ;; some regexp stuff
 
-(defun |StringMatch| (s1 s2) (si::string-match s1 s2))
-(defun |ListMatches| (&rest args) (si::list-matches args))
-(defun |MatchBeginning| (i) (si::match-beginning i))
-(defun |MatchEnd| (i) (si::match-end i))
+(defun |StringMatch| (s1 s2)
+ (si::string-match s1 s2)
+ )
+
+(defun |ListMatches| (&rest args)
+ (si::list-matches args)
+ )
+
+(defun |MatchBeginning| (i)
+ (si::match-beginning i)
+ )
+
+(defun |MatchEnd| (i)
+ (si::match-end i)
+ )
 
 ;; the socket stuff
 
 (defun |SiSock| (p spadfn)
-  (si::socket p :server
-   (function (lambda (w) (SPADCALL w spadfn) )) :daemon nil))
-
-(defun |SiListen| (s) (si::listen s))
+;;  (format t "SiSocket-1")
+ (si::socket p :server
+             (function
+              (lambda (w) (SPADCALL w spadfn) )
+              )
+             :daemon nil)
+ )
+
+(defun |SiListen| (s)
+;;  (format t "SiListen-1")
+ (si::listen s)
+ )
 (defun |SiAccept| (s) (si::accept s))
 (defun |SiCopyStream| (q s) (si::copy-stream q s))
 
\start
Date: Sat, 20 Oct 2007 23:15:33 -0500
From: Tim Daly
To: Arthur Ralfs, Alfredo Portes, Alasdair McAndrew
Subject: new hyperdoc

Arthur, Alfredo, Alasdair,

I've checked in a new silver as of 20071020.01.acr.patch which contains
the new communication protocol between the new hyperdoc and axiom.

In this release are the last two sections of Alasdair's crytpography
notes in xhtml format. These pages are not live yet but will be shortly.




I've also checked in a newhyper.pamphlet that uses this new communication
protocol. There are two new pages, demonstrating 3 ideas.

(Arthur, I should note that axserver can construct an improper reply
 having </div></div> somewhere in the reply. The second </div> should
 not occur (and does not always happen). I have programmed around it)



Topics -> Numbers -> Integers demonstrates the use of the new protocol
by only showing the mathml values rather than the whole command and
type fields.

See the chunk <<handlefreevars>> to see how this works.




Topics -> Numbers -> Integers demonstrates the use of the free 
variable mechanism. That is, if you click on 'x+y' without defining 
the values of 'x' or 'y' for the page then the expressions for 'x' and 'y'
are automatically and quietly executed in the background before the
'x+y' expression. Hyperdoc does this with the 'free(x)' kind of syntax.

In the new hyperdoc you provide ids for each of the input value and
then call 'handleFree' with a list of the prior required values and
the current element. All of the required values are evaluated before
the current element (last item in the list provided to handleFree).

See the page "numintegers.xhtml" to see the use of handleFree.
See the chunk <<handlefreevars>> to see how this works.




Topics -> Numbers -> Fractions demonstrates the use of "resetvars". 
That is, if you visit this page it assumes that 'x' and 'y' have no
value so that the fractional results are supposed to be symbolic.
Yet if you've visited a previous page (such as the Integers) page you
might have set 'x' to a value in the underlying Axiom image, which would
generate numeric rather than symbolic results. This page automatically
resets the axiom environment so it does not see interference from other
pages.

See the page numfractions.xhtml to see the use of resetvars();
See the chunk <<axiom talker>> to see how this works.




With these pieces in place I can proceed to convert a large number of the
existing hyperdoc pages in the upcoming weeks.

\start
Date: 21 Oct 2007 16:16:20 +0200
From: Martin Rubey
To: list
Subject: Re:  Re: iterators

Waldek Hebisch writes:

> Well, concat version creates intermediate lists and concatenates them.
> Psychologically double iteration is an atomic operation, so it is
> easier (at least for some folks) to think about.

OK.  I'd still prefer to keep the language simple.  What I would like a lot
however is something like

for e in g repeat
    (a, b) := e
    ...

or even

for (a, b) in g repeat
    ...

given that g returns a Cross.

> Once you have generator iteration is easy (but may be inefficient).

There is a long thread "generators in lisp" in comp.lang.lisp 2004, but I
didn't read it yet.  Maybe that would help?

(But I hurry to stress that having generators is not the thing I need most in
SPAD.  Most important to me would still be types being truly first class
objects.)

\start
Date: Sun, 21 Oct 2007 08:22:04 -0700
From: Arthur Ralfs
To: Tim Daly
Subject: Re: new hyperdoc

Tim Daly wrote:
> (Arthur, I should note that axserver can construct an improper reply
>  having </div></div> somewhere in the reply. The second </div> should
>  not occur (and does not always happen). I have programmed around it)
>
>
>
>   
Tim,

Can you give an example of when that occurs?

\start
Date: 21 Oct 2007 20:20:54 +0200
From: Francois Maltey
To: list
Subject: Re: iterators and cartesian product.

Hello, I have subscribed to the two lists open-axiom and fricas.

Waldek Hebisch writes:

> Concerning more general problem: I think that we also need other approaches.
> More preciesly, it would be good to add beter iteration constructs, which
> make iterating over products easier.  For example, something like:

> [[a, b] for a in 1..10 repeat for b in 1..5] 

> Well, concat version creates intermediate lists and concatenates them.
> Psychologically double iteration is an atomic operation, 
  ---------------
> so it is easier (at least for some folks) to think about. 

All right Waldek ! It's exactly what I think : 
Mathematics writes for (x,y,z) in E X F x G.
And the M... systems allows multiple (not double) iterations 
as an atomic operation. 
Maple isn't perfect for this because we must quote with ' the inner part
    [a $a=0..9] 
but ['10*a+b $a=1..9'$b=0..9] and [''10*a+b $a=1..9'$b=0..9'$c=0..9]
At use, Mupad is almost perfect 
    [a $a=0..9] and [10*a+b $a=1..9$b=0..9] and [10*a+b $a=1..9$b=0..9$c=0..9]
$ is a (right to left)? inner operator.

Of corse parallel iterations must remain as a pretty pure concept of axiom.
The description of these 2 iterations are very short.
It's a right thing to have both in axiom.

About Martin's wish :
---------------------

> What I would like a lot however is something like
 
>         for e in g repeat (a, b) := e ...
> or even for (a, b) in g repeat ...
> given that g returns a Cross.

Other languages allow lists for this uses because they aren't typed.

It's maybe impossible to have parenthesis for cross-product, 
because they are used for functions, but a new constructor as [|...,...|] 
should be a great progress in the interface. 

By example caml uses [1;2;3] for lists and [|1;2;3|] for array.
And mupad allows [a,b] := L when L is a list of 2 terms.
So [a,b] := [b,a] exchanges the values of the variables a and b.
and [a,b,c] := [b,c,a] permutes the 3 values.

The functions makeprod and selectfirst in axiom are too particular 
to this domain. Acces and changes by CC.n might be more fluent.

A new constructor ([|...|] or an other) and acces (by Cross.n) 
don't overload axiom 
because they must exist (do you agree ?),
             are easier to describe (do you agree ??),
         and are connected to the list-syntax (do you agree ???).

I wait with Martin such operators.

\start
Date: Sun, 21 Oct 2007 21:48:25 +0200
From: Ralf Hemmecke
To: Martin Rubey, Stephen Watt
Subject: Re:   Re: iterators

> OK.  I'd still prefer to keep the language simple.  What I would like a lot
> however is something like
> 
> for e in g repeat
>     (a, b) := e
>     ...

Possible in Aldor

> or even
> 
> for (a, b) in g repeat
>     ...
> 
> given that g returns a Cross.

Not possible in Aldor.



Stephen Watt,

is there a particular reason why the latter construction is not allowed 
in the Aldor language (I am not speaking of the compiler)?

\start
Date: Sun, 21 Oct 2007 22:11:21 +0200
From: Ralf Hemmecke
To: Francois Maltey
Subject: Re:  iterators and cartesian	product.

> It's maybe impossible to have parenthesis for cross-product, 
> because they are used for functions,

Parentheses are used for grouping. You know that , (comma) in Aldor is 
an operator (with a very low precedence) that forms so called 
multivalues? So in

   a, b := b, a

you must have parens around (a,b) and (b,a) if you mean a parallel 
assignment. Otherwise it would parse as

   a, (b:=b), a

> but a new constructor as [|...,...|] 
> should be a great progress in the interface. 

There is no more syntax needed.

> By example caml uses [1;2;3] for lists and [|1;2;3|] for array.
> And mupad allows [a,b] := L when L is a list of 2 terms.
> So [a,b] := [b,a] exchanges the values of the variables a and b.

And it already works in Axiom.

(1) -> a:INT:=3

    (1)  3
                                 Type: Integer
(2) -> b:INT:=7

    (2)  7
                                 Type: Integer
(3) -> (b,a):=(a,b)

    (3)  7
                                 Type: Integer
(4) -> a

    (4)  7
                                 Type: Integer
(5) -> b

    (5)  3
                                 Type: Integer

 > and [a,b,c] := [b,c,a] permutes the 3 values.

(6) -> c:INT := 1

    (6)  1
                                 Type: Integer
(7) -> (a,b,c) := (b,c,a)

    (7)  7
                                 Type: Integer
(8) -> a

    (8)  3
                                 Type: Integer
(9) -> b

    (9)  1
                                 Type: Integer
(10) -> c

    (10)  7
                                 Type: Integer

\start
Date: Sun, 21 Oct 2007 16:28:09 -0400
From: Stephen Watt
To: Ralf Hemmecke
Subject: Re:   Re: iterators
Cc: Stephen Watt

There is no deep reason why it is not allowed.  
It would be a compatible extension to allow it.  

-- Stephen

On Sun, Oct 21, 2007 at 09:48:25PM +0200, Ralf Hemmecke wrote:
> >OK.  I'd still prefer to keep the language simple.  What I would like a lot
> >however is something like
> >
> >for e in g repeat
> >    (a, b) := e
> >    ...
> 
> Possible in Aldor
> 
> >or even
> >
> >for (a, b) in g repeat
> >    ...
> >
> >given that g returns a Cross.
> 
> Not possible in Aldor.
> 
> 
> 
> Stephen Watt,
> 
> is there a particular reason why the latter construction is not allowed 
> in the Aldor language (I am not speaking of the compiler)?

\start
Date: 22 Oct 2007 08:43:18 +0200
From: Martin Rubey
To: list
Subject: Re:  Re: iterators and cartesian product.

Francois Maltey writes:

> At use, Mupad is almost perfect 
>     [a $a=0..9] and [10*a+b $a=1..9$b=0..9] and [10*a+b $a=1..9$b=0..9$c=0..9]
> $ is a (right to left)? inner operator.
> 
> Of corse parallel iterations must remain as a pretty pure concept of axiom.

So, how do you do parallel iteration in MuPad?

\start
Date: Mon, 22 Oct 2007 02:30:32 -0500
From: Tim Daly
To: Arthur Ralfs, Alfredo Portes
Subject: newhyper.pamphlet

I've expanded the next level of the "Topics -> Numbers" page.
I've added two images (doctitle.png, favicon.png).
I've checked in a new version. Note that you'll need the latest
silver version to run it because it uses the new protocol. All
you need to do now is:

export AXIOM=(where)                          <= set up axiom, notangle
export PATH=$AXIOM/bin/lib:$AXIOM/bin:$PATH
mkdir -p /home/silver/bitmaps                 <= where to put pages
cp newhyper.pamphlet /home/silver             <= the pages
cp doctitle.png /home/silver
cp favicon.png /home/silver
cd /home/silver
notangle -t8 newhyper.pamphlet > Makefile     <= extract the Makefile
make                                          <= extract the pages
axiom -noht                                   <= start axiom
)set mes auto off
)set out mathml on
axServer(8085,multiServ)$AXSERV               <= make it listen

firefox http://127.0.0.1:8085/home/silver/rootpage.xhtml
 
The top 6 pages of Topics -> Numbers have been expanded.

\start
Date: 22 Oct 2007 09:38:44 +0200
From: Martin Rubey
To: Robert Funnell
Subject: keybindings for axiom-mode

The following message is a courtesy copy of an article
that has been posted to gnu.emacs.help as well.

Robert Funnell writes:

> > Since I'm not so familiar with escape sequences, could you tell me what
> > keystrokes correspond to "C-[ up"?
> 
> C-[ is control-[ (my M-) and up is my up-arrow key.

OK.  At least in my terminal, M-up and C-up do not seem to send any useful
events.  So I bound ESC-up/down to have the same behaviour as M-up/down.
C-up/down is already the same as M-p/n, as it is taken from comint-mode.

Maybe you can help me make the following snippet sane:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar axiom-mode-map (copy-keymap comint-mode-map) 
  "local key map for Axiom terminal mode")
(define-key axiom-mode-map [(meta k)] 'axiom-copy-to-clipboard)
(define-key axiom-mode-map [(ctrl return)] 'axiom-yank)
(define-key axiom-mode-map [(meta up)] 'axiom-previous-input)
(define-key axiom-mode-map (kbd "ESC <up>") 'axiom-previous-input)
(define-key axiom-mode-map [(meta down)] 'axiom-next-input)
(define-key axiom-mode-map (kbd "ESC <down>") 'axiom-next-input)
(define-key axiom-mode-map [left] 'axiom-backward-char)
(define-key axiom-mode-map [right] 'axiom-forward-char)
(define-key axiom-mode-map [(shift up)] 'axiom-paint-previous-line)
(define-key axiom-mode-map [(shift down)] 'axiom-paint-next-line)
(define-key axiom-mode-map [(shift left)] 'axiom-paint-previous-char)
(define-key axiom-mode-map [(shift right)] 'axiom-paint-next-char)
;; doesn't work in terminal
;; (define-key axiom-mode-map [return] 'axiom-eval)
(define-key axiom-mode-map "\C-m" 'axiom-eval)
;; doesn't work in terminal
;;(define-key axiom-mode-map [(meta return)] 'axiom-eval-append)
(define-key axiom-mode-map "\M-\C-m" 'axiom-eval-append)
(define-key axiom-mode-map "\t" 'axiom-dynamic-complete)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; in the body of define-derived-mode, I add:

    (use-local-map axiom-mode-map)
    (substitute-key-definition 'comint-previous-input 
                               'axiom-scroll-previous-input axiom-mode-map)
    (substitute-key-definition 'comint-next-input 
                               'axiom-scroll-next-input axiom-mode-map)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

As you can probably see, I have no idea how this "should" work.  I'd be very
happy if you could help me out there.  Oh, comint binds C-c C-p/n to the
corresponding feature - and - oh, this of course calls the "wrong" function.
Maybe I shouldn't use copy-keymap.  Not sure.

> > I find C-u 7 M-k especially useful ...
> 
> Except that I've redefined C-u to get an argument string (emulating the old
> BBN Pen editor). You're using it to repeat, right?


Well, I didn't redefine C-u.  If I type C-u 7 M-k the function bound to M-k,
which is axiom-copy-to-clipboard, is called with the integer argument 7.  Thus,
it would copy the previous seven input-output combinations into the kill-ring.
I find this extremely useful if I want to communicate what I did in axiom...

\start
Date: 22 Oct 2007 11:30:05 +0200
From: Francois Maltey
To: Martin Rubey
Subject: Re:   Re: iterators and cartesian product.

Hello Martin,

> > At use, Mupad is almost perfect 
> > [a $a=0..9] and [10*a+b $a=1..9$b=0..9] and [10*a+b $a=1..9$b=0..9$c=0..9]
> > $ is a (right to left)? inner operator.
> > 
> > Of corse parallel iterations must remain as a pretty pure concept of axiom.
> 
> So, how do you do parallel iteration in MuPad?

With a silly 

    [...L[i]...LL[i]... for i in 1 .. min([4, length L, length LL])]
vs  the shorter [...x...xx... for x in L for xx in LL for k in 1..4] for axiom


I like the possible new repeat operator :

[matrix [[a,b,15-a-b],[c,d,15-c-d]]
 for a in 1..9 repeat for b in 1..9 repeat for c in 1..9 repeat for d in 1..9]

near from the mupad/maple command :
[matrix [[a,b,15-a-b],[c,d,15-c-d]]$a=1..9$b=1..9$c=1..9$d=1..9]

It looks like mathematical expression {matrix ... | (a,b,c,d) in {1..9}^4}.

This command breaks this previous mathematical set
but build Union_{for a} (Unioun_{for b} (Unioun_{for c} set matrix for d))

concat [concat [concat [[matrix [[a,b,15-a-b],[c,d,15-c-d]] for a in 1..9]
   for b in 1..9] for c in 1..9] for d in 1..9] 

mupad doesn't has a perfect syntax because lists and intervals don't have
the same operator : [..x.. $x in L] and [..x.. $x=1..10]. Axiom makes better !
[..x.. for x in L] and [..x.. for x in 1..10].

For theses 2 examples I feel mupad better than maple. I don't know mathematica.

Is it an answer to your question ?

\start
Date: 22 Oct 2007 11:54:11 +0200
From: Martin Rubey
To: Francois Maltey
Subject: Re:   Re: iterators and cartesian product.

Francois Maltey writes:

> Hello Martin,
> 
> > > At use, Mupad is almost perfect 
> > > [a $a=0..9] and [10*a+b $a=1..9$b=0..9] and [10*a+b $a=1..9$b=0..9$c=0..9]
> > > $ is a (right to left)? inner operator.
> > > 
> > > Of corse parallel iterations must remain as a pretty pure concept of axiom.
> > 
> > So, how do you do parallel iteration in MuPad?
> 
> With a silly 
> 
>     [...L[i]...LL[i]... for i in 1 .. min([4, length L, length LL])]
> vs  the shorter [...x...xx... for x in L for xx in LL for k in 1..4] for
> axiom

OK, I don't like MuPad's syntax then :-)
> 
> 
> I like the possible new repeat operator :
> 
> [matrix [[a,b,15-a-b],[c,d,15-c-d]] for a in 1..9 repeat for b in 1..9 repeat
> for c in 1..9 repeat for d in 1..9]

I don't.  I'd rather stick to the way I express things as a mathematician,
i.e., (currently not working)

  [matrix [[a,b,15-a-b],[c,d,15-c-d]] _
   for (a,b,c,d) in CartesianProduct([1..9, 1..9, 1..9, 1..9])]

or, maybe

  [((a,b,c,d) := e; matrix [[a,b,15-a-b],[c,d,15-c-d]]) _
   for e in CartesianProduct([1..9, 1..9, 1..9, 1..9])]

In fact, it nearly works:

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

(1) -> l := [[1,2], [3,4]]

   (1)  [[1,2],[3,4]]
                                              Type: List List PositiveInteger
(2) -> [a,b] := first l

   (2)  [1,2]
                                                   Type: List PositiveInteger
(3) -> a

   (3)  1
                                                        Type: PositiveInteger
(4) -> b

   (4)  2
                                                        Type: PositiveInteger
(5) -> [([x,y] := e; matrix [[x,y],[y,x]]) for e in l]
 
   Though x has declared type (or partial type) PositiveInteger it does
      not have an assigned value. You must give it one before it can be
      so used.
(5) -> x

   (5)  1
                                                        Type: PositiveInteger
(6) -> y

   (6)  2
                                                        Type: PositiveInteger
(7) -> [(x := first e; y := second e; matrix [[x,y],[y,x]]) for e in l]

         +1  2+ +3  4+
   (7)  [|    |,|    |]
         +2  1+ +4  3+
                                                    Type: List Matrix Integer

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

> This command breaks this previous mathematical set
> but build Union_{for a} (Unioun_{for b} (Unioun_{for c} set matrix for d))

Hm, I do not understand this sentence at all.  Which command breaks what?

\start
Date: 22 Oct 2007 05:30:25 -0500
From: Gabriel Dos Reis
To: Francois Maltey
Subject:  Re: iterators and cartesian product.

Francois Maltey writes:

[...]

| It looks like mathematical expression {matrix ... | (a,b,c,d) in {1..9}^4}.
| 
| This command breaks this previous mathematical set
| but build Union_{for a} (Unioun_{for b} (Unioun_{for c} set matrix for d))
| 
| concat [concat [concat [[matrix [[a,b,15-a-b],[c,d,15-c-d]] for a in 1..9]
|    for b in 1..9] for c in 1..9] for d in 1..9] 
| 
| mupad doesn't has a perfect syntax because lists and intervals don't have
| the same operator : [..x.. $x in L] and [..x.. $x=1..10]. Axiom makes better !
| [..x.. for x in L] and [..x.. for x in 1..10].
| 
| For theses 2 examples I feel mupad better than maple. I don't know mathematica.
| 
| Is it an answer to your question ?


A general remark: `Perfect syntax' is an illusion.

Mathematics are great for ideas, but their notations are deceptive
sources of inspiration.  One source of difficulty is that mathematical
notations use full 2-3 dimensions, whereas we are still struggling
with sequence of characters.  Another source of difficulty is that
mathematical notations are highly context sensitive -- you don't
really want a programming language to have a highly context sensitive
syntax when you plan to write large libraries in that language.  There
are things that work well for `programming in small' (e.g. scripts of
10-20 lines) and things do not scale to `programming in large'
(e.g. 10-100 thousands of lines of libraries)

\start
Date: 22 Oct 2007 12:54:11 +0200
From: Francois Maltey
To: list
Subject: Re: iterators and cartesian product.

I play with Tuple :

> (1) -> a:INT:=3
> (2) -> b:INT:=7
> (3) -> (b,a):=(a,b)
> (4) -> a
> (5) -> b

I compare tuple to mupad/maple sequence :

With mupad/maple we can do :

aa := (11,22)         // named sequence
fct := (a,b,c) -> a+b+c 
fct (aa,100)          // and get 133
fct (100, aa)         // and get 133

So sequence are spanned in functions and list.

               a+b$a=0..9$b=0..9 
is read as     (a+b$a=0..9)$b=0..9 
becomes        (0+b,1+b,2+b...9+b)$b=0..9   // a sequence
and finishs by 0+0,...,9+0,0+1,...,9+9

It isn't a good idea because user makes error in use of functions.
A sequence is ONE identificator but can have several terms : see fct bellow.

So I avoid sequences because I can't read fct (aa,100) as a function 
with 3 parameters. It's too special !

Axiom doesn't span Tuple and keeps the parenthesis, it's all right...

I notice we play with Tuple, CartesianProduct and record.
I let record as a computer data structure.

Isn't possible to merge Tuple and CartesianProduct into one domain
with standard operators and take the better of these two domains.

1/ Create it by                    TT := (a,b) 
2/ Acces to the field by           TT.1 or TT.2 
3/ Maybe change a field by         TT.1 := ...
4/ Have a type for each field      as cartesianProduct.

1/ makeprod in (cartesian)Product isn't a standard function.
   and can only be use with 2 arguments, not 3 or any.
2/ TT.1 isn't allowed for Tuple,
   select must be use and begins at 0, but index of lists begins at 1.
   selectfirst and selectsecond isn't the classical function elt.
4/ Tuple aren't strong typed : 
   tuple any isn't a cartesianProduct(Integer,String)

\start
Date: 22 Oct 2007 13:16:32 +0200
From: Francois Maltey
To: list
Subject: Re: iterators and cartesian product.

Hello,

> >     [...L[i]...LL[i]... for i in 1 .. min([4, length L, length LL])]
> > vs  the shorter [...x...xx... for x in L for xx in LL for k in 1..4] for
> > axiom
> 
> OK, I don't like MuPad's syntax then :-)

I forget the zip function because I never use it :

   zip ((x,y) -> x+y, [10,20,30], [$1..8]) // answers [11,22,33]
as [x+y for x in [10,20,30] for y in 1..8] -- with axiom

>   [matrix [[a,b,15-a-b],[c,d,15-c-d]] _
>    for (a,b,c,d) in CartesianProduct([1..9, 1..9, 1..9, 1..9])]

Why not ? 
But what is the signature of this function CartesianProduct ?
It must allow any kind of intervals or lists. as CartesianProduct (L, 1..9).
So it might be necessary to have this operator in the kernel, 
Domains might be not enough flexible... 

> or, maybe
> 
>   [((a,b,c,d) := e; matrix [[a,b,15-a-b],[c,d,15-c-d]]) _
>    for e in CartesianProduct([1..9, 1..9, 1..9, 1..9])]

I dislike... Two instructions for one calculus ! 
Matching might be automatic.

> 
> In fact, it nearly works:
> ---------------------------------------------------------------------------
> (1) -> l := [[1,2], [3,4]]
> (2) -> [a,b] := first l
> ...
> > This command breaks this previous mathematical set


> I do not understand this sentence at all.
I explain why I dislike the concat command.

The concat command :

concat 
     [concat [[[matrix [[a,b,15-a-b],[c,d,15-c-d]] for a in 1..9]
              for b in 1..9]
             for c in 1..9]
     for d in 1..9]

builds Union_{for d} (Union_{for c} (Union_{for b} set of matrix for a)
and isn't a mathematic translation of a cartesian product.

but 

>   [matrix [[a,b,15-a-b],[c,d,15-c-d]] _
>    for (a,b,c,d) in CartesianProduct([1..9, 1..9, 1..9, 1..9])]

is exactly the mathematic form of a Cartesian product.
It seems better.

\start
Date: 22 Oct 2007 13:19:43 +0200
From: Martin Rubey
To: list
Subject: Re:  Re: iterators and cartesian product.

Francois Maltey writes:

> Axiom doesn't span Tuple and keeps the parenthesis, it's all right...

The parenthesis are, as far as I know, not really part of the tuple.  They are
just the "usual" delimiters.

> I notice we play with Tuple, CartesianProduct and record.  I let record as a
> computer data structure.

Ahm, CartesianProduct is not a domain that currently exists.  In Aldor you have
Cross, which really is the Cartesian product.  Cross(Integer, String) would be
the Cartesian Product of the domains Integer and String, i.e., an element of
Cross(Integer, String) would contain an Integer as first thing and a String as
second.

Cross does not provide a method to enumerate all it's elements, although this
is quite trivial to accomplish.

I highly advocate reading the Aldor Compiler User Guide.  It's quite
enlightening.

Note that a lot of this enumeration stuff is part of the combinat/species
project, in a very general setting.  Unfortunately, the multisort case is not
yet finished, which is probably what you would need to get Cartesian products
"beautifully".

\start
Date: 22 Oct 2007 13:40:26 +0200
From: Martin Rubey
To: list
Subject: Re:  Re: iterators and cartesian product.

Francois Maltey writes:

> >   [matrix [[a,b,15-a-b],[c,d,15-c-d]] _
> >    for (a,b,c,d) in CartesianProduct([1..9, 1..9, 1..9, 1..9])]
 

> But what is the signature of this function CartesianProduct ?

Sorry, I didn't bother to think about a good way to specify the Cartesian
product itself, but I think what Bill showed was quite good.

> The concat command :
> 
> concat 
>      [concat [[[matrix [[a,b,15-a-b],[c,d,15-c-d]] for a in 1..9]
>               for b in 1..9]
>              for c in 1..9]
>      for d in 1..9]
> 
> builds Union_{for d} (Union_{for c} (Union_{for b} set of matrix for a)
> and isn't a mathematic translation of a cartesian product.

I believe it is:

Union_{c\in C} Union_{b\in B} Union_{a\in A} F_{a,b,c}

is the same as

Union_{(a,b,c)\in A x B x C} F_{a,b,c}

\start
Date: 23 Oct 2007 08:36:16 +0200
From: Martin Rubey
To: Peter Broadbery
Subject: tracing and profiling

Waldek Hebisch writes:

> When trying to speed up calculation profiling helps a lot.  I was
> unable to use profiling in gcl based FriCAS,

Hm, I used axiom's built in profiling capabilities quite a lot when developing
my guessing package.  It worked equally well with functions compiled from SPAD
code as with functions only defined in the interpreter, see sample below.

I do recall however, that it doesn't work with Aldor code, which I must say is
a great pity.  Same goes for tracing, which I find in fact an even more severe
restriction.  Since Aldor code is in the end also compiled to lisp, I wonder
whether this couldn't be fixed?

Martin

(1) -> tst a == if a <= 1 then 1 else tst(a-1) + tst(a-2)
                                                                   Type: Void
(2) -> tst 3
   Compiling function tst with type Integer -> PositiveInteger 

   (2)  3
                                                        Type: PositiveInteger
(3) -> )tr tst )ti )cou )nt
 
   Function traced: tst 
   Packages traced: 
      Integer, Integer
   Parameterized constructors traced:
      INT
(3) -> )tr INT )ti )cou )nt
 
   Function traced: tst 
   Packages traced: 
      Integer
   Parameterized constructors traced:
      INT
(4) -> tst 20

   (4)  10946
                                                        Type: PositiveInteger
(5) -> 
(4) -> )tr )st
--------------------- Traced function execution times ----------------------
   Integer.**,72 : 0.0 sec.
   Integer.+,67 : 0.02 sec.
   Integer.-,68 : 0.050000000000000003 sec.
   Integer.-,66 : 0.0 sec.
   Integer.<,65 : 0.029999999999999999 sec.
   Integer.=,64 : 0.0 sec.
   Integer.OMwrite,24 : 0.0 sec.
   Integer.OMwrite,23 : 0.0 sec.
   Integer.OMwrite,22 : 0.0 sec.
   Integer.OMwrite,20 : 0.0 sec.
   Integer.abs,61 : 0.0 sec.
   Integer.addmod,41 : 0.0 sec.
   Integer.base,29 : 0.0 sec.
   Integer.coerce,37 : 0.0 sec.
   Integer.convert,52 : 0.0 sec.
   Integer.convert,48 : 0.0 sec.
   Integer.convert,46 : 0.0 sec.
   Integer.convert,51 : 0.0 sec.
   Integer.convert,39 : 0.0 sec.
   Integer.copy,30 : 0.0 sec.
   Integer.dec,32 : 0.0 sec.
   Integer.divide,77 : 0.0 sec.
   Integer.exquo,82 : 0.0 sec.
   Integer.factor,103 : 0.0 sec.
   Integer.gcd,84 : 0.0 sec.
   Integer.gcdPolynomial,117 : 0.0 sec.
   Integer.hash,33 : 0.0 sec.
   Integer.inc,31 : 0.0 sec.
   Integer.latex,53 : 0.0 sec.
   Integer.length,40 : 0.0 sec.
   Integer.max,74 : 0.0 sec.
   Integer.min,75 : 0.0 sec.
   Integer.mulmod,43 : 0.0 sec.
   Integer.negative?,34 : 0.0 sec.
   Integer.odd?,73 : 0.0 sec.
   Integer.one?,26 : 0.0 sec.
   Integer.positiveRemainder,54 : 0.0 sec.
   Integer.quo,78 : 0.0 sec.
   Integer.random,63 : 0.0 sec.
   Integer.random,62 : 0.0 sec.
   Integer.recip,83 : 0.0 sec.
   Integer.reducedSystem,57 : 0.0 sec.
   Integer.reducedSystem,60 : 0.0 sec.
   Integer.rem,79 : 0.0 sec.
   Integer.shift,80 : 0.0 sec.
   Integer.submod,42 : 0.0 sec.
   Integer.unitCanonical,87 : 0.0 sec.
   Integer.unitNormal,86 : 0.0 sec.
   Integer.zero?,25 : 0.0 sec.
   *1;tst;1;frame0 : 0.56000000000000005 sec.
 
--------------------- Traced function execution counts ---------------------
   Integer.**,72 : 0 times
   Integer.+,67 : 10945 times
   Integer.-,68 : 21890 times
   Integer.-,66 : 0 times
   Integer.<,65 : 21891 times
   Integer.=,64 : 0 times
   Integer.OMwrite,24 : 0 times
   Integer.OMwrite,23 : 0 times
   Integer.OMwrite,22 : 0 times
   Integer.OMwrite,20 : 0 times
   Integer.abs,61 : 0 times
   Integer.addmod,41 : 0 times
   Integer.base,29 : 0 times
   Integer.coerce,37 : 1 times
   Integer.convert,52 : 0 times
   Integer.convert,48 : 0 times
   Integer.convert,46 : 0 times
   Integer.convert,51 : 0 times
   Integer.convert,39 : 0 times
   Integer.copy,30 : 0 times
   Integer.dec,32 : 0 times
   Integer.divide,77 : 0 times
   Integer.exquo,82 : 0 times
   Integer.factor,103 : 0 times
   Integer.gcd,84 : 0 times
   Integer.gcdPolynomial,117 : 0 times
   Integer.hash,33 : 0 times
   Integer.inc,31 : 0 times
   Integer.latex,53 : 0 times
   Integer.length,40 : 0 times
   Integer.max,74 : 0 times
   Integer.min,75 : 0 times
   Integer.mulmod,43 : 0 times
   Integer.negative?,34 : 0 times
   Integer.odd?,73 : 0 times
   Integer.one?,26 : 0 times
   Integer.positiveRemainder,54 : 0 times
   Integer.quo,78 : 0 times
   Integer.random,63 : 0 times
   Integer.random,62 : 0 times
   Integer.recip,83 : 0 times
   Integer.reducedSystem,57 : 0 times
   Integer.reducedSystem,60 : 0 times
   Integer.rem,79 : 0 times
   Integer.shift,80 : 0 times
   Integer.submod,42 : 0 times
   Integer.unitCanonical,87 : 0 times
   Integer.unitNormal,86 : 0 times
   Integer.zero?,25 : 0 times
   *1;tst;1;frame0 : 21891 times
 
\start
Date: Tue, 23 Oct 2007 02:49:06 +0200
From: Ralf Hemmecke
To: Gabriel Dos Reis
Subject:  iterators and cartesian product.

> | It looks like mathematical expression {matrix ... | (a,b,c,d) in {1..9}^4}.

Unfortunately, I don't have the time at the moment, but I really don't
see why one cannot have something like

for x in (1..3)^3 repeat {
    (a,b,c) := x;
    stdout << "(" << a, "," << b << "," << c << ")" << newline;
}

in Aldor *now* which would print something like

(1,1,1)
(1,1,2)
(1,1,3)
(1,2,1)
(1,2,2)
(1,2,3)
...

The "trick" would be to turn

   (1..3)^3

into a

   Generator Cross(Integer, Integer, Integer)

or something . That is not too difficult. (If you are really interested
ask me again next week, then I might have a little more time to actually
provide the code.)

So the syntax is there only the functionality is not available in any
library. One has to program it oneself.

\start
Date: 24 Oct 2007 08:33:57 +0200
From: Martin Rubey
To: list
Subject: Re: iterators and cartesian product.

Since there seems to be a slight misunderstanding, which I probably caused by
an upper case letter:  I meant to write

>   [matrix [[a,b,15-a-b],[c,d,15-c-d]] _
>    for (a,b,c,d) in cartesianProduct([1..9, 1..9, 1..9, 1..9])]

                      ^
                      |

That is, I thought of cartesianProduct as a function.

\start
Date: Fri, 26 Oct 2007 23:58:52 -0500
From: Tim Daly
To: Alasdair McAndrew
Subject: wxAxiom

wxAxiom exists as a private branch in my local git tree
but is nowhere near ready for use. It was being considered
as a portable front-end alternative to hyperdoc.

At the moment I'm throwing all of my time and energy behind
the firefox browser replacement to hyperdoc. This has several
advantages over wxAxiom in that users already know how to use
a browser and there is no platform specific code to maintain.
Arthur created a "breakthru" moment with his mathml/axserver
work and I'm building on that. 

Things will be slow for a while as I have a family crisis
which is taking up most of my time and attention.

\start
Date: Wed, 31 Oct 2007 17:47:53 +0100
From: Ralf Hemmecke
To: Bill Page
Subject: Re: iterators and cartesian product.

> Yes exactly, although I am not sure why we need both Cross and Record.

Elements of Record are mutable, elements of Cross are not.

PS: Shouldn't this discussion go to axiom-developer instead of axiom-math?

\start
Date: Wed, 31 Oct 2007 13:16:32 -0400
From: Bill Page
To: Ralf Hemmecke
Subject: Re: iterators and cartesian product.

On 10/31/07, Ralf Hemmecke wrote:
> > Yes exactly, although I am not sure why we need both Cross and Record.
>
> Elements of Record are mutable, elements of Cross are not.
>

Ok, thanks. I am not so sure how to deal with that distinction in a
"categorical" manner. I suppose mutability is an imperative-style
programming notion. I think the lack of mutability in functional
languages like Haskell is one of the harder things to get used to but
at the same time one of it's greatest strengths. In general I would
like Aldor/SPAD to promote a more functional style without necessarily
requiring it.

>
> PS: Shouldn't this discussion go to axiom-developer instead of axiom-math?
>

Maybe you are right but recently I have been avoiding axiom-developer
since Tim made it clear that the Axiom project per se was interested
primarily in documentation and the "30 year horizon". I originally
included axiom-math because I thought there might still be some people
subscribed there who are interested in more immediate issues in Axiom
and about category theory in Axiom/Aldor. But I have to admit that the
profusion of email lists about Axiom, it's forks and Aldor is
confusing to me and probably to our collective disadvantage.

\start
Date: Wed, 31 Oct 2007 18:58:41 -0500 (CDT)
From: Gabriel Dos Reis
To: list
Subject: Re: iterators and cartesian product.

On Wed, 31 Oct 2007, Bill Page wrote:

|                     I think the lack of mutability in functional
| languages like Haskell is one of the harder things to get used to but
| at the same time one of it's greatest strengths.

Haskell has imperative skin -- check out `monad'.

\start
Date: Wed, 31 Oct 2007 20:39:29 -0400
From: Bill Page
To: list
Subject: Re: iterators and cartesian product.

On 10/31/07, Gabriel Dos Reis wrote:
>
> On Wed, 31 Oct 2007, Bill Page wrote:
>
> |                     I think the lack of mutability in functional
> | languages like Haskell is one of the harder things to get used
> | to but at the same time one of it's greatest strengths.
>
> Haskell has imperative skin -- check out `monad'.
>

Yes, I think that is a very good point and it does soften my point
above a little. "lack of mutability" is misleading. Mutable structures
can be modeled in Haskell as a derived concept.  For example:

http://en.wikipedia.org/wiki/Monads_in_functional_programming

(See especially references at the end of the article.)

Using a purely functional language does not mean that imperative-style
programming is impossible in that language. It might even be
interesting to consider implementing something akin to monads in
Aldor/SPAD, but I think you will agree that fundamentally these
languages were not designed to be purely functional.

\start
Date: Wed, 31 Oct 2007 20:11:18 -0500 (CDT)
From: Gabriel Dos Reis
To: list
Subject: Re: iterators and cartesian product.

On Wed, 31 Oct 2007, Bill Page wrote:

| 
| On 10/31/07, Gabriel Dos Reis wrote:
| >
| > On Wed, 31 Oct 2007, Bill Page wrote:
| >
| > |                     I think the lack of mutability in functional
| > | languages like Haskell is one of the harder things to get used
| > | to but at the same time one of it's greatest strengths.
| >
| > Haskell has imperative skin -- check out `monad'.
| >
| 
| Yes, I think that is a very good point and it does soften my point
| above a little. "lack of mutability" is misleading. Mutable structures
| can be modeled in Haskell as a derived concept.  For example:
| 
| http://en.wikipedia.org/wiki/Monads_in_functional_programming
| 
| (See especially references at the end of the article.)
| 
| Using a purely functional language does not mean that imperative-style
| programming is impossible in that language.

Note however that some functional programming evangelists consider the
'monad' solution to the state problem as a `grotesques hack': If you
use a state in your function, all the callers will be infected.

| It might even be
| interesting to consider implementing something akin to monads in
| Aldor/SPAD,

There already existe a domain called Monad in the Axiom family -- it
is a well mathematically defined notion. 

I do not however see myself implement the Haskell solution for Axiom.
I would prefer a more powerful effect system for OpenAxiom.

| but I think you will agree that fundamentally these
| languages were not designed to be purely functional.

I do not see `purely functional' as as necessity.

\start
Date: Wed, 31 Oct 2007 21:42:14 -0400
From: Bill Page
To: list
Subject: Re: iterators and cartesian product.

On 10/31/07, Gabriel Dos Reis wrote:
>
> On Wed, 31 Oct 2007, Bill Page wrote:
> ...
> | It might even be interesting to consider implementing
> | something akin to monads in Aldor/SPAD,
>
> There already existe a domain called Monad in the Axiom family --
> it is a well mathematically defined notion.
>

Perhaps I am being dense but I do not see what this has to do with the
concept of Monad in Haskell. Could you please explain?

++ Description:
++  Monad is the class of all multiplicative monads, i.e. sets
++  with a binary operation.

)show Monad
 Monad  is a category constructor
 Abbreviation for Monad is MONAD
 This constructor is exposed in this frame.
 Issue )edit /usr/local/lib/axiom/target/i686-suse-linux/../../src/algebra/MONAD.spad
to see algebra source code for MONAD

------------------------------- Operations --------------------------------
 ?*? : (%,%) -> %                      ?**? : (%,PositiveInteger) -> %
 ?=? : (%,%) -> Boolean                coerce : % -> OutputForm
 hash : % -> SingleInteger             latex : % -> String
 ?~=? : (%,%) -> Boolean
 leftPower : (%,PositiveInteger) -> %
 rightPower : (%,PositiveInteger) -> %

-----

I think what is required "mathematically" for Haskell-like monads in
Axiom is something more related to the concept of monad in category
theory. Ref:

http://en.wikipedia.org/wiki/Monad_%28category_theory%29

perhaps implemented in the style promoted by Saul Youssef in his
article about category theory in Aldor.

> I do not however see myself implement the Haskell solution
> | for Axiom. I would prefer a more powerful effect system for
> | OpenAxiom.
>

Could you describe what you mean by "effect system"?

> | but I think you will agree that fundamentally these
> | languages were not designed to be purely functional.
>
> I do not see `purely functional' as as necessity.
>

In that case what is wrong with effects as implemented in SPAD's
imperative-style programming right now?

I am sorry. I don't mean to sound rude, but I just don't understand
where your comments lead. Could you say something more about what you
are considering for implemention in OpenAxiom?

\start
Date: Wed, 31 Oct 2007 20:55:10 -0500 (CDT)
From: Gabriel Dos Reis
To: list
Subject: Re: iterators and cartesian product.

On Wed, 31 Oct 2007, Bill Page wrote:

| On 10/31/07, Gabriel Dos Reis wrote:
| >
| > On Wed, 31 Oct 2007, Bill Page wrote:
| > ...
| > | It might even be interesting to consider implementing
| > | something akin to monads in Aldor/SPAD,
| >
| > There already existe a domain called Monad in the Axiom family --
| > it is a well mathematically defined notion.
| >
| 
| Perhaps I am being dense but I do not see what this has to do with the
| concept of Monad in Haskell.

They are the same categorial notion.  What youhave in Haskell is a
computer scientist application of the categorial notion of `monad'.
Haskell's take derive from Moggi's work on applying monads to defined
program semantics.  See his seminal work.  And it is also true that you
don't need to understand category theory before using `monad's in
Haskell.  Which makes some haskellers say that they did a really bad job
at picking the name.

[...]

| > I do not however see myself implement the Haskell solution
| > | for Axiom. I would prefer a more powerful effect system for
| > | OpenAxiom.
| >
| 
| Could you describe what you mean by "effect system"?


  http://www.irisa.fr/prive/talpin/papers/jfp92.pdf

| > | but I think you will agree that fundamentally these
| > | languages were not designed to be purely functional.
| >
| > I do not see `purely functional' as as necessity.
| >
| 
| In that case what is wrong with effects as implemented in SPAD's
| imperative-style programming right now?

I did not make a statement to that effect, so I do not exactly what
you mean. Could you clarify?

| I am sorry. I don't mean to sound rude, but I just don't understand
| where your comments lead. Could you say something more about what you
| are considering for implemention in OpenAxiom?

Among other things, a type and effect system so that I can know which
domain are purely functional -- therefore the caching implementation
technique is sound for them -- and which have effects, therefore
should not be cached. 

\start
Date: Wed, 31 Oct 2007 22:29:45 -0400
From: Bill Page
To: list
Subject: Re: iterators and cartesian product.

On 10/31/07, Gabriel Dos Reis wrote:
>
> On Wed, 31 Oct 2007, Bill Page wrote:
>
> | On 10/31/07, Gabriel Dos Reis wrote:
> | >
> | > On Wed, 31 Oct 2007, Bill Page wrote:
> | > ...
> | > | It might even be interesting to consider implementing
> | > | something akin to monads in Aldor/SPAD,
> | >
> | > There already existe a domain called Monad in the Axiom family --
> | > it is a well mathematically defined notion.
> | >
> |
> | Perhaps I am being dense but I do not see what this has to do with the
> | concept of Monad in Haskell.
>
> They are the same categorial notion.

That is not clear to me.

> What you have in Haskell is a computer scientist application of the
> categorial notion of `monad'.

Agreed.

> Haskell's take derive from Moggi's work on applying monads to defined
> program semantics.  See his seminal work.

Yes.

> And it is also true that you don't need to understand category
> theory before using `monad's in Haskell.

I don't think that is extraordinary. One doesn't need to know much
about formal semantics of programming languages in general before
starting to program. And more relevant to this thread: I don't think
you need to know anything about category before using Record or Cross
in Axiom/Aldor either, but I would still insist that to describe it
formally as a limit in category theory adds something to the issue of
language and library design.

> Which makes some haskellers say that they did a really bad job
> at picking the name.
>

Well, the language is called *Haskell* afterall. Do those haskellers
who think monad is a bad name even remember who Haskell Curry was!?
;-)  [Rhetorical, don't answer that ...]

> [...]
>
> | > I do not however see myself implement the Haskell solution
> | > | for Axiom. I would prefer a more powerful effect system for
> | > | OpenAxiom.
> | >
> |
> | Could you describe what you mean by "effect system"?
>
>   http://www.irisa.fr/prive/talpin/papers/jfp92.pdf

Ok, thanks. This quote from the article:

"Similar to types, effects describe how expressions affect the store
in a functional language extended with imperative constructs. Types
and effects can be statically computed by algebraic reconstruction
[Jouvelot]."

makes it more clear to me.

>
> | > | but I think you will agree that fundamentally these
> | > | languages were not designed to be purely functional.
> | >
> | > I do not see `purely functional' as as necessity.
> | >
> |
> | In that case what is wrong with effects as implemented in SPAD's
> | imperative-style programming right now?
>
> I did not make a statement to that effect, so I do not exactly what
> you mean. Could you clarify?
>

Your reference above makes it more clear to me what you might have in
mind. Perhaps you are thinking that it might be possible to give a
formal description of effects related to the imperative constructs in
SPAD as it exists now (or perhaps some subset of the imperative part
of the language). I am sceptical but I really don't know enough to
comment further.

> | I am sorry. I don't mean to sound rude, but I just don't understand
> | where your comments lead. Could you say something more about
> | what you are considering for implemention in OpenAxiom?
>
> Among other things, a type and effect system so that I can know which
> domain are purely functional -- therefore the caching implementation
> technique is sound for them -- and which have effects, therefore
> should not be cached.

I think that is a very worthwhile goal. Thanks for explaining.

\start
Date: Wed, 31 Oct 2007 21:54:51 -0500 (CDT)
From: Gabriel Dos Reis
To: list
Subject: Re: iterators and cartesian product.

On Wed, 31 Oct 2007, Bill Page wrote:

| 
| On 10/31/07, Gabriel Dos Reis wrote:
| >
| > On Wed, 31 Oct 2007, Bill Page wrote:
| >
| > | On 10/31/07, Gabriel Dos Reis wrote:
| > | >
| > | > On Wed, 31 Oct 2007, Bill Page wrote:
| > | > ...
| > | > | It might even be interesting to consider implementing
| > | > | something akin to monads in Aldor/SPAD,
| > | >
| > | > There already existe a domain called Monad in the Axiom family --
| > | > it is a well mathematically defined notion.
| > | >
| > |
| > | Perhaps I am being dense but I do not see what this has to do with the
| > | concept of Monad in Haskell.
| >
| > They are the same categorial notion.
| 
| That is not clear to me.
| 
| > What you have in Haskell is a computer scientist application of the
| > categorial notion of `monad'.
| 
| Agreed.

I cannot reconcile both your statements.  

Anyway, check out

    "Comprehending Monads", by Philip Wadler
     Proceedings of the 1990 ACM conference on LISP and functional
     programming 

[...]

| > Which makes some haskellers say that they did a really bad job
| > at picking the name.
| >
| 
| Well, the language is called *Haskell* afterall. Do those haskellers
| who think monad is a bad name even remember who Haskell Curry was!?
| ;-)  [Rhetorical, don't answer that ...]


http://research.microsoft.com/~simonpj/papers/haskell-retrospective/HaskellRetrospective.pdf

skip to page 40.

\start
Date: Wed, 31 Oct 2007 23:13:43 -0400
From: Bill Page
To: list
Subject: Re: iterators and cartesian product.

On 10/31/07, Gabriel Dos Reis wrote:
>
> On Wed, 31 Oct 2007, Bill Page wrote:
> ...
> | > |
> | > | Perhaps I am being dense but I do not see what this has to do with the
> | > | concept of Monad in Haskell.
> | >
> | > They are the same categorial notion.
> |
> | That is not clear to me.
> |
> | > What you have in Haskell is a computer scientist application of the
> | > categorial notion of `monad'.
> |
> | Agreed.
>
> I cannot reconcile both your statements.
>

I mean: What does Monad as defined in the Axiom library right now:

++  Monad is the class of all multiplicative monads, i.e. sets
++  with a binary operation.

have to do with Monads in Haskell? Isn't that what you implied by your comment?

"There already existe a domain called Monad in the Axiom family -- it
is a well mathematically defined notion."

Or did you just mean that if one implemented Haskell-style monads in
Axiom, one should use a different name?


> http://research.microsoft.com/~simonpj/papers/haskell-retrospective/HaskellRetrospective.pdf
>
> skip to page 40.
>

Oh yah, I remember that. I suppose we could use that name for monad in Axiom:

)abbrev domain WarmFuzzyThing WFT
...
;-)

\start
Date: Wed, 31 Oct 2007 22:16:52 -0500 (CDT)
From: Gabriel Dos Reis
To: list
Subject: Re: iterators and cartesian product.

On Wed, 31 Oct 2007, Bill Page wrote:

| 
| On 10/31/07, Gabriel Dos Reis wrote:
| >
| > On Wed, 31 Oct 2007, Bill Page wrote:
| > ...
| > | > |
| > | > | Perhaps I am being dense but I do not see what this has to do with the
| > | > | concept of Monad in Haskell.
| > | >
| > | > They are the same categorial notion.
| > |
| > | That is not clear to me.
| > |
| > | > What you have in Haskell is a computer scientist application of the
| > | > categorial notion of `monad'.
| > |
| > | Agreed.
| >
| > I cannot reconcile both your statements.
| >
| 
| I mean: What does Monad as defined in the Axiom library right now:
| 
| ++  Monad is the class of all multiplicative monads, i.e. sets
| ++  with a binary operation.
| 
| have to do with Monads in Haskell?

That is explained in the reference to Philip Wadler's paper I pointed
to in my earlier message.

| Isn't that what you implied by your comment?

Yes.

-- Gaby



