diff --git a/changelog b/changelog
index 7592b65..9e5db47 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20100222 tpd src/axiom-website/patches.html 20100222.04.tpd.patch
+20100222 tpd src/input/pmint.input add comments
 20100222 tpd src/axiom-website/patches.html 20100222.03.tpd.patch
 20100222 tpd src/interp/Makefile remove cparse
 20100222 tpd src/interp/cparse.lisp removed
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 2141090..df660b4 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2489,5 +2489,7 @@ books/bookvol5 treeshake cparse<br/>
 src/input/unittest2.input fix broken credit test<br/>
 <a href="patches/20100222.03.tpd.patch">20100222.03.tpd.patch</a>
 books/bookvol5 merge and remove cparse, treeshake ptrees<br/>
+<a href="patches/20100222.04.tpd.patch">20100222.04.tpd.patch</a>
+src/input/pmint.input add comments<br/>
  </body>
 </html>
diff --git a/src/input/pmint.input.pamphlet b/src/input/pmint.input.pamphlet
index 39310dd..5d6421a 100644
--- a/src/input/pmint.input.pamphlet
+++ b/src/input/pmint.input.pamphlet
@@ -111,6 +111,78 @@ deflation := proc(p, d) local si, x, c, q;
 end;
 
 \end{verbatim}
+
+\begin{verbatim}
+Christopher Creutzig (sci.math.symbolic 2/19/10 10:18pm):
+
+ The Risch-Norman algorithm is actually a fascinating piece of
+machinery. (I'm using MuPAD syntax, since that is what I have around all
+the time, but the principles are obviously system agnostic.)
+
+ Let's assume we define elliptic functions E and K. For what follows,
+the only thing we need is that they know how to be differentiated, so
+I'll not write any code beyond that:
+
+ellipE := funcenv(ellipE):
+ellipK := funcenv(ellipK):
+
+ellipE::diff :=
+proc(f, x)
+  local z;
+begin
+  z := op(f);
+  (ellipE(z) - ellipK(z))/(2*z) * diff(z, x);
+end_proc:
+
+ellipK::diff := proc(f,x)
+  local z;
+begin
+  z := op(f);
+  (ellipE(z) - (1-z)*ellipK(z))/
+    (2*(1-z)*z) * diff(z, x);
+end_proc:
+
+ What can we do with this code? Obviously, creating Taylor series, and
+once ellipE and ellipK also learned to be evaluated at 0, those would
+also have useful coefficients. But with the Risch-Norman algorithm, the
+definition above is sufficient for a couple of symbolic integrations, too!
+
+>> int(ellipE(x), x)
+
+2 ellipE(x)   2 ellipK(x)     / 2 ellipE(x)   2 ellipK(x) \
+----------- - ----------- + x | ----------- + ----------- |
+     3             3          \      3             3      /
+
+>> diff(%, x)
+
+2 ellipE(x)   2 ellipK(x)     / ellipE(x) - ellipK(x)
+----------- + ----------- + x | --------------------- -
+     3             3          \          3 x
+
+   ellipE(x) + ellipK(x) (x - 1) \   ellipE(x) - ellipK(x)
+   ----------------------------- | + --------------------- +
+            3 x (x - 1)          /            3 x
+
+   ellipE(x) + ellipK(x) (x - 1)
+   -----------------------------
+            3 x (x - 1)
+
+>> simplify(%)
+
+ellipE(x)
+
+>> int(x*ellipE(x), x)
+
+8 ellipE(x)   8 ellipK(x)    2 / 2 ellipE(x)   2 ellipK(x) \
+----------- - ----------- + x  | ----------- + ----------- | +
+     45            45          \      5             15     /
+
+     / 2 ellipE(x)   2 ellipK(x) \
+   x | ----------- + ----------- |
+     \      45            45     / 
+
+\end{verbatim}
+
 \begin{chunk}{*}
 )set break resume
 )sys rm -f pmint.output
