diff --git a/changelog b/changelog
index 406d22f..d94771e 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20091019 tpd src/axiom-website/patches.html 20091019.04.tpd.patch
+20091019 tpd src/input/branchcut.input added
+20091019 tpd src/input/Makefile add branchcut.input
 20091019 tpd src/axiom-website/patches.html 20091019.03.tpd.patch
 20091019 tpd books/bookvol10.3 fix TextFile regression test
 20091019 tpd src/axiom-website/patches.html 20091019.02.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 1d4df68..f524bbf 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2159,5 +2159,7 @@ src/axiom-website/developers.html add spad84.jpg, rewrite page<br/>
 src/input/gstbl.input ignore gensym<br/>
 <a href="patches/20091019.03.tpd.patch">20091019.03.tpd.patch</a>
 books/bookvol10.3 fix TextFile regression test<br/>
+<a href="patches/20091019.04.tpd.patch">20091019.04.tpd.patch</a>
+src/input/branchcut.input added<br/>
  </body>
 </html>
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index 5abd2ce..e4d7708 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -285,6 +285,7 @@ REGRES= algaggr.regress algbrbf.regress  algfacob.regress alist.regress  \
     asec.regress      bbtree.regress   besselk.regress \
     binary.regress    bini.regress     biquat.regress \
     bop.regress       bstree.regress   bouquet.regress \
+    branchcut.regress \
     bug100.regress    bug101.regress \
     bug103.regress    bug10069.regress \
     bugs.regress      bug10312.regress bug6357.regress  bug9057.regress \
@@ -547,7 +548,8 @@ FILES= ${OUT}/algaggr.input  ${OUT}/algbrbf.input    ${OUT}/algfacob.input \
        ${OUT}/bern.input \
        ${OUT}/bernpoly.input ${OUT}/binary.input     ${OUT}/bini.input \
        ${OUT}/biquat.input   ${OUT}/bop.input \
-       ${OUT}/bouquet.input  ${OUT}/bstree.input     ${OUT}/bug6357.input \
+       ${OUT}/bouquet.input  ${OUT}/branchcut.input \
+       ${OUT}/bstree.input   ${OUT}/bug6357.input \
        ${OUT}/bug9057.input  ${OUT}/bug100.input     ${OUT}/bug101.input \
        ${OUT}/bug103.input \
        ${OUT}/bug10069.input ${OUT}/bug10312.input \
@@ -767,6 +769,7 @@ DOCFILES= \
   ${DOC}/bernpoly.input.dvi    ${DOC}/binary.input.dvi     \
   ${DOC}/bini.input.dvi        ${DOC}/biquat.input.dvi \
   ${DOC}/bop.input.dvi         ${DOC}/bouquet.input.dvi    \
+  ${DOC}/branchcut.input.dvi \
   ${DOC}/bstree.input.dvi      ${DOC}/bug10069.input.dvi   \
   ${DOC}/bug100.input.dvi      ${DOC}/bug101.input.dvi     \
   ${DOC}/bug103.input.dvi \
diff --git a/src/input/branchcut.input.pamphlet b/src/input/branchcut.input.pamphlet
new file mode 100644
index 0000000..10577bb
--- /dev/null
+++ b/src/input/branchcut.input.pamphlet
@@ -0,0 +1,109 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input branchcut.input}
+\author{Daniel Zwillinger}
+\maketitle
+\begin{abstract}
+This example is from the Handbook of Integration, p 58
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+Consider the integral
+\[I(a,b) = \int_0^1{\frac{dx}{ax+b}}\]
+for real $x$ and arbitrary nonzero complex $a$ and $b$. The indefinite
+integral has the primitive $\log(ax+b)/a$. Hence, a careless ``direct''
+derivation would yield the result
+\[I(a,b)=\frac{log(a+b)}{a}-\frac{log b}{a}\]
+
+The problem, of course, is that the logarithm function has a branch
+cut. Hence, the two logarithms may not be on the same Riemann sheet.
+
+The correct way to evaluate it is to separate the region of integration
+into two sub-intervals, with the division point being the value where
+$ax+b$ may vanish. An easier way, for this integral, is to first write
+the integral as
+\[I(a,b)=\frac{1}{a}\int_0^1{\frac{dx}{x+\frac{b}{a}}}
+=\frac{1}{a}\left(x+\frac{b}{a}\right)\vert^1_0\]
+No matter what the sign of the Im$(b/a)$, the argument of the logarithm
+never crosses the cut (since $x$ is real). Thus, the answer is
+\[I(a,b)=
+\frac{1}{a}\left[\log\left(1+\frac{b}{a}\right)-\log\frac{b}{a}\right]\]
+Note that since $1+b/a$ and $b/a$ have the same imaginary part, we may 
+combine them to obtain our final answer
+\[I(a,b)=\frac{1}{a}\log\frac{a+b}{b}\]
+
+\begin{chunk}{*}
+)set break resume
+)sys rm -f branchcut.output
+)spool branchcut.output
+)set message test on
+)set message auto off
+)clear all
+ 
+--S 1 of 5
+t1:=integrate(a/(a*x+b),x=0..1,"noPole")
+--R 
+--R
+--R             2           2         2
+--R        log(b  + 2a b + a ) - log(b )
+--R   (1)  -----------------------------
+--R                      2
+--R                    Type: Union(f1: OrderedCompletion Expression Integer,...)
+--E 1
+
+--S 2 of 5
+t2:=(1/a)*log((a+b)/b)
+--R 
+--R
+--R            b + a
+--R        log(-----)
+--R              b
+--R   (2)  ----------
+--R             a
+--R                                                     Type: Expression Integer
+--E 2
+
+--S 3 of 5
+complexNormalize t1-t2
+--R 
+--R
+--R               2           2           2         b + a
+--R        a log(b  + 2a b + a ) - a log(b ) - 2log(-----)
+--R                                                   b
+--R   (3)  -----------------------------------------------
+--R                               2a
+--R                                                     Type: Expression Integer
+--E 3
+
+--S 4 of 5
+t3:=log(a+b)/a-log(b)/a
+--R 
+--R
+--R        log(b + a) - log(b)
+--R   (4)  -------------------
+--R                 a
+--R                                                     Type: Expression Integer
+--E 4
+
+--S 5 of 5
+complexNormalize t1-t3
+--R 
+--R
+--R               2           2           2
+--R        a log(b  + 2a b + a ) - a log(b ) - 2log(b + a) + 2log(b)
+--R   (5)  ---------------------------------------------------------
+--R                                    2a
+--R                                                     Type: Expression Integer
+--E 5
+
+)spool 
+)lisp (bye)
+ 
+\end{chunk}
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
