aboutsummaryrefslogtreecommitdiff
path: root/src/input
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
committerdos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
commitab8cc85adde879fb963c94d15675783f2cf4b183 (patch)
treec202482327f474583b750b2c45dedfc4e4312b1d /src/input
downloadopen-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz
Initial population.
Diffstat (limited to 'src/input')
-rw-r--r--src/input/ChangeLog71
-rw-r--r--src/input/Makefile.in769
-rw-r--r--src/input/Makefile.pamphlet927
-rw-r--r--src/input/algaggr.input.pamphlet72
-rw-r--r--src/input/algbrbf.input.pamphlet42
-rw-r--r--src/input/algfacob.input.pamphlet75
-rw-r--r--src/input/alist.input.pamphlet32
-rw-r--r--src/input/allfact.input.pamphlet68
-rw-r--r--src/input/antoine.input.pamphlet76
-rw-r--r--src/input/arith.input.pamphlet104
-rw-r--r--src/input/array1.input.pamphlet31
-rw-r--r--src/input/array2.input.pamphlet43
-rw-r--r--src/input/arrows.input.pamphlet41
-rw-r--r--src/input/as-eg1.input.pamphlet35
-rw-r--r--src/input/as-eg2.input.pamphlet27
-rw-r--r--src/input/as-eg3.input.pamphlet49
-rw-r--r--src/input/as-eg4.input.pamphlet28
-rw-r--r--src/input/as-eg5.input.pamphlet30
-rw-r--r--src/input/as-eg6.input.pamphlet47
-rw-r--r--src/input/asec.input.pamphlet204
-rw-r--r--src/input/aseg6.as.pamphlet118
-rw-r--r--src/input/aseg7.as.pamphlet108
-rw-r--r--src/input/assign.input.pamphlet39
-rw-r--r--src/input/atansqrt.input.pamphlet36
-rw-r--r--src/input/axiom.input.pamphlet46
-rw-r--r--src/input/bags.input.pamphlet69
-rw-r--r--src/input/bbtree.input.pamphlet32
-rw-r--r--src/input/bern.input.pamphlet20
-rw-r--r--src/input/bernpoly.input.pamphlet36
-rw-r--r--src/input/binary.input.pamphlet28
-rw-r--r--src/input/bop.input.pamphlet67
-rw-r--r--src/input/bouquet.input.pamphlet60
-rw-r--r--src/input/bstree.input.pamphlet37
-rw-r--r--src/input/bug10069.input.pamphlet35
-rw-r--r--src/input/bug10312.input.pamphlet28
-rw-r--r--src/input/bug6357.input.pamphlet24
-rw-r--r--src/input/bug9057.input.pamphlet37
-rw-r--r--src/input/bugs.input.pamphlet342
-rw-r--r--src/input/c02aff.input.pamphlet33
-rw-r--r--src/input/c02agf.input.pamphlet32
-rw-r--r--src/input/c05adf.input.pamphlet33
-rw-r--r--src/input/c05nbf.input.pamphlet43
-rw-r--r--src/input/c05pbf.input.pamphlet44
-rw-r--r--src/input/c06eaf.input.pamphlet31
-rw-r--r--src/input/c06ebf.input.pamphlet31
-rw-r--r--src/input/c06ecf.input.pamphlet33
-rw-r--r--src/input/c06ekf.input.pamphlet36
-rw-r--r--src/input/c06fpf.input.pamphlet36
-rw-r--r--src/input/c06fqf.input.pamphlet36
-rw-r--r--src/input/c06frf.input.pamphlet40
-rw-r--r--src/input/c06fuf.input.pamphlet41
-rw-r--r--src/input/c06gbf.input.pamphlet31
-rw-r--r--src/input/c06gcf.input.pamphlet31
-rw-r--r--src/input/c06gqf.input.pamphlet34
-rw-r--r--src/input/c06gsf.input.pamphlet34
-rw-r--r--src/input/calculus.input.pamphlet61
-rw-r--r--src/input/calculus2.input.pamphlet359
-rw-r--r--src/input/card.input.pamphlet42
-rw-r--r--src/input/cardinal.input.pamphlet41
-rw-r--r--src/input/carten.input.pamphlet70
-rw-r--r--src/input/cclass.input.pamphlet38
-rw-r--r--src/input/cdraw.input.pamphlet164
-rw-r--r--src/input/ch.input.pamphlet41
-rw-r--r--src/input/char.input.pamphlet35
-rw-r--r--src/input/clif.input.pamphlet73
-rw-r--r--src/input/clifford.input.pamphlet107
-rw-r--r--src/input/coercels.input.pamphlet34
-rw-r--r--src/input/collect.input.pamphlet95
-rw-r--r--src/input/color.input.pamphlet41
-rw-r--r--src/input/complex.input.pamphlet37
-rw-r--r--src/input/cone.input.pamphlet20
-rw-r--r--src/input/conformal.input.pamphlet182
-rw-r--r--src/input/constant.input.pamphlet70
-rw-r--r--src/input/contfrac.input.pamphlet96
-rw-r--r--src/input/contfrc.input.pamphlet43
-rw-r--r--src/input/coordsys.input.pamphlet79
-rw-r--r--src/input/curl.input.pamphlet20
-rw-r--r--src/input/cycles.input.pamphlet374
-rw-r--r--src/input/cycles1.input.pamphlet69
-rw-r--r--src/input/cycloid.input.pamphlet20
-rw-r--r--src/input/cycloid2.input.pamphlet20
-rw-r--r--src/input/cycloid3.input.pamphlet20
-rw-r--r--src/input/cyfactor.input.pamphlet52
-rw-r--r--src/input/d01ajf.input.pamphlet36
-rw-r--r--src/input/d01akf.input.pamphlet36
-rw-r--r--src/input/d01alf.input.pamphlet38
-rw-r--r--src/input/d01amf.input.pamphlet35
-rw-r--r--src/input/d01anf.input.pamphlet37
-rw-r--r--src/input/d01apf.input.pamphlet39
-rw-r--r--src/input/d01aqf.input.pamphlet37
-rw-r--r--src/input/d01asf.input.pamphlet37
-rw-r--r--src/input/d01bbf.input.pamphlet33
-rw-r--r--src/input/d01fcf.input.pamphlet38
-rw-r--r--src/input/d01gaf.input.pamphlet37
-rw-r--r--src/input/d01gbf.input.pamphlet38
-rw-r--r--src/input/d02bbf.input.pamphlet41
-rw-r--r--src/input/d02bhf.input.pamphlet41
-rw-r--r--src/input/d02cjf.input.pamphlet42
-rw-r--r--src/input/d02ejf.input.pamphlet46
-rw-r--r--src/input/d02gaf.input.pamphlet51
-rw-r--r--src/input/d02gbf.input.pamphlet58
-rw-r--r--src/input/d02kef.input.pamphlet50
-rw-r--r--src/input/d02raf.input.pamphlet53
-rw-r--r--src/input/d03edf.input.pamphlet87
-rw-r--r--src/input/d03eef.input.pamphlet40
-rw-r--r--src/input/d03faf.input.pamphlet79
-rw-r--r--src/input/damped.input.pamphlet52
-rw-r--r--src/input/danzwill.input.pamphlet118
-rw-r--r--src/input/de2re.input.pamphlet62
-rw-r--r--src/input/decimal.input.pamphlet30
-rw-r--r--src/input/defintef.input.pamphlet45
-rw-r--r--src/input/defintrf.input.pamphlet31
-rw-r--r--src/input/defs.input.pamphlet110
-rw-r--r--src/input/derham.input.pamphlet55
-rw-r--r--src/input/dfloat.input.pamphlet34
-rw-r--r--src/input/dhtri.input.pamphlet68
-rw-r--r--src/input/divisor.input.pamphlet49
-rw-r--r--src/input/dmp.input.pamphlet31
-rw-r--r--src/input/dpol.input.pamphlet71
-rw-r--r--src/input/draw.input.pamphlet79
-rw-r--r--src/input/draw2dSF.data.pamphlet1042
-rw-r--r--src/input/draw2dSF.input.pamphlet52
-rw-r--r--src/input/drawalg.input.pamphlet28
-rw-r--r--src/input/drawcfn.input.pamphlet93
-rw-r--r--src/input/drawcfun.input.pamphlet99
-rw-r--r--src/input/drawcurv.input.pamphlet87
-rw-r--r--src/input/drawcx.input.pamphlet57
-rw-r--r--src/input/drawex.input.pamphlet80
-rw-r--r--src/input/drawpoly.input.pamphlet33
-rw-r--r--src/input/drawx.input.pamphlet50
-rw-r--r--src/input/dropt.input.pamphlet92
-rw-r--r--src/input/e01baf.input.pamphlet35
-rw-r--r--src/input/e01bef.input.pamphlet34
-rw-r--r--src/input/e01bff.input.pamphlet40
-rw-r--r--src/input/e01bgf.input.pamphlet40
-rw-r--r--src/input/e01bhf.input.pamphlet39
-rw-r--r--src/input/e01daf.input.pamphlet50
-rw-r--r--src/input/e01saf.input.pamphlet48
-rw-r--r--src/input/e01sbf.input.pamphlet48
-rw-r--r--src/input/e01sef.input.pamphlet51
-rw-r--r--src/input/e01sff.input.pamphlet54
-rw-r--r--src/input/e02adf.input.pamphlet40
-rw-r--r--src/input/e02aef.input.pamphlet32
-rw-r--r--src/input/e02agf.input.pamphlet51
-rw-r--r--src/input/e02ahf.input.pamphlet38
-rw-r--r--src/input/e02ajf.input.pamphlet38
-rw-r--r--src/input/e02akf.input.pamphlet36
-rw-r--r--src/input/e02baf.input.pamphlet42
-rw-r--r--src/input/e02bbf.input.pamphlet36
-rw-r--r--src/input/e02bcf.input.pamphlet37
-rw-r--r--src/input/e02bdf.input.pamphlet35
-rw-r--r--src/input/e02bef.input.pamphlet47
-rw-r--r--src/input/e02daf.input.pamphlet60
-rw-r--r--src/input/e02dcf.input.pamphlet62
-rw-r--r--src/input/e02ddf.input.pamphlet55
-rw-r--r--src/input/e02def.input.pamphlet45
-rw-r--r--src/input/e02dff.input.pamphlet48
-rw-r--r--src/input/e02gaf.input.pamphlet42
-rw-r--r--src/input/e02zaf.input.pamphlet41
-rw-r--r--src/input/e04dgf.input.pamphlet44
-rw-r--r--src/input/e04fdf.input.pamphlet51
-rw-r--r--src/input/e04gcf.input.pamphlet51
-rw-r--r--src/input/e04jaf.input.pamphlet41
-rw-r--r--src/input/e04mbf.input.pamphlet56
-rw-r--r--src/input/e04naf.input.pamphlet84
-rw-r--r--src/input/e04ucf.input.pamphlet101
-rw-r--r--src/input/e04ycf.input.pamphlet39
-rw-r--r--src/input/easter.input.pamphlet383
-rw-r--r--src/input/ecfact.as.pamphlet282
-rw-r--r--src/input/efi.input.pamphlet55
-rw-r--r--src/input/egg.input.pamphlet19
-rw-r--r--src/input/eigen.input.pamphlet122
-rw-r--r--src/input/elemfun.input.pamphlet76
-rw-r--r--src/input/elemnum.input.pamphlet122
-rw-r--r--src/input/elfuts.input.pamphlet80
-rw-r--r--src/input/elt.input.pamphlet32
-rw-r--r--src/input/eq.input.pamphlet34
-rw-r--r--src/input/eqtbl.input.pamphlet28
-rw-r--r--src/input/equation.input.pamphlet148
-rw-r--r--src/input/equation2.input.pamphlet61
-rw-r--r--src/input/errortrap.input.pamphlet46
-rw-r--r--src/input/eval.input.pamphlet77
-rw-r--r--src/input/evalex.input.pamphlet33
-rw-r--r--src/input/exdiff.input.pamphlet52
-rw-r--r--src/input/exint.input.pamphlet64
-rw-r--r--src/input/exit.input.pamphlet33
-rw-r--r--src/input/exlap.input.pamphlet48
-rw-r--r--src/input/exlimit.input.pamphlet59
-rw-r--r--src/input/expexpan.input.pamphlet55
-rw-r--r--src/input/explim.input.pamphlet58
-rw-r--r--src/input/explot2d.input.pamphlet38
-rw-r--r--src/input/explot3d.input.pamphlet35
-rw-r--r--src/input/expr.input.pamphlet58
-rw-r--r--src/input/expr1.input.pamphlet45
-rw-r--r--src/input/exprode.input.pamphlet49
-rw-r--r--src/input/exprpoly.input.pamphlet69
-rw-r--r--src/input/exseries.input.pamphlet43
-rw-r--r--src/input/exsum.input.pamphlet63
-rw-r--r--src/input/f01brf.input.pamphlet64
-rw-r--r--src/input/f01bsf.input.pamphlet59
-rw-r--r--src/input/f01maf.input.pamphlet56
-rw-r--r--src/input/f01mcf.input.pamphlet34
-rw-r--r--src/input/f01qcf.input.pamphlet37
-rw-r--r--src/input/f01qdf.input.pamphlet49
-rw-r--r--src/input/f01qef.input.pamphlet41
-rw-r--r--src/input/f01rcf.input.pamphlet37
-rw-r--r--src/input/f01rdf.input.pamphlet49
-rw-r--r--src/input/f01ref.input.pamphlet41
-rw-r--r--src/input/f02aaf.input.pamphlet35
-rw-r--r--src/input/f02abf.input.pamphlet36
-rw-r--r--src/input/f02adf.input.pamphlet41
-rw-r--r--src/input/f02aef.input.pamphlet42
-rw-r--r--src/input/f02aff.input.pamphlet35
-rw-r--r--src/input/f02agf.input.pamphlet37
-rw-r--r--src/input/f02ajf.input.pamphlet41
-rw-r--r--src/input/f02akf.input.pamphlet43
-rw-r--r--src/input/f02awf.input.pamphlet41
-rw-r--r--src/input/f02axf.input.pamphlet43
-rw-r--r--src/input/f02bbf.input.pamphlet39
-rw-r--r--src/input/f02bjf.input.pamphlet44
-rw-r--r--src/input/f02fjf.input.pamphlet74
-rw-r--r--src/input/f02wef.input.pamphlet46
-rw-r--r--src/input/f02xef.input.pamphlet49
-rw-r--r--src/input/f04adf.input.pamphlet39
-rw-r--r--src/input/f04arf.input.pamphlet41
-rw-r--r--src/input/f04asf.input.pamphlet41
-rw-r--r--src/input/f04atf.input.pamphlet42
-rw-r--r--src/input/f04axf.input.pamphlet57
-rw-r--r--src/input/f04faf.input.pamphlet36
-rw-r--r--src/input/f04jgf.input.pamphlet44
-rw-r--r--src/input/f04maf.input.pamphlet69
-rw-r--r--src/input/f04mbf.input.pamphlet57
-rw-r--r--src/input/f04mcf.input.pamphlet47
-rw-r--r--src/input/f04qaf.input.pamphlet55
-rw-r--r--src/input/f07adf.input.pamphlet36
-rw-r--r--src/input/f07aef.input.pamphlet45
-rw-r--r--src/input/f07fdf.input.pamphlet36
-rw-r--r--src/input/f07fef.input.pamphlet43
-rw-r--r--src/input/farray.input.pamphlet38
-rw-r--r--src/input/ffdemo.input.pamphlet579
-rw-r--r--src/input/fferr.input.pamphlet32
-rw-r--r--src/input/ffrac.input.pamphlet63
-rw-r--r--src/input/ffx72.input.pamphlet70
-rw-r--r--src/input/fib.input.pamphlet29
-rw-r--r--src/input/file.input.pamphlet35
-rw-r--r--src/input/fixed.input.pamphlet1497
-rw-r--r--src/input/float.input.pamphlet44
-rw-r--r--src/input/float1.input.pamphlet75
-rw-r--r--src/input/float2.input.pamphlet68
-rw-r--r--src/input/fname.input.pamphlet43
-rw-r--r--src/input/fname1.input.pamphlet40
-rw-r--r--src/input/fnla.input.pamphlet37
-rw-r--r--src/input/fns.input.pamphlet42
-rw-r--r--src/input/folium.input.pamphlet20
-rw-r--r--src/input/fparfrac.input.pamphlet61
-rw-r--r--src/input/fparfrc.input.pamphlet38
-rw-r--r--src/input/fr.input.pamphlet110
-rw-r--r--src/input/fr1.input.pamphlet80
-rw-r--r--src/input/fr2.input.pamphlet28
-rw-r--r--src/input/frac.input.pamphlet34
-rw-r--r--src/input/function.input.pamphlet89
-rw-r--r--src/input/galois.input.pamphlet50
-rw-r--r--src/input/gary1.input.pamphlet20
-rw-r--r--src/input/gbf.input.pamphlet25
-rw-r--r--src/input/genups.input.pamphlet96
-rw-r--r--src/input/gnarly1.input.pamphlet20
-rw-r--r--src/input/gonshor.input.pamphlet218
-rw-r--r--src/input/graphics.input.pamphlet102
-rw-r--r--src/input/grdef.input.pamphlet57
-rw-r--r--src/input/grpthry.input.pamphlet109
-rw-r--r--src/input/gstbl.input.pamphlet29
-rw-r--r--src/input/heap.input.pamphlet30
-rw-r--r--src/input/heat.input.pamphlet47
-rw-r--r--src/input/helix.input.pamphlet19
-rw-r--r--src/input/help.input.pamphlet24
-rw-r--r--src/input/herm.input.pamphlet143
-rw-r--r--src/input/hexadec.input.pamphlet29
-rw-r--r--src/input/hilbert.as.pamphlet320
-rw-r--r--src/input/huang.input.pamphlet564
-rw-r--r--src/input/ico.input.pamphlet84
-rw-r--r--src/input/ideal.input.pamphlet43
-rw-r--r--src/input/ifact.input.pamphlet32
-rw-r--r--src/input/images1.input.pamphlet30
-rw-r--r--src/input/images1a.input.pamphlet129
-rw-r--r--src/input/images2.input.pamphlet36
-rw-r--r--src/input/images2a.input.pamphlet207
-rw-r--r--src/input/images3.input.pamphlet30
-rw-r--r--src/input/images3a.input.pamphlet57
-rw-r--r--src/input/images5.input.pamphlet102
-rw-r--r--src/input/images5a.input.pamphlet175
-rw-r--r--src/input/images6.input.pamphlet46
-rw-r--r--src/input/images6a.input.pamphlet45
-rw-r--r--src/input/images7.input.pamphlet56
-rw-r--r--src/input/images7a.input.pamphlet213
-rw-r--r--src/input/images8.input.pamphlet50
-rw-r--r--src/input/images8a.input.pamphlet268
-rw-r--r--src/input/infprod.input.pamphlet64
-rw-r--r--src/input/int.input.pamphlet81
-rw-r--r--src/input/intaf.input.pamphlet46
-rw-r--r--src/input/intdeq.input.pamphlet32
-rw-r--r--src/input/intef.input.pamphlet59
-rw-r--r--src/input/intef2.input.pamphlet31
-rw-r--r--src/input/intg0.input.pamphlet55
-rw-r--r--src/input/intheory.input.pamphlet45
-rw-r--r--src/input/intlf.input.pamphlet27
-rw-r--r--src/input/intmix.input.pamphlet36
-rw-r--r--src/input/intmix2.input.pamphlet25
-rw-r--r--src/input/intrf.input.pamphlet41
-rw-r--r--src/input/ipftest.input.pamphlet32
-rw-r--r--src/input/is.input.pamphlet51
-rw-r--r--src/input/isprime.input.pamphlet41
-rw-r--r--src/input/kafile.input.pamphlet43
-rw-r--r--src/input/kernel.input.pamphlet41
-rw-r--r--src/input/knot.input.pamphlet40
-rw-r--r--src/input/knot2.input.pamphlet46
-rw-r--r--src/input/knownbugs.input.pamphlet105
-rw-r--r--src/input/kovacic.input.pamphlet53
-rw-r--r--src/input/kuipers.input.pamphlet518
-rw-r--r--src/input/laplace.input.pamphlet59
-rw-r--r--src/input/leg.input.pamphlet30
-rw-r--r--src/input/lexp.input.pamphlet33
-rw-r--r--src/input/lextripk.input.pamphlet42
-rw-r--r--src/input/lib.input.pamphlet30
-rw-r--r--src/input/limit.input.pamphlet42
-rw-r--r--src/input/linalg.input.pamphlet116
-rw-r--r--src/input/lindep.input.pamphlet45
-rw-r--r--src/input/liss1.input.pamphlet20
-rw-r--r--src/input/liss2.input.pamphlet20
-rw-r--r--src/input/list.input.pamphlet75
-rw-r--r--src/input/lode.input.pamphlet66
-rw-r--r--src/input/lodesys.input.pamphlet57
-rw-r--r--src/input/lodo.input.pamphlet137
-rw-r--r--src/input/lodo1.input.pamphlet47
-rw-r--r--src/input/lodo2.input.pamphlet56
-rw-r--r--src/input/lodo3.input.pamphlet42
-rw-r--r--src/input/lodof.input.pamphlet60
-rw-r--r--src/input/loop.input.pamphlet59
-rw-r--r--src/input/lpoly.input.pamphlet48
-rw-r--r--src/input/lump.input.pamphlet20
-rw-r--r--src/input/lupfact.input.pamphlet146
-rw-r--r--src/input/lword.input.pamphlet42
-rw-r--r--src/input/macbug.input.pamphlet54
-rw-r--r--src/input/macros.input.pamphlet31
-rw-r--r--src/input/magma.input.pamphlet42
-rw-r--r--src/input/mapleok.input.pamphlet5972
-rw-r--r--src/input/mappkg1.input.pamphlet54
-rw-r--r--src/input/marcbench.input.pamphlet511
-rw-r--r--src/input/matbug.input.pamphlet37
-rw-r--r--src/input/matops.as.pamphlet79
-rw-r--r--src/input/matrix.input.pamphlet97
-rw-r--r--src/input/matrix1.input.pamphlet68
-rw-r--r--src/input/matrix22.input.pamphlet45
-rw-r--r--src/input/matrox.input.pamphlet95
-rw-r--r--src/input/mfinfact.input.pamphlet41
-rw-r--r--src/input/mkfunc.input.pamphlet31
-rw-r--r--src/input/mountain.input.pamphlet133
-rw-r--r--src/input/mpoly.input.pamphlet32
-rw-r--r--src/input/mset.input.pamphlet43
-rw-r--r--src/input/mset2.input.pamphlet34
-rw-r--r--src/input/mult2d.input.pamphlet56
-rw-r--r--src/input/mult3d.input.pamphlet73
-rw-r--r--src/input/multKnot.input.pamphlet41
-rw-r--r--src/input/multfact.input.pamphlet31
-rw-r--r--src/input/multiple.input.pamphlet35
-rw-r--r--src/input/ndftip.input.pamphlet360
-rw-r--r--src/input/negfloats.input.pamphlet29
-rw-r--r--src/input/nepip.input.pamphlet154
-rw-r--r--src/input/newlodo.input.pamphlet112
-rw-r--r--src/input/newton.input.pamphlet57
-rw-r--r--src/input/nlode.input.pamphlet64
-rw-r--r--src/input/none.input.pamphlet25
-rw-r--r--src/input/noonburg.input.pamphlet35
-rw-r--r--src/input/noptip.input.pamphlet41
-rw-r--r--src/input/nqip.input.pamphlet73
-rw-r--r--src/input/nsfip.input.pamphlet701
-rw-r--r--src/input/ntube.input.pamphlet100
-rw-r--r--src/input/numbers.input.pamphlet142
-rw-r--r--src/input/oct.input.pamphlet37
-rw-r--r--src/input/octonion.input.pamphlet86
-rw-r--r--src/input/ode.input.pamphlet60
-rw-r--r--src/input/odpol.input.pamphlet58
-rw-r--r--src/input/op.input.pamphlet26
-rw-r--r--src/input/op1.input.pamphlet46
-rw-r--r--src/input/opalg.input.pamphlet44
-rw-r--r--src/input/operator.input.pamphlet34
-rw-r--r--src/input/ovar.input.pamphlet27
-rw-r--r--src/input/padic.input.pamphlet55
-rw-r--r--src/input/palette.input.pamphlet35
-rw-r--r--src/input/parabola.input.pamphlet20
-rw-r--r--src/input/parpcurv.input.pamphlet28
-rw-r--r--src/input/parscurv.input.pamphlet28
-rw-r--r--src/input/parsurf.input.pamphlet34
-rw-r--r--src/input/pascal.input.pamphlet37
-rw-r--r--src/input/pascal1.input.pamphlet33
-rw-r--r--src/input/pat.input.pamphlet45
-rw-r--r--src/input/patmatch.input.pamphlet56
-rw-r--r--src/input/pdecomp0.as.pamphlet143
-rw-r--r--src/input/perm.input.pamphlet185
-rw-r--r--src/input/perman.input.pamphlet29
-rw-r--r--src/input/pfr.input.pamphlet123
-rw-r--r--src/input/pfr1.input.pamphlet32
-rw-r--r--src/input/pinch.input.pamphlet20
-rw-r--r--src/input/plotfile.input.pamphlet84
-rw-r--r--src/input/plotlist.input.pamphlet57
-rw-r--r--src/input/pmint.input.pamphlet548
-rw-r--r--src/input/pollevel.input.pamphlet47
-rw-r--r--src/input/poly.input.pamphlet96
-rw-r--r--src/input/poly1.input.pamphlet68
-rw-r--r--src/input/polycoer.input.pamphlet71
-rw-r--r--src/input/psgenfcn.input.pamphlet80
-rw-r--r--src/input/quat.input.pamphlet73
-rw-r--r--src/input/quat1.input.pamphlet33
-rw-r--r--src/input/r20abugs.input.pamphlet104
-rw-r--r--src/input/r20bugs.input.pamphlet82
-rw-r--r--src/input/r21bugs.input.pamphlet184
-rw-r--r--src/input/r21bugsbig.input.pamphlet63
-rw-r--r--src/input/radff.input.pamphlet53
-rw-r--r--src/input/radix.input.pamphlet39
-rw-r--r--src/input/realclos.input.pamphlet67
-rw-r--r--src/input/reclos.input.pamphlet122
-rw-r--r--src/input/reductio.input.pamphlet42
-rw-r--r--src/input/regset.input.pamphlet56
-rw-r--r--src/input/repa6.input.pamphlet163
-rw-r--r--src/input/ribbon.input.pamphlet39
-rw-r--r--src/input/ribbons.input.pamphlet41
-rw-r--r--src/input/ribbonsNew.input.pamphlet40
-rw-r--r--src/input/rk4draw.input.pamphlet85
-rw-r--r--src/input/robidoux.input.pamphlet46
-rw-r--r--src/input/roman.input.pamphlet32
-rw-r--r--src/input/romnum.as.pamphlet68
-rw-r--r--src/input/roots.input.pamphlet36
-rw-r--r--src/input/rules.input.pamphlet66
-rw-r--r--src/input/ruleset.input.pamphlet51
-rw-r--r--src/input/s01eaf.input.pamphlet26
-rw-r--r--src/input/s13aaf.input.pamphlet26
-rw-r--r--src/input/s13acf.input.pamphlet26
-rw-r--r--src/input/s13adf.input.pamphlet26
-rw-r--r--src/input/s14aaf.input.pamphlet26
-rw-r--r--src/input/s14abf.input.pamphlet26
-rw-r--r--src/input/s14baf.input.pamphlet26
-rw-r--r--src/input/s15adf.input.pamphlet26
-rw-r--r--src/input/s15aef.input.pamphlet26
-rw-r--r--src/input/s17acf.input.pamphlet26
-rw-r--r--src/input/s17adf.input.pamphlet26
-rw-r--r--src/input/s17aef.input.pamphlet26
-rw-r--r--src/input/s17aff.input.pamphlet26
-rw-r--r--src/input/s17agf.input.pamphlet26
-rw-r--r--src/input/s17ahf.input.pamphlet26
-rw-r--r--src/input/s17ajf.input.pamphlet26
-rw-r--r--src/input/s17akf.input.pamphlet26
-rw-r--r--src/input/s17dcf.input.pamphlet26
-rw-r--r--src/input/s17def.input.pamphlet26
-rw-r--r--src/input/s17dgf.input.pamphlet26
-rw-r--r--src/input/s17dhf.input.pamphlet26
-rw-r--r--src/input/s17dlf.input.pamphlet26
-rw-r--r--src/input/s18acf.input.pamphlet26
-rw-r--r--src/input/s18adf.input.pamphlet26
-rw-r--r--src/input/s18aef.input.pamphlet26
-rw-r--r--src/input/s18aff.input.pamphlet26
-rw-r--r--src/input/s18dcf.input.pamphlet26
-rw-r--r--src/input/s18def.input.pamphlet26
-rw-r--r--src/input/s19aaf.input.pamphlet26
-rw-r--r--src/input/s19abf.input.pamphlet26
-rw-r--r--src/input/s19acf.input.pamphlet26
-rw-r--r--src/input/s19adf.input.pamphlet26
-rw-r--r--src/input/s20acf.input.pamphlet26
-rw-r--r--src/input/s20adf.input.pamphlet26
-rw-r--r--src/input/s21baf.input.pamphlet26
-rw-r--r--src/input/s21bbf.input.pamphlet26
-rw-r--r--src/input/s21bcf.input.pamphlet26
-rw-r--r--src/input/s21bdf.input.pamphlet26
-rw-r--r--src/input/saddle.input.pamphlet20
-rw-r--r--src/input/scherk.input.pamphlet74
-rw-r--r--src/input/scope.input.pamphlet41
-rw-r--r--src/input/seg.input.pamphlet32
-rw-r--r--src/input/segbind.input.pamphlet28
-rw-r--r--src/input/series.input.pamphlet56
-rw-r--r--src/input/series2.input.pamphlet95
-rw-r--r--src/input/sersolve.input.pamphlet38
-rw-r--r--src/input/set.input.pamphlet42
-rw-r--r--src/input/sinCosEx.input.pamphlet33
-rw-r--r--src/input/sininv.input.pamphlet20
-rw-r--r--src/input/sinsin.input.pamphlet20
-rw-r--r--src/input/sinsin2.input.pamphlet19
-rw-r--r--src/input/sint.input.pamphlet33
-rw-r--r--src/input/skew.input.pamphlet113
-rw-r--r--src/input/slowint.input.pamphlet29
-rw-r--r--src/input/solvetra.input.pamphlet62
-rw-r--r--src/input/space3.input.pamphlet283
-rw-r--r--src/input/spadprof.input.pamphlet43
-rw-r--r--src/input/spiral.input.pamphlet20
-rw-r--r--src/input/sqmatrix.input.pamphlet28
-rw-r--r--src/input/sregset.input.pamphlet45
-rw-r--r--src/input/stbl.input.pamphlet29
-rw-r--r--src/input/stream.input.pamphlet34
-rw-r--r--src/input/stream2.input.pamphlet102
-rw-r--r--src/input/streams.input.pamphlet70
-rw-r--r--src/input/string.input.pamphlet57
-rw-r--r--src/input/strtbl.input.pamphlet27
-rw-r--r--src/input/symbol.input.pamphlet46
-rw-r--r--src/input/synonym.input.pamphlet82
-rw-r--r--src/input/synonym2.input.pamphlet89
-rw-r--r--src/input/t111293.input.pamphlet54
-rw-r--r--src/input/table.input.pamphlet40
-rw-r--r--src/input/tanatan.input.pamphlet61
-rw-r--r--src/input/test.input.pamphlet654
-rw-r--r--src/input/tetra.input.pamphlet85
-rw-r--r--src/input/textfile.input.pamphlet35
-rw-r--r--src/input/tknot.input.pamphlet52
-rw-r--r--src/input/torus.input.pamphlet22
-rw-r--r--src/input/tree.input.pamphlet78
-rw-r--r--src/input/triglim.input.pamphlet52
-rw-r--r--src/input/tschirn.input.pamphlet20
-rw-r--r--src/input/tsetcatbutcher.input.pamphlet81
-rw-r--r--src/input/tsetcatchemical.input.pamphlet70
-rw-r--r--src/input/tsetcatvermeer.input.pamphlet55
-rw-r--r--src/input/tutchap1.input.pamphlet46
-rw-r--r--src/input/tutchap2.input.pamphlet113
-rw-r--r--src/input/tutchap3.input.pamphlet103
-rw-r--r--src/input/tutchap4.input.pamphlet43
-rw-r--r--src/input/tutchap67.input.pamphlet170
-rw-r--r--src/input/typo.input.pamphlet20
-rw-r--r--src/input/uniseg.input.pamphlet31
-rw-r--r--src/input/up.input.pamphlet58
-rw-r--r--src/input/vector.input.pamphlet33
-rw-r--r--src/input/vectors.input.pamphlet71
-rw-r--r--src/input/viewdef.input.pamphlet88
-rw-r--r--src/input/void.input.pamphlet28
-rw-r--r--src/input/wester.input.pamphlet395
-rw-r--r--src/input/wiggle.input.pamphlet20
-rw-r--r--src/input/wutset.input.pamphlet38
-rw-r--r--src/input/xpbwpoly.input.pamphlet59
-rw-r--r--src/input/xpoly.input.pamphlet34
-rw-r--r--src/input/xpr.input.pamphlet35
-rw-r--r--src/input/zdsolve.input.pamphlet47
-rw-r--r--src/input/zimmer.input.pamphlet393
-rw-r--r--src/input/zlindep.input.pamphlet30
537 files changed, 45129 insertions, 0 deletions
diff --git a/src/input/ChangeLog b/src/input/ChangeLog
new file mode 100644
index 00000000..24ac6afd
--- /dev/null
+++ b/src/input/ChangeLog
@@ -0,0 +1,71 @@
+2007-05-28 Gabriel Dos Reis <gdr@cs.tamu,edu>
+
+ * Makefile.pamphlet (regress): Don't use AX_FLAGS.
+ * Makefile.in: Regenerate.
+
+2007-03-24 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet: Fix typos.
+ * Makefile.in: Regenerate.
+
+2006-12-26 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet: Eradicate use of ENV.
+
+2006-12-09 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet (TESTSYS): Point DAASE to freshly built
+ database. Test AXIOMsys, not interpsys.
+ * Makefile.in: Regenerate.
+
+2006-12-09 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet (MID): Adjust definition.
+ (TESTSYS): Likewise.
+ (OUT): Likewise.
+ (TESTSYS): Test AXIOMsys, not interpsys.
+ * Makefile.in: Regenerate.
+
+2006-11-24 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet (all-input): New phony target.
+ * Makefile.in: Regenerate.
+
+2006-10-28 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet (mostlyclean-local): New rule.
+ (clean-local): Use it as prerequisite.
+ (distclean-local): New rule.
+
+2006-10-08 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet: Remove references to ${MNT} throughout.
+ * Makefile.in: Regenerate.
+
+2006-10-02 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet <<axiom.sty (OUT from In)>>: Remove.
+ (regression-tests): New rule.
+ Make stanza <<regression tests>> part of the main make file.
+ (all:) Remove ${DOCFILES} as prerequisite.
+
+2006-09-26 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet (all): Create stamp file.
+ * Makefile.in: Regenerate.
+
+2006-09-18 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet (subdir): New.
+ * Makefile.in: Regenerate.
+
+2006-09-11 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet: Use $(axiom_build_document) to tangle
+ pamphlets. Add support for out-of-source build.
+ * Makefile.in: Regenerate.
+
+2006-09-03 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.in: New.
+
diff --git a/src/input/Makefile.in b/src/input/Makefile.in
new file mode 100644
index 00000000..fd69985e
--- /dev/null
+++ b/src/input/Makefile.in
@@ -0,0 +1,769 @@
+
+subdir = src/input/
+
+IN=$(axiom_src_srcdir)/input
+MID=./$(top_builddir)/int/input
+OUT=$(axiom_targetdir)/input
+DOC=$(axiom_target_docdir)/src/input
+
+
+ASFILES=${OUT}/aseg6.as ${OUT}/aseg7.as ${OUT}/ecfact.as \
+ ${OUT}/hilbert.as ${OUT}/matops.as ${OUT}/pdecomp0.as \
+ ${OUT}/romnum.as
+
+NAGLIB=${OUT}/c02aff.input ${OUT}/c02agf.input ${OUT}/c05adf.input \
+ ${OUT}/c05nbf.input ${OUT}/c05pbf.input ${OUT}/c06eaf.input \
+ ${OUT}/c06ebf.input ${OUT}/c06ecf.input ${OUT}/c06ekf.input \
+ ${OUT}/c06fpf.input ${OUT}/c06fqf.input ${OUT}/c06frf.input \
+ ${OUT}/c06fuf.input ${OUT}/c06gbf.input ${OUT}/c06gcf.input \
+ ${OUT}/c06gqf.input ${OUT}/c06gsf.input \
+ ${OUT}/d01ajf.input ${OUT}/d01akf.input ${OUT}/d01alf.input \
+ ${OUT}/d01amf.input ${OUT}/d01anf.input ${OUT}/d01apf.input \
+ ${OUT}/d01aqf.input ${OUT}/d01asf.input ${OUT}/d01bbf.input \
+ ${OUT}/d01fcf.input ${OUT}/d01gaf.input ${OUT}/d01gbf.input \
+ ${OUT}/d02bbf.input ${OUT}/d02bhf.input ${OUT}/d02cjf.input \
+ ${OUT}/d02ejf.input ${OUT}/d02gaf.input ${OUT}/d02gbf.input \
+ ${OUT}/d02kef.input ${OUT}/d02raf.input ${OUT}/d03edf.input \
+ ${OUT}/d03eef.input ${OUT}/d03faf.input \
+ ${OUT}/e01baf.input ${OUT}/e01bef.input ${OUT}/e01bff.input \
+ ${OUT}/e01bgf.input ${OUT}/e01bhf.input ${OUT}/e01daf.input \
+ ${OUT}/e01saf.input ${OUT}/e01sbf.input ${OUT}/e01sef.input \
+ ${OUT}/e01sff.input ${OUT}/e02adf.input ${OUT}/e02aef.input \
+ ${OUT}/e02agf.input ${OUT}/e02ahf.input ${OUT}/e02ajf.input \
+ ${OUT}/e02akf.input ${OUT}/e02baf.input ${OUT}/e02bbf.input \
+ ${OUT}/e02bcf.input ${OUT}/e02bdf.input ${OUT}/e02bef.input \
+ ${OUT}/e02daf.input ${OUT}/e02dcf.input ${OUT}/e02ddf.input \
+ ${OUT}/e02def.input ${OUT}/e02dff.input ${OUT}/e02gaf.input \
+ ${OUT}/e02zaf.input ${OUT}/e04dgf.input ${OUT}/e04fdf.input \
+ ${OUT}/e04gcf.input ${OUT}/e04jaf.input ${OUT}/e04mbf.input \
+ ${OUT}/e04naf.input ${OUT}/e04ucf.input ${OUT}/e04ycf.input \
+ ${OUT}/f01brf.input ${OUT}/f01bsf.input ${OUT}/f01maf.input \
+ ${OUT}/f01mcf.input ${OUT}/f01qcf.input ${OUT}/f01qdf.input \
+ ${OUT}/f01qef.input ${OUT}/f01rcf.input ${OUT}/f01rdf.input \
+ ${OUT}/f01ref.input ${OUT}/f02aaf.input ${OUT}/f02abf.input \
+ ${OUT}/f02adf.input ${OUT}/f02aef.input ${OUT}/f02aff.input \
+ ${OUT}/f02agf.input ${OUT}/f02ajf.input ${OUT}/f02akf.input \
+ ${OUT}/f02awf.input ${OUT}/f02axf.input ${OUT}/f02bbf.input \
+ ${OUT}/f02bjf.input ${OUT}/f02fjf.input ${OUT}/f02wef.input \
+ ${OUT}/f02xef.input ${OUT}/f04adf.input ${OUT}/f04arf.input \
+ ${OUT}/f04asf.input ${OUT}/f04atf.input ${OUT}/f04axf.input \
+ ${OUT}/f04faf.input ${OUT}/f04jgf.input ${OUT}/f04maf.input \
+ ${OUT}/f04mbf.input ${OUT}/f04mcf.input ${OUT}/f04qaf.input \
+ ${OUT}/f07adf.input ${OUT}/f07aef.input ${OUT}/f07fdf.input \
+ ${OUT}/f07fef.input \
+ ${OUT}/s01eaf.input ${OUT}/s13aaf.input ${OUT}/s13acf.input \
+ ${OUT}/s13adf.input ${OUT}/s14aaf.input ${OUT}/s14abf.input \
+ ${OUT}/s14baf.input ${OUT}/s15adf.input ${OUT}/s15aef.input \
+ ${OUT}/s17acf.input ${OUT}/s17adf.input ${OUT}/s17aef.input \
+ ${OUT}/s17aff.input ${OUT}/s17agf.input ${OUT}/s17ahf.input \
+ ${OUT}/s17ajf.input ${OUT}/s17akf.input ${OUT}/s17dcf.input \
+ ${OUT}/s17def.input ${OUT}/s17dgf.input ${OUT}/s17dhf.input \
+ ${OUT}/s17dlf.input ${OUT}/s18acf.input ${OUT}/s18adf.input \
+ ${OUT}/s18aef.input ${OUT}/s18aff.input ${OUT}/s18dcf.input \
+ ${OUT}/s18def.input ${OUT}/s19aaf.input ${OUT}/s19abf.input \
+ ${OUT}/s19acf.input ${OUT}/s19adf.input ${OUT}/s20acf.input \
+ ${OUT}/s20adf.input ${OUT}/s21baf.input ${OUT}/s21bbf.input \
+ ${OUT}/s21bcf.input ${OUT}/s21bdf.input
+
+FILES= ${OUT}/algaggr.input ${OUT}/algbrbf.input ${OUT}/algfacob.input \
+ ${OUT}/alist.input ${OUT}/allfact.input ${OUT}/antoine.input \
+ ${OUT}/array1.input ${OUT}/array2.input ${OUT}/arrows.input \
+ ${OUT}/assign.input ${OUT}/atansqrt.input ${OUT}/axiom.input \
+ ${OUT}/asec.input \
+ ${OUT}/bags.input ${OUT}/bbtree.input ${OUT}/bern.input \
+ ${OUT}/bernpoly.input ${OUT}/binary.input ${OUT}/bop.input \
+ ${OUT}/bouquet.input ${OUT}/bstree.input ${OUT}/bug6357.input \
+ ${OUT}/bug9057.input ${OUT}/bug10069.input ${OUT}/bug10312.input \
+ ${OUT}/calculus.input \
+ ${OUT}/cardinal.input ${OUT}/card.input ${OUT}/carten.input \
+ ${OUT}/cclass.input ${OUT}/cdraw.input ${OUT}/char.input \
+ ${OUT}/ch.input ${OUT}/clifford.input ${OUT}/clif.input \
+ ${OUT}/coercels.input ${OUT}/collect.input ${OUT}/color.input \
+ ${OUT}/complex.input ${OUT}/cone.input ${OUT}/conformal.input \
+ ${OUT}/constant.input \
+ ${OUT}/contfrac.input ${OUT}/contfrc.input ${OUT}/coordsys.input \
+ ${OUT}/curl.input \
+ ${OUT}/cycles.input ${OUT}/cycles1.input ${OUT}/cycloid.input \
+ ${OUT}/cycloid2.input \
+ ${OUT}/cycloid3.input ${OUT}/cyfactor.input ${OUT}/damped.input \
+ ${OUT}/danzwill.input ${OUT}/decimal.input ${OUT}/defs.input \
+ ${OUT}/defintef.input ${OUT}/defintrf.input ${OUT}/derham.input \
+ ${OUT}/de2re.input \
+ ${OUT}/dfloat.input ${OUT}/dhtri.input ${OUT}/divisor.input \
+ ${OUT}/dmp.input ${OUT}/dpol.input ${OUT}/draw2dSF.input \
+ ${OUT}/drawalg.input ${OUT}/drawcfn.input \
+ ${OUT}/drawcfun.input ${OUT}/drawcurv.input \
+ ${OUT}/draw.input ${OUT}/drawcx.input ${OUT}/drawex.input \
+ ${OUT}/drawpoly.input ${OUT}/drawx.input \
+ ${OUT}/easter.input ${OUT}/efi.input ${OUT}/egg.input \
+ ${OUT}/eigen.input \
+ ${OUT}/elemfun.input ${OUT}/elemnum.input ${OUT}/elfuts.input \
+ ${OUT}/elt.input \
+ ${OUT}/eq.input ${OUT}/eqtbl.input ${OUT}/equation.input \
+ ${OUT}/errortrap.input \
+ ${OUT}/eval.input ${OUT}/exit.input ${OUT}/expexpan.input \
+ ${OUT}/explim.input ${OUT}/explot2d.input ${OUT}/explot3d.input \
+ ${OUT}/expr1.input ${OUT}/exprpoly.input \
+ ${OUT}/farray.input ${OUT}/ffdemo.input \
+ ${OUT}/fferr.input ${OUT}/ffrac.input ${OUT}/ffx72.input \
+ ${OUT}/fib.input ${OUT}/fixed.input \
+ ${OUT}/file.input ${OUT}/float2.input \
+ ${OUT}/float.input ${OUT}/float1.input ${OUT}/fname.input \
+ ${OUT}/fname1.input ${OUT}/fnla.input ${OUT}/folium.input \
+ ${OUT}/fparfrac.input \
+ ${OUT}/fparfrc.input ${OUT}/fr2.input ${OUT}/frac.input \
+ ${OUT}/fr.input ${OUT}/fr1.input ${OUT}/gary1.input \
+ ${OUT}/gbf.input ${OUT}/genups.input ${OUT}/gnarly1.input \
+ ${OUT}/gonshor.input ${OUT}/grdef.input \
+ ${OUT}/gstbl.input \
+ ${OUT}/heap.input ${OUT}/heat.input ${OUT}/helix.input \
+ ${OUT}/herm.input ${OUT}/hexadec.input ${OUT}/huang.input \
+ ${OUT}/ico.input ${OUT}/ideal.input ${OUT}/ifact.input \
+ ${OUT}/images1.input ${OUT}/images1a.input ${OUT}/images3a.input \
+ ${OUT}/images3.input ${OUT}/images6.input ${OUT}/images6a.input \
+ ${OUT}/images7.input ${OUT}/images7a.input ${OUT}/infprod.input \
+ ${OUT}/intaf.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}/kovacic.input ${OUT}/kuipers.input \
+ ${OUT}/laplace.input ${OUT}/leg.input ${OUT}/lexp.input \
+ ${OUT}/lextripk.input ${OUT}/lib.input ${OUT}/limit.input \
+ ${OUT}/lindep.input ${OUT}/liss1.input ${OUT}/liss2.input \
+ ${OUT}/list.input ${OUT}/lode.input ${OUT}/lodesys.input \
+ ${OUT}/lodo1.input ${OUT}/lodo2.input ${OUT}/lodof.input \
+ ${OUT}/lodo.input ${OUT}/lodo3.input ${OUT}/lpoly.input \
+ ${OUT}/lump.input \
+ ${OUT}/lupfact.input ${OUT}/lword.input ${OUT}/macbug.input \
+ ${OUT}/macros.input ${OUT}/marcbench.input ${OUT}/magma.input \
+ ${OUT}/mapleok.input ${OUT}/mappkg1.input ${OUT}/matbug.input \
+ ${OUT}/matrix22.input ${OUT}/matrix.input ${OUT}/matrix1.input \
+ ${OUT}/mfinfact.input ${OUT}/mkfunc.input ${OUT}/mountain.input \
+ ${OUT}/mpoly.input ${OUT}/mset.input ${OUT}/mset2.input \
+ ${OUT}/multfact.input ${OUT}/multKnot.input ${OUT}/mult3d.input \
+ ${OUT}/multiple.input \
+ ${OUT}/ndftip.input ${OUT}/newlodo.input \
+ ${OUT}/negfloats.input \
+ ${OUT}/nepip.input ${OUT}/newton.input \
+ ${OUT}/nlode.input ${OUT}/none.input ${OUT}/noonburg.input \
+ ${OUT}/noptip.input ${OUT}/nqip.input ${OUT}/nsfip.input \
+ ${OUT}/ntube.input ${OUT}/oct.input ${OUT}/ode.input \
+ ${OUT}/octonion.input ${OUT}/odpol.input \
+ ${OUT}/opalg.input ${OUT}/operator.input ${OUT}/op.input \
+ ${OUT}/op1.input ${OUT}/ovar.input \
+ ${OUT}/padic.input ${OUT}/palette.input \
+ ${OUT}/parpcurv.input ${OUT}/parscurv.input ${OUT}/parsurf.input \
+ ${OUT}/pascal1.input \
+ ${OUT}/pascal.input ${OUT}/patmatch.input ${OUT}/perman.input \
+ ${OUT}/perm.input ${OUT}/pfr.input ${OUT}/pfr1.input \
+ ${OUT}/pinch.input ${OUT}/plotfile.input ${OUT}/pollevel.input \
+ ${OUT}/pmint.input ${OUT}/polycoer.input \
+ ${OUT}/poly1.input ${OUT}/psgenfcn.input \
+ ${OUT}/quat.input ${OUT}/quat1.input ${OUT}/ribbon.input \
+ ${OUT}/ribbons.input ${OUT}/ribbonsNew.input ${OUT}/rk4draw.input \
+ ${OUT}/r20abugs.input \
+ ${OUT}/r20bugs.input ${OUT}/r21bugsbig.input \
+ ${OUT}/r21bugs.input \
+ ${OUT}/radff.input ${OUT}/radix.input ${OUT}/realclos.input \
+ ${OUT}/reclos.input ${OUT}/regset.input \
+ ${OUT}/robidoux.input ${OUT}/roman.input ${OUT}/roots.input \
+ ${OUT}/ruleset.input ${OUT}/rules.input ${OUT}/saddle.input \
+ ${OUT}/scherk.input ${OUT}/scope.input \
+ ${OUT}/segbind.input ${OUT}/seg.input ${OUT}/series2.input \
+ ${OUT}/series.input ${OUT}/sersolve.input ${OUT}/set.input \
+ ${OUT}/sinCosEx.input ${OUT}/sininv.input ${OUT}/sinsin.input \
+ ${OUT}/sinsin2.input ${OUT}/sint.input ${OUT}/skew.input \
+ ${OUT}/slowint.input ${OUT}/solvetra.input ${OUT}/space3.input \
+ ${OUT}/spiral.input \
+ ${OUT}/sqmatrix.input ${OUT}/sregset.input ${OUT}/stbl.input \
+ ${OUT}/stream2.input ${OUT}/stream.input ${OUT}/streams.input \
+ ${OUT}/string.input ${OUT}/strtbl.input ${OUT}/symbol.input \
+ ${OUT}/synonym.input ${OUT}/t111293.input \
+ ${OUT}/table.input ${OUT}/tanatan.input ${OUT}/test.input \
+ ${OUT}/tetra.input ${OUT}/textfile.input ${OUT}/tknot.input \
+ ${OUT}/tree.input \
+ ${OUT}/triglim.input ${OUT}/tschirn.input ${OUT}/tsetcatbutcher.input \
+ ${OUT}/tsetcatchemical.input ${OUT}/tsetcatvermeer.input \
+ ${OUT}/tutchap1.input ${OUT}/tutchap2.input ${OUT}/tutchap3.input \
+ ${OUT}/tutchap4.input ${OUT}/tutchap67.input ${OUT}/typo.input \
+ ${OUT}/uniseg.input ${OUT}/up.input \
+ ${OUT}/vector.input ${OUT}/vectors.input ${OUT}/viewdef.input \
+ ${OUT}/void.input ${OUT}/wiggle.input \
+ ${OUT}/wutset.input \
+ ${OUT}/xpbwpoly.input ${OUT}/xpoly.input ${OUT}/xpr.input \
+ ${OUT}/zdsolve.input ${OUT}/zimmer.input ${OUT}/zlindep.input
+
+FILES2=${OUT}/arith.input ${OUT}/bugs.input \
+ ${OUT}/calculus2.input \
+ ${OUT}/curl.input \
+ ${OUT}/equation2.input ${OUT}/evalex.input \
+ ${OUT}/exdiff.input ${OUT}/exint.input ${OUT}/exlap.input \
+ ${OUT}/exlimit.input \
+ ${OUT}/expr.input ${OUT}/exprode.input ${OUT}/exseries.input \
+ ${OUT}/exsum.input ${OUT}/fns.input \
+ ${OUT}/function.input ${OUT}/galois.input \
+ ${OUT}/grpthry.input \
+ ${OUT}/help.input ${OUT}/intef2.input \
+ ${OUT}/intmix2.input ${OUT}/knot2.input ${OUT}/linalg.input \
+ ${OUT}/loop.input \
+ ${OUT}/numbers.input \
+ ${OUT}/parabola.input ${OUT}/pat.input \
+ ${OUT}/poly.input ${OUT}/reductio.input ${OUT}/repa6.input \
+ ${OUT}/spadprof.input \
+ ${OUT}/synonym2.input ${OUT}/torus.input
+
+BROKEN=${OUT}/as-eg1.input ${OUT}/as-eg2.input ${OUT}/as-eg3.input \
+ ${OUT}/as-eg4.input ${OUT}/as-eg5.input ${OUT}/as-eg6.input
+
+# This viewport has already been closed!
+VIEWPORT=${OUT}/graphics.input
+
+# Error: Value stack overflow.
+VALUESTACK=${OUT}/images2a.input ${OUT}/images2.input ${OUT}/images5a.input \
+ ${OUT}/images5.input ${OUT}/images8a.input ${OUT}/images8.input \
+ ${OUT}/mult2d.input ${OUT}/plotlist.input
+
+# documented test cases
+DOCFILES= \
+ ${DOC}/algaggr.input.dvi ${DOC}/algbrbf.input.dvi \
+ ${DOC}/algfacob.input.dvi ${DOC}/alist.input.dvi \
+ ${DOC}/allfact.input.dvi ${DOC}/antoine.input.dvi \
+ ${DOC}/arith.input.dvi ${DOC}/array1.input.dvi \
+ ${DOC}/array2.input.dvi ${DOC}/arrows.input.dvi \
+ ${DOC}/as-eg1.input.dvi ${DOC}/as-eg2.input.dvi \
+ ${DOC}/as-eg3.input.dvi ${DOC}/as-eg4.input.dvi \
+ ${DOC}/as-eg5.input.dvi ${DOC}/aseg6.as.dvi \
+ ${DOC}/as-eg6.input.dvi ${DOC}/aseg7.as.dvi \
+ ${DOC}/asec.input.dvi \
+ ${DOC}/assign.input.dvi ${DOC}/atansqrt.input.dvi \
+ ${DOC}/axiom.input.dvi ${DOC}/bags.input.dvi \
+ ${DOC}/bbtree.input.dvi ${DOC}/bern.input.dvi \
+ ${DOC}/bernpoly.input.dvi ${DOC}/binary.input.dvi \
+ ${DOC}/bop.input.dvi ${DOC}/bouquet.input.dvi \
+ ${DOC}/bstree.input.dvi ${DOC}/bug10069.input.dvi \
+ ${DOC}/bug10312.input.dvi ${DOC}/bug6357.input.dvi \
+ ${DOC}/bug9057.input.dvi ${DOC}/bugs.input.dvi \
+ ${DOC}/c02aff.input.dvi ${DOC}/c02agf.input.dvi \
+ ${DOC}/c05adf.input.dvi ${DOC}/c05nbf.input.dvi \
+ ${DOC}/c05pbf.input.dvi ${DOC}/c06eaf.input.dvi \
+ ${DOC}/c06ebf.input.dvi ${DOC}/c06ecf.input.dvi \
+ ${DOC}/c06ekf.input.dvi ${DOC}/c06fpf.input.dvi \
+ ${DOC}/c06fqf.input.dvi ${DOC}/c06frf.input.dvi \
+ ${DOC}/c06fuf.input.dvi ${DOC}/c06gbf.input.dvi \
+ ${DOC}/c06gcf.input.dvi ${DOC}/c06gqf.input.dvi \
+ ${DOC}/c06gsf.input.dvi ${DOC}/calculus2.input.dvi \
+ ${DOC}/calculus.input.dvi ${DOC}/cardinal.input.dvi \
+ ${DOC}/card.input.dvi ${DOC}/carten.input.dvi \
+ ${DOC}/cclass.input.dvi ${DOC}/cdraw.input.dvi \
+ ${DOC}/char.input.dvi ${DOC}/ch.input.dvi \
+ ${DOC}/clifford.input.dvi ${DOC}/clif.input.dvi \
+ ${DOC}/coercels.input.dvi ${DOC}/collect.input.dvi \
+ ${DOC}/color.input.dvi ${DOC}/complex.input.dvi \
+ ${DOC}/cone.input.dvi ${DOC}/conformal.input.dvi \
+ ${DOC}/constant.input.dvi ${DOC}/contfrac.input.dvi \
+ ${DOC}/contfrc.input.dvi ${DOC}/coordsys.input.dvi \
+ ${DOC}/curl.input.dvi ${DOC}/cycles1.input.dvi \
+ ${DOC}/cycles.input.dvi ${DOC}/cycloid2.input.dvi \
+ ${DOC}/cycloid3.input.dvi ${DOC}/cycloid.input.dvi \
+ ${DOC}/cyfactor.input.dvi ${DOC}/d01ajf.input.dvi \
+ ${DOC}/d01akf.input.dvi ${DOC}/d01alf.input.dvi \
+ ${DOC}/d01amf.input.dvi ${DOC}/d01anf.input.dvi \
+ ${DOC}/d01apf.input.dvi ${DOC}/d01aqf.input.dvi \
+ ${DOC}/d01asf.input.dvi ${DOC}/d01bbf.input.dvi \
+ ${DOC}/d01fcf.input.dvi ${DOC}/d01gaf.input.dvi \
+ ${DOC}/d01gbf.input.dvi ${DOC}/d02bbf.input.dvi \
+ ${DOC}/d02bhf.input.dvi ${DOC}/d02cjf.input.dvi \
+ ${DOC}/d02ejf.input.dvi ${DOC}/d02gaf.input.dvi \
+ ${DOC}/d02gbf.input.dvi ${DOC}/d02kef.input.dvi \
+ ${DOC}/d02raf.input.dvi ${DOC}/d03edf.input.dvi \
+ ${DOC}/d03eef.input.dvi ${DOC}/d03faf.input.dvi \
+ ${DOC}/damped.input.dvi ${DOC}/danzwill.input.dvi \
+ ${DOC}/de2re.input.dvi ${DOC}/decimal.input.dvi \
+ ${DOC}/defintef.input.dvi ${DOC}/defintrf.input.dvi \
+ ${DOC}/defs.input.dvi ${DOC}/derham.input.dvi \
+ ${DOC}/dfloat.input.dvi ${DOC}/dhtri.input.dvi \
+ ${DOC}/divisor.input.dvi ${DOC}/dmp.input.dvi \
+ ${DOC}/dpol.input.dvi \
+ ${DOC}/draw2dSF.input.dvi ${DOC}/drawalg.input.dvi \
+ ${DOC}/drawcfn.input.dvi ${DOC}/drawcfun.input.dvi \
+ ${DOC}/drawcurv.input.dvi ${DOC}/drawcx.input.dvi \
+ ${DOC}/drawex.input.dvi ${DOC}/draw.input.dvi \
+ ${DOC}/drawpoly.input.dvi ${DOC}/drawx.input.dvi \
+ ${DOC}/dropt.input.dvi ${DOC}/e01baf.input.dvi \
+ ${DOC}/e01bef.input.dvi ${DOC}/e01bff.input.dvi \
+ ${DOC}/e01bgf.input.dvi ${DOC}/e01bhf.input.dvi \
+ ${DOC}/e01daf.input.dvi ${DOC}/e01saf.input.dvi \
+ ${DOC}/e01sbf.input.dvi ${DOC}/e01sef.input.dvi \
+ ${DOC}/e01sff.input.dvi ${DOC}/e02adf.input.dvi \
+ ${DOC}/e02aef.input.dvi ${DOC}/e02agf.input.dvi \
+ ${DOC}/e02ahf.input.dvi ${DOC}/e02ajf.input.dvi \
+ ${DOC}/e02akf.input.dvi ${DOC}/e02baf.input.dvi \
+ ${DOC}/e02bbf.input.dvi ${DOC}/e02bcf.input.dvi \
+ ${DOC}/e02bdf.input.dvi ${DOC}/e02bef.input.dvi \
+ ${DOC}/e02daf.input.dvi ${DOC}/e02dcf.input.dvi \
+ ${DOC}/e02ddf.input.dvi ${DOC}/e02def.input.dvi \
+ ${DOC}/e02dff.input.dvi ${DOC}/e02gaf.input.dvi \
+ ${DOC}/e02zaf.input.dvi ${DOC}/e04dgf.input.dvi \
+ ${DOC}/e04fdf.input.dvi ${DOC}/e04gcf.input.dvi \
+ ${DOC}/e04jaf.input.dvi ${DOC}/e04mbf.input.dvi \
+ ${DOC}/e04naf.input.dvi ${DOC}/e04ucf.input.dvi \
+ ${DOC}/e04ycf.input.dvi ${DOC}/easter.input.dvi \
+ ${DOC}/ecfact.as.dvi ${DOC}/efi.input.dvi \
+ ${DOC}/egg.input.dvi ${DOC}/eigen.input.dvi \
+ ${DOC}/elemfun.input.dvi ${DOC}/elemnum.input.dvi \
+ ${DOC}/elfuts.input.dvi ${DOC}/elt.input.dvi \
+ ${DOC}/eq.input.dvi ${DOC}/eqtbl.input.dvi \
+ ${DOC}/equation2.input.dvi ${DOC}/equation.input.dvi \
+ ${DOC}/errortrap.input.dvi ${DOC}/evalex.input.dvi \
+ ${DOC}/eval.input.dvi ${DOC}/exdiff.input.dvi \
+ ${DOC}/exint.input.dvi ${DOC}/exit.input.dvi \
+ ${DOC}/exlap.input.dvi ${DOC}/exlimit.input.dvi \
+ ${DOC}/expexpan.input.dvi ${DOC}/explim.input.dvi \
+ ${DOC}/explot2d.input.dvi ${DOC}/explot3d.input.dvi \
+ ${DOC}/expr1.input.dvi ${DOC}/expr.input.dvi \
+ ${DOC}/exprode.input.dvi ${DOC}/exprpoly.input.dvi \
+ ${DOC}/exseries.input.dvi ${DOC}/exsum.input.dvi \
+ ${DOC}/f01brf.input.dvi ${DOC}/f01bsf.input.dvi \
+ ${DOC}/f01maf.input.dvi ${DOC}/f01mcf.input.dvi \
+ ${DOC}/f01qcf.input.dvi ${DOC}/f01qdf.input.dvi \
+ ${DOC}/f01qef.input.dvi ${DOC}/f01rcf.input.dvi \
+ ${DOC}/f01rdf.input.dvi ${DOC}/f01ref.input.dvi \
+ ${DOC}/f02aaf.input.dvi ${DOC}/f02abf.input.dvi \
+ ${DOC}/f02adf.input.dvi ${DOC}/f02aef.input.dvi \
+ ${DOC}/f02aff.input.dvi ${DOC}/f02agf.input.dvi \
+ ${DOC}/f02ajf.input.dvi ${DOC}/f02akf.input.dvi \
+ ${DOC}/f02awf.input.dvi ${DOC}/f02axf.input.dvi \
+ ${DOC}/f02bbf.input.dvi ${DOC}/f02bjf.input.dvi \
+ ${DOC}/f02fjf.input.dvi ${DOC}/f02wef.input.dvi \
+ ${DOC}/f02xef.input.dvi ${DOC}/f04adf.input.dvi \
+ ${DOC}/f04arf.input.dvi ${DOC}/f04asf.input.dvi \
+ ${DOC}/f04atf.input.dvi ${DOC}/f04axf.input.dvi \
+ ${DOC}/f04faf.input.dvi ${DOC}/f04jgf.input.dvi \
+ ${DOC}/f04maf.input.dvi ${DOC}/f04mbf.input.dvi \
+ ${DOC}/f04mcf.input.dvi ${DOC}/f04qaf.input.dvi \
+ ${DOC}/f07adf.input.dvi ${DOC}/f07aef.input.dvi \
+ ${DOC}/f07fdf.input.dvi ${DOC}/f07fef.input.dvi \
+ ${DOC}/farray.input.dvi ${DOC}/ffdemo.input.dvi \
+ ${DOC}/fferr.input.dvi ${DOC}/ffrac.input.dvi \
+ ${DOC}/ffx72.input.dvi ${DOC}/fib.input.dvi \
+ ${DOC}/file.input.dvi ${DOC}/fixed.input.dvi \
+ ${DOC}/float1.input.dvi ${DOC}/float2.input.dvi \
+ ${DOC}/float.input.dvi ${DOC}/fname1.input.dvi \
+ ${DOC}/fname.input.dvi ${DOC}/fnla.input.dvi \
+ ${DOC}/fns.input.dvi ${DOC}/folium.input.dvi \
+ ${DOC}/fparfrac.input.dvi ${DOC}/fparfrc.input.dvi \
+ ${DOC}/fr1.input.dvi ${DOC}/fr2.input.dvi \
+ ${DOC}/frac.input.dvi ${DOC}/fr.input.dvi \
+ ${DOC}/function.input.dvi ${DOC}/galois.input.dvi \
+ ${DOC}/gary1.input.dvi ${DOC}/gbf.input.dvi \
+ ${DOC}/genups.input.dvi ${DOC}/gnarly1.input.dvi \
+ ${DOC}/gonshor.input.dvi ${DOC}/graphics.input.dvi \
+ ${DOC}/grdef.input.dvi ${DOC}/grpthry.input.dvi \
+ ${DOC}/gstbl.input.dvi ${DOC}/heap.input.dvi \
+ ${DOC}/heat.input.dvi ${DOC}/helix.input.dvi \
+ ${DOC}/help.input.dvi ${DOC}/herm.input.dvi \
+ ${DOC}/hexadec.input.dvi ${DOC}/hilbert.as.dvi \
+ ${DOC}/huang.input.dvi ${DOC}/ico.input.dvi \
+ ${DOC}/ideal.input.dvi ${DOC}/ifact.input.dvi \
+ ${DOC}/images1a.input.dvi ${DOC}/images1.input.dvi \
+ ${DOC}/images2a.input.dvi ${DOC}/images2.input.dvi \
+ ${DOC}/images3a.input.dvi ${DOC}/images3.input.dvi \
+ ${DOC}/images5a.input.dvi ${DOC}/images5.input.dvi \
+ ${DOC}/images6a.input.dvi ${DOC}/images6.input.dvi \
+ ${DOC}/images7a.input.dvi ${DOC}/images7.input.dvi \
+ ${DOC}/images8a.input.dvi ${DOC}/images8.input.dvi \
+ ${DOC}/infprod.input.dvi ${DOC}/intaf.input.dvi \
+ ${DOC}/intdeq.input.dvi ${DOC}/intef2.input.dvi \
+ ${DOC}/intef.input.dvi ${DOC}/intg0.input.dvi \
+ ${DOC}/intheory.input.dvi ${DOC}/int.input.dvi \
+ ${DOC}/intlf.input.dvi ${DOC}/intmix2.input.dvi \
+ ${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}/kernel.input.dvi ${DOC}/knot2.input.dvi \
+ ${DOC}/knot.input.dvi ${DOC}/knownbugs.input.dvi \
+ ${DOC}/kovacic.input.dvi ${DOC}/kuipers.input.dvi \
+ ${DOC}/laplace.input.dvi ${DOC}/leg.input.dvi \
+ ${DOC}/lexp.input.dvi ${DOC}/lextripk.input.dvi \
+ ${DOC}/lib.input.dvi ${DOC}/limit.input.dvi \
+ ${DOC}/linalg.input.dvi ${DOC}/lindep.input.dvi \
+ ${DOC}/liss1.input.dvi ${DOC}/liss2.input.dvi \
+ ${DOC}/list.input.dvi ${DOC}/lode.input.dvi \
+ ${DOC}/lodesys.input.dvi ${DOC}/lodo1.input.dvi \
+ ${DOC}/lodo2.input.dvi ${DOC}/lodo3.input.dvi \
+ ${DOC}/lodof.input.dvi ${DOC}/lodo.input.dvi \
+ ${DOC}/loop.input.dvi ${DOC}/lpoly.input.dvi \
+ ${DOC}/lump.input.dvi ${DOC}/lupfact.input.dvi \
+ ${DOC}/lword.input.dvi ${DOC}/macbug.input.dvi \
+ ${DOC}/macros.input.dvi ${DOC}/magma.input.dvi \
+ ${DOC}/mapleok.input.dvi ${DOC}/mappkg1.input.dvi \
+ ${DOC}/marcbench.input.dvi ${DOC}/matbug.input.dvi \
+ ${DOC}/matops.as.dvi ${DOC}/matrix1.input.dvi \
+ ${DOC}/matrix22.input.dvi ${DOC}/matrix.input.dvi \
+ ${DOC}/matrox.input.dvi ${DOC}/mfinfact.input.dvi \
+ ${DOC}/mkfunc.input.dvi ${DOC}/mountain.input.dvi \
+ ${DOC}/mpoly.input.dvi ${DOC}/mset2.input.dvi \
+ ${DOC}/mset.input.dvi ${DOC}/mult2d.input.dvi \
+ ${DOC}/mult3d.input.dvi ${DOC}/multfact.input.dvi \
+ ${DOC}/multiple.input.dvi ${DOC}/multKnot.input.dvi \
+ ${DOC}/ndftip.input.dvi ${DOC}/negfloats.input.dvi \
+ ${DOC}/nepip.input.dvi ${DOC}/newlodo.input.dvi \
+ ${DOC}/newton.input.dvi ${DOC}/nlode.input.dvi \
+ ${DOC}/none.input.dvi ${DOC}/noonburg.input.dvi \
+ ${DOC}/noptip.input.dvi ${DOC}/nqip.input.dvi \
+ ${DOC}/nsfip.input.dvi ${DOC}/ntube.input.dvi \
+ ${DOC}/numbers.input.dvi ${DOC}/oct.input.dvi \
+ ${DOC}/octonion.input.dvi ${DOC}/ode.input.dvi \
+ ${DOC}/odpol.input.dvi ${DOC}/op1.input.dvi \
+ ${DOC}/opalg.input.dvi ${DOC}/operator.input.dvi \
+ ${DOC}/op.input.dvi ${DOC}/ovar.input.dvi \
+ ${DOC}/padic.input.dvi ${DOC}/palette.input.dvi \
+ ${DOC}/parabola.input.dvi ${DOC}/parpcurv.input.dvi \
+ ${DOC}/parscurv.input.dvi ${DOC}/parsurf.input.dvi \
+ ${DOC}/pascal1.input.dvi ${DOC}/pascal.input.dvi \
+ ${DOC}/pat.input.dvi ${DOC}/patmatch.input.dvi \
+ ${DOC}/pdecomp0.as.dvi ${DOC}/perman.input.dvi \
+ ${DOC}/perm.input.dvi ${DOC}/pfr1.input.dvi \
+ ${DOC}/pfr.input.dvi ${DOC}/pinch.input.dvi \
+ ${DOC}/plotfile.input.dvi ${DOC}/plotlist.input.dvi \
+ ${DOC}/pollevel.input.dvi ${DOC}/poly1.input.dvi \
+ ${DOC}/polycoer.input.dvi ${DOC}/poly.input.dvi \
+ ${DOC}/psgenfcn.input.dvi ${DOC}/quat1.input.dvi \
+ ${DOC}/quat.input.dvi ${DOC}/r20abugs.input.dvi \
+ ${DOC}/r20bugs.input.dvi ${DOC}/r21bugsbig.input.dvi \
+ ${DOC}/r21bugs.input.dvi ${DOC}/radff.input.dvi \
+ ${DOC}/radix.input.dvi ${DOC}/realclos.input.dvi \
+ ${DOC}/reclos.input.dvi ${DOC}/reductio.input.dvi \
+ ${DOC}/regset.input.dvi ${DOC}/repa6.input.dvi \
+ ${DOC}/ribbon.input.dvi ${DOC}/ribbons.input.dvi \
+ ${DOC}/ribbonsNew.input.dvi ${DOC}/rk4draw.input.dvi \
+ ${DOC}/robidoux.input.dvi ${DOC}/roman.input.dvi \
+ ${DOC}/romnum.as.dvi ${DOC}/roots.input.dvi \
+ ${DOC}/ruleset.input.dvi ${DOC}/rules.input.dvi \
+ ${DOC}/s01eaf.input.dvi ${DOC}/s13aaf.input.dvi \
+ ${DOC}/s13acf.input.dvi ${DOC}/s13adf.input.dvi \
+ ${DOC}/s14aaf.input.dvi ${DOC}/s14abf.input.dvi \
+ ${DOC}/s14baf.input.dvi ${DOC}/s15adf.input.dvi \
+ ${DOC}/s15aef.input.dvi ${DOC}/s17acf.input.dvi \
+ ${DOC}/s17adf.input.dvi ${DOC}/s17aef.input.dvi \
+ ${DOC}/s17aff.input.dvi ${DOC}/s17agf.input.dvi \
+ ${DOC}/s17ahf.input.dvi ${DOC}/s17ajf.input.dvi \
+ ${DOC}/s17akf.input.dvi ${DOC}/s17dcf.input.dvi \
+ ${DOC}/s17def.input.dvi ${DOC}/s17dgf.input.dvi \
+ ${DOC}/s17dhf.input.dvi ${DOC}/s17dlf.input.dvi \
+ ${DOC}/s18acf.input.dvi ${DOC}/s18adf.input.dvi \
+ ${DOC}/s18aef.input.dvi ${DOC}/s18aff.input.dvi \
+ ${DOC}/s18dcf.input.dvi ${DOC}/s18def.input.dvi \
+ ${DOC}/s19aaf.input.dvi ${DOC}/s19abf.input.dvi \
+ ${DOC}/s19acf.input.dvi ${DOC}/s19adf.input.dvi \
+ ${DOC}/s20acf.input.dvi ${DOC}/s20adf.input.dvi \
+ ${DOC}/s21baf.input.dvi ${DOC}/s21bbf.input.dvi \
+ ${DOC}/s21bcf.input.dvi ${DOC}/s21bdf.input.dvi \
+ ${DOC}/saddle.input.dvi ${DOC}/scherk.input.dvi \
+ ${DOC}/scope.input.dvi ${DOC}/segbind.input.dvi \
+ ${DOC}/seg.input.dvi ${DOC}/series2.input.dvi \
+ ${DOC}/series.input.dvi ${DOC}/sersolve.input.dvi \
+ ${DOC}/set.input.dvi ${DOC}/sinCosEx.input.dvi \
+ ${DOC}/sininv.input.dvi ${DOC}/sinsin2.input.dvi \
+ ${DOC}/sinsin.input.dvi ${DOC}/sint.input.dvi \
+ ${DOC}/skew.input.dvi ${DOC}/slowint.input.dvi \
+ ${DOC}/solvetra.input.dvi ${DOC}/space3.input.dvi \
+ ${DOC}/spadprof.input.dvi ${DOC}/spiral.input.dvi \
+ ${DOC}/sqmatrix.input.dvi ${DOC}/sregset.input.dvi \
+ ${DOC}/stbl.input.dvi ${DOC}/stream2.input.dvi \
+ ${DOC}/stream.input.dvi ${DOC}/streams.input.dvi \
+ ${DOC}/string.input.dvi ${DOC}/strtbl.input.dvi \
+ ${DOC}/symbol.input.dvi ${DOC}/synonym2.input.dvi \
+ ${DOC}/synonym.input.dvi ${DOC}/t111293.input.dvi \
+ ${DOC}/table.input.dvi ${DOC}/tanatan.input.dvi \
+ ${DOC}/test.input.dvi ${DOC}/tetra.input.dvi \
+ ${DOC}/textfile.input.dvi ${DOC}/tknot.input.dvi \
+ ${DOC}/torus.input.dvi ${DOC}/tree.input.dvi \
+ ${DOC}/triglim.input.dvi ${DOC}/tschirn.input.dvi \
+ ${DOC}/tsetcatbutcher.input.dvi \
+ ${DOC}/tsetcatchemical.input.dvi \
+ ${DOC}/tsetcatvermeer.input.dvi \
+ ${DOC}/tutchap1.input.dvi ${DOC}/tutchap2.input.dvi \
+ ${DOC}/tutchap3.input.dvi ${DOC}/tutchap4.input.dvi \
+ ${DOC}/tutchap67.input.dvi ${DOC}/typo.input.dvi \
+ ${DOC}/uniseg.input.dvi ${DOC}/up.input.dvi \
+ ${DOC}/vector.input.dvi ${DOC}/vectors.input.dvi \
+ ${DOC}/viewdef.input.dvi ${DOC}/void.input.dvi \
+ ${DOC}/wester.input.dvi ${DOC}/wiggle.input.dvi \
+ ${DOC}/wutset.input.dvi ${DOC}/xpbwpoly.input.dvi \
+ ${DOC}/xpoly.input.dvi ${DOC}/xpr.input.dvi \
+ ${DOC}/zdsolve.input.dvi ${DOC}/zimmer.input.dvi \
+ ${DOC}/zlindep.input.dvi
+
+
+.PHONY: all all-ax all-input
+
+all: all-ax
+
+all-ax all-input: $(OUT) ${FILES} ${FILES2} ${ASFILES} regress
+ @echo 1 finished $(srcdir)
+
+$(OUT):
+ $(mkinstalldirs) $@
+
+
+${OUT}/%.input: %.input
+ @ echo generic 10 making $@ from $<
+ @ $(INSTALL) $< $@
+
+.PRECIOUS: %.input
+
+%.input: ${IN}/%.input.pamphlet
+ @ echo generic 11 making $@ from $<
+ @$(axiom_build_document) --output=$@ --tangle $<
+
+${OUT}/%.as: %.as
+ @echo generic 12 making $@ from $<
+ @ $(INSTALL) $< $@
+
+%.as: ${IN}/%.as.pamphlet
+ @echo generic 13 making $@ from $<
+ @ $(axiom_build_document) --output=$@ --tangle $<
+
+pamphlets = \
+ Makefile.pamphlet \
+ $(wildchar *.input.pamphlet) \
+ $(wildchar.as.pamplhet)
+
+use:
+ @echo 2 making ${OUT} from ${IN}
+
+regress:
+ ${MAKE} regression-tests
+
+bug:
+ @echo 4 making ${OUT} from ${IN}
+
+document:
+ @echo 5 documenting ${OUT}
+
+mostlyclean-local:
+ -rm -rf $(MID)
+ -rm -rf $(OUT)
+
+clean-local: mostlyclean-local
+
+distclean-local: clean-local
+
+
+.SUFFIXES:
+.SUFFIXES: .input .output
+
+TESTSYS= \
+ AXIOM="$(AXIOM)" \
+ DAASE="$(axiom_targetdir)" \
+ $(axiom_target_bindir)/AXIOMsys
+
+SKIP= antoine.output as-eg1.output as-eg2.output \
+ as-eg3.output as-eg4.output as-eg5.output as-eg6.output \
+ atansqrt.output bern.output bernpoly.output bouquet.output \
+ c02aff.output \
+ c02agf.output c05adf.output c05nbf.output c05pbf.output \
+ c06eaf.output c06ebf.output c06ecf.output c06ekf.output \
+ c06fpf.output c06fqf.output c06frf.output c06fuf.output \
+ c06gbf.output c06gcf.output c06gqf.output c06gsf.output \
+ cdraw.output color.output cone.output \
+ conformal.output coordsys.output \
+ cycloid2.output cycloid3.output cycloid.output \
+ d01ajf.output d01akf.output d01alf.output d01amf.output \
+ d01anf.output d01apf.output d01aqf.output d01asf.output \
+ d01bbf.output d01fcf.output d01gaf.output d01gbf.output \
+ d02bbf.output d02bhf.output d02cjf.output d02ejf.output \
+ d02gaf.output d02gbf.output d02kef.output d02raf.output \
+ d03edf.output d03eef.output d03faf.output damped.output \
+ de2re.output defs.output \
+ draw2dSF.output drawalg.output drawcfn.output drawcfun.output \
+ drawcurv.output drawcx.output drawex.output draw.output \
+ drawpoly.output drawx.output dropt.output e01baf.output \
+ e01bef.output e01bff.output e01bgf.output e01bhf.output \
+ e01daf.output e01saf.output e01sbf.output e01sef.output \
+ e01sff.output e02adf.output e02aef.output e02agf.output \
+ e02ahf.output e02ajf.output e02akf.output e02baf.output \
+ e02bbf.output e02bcf.output e02bdf.output e02bef.output \
+ e02daf.output e02dcf.output e02ddf.output e02def.output \
+ e02dff.output e02gaf.output e02zaf.output e04dgf.output \
+ e04fdf.output e04gcf.output e04jaf.output e04mbf.output \
+ e04naf.output e04ucf.output e04ycf.output egg.output \
+ explot2d.output explot3d.output \
+ f01brf.output f01bsf.output f01maf.output \
+ f01mcf.output f01qcf.output f01qdf.output f01qef.output \
+ f01rcf.output f01rdf.output f01ref.output f02aaf.output \
+ f02abf.output f02adf.output f02aef.output f02aff.output \
+ f02agf.output f02ajf.output f02akf.output f02awf.output \
+ f02axf.output f02bbf.output f02bjf.output f02fjf.output \
+ f02wef.output f02xef.output f04adf.output f04arf.output \
+ f04asf.output f04atf.output f04axf.output f04faf.output \
+ f04jgf.output f04maf.output f04mbf.output f04mcf.output \
+ f04qaf.output f07adf.output f07aef.output f07fdf.output \
+ f07fef.output folium.output gary1.output gnarly1.output \
+ graphics.output grdef.output helix.output \
+ images1a.output images1.output images2a.output images2.output \
+ images3a.output images3.output images5a.output images5.output \
+ images6a.output images6.output images7a.output images7.output \
+ images8a.output images8.output knot.output knownbugs.output \
+ liss1.output liss2.output lump.output matrox.output \
+ mountain.output mult2d.output mult3d.output multKnot.output \
+ ntube.output palette.output parpcurv.output parscurv.output \
+ parsurf.output pinch.output plotfile.output \
+ plotlist.output pollevel.output ribbon.output \
+ ribbons.output ribbonsNew.output rk4draw.output \
+ s01eaf.output s13aaf.output s13acf.output s13adf.output \
+ s14aaf.output s14abf.output s14baf.output s15adf.output \
+ s15aef.output s17acf.output s17adf.output s17aef.output \
+ s17aff.output s17agf.output s17ahf.output s17ajf.output \
+ s17akf.output s17dcf.output s17def.output s17dgf.output \
+ s17dhf.output s17dlf.output s18acf.output s18adf.output \
+ s18aef.output s18aff.output s18dcf.output s18def.output \
+ s19aaf.output s19abf.output s19acf.output s19adf.output \
+ s20acf.output s20adf.output s21baf.output s21bbf.output \
+ s21bcf.output s21bdf.output saddle.output \
+ sininv.output sinsin2.output sinsin.output spiral.output \
+ tetra.output tknot.output tschirn.output typo.output \
+ vectors.output wester.output wiggle.output zimmer.output
+
+# Error ASEC is invalid as a function.
+ASEC=errortrap.output
+
+# Error: FLUSH is invalid as a function
+# Error signalled by newGoGet
+FLUSH=regset.output
+
+# Error: The function WRAPPED is undefined.
+WRAPPED=loop.output
+
+# Error: Value stack overflow.
+VALUESTACK=tutchap67.output test.output
+
+# Broken at |MODOP;ELT;$2M;6|. Type :H for Help.
+MODOP=function.output
+
+# Broken at |MATCAT-;*;3S;29|. Type :H for Help.
+MATCAT=linalg.output
+
+# Broken at |STAGG-;ELT;AIS;5|. Type :H for Help.
+STAGG=reductio.output
+
+# Broken at |GSERIES;INTEGRATE;2$;6|. Type :H for Help.
+GSERIES=fixed.output
+
+# never finishes
+INFINITELOOP=lextripk.output
+
+OUTS= algaggr.output algbrbf.output algfacob.output alist.output \
+ allfact.output arith.output array1.output \
+ array2.output arrows.output \
+ assign.output bags.output bbtree.output \
+ binary.output bop.output \
+ bstree.output bugs.output bug10069.output bug10312.output \
+ bug6357.output bug9057.output calculus.output calculus2.output \
+ cardinal.output card.output \
+ carten.output cclass.output char.output \
+ ch.output clifford.output clif.output coercels.output \
+ collect.output complex.output constant.output contfrac.output \
+ contfrc.output curl.output \
+ cycles1.output cycles.output \
+ cyfactor.output \
+ danzwill.output decimal.output defintef.output defintrf.output \
+ derham.output dfloat.output \
+ dhtri.output divisor.output dmp.output dpol.output \
+ easter.output efi.output eigen.output elemfun.output \
+ elemnum.output elfuts.output \
+ elt.output eq.output \
+ eqtbl.output equation2.output equation.output \
+ evalex.output eval.output exdiff.output exlap.output \
+ exint.output \
+ exit.output exlimit.output expexpan.output explim.output \
+ expr1.output \
+ expr.output exprode.output exprpoly.output exseries.output \
+ exsum.output farray.output ffdemo.output fferr.output \
+ ffrac.output ffx72.output fib.output file.output \
+ float1.output float2.output float.output \
+ fname1.output fname.output fnla.output fns.output \
+ fparfrac.output fparfrc.output fr1.output \
+ fr2.output frac.output fr.output \
+ galois.output gbf.output genups.output \
+ gonshor.output \
+ grpthry.output gstbl.output heap.output heat.output \
+ help.output herm.output hexadec.output \
+ huang.output ico.output ideal.output ifact.output \
+ infprod.output \
+ intaf.output intef2.output intef.output intdeq.output \
+ intheory.output int.output intg0.output intlf.output \
+ intmix2.output intmix.output intrf.output ipftest.output \
+ is.output \
+ isprime.output kafile.output kernel.output knot2.output \
+ kovacic.output kuipers.output laplace.output \
+ leg.output lexp.output lib.output \
+ limit.output \
+ lindep.output \
+ list.output lode.output lodesys.output \
+ lodo1.output lodo2.output lodo3.output lodo.output \
+ lodof.output \
+ lpoly.output \
+ lupfact.output lword.output macbug.output macros.output \
+ magma.output mapleok.output \
+ mappkg1.output marcbench.output matbug.output \
+ matrix1.output matrix22.output matrix.output \
+ mfinfact.output mkfunc.output mpoly.output \
+ mset2.output mset.output \
+ multfact.output multiple.output ndftip.output negfloats.output \
+ nepip.output newlodo.output newton.output nlode.output \
+ none.output noonburg.output noptip.output nqip.output \
+ nsfip.output numbers.output oct.output ode.output \
+ octonion.output odpol.output op1.output \
+ op.output opalg.output operator.output ovar.output \
+ padic.output parabola.output \
+ pascal1.output pascal.output \
+ pat.output patmatch.output perman.output perm.output \
+ pfr1.output pfr.output pmint.output psgenfcn.output \
+ poly1.output polycoer.output \
+ poly.output quat1.output quat.output \
+ radff.output radix.output realclos.output reclos.output \
+ repa6.output \
+ robidoux.output \
+ roman.output roots.output ruleset.output rules.output \
+ r20abugs.output r20bugs.output r21bugsbig.output r21bugs.output \
+ scherk.output \
+ scope.output seg.output segbind.output \
+ series2.output series.output sersolve.output \
+ set.output sinCosEx.output \
+ sint.output \
+ skew.output slowint.output solvetra.output \
+ space3.output spadprof.output sqmatrix.output sregset.output \
+ stbl.output stream.output streams.output stream2.output \
+ string.output strtbl.output symbol.output synonym2.output \
+ synonym.output t111293.output table.output tanatan.output \
+ textfile.output triglim.output \
+ tsetcatbutcher.output tsetcatchemical.output tsetcatvermeer.output \
+ torus.output tree.output \
+ tutchap1.output tutchap2.output tutchap3.output tutchap4.output \
+ uniseg.output up.output \
+ vector.output viewdef.output void.output \
+ wutset.output xpbwpoly.output \
+ xpoly.output xpr.output \
+ zdsolve.output zimmer.output zlindep.output
+
+# new algebra tests based on documentation
+# These files are tested in a different directory.
+ALGEBRA=INTHEORY.output VIEW2D.output TESTFR.output
+
+.PHONY: regression-tests
+regression-tests: ${OUTS}
+ @ echo 1 finished ./$(top_builddir)/int/input
+
+%.output: %.input
+ (echo running test file $< ; \
+ echo ')set message test on' > tmp.input; \
+ echo ')set message auto off' >> tmp.input ; \
+ echo ')read $*' >> tmp.input ; \
+ echo ')lisp (bye)' >> tmp.input ; \
+ echo 'systemCommand "read tmp.input"' | ${TESTSYS} | tee $*.output; \
+ rm tmp.input )
+
+
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
new file mode 100644
index 00000000..cb8129e0
--- /dev/null
+++ b/src/input/Makefile.pamphlet
@@ -0,0 +1,927 @@
+%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs.
+\documentclass{article}
+\usepackage{axiom}
+
+\title{\$SPAD/src/input Makefile}
+\author{The Axiom Team}
+
+\begin{document}
+\maketitle
+
+\begin{abstract}
+\end{abstract}
+\eject
+
+\tableofcontents
+\eject
+
+\section{Introduction}
+This creates the mnt/sys/input subdirectory. The files are known
+as ``input'' files which are a list of Axiom commands. Each file
+(say ``foo.input'') can run in an Axiom system with the command:
+\begin{verbatim}
+)read foo.input
+\end{verbatim}
+
+Each of the files in this subdirectory is intended to achieve a
+three goals. First, the file shows examples of how to use Axiom
+algebra. Second, the file is used as a regression test to show
+that Axiom properly executes the algebra. Third, the file contains
+documentation on known bugs or missing algebra.
+
+It is important to collect as many examples as we can of working
+algebra. In particular, we need machinery to extract algebra from
+other pamphlet files and automatically make them into input files.
+The more algebra we collect, use, and regression test the more
+robust the system will be.
+
+When used to build a shipping system the default stanza ``use''
+will build files that show working algebra examples.
+
+When used for regression testing the stanza ``regress'' is used
+to build all of the working examples, run them, and compare them
+against known good output. Differences are highlighted and need
+to be documented or fixed.
+
+When used for bug testing the stanza ``bug'' is used to build
+the algebra with known bug chunks included. These are run to check
+that known bugs have been fixed before shipping. Fixed code should
+be moved to the ``regress'' status, new working examples are built
+and the system should be built using ``regress'' to check that the
+build did not break anything.
+
+\subsection{genericRules}
+We use the special .PRECIOUS target to prevent deletion of the
+intermediate .input files which are needed during the processing of
+regress target.
+
+<<genericRules>>=
+
+${OUT}/%.input: %.input
+ @ echo generic 10 making $@ from $<
+ @ $(INSTALL) $< $@
+
+.PRECIOUS: %.input
+
+%.input: ${IN}/%.input.pamphlet
+ @ echo generic 11 making $@ from $<
+ @$(axiom_build_document) --output=$@ --tangle $<
+
+${OUT}/%.as: %.as
+ @echo generic 12 making $@ from $<
+ @ $(INSTALL) $< $@
+
+%.as: ${IN}/%.as.pamphlet
+ @echo generic 13 making $@ from $<
+ @ $(axiom_build_document) --output=$@ --tangle $<
+
+pamphlets = \
+ Makefile.pamphlet \
+ $(wildchar *.input.pamphlet) \
+ $(wildchar.as.pamplhet)
+@
+
+\section{Testing stanzas (to be added)}
+<<testing>>=
+
+.SUFFIXES:
+.SUFFIXES: .input .out
+
+TESTSYS= \
+ AXIOM="$(AXIOM)" \
+ DAASE="$(axiom_targetdir)" \
+ $(axiom_target_bindir)/AXIOMsys
+
+IN= $(axiom_src_srcdir)/input
+
+MID= ./$(top_builddir)/int/input
+
+OUT= ./$(top_builddir)/obj/$(target)/input
+
+INPUT= $(axiom_target_srcdir)/input
+
+DOC= $(axiom_target_docdir)/src/input
+
+.PHONY: all all-input
+all: all-ax
+
+all-ax all-input:
+ @ echo making ${MID}
+ @ cp -p ${IN}/*.input ${MID}
+ @ cp -p ${IN}/axiom.test ${MID}/axiom.input
+ @ cp ${IN}/Makefile.int ${MID}/Makefile
+ @ for i in *.input ;do \
+ if test ! -f `basename $$i .input`.rec ;then \
+ echo aging `basename $$i .input`.rec ; \
+ ${TOUCH} 0101010189 `basename $$i .input`.rec ;fi ;done
+ @ ${MAKE} -f Makefile `echo *.rec`
+ @ cp ${IN}/Makefile.obj ${OUT}/Makefile
+ @ cp -p *.rec ${OUT}
+ @ cp -p ${IN}/axiom.test axiom.input
+ @ (cd ${OUT} ; \
+ for i in *.rec ;do \
+ if test ! -f `basename $$i .rec`.out ;then \
+ echo aging ${OUT}/`basename $$i .rec`.out ; \
+ ${TOUCH} 0101010189 `basename $$i .rec`.out ;fi ;done)
+ @ (cd ${OUT} ; ${MAKE} -f Makefile `echo *.out` )
+# @ (cd ${OUT} ; maildiff )
+ @ echo done
+
+and yet further stanzas
+
+.SUFFIXES: .input .rec
+
+all: all-ax
+
+all-ax: ${OUTS}
+ @ echo done with ${OUTS}
+ -rm -f stamp
+ $(STAMP) stamp
+
+.input.rec:
+ @ echo creating `pwd`/$*.rec
+ @ axiom -rm $*.input
+
+and still further stanzas
+
+.SUFFIXES: .rec .out
+
+all: ${OUTS}
+ @ echo obj done with ${OUTS}
+
+.rec.out:
+ @ echo running rec file $* from directory `pwd`
+ @ axiom -rv $*.rec
+
+
+@
+
+\section{The regression testing Makefile}
+
+This Makefile will be notangled into the [[int]] subdirectory.
+It will run regression tests over all of the input files.
+This will catch things we break but won't catch wrong results
+that were wrong in the past. Every input file that gets regression
+tested is assumed to have been hand-verified before it was added
+to the list.
+<<regression tests>>=
+
+.SUFFIXES:
+.SUFFIXES: .input .output
+
+TESTSYS= \
+ AXIOM="$(AXIOM)" \
+ DAASE="$(axiom_targetdir)" \
+ $(axiom_target_bindir)/AXIOMsys
+
+SKIP= antoine.output as-eg1.output as-eg2.output \
+ as-eg3.output as-eg4.output as-eg5.output as-eg6.output \
+ atansqrt.output bern.output bernpoly.output bouquet.output \
+ c02aff.output \
+ c02agf.output c05adf.output c05nbf.output c05pbf.output \
+ c06eaf.output c06ebf.output c06ecf.output c06ekf.output \
+ c06fpf.output c06fqf.output c06frf.output c06fuf.output \
+ c06gbf.output c06gcf.output c06gqf.output c06gsf.output \
+ cdraw.output color.output cone.output \
+ conformal.output coordsys.output \
+ cycloid2.output cycloid3.output cycloid.output \
+ d01ajf.output d01akf.output d01alf.output d01amf.output \
+ d01anf.output d01apf.output d01aqf.output d01asf.output \
+ d01bbf.output d01fcf.output d01gaf.output d01gbf.output \
+ d02bbf.output d02bhf.output d02cjf.output d02ejf.output \
+ d02gaf.output d02gbf.output d02kef.output d02raf.output \
+ d03edf.output d03eef.output d03faf.output damped.output \
+ de2re.output defs.output \
+ draw2dSF.output drawalg.output drawcfn.output drawcfun.output \
+ drawcurv.output drawcx.output drawex.output draw.output \
+ drawpoly.output drawx.output dropt.output e01baf.output \
+ e01bef.output e01bff.output e01bgf.output e01bhf.output \
+ e01daf.output e01saf.output e01sbf.output e01sef.output \
+ e01sff.output e02adf.output e02aef.output e02agf.output \
+ e02ahf.output e02ajf.output e02akf.output e02baf.output \
+ e02bbf.output e02bcf.output e02bdf.output e02bef.output \
+ e02daf.output e02dcf.output e02ddf.output e02def.output \
+ e02dff.output e02gaf.output e02zaf.output e04dgf.output \
+ e04fdf.output e04gcf.output e04jaf.output e04mbf.output \
+ e04naf.output e04ucf.output e04ycf.output egg.output \
+ explot2d.output explot3d.output \
+ f01brf.output f01bsf.output f01maf.output \
+ f01mcf.output f01qcf.output f01qdf.output f01qef.output \
+ f01rcf.output f01rdf.output f01ref.output f02aaf.output \
+ f02abf.output f02adf.output f02aef.output f02aff.output \
+ f02agf.output f02ajf.output f02akf.output f02awf.output \
+ f02axf.output f02bbf.output f02bjf.output f02fjf.output \
+ f02wef.output f02xef.output f04adf.output f04arf.output \
+ f04asf.output f04atf.output f04axf.output f04faf.output \
+ f04jgf.output f04maf.output f04mbf.output f04mcf.output \
+ f04qaf.output f07adf.output f07aef.output f07fdf.output \
+ f07fef.output folium.output gary1.output gnarly1.output \
+ graphics.output grdef.output helix.output \
+ images1a.output images1.output images2a.output images2.output \
+ images3a.output images3.output images5a.output images5.output \
+ images6a.output images6.output images7a.output images7.output \
+ images8a.output images8.output knot.output knownbugs.output \
+ liss1.output liss2.output lump.output matrox.output \
+ mountain.output mult2d.output mult3d.output multKnot.output \
+ ntube.output palette.output parpcurv.output parscurv.output \
+ parsurf.output pinch.output plotfile.output \
+ plotlist.output pollevel.output ribbon.output \
+ ribbons.output ribbonsNew.output rk4draw.output \
+ s01eaf.output s13aaf.output s13acf.output s13adf.output \
+ s14aaf.output s14abf.output s14baf.output s15adf.output \
+ s15aef.output s17acf.output s17adf.output s17aef.output \
+ s17aff.output s17agf.output s17ahf.output s17ajf.output \
+ s17akf.output s17dcf.output s17def.output s17dgf.output \
+ s17dhf.output s17dlf.output s18acf.output s18adf.output \
+ s18aef.output s18aff.output s18dcf.output s18def.output \
+ s19aaf.output s19abf.output s19acf.output s19adf.output \
+ s20acf.output s20adf.output s21baf.output s21bbf.output \
+ s21bcf.output s21bdf.output saddle.output \
+ sininv.output sinsin2.output sinsin.output spiral.output \
+ tetra.output tknot.output tschirn.output typo.output \
+ vectors.output wester.output wiggle.output zimmer.output
+
+# Error ASEC is invalid as a function.
+ASEC=errortrap.output
+
+# Error: FLUSH is invalid as a function
+# Error signalled by newGoGet
+FLUSH=regset.output
+
+# Error: The function WRAPPED is undefined.
+WRAPPED=loop.output
+
+# Error: Value stack overflow.
+VALUESTACK=tutchap67.output test.output
+
+# Broken at |MODOP;ELT;$2M;6|. Type :H for Help.
+MODOP=function.output
+
+# Broken at |MATCAT-;*;3S;29|. Type :H for Help.
+MATCAT=linalg.output
+
+# Broken at |STAGG-;ELT;AIS;5|. Type :H for Help.
+STAGG=reductio.output
+
+# Broken at |GSERIES;INTEGRATE;2$;6|. Type :H for Help.
+GSERIES=fixed.output
+
+# never finishes
+INFINITELOOP=lextripk.output
+
+OUTS= algaggr.output algbrbf.output algfacob.output alist.output \
+ allfact.output arith.output array1.output \
+ array2.output arrows.output \
+ assign.output bags.output bbtree.output \
+ binary.output bop.output \
+ bstree.output bugs.output bug10069.output bug10312.output \
+ bug6357.output bug9057.output calculus.output calculus2.output \
+ cardinal.output card.output \
+ carten.output cclass.output char.output \
+ ch.output clifford.output clif.output coercels.output \
+ collect.output complex.output constant.output contfrac.output \
+ contfrc.output curl.output \
+ cycles1.output cycles.output \
+ cyfactor.output \
+ danzwill.output decimal.output defintef.output defintrf.output \
+ derham.output dfloat.output \
+ dhtri.output divisor.output dmp.output dpol.output \
+ easter.output efi.output eigen.output elemfun.output \
+ elemnum.output elfuts.output \
+ elt.output eq.output \
+ eqtbl.output equation2.output equation.output \
+ evalex.output eval.output exdiff.output exlap.output \
+ exint.output \
+ exit.output exlimit.output expexpan.output explim.output \
+ expr1.output \
+ expr.output exprode.output exprpoly.output exseries.output \
+ exsum.output farray.output ffdemo.output fferr.output \
+ ffrac.output ffx72.output fib.output file.output \
+ float1.output float2.output float.output \
+ fname1.output fname.output fnla.output fns.output \
+ fparfrac.output fparfrc.output fr1.output \
+ fr2.output frac.output fr.output \
+ galois.output gbf.output genups.output \
+ gonshor.output \
+ grpthry.output gstbl.output heap.output heat.output \
+ help.output herm.output hexadec.output \
+ huang.output ico.output ideal.output ifact.output \
+ infprod.output \
+ intaf.output intef2.output intef.output intdeq.output \
+ intheory.output int.output intg0.output intlf.output \
+ intmix2.output intmix.output intrf.output ipftest.output \
+ is.output \
+ isprime.output kafile.output kernel.output knot2.output \
+ kovacic.output kuipers.output laplace.output \
+ leg.output lexp.output lib.output \
+ limit.output \
+ lindep.output \
+ list.output lode.output lodesys.output \
+ lodo1.output lodo2.output lodo3.output lodo.output \
+ lodof.output \
+ lpoly.output \
+ lupfact.output lword.output macbug.output macros.output \
+ magma.output mapleok.output \
+ mappkg1.output marcbench.output matbug.output \
+ matrix1.output matrix22.output matrix.output \
+ mfinfact.output mkfunc.output mpoly.output \
+ mset2.output mset.output \
+ multfact.output multiple.output ndftip.output negfloats.output \
+ nepip.output newlodo.output newton.output nlode.output \
+ none.output noonburg.output noptip.output nqip.output \
+ nsfip.output numbers.output oct.output ode.output \
+ octonion.output odpol.output op1.output \
+ op.output opalg.output operator.output ovar.output \
+ padic.output parabola.output \
+ pascal1.output pascal.output \
+ pat.output patmatch.output perman.output perm.output \
+ pfr1.output pfr.output pmint.output psgenfcn.output \
+ poly1.output polycoer.output \
+ poly.output quat1.output quat.output \
+ radff.output radix.output realclos.output reclos.output \
+ repa6.output \
+ robidoux.output \
+ roman.output roots.output ruleset.output rules.output \
+ r20abugs.output r20bugs.output r21bugsbig.output r21bugs.output \
+ scherk.output \
+ scope.output seg.output segbind.output \
+ series2.output series.output sersolve.output \
+ set.output sinCosEx.output \
+ sint.output \
+ skew.output slowint.output solvetra.output \
+ space3.output spadprof.output sqmatrix.output sregset.output \
+ stbl.output stream.output streams.output stream2.output \
+ string.output strtbl.output symbol.output synonym2.output \
+ synonym.output t111293.output table.output tanatan.output \
+ textfile.output triglim.output \
+ tsetcatbutcher.output tsetcatchemical.output tsetcatvermeer.output \
+ torus.output tree.output \
+ tutchap1.output tutchap2.output tutchap3.output tutchap4.output \
+ uniseg.output up.output \
+ vector.output viewdef.output void.output \
+ wutset.output xpbwpoly.output \
+ xpoly.output xpr.output \
+ zdsolve.output zimmer.output zlindep.output
+
+# new algebra tests based on documentation
+# These files are tested in a different directory.
+ALGEBRA=INTHEORY.output VIEW2D.output TESTFR.output
+
+.PHONY: regression-tests
+regression-tests: ${OUTS}
+ @ echo 1 finished ./$(top_builddir)/int/input
+
+%.output: %.input
+ (echo running test file $< ; \
+ echo ')set message test on' > tmp.input; \
+ echo ')set message auto off' >> tmp.input ; \
+ echo ')read $*' >> tmp.input ; \
+ echo ')lisp (bye)' >> tmp.input ; \
+ echo 'systemCommand "read tmp.input"' | ${TESTSYS} | tee $*.output; \
+ rm tmp.input )
+
+@
+
+\section{The Makefile}
+
+This Makefile will be notangled into the [[input]] subdirectory.
+<<*>>=
+
+subdir = src/input/
+
+IN=$(axiom_src_srcdir)/input
+MID=./$(top_builddir)/int/input
+OUT=$(axiom_targetdir)/input
+DOC=$(axiom_target_docdir)/src/input
+
+
+ASFILES=${OUT}/aseg6.as ${OUT}/aseg7.as ${OUT}/ecfact.as \
+ ${OUT}/hilbert.as ${OUT}/matops.as ${OUT}/pdecomp0.as \
+ ${OUT}/romnum.as
+
+NAGLIB=${OUT}/c02aff.input ${OUT}/c02agf.input ${OUT}/c05adf.input \
+ ${OUT}/c05nbf.input ${OUT}/c05pbf.input ${OUT}/c06eaf.input \
+ ${OUT}/c06ebf.input ${OUT}/c06ecf.input ${OUT}/c06ekf.input \
+ ${OUT}/c06fpf.input ${OUT}/c06fqf.input ${OUT}/c06frf.input \
+ ${OUT}/c06fuf.input ${OUT}/c06gbf.input ${OUT}/c06gcf.input \
+ ${OUT}/c06gqf.input ${OUT}/c06gsf.input \
+ ${OUT}/d01ajf.input ${OUT}/d01akf.input ${OUT}/d01alf.input \
+ ${OUT}/d01amf.input ${OUT}/d01anf.input ${OUT}/d01apf.input \
+ ${OUT}/d01aqf.input ${OUT}/d01asf.input ${OUT}/d01bbf.input \
+ ${OUT}/d01fcf.input ${OUT}/d01gaf.input ${OUT}/d01gbf.input \
+ ${OUT}/d02bbf.input ${OUT}/d02bhf.input ${OUT}/d02cjf.input \
+ ${OUT}/d02ejf.input ${OUT}/d02gaf.input ${OUT}/d02gbf.input \
+ ${OUT}/d02kef.input ${OUT}/d02raf.input ${OUT}/d03edf.input \
+ ${OUT}/d03eef.input ${OUT}/d03faf.input \
+ ${OUT}/e01baf.input ${OUT}/e01bef.input ${OUT}/e01bff.input \
+ ${OUT}/e01bgf.input ${OUT}/e01bhf.input ${OUT}/e01daf.input \
+ ${OUT}/e01saf.input ${OUT}/e01sbf.input ${OUT}/e01sef.input \
+ ${OUT}/e01sff.input ${OUT}/e02adf.input ${OUT}/e02aef.input \
+ ${OUT}/e02agf.input ${OUT}/e02ahf.input ${OUT}/e02ajf.input \
+ ${OUT}/e02akf.input ${OUT}/e02baf.input ${OUT}/e02bbf.input \
+ ${OUT}/e02bcf.input ${OUT}/e02bdf.input ${OUT}/e02bef.input \
+ ${OUT}/e02daf.input ${OUT}/e02dcf.input ${OUT}/e02ddf.input \
+ ${OUT}/e02def.input ${OUT}/e02dff.input ${OUT}/e02gaf.input \
+ ${OUT}/e02zaf.input ${OUT}/e04dgf.input ${OUT}/e04fdf.input \
+ ${OUT}/e04gcf.input ${OUT}/e04jaf.input ${OUT}/e04mbf.input \
+ ${OUT}/e04naf.input ${OUT}/e04ucf.input ${OUT}/e04ycf.input \
+ ${OUT}/f01brf.input ${OUT}/f01bsf.input ${OUT}/f01maf.input \
+ ${OUT}/f01mcf.input ${OUT}/f01qcf.input ${OUT}/f01qdf.input \
+ ${OUT}/f01qef.input ${OUT}/f01rcf.input ${OUT}/f01rdf.input \
+ ${OUT}/f01ref.input ${OUT}/f02aaf.input ${OUT}/f02abf.input \
+ ${OUT}/f02adf.input ${OUT}/f02aef.input ${OUT}/f02aff.input \
+ ${OUT}/f02agf.input ${OUT}/f02ajf.input ${OUT}/f02akf.input \
+ ${OUT}/f02awf.input ${OUT}/f02axf.input ${OUT}/f02bbf.input \
+ ${OUT}/f02bjf.input ${OUT}/f02fjf.input ${OUT}/f02wef.input \
+ ${OUT}/f02xef.input ${OUT}/f04adf.input ${OUT}/f04arf.input \
+ ${OUT}/f04asf.input ${OUT}/f04atf.input ${OUT}/f04axf.input \
+ ${OUT}/f04faf.input ${OUT}/f04jgf.input ${OUT}/f04maf.input \
+ ${OUT}/f04mbf.input ${OUT}/f04mcf.input ${OUT}/f04qaf.input \
+ ${OUT}/f07adf.input ${OUT}/f07aef.input ${OUT}/f07fdf.input \
+ ${OUT}/f07fef.input \
+ ${OUT}/s01eaf.input ${OUT}/s13aaf.input ${OUT}/s13acf.input \
+ ${OUT}/s13adf.input ${OUT}/s14aaf.input ${OUT}/s14abf.input \
+ ${OUT}/s14baf.input ${OUT}/s15adf.input ${OUT}/s15aef.input \
+ ${OUT}/s17acf.input ${OUT}/s17adf.input ${OUT}/s17aef.input \
+ ${OUT}/s17aff.input ${OUT}/s17agf.input ${OUT}/s17ahf.input \
+ ${OUT}/s17ajf.input ${OUT}/s17akf.input ${OUT}/s17dcf.input \
+ ${OUT}/s17def.input ${OUT}/s17dgf.input ${OUT}/s17dhf.input \
+ ${OUT}/s17dlf.input ${OUT}/s18acf.input ${OUT}/s18adf.input \
+ ${OUT}/s18aef.input ${OUT}/s18aff.input ${OUT}/s18dcf.input \
+ ${OUT}/s18def.input ${OUT}/s19aaf.input ${OUT}/s19abf.input \
+ ${OUT}/s19acf.input ${OUT}/s19adf.input ${OUT}/s20acf.input \
+ ${OUT}/s20adf.input ${OUT}/s21baf.input ${OUT}/s21bbf.input \
+ ${OUT}/s21bcf.input ${OUT}/s21bdf.input
+
+FILES= ${OUT}/algaggr.input ${OUT}/algbrbf.input ${OUT}/algfacob.input \
+ ${OUT}/alist.input ${OUT}/allfact.input ${OUT}/antoine.input \
+ ${OUT}/array1.input ${OUT}/array2.input ${OUT}/arrows.input \
+ ${OUT}/assign.input ${OUT}/atansqrt.input ${OUT}/axiom.input \
+ ${OUT}/asec.input \
+ ${OUT}/bags.input ${OUT}/bbtree.input ${OUT}/bern.input \
+ ${OUT}/bernpoly.input ${OUT}/binary.input ${OUT}/bop.input \
+ ${OUT}/bouquet.input ${OUT}/bstree.input ${OUT}/bug6357.input \
+ ${OUT}/bug9057.input ${OUT}/bug10069.input ${OUT}/bug10312.input \
+ ${OUT}/calculus.input \
+ ${OUT}/cardinal.input ${OUT}/card.input ${OUT}/carten.input \
+ ${OUT}/cclass.input ${OUT}/cdraw.input ${OUT}/char.input \
+ ${OUT}/ch.input ${OUT}/clifford.input ${OUT}/clif.input \
+ ${OUT}/coercels.input ${OUT}/collect.input ${OUT}/color.input \
+ ${OUT}/complex.input ${OUT}/cone.input ${OUT}/conformal.input \
+ ${OUT}/constant.input \
+ ${OUT}/contfrac.input ${OUT}/contfrc.input ${OUT}/coordsys.input \
+ ${OUT}/curl.input \
+ ${OUT}/cycles.input ${OUT}/cycles1.input ${OUT}/cycloid.input \
+ ${OUT}/cycloid2.input \
+ ${OUT}/cycloid3.input ${OUT}/cyfactor.input ${OUT}/damped.input \
+ ${OUT}/danzwill.input ${OUT}/decimal.input ${OUT}/defs.input \
+ ${OUT}/defintef.input ${OUT}/defintrf.input ${OUT}/derham.input \
+ ${OUT}/de2re.input \
+ ${OUT}/dfloat.input ${OUT}/dhtri.input ${OUT}/divisor.input \
+ ${OUT}/dmp.input ${OUT}/dpol.input ${OUT}/draw2dSF.input \
+ ${OUT}/drawalg.input ${OUT}/drawcfn.input \
+ ${OUT}/drawcfun.input ${OUT}/drawcurv.input \
+ ${OUT}/draw.input ${OUT}/drawcx.input ${OUT}/drawex.input \
+ ${OUT}/drawpoly.input ${OUT}/drawx.input \
+ ${OUT}/easter.input ${OUT}/efi.input ${OUT}/egg.input \
+ ${OUT}/eigen.input \
+ ${OUT}/elemfun.input ${OUT}/elemnum.input ${OUT}/elfuts.input \
+ ${OUT}/elt.input \
+ ${OUT}/eq.input ${OUT}/eqtbl.input ${OUT}/equation.input \
+ ${OUT}/errortrap.input \
+ ${OUT}/eval.input ${OUT}/exit.input ${OUT}/expexpan.input \
+ ${OUT}/explim.input ${OUT}/explot2d.input ${OUT}/explot3d.input \
+ ${OUT}/expr1.input ${OUT}/exprpoly.input \
+ ${OUT}/farray.input ${OUT}/ffdemo.input \
+ ${OUT}/fferr.input ${OUT}/ffrac.input ${OUT}/ffx72.input \
+ ${OUT}/fib.input ${OUT}/fixed.input \
+ ${OUT}/file.input ${OUT}/float2.input \
+ ${OUT}/float.input ${OUT}/float1.input ${OUT}/fname.input \
+ ${OUT}/fname1.input ${OUT}/fnla.input ${OUT}/folium.input \
+ ${OUT}/fparfrac.input \
+ ${OUT}/fparfrc.input ${OUT}/fr2.input ${OUT}/frac.input \
+ ${OUT}/fr.input ${OUT}/fr1.input ${OUT}/gary1.input \
+ ${OUT}/gbf.input ${OUT}/genups.input ${OUT}/gnarly1.input \
+ ${OUT}/gonshor.input ${OUT}/grdef.input \
+ ${OUT}/gstbl.input \
+ ${OUT}/heap.input ${OUT}/heat.input ${OUT}/helix.input \
+ ${OUT}/herm.input ${OUT}/hexadec.input ${OUT}/huang.input \
+ ${OUT}/ico.input ${OUT}/ideal.input ${OUT}/ifact.input \
+ ${OUT}/images1.input ${OUT}/images1a.input ${OUT}/images3a.input \
+ ${OUT}/images3.input ${OUT}/images6.input ${OUT}/images6a.input \
+ ${OUT}/images7.input ${OUT}/images7a.input ${OUT}/infprod.input \
+ ${OUT}/intaf.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}/kovacic.input ${OUT}/kuipers.input \
+ ${OUT}/laplace.input ${OUT}/leg.input ${OUT}/lexp.input \
+ ${OUT}/lextripk.input ${OUT}/lib.input ${OUT}/limit.input \
+ ${OUT}/lindep.input ${OUT}/liss1.input ${OUT}/liss2.input \
+ ${OUT}/list.input ${OUT}/lode.input ${OUT}/lodesys.input \
+ ${OUT}/lodo1.input ${OUT}/lodo2.input ${OUT}/lodof.input \
+ ${OUT}/lodo.input ${OUT}/lodo3.input ${OUT}/lpoly.input \
+ ${OUT}/lump.input \
+ ${OUT}/lupfact.input ${OUT}/lword.input ${OUT}/macbug.input \
+ ${OUT}/macros.input ${OUT}/marcbench.input ${OUT}/magma.input \
+ ${OUT}/mapleok.input ${OUT}/mappkg1.input ${OUT}/matbug.input \
+ ${OUT}/matrix22.input ${OUT}/matrix.input ${OUT}/matrix1.input \
+ ${OUT}/mfinfact.input ${OUT}/mkfunc.input ${OUT}/mountain.input \
+ ${OUT}/mpoly.input ${OUT}/mset.input ${OUT}/mset2.input \
+ ${OUT}/multfact.input ${OUT}/multKnot.input ${OUT}/mult3d.input \
+ ${OUT}/multiple.input \
+ ${OUT}/ndftip.input ${OUT}/newlodo.input \
+ ${OUT}/negfloats.input \
+ ${OUT}/nepip.input ${OUT}/newton.input \
+ ${OUT}/nlode.input ${OUT}/none.input ${OUT}/noonburg.input \
+ ${OUT}/noptip.input ${OUT}/nqip.input ${OUT}/nsfip.input \
+ ${OUT}/ntube.input ${OUT}/oct.input ${OUT}/ode.input \
+ ${OUT}/octonion.input ${OUT}/odpol.input \
+ ${OUT}/opalg.input ${OUT}/operator.input ${OUT}/op.input \
+ ${OUT}/op1.input ${OUT}/ovar.input \
+ ${OUT}/padic.input ${OUT}/palette.input \
+ ${OUT}/parpcurv.input ${OUT}/parscurv.input ${OUT}/parsurf.input \
+ ${OUT}/pascal1.input \
+ ${OUT}/pascal.input ${OUT}/patmatch.input ${OUT}/perman.input \
+ ${OUT}/perm.input ${OUT}/pfr.input ${OUT}/pfr1.input \
+ ${OUT}/pinch.input ${OUT}/plotfile.input ${OUT}/pollevel.input \
+ ${OUT}/pmint.input ${OUT}/polycoer.input \
+ ${OUT}/poly1.input ${OUT}/psgenfcn.input \
+ ${OUT}/quat.input ${OUT}/quat1.input ${OUT}/ribbon.input \
+ ${OUT}/ribbons.input ${OUT}/ribbonsNew.input ${OUT}/rk4draw.input \
+ ${OUT}/r20abugs.input \
+ ${OUT}/r20bugs.input ${OUT}/r21bugsbig.input \
+ ${OUT}/r21bugs.input \
+ ${OUT}/radff.input ${OUT}/radix.input ${OUT}/realclos.input \
+ ${OUT}/reclos.input ${OUT}/regset.input \
+ ${OUT}/robidoux.input ${OUT}/roman.input ${OUT}/roots.input \
+ ${OUT}/ruleset.input ${OUT}/rules.input ${OUT}/saddle.input \
+ ${OUT}/scherk.input ${OUT}/scope.input \
+ ${OUT}/segbind.input ${OUT}/seg.input ${OUT}/series2.input \
+ ${OUT}/series.input ${OUT}/sersolve.input ${OUT}/set.input \
+ ${OUT}/sinCosEx.input ${OUT}/sininv.input ${OUT}/sinsin.input \
+ ${OUT}/sinsin2.input ${OUT}/sint.input ${OUT}/skew.input \
+ ${OUT}/slowint.input ${OUT}/solvetra.input ${OUT}/space3.input \
+ ${OUT}/spiral.input \
+ ${OUT}/sqmatrix.input ${OUT}/sregset.input ${OUT}/stbl.input \
+ ${OUT}/stream2.input ${OUT}/stream.input ${OUT}/streams.input \
+ ${OUT}/string.input ${OUT}/strtbl.input ${OUT}/symbol.input \
+ ${OUT}/synonym.input ${OUT}/t111293.input \
+ ${OUT}/table.input ${OUT}/tanatan.input ${OUT}/test.input \
+ ${OUT}/tetra.input ${OUT}/textfile.input ${OUT}/tknot.input \
+ ${OUT}/tree.input \
+ ${OUT}/triglim.input ${OUT}/tschirn.input ${OUT}/tsetcatbutcher.input \
+ ${OUT}/tsetcatchemical.input ${OUT}/tsetcatvermeer.input \
+ ${OUT}/tutchap1.input ${OUT}/tutchap2.input ${OUT}/tutchap3.input \
+ ${OUT}/tutchap4.input ${OUT}/tutchap67.input ${OUT}/typo.input \
+ ${OUT}/uniseg.input ${OUT}/up.input \
+ ${OUT}/vector.input ${OUT}/vectors.input ${OUT}/viewdef.input \
+ ${OUT}/void.input ${OUT}/wiggle.input \
+ ${OUT}/wutset.input \
+ ${OUT}/xpbwpoly.input ${OUT}/xpoly.input ${OUT}/xpr.input \
+ ${OUT}/zdsolve.input ${OUT}/zimmer.input ${OUT}/zlindep.input
+
+FILES2=${OUT}/arith.input ${OUT}/bugs.input \
+ ${OUT}/calculus2.input \
+ ${OUT}/curl.input \
+ ${OUT}/equation2.input ${OUT}/evalex.input \
+ ${OUT}/exdiff.input ${OUT}/exint.input ${OUT}/exlap.input \
+ ${OUT}/exlimit.input \
+ ${OUT}/expr.input ${OUT}/exprode.input ${OUT}/exseries.input \
+ ${OUT}/exsum.input ${OUT}/fns.input \
+ ${OUT}/function.input ${OUT}/galois.input \
+ ${OUT}/grpthry.input \
+ ${OUT}/help.input ${OUT}/intef2.input \
+ ${OUT}/intmix2.input ${OUT}/knot2.input ${OUT}/linalg.input \
+ ${OUT}/loop.input \
+ ${OUT}/numbers.input \
+ ${OUT}/parabola.input ${OUT}/pat.input \
+ ${OUT}/poly.input ${OUT}/reductio.input ${OUT}/repa6.input \
+ ${OUT}/spadprof.input \
+ ${OUT}/synonym2.input ${OUT}/torus.input
+
+BROKEN=${OUT}/as-eg1.input ${OUT}/as-eg2.input ${OUT}/as-eg3.input \
+ ${OUT}/as-eg4.input ${OUT}/as-eg5.input ${OUT}/as-eg6.input
+
+# This viewport has already been closed!
+VIEWPORT=${OUT}/graphics.input
+
+# Error: Value stack overflow.
+VALUESTACK=${OUT}/images2a.input ${OUT}/images2.input ${OUT}/images5a.input \
+ ${OUT}/images5.input ${OUT}/images8a.input ${OUT}/images8.input \
+ ${OUT}/mult2d.input ${OUT}/plotlist.input
+
+# documented test cases
+DOCFILES= \
+ ${DOC}/algaggr.input.dvi ${DOC}/algbrbf.input.dvi \
+ ${DOC}/algfacob.input.dvi ${DOC}/alist.input.dvi \
+ ${DOC}/allfact.input.dvi ${DOC}/antoine.input.dvi \
+ ${DOC}/arith.input.dvi ${DOC}/array1.input.dvi \
+ ${DOC}/array2.input.dvi ${DOC}/arrows.input.dvi \
+ ${DOC}/as-eg1.input.dvi ${DOC}/as-eg2.input.dvi \
+ ${DOC}/as-eg3.input.dvi ${DOC}/as-eg4.input.dvi \
+ ${DOC}/as-eg5.input.dvi ${DOC}/aseg6.as.dvi \
+ ${DOC}/as-eg6.input.dvi ${DOC}/aseg7.as.dvi \
+ ${DOC}/asec.input.dvi \
+ ${DOC}/assign.input.dvi ${DOC}/atansqrt.input.dvi \
+ ${DOC}/axiom.input.dvi ${DOC}/bags.input.dvi \
+ ${DOC}/bbtree.input.dvi ${DOC}/bern.input.dvi \
+ ${DOC}/bernpoly.input.dvi ${DOC}/binary.input.dvi \
+ ${DOC}/bop.input.dvi ${DOC}/bouquet.input.dvi \
+ ${DOC}/bstree.input.dvi ${DOC}/bug10069.input.dvi \
+ ${DOC}/bug10312.input.dvi ${DOC}/bug6357.input.dvi \
+ ${DOC}/bug9057.input.dvi ${DOC}/bugs.input.dvi \
+ ${DOC}/c02aff.input.dvi ${DOC}/c02agf.input.dvi \
+ ${DOC}/c05adf.input.dvi ${DOC}/c05nbf.input.dvi \
+ ${DOC}/c05pbf.input.dvi ${DOC}/c06eaf.input.dvi \
+ ${DOC}/c06ebf.input.dvi ${DOC}/c06ecf.input.dvi \
+ ${DOC}/c06ekf.input.dvi ${DOC}/c06fpf.input.dvi \
+ ${DOC}/c06fqf.input.dvi ${DOC}/c06frf.input.dvi \
+ ${DOC}/c06fuf.input.dvi ${DOC}/c06gbf.input.dvi \
+ ${DOC}/c06gcf.input.dvi ${DOC}/c06gqf.input.dvi \
+ ${DOC}/c06gsf.input.dvi ${DOC}/calculus2.input.dvi \
+ ${DOC}/calculus.input.dvi ${DOC}/cardinal.input.dvi \
+ ${DOC}/card.input.dvi ${DOC}/carten.input.dvi \
+ ${DOC}/cclass.input.dvi ${DOC}/cdraw.input.dvi \
+ ${DOC}/char.input.dvi ${DOC}/ch.input.dvi \
+ ${DOC}/clifford.input.dvi ${DOC}/clif.input.dvi \
+ ${DOC}/coercels.input.dvi ${DOC}/collect.input.dvi \
+ ${DOC}/color.input.dvi ${DOC}/complex.input.dvi \
+ ${DOC}/cone.input.dvi ${DOC}/conformal.input.dvi \
+ ${DOC}/constant.input.dvi ${DOC}/contfrac.input.dvi \
+ ${DOC}/contfrc.input.dvi ${DOC}/coordsys.input.dvi \
+ ${DOC}/curl.input.dvi ${DOC}/cycles1.input.dvi \
+ ${DOC}/cycles.input.dvi ${DOC}/cycloid2.input.dvi \
+ ${DOC}/cycloid3.input.dvi ${DOC}/cycloid.input.dvi \
+ ${DOC}/cyfactor.input.dvi ${DOC}/d01ajf.input.dvi \
+ ${DOC}/d01akf.input.dvi ${DOC}/d01alf.input.dvi \
+ ${DOC}/d01amf.input.dvi ${DOC}/d01anf.input.dvi \
+ ${DOC}/d01apf.input.dvi ${DOC}/d01aqf.input.dvi \
+ ${DOC}/d01asf.input.dvi ${DOC}/d01bbf.input.dvi \
+ ${DOC}/d01fcf.input.dvi ${DOC}/d01gaf.input.dvi \
+ ${DOC}/d01gbf.input.dvi ${DOC}/d02bbf.input.dvi \
+ ${DOC}/d02bhf.input.dvi ${DOC}/d02cjf.input.dvi \
+ ${DOC}/d02ejf.input.dvi ${DOC}/d02gaf.input.dvi \
+ ${DOC}/d02gbf.input.dvi ${DOC}/d02kef.input.dvi \
+ ${DOC}/d02raf.input.dvi ${DOC}/d03edf.input.dvi \
+ ${DOC}/d03eef.input.dvi ${DOC}/d03faf.input.dvi \
+ ${DOC}/damped.input.dvi ${DOC}/danzwill.input.dvi \
+ ${DOC}/de2re.input.dvi ${DOC}/decimal.input.dvi \
+ ${DOC}/defintef.input.dvi ${DOC}/defintrf.input.dvi \
+ ${DOC}/defs.input.dvi ${DOC}/derham.input.dvi \
+ ${DOC}/dfloat.input.dvi ${DOC}/dhtri.input.dvi \
+ ${DOC}/divisor.input.dvi ${DOC}/dmp.input.dvi \
+ ${DOC}/dpol.input.dvi \
+ ${DOC}/draw2dSF.input.dvi ${DOC}/drawalg.input.dvi \
+ ${DOC}/drawcfn.input.dvi ${DOC}/drawcfun.input.dvi \
+ ${DOC}/drawcurv.input.dvi ${DOC}/drawcx.input.dvi \
+ ${DOC}/drawex.input.dvi ${DOC}/draw.input.dvi \
+ ${DOC}/drawpoly.input.dvi ${DOC}/drawx.input.dvi \
+ ${DOC}/dropt.input.dvi ${DOC}/e01baf.input.dvi \
+ ${DOC}/e01bef.input.dvi ${DOC}/e01bff.input.dvi \
+ ${DOC}/e01bgf.input.dvi ${DOC}/e01bhf.input.dvi \
+ ${DOC}/e01daf.input.dvi ${DOC}/e01saf.input.dvi \
+ ${DOC}/e01sbf.input.dvi ${DOC}/e01sef.input.dvi \
+ ${DOC}/e01sff.input.dvi ${DOC}/e02adf.input.dvi \
+ ${DOC}/e02aef.input.dvi ${DOC}/e02agf.input.dvi \
+ ${DOC}/e02ahf.input.dvi ${DOC}/e02ajf.input.dvi \
+ ${DOC}/e02akf.input.dvi ${DOC}/e02baf.input.dvi \
+ ${DOC}/e02bbf.input.dvi ${DOC}/e02bcf.input.dvi \
+ ${DOC}/e02bdf.input.dvi ${DOC}/e02bef.input.dvi \
+ ${DOC}/e02daf.input.dvi ${DOC}/e02dcf.input.dvi \
+ ${DOC}/e02ddf.input.dvi ${DOC}/e02def.input.dvi \
+ ${DOC}/e02dff.input.dvi ${DOC}/e02gaf.input.dvi \
+ ${DOC}/e02zaf.input.dvi ${DOC}/e04dgf.input.dvi \
+ ${DOC}/e04fdf.input.dvi ${DOC}/e04gcf.input.dvi \
+ ${DOC}/e04jaf.input.dvi ${DOC}/e04mbf.input.dvi \
+ ${DOC}/e04naf.input.dvi ${DOC}/e04ucf.input.dvi \
+ ${DOC}/e04ycf.input.dvi ${DOC}/easter.input.dvi \
+ ${DOC}/ecfact.as.dvi ${DOC}/efi.input.dvi \
+ ${DOC}/egg.input.dvi ${DOC}/eigen.input.dvi \
+ ${DOC}/elemfun.input.dvi ${DOC}/elemnum.input.dvi \
+ ${DOC}/elfuts.input.dvi ${DOC}/elt.input.dvi \
+ ${DOC}/eq.input.dvi ${DOC}/eqtbl.input.dvi \
+ ${DOC}/equation2.input.dvi ${DOC}/equation.input.dvi \
+ ${DOC}/errortrap.input.dvi ${DOC}/evalex.input.dvi \
+ ${DOC}/eval.input.dvi ${DOC}/exdiff.input.dvi \
+ ${DOC}/exint.input.dvi ${DOC}/exit.input.dvi \
+ ${DOC}/exlap.input.dvi ${DOC}/exlimit.input.dvi \
+ ${DOC}/expexpan.input.dvi ${DOC}/explim.input.dvi \
+ ${DOC}/explot2d.input.dvi ${DOC}/explot3d.input.dvi \
+ ${DOC}/expr1.input.dvi ${DOC}/expr.input.dvi \
+ ${DOC}/exprode.input.dvi ${DOC}/exprpoly.input.dvi \
+ ${DOC}/exseries.input.dvi ${DOC}/exsum.input.dvi \
+ ${DOC}/f01brf.input.dvi ${DOC}/f01bsf.input.dvi \
+ ${DOC}/f01maf.input.dvi ${DOC}/f01mcf.input.dvi \
+ ${DOC}/f01qcf.input.dvi ${DOC}/f01qdf.input.dvi \
+ ${DOC}/f01qef.input.dvi ${DOC}/f01rcf.input.dvi \
+ ${DOC}/f01rdf.input.dvi ${DOC}/f01ref.input.dvi \
+ ${DOC}/f02aaf.input.dvi ${DOC}/f02abf.input.dvi \
+ ${DOC}/f02adf.input.dvi ${DOC}/f02aef.input.dvi \
+ ${DOC}/f02aff.input.dvi ${DOC}/f02agf.input.dvi \
+ ${DOC}/f02ajf.input.dvi ${DOC}/f02akf.input.dvi \
+ ${DOC}/f02awf.input.dvi ${DOC}/f02axf.input.dvi \
+ ${DOC}/f02bbf.input.dvi ${DOC}/f02bjf.input.dvi \
+ ${DOC}/f02fjf.input.dvi ${DOC}/f02wef.input.dvi \
+ ${DOC}/f02xef.input.dvi ${DOC}/f04adf.input.dvi \
+ ${DOC}/f04arf.input.dvi ${DOC}/f04asf.input.dvi \
+ ${DOC}/f04atf.input.dvi ${DOC}/f04axf.input.dvi \
+ ${DOC}/f04faf.input.dvi ${DOC}/f04jgf.input.dvi \
+ ${DOC}/f04maf.input.dvi ${DOC}/f04mbf.input.dvi \
+ ${DOC}/f04mcf.input.dvi ${DOC}/f04qaf.input.dvi \
+ ${DOC}/f07adf.input.dvi ${DOC}/f07aef.input.dvi \
+ ${DOC}/f07fdf.input.dvi ${DOC}/f07fef.input.dvi \
+ ${DOC}/farray.input.dvi ${DOC}/ffdemo.input.dvi \
+ ${DOC}/fferr.input.dvi ${DOC}/ffrac.input.dvi \
+ ${DOC}/ffx72.input.dvi ${DOC}/fib.input.dvi \
+ ${DOC}/file.input.dvi ${DOC}/fixed.input.dvi \
+ ${DOC}/float1.input.dvi ${DOC}/float2.input.dvi \
+ ${DOC}/float.input.dvi ${DOC}/fname1.input.dvi \
+ ${DOC}/fname.input.dvi ${DOC}/fnla.input.dvi \
+ ${DOC}/fns.input.dvi ${DOC}/folium.input.dvi \
+ ${DOC}/fparfrac.input.dvi ${DOC}/fparfrc.input.dvi \
+ ${DOC}/fr1.input.dvi ${DOC}/fr2.input.dvi \
+ ${DOC}/frac.input.dvi ${DOC}/fr.input.dvi \
+ ${DOC}/function.input.dvi ${DOC}/galois.input.dvi \
+ ${DOC}/gary1.input.dvi ${DOC}/gbf.input.dvi \
+ ${DOC}/genups.input.dvi ${DOC}/gnarly1.input.dvi \
+ ${DOC}/gonshor.input.dvi ${DOC}/graphics.input.dvi \
+ ${DOC}/grdef.input.dvi ${DOC}/grpthry.input.dvi \
+ ${DOC}/gstbl.input.dvi ${DOC}/heap.input.dvi \
+ ${DOC}/heat.input.dvi ${DOC}/helix.input.dvi \
+ ${DOC}/help.input.dvi ${DOC}/herm.input.dvi \
+ ${DOC}/hexadec.input.dvi ${DOC}/hilbert.as.dvi \
+ ${DOC}/huang.input.dvi ${DOC}/ico.input.dvi \
+ ${DOC}/ideal.input.dvi ${DOC}/ifact.input.dvi \
+ ${DOC}/images1a.input.dvi ${DOC}/images1.input.dvi \
+ ${DOC}/images2a.input.dvi ${DOC}/images2.input.dvi \
+ ${DOC}/images3a.input.dvi ${DOC}/images3.input.dvi \
+ ${DOC}/images5a.input.dvi ${DOC}/images5.input.dvi \
+ ${DOC}/images6a.input.dvi ${DOC}/images6.input.dvi \
+ ${DOC}/images7a.input.dvi ${DOC}/images7.input.dvi \
+ ${DOC}/images8a.input.dvi ${DOC}/images8.input.dvi \
+ ${DOC}/infprod.input.dvi ${DOC}/intaf.input.dvi \
+ ${DOC}/intdeq.input.dvi ${DOC}/intef2.input.dvi \
+ ${DOC}/intef.input.dvi ${DOC}/intg0.input.dvi \
+ ${DOC}/intheory.input.dvi ${DOC}/int.input.dvi \
+ ${DOC}/intlf.input.dvi ${DOC}/intmix2.input.dvi \
+ ${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}/kernel.input.dvi ${DOC}/knot2.input.dvi \
+ ${DOC}/knot.input.dvi ${DOC}/knownbugs.input.dvi \
+ ${DOC}/kovacic.input.dvi ${DOC}/kuipers.input.dvi \
+ ${DOC}/laplace.input.dvi ${DOC}/leg.input.dvi \
+ ${DOC}/lexp.input.dvi ${DOC}/lextripk.input.dvi \
+ ${DOC}/lib.input.dvi ${DOC}/limit.input.dvi \
+ ${DOC}/linalg.input.dvi ${DOC}/lindep.input.dvi \
+ ${DOC}/liss1.input.dvi ${DOC}/liss2.input.dvi \
+ ${DOC}/list.input.dvi ${DOC}/lode.input.dvi \
+ ${DOC}/lodesys.input.dvi ${DOC}/lodo1.input.dvi \
+ ${DOC}/lodo2.input.dvi ${DOC}/lodo3.input.dvi \
+ ${DOC}/lodof.input.dvi ${DOC}/lodo.input.dvi \
+ ${DOC}/loop.input.dvi ${DOC}/lpoly.input.dvi \
+ ${DOC}/lump.input.dvi ${DOC}/lupfact.input.dvi \
+ ${DOC}/lword.input.dvi ${DOC}/macbug.input.dvi \
+ ${DOC}/macros.input.dvi ${DOC}/magma.input.dvi \
+ ${DOC}/mapleok.input.dvi ${DOC}/mappkg1.input.dvi \
+ ${DOC}/marcbench.input.dvi ${DOC}/matbug.input.dvi \
+ ${DOC}/matops.as.dvi ${DOC}/matrix1.input.dvi \
+ ${DOC}/matrix22.input.dvi ${DOC}/matrix.input.dvi \
+ ${DOC}/matrox.input.dvi ${DOC}/mfinfact.input.dvi \
+ ${DOC}/mkfunc.input.dvi ${DOC}/mountain.input.dvi \
+ ${DOC}/mpoly.input.dvi ${DOC}/mset2.input.dvi \
+ ${DOC}/mset.input.dvi ${DOC}/mult2d.input.dvi \
+ ${DOC}/mult3d.input.dvi ${DOC}/multfact.input.dvi \
+ ${DOC}/multiple.input.dvi ${DOC}/multKnot.input.dvi \
+ ${DOC}/ndftip.input.dvi ${DOC}/negfloats.input.dvi \
+ ${DOC}/nepip.input.dvi ${DOC}/newlodo.input.dvi \
+ ${DOC}/newton.input.dvi ${DOC}/nlode.input.dvi \
+ ${DOC}/none.input.dvi ${DOC}/noonburg.input.dvi \
+ ${DOC}/noptip.input.dvi ${DOC}/nqip.input.dvi \
+ ${DOC}/nsfip.input.dvi ${DOC}/ntube.input.dvi \
+ ${DOC}/numbers.input.dvi ${DOC}/oct.input.dvi \
+ ${DOC}/octonion.input.dvi ${DOC}/ode.input.dvi \
+ ${DOC}/odpol.input.dvi ${DOC}/op1.input.dvi \
+ ${DOC}/opalg.input.dvi ${DOC}/operator.input.dvi \
+ ${DOC}/op.input.dvi ${DOC}/ovar.input.dvi \
+ ${DOC}/padic.input.dvi ${DOC}/palette.input.dvi \
+ ${DOC}/parabola.input.dvi ${DOC}/parpcurv.input.dvi \
+ ${DOC}/parscurv.input.dvi ${DOC}/parsurf.input.dvi \
+ ${DOC}/pascal1.input.dvi ${DOC}/pascal.input.dvi \
+ ${DOC}/pat.input.dvi ${DOC}/patmatch.input.dvi \
+ ${DOC}/pdecomp0.as.dvi ${DOC}/perman.input.dvi \
+ ${DOC}/perm.input.dvi ${DOC}/pfr1.input.dvi \
+ ${DOC}/pfr.input.dvi ${DOC}/pinch.input.dvi \
+ ${DOC}/plotfile.input.dvi ${DOC}/plotlist.input.dvi \
+ ${DOC}/pollevel.input.dvi ${DOC}/poly1.input.dvi \
+ ${DOC}/polycoer.input.dvi ${DOC}/poly.input.dvi \
+ ${DOC}/psgenfcn.input.dvi ${DOC}/quat1.input.dvi \
+ ${DOC}/quat.input.dvi ${DOC}/r20abugs.input.dvi \
+ ${DOC}/r20bugs.input.dvi ${DOC}/r21bugsbig.input.dvi \
+ ${DOC}/r21bugs.input.dvi ${DOC}/radff.input.dvi \
+ ${DOC}/radix.input.dvi ${DOC}/realclos.input.dvi \
+ ${DOC}/reclos.input.dvi ${DOC}/reductio.input.dvi \
+ ${DOC}/regset.input.dvi ${DOC}/repa6.input.dvi \
+ ${DOC}/ribbon.input.dvi ${DOC}/ribbons.input.dvi \
+ ${DOC}/ribbonsNew.input.dvi ${DOC}/rk4draw.input.dvi \
+ ${DOC}/robidoux.input.dvi ${DOC}/roman.input.dvi \
+ ${DOC}/romnum.as.dvi ${DOC}/roots.input.dvi \
+ ${DOC}/ruleset.input.dvi ${DOC}/rules.input.dvi \
+ ${DOC}/s01eaf.input.dvi ${DOC}/s13aaf.input.dvi \
+ ${DOC}/s13acf.input.dvi ${DOC}/s13adf.input.dvi \
+ ${DOC}/s14aaf.input.dvi ${DOC}/s14abf.input.dvi \
+ ${DOC}/s14baf.input.dvi ${DOC}/s15adf.input.dvi \
+ ${DOC}/s15aef.input.dvi ${DOC}/s17acf.input.dvi \
+ ${DOC}/s17adf.input.dvi ${DOC}/s17aef.input.dvi \
+ ${DOC}/s17aff.input.dvi ${DOC}/s17agf.input.dvi \
+ ${DOC}/s17ahf.input.dvi ${DOC}/s17ajf.input.dvi \
+ ${DOC}/s17akf.input.dvi ${DOC}/s17dcf.input.dvi \
+ ${DOC}/s17def.input.dvi ${DOC}/s17dgf.input.dvi \
+ ${DOC}/s17dhf.input.dvi ${DOC}/s17dlf.input.dvi \
+ ${DOC}/s18acf.input.dvi ${DOC}/s18adf.input.dvi \
+ ${DOC}/s18aef.input.dvi ${DOC}/s18aff.input.dvi \
+ ${DOC}/s18dcf.input.dvi ${DOC}/s18def.input.dvi \
+ ${DOC}/s19aaf.input.dvi ${DOC}/s19abf.input.dvi \
+ ${DOC}/s19acf.input.dvi ${DOC}/s19adf.input.dvi \
+ ${DOC}/s20acf.input.dvi ${DOC}/s20adf.input.dvi \
+ ${DOC}/s21baf.input.dvi ${DOC}/s21bbf.input.dvi \
+ ${DOC}/s21bcf.input.dvi ${DOC}/s21bdf.input.dvi \
+ ${DOC}/saddle.input.dvi ${DOC}/scherk.input.dvi \
+ ${DOC}/scope.input.dvi ${DOC}/segbind.input.dvi \
+ ${DOC}/seg.input.dvi ${DOC}/series2.input.dvi \
+ ${DOC}/series.input.dvi ${DOC}/sersolve.input.dvi \
+ ${DOC}/set.input.dvi ${DOC}/sinCosEx.input.dvi \
+ ${DOC}/sininv.input.dvi ${DOC}/sinsin2.input.dvi \
+ ${DOC}/sinsin.input.dvi ${DOC}/sint.input.dvi \
+ ${DOC}/skew.input.dvi ${DOC}/slowint.input.dvi \
+ ${DOC}/solvetra.input.dvi ${DOC}/space3.input.dvi \
+ ${DOC}/spadprof.input.dvi ${DOC}/spiral.input.dvi \
+ ${DOC}/sqmatrix.input.dvi ${DOC}/sregset.input.dvi \
+ ${DOC}/stbl.input.dvi ${DOC}/stream2.input.dvi \
+ ${DOC}/stream.input.dvi ${DOC}/streams.input.dvi \
+ ${DOC}/string.input.dvi ${DOC}/strtbl.input.dvi \
+ ${DOC}/symbol.input.dvi ${DOC}/synonym2.input.dvi \
+ ${DOC}/synonym.input.dvi ${DOC}/t111293.input.dvi \
+ ${DOC}/table.input.dvi ${DOC}/tanatan.input.dvi \
+ ${DOC}/test.input.dvi ${DOC}/tetra.input.dvi \
+ ${DOC}/textfile.input.dvi ${DOC}/tknot.input.dvi \
+ ${DOC}/torus.input.dvi ${DOC}/tree.input.dvi \
+ ${DOC}/triglim.input.dvi ${DOC}/tschirn.input.dvi \
+ ${DOC}/tsetcatbutcher.input.dvi \
+ ${DOC}/tsetcatchemical.input.dvi \
+ ${DOC}/tsetcatvermeer.input.dvi \
+ ${DOC}/tutchap1.input.dvi ${DOC}/tutchap2.input.dvi \
+ ${DOC}/tutchap3.input.dvi ${DOC}/tutchap4.input.dvi \
+ ${DOC}/tutchap67.input.dvi ${DOC}/typo.input.dvi \
+ ${DOC}/uniseg.input.dvi ${DOC}/up.input.dvi \
+ ${DOC}/vector.input.dvi ${DOC}/vectors.input.dvi \
+ ${DOC}/viewdef.input.dvi ${DOC}/void.input.dvi \
+ ${DOC}/wester.input.dvi ${DOC}/wiggle.input.dvi \
+ ${DOC}/wutset.input.dvi ${DOC}/xpbwpoly.input.dvi \
+ ${DOC}/xpoly.input.dvi ${DOC}/xpr.input.dvi \
+ ${DOC}/zdsolve.input.dvi ${DOC}/zimmer.input.dvi \
+ ${DOC}/zlindep.input.dvi
+
+
+.PHONY: all all-ax all-input
+
+all: all-ax
+
+all-ax all-input: $(OUT) ${FILES} ${FILES2} ${ASFILES} regress
+ @echo 1 finished $(srcdir)
+
+$(OUT):
+ $(mkinstalldirs) $@
+
+<<genericRules>>
+
+use:
+ @echo 2 making ${OUT} from ${IN}
+
+regress:
+ ${MAKE} regression-tests
+
+bug:
+ @echo 4 making ${OUT} from ${IN}
+
+document:
+ @echo 5 documenting ${OUT}
+
+mostlyclean-local:
+ -rm -rf $(MID)
+ -rm -rf $(OUT)
+
+clean-local: mostlyclean-local
+
+distclean-local: clean-local
+
+<<regression tests>>
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/algaggr.input.pamphlet b/src/input/algaggr.input.pamphlet
new file mode 100644
index 00000000..e860c43b
--- /dev/null
+++ b/src/input/algaggr.input.pamphlet
@@ -0,0 +1,72 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input algaggr.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- lists are constructed explicitly by using square brackets
+l := [1,4,2,-6,0,3,5,4,2,3]
+-- "listify" an element by using the "list" function
+m := list 555555
+-- use "concat" to add an item to the front of a list
+concat(5,l)
+-- "concat" concatenates 2 lists
+concat(m,l)
+-- to remove all duplicates, issue
+removeDuplicates l
+-- use "first" to get the first element, and "rest" to get the
+-- list of remaining elements
+first l
+rest l
+-- "last" extracts the last element
+last l
+-- to find the number of elements, use "#"
+#l
+-- "first" and "rest" extract or remove leading or trailing
+-- parts of the list
+l
+first(l,3)
+rest(l,3)
+-- individual elements may be extracted as follows
+-- notice that list indexing goes from 1 to the size of the list
+l.1
+l.2
+l.(#l)
+-- individual elements may be set (destructively) in a similar manner
+l.1 := 1000000000
+l
+-- "insert" is used to add an element to a specific position in the list
+insert(10,l,4)
+insert(2,l,1)
+-- "position" determines the first index of an element in a list
+-- if the element is not in the list, 0 is returned.
+position(-6,l)
+-- to reverse a list
+reverse l
+-- the following functions demonstrate some functions on sets
+l
+m := [4,2,3,6,5,7,-9,1,2,3,2]
+sl:SET(INT) := brace l
+sm:SET(INT) := brace m
+difference(sl, sm)
+intersect(sl,sm)
+union(sl,sm)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/algbrbf.input.pamphlet b/src/input/algbrbf.input.pamphlet
new file mode 100644
index 00000000..c81eca04
--- /dev/null
+++ b/src/input/algbrbf.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input algbrbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- Examples used in Algebra document
+-- Floats
+)set message time off
+)set message type off
+)cl all
+digits 20
+p := numeric %pi
+a := 163.0
+b := sqrt a
+exp(p * b)
+digits 60
+p := numeric %pi
+a := 163.0
+b := sqrt a
+exp(p * b)
+c := cos(p/12)
+16*c**4 - 16*c**2 + 1
+numeric(%pi, 500)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/algfacob.input.pamphlet b/src/input/algfacob.input.pamphlet
new file mode 100644
index 00000000..5700a359
--- /dev/null
+++ b/src/input/algfacob.input.pamphlet
@@ -0,0 +1,75 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input algfacob.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- Examples used in Algebra document: ALGFACOB SCRIPT
+)set history on
+)clear all
+
+-- The Algebra of Factored Integers
+
+(w,x,y,z): FR INT
+x := 2**8 * 78**7 * 111**3 * 74534
+y := nilFactor(2,10) * nilFactor(3,20) * nilFactor(5,30)
+x*y
+w := x+y
+expand w
+f := x/y
+g := (x**9)/y
+f*g
+h := (f*g)/(g*nilFactor(2,200))
+)clear all
+
+-- The Algebra of Factored Polynomials
+
+(u,v,w) : FR POLY INT
+u := factor (x**4 - y**4)
+v := nilFactor(x-y,2) * nilFactor(x+y,2) * nilFactor(x**2 + y**2,1)
+w := factor(x**2 + 2*x*y + 2*x + 2*y + y**2 + 1) * nilFactor(x-y,2)
+nthFactor(u,1)
+nthFactor(u,2)
+nthFactor(u,3)
+nthFactor(u,4)
+gcd(u,v)
+u + v
+lcm(u,v)
+u * v * w
+expand %
+u/w
+w/(u*v)
+%%(-1) * %%(-2)
+%%(-1) + %%(-2)
+)clear all
+
+-- Some Notes on Using Factored Objects
+
+f : FR INT := 144000
+nthFactor(f,1)
+nthExponent(f,1)
+nthFlag(f,1)
+nthFlag(nilFactor(20,4),1)
+nthFlag(primeFactor(7,9),1)
+factors f
+numberOfFactors f
+f
+reduce(*,[nthFactor(f,i) :: (FR INT) for i in 1..numberOfFactors(f)])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/alist.input.pamphlet b/src/input/alist.input.pamphlet
new file mode 100644
index 00000000..c272c89c
--- /dev/null
+++ b/src/input/alist.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ALIST.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from AssociationListXmpPage
+)clear all
+
+Data := Record(monthsOld : Integer, gender : String)
+al : AssociationList(String,Data)
+al := table()
+al."bob" := [407,"male"]$Data
+al."judith" := [366,"female"]$Data
+al."katie" := [24,"female"]$Data
+al."smokie" := [200,"female"]$Data
+al
+al."katie" := [23,"female"]$Data
+delete!(al,1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/allfact.input.pamphlet b/src/input/allfact.input.pamphlet
new file mode 100644
index 00000000..1bfa8fe8
--- /dev/null
+++ b/src/input/allfact.input.pamphlet
@@ -0,0 +1,68 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input allfact.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+
+-- Examples of all the factor functions in the system.
+
+-- factorization of integer numbers
+n:=45234258258293
+factor n
+
+-- factorization of gaussian integers
+m:(Complex Integer) := 1324567+%i*53523582
+factor m
+
+-- factorization of polynomials over finite fields
+u:UP(x,PF(19)) :=3*x**4+2*x**2+15*x+18
+factor u
+
+-- factorization of polynomials over the integers
+v:UP(x,INT):= (4*x**3+2*x**2+1)*(12*x**5-x**3+12)
+factor v
+
+-- factorization of multivariate polynomial over the integers
+w:MPOLY([x,y,z],INT) :=(x**2-y**2-z**2)*(x**2+y**2+z**2)*(z*y+3*z)
+factor w
+
+-- factorization of univariate and multivariate over the rational numbers
+f:MPOLY([x,y,z],FRAC INT) :=(4/9*x**2-1/16)*(x**3/27+125)
+factor f
+
+-- factorization over rational functions
+g:DMP([x,y],FRAC POLY INT):=a**2*x**2/b**2 -c**2*y**2/d**2
+factor g
+
+-- decomposition of a rational function
+r:FRAC POLY INT:= (a**3/b**3-c**3/(b+1)**3)*(a*d+a/c)
+factorFraction r
+
+-- factorization over simple algebraic extensions
+aa|aa**2+aa+1
+p:UP(x,SAEaa) :=(x**3+aa**2*x+1)*(aa*x**2+aa*x+aa)**2
+factor(p)$SAEFACT(UP('aa,FRAC INT),SAEaa,UP(x,SAEaa))
+
+-- factorization over algebraic numbers
+a:=rootOf(a**2+3)$AN
+factor(x**2+x+1,[a])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/antoine.input.pamphlet b/src/input/antoine.input.pamphlet
new file mode 100644
index 00000000..c0e7d363
--- /dev/null
+++ b/src/input/antoine.input.pamphlet
@@ -0,0 +1,76 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input antoine.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Draw Antoine's Necklace
+-- Thanks to Matt Grayson (formerly at IBM's T.J Watson Research Center)
+-- for the idea.
+
+-- Bring DH matrices into the environment
+)set expose add con DenavitHartenbergMatrix
+
+)read dhtri
+
+-- The current transformation for drawing a sub-ring
+torusRot: DHMATRIX(DoubleFloat)
+
+-- Draw Antoine's Rings with n levels of recursive subdivision.
+-- The number of subrings is 10**n.
+drawRings(n) ==
+ s := create3Space()$ThreeSpace DoubleFloat
+ -- create an identity transformation
+ dh:DHMATRIX(DoubleFloat) := identity()
+ drawRingsInner(s, n, dh)
+ makeViewport3D(s, "Antoine's Necklace")
+
+-- Recursively draw Antoine's Necklace.
+drawRingsInner(s, n, dh) ==
+ n = 0 =>
+ drawRing(s, dh)
+ void()
+ t := 0.0@DoubleFloat -- the current angle around the ring
+ p := 0.0@DoubleFloat -- the angle of the subring from the plane
+ tr := 1.0@DoubleFloat -- the amount to translate the subring
+ inc := 0.1@DoubleFloat -- translation increment
+ -- subdivide the ring into 10 linked rings
+ for i in 1..10 repeat
+ tr := tr + inc
+ inc := -inc
+ dh' := dh * rotatez(t) * translate(tr, 0.0@DoubleFloat, 0.0@DoubleFloat) *
+ rotatey(p) * scale(0.35@DoubleFloat, 0.48@DoubleFloat, 0.4@DoubleFloat)
+ drawRingsInner(s, n-1, dh')
+ t := t + 36.0@DoubleFloat
+ p := p + 90.0@DoubleFloat
+ void()
+
+-- draw a single ring into the given subspace, transformed by the given
+-- DHMATRIX.
+drawRing(s, dh) ==
+ free torusRot
+ torusRot := dh
+ makeObject(torus, 0..2*%pi, 0..2*%pi, var1Steps == 6, space == s,
+ var2Steps == 15)
+
+-- Parameterization of a torus, transformed by the DHMATRIX in torusRot.
+torus(u ,v) ==
+ cu := cos(u)/6
+ torusRot * point [(1+cu)*cos(v), (1+cu)*sin(v), (sin u)/6]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/arith.input.pamphlet b/src/input/arith.input.pamphlet
new file mode 100644
index 00000000..d3f88c30
--- /dev/null
+++ b/src/input/arith.input.pamphlet
@@ -0,0 +1,104 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input arith.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{bugs}
+\subsection{bug1}
+Cannot find a definition or applicable library operation named
+reduce with argument type(s)
+ Variable *
+ List Segment PositiveInteger
+<<bug1>>=
+fac3 10
+@
+<<bugs>>=
+)clear all
+234+108
+234*108
+234**108
+factor %
+z := 1/2
+v := (z + 1) ** 10
+1024 * %
+u := (x+1)**6
+differentiate(u,x)
+-- factor %
+)clear all
+-- compute Fibonacci numbers
+fib(n | n = 0) == 1
+fib(n | n = 1) == 1
+fib(n | n > 1) == fib(n-1) + fib(n-2)
+fib 5
+fib 20
+)clear all
+-- compute Legendre polynomials
+leg(n | n = 0) == 1
+leg(n | n = 1) == x
+leg(n | n > 1) == ((2*n-1)*x*leg(n-1)-(n-1)*leg(n-2))/n
+leg 3
+leg 14
+-- look at it as a polynomial with rational number coefficients
+--% :: POLY FRAC INT
+)clear all
+-- several flavors of computing factorial
+fac1(n | n=1) == 1
+fac1(n | n > 1) == n*fac1(n-1)
+--
+fac2 n == if n = 1 then 1 else n*fac2(n-1)
+--
+fac3 n == reduce(*,[1..n])
+fac1 10
+fac2 10
+<<bug1>>
+@
+<<*>>=
+)clear all
+234+108
+234*108
+234**108
+factor %
+z := 1/2
+v := (z + 1) ** 10
+1024 * %
+u := (x+1)**6
+differentiate(u,x)
+-- factor %
+)clear all
+-- compute Fibonacci numbers
+fib(n | n = 0) == 1
+fib(n | n = 1) == 1
+fib(n | n > 1) == fib(n-1) + fib(n-2)
+fib 5
+fib 20
+)clear all
+-- compute Legendre polynomials
+leg(n | n = 0) == 1
+leg(n | n = 1) == x
+leg(n | n > 1) == ((2*n-1)*x*leg(n-1)-(n-1)*leg(n-2))/n
+leg 3
+leg 14
+-- look at it as a polynomial with rational number coefficients
+--% :: POLY FRAC INT
+)clear all
+-- several flavors of computing factorial
+fac1(n | n=1) == 1
+fac1(n | n > 1) == n*fac1(n-1)
+--
+fac2 n == if n = 1 then 1 else n*fac2(n-1)
+--
+fac3 n == reduce(*,[1..n])
+fac1 10
+fac2 10
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/array1.input.pamphlet b/src/input/array1.input.pamphlet
new file mode 100644
index 00000000..d0c494b1
--- /dev/null
+++ b/src/input/array1.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ARRAY1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from OneDimensionalArrayXmpPage
+)clear all
+
+oneDimensionalArray [i**2 for i in 1..10]
+a : ARRAY1 INT := new(10,0)
+for i in 1..10 repeat a.i := i; a
+map!(i +-> i ** 2,a); a
+reverse! a
+swap!(a,4,5); a
+sort! a
+b := a(6..10)
+copyInto!(a,b,1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/array2.input.pamphlet b/src/input/array2.input.pamphlet
new file mode 100644
index 00000000..b392e4aa
--- /dev/null
+++ b/src/input/array2.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ARRAY2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+
+-- Input generated from TwoDimensionalArrayXmpPage
+)clear all
+
+arr : ARRAY2 INT := new(5,4,0)
+setelt(arr,1,1,17)
+arr
+elt(arr,1,1)
+arr(3,2) := 15
+arr(3,2)
+row(arr,1)
+column(arr,1)
+nrows(arr)
+ncols(arr)
+map(-,arr)
+map((x +-> x + x),arr)
+arrc := copy(arr)
+map!(-,arrc)
+arrc
+arr
+member?(17,arr)
+member?(10317,arr)
+count(17,arr)
+count(0,arr)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/arrows.input.pamphlet b/src/input/arrows.input.pamphlet
new file mode 100644
index 00000000..ec230fed
--- /dev/null
+++ b/src/input/arrows.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input arrows.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+arrowAngle:=%pi-%pi/10.0@SF
+arrowScale:=0.2@SF
+
+makeArrow(p1,p2) ==
+ delta :=p2 -p1
+ len := arrowScale * length delta
+ theta := atan(delta.1, delta.2)
+ c1:= len*cos(theta+arrowAngle)
+ s1:= len*sin(theta+arrowAngle)
+ c2:= len*cos(theta-arrowAngle)
+ s2:= len*sin(theta-arrowAngle)
+ z:= p2.3*(1-arrowScale)
+ p3:=point[p2.1+c1,p2.2+s1,z,p2.4]
+ p4:=point[p2.1+c2,p2.2+s2,z,p2.4]
+ [[p1,p2,p3],[p2,p4]]
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/as-eg1.input.pamphlet b/src/input/as-eg1.input.pamphlet
new file mode 100644
index 00000000..e3ab4cee
--- /dev/null
+++ b/src/input/as-eg1.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input as-eg1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)compile romnum.as
+a:RomanNumber:=3
+a+a
+a*a
+gcd(a-1,a+1)
+x+a
+%**3
+sin a
+%**2+cos(a)**2
+simplify %
+matrix [[a,a+1],[a-1,a-2]]
+inverse %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/as-eg2.input.pamphlet b/src/input/as-eg2.input.pamphlet
new file mode 100644
index 00000000..808154ae
--- /dev/null
+++ b/src/input/as-eg2.input.pamphlet
@@ -0,0 +1,27 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input as-eg2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)co matops.as
+)sh MatrixOpSym
+matrix [[3,4],[5,6]]
+symmetricPart %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/as-eg3.input.pamphlet b/src/input/as-eg3.input.pamphlet
new file mode 100644
index 00000000..239949a8
--- /dev/null
+++ b/src/input/as-eg3.input.pamphlet
@@ -0,0 +1,49 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input as-eg3.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+)compile hilbert.as
+
+monomial l == (l::Vector SingleInteger) pretend Monomial
+mon1 := monomial [4,0,0,0];
+mon2:= monomial [3,3,0,0];
+mon3 := monomial [3,2,1,0];
+mon4 := monomial[3,1,2,0];
+mon5 := monomial[0,2,0,1];
+mon6 := monomial[0,1,0,5];
+l := [mon1, mon2, mon3, mon4, mon5, mon6];
+Hilbert l
+idA := varMonomsPower(6,5);
+#idA
+Hilbert idA
+idB := varMonomsPower(6,6);
+#idB
+Hilbert idB
+idC := varMonomsPower(12,3);
+#idC
+Hilbert idC
+idD:=[monomial[2,0,0,0],monomial[1,1,0,0],monomial[1,0,1,0],monomial[1,0,0,1],_
+ monomial[0,3,0,0],monomial[0,2,1,0]]^4;
+#idD
+Hilbert idD
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/as-eg4.input.pamphlet b/src/input/as-eg4.input.pamphlet
new file mode 100644
index 00000000..87a1528e
--- /dev/null
+++ b/src/input/as-eg4.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input as-eg4.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)co ecfact.as
+n1:=nextPrime 1000000
+n2:=nextPrime n1
+n:=n1*n2
+LenstraEllipticMethod n
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/as-eg5.input.pamphlet b/src/input/as-eg5.input.pamphlet
new file mode 100644
index 00000000..15b51ba9
--- /dev/null
+++ b/src/input/as-eg5.input.pamphlet
@@ -0,0 +1,30 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input as-eg5.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)co pdecomp0.as
+(u,v):UP(x,FRAC INT)
+u:=x**2+x+2
+v:=x**3+2*x**2+x+1
+compose(u,v)
+decompose %
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/as-eg6.input.pamphlet b/src/input/as-eg6.input.pamphlet
new file mode 100644
index 00000000..e700a338
--- /dev/null
+++ b/src/input/as-eg6.input.pamphlet
@@ -0,0 +1,47 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input as-eg6.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1995.
+@
+<<*>>=
+<<license>>
+
+)co aseg6.as
+
+)show C1
+)show C2
+)show C3
+)show C4
+)show D1
+)show D2
+)show D3
+)show D4
+)show D5
+
+)show C2 Integer
+)show C4 Integer
+)show D2 Integer
+)show D4 Integer
+
+x: D5 Integer := 1
+-- should be 3
+x+x
+
+-- should be 13
+foof(12)$D3
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/asec.input.pamphlet b/src/input/asec.input.pamphlet
new file mode 100644
index 00000000..82907431
--- /dev/null
+++ b/src/input/asec.input.pamphlet
@@ -0,0 +1,204 @@
+\documentclass{article}
+\usepackage{axiom}
+\usepackage{amssymb}
+\begin{document}
+\title{\$SPAD/src/input asec.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{ASC.1 Introduction}
+
+Let $x$ be a complex variable of $\mathbb{C} \setminus \{0\}$.The
+function Inverse Secant (noted {\tt asec}) is defined by
+the following second order differential equation
+
+$$\left(2 x^{2} - 1\right) \frac{\partial y (x)}{\partial x} +
+\left(x^{3} - x\right) \frac{\partial^{2} y (x)}{\partial x^{2}} =0.$$
+
+The initial conditions at $0$ are not simple to state,
+since $0$ is a (regular) singular point.
+
+\section{ASC.2 Series and asymptotic expansions}
+\subsection{ASC.2.1 Asymptotic expansion at $-1$}
+\subsubsection{ASC.2.1.1 First terms}
+
+$$
+\begin{array}{cc}
+& asec(x)\approx (\pi\ldots) + \sqrt{x + 1}
+\left(-i\sqrt{2} - \frac{5 i}{12} (x + 1) \sqrt{2} -
+\frac{43 i}{160} (x + 1)^{2} \sqrt{2}\right. \\
+& \quad{}\quad{}- \frac{177 i}{896} (x + 1)^{3} \sqrt{2} -
+\frac{2867 i}{18432} (x + 1)^{4} \sqrt{2} - \\
+& \quad{}\quad{}\frac{11531 i}{90112} (x + 1)^{5} \sqrt{2} -
+\frac{92479 i}{851968} (x + 1)^{6} \sqrt{2} - \\
+& \left.\quad{}\quad{}\frac{74069 i}{786432} (x + 1)^{7} \sqrt{2} -
+\frac{11857475 i}{142606336} (x + 1)^{8} \sqrt{2}\ldots\right).
+\end{array}
+$$
+
+\subsection{ASC.2.1 Asymptotic expansion at $0$}
+\subsubsection{ASC.2.2.1 First terms}
+
+$$
+\begin{array}{cc}
+& asec(x)\approx \\
+& \quad{}\quad{}\left(i ln(2) + \frac{i}{4} x^{2} +
+\frac{3 i}{32} x^{4} + \frac{5 i}{96} x^{6} +
+\frac{35 i}{1024} x^{8} + i ln(x)\ldots\right).
+\end{array}
+$$
+
+\subsection{ASC.2.3 Asymptotic expansion at $1$}
+\subsubsection{ASC.2.3.1 First terms}
+
+$$
+\begin{array}{cc}
+& asec(x)\approx \sqrt{x - 1}
+\left(\sqrt{2} - \frac{5 \sqrt{2} (x - 1)}{12} +
+\frac{43 \sqrt{2} (x - 1)^{2}}{160} - \right. \\
+& \quad{}\quad{}\frac{177 \sqrt{2} (x - 1)^{3}}{896} +
+\frac{2867 \sqrt{2} (x - 1)^{4}}{18432} -
+\frac{11531 \sqrt{2} (x - 1)^{5}}{90112} + \\
+& \quad{}\quad{}\frac{92479 \sqrt{2} (x - 1)^{6}}{851968} -
+\frac{74069 \sqrt{2} (x - 1)^{7}}{786432} + \\
+& \quad{}\quad{}\frac{11857475 \sqrt{2} (x - 1)^{8}}{142606336} -
+\frac{47442055 \sqrt{2} (x - 1)^{9}}{637534208} + \\
+& \quad{}\quad{}\frac{126527543 \sqrt{2} (x - 1)^{10}}{1879048192} -
+\frac{1518418695 \sqrt{2} (x - 1)^{11}}{24696061952} + \\
+& \quad{}\quad{}\frac{24295375159 \sqrt{2} (x - 1)^{12}}{429496729600} -
+\frac{97182800711 \sqrt{2} (x - 1)^{13}}{1855425871872} + \\
+& \left.\quad{}\quad{}\frac{777467420263
+\sqrt{2} (x - 1)^{14}}{15942918602752} -
+\frac{3109879375897 \sqrt{2} (x - 1)^{15}}{68169720922112}\ldots\right).
+\end{array}
+$$
+
+\subsubsection{ASC.2.3.2 General form}
+
+$$asec(x)\approx \sqrt{x - 1} \sum_{n = 0}^{\infty} u (n) (x - 1)^{n}$$
+
+The coefficients $u(n)$ satisfy the recurrence
+$$
+\begin{array}{cc}
+& 2 u(n) \left(\frac{1}{2} + n\right) n +
+u(n - 1) \left(-\frac{1}{2} + n\right) \left(-\frac{1}{2} + 3 n\right) +
+u(n - 2) \left(-\frac{3}{2} + n\right)
+\left(-\frac{1}{2} + n\right) \\
+& \quad{}\quad{}=0.
+\end{array}
+$$
+
+Initial conditions of ASC.2.3.2.2 are given by
+$$
+\begin{array}{cc}
+u(0)& =\sqrt{2}, \\
+u(1)& =\frac{-5\sqrt{2}}{12}.
+\end{array}
+$$
+
+As implemented within Axiom the {\tt asec} function is
+$$sec^{-1}(z) == cos^{-1}\left(\frac{1}{z}\right)$$
+<<*>>=
+)spool asec.output
+)set message test off
+)set message auto off
+)set break resume
+digits(22)
+)clear all
+
+--S 1 of 10
+asec(-2.0)
+--R
+--R (1) 2.0943951023 9319549230 8
+--R Type: Float
+--E 1
+
+--S 2 of 10
+asec(-1.5)
+--R
+--R (2) 2.3005239830 2186298268 6
+--R Type: Float
+--E 2
+
+--S 3 of 10
+asec(-1.0)
+--R
+--R (3) 3.1415926535 8979323846 3
+--R Type: Float
+--E 3
+
+--S 4 of 10
+asec(-0.5)
+--R
+--R >> Error detected within library code:
+--R acos: argument > 1 in magnitude
+--R
+--R Continuing to read the file...
+--R
+--E 4
+
+--S 5 of 10
+asec(-0.0)
+--R
+--R >> Error detected within library code:
+--R asec: no reciprocal
+--R
+--R Continuing to read the file...
+--R
+--E 5
+
+--S 6 of 10
+asec(0.0)
+--R
+--R >> Error detected within library code:
+--R asec: no reciprocal
+--R
+--R Continuing to read the file...
+--R
+--E 6
+
+--S 7 of 10
+asec(0.5)
+--R
+--R >> Error detected within library code:
+--R acos: argument > 1 in magnitude
+--R
+--R Continuing to read the file...
+--R
+--E 7
+
+--S 8 of 10
+asec(1.0)
+--R
+--R (4) 0.0
+--R Type: Float
+--E 8
+
+--S 9 of 10
+asec(1.5)
+--R
+--R (5) 0.8410686705 6793025577 652
+--R Type: Float
+--E 9
+
+--S 10 of 10
+asec(2.0)
+--R
+--R (6) 1.0471975511 9659774615 42
+--R Type: Float
+--E 10
+)spool
+)lisp (bye)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} The Encyclopedia of Special Functions
+http://algo.inria.fr/esf/function/ASC/ASC.html
+\end{thebibliography}
+\end{document}
+
diff --git a/src/input/aseg6.as.pamphlet b/src/input/aseg6.as.pamphlet
new file mode 100644
index 00000000..71bb6d15
--- /dev/null
+++ b/src/input/aseg6.as.pamphlet
@@ -0,0 +1,118 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input aseg6.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+-- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+@
+<<*>>=
+<<license>>
+#include "axiom"
+
+C1: Category == with {
+ foo: % -> %;
+}
+
+C2(X: BasicType): Category == with {
+ foo: % -> X;
+ oof: X -> %;
+ foof: X -> X;
+
+ default {
+ foof(x: X): X == foo(oof x);
+ }
+
+}
+
+C3: Category == Join(Ring, C1) with {
+ foo2: % -> %
+}
+
+C4(X: Ring): Category == Join(Ring, C2 X) with {
+ foo2: % -> %;
+}
+
+
+D1: C1 with {
+ new: Integer -> %;
+} == add {
+ Rep ==> Integer;
+ import from Rep;
+
+ foo(x: %): % == x;
+ new(n: Integer): % == per n;
+}
+
+D2(X: BasicType): C1 with {
+ new: X -> %;
+} == add {
+ Rep ==> X;
+ foo(x: %): % == x;
+ new(n: X): % == per n;
+}
+
+D3: C2(Integer) with == add {
+ Rep ==> Integer;
+ X ==> Integer;
+
+ foo(x: %): X == rep x;
+ oof(x: X): % == per(x+1);
+}
+
+D4(X: BasicType): C2(X) with == add {
+ Rep ==> X;
+
+ foo(x: %): X == rep x;
+ oof(x: X): % == per x;
+}
+
+D5(X: Ring): Ring == X add {
+ Rep ==> X;
+ import from Rep;
+ (a: %) + (b: %): % == per(rep(a) + rep(b) + 1@Rep);
+}
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/aseg7.as.pamphlet b/src/input/aseg7.as.pamphlet
new file mode 100644
index 00000000..d0459e64
--- /dev/null
+++ b/src/input/aseg7.as.pamphlet
@@ -0,0 +1,108 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input aseg7.as}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+-- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+@
+<<*>>=
+<<license>>
+#include "axiom.as"
+
+L ==> List;
+
+Test2(R:EuclideanDomain) : with {
+ constPtrs? :() -> R;
+ set : R->R;
+ resetConstPtrs :()->R;
+} == add {
+
+ import from R;
+ local constantPtrs:R:=0;
+
+
+ constPtrs?():R == {
+ free constantPtrs;
+ constantPtrs;
+ }
+
+ set(c:R):R == {
+ free constantPtrs;
+ constantPtrs := c;
+ }
+
+ resetConstPtrs():R == {
+ free constantPtrs;
+ constantPtrs := 0;
+ }
+}
+
+Test3 : with {
+ constPtrs? : ()-> Integer;
+ set: Integer->Integer;
+ resetConstPtrs: () ->Integer;
+
+} == add {
+ import from Integer;
+ constantPtrs:Integer:=0;
+ constPtrs?():Integer == {
+ free constantPtrs;
+ constantPtrs;
+ }
+
+ set(c:Integer):Integer == {
+ free constantPtrs;
+ constantPtrs := c;
+ }
+
+ resetConstPtrs():Integer == {
+ free constantPtrs;
+ constantPtrs := 0;
+ }
+}
+
+foo2 : with {constPtrs? : ()-> Integer; set: Integer->Integer; resetConstPtrs: () ->Integer } == Test2(Integer) add {}
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/assign.input.pamphlet b/src/input/assign.input.pamphlet
new file mode 100644
index 00000000..58b47f31
--- /dev/null
+++ b/src/input/assign.input.pamphlet
@@ -0,0 +1,39 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input assign.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- This file shows the difference between assignments and rewrite
+-- rules.
+
+a := 1
+b := a -- the value of b is now 1
+b -- see, told you
+a := 2 -- what is the value of b?
+b -- it is the value it had AT ASSIGNMENT
+
+c == 1 -- c is a rule
+c -- it will evaluate to 1
+d == c -- d is a rule that will evaluate to c
+d
+c == 2 -- we have changed the rule for c
+d -- and so the ultimate value computed from d will change
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/atansqrt.input.pamphlet b/src/input/atansqrt.input.pamphlet
new file mode 100644
index 00000000..6e0eef7a
--- /dev/null
+++ b/src/input/atansqrt.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input atansqrt.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+-- given
+
+z:=atan sqrt ((1-cos x)/(1+cos x))
+
+-- this should generate x/2
+
+integrate(differentiate(z,x),x)
+
+-- so should this be x/2
+
+rootSimp(normalize(z))
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/axiom.input.pamphlet b/src/input/axiom.input.pamphlet
new file mode 100644
index 00000000..85ca1f1c
--- /dev/null
+++ b/src/input/axiom.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input axiom.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- This file is read on start-up by the AXIOM system. It is
+-- most commonly used to customize the user's environment via the
+-- )set system commands.
+
+
+-- do not enter lisp break on error
+)set break nobreak
+
+-- use the simple character set
+)set output char plain
+
+-- everyone uses this
+)set userlevel development
+
+-- make the highlighting characters go away
+)set mess high off
+
+)set message prompt frame
+
+)lis (verbos 0)
+-- read the user's synonym file for system commands, if it exists
+)read "mysyns.input" )ifthere )quiet
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bags.input.pamphlet b/src/input/bags.input.pamphlet
new file mode 100644
index 00000000..b884079a
--- /dev/null
+++ b/src/input/bags.input.pamphlet
@@ -0,0 +1,69 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bags.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+a:Stack INT:= stack [1,2,3,4,5]
+pop! a
+a
+push!(9,a)
+a
+empty? a
+b:=empty()$(Stack INT)
+empty? b
+c:ArrayStack INT:= arrayStack [1,2,3,4,5]
+pop! c
+c
+push!(9,c)
+c
+empty? c
+d:=empty()$(ArrayStack INT)
+empty? d
+e:Queue INT:= queue [1,2,3,4,5]
+dequeue! e
+e
+enqueue!(9,e)
+e
+empty? e
+f:=empty()$(Queue INT)
+empty? f
+g:Dequeue INT:= dequeue [1,2,3,4,5]
+extractBottom! g
+g
+insertBottom!(9,g)
+g
+extractTop! g
+g
+insertTop!(9,g)
+g
+empty? g
+h:=empty()$(Dequeue INT)
+empty? h
+i:Heap INT := bag [1,6,3,7,5,2,4]
+insert!(10,i)
+i
+max i
+extract! i
+i
+heapsort x ==
+ empty? x => []
+ cons(extract! x,heapsort x)
+heapsort i
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bbtree.input.pamphlet b/src/input/bbtree.input.pamphlet
new file mode 100644
index 00000000..6336ace4
--- /dev/null
+++ b/src/input/bbtree.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input BBTREE.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from BalancedBinaryTreeXmpPage
+)clear all
+
+lm := [3,5,7,11]
+modTree(12,lm)
+t := balancedBinaryTree(#lm, 0)
+setleaves!(t,lm)
+mapUp!(t,_*)
+t
+mapDown!(t,12,_rem)
+leaves %
+squares := [x**2 rem m for x in % for m in lm]
+chineseRemainder(%,lm)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bern.input.pamphlet b/src/input/bern.input.pamphlet
new file mode 100644
index 00000000..b3833518
--- /dev/null
+++ b/src/input/bern.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bern.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)bern.input 1.1 89/09/07 20:54:27
+draw(curve(cos(t)/(1+sin(t)**2),sin(t)*cos(t)/(1+sin(t)**2)),t = -%pi..%pi, [title "Lemniscate of Bernoulli"])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bernpoly.input.pamphlet b/src/input/bernpoly.input.pamphlet
new file mode 100644
index 00000000..f2db3a16
--- /dev/null
+++ b/src/input/bernpoly.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bernpoly.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- the first 10 Bernoulli polynomials (Approximate Calculation of Integrals
+-- by V. Krylov Macmillan 1962 p13)
+draw(1,x=0..1)
+draw(x-(1/2),x=0..1)
+draw(x**2-x+(1/6),x=0..1)
+draw(x**3-(3/2)*x**2+(1/2)*x,x=0..1)
+draw(x**4-2*x**3+x**2-(1/30),x=0..1)
+draw(x**5-(5/2)*x**4+(5/3)*x**3-(1/6)*x,x=0..1)
+draw(x**6-3*x**5+(5/2)*x**4-(1/2)*x**2+(1/42),x=0..1)
+draw(x**7-(7/2)*x**6+(7/2)*x**5-(7/6)*x**3+(1/6)*x,x=0..1)
+draw(x**8-4*x**7+(14/3)*x**6-(7/3)*x**4+(2/3)*x**2-(1/30),x=0..1)
+draw(x**9-(9/2)*x**8+6*x**7-(21/5)*x**5+2*x**3-(3/10)*x,x=0..1)
+draw(x**10-5*x**9+(15/2)*x**8-7*x**6+5*x**4-(3/2)*x**2+(5/66),x=0..1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/binary.input.pamphlet b/src/input/binary.input.pamphlet
new file mode 100644
index 00000000..ec0fe39b
--- /dev/null
+++ b/src/input/binary.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input BINARY.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- Input generated from BinaryExpansionXmpPage
+)clear all
+
+r := binary(22/7)
+r + binary(6/7)
+[binary(1/i) for i in 102..106]
+binary(1/1007)
+p := binary(1/4)*x**2 + binary(2/3)*x + binary(4/9)
+q := D(p, x)
+g := gcd(p, q)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bop.input.pamphlet b/src/input/bop.input.pamphlet
new file mode 100644
index 00000000..aeb4c803
--- /dev/null
+++ b/src/input/bop.input.pamphlet
@@ -0,0 +1,67 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input BOP.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{bugs}
+\subsection{bug1}
+|LinearOrdinaryDifferentialOperator| is invalid as a function
+<<bug1>>=
+solve(deq, y, x)
+@
+<<bugs>>=
+-- Input generated from BasicOperatorXmpPage
+)clear all
+
+y := operator 'y
+deq := D(y x, x, 2) + D(y x, x) + y x = 0
+<<bug1>>
+nary? y
+unary? y
+opOne := operator('opOne, 1)
+nary? opOne
+unary? opOne
+arity opOne
+name opOne
+is?(opOne, 'z2)
+is?(opOne, "opOne")
+properties y
+setProperty(y, "use", "unknown function" :: None )
+properties y
+property(y, "use") :: None pretend String
+deleteProperty!(y, "use")
+properties y
+@
+<<*>>=
+-- Input generated from BasicOperatorXmpPage
+)clear all
+
+y := operator 'y
+deq := D(y x, x, 2) + D(y x, x) + y x = 0
+nary? y
+unary? y
+opOne := operator('opOne, 1)
+nary? opOne
+unary? opOne
+arity opOne
+name opOne
+is?(opOne, 'z2)
+is?(opOne, "opOne")
+properties y
+setProperty(y, "use", "unknown function" :: None )
+properties y
+property(y, "use") :: None pretend String
+deleteProperty!(y, "use")
+properties y
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bouquet.input.pamphlet b/src/input/bouquet.input.pamphlet
new file mode 100644
index 00000000..28d9b215
--- /dev/null
+++ b/src/input/bouquet.input.pamphlet
@@ -0,0 +1,60 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bouquet.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- relative size of the arrow head compared to the length of the arrow
+arrowScale := 0.2@DFLOAT
+
+-- angle of the arrow head
+arrowAngle := %pi-%pi/10.0@DFLOAT
+
+-- Add an arrow head to a line segment, which starts at 'p1', ends at 'p2',
+-- has length 'len', and and angle 'arg'. We pass 'len' and 'arg' as
+-- arguments since they were already computed by the calling program
+makeArrow(p1, p2) ==
+ delta := p2 - p1
+ len := arrowScale * length delta
+ theta := atan(delta.1, delta.2)
+ c1 := len * cos(theta + arrowAngle)
+ s1 := len * sin(theta + arrowAngle)
+ c2 := len * cos(theta - arrowAngle)
+ s2 := len * sin(theta - arrowAngle)
+ z := p2.3*(1 - arrowScale)
+ p3 := point [p2.1 + c1, p2.2 + s1, z, p2.4]
+ p4 := point [p2.1 + c2, p2.2 + s2, z, p2.4]
+ [[p1, p2, p3], [p2, p4]]
+
+drawBouquet(n,title) ==
+ angle := 0.0@DFLOAT
+ sp := create3Space()$ThreeSpace(DFLOAT)
+ for i in 0..n-1 repeat
+ start := point [0.0@DFLOAT,0.0@DFLOAT,0.0@DFLOAT,angle]
+ end := point [cos angle, sin angle, 1.0@DFLOAT, angle]
+ arrow := makeArrow(start, end)
+ for a in arrow repeat curve(sp,a)
+ angle := angle + 2*%pi/n
+ makeViewport3D(sp,title)$VIEW3D
+
+
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bstree.input.pamphlet b/src/input/bstree.input.pamphlet
new file mode 100644
index 00000000..2a190caf
--- /dev/null
+++ b/src/input/bstree.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input BSTREE.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+
+-- Input generated from BinarySearchTreeXmpPage
+)clear all
+
+lv := [8,3,5,4,6,2,1,5,7]
+t := binarySearchTree lv
+emptybst := empty()$BSTREE(INT)
+t1 := insert!(8,emptybst)
+insert!(3,t1)
+leaves t
+split(3,t)
+insertRoot: (INT,BSTREE INT) -> BSTREE INT
+insertRoot(x, t) ==
+ a := split(x, t)
+ node(a.less, x, a.greater)
+buildFromRoot ls == reduce(insertRoot,ls,emptybst)
+rt := buildFromRoot reverse lv
+(t = rt)@Boolean
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bug10069.input.pamphlet b/src/input/bug10069.input.pamphlet
new file mode 100644
index 00000000..699bc910
--- /dev/null
+++ b/src/input/bug10069.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bug10069.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+Has to handle failed with a 'case'
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+These functions were missing a case statement that handled the 'failed'
+branch. This has been fixed.
+
+Since these functions are designed to fail during testing we
+have to set the breakmode to resume so Axiom will continue reading
+the input file.
+<<*>>=
+)cl all
+)set break resume
+cot(0.0)
+csc(0.0)
+asec(0.0)
+acsc(0.0)
+asech(0.0)
+acsch(0.0)
+coth(0.0)
+acoth(0.0)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bug10312.input.pamphlet b/src/input/bug10312.input.pamphlet
new file mode 100644
index 00000000..9a8e1b46
--- /dev/null
+++ b/src/input/bug10312.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bug10312.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+Problems raising a UTS to a negative integer power
+
+The code below raises an unnecessary error. The problem
+is in sttaylor.spad/powern, where no distinction between rational and integer powers are made.
+
+The fix is easy. In fact, I just realize that the problem does not exist in SUPS, so we can just take the definition there.
+
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+p:=(1/2+n)::UTS(FRAC INT, 'n, 0)
+(p**(-1))$UTS(FRAC INT, 'n, 0)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bug6357.input.pamphlet b/src/input/bug6357.input.pamphlet
new file mode 100644
index 00000000..b8972fe6
--- /dev/null
+++ b/src/input/bug6357.input.pamphlet
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bug6357.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+-- The original author assumed (roughly) that sqrt(1/x)=1/sqrt(x),
+-- which is wrong (for example,
+-- sqrt(-1/2) = %i/sqrt(2) != 1/(%i*sqrt(2)) = -%i/sqrt(2)
+sqrt(-1/2)
+sqrt(-1/abs(x))-1/sqrt(-abs(x))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bug9057.input.pamphlet b/src/input/bug9057.input.pamphlet
new file mode 100644
index 00000000..099e271a
--- /dev/null
+++ b/src/input/bug9057.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bug9057.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+product over product or sum fails
+
+it might be that the problem is in iidprod in combfunc.spad: if I understand correctly, its last line
+
+ */[eval(first l,k::K,i::F) for i in r1::Z .. r2::Z]
+
+evaluates product's first argument for each value of the product variable and then multiplies the resulting list together. However, for some reason the eval fails. I was unable to find out why eval fails. A hint might be that the operation "summation" is not called anymore. I don't even know which operation "eval" is called...
+
+Same thing for iidsum.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+g:=operator 'g
+f==n+->sum(g(j),j=1..n)
+f(1)
+f==n+->product(sum(1/i,i=1..j),j=1..n)
+f(1)
+f==n+->product(product(1/i,i=1..j),j=1..n)
+f(1)
+f==n+->sum(sum(1/i,i=1..j),j=1..n)
+f(1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/bugs.input.pamphlet b/src/input/bugs.input.pamphlet
new file mode 100644
index 00000000..70852a4e
--- /dev/null
+++ b/src/input/bugs.input.pamphlet
@@ -0,0 +1,342 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input bugs.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{bugs}
+\subsection{bug1}
+MANEXP is invalid as a function
+<<bug1>>=
+draw(x, x=-1..1)
+@
+\subsection{bug2}
+The attributed tree formNILis not a vector
+<<bug2>>=
+{}
+@
+\subsection{bug3}
+The attributed tree formNILis not a vector
+<<bug3>>=
+-- The following still doesn't work
+union({}, {1,2})
+@
+<<bugs>>=
+-- File of Currently active and recently fixed interpreter bugs
+
+--- eval a polynomial with EXPR substitution values
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+
+eq1:= A*x**2 + B*x*y + C*y**2 +D*x + E*y + F
+
+eq2:= eval(eq1,[x= xdot*cos(t) - ydot*sin(t), y=xdot*sin(t) + ydot*cos(t)])
+
+-- UTS coercions. Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+taylor exp x
+
+s := %
+
+s::(UTS(EXPR FLOAT, x, 0))
+s::(UTS(FLOAT, x, 0))
+
+eval(s,1)
+%::(Stream Float)
+
+-- overloading interpreter maps on arity
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+f(x) == x+1
+f(x,y) == x+y
+
+f 3
+f(3,4)
+f(5)
+f(1,x)
+
+-- targetted function requiring a coercion
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+series(n +-> bernoulli(n)/factorial(n), t=0)
+
+-- in-homogeneous list mapping
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+l := [1,2,-1]
+f : INT -> FRAC INT
+f x == x
+map(f, l)
+
+-- Function args to interpreter functions
+--- Fixed by SCM, verified on 10/30/90
+
+)cl all
+f: INT -> INT
+f x == x+1
+u g == g 3
+u f
+
+-- category modemap requiring a field to be constructed
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+groebner [x**2 - y, y**3+1]
+
+-- operations requiring polynomials, passed variables
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+factor x
+<<bug1>>
+
+-- bracket parsing and empty-set types
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+<<bug2>>
+{}$(List INT)
+{1}
+<<bug3>>
+
+-- Shouldn't work, but no longer bombs the interpreter
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+map(variable, [x,y])
+
+-- Recursive map type analysis bug
+--- Fixed by SCM, verified on 10/30/90
+)set fun recur off
+)clear all
+
+p(n,x) == if n=0 then 1 else (x+n-1)*p(n-1,x)
+pp(n,x) == if n=0 then 1 else if n<0 then (-1)**n/p(-n,1-x) else p(n,x)
+pp(-1,x) -- should be 1/(x-1)
+
+-- interpret-code mode for iterators is broken
+
+)cl all
+f n ==
+ for i in 1..n repeat
+ j:=2*i
+ m:SQMATRIX(j,?):=1
+ print m
+g n ==
+ j:=2*n
+ m:SQMATRIX(j,?):=1
+ print m
+
+g 3 -- Should work
+f 3 -- Bombs
+
+-- Test interpreter list destructuring
+
+)clear all
+mp(x,l) ==
+ l is [a,:b] =>
+ a*x**(#b)+ mp(x,b)
+ 0
+
+mp(x, [1,3,4, 2])
+mp(x, [1,2,-3, 4])
+
+-- Tests compilation of recursive functions
+
+)clear all
+
+f1 n ==
+ if n=0 then 1 else if n=1 then 1 else f1(n-1)+f1(n-2)
+
+f2 n ==
+ m:=n
+ if n=0 then 1 else if n=1 then 1 else f2(n-1)+f2(n-2)
+
+f3 n ==
+ n=0 => 1
+ n=1 => 1
+ f3(n-1)+f3(n-2)
+
+f4 n ==
+ m:=n
+ n=0 => 1
+ n=1 => 1
+ m:=n
+ f4(n-1)+f4(n-2)
+
+f5 n == if n=0 or n=1 then 1 else f5(n-1)+f5(n-2)
+
+[f1 3,f2 3, f3 3,f4 3,f5 3]
+@
+<<*>>=
+-- File of Currently active and recently fixed interpreter bugs
+
+--- eval a polynomial with EXPR substitution values
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+
+eq1:= A*x**2 + B*x*y + C*y**2 +D*x + E*y + F
+
+eq2:= eval(eq1,[x= xdot*cos(t) - ydot*sin(t), y=xdot*sin(t) + ydot*cos(t)])
+
+-- UTS coercions. Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+taylor exp x
+
+s := %
+
+s::(UTS(EXPR FLOAT, x, 0))
+s::(UTS(FLOAT, x, 0))
+
+eval(s,1)
+%::(Stream Float)
+
+-- overloading interpreter maps on arity
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+f(x) == x+1
+f(x,y) == x+y
+
+f 3
+f(3,4)
+f(5)
+f(1,x)
+
+-- targetted function requiring a coercion
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+series(n +-> bernoulli(n)/factorial(n), t=0)
+
+-- in-homogeneous list mapping
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+l := [1,2,-1]
+f : INT -> FRAC INT
+f x == x
+map(f, l)
+
+-- Function args to interpreter functions
+--- Fixed by SCM, verified on 10/30/90
+
+)cl all
+f: INT -> INT
+f x == x+1
+u g == g 3
+u f
+
+-- category modemap requiring a field to be constructed
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+groebner [x**2 - y, y**3+1]
+
+-- operations requiring polynomials, passed variables
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+factor x
+
+-- bracket parsing and empty-set types
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+{}$(List INT)
+{1}
+
+-- Shouldn't work, but no longer bombs the interpreter
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+map(variable, [x,y])
+
+-- Recursive map type analysis bug
+--- Fixed by SCM, verified on 10/30/90
+)set fun recur off
+)clear all
+
+p(n,x) == if n=0 then 1 else (x+n-1)*p(n-1,x)
+pp(n,x) == if n=0 then 1 else if n<0 then (-1)**n/p(-n,1-x) else p(n,x)
+pp(-1,x) -- should be 1/(x-1)
+
+-- interpret-code mode for iterators is broken
+
+)cl all
+f n ==
+ for i in 1..n repeat
+ j:=2*i
+ m:SQMATRIX(j,?):=1
+ print m
+g n ==
+ j:=2*n
+ m:SQMATRIX(j,?):=1
+ print m
+
+g 3 -- Should work
+f 3 -- Bombs
+
+-- Test interpreter list destructuring
+
+)clear all
+mp(x,l) ==
+ l is [a,:b] =>
+ a*x**(#b)+ mp(x,b)
+ 0
+
+mp(x, [1,3,4, 2])
+mp(x, [1,2,-3, 4])
+
+-- Tests compilation of recursive functions
+
+)clear all
+
+f1 n ==
+ if n=0 then 1 else if n=1 then 1 else f1(n-1)+f1(n-2)
+
+f2 n ==
+ m:=n
+ if n=0 then 1 else if n=1 then 1 else f2(n-1)+f2(n-2)
+
+f3 n ==
+ n=0 => 1
+ n=1 => 1
+ f3(n-1)+f3(n-2)
+
+f4 n ==
+ m:=n
+ n=0 => 1
+ n=1 => 1
+ m:=n
+ f4(n-1)+f4(n-2)
+
+f5 n == if n=0 or n=1 then 1 else f5(n-1)+f5(n-2)
+
+[f1 3,f2 3, f3 3,f4 3,f5 3]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c02aff.input.pamphlet b/src/input/c02aff.input.pamphlet
new file mode 100644
index 00000000..e1368da3
--- /dev/null
+++ b/src/input/c02aff.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c02aff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+a:Matrix SF:=
+ [[5.0 ,30.0 ,-0.2 ,50.0 ,-2.0 ,10.0 ],_
+ [6.0 ,20.0 ,-6.0 ,100000.0 ,-40.0 ,1.0 ]]
+n:=ncols(a)-1
+scale:=true
+result:=c02aff(a,n,scale,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c02agf.input.pamphlet b/src/input/c02agf.input.pamphlet
new file mode 100644
index 00000000..9f3111c4
--- /dev/null
+++ b/src/input/c02agf.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c02agf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+a:Matrix SF:=
+ [[1.0 ,2.0 ,3.0 ,4.0 ,5.0 ,6.0 ]]
+n:=ncols(a)-1
+scale:=true
+result:=c02agf(a,n,scale,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c05adf.input.pamphlet b/src/input/c05adf.input.pamphlet
new file mode 100644
index 00000000..143b6611
--- /dev/null
+++ b/src/input/c05adf.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c05adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+f:ASP1(F):=exp(-X)-X
+a:SF:=0.0
+b:SF:=1.0
+eps:SF:=1.0e-5
+eta:SF:=0.0
+result:= c05adf(a,b,eps,eta,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c05nbf.input.pamphlet b/src/input/c05nbf.input.pamphlet
new file mode 100644
index 00000000..d0a2ad6a
--- /dev/null
+++ b/src/input/c05nbf.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c05nbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=9
+lwa:=n*(3*n+13)/2
+xtol:SF:=1.0e-9
+fi:ASP6(FCN):=retract vector[_
+ 3*X[1] - 2*X[1]**2 - 2*X[2] + 1,_
+ -X[1] + 3*X[2] - 2*X[2]**2 - 2*X[3] + 1,_
+ -X[2] + 3*X[3] - 2*X[3]**2 - 2*X[4] + 1,_
+ -X[3] + 3*X[4] - 2*X[4]**2 - 2*X[5] + 1,_
+ -X[4] + 3*X[5] - 2*X[5]**2 - 2*X[6] + 1,_
+ -X[5] + 3*X[6] - 2*X[6]**2 - 2*X[7] + 1,_
+ -X[6] + 3*X[7] - 2*X[7]**2 - 2*X[8] + 1,_
+ -X[7] + 3*X[8] - 2*X[8]**2 - 2*X[9] + 1,_
+ -X[8] + 3*X[9] - 2*X[9]**2 + 1]
+x:Matrix SF:=
+ [[-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ]]
+result:=c05nbf(n,lwa,x,xtol,-1,fi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c05pbf.input.pamphlet b/src/input/c05pbf.input.pamphlet
new file mode 100644
index 00000000..44a33652
--- /dev/null
+++ b/src/input/c05pbf.input.pamphlet
@@ -0,0 +1,44 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c05pbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=9
+ldfjac:=n
+lwa:=n*(n+13)/2
+xtol:SF:=1.0e-9
+x:Matrix SF:=
+ [[-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ,-1.0 ]]
+fcn:ASP35(FCN):=retract vector[_
+3*X[1] - 2*X[1]**2 - 2*X[2] + 1,_
+-X[1] + 3*X[2] - 2*X[2]**2 - 2*X[3] + 1,_
+-X[2] + 3*X[3] - 2*X[3]**2 - 2*X[4] + 1,_
+-X[3] + 3*X[4] - 2*X[4]**2 - 2*X[5] + 1,_
+-X[4] + 3*X[5] - 2*X[5]**2 - 2*X[6] + 1,_
+-X[5] + 3*X[6] - 2*X[6]**2 - 2*X[7] + 1,_
+-X[6] + 3*X[7] - 2*X[7]**2 - 2*X[8] + 1,_
+-X[7] + 3*X[8] - 2*X[8]**2 - 2*X[9] + 1,_
+-X[8] + 3*X[9] - 2*X[9]**2 + 1]
+result:=c05pbf(n,ldfjac,lwa,x,xtol,-1,fcn)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06eaf.input.pamphlet b/src/input/c06eaf.input.pamphlet
new file mode 100644
index 00000000..8aa6d37b
--- /dev/null
+++ b/src/input/c06eaf.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06aef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.34907 ,0.54890 ,0.74776 ,0.94459 ,1.13850 ,1.32850 ,1.51370 ]]
+n:=ncols x
+result:=c06eaf(n,x,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06ebf.input.pamphlet b/src/input/c06ebf.input.pamphlet
new file mode 100644
index 00000000..8d131503
--- /dev/null
+++ b/src/input/c06ebf.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06ebf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.34907 ,0.54890 ,0.74776 ,0.94459 ,1.13850 ,1.32850 ,1.51370 ]]
+n:=ncols x
+result:=c06ebf(n,x,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06ecf.input.pamphlet b/src/input/c06ecf.input.pamphlet
new file mode 100644
index 00000000..09953421
--- /dev/null
+++ b/src/input/c06ecf.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06ecf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.34907 ,0.54890 ,0.74776 ,0.94459 ,1.13850 ,1.32850 ,1.51370 ]]
+y:Matrix SF:=
+ [[-0.37168 ,-0.35669 ,-0.31175 ,-0.23702 ,-0.13274 ,0.00074 ,0.16298 ]]
+n:=ncols x
+result:=c06ecf(n,x,y,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06ekf.input.pamphlet b/src/input/c06ekf.input.pamphlet
new file mode 100644
index 00000000..ad89d548
--- /dev/null
+++ b/src/input/c06ekf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06ekf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[1.00 ,1.00 ,1.00 ,1.00 ,1.00 ,0.00 ,0.00 ,0.00 ,0.00 ]]
+y:Matrix SF:=
+ [[0.50 ,0.50 ,0.50 ,0.50 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ]]
+n:=ncols x
+job:=1
+c06ekf(job,n,x,y,-1)
+job:=2
+result:=c06ekf(job,n,x,y,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06fpf.input.pamphlet b/src/input/c06fpf.input.pamphlet
new file mode 100644
index 00000000..e4633c86
--- /dev/null
+++ b/src/input/c06fpf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06fpf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.3854 ,0.6772 ,0.1138 ,0.6751 ,0.6362 ,0.1424] ,_
+ [0.5417 ,0.2983 ,0.1181 ,0.7255 ,0.8638 ,0.8723] ,_
+ [0.9172 ,0.0644 ,0.6037 ,0.6430 ,0.0428 ,0.4815 ]]
+m:=nrows x
+n:=ncols x
+trig:Matrix SF:=new(1,2*n,0.0@SF)
+init:="i"
+result:=c06fpf(m,n,init,x,trig,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06fqf.input.pamphlet b/src/input/c06fqf.input.pamphlet
new file mode 100644
index 00000000..920d6ca2
--- /dev/null
+++ b/src/input/c06fqf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06fqf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.3854 ,0.6772 ,0.1138 ,0.6751 ,0.6362 ,0.1424],_
+ [0.5417 ,0.2983 ,0.1181 ,0.7255 ,0.8638 ,0.8723],_
+ [0.9172 ,0.0644 ,0.6037 ,0.6430 ,0.0428 ,0.4815 ]]
+m:=nrows x
+n:=ncols x
+trig:Matrix SF:=new(1,2*n,0.0@SF)
+init:="i"
+result:=c06fqf(m,n,init,x,trig,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06frf.input.pamphlet b/src/input/c06frf.input.pamphlet
new file mode 100644
index 00000000..3fb04627
--- /dev/null
+++ b/src/input/c06frf.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06frf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.3854 ,0.6772 ,0.1138 ,0.6751 ,0.6362 ,0.1424],_
+ [0.9172 ,0.0644 ,0.6037 ,0.6430 ,0.0428 ,0.4815],_
+ [0.1156 ,0.0685 ,0.2060 ,0.8630 ,0.6967 ,0.2792 ]]
+y:Matrix SF:=
+ [[0.5417, 0.2983, 0.1181 ,0.7255 ,0.8638 ,0.8723],_
+ [0.9089, 0.3118, 0.3465 ,0.6198, 0.2668, 0.1614],_
+ [0.6214, 0.8681, 0.7060 ,0.8652, 0.9190, 0.3355 ]]
+m:=nrows x
+n:=ncols x
+trig:Matrix SF:=new(1,2*n,0.0@SF)
+init:="i"
+result:=c06frf(m,n,init,x,y,trig,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06fuf.input.pamphlet b/src/input/c06fuf.input.pamphlet
new file mode 100644
index 00000000..c3bca823
--- /dev/null
+++ b/src/input/c06fuf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06fuf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[1.000,0.999,0.987,0.936,0.802],_
+ [0.994,0.989,0.963,0.891,0.731],_
+ [0.903,0.885,0.823,0.694,0.467]]
+y:Matrix SF:=
+ [[0.000,-0.040,-0.159,-0.352,-0.597],_
+ [-0.111,-0.151,-0.268,-0.454,-0.682],_
+ [-0.430,-0.466,-0.568,-0.720,-0.884]]
+n:=ncols x
+m:=nrows x
+trigm:Matrix SF:=new(1,2*m,0.0@SF)
+trign:Matrix SF:=new(1,2*n,0.0@SF)
+init:="i"
+result:=c06fuf(m,n,init,x,y,trigm,trign,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06gbf.input.pamphlet b/src/input/c06gbf.input.pamphlet
new file mode 100644
index 00000000..98d4225e
--- /dev/null
+++ b/src/input/c06gbf.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06gbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.34907 ,0.54890 ,0.74776 ,0.94459 ,1.13850 ,1.32850 ,1.51370 ]]
+n:=ncols x
+result:=c06gbf(n,x,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06gcf.input.pamphlet b/src/input/c06gcf.input.pamphlet
new file mode 100644
index 00000000..96b1dfbb
--- /dev/null
+++ b/src/input/c06gcf.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06gcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+y:Matrix SF:=
+ [[-0.37168 ,-0.35669 ,-0.31175 ,-0.23702 ,0.00074 ,0.16298 ,1.51370 ]]
+n:=ncols y
+result:=c06gcf(n,y,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06gqf.input.pamphlet b/src/input/c06gqf.input.pamphlet
new file mode 100644
index 00000000..e1516b54
--- /dev/null
+++ b/src/input/c06gqf.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06gqf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.3854 ,0.6772 ,0.1138 ,0.6751 ,0.6362 ,0.1424],_
+ [0.5417 ,0.2983 ,0.1181 ,0.7255 ,0.8638 ,0.8723],_
+ [0.9172 ,0.0644 ,0.6037 ,0.6430 ,0.0428 ,0.4815 ]]
+m:=nrows x
+n:=ncols x
+result:=c06gqf(m,n,x,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/c06gsf.input.pamphlet b/src/input/c06gsf.input.pamphlet
new file mode 100644
index 00000000..8649441d
--- /dev/null
+++ b/src/input/c06gsf.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input c06gsf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+x:Matrix SF:=
+ [[0.3854 ,0.6772 ,0.1138 ,0.6751 ,0.6362 ,0.1424],_
+ [0.5417 ,0.2983 ,0.1181 ,0.7255 ,0.8638 ,0.8723],_
+ [0.9172 ,0.0644 ,0.6037 ,0.6430 ,0.0428 ,0.4815 ]]
+m:=nrows x
+n:=ncols x
+result:=c06gsf(m,n,x,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/calculus.input.pamphlet b/src/input/calculus.input.pamphlet
new file mode 100644
index 00000000..362598ea
--- /dev/null
+++ b/src/input/calculus.input.pamphlet
@@ -0,0 +1,61 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input calculus.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{bugs}
+\subsection{bug1}
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- Input for page FormalDerivativePage
+)clear all
+
+differentiate(f, x)
+f := operator f
+x := operator x
+y := operator y
+a := f(x z, y z, z**2) + x y(z+1)
+dadz := differentiate(a, z)
+eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))
+eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))
+differentiate(%, z)
+
+-- Input for page LaplacePage
+)clear all
+
+sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t)
+laplace(%, t, s)
+laplace((exp(a*t) - exp(b*t))/t, t, s)
+laplace(2/t * (1 - cos(a*t)), t, s)
+laplace(exp(-a*t) * sin(b*t) / b**2, t, s)
+laplace((cos(a*t) - cos(b*t))/t, t, s)
+laplace(exp(a*t+b)*Ei(c*t), t, s)
+laplace(a*Ci(b*t) + c*Si(d*t), t, s)
+laplace(sin(a*t) - a*t*cos(a*t) + exp(t**2), t, s)
+
+-- Input for page DerivativePage
+)clear all
+
+f := exp exp x
+differentiate(f, x)
+differentiate(f, x, 4)
+g := sin(x**2 + y)
+differentiate(g, y)
+differentiate(g, [y, y, x, x])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/calculus2.input.pamphlet b/src/input/calculus2.input.pamphlet
new file mode 100644
index 00000000..f90b9303
--- /dev/null
+++ b/src/input/calculus2.input.pamphlet
@@ -0,0 +1,359 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input calculus2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{bugs}
+\subsection{bug1}
+exp: series expansion involves transcendental constants
+<<bug1>>=
+exp(2 + tan(y))
+@
+<<bugs>>=
+
+-- Input for page FormalDerivativePage
+)clear all
+
+differentiate(f, x)
+f := operator f
+x := operator x
+y := operator y
+a := f(x z, y z, z**2) + x y(z+1)
+dadz := differentiate(a, z)
+eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))
+eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))
+differentiate(%, z)
+
+-- Input for page SeriesArithmeticPage
+)clear all
+
+x := series x
+num := 3 + x
+den := 1 + 7 * x
+num / den
+base := 1 / (1 - x)
+expon := x * base
+base ** expon
+
+-- Input for page SeriesConversionPage
+)clear all
+
+f := sin(a*x)
+series(f,x = 0)
+g := y / (exp(y) - 1)
+series(g)
+h := sin(3*x)
+series(h,x,x = %pi/12)
+series(sqrt(tan(a*x)),x = 0)
+series(sec(x) ** 2,x = %pi/2)
+bern := t * exp(t*x) / (exp(t) - 1)
+series(bern,t = 0)
+
+-- Input for page SeriesDifferentialEquationPage
+)clear all
+
+)set streams calculate 7
+y := operator 'y
+eq := differentiate(y(x), x, 3) - sin(differentiate(y(x), x, 2)) * exp(y(x)) = cos(x)
+seriesSolve(eq, y, x = 0, [1, 0, 0])
+x := operator 'x
+eq1 := differentiate(x(t), t) = 1 + x(t)**2
+eq2 := differentiate(y(t), t) = x(t) * y(t)
+seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])
+
+-- Input for page LaplacePage
+)clear all
+
+sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t)
+laplace(%, t, s)
+laplace((exp(a*t) - exp(b*t))/t, t, s)
+laplace(2/t * (1 - cos(a*t)), t, s)
+laplace(exp(-a*t) * sin(b*t) / b**2, t, s)
+laplace((cos(a*t) - cos(b*t))/t, t, s)
+laplace(exp(a*t+b)*ei(c*t), t, s)
+laplace(a*ci(b*t) + c*si(d*t), t, s)
+laplace(sin(a*t) - a*t*cos(a*t) + exp(t**2), t, s)
+
+-- Input for page SeriesCoefficientPage
+)clear all
+
+x := series(x)
+y := exp(x) * sin(x)
+coefficient(y,6)
+coefficient(y,15)
+y
+
+-- Input for page SymbolicIntegrationPage
+)clear all
+
+f := (x**2+2*x+1) / (x**6+6*x**5+15*x**4+20*x**3+15*x**2+6*x+2)
+integrate(f, x)
+g := log(1 + sqrt(a * x + b)) / x
+integrate(g, x)
+integrate(1/(x**2 - 2),x)
+integrate(1/(x**2 + 2),x)
+h := x**2 / (x**4 - a**2)
+integrate(h, x)
+complexIntegrate(h, x)
+expandLog %
+rootSimp %
+ratForm %
+
+-- Input for page DerivativePage
+)clear all
+
+f := exp exp x
+differentiate(f, x)
+differentiate(f, x, 4)
+g := sin(x**2 + y)
+differentiate(g, y)
+differentiate(g, [y, y, x, x])
+
+-- Input for page SeriesFormulaPage
+)clear all
+
+taylor(n +-> 1/factorial(n),x = 0)
+taylor(n +-> (-1)**(n-1)/n,x = 1,1..)
+taylor(n +-> (-1)**(n-1)/n,x = 1,1..7)
+laurent(n +-> (-1)**(n-1)/(n + 2),x = 1,-1..)
+puiseux(i +-> (-1)**((i-1)/2)/factorial(i),x = 0,1..,2)
+puiseux(j +-> j**2,x = 8,-4/3..,1/2)
+series(n +-> 1/factorial(n),x = 0)
+series(n +-> (-1)**(n - 1)/(n + 2),x = 1,-1..)
+series(i +-> (-1)**((i - 1)/2)/factorial(i),x = 0,1..,2)
+
+-- Input for page SeriesCreationPage
+)clear all
+
+x := series x
+1/(1 - x - x**2)
+sin(x)
+sin(1 + x)
+sin(a * x)
+series(1/log(y),y = 1)
+f : UTS(FLOAT,z,0) := exp(z)
+series(1/factorial(n),n,w = 0)
+
+-- Input for page SeriesFunctionPage
+)clear all
+
+x := series x
+rat := x**2 / (1 - 6*x + x**2)
+sin(rat)
+y : UTS(FRAC INT,y,0) := y
+exp(y)
+tan(y**2)
+cos(y + y**5)
+log(1 + sin(y))
+<<bug1>>
+z : UTS(EXPR INT,z,0) := z
+exp(2 + tan(z))
+w := taylor w
+exp(2 + tan(w))
+
+-- Input for page LimitPage
+)clear all
+
+f := sin(a*x) / tan(b*x)
+limit(f,x=0)
+g := csc(a*x) / csch(b*x)
+limit(g,x=0)
+h := (1 + k/x)**x
+limit(h,x=%plusInfinity)
+
+-- Input for page SeriesBernoulliPage
+)clear all
+
+reduce(+,[m**4 for m in 1..10])
+sum4 := sum(m**4, m = 1..k)
+eval(sum4, k = 10)
+f := t*exp(x*t) / (exp(t) - 1)
+)set streams calculate 5
+ff := taylor(f,t = 0)
+factorial(6) * coefficient(ff,6)
+g := eval(f, x = x + 1) - f
+normalize(g)
+taylor(g,t = 0)
+B5 := factorial(5) * coefficient(ff,5)
+1/5 * (eval(B5, x = k + 1) - eval(B5, x = 1))
+sum4
+@
+<<*>>=
+
+-- Input for page FormalDerivativePage
+)clear all
+
+differentiate(f, x)
+f := operator f
+x := operator x
+y := operator y
+a := f(x z, y z, z**2) + x y(z+1)
+dadz := differentiate(a, z)
+eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))
+eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))
+differentiate(%, z)
+
+-- Input for page SeriesArithmeticPage
+)clear all
+
+x := series x
+num := 3 + x
+den := 1 + 7 * x
+num / den
+base := 1 / (1 - x)
+expon := x * base
+base ** expon
+
+-- Input for page SeriesConversionPage
+)clear all
+
+f := sin(a*x)
+series(f,x = 0)
+g := y / (exp(y) - 1)
+series(g)
+h := sin(3*x)
+series(h,x,x = %pi/12)
+series(sqrt(tan(a*x)),x = 0)
+series(sec(x) ** 2,x = %pi/2)
+bern := t * exp(t*x) / (exp(t) - 1)
+series(bern,t = 0)
+
+-- Input for page SeriesDifferentialEquationPage
+)clear all
+
+)set streams calculate 7
+y := operator 'y
+eq := differentiate(y(x), x, 3) - sin(differentiate(y(x), x, 2)) * exp(y(x)) = cos(x)
+seriesSolve(eq, y, x = 0, [1, 0, 0])
+x := operator 'x
+eq1 := differentiate(x(t), t) = 1 + x(t)**2
+eq2 := differentiate(y(t), t) = x(t) * y(t)
+seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])
+
+-- Input for page LaplacePage
+)clear all
+
+sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t)
+laplace(%, t, s)
+laplace((exp(a*t) - exp(b*t))/t, t, s)
+laplace(2/t * (1 - cos(a*t)), t, s)
+laplace(exp(-a*t) * sin(b*t) / b**2, t, s)
+laplace((cos(a*t) - cos(b*t))/t, t, s)
+laplace(exp(a*t+b)*ei(c*t), t, s)
+laplace(a*ci(b*t) + c*si(d*t), t, s)
+laplace(sin(a*t) - a*t*cos(a*t) + exp(t**2), t, s)
+
+-- Input for page SeriesCoefficientPage
+)clear all
+
+x := series(x)
+y := exp(x) * sin(x)
+coefficient(y,6)
+coefficient(y,15)
+y
+
+-- Input for page SymbolicIntegrationPage
+)clear all
+
+f := (x**2+2*x+1) / (x**6+6*x**5+15*x**4+20*x**3+15*x**2+6*x+2)
+integrate(f, x)
+g := log(1 + sqrt(a * x + b)) / x
+integrate(g, x)
+integrate(1/(x**2 - 2),x)
+integrate(1/(x**2 + 2),x)
+h := x**2 / (x**4 - a**2)
+integrate(h, x)
+complexIntegrate(h, x)
+expandLog %
+rootSimp %
+ratForm %
+
+-- Input for page DerivativePage
+)clear all
+
+f := exp exp x
+differentiate(f, x)
+differentiate(f, x, 4)
+g := sin(x**2 + y)
+differentiate(g, y)
+differentiate(g, [y, y, x, x])
+
+-- Input for page SeriesFormulaPage
+)clear all
+
+taylor(n +-> 1/factorial(n),x = 0)
+taylor(n +-> (-1)**(n-1)/n,x = 1,1..)
+taylor(n +-> (-1)**(n-1)/n,x = 1,1..7)
+laurent(n +-> (-1)**(n-1)/(n + 2),x = 1,-1..)
+puiseux(i +-> (-1)**((i-1)/2)/factorial(i),x = 0,1..,2)
+puiseux(j +-> j**2,x = 8,-4/3..,1/2)
+series(n +-> 1/factorial(n),x = 0)
+series(n +-> (-1)**(n - 1)/(n + 2),x = 1,-1..)
+series(i +-> (-1)**((i - 1)/2)/factorial(i),x = 0,1..,2)
+
+-- Input for page SeriesCreationPage
+)clear all
+
+x := series x
+1/(1 - x - x**2)
+sin(x)
+sin(1 + x)
+sin(a * x)
+series(1/log(y),y = 1)
+f : UTS(FLOAT,z,0) := exp(z)
+series(1/factorial(n),n,w = 0)
+
+-- Input for page SeriesFunctionPage
+)clear all
+
+x := series x
+rat := x**2 / (1 - 6*x + x**2)
+sin(rat)
+y : UTS(FRAC INT,y,0) := y
+exp(y)
+tan(y**2)
+cos(y + y**5)
+log(1 + sin(y))
+z : UTS(EXPR INT,z,0) := z
+exp(2 + tan(z))
+w := taylor w
+exp(2 + tan(w))
+
+-- Input for page LimitPage
+)clear all
+
+f := sin(a*x) / tan(b*x)
+limit(f,x=0)
+g := csc(a*x) / csch(b*x)
+limit(g,x=0)
+h := (1 + k/x)**x
+limit(h,x=%plusInfinity)
+
+-- Input for page SeriesBernoulliPage
+)clear all
+
+reduce(+,[m**4 for m in 1..10])
+sum4 := sum(m**4, m = 1..k)
+eval(sum4, k = 10)
+f := t*exp(x*t) / (exp(t) - 1)
+)set streams calculate 5
+ff := taylor(f,t = 0)
+factorial(6) * coefficient(ff,6)
+g := eval(f, x = x + 1) - f
+normalize(g)
+taylor(g,t = 0)
+B5 := factorial(5) * coefficient(ff,5)
+1/5 * (eval(B5, x = k + 1) - eval(B5, x = 1))
+sum4
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/card.input.pamphlet b/src/input/card.input.pamphlet
new file mode 100644
index 00000000..af18d2ab
--- /dev/null
+++ b/src/input/card.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input CARD.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from CardinalNumberXmpPage
+)clear all
+
+c0 := 0 :: CardinalNumber
+c1 := 1 :: CardinalNumber
+c2 := 2 :: CardinalNumber
+c3 := 3 :: CardinalNumber
+A0 := Aleph 0
+A1 := Aleph 1
+finite? c2
+finite? A0
+countable? c2
+countable? A0
+countable? A1
+[c2 + c2, c2 + A1]
+[c0*c2, c1*c2, c2*c2, c0*A1, c1*A1, c2*A1, A0*A1]
+[c2**c0, c2**c1, c2**c2, A1**c0, A1**c1, A1**c2]
+[c2-c1, c2-c2, c2-c3, A1-c2, A1-A0, A1-A1]
+generalizedContinuumHypothesisAssumed true
+[c0**A0, c1**A0, c2**A0, A0**A0, A0**A1, A1**A0, A1**A1]
+a := Aleph 0
+c := 2**a
+f := 2**c
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cardinal.input.pamphlet b/src/input/cardinal.input.pamphlet
new file mode 100644
index 00000000..7c800f85
--- /dev/null
+++ b/src/input/cardinal.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input cardinal.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+(c0, c1, c2, c3, A0, A1): CardinalNumber
+c0 := 0::NNI
+c1 := 1::NNI
+c2 := 2::NNI
+c3 := 3::NNI
+A0 := Aleph 0
+A1 := Aleph 1
+[finite? c2, finite? A0]
+[finite? c2, finite? A0]
+[countable? c2, countable? A0, countable? A1]
+[c2 + c2, c2 + A1]
+[c2 - c1, c2 - c2, c2 - c3, A1 - c2, A1 - A0, A1 - A1]
+[c0 * c2, c1 * c2, c2 * c2, c0 * A1, c1 * A1, c2 * A1, A0 * A1]
+[c2**c0, c2**c1, c2**c2, A1**c0, A1**c1, A1**c2]
+generalizedContinuumHypothesisAssumed true
+[c0**A0, c1**A0, c2**A0, A0**A0, A0**A1, A1**A0, A1**A1]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/carten.input.pamphlet b/src/input/carten.input.pamphlet
new file mode 100644
index 00000000..444c6391
--- /dev/null
+++ b/src/input/carten.input.pamphlet
@@ -0,0 +1,70 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input CARTEN.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from CartesianTensorXmpPage
+)clear all
+
+CT := CARTEN(i0 := 1, 2, Integer)
+t0: CT := 8
+rank t0
+v: DirectProduct(2, Integer) := directProduct [3,4]
+Tv: CT := v
+m: SquareMatrix(2, Integer) := matrix [[1,2],[4,5]]
+Tm: CT := m
+n: SquareMatrix(2, Integer) := matrix [[2,3],[0,1]]
+Tn: CT := n
+t1: CT := [2, 3]
+rank t1
+t2: CT := [t1, t1]
+t3: CT := [t2, t2]
+tt: CT := [t3, t3]; tt := [tt, tt]
+rank tt
+Tmn := product(Tm, Tn)
+Tmv := contract(Tm,2,Tv,1)
+Tm*Tv
+Tmv = m * v
+t0()
+t1(1+1)
+t2(2,1)
+t3(2,1,2)
+Tmn(2,1,2,1)
+t0[]
+t1[2]
+t2[2,1]
+t3[2,1,2]
+Tmn[2,1,2,1]
+cTmn := contract(Tmn,1,2)
+trace(m) * n
+contract(Tmn,1,2) = trace(m) * n
+contract(Tmn,1,3) = transpose(m) * n
+contract(Tmn,1,4) = transpose(m) * transpose(n)
+contract(Tmn,2,3) = m * n
+contract(Tmn,2,4) = m * transpose(n)
+contract(Tmn,3,4) = trace(n) * m
+tTmn := transpose(Tmn,1,3)
+transpose Tmn
+transpose Tm = transpose m
+rTmn := reindex(Tmn, [1,4,2,3])
+tt := transpose(Tm)*Tn - Tn*transpose(Tm)
+Tv*(tt+Tn)
+reindex(product(Tn,Tn),[4,3,2,1])+3*Tn*product(Tm,Tm)
+delta: CT := kroneckerDelta()
+contract(Tmn, 2, delta, 1) = reindex(Tmn, [1,3,4,2])
+epsilon:CT := leviCivitaSymbol()
+contract(epsilon*Tm*epsilon, 1,2) = 2 * determinant m
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cclass.input.pamphlet b/src/input/cclass.input.pamphlet
new file mode 100644
index 00000000..b5e6ca74
--- /dev/null
+++ b/src/input/cclass.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input CCLASS.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from CharacterClassXmpPage
+)clear all
+
+cl1 := charClass [char "a", char "e", char "i", char "o", char "u", char "y"]
+cl2 := charClass "bcdfghjklmnpqrstvwxyz"
+digit()
+hexDigit()
+upperCase()
+lowerCase()
+alphabetic()
+alphanumeric()
+member?(char "a", cl1)
+member?(char "a", cl2)
+intersect(cl1, cl2)
+union(cl1,cl2)
+difference(cl1,cl2)
+intersect(complement(cl1),cl2)
+insert!(char "a", cl2)
+remove!(char "b", cl2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cdraw.input.pamphlet b/src/input/cdraw.input.pamphlet
new file mode 100644
index 00000000..8d07d8a0
--- /dev/null
+++ b/src/input/cdraw.input.pamphlet
@@ -0,0 +1,164 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input cdraw.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- complex surface and vector field drawing by SCM
+-- complex surface vector field drawing
+
+C := Complex DoubleFloat
+S := Segment DoubleFloat
+PC := Record(rr:DoubleFloat, th:DoubleFloat)
+
+realSteps: PI := 25 -- the number of steps in the real direction
+imagSteps: PI := 25 -- the number of steps in the imaginary direction
+clipValue: DoubleFloat := 10 -- the maximum length of a vector to draw
+
+
+-- Draw a complex function as a height field
+-- uses the complex norm as the height and the complex argument as the color
+-- optionally it will draw arrows on the surface indicating the direction
+-- of the complex argument
+
+-- sample call:
+-- f: C -> C
+-- f z == exp(1/z)
+-- drawComplex(f, 0.3..3, 0..2*%pi, false)
+
+-- parameter descriptions:
+-- f: the function to draw
+-- rRange: the range of the real values
+-- imagRange: the range of imaginary values
+drawComplex(f: C -> C, realRange: S, imagRange: S): VIEW3D ==
+ free realSteps, imagSteps
+ delReal := (hi(realRange) - lo(realRange))/realSteps
+ delImag := (hi(imagRange) - lo(imagRange))/imagSteps
+ funTable: ARRAY2(PC) := new(realSteps+1, imagSteps+1, [0,0]$PC)
+ real := lo(realRange)
+ for i in 1..realSteps+1 repeat
+ imag := lo(imagRange)
+ for j in 1..imagSteps+1 repeat
+ z := f complex(real, imag)
+ funTable(i,j) := [clipFun(sqrt norm z), argument(z)]$PC
+ imag := imag + delImag
+ real := real + delReal
+ llp:List List Point DoubleFloat := []
+ real := lo(realRange)
+ for i in 1..realSteps+1 repeat
+ imag := lo(imagRange)
+ lp:List Point DoubleFloat := []
+ for j in 1..imagSteps+1 repeat
+ lp := cons(point [real,imag, funTable(i,j).rr,
+ funTable(i,j).th] ,lp)
+ imag := imag + delImag
+ real := real + delReal
+ llp := cons(reverse! lp, llp)
+ llp := reverse! llp
+ space := mesh(llp)$ThreeSpace(DoubleFloat)
+ makeViewport3D(space, "Complex Function")$VIEW3D
+
+-- draw a complex vector field
+-- these vector fields should be viewed from the top by pressing the
+-- "XY" translate button on the VIEW3D control panel
+
+-- parameters:
+-- f: the mapping from C to C which we will draw
+-- realRange: the range of the reals
+-- tRange: the range of the imaginaries
+
+-- sample call:
+-- f z == sin z
+-- drawComplexVectorField(f, -2..2, -2..2)
+-- call the functions 'setRealSteps' and 'setImagSteps' to change the
+-- number of arrows drawn in each direction.
+
+drawComplexVectorField(f: C -> C, realRange: S, imagRange: S): VIEW3D ==
+ -- compute the steps size of the grid
+ delReal := (hi(realRange) - lo(realRange))/realSteps
+ delImag := (hi(imagRange) - lo(imagRange))/imagSteps
+ -- create the space to hold the arrows
+ space := create3Space()$ThreeSpace DoubleFloat
+ real := lo(realRange)
+ for i in 1..realSteps+1 repeat
+ imag := lo(imagRange)
+ for j in 1..imagSteps+1 repeat
+ -- compute the function
+ z := f complex(real, imag)
+ -- get the direction of the arrow
+ arg := argument z
+ -- get the length of the arrow
+ len := clipFun(sqrt norm z)
+ -- create point at the base of the arrow
+ p1 := point [real, imag, 0.0@DoubleFloat, arg]
+ -- scale the arrow length so it isn't too long
+ scaleLen := delReal * len
+ -- create the point at the top of the arrow
+ p2 := point [p1.1 + scaleLen*cos(arg), p1.2 + scaleLen*sin(arg),
+ 0.0@DoubleFloat, arg]
+ -- make the pointer at the top of the arrow
+ arrow := makeArrow(p1, p2, scaleLen, arg)
+ -- add the line segments in the arrow to the space
+ for a in arrow repeat curve(space, a)$ThreeSpace DoubleFloat
+ imag := imag + delImag
+ real := real + delReal
+ -- draw the vector feild
+ makeViewport3D(space, "Complex Vector Field")$VIEW3D
+
+-- relative size of the arrow head compared to the length of the arrow
+arrowScale := 0.25@DoubleFloat
+
+-- angle of the arrow head
+arrowAngle := %pi-%pi/10.0@DoubleFloat
+
+-- Add an arrow head to a line segment, which starts at 'p1', ends at 'p2',
+-- has length 'len', and and angle 'arg'. We pass 'len' and 'arg' as
+-- arguments since thet were already computed by the calling program
+makeArrow(p1, p2, len, arg) ==
+ c1 := cos(arg + arrowAngle)
+ s1 := sin(arg + arrowAngle)
+ c2 := cos(arg - arrowAngle)
+ s2 := sin(arg - arrowAngle)
+ p3 := point [p2.1 + c1*arrowScale*len, p2.2 + s1*arrowScale*len,
+ p2.3, p2.4]
+ p4 := point [p2.1 + c2*arrowScale*len, p2.2 + s2*arrowScale*len,
+ p2.3, p2.4]
+ [[p1, p2, p3], [p2, p4]]
+
+-- set the number of steps to use in the real direction
+setRealSteps(n) ==
+ free realSteps
+ realSteps := n
+
+-- set the number of steps to use in the imaginary direction
+setImagSteps(n) ==
+ free imagSteps
+ imagSteps := n
+
+-- set the maximum length of a vector
+setClipValue clip ==
+ free clipValue
+ clipValue := clip
+
+-- clip a value in the interval (-clip...clip)
+clipFun(x:DoubleFloat):DoubleFloat ==
+ min(max(x, -clipValue), clipValue)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ch.input.pamphlet b/src/input/ch.input.pamphlet
new file mode 100644
index 00000000..d9bee69b
--- /dev/null
+++ b/src/input/ch.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ch.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+--Cyclohexan
+
+mfzn : SQMATRIX(6,DMP([x,y,z],Fraction INT)) :=_
+ [[0,1,1,1,1,1],[1,0,1,8/3,x,8/3],[1,1,0,1,8/3,y],_
+ [1,8/3,1,0,1,8/3],[1,x,8/3,1,0,1],[1,8/3,y,8/3,1,0]]
+fzn := determinant mfzn
+mfxn : SQMATRIX(6,DMP([x,y,z],Fraction Integer)) :=_
+ [[0,1,1,1,1,1],[1,0,1,8/3,y,8/3],[1,1,0,1,8/3,z],_
+ [1,8/3,1,0,1,8/3],[1,y,8/3,1,0,1],[1,8/3,z,8/3,1,0]]
+fxn := determinant mfxn
+mfyn : SQMATRIX(6,DMP([x,y,z],Fraction Integer)) :=_
+ [[0,1,1,1,1,1],[1,0,1,8/3,z,8/3],[1,1,0,1,8/3,x],_
+ [1,8/3,1,0,1,8/3],[1,z,8/3,1,0,1],[1,8/3,x,8/3,1,0]]
+fyn := determinant mfyn
+gb := groebnerFactorize [fxn,fyn,fzn]
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/char.input.pamphlet b/src/input/char.input.pamphlet
new file mode 100644
index 00000000..a5f91ab3
--- /dev/null
+++ b/src/input/char.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input CHAR.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from CharacterXmpPage
+)clear all
+
+chars := [char "a", char "A", char "X", char "8", char "+"]
+space()
+quote()
+escape()
+[ord c for c in chars]
+[upperCase c for c in chars]
+[lowerCase c for c in chars]
+[alphabetic? c for c in chars]
+[upperCase? c for c in chars]
+[lowerCase? c for c in chars]
+[digit? c for c in chars]
+[hexDigit? c for c in chars]
+[alphanumeric? c for c in chars]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/clif.input.pamphlet b/src/input/clif.input.pamphlet
new file mode 100644
index 00000000..25d6c0ad
--- /dev/null
+++ b/src/input/clif.input.pamphlet
@@ -0,0 +1,73 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input CLIF.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- Input generated from CliffordAlgebraXmpPage
+)clear all
+
+
+-- Input generated from ugxCliffordComplexPage
+)clear all
+
+K := Fraction Polynomial Integer
+m := matrix [[-1]]
+C := CliffordAlgebra(1, K, quadraticForm m)
+i: C := e(1)
+x := a + b * i
+y := c + d * i
+x * y
+
+-- Input generated from ugxCliffordQuaternPage
+)clear all
+
+K := Fraction Polynomial Integer
+m := matrix [[-1,0],[0,-1]]
+H := CliffordAlgebra(2, K, quadraticForm m)
+i: H := e(1)
+j: H := e(2)
+k: H := i * j
+x := a + b * i + c * j + d * k
+y := e + f * i + g * j + h * k
+x + y
+x * y
+y * x
+
+-- Input generated from ugxCliffordExteriorPage
+)clear all
+
+K := Fraction Polynomial Integer
+Ext := CliffordAlgebra(3, K, quadraticForm 0)
+i: Ext := e(1)
+j: Ext := e(2)
+k: Ext := e(3)
+x := x1*i + x2*j + x3*k
+y := y1*i + y2*j + y3*k
+x + y
+x * y + y * x
+dual2 a == coefficient(a,[2,3]) * i + coefficient(a,[3,1]) * j + coefficient(a,[1,2]) * k
+dual2(x*y)
+
+-- Input generated from ugxCliffordDiracPage
+)clear all
+
+K := Fraction Integer
+g := matrix [[1,0,0,0], [0,-1,0,0], [0,0,-1,0], [0,0,0,-1]]
+D := CliffordAlgebra(4,K, quadraticForm g)
+gam := [e(i)$D for i in 1..4]
+m := 1; n:= 2; r := 3; s := 4;
+lhs := reduce(+, [reduce(+, [ g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) for l in 1..4]) for t in 1..4])
+rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/clifford.input.pamphlet b/src/input/clifford.input.pamphlet
new file mode 100644
index 00000000..c6f22ac9
--- /dev/null
+++ b/src/input/clifford.input.pamphlet
@@ -0,0 +1,107 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input clifford.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+-- CliffordAlgebra(n, K, Q) defines a vector space of dimension 2**n
+-- over K, given a quadratic form Q on K**n.
+--
+-- If e[i] 1<=i<=n is a basis for K**n then
+-- 1, e[i] 1<=i<=n, e[i1]*e[i2] 1<=i1<i2<=n,...,e[1]*e[2]*..*e[n]
+-- is a basis for the Clifford Algebra.
+--
+-- The algebra is defined by the relations
+-- e[i]*e[j] = -e[j]*e[i] i ^= j,
+-- e[i]*e[i] = Q(e[i])
+--
+-- Examples of Clifford Algebras are:
+-- gaussians, quaternions, exterior algebras and spin algebras.
+
+-- Choose rational functions as the ground field.
+)clear all
+K := FRAC POLY INT
+
+--% The complex numbers as a Clifford Algebra
+)clear p qf
+qf: QFORM(1, K) := quadraticForm(matrix([[-1]])$(SQMATRIX(1,K)))
+C := CLIF(1, K, qf)
+i := e(1)$C
+x := a + b * i
+y := c + d * i
+x * y
+recip %
+x*%
+%*y
+
+--% The quaternions as a Clifford Algebra
+)clear p qf
+qf:QFORM(2, K) :=quadraticForm matrix([[-1, 0], [0, -1]])$(SQMATRIX(2,K))
+H := CLIF(2, K, qf)
+i := e(1)$H
+j := e(2)$H
+k := i * j
+x := a + b * i + c * j + d * k
+y := e + f * i + g * j + h * k
+x + y
+x * y
+y * x
+
+--% The exterior algebra on a 3 space.
+)clear p qf
+qf: QFORM(3, K) := quadraticForm(0::SQMATRIX(3,K))
+Ext := CLIF(3,K,qf)
+i := e(1)$Ext
+j := e(2)$Ext
+k := e(3)$Ext
+x := x1*i + x2*j + x3*k
+y := y1*i + y2*j + y3*k
+x + y
+x * y + y * x
+-- In n space, a grade p form has a dual n-p form.
+-- In particular, in 3 space the dual of a grade 2 element identifies
+-- e1*e2->e3, e2*e3->e1, e3*e1->e2.
+dual2 a ==
+ coefficient(a,[2,3])$Ext * i + _
+ coefficient(a,[3,1])$Ext * j + _
+ coefficient(a,[1,2])$Ext * k
+
+-- The vector cross product is then given by
+dual2(x*y)
+
+--% The Dirac Algebra used in Quantum Field Theory.
+)clear p qf
+K := FRAC INT
+g: SQMATRIX(4, K) := [[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,-1]]
+qf: QFORM(4, K) := quadraticForm g
+D := CLIF(4,K,qf)
+
+-- The usual notation is gamma sup i.
+gam := [e(i)$D for i in 1..4]
+
+-- There are various contraction identities of the form
+-- g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) =
+-- 2*(gam(s)gam(m)gam(n)gam(r) + gam(r)*gam(n)*gam(m)*gam(s))
+-- where the sum over l and t is implied.
+
+-- Verify this identity for m=1,n=2,r=3,s=4
+m := 1; n:= 2; r := 3; s := 4;
+lhs := reduce(+,[reduce(+,[g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t)
+ for l in 1..4]) for t in 1..4])
+rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/coercels.input.pamphlet b/src/input/coercels.input.pamphlet
new file mode 100644
index 00000000..fd6551fb
--- /dev/null
+++ b/src/input/coercels.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input coercels.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+alternatingGroup 4
+% :: List Permutation Integer
+li := %
+pgr := MonoidRing(Polynomial PrimeField 5, Permutation Integer)
+p : pgr := first li
+q : pgr := first li
+basis := [p,q,p*p,p*q, q*p,q*q, p*q*q, p*q*p, q*p*q,q*q*p,q*p*q*q,q*q*p*q]
+% :: Set MonoidRing(Polynomial PrimeField 5,Permutation Integer)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/collect.input.pamphlet b/src/input/collect.input.pamphlet
new file mode 100644
index 00000000..4d79d23d
--- /dev/null
+++ b/src/input/collect.input.pamphlet
@@ -0,0 +1,95 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input collect.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+
+-- Input for page Collections
+)clear all
+
+a := [i**3 for i in 0..10]
+b := expand [0..10]
+c := [x**3 for x in b]
+d := [i**3 for i in 0..10 | even? i]
+d := [x**3 for x in b | even? x]
+d := [x for x in c | even? x]
+d := [i**3 for i in 0..10 by 2 | even? i]
+e := reverse [i**3 for i in 10..0 by -2 | even? i]
+[x - y for x in d for y in e]
+
+-- Input generated from ContinuedFractionXmpPage
+)clear all
+
+c := continuedFraction(314159/100000)
+partialQuotients c
+convergents c
+approximants c
+pq := partialQuotients(1/c)
+continuedFraction(first pq,repeating [1],rest pq)
+z:=continuedFraction(3,repeating [1],repeating [3,6])
+dens:Stream Integer := cons(1,generate((x+->x+4),6))
+cf := continuedFraction(0,repeating [1],dens)
+ccf := convergents cf
+eConvergents := [2*e + 1 for e in ccf]
+eConvergents :: Stream Float
+exp 1.0
+cf := continuedFraction(1,[(2*i+1)**2 for i in 0..],repeating [2])
+ccf := convergents cf
+piConvergents := [4/p for p in ccf]
+piConvergents :: Stream Float
+continuedFraction((- 122 + 597*%i)/(4 - 4*%i))
+r : Fraction UnivariatePolynomial(x,Fraction Integer)
+r := ((x - 1) * (x - 2)) / ((x-3) * (x-4))
+continuedFraction r
+[i*i for i in convergents(z) :: Stream Float]
+[x**3 - y for x in b | even? x for y in e]
+f := [i**3 for i in 0..]
+[i**3 for i in 0..10]
+[i**3 for i in 0.. while i < 11]
+[i**3 for i in 0.. for x in 0..10]
+[[i**j for j in 0..3] for i in 0..]
+[[i**j for j in 0..] for i in 0..3]
+brace [i**3 for i in 10..0 by -2]
+
+-- Input for page ForCollectionDetailPage
+)clear all
+
+u := [i**3 for i in 1..10]
+u(4)
+[8*i**3 for n in 1..5]
+[u(2*n) for n in 1..5]
+[u(i) for i in 1..10 | even? i]
+[x for x in u | even? x]
+
+-- Input for page ForStreamDetailPage
+)clear all
+
+u := [i**3 for i in 1..]
+u(4)
+u
+u(16)
+[i**3 for i in 0.. | even? i]
+[8*i**3 for i in 0..]
+[i**3 for i in 0.. by 2]
+[u(i) for i in 1.. | even? i]
+[u(2*i) for i in 1..]
+[x for x in u | even? x]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/color.input.pamphlet b/src/input/color.input.pamphlet
new file mode 100644
index 00000000..131467c5
--- /dev/null
+++ b/src/input/color.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input color.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- test input of Color domain
+numberOfHues()
+red()
+blue()
+green()
+yellow()
+b := hue blue()
+red() + green()
+hue red() + hue green()
+red() + yellow()
+red() + 3*yellow()
+3*red() + yellow()
+c := color 15
+draw(x**2,x=-1..1,pointColor == green())
+g := color 13
+draw(x**2,x=-1..1,curveColor == g + 2*blue())
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/complex.input.pamphlet b/src/input/complex.input.pamphlet
new file mode 100644
index 00000000..43fb1d53
--- /dev/null
+++ b/src/input/complex.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input COMPLEX.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+<<*>>=
+
+-- Input generated from ComplexXmpPage
+)clear all
+
+a := complex(4/3,5/2)
+b := complex(4/3,-5/2)
+a + b
+a - b
+a * b
+a / b
+% :: Fraction Complex Integer
+3.4 + 6.7 * %i
+conjugate a
+norm a
+real a
+imag a
+gcd(13 - 13*%i,31 + 27*%i)
+lcm(13 - 13*%i,31 + 27*%i)
+factor(13 - 13*%i)
+factor complex(2,0)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cone.input.pamphlet b/src/input/cone.input.pamphlet
new file mode 100644
index 00000000..9c45e1d8
--- /dev/null
+++ b/src/input/cone.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input cone.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- graph of a cone
+draw(surface(u*cos(v),u*sin(v),u),u = -3..3,v = 0..2*%pi,[title "Cone"])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/conformal.input.pamphlet b/src/input/conformal.input.pamphlet
new file mode 100644
index 00000000..1c4dba42
--- /dev/null
+++ b/src/input/conformal.input.pamphlet
@@ -0,0 +1,182 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input conformal.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Drawing conformal maps.
+
+-- The functions in this file draw conformal maps both on the
+-- complex plane and on the Riemann sphere.
+
+-- Compile, don't interpret functions.
+)set fun comp on
+
+C := Complex DoubleFloat -- Complex Numbers
+S := Segment DoubleFloat -- Draw ranges
+R3 := POINT DoubleFloat -- points in 3-space
+
+-- conformalDraw(f, rRange, tRange, rSteps, tSteps, coord)
+-- draws the image of the coordinate grid under f in the complex plane.
+-- The grid may be given in either polar or cartesian coordinates.
+-- parameter descriptions:
+-- f: the function to draw
+-- rRange: the range of the radius (in polar) or real (in cartesian)
+-- tRange: the range of theta (in polar) or imaginary (in cartesian)
+-- tSteps, rSteps: the number of intervals in each direction
+-- coord: the coordinate system to use. Either "polar" or "cartesian"
+
+conformalDraw: (C -> C, S, S, PI, PI, String) -> VIEW3D
+conformalDraw(f, rRange, tRange, rSteps, tSteps, coord) ==
+ transformC :=
+ coord = "polar" => polar2Complex
+ cartesian2Complex
+ cm := makeConformalMap(f, transformC)
+ sp := createThreeSpace()
+ adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps)
+ makeViewport3D(sp, "Conformal Map")
+
+-- riemannConformalDraw(f, rRange, tRange, rSteps, tSteps, coord)
+-- draws the image of the coordinate grid under f on the Riemann sphere.
+-- The grid may given in either polar or cartesian coordinates.
+-- parameter descriptions:
+-- f: the function to draw
+-- rRange: the range of the radius(in polar) or real (in cartesian)
+-- tRange: the range of theta (in polar) or imaginary (in cartesian)
+-- tSteps, rSteps: the number of intervals in each direction
+-- coord: the coordinate system to use. either "polar" or "cartesian"
+
+riemannConformalDraw: (C -> C, S, S, PI, PI, String) -> VIEW3D
+riemannConformalDraw(f, rRange, tRange, rSteps, tSteps, coord) ==
+ transformC :=
+ coord = "polar" => polar2Complex
+ cartesian2Complex
+ sp := createThreeSpace()
+ cm := makeRiemannConformalMap(f, transformC)
+ adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps)
+ -- add an invisible point at the north pole for scaling
+ curve(sp, [point [0,0,2.0@DoubleFloat,0], point [0,0, 2.0@DoubleFloat,0]])
+ makeViewport3D(sp, "Conformal Map on the Riemann Sphere")
+
+-- Plot the coordinate grid using adaptive plotting for the coordinate
+-- lines, and drawing tubes around the lines.
+adaptGrid(sp, f, uRange, vRange, uSteps, vSteps) ==
+ delU := (hi(uRange) - lo(uRange))/uSteps
+ delV := (hi(vRange) - lo(vRange))/vSteps
+ uSteps := uSteps + 1; vSteps := vSteps + 1
+ u := lo uRange
+ -- draw the coodinate lines in the v direction
+ for i in 1..uSteps repeat
+ -- create a curve 'c' which fixes the current value of 'u'
+ c := curryLeft(f,u)
+ cf := (t:DoubleFloat):DoubleFloat +-> 0
+ -- draw the 'v' coordinate line
+ makeObject(c, vRange::Segment Float, colorFunction == cf, space == sp, _
+ tubeRadius == 0.02, tubePoints == 6)
+ u := u + delU
+ v := lo vRange
+ -- draw the coodinate lines in the u direction
+ for i in 1..vSteps repeat
+ -- create a curve 'c' which fixes the current value of 'v'
+ c := curryRight(f,v)
+ cf := (t:DoubleFloat):DoubleFloat +-> 1
+ -- draw the 'u' coordinate line
+ makeObject(c, uRange::Segment Float, colorFunction == cf, space == sp, _
+ tubeRadius == 0.02, tubePoints == 6)
+ v := v + delV
+ void()
+
+-- map a point in the complex plane to the Riemann sphere.
+riemannTransform(z) ==
+ r := sqrt norm z
+ cosTheta := (real z)/r
+ sinTheta := (imag z)/r
+ cp := 4*r/(4+r**2)
+ sp := sqrt(1-cp*cp)
+ if r>2 then sp := -sp
+ point [cosTheta*cp, sinTheta*cp, -sp + 1]
+
+-- convert cartesian coordinates to cartesian form complex
+cartesian2Complex(r:DoubleFloat, i:DoubleFloat):C == complex(r, i)
+
+-- convert polar coordinates to cartesian form complex
+polar2Complex(r:DoubleFloat, th:DoubleFloat):C == complex(r*cos(th), r*sin(th))
+
+-- convert a complex function into a mapping from (DoubleFloat,DoubleFloat) to R3 in the
+-- complex plane.
+makeConformalMap(f, transformC) ==
+ (u:DoubleFloat,v:DoubleFloat):R3 +->
+ z := f transformC(u, v)
+ point [real z, imag z, 0.0@DoubleFloat]
+
+-- convert a complex function into a mapping from (DoubleFloat,DoubleFloat) to R3 on the
+-- Riemann sphere.
+makeRiemannConformalMap(f, transformC) ==
+ (u:DoubleFloat, v:DoubleFloat):R3 +-> riemannTransform f transformC(u, v)
+
+-- draw a picture of the mapping of the complex plane to the Riemann sphere.
+riemannSphereDraw: (S, S, PI, PI, String) -> VIEW3D
+riemannSphereDraw(rRange, tRange, rSteps, tSteps, coord) ==
+ transformC :=
+ coord = "polar" => polar2Complex
+ cartesian2Complex
+ grid := (u:DoubleFloat , v:DoubleFloat): R3 +->
+ z1 := transformC(u, v)
+ point [real z1, imag z1, 0]
+ sp := createThreeSpace()
+ adaptGrid(sp, grid, rRange, tRange, rSteps, tSteps)
+ connectingLines(sp, grid, rRange, tRange, rSteps, tSteps)
+ makeObject(riemannSphere, 0..2*%pi, 0..%pi, space == sp)
+ f := (z:C):C +-> z
+ cm := makeRiemannConformalMap(f, transformC)
+ adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps)
+ makeViewport3D(sp, "Riemann Sphere")
+
+-- draw the lines which connect the points in the complex plane to
+-- the north pole of the Riemann sphere.
+connectingLines(sp, f, uRange, vRange, uSteps, vSteps) ==
+ delU := (hi(uRange) - lo(uRange))/uSteps
+ delV := (hi(vRange) - lo(vRange))/vSteps
+ uSteps := uSteps + 1; vSteps := vSteps + 1
+ u := lo uRange
+ -- for each grid point
+ for i in 1..uSteps repeat
+ v := lo vRange
+ for j in 1..vSteps repeat
+ p1 := f(u,v)
+ p2 := riemannTransform complex(p1.1, p1.2)
+ fun := lineFromTo(p1,p2)
+ cf := (t:DoubleFloat):DoubleFloat +-> 3
+ makeObject(fun, 0..1, space == sp, tubePoints == 4, tubeRadius == 0.01,
+ colorFunction == cf)
+ v := v + delV
+ u := u + delU
+ void()
+
+riemannSphere(u,v) ==
+ sv := sin(v)
+ 0.99@DoubleFloat*(point [cos(u)*sv, sin(u)*sv, cos(v),0.0@DoubleFloat]) +
+ point [0.0@DoubleFloat, 0.0@DoubleFloat, 1.0@DoubleFloat, 4.0@DoubleFloat]
+
+-- create a line functions which goeas from p1 to p2 as its paramter
+-- goes from 0 to 1.
+lineFromTo(p1, p2) ==
+ d := p2 - p1
+ (t:DoubleFloat):Point DoubleFloat +-> p1 + t*d
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/constant.input.pamphlet b/src/input/constant.input.pamphlet
new file mode 100644
index 00000000..5e65ce10
--- /dev/null
+++ b/src/input/constant.input.pamphlet
@@ -0,0 +1,70 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input constant.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+)clear all
+-- knuth volume 2 p596 tables of numerical quantities
+digits(42)
+outputSpacing(5)
+numeric(sqrt(2))
+numeric(sqrt(3))
+numeric(sqrt(5))
+numeric(sqrt(10))
+numeric(2**(1/3))
+numeric(3**(1/3))
+numeric(2**(1/4))
+numeric(log(2))
+numeric(log(3))
+numeric(log(10))
+numeric(1/log(2))
+numeric(1/log(10))
+numeric(%pi)
+numeric(%pi/180)
+numeric(1/%pi)
+numeric(%pi**2)
+numeric(sqrt(%pi))
+numeric(Gamma(1/2))
+numeric(Gamma(1/3))
+numeric(Gamma(2/3))
+numeric(%e)
+numeric(1/%e)
+numeric(%e**2)
+-- this we don't have. it is the difference of the harmonic series and
+-- the natural log (e.g. limit 1+1/2+...1/m-log(m))
+-- this converges slowly, essentially giving 1 more decimal place per
+-- power of 10 in the sum.
+gamma:=numeric(sum(1/x,x=1..10000)-log(10000))
+numeric(log(%pi))
+-- this we don't have. it is the golden ratio (1 + sqrt(5))/2
+phi:=(1+sqrt(5))/2
+numeric(phi)
+-- gamma isn't the right to any reasonable precision above. reset it.
+gamma:=0.5772156649015328606065120900824024310422
+numeric(%e**gamma)
+numeric(%e**(%pi/4))
+numeric(sin(1))
+numeric(cos(1))
+-- this we don't have. it is the zeta function
+-- numeric(zeta(3))
+numeric(log(phi))
+numeric(1/log(phi))
+numeric(-log(log(2)))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/contfrac.input.pamphlet b/src/input/contfrac.input.pamphlet
new file mode 100644
index 00000000..7e349b78
--- /dev/null
+++ b/src/input/contfrac.input.pamphlet
@@ -0,0 +1,96 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input contfrac.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+r1 := 3/4
+r2 := 314159/100000
+
+c1 := r1 :: ContinuedFraction Integer
+c2 := r2 :: ContinuedFraction Integer
+
+-- We can view these in the list notation
+partialQuotients c1
+partialQuotients c2
+
+-- These are algebraic objects, so we can manipulate them accordingly
+c1 + c2
+c1 * c2
+1 / c2
+c1 - c2
+c2 - c1
+
+-- and can convert them back to rational numbers.
+convergents %
+
+
+)clear all
+-- Continued fractions over other Euclidean domains
+a0 := ((-122 + 597* %i)/(4 - 4*%i))
+b0 := ((-595 - %i)/(3 - 4*%i))
+a := continuedFraction(a0)
+b := continuedFraction(b0)
+a + b
+convergents %
+last % - (a0 + b0)
+a / b
+convergents %
+last % - (a0/b0)
+
+(a = b)::Boolean
+c := continuedFraction(3 + 4*%i, repeating [1 + %i], repeating [5 - %i])
+a/c
+-- (a = c)::Boolean -- should give error
+d := complete continuedFraction(3+4*%i, repeating [1+%i],[i-%i for i in 1..5])
+(a = d)::Boolean
+
+
+q : Fraction UnivariatePolynomial('x, Fraction Integer)
+q := (2*x**2 - x + 1) / (3*x**3 - x + 8)
+
+c := continuedFraction q
+d := continuedFraction differentiate q
+c/d
+convergents %
+q/differentiate q
+
+)clear all
+-- This file illustrates continued fractions.
+
+)set streams calculate 7
+
+-- Use the notation Phi(ai/bi, i = 1..n) for continued fractions
+-- a1/(b1 + (a2/b2 + ... (an/bn) ...))
+
+-- 1/(e-1) may be written Phi(i/i, i = 1..)
+s := continuedFraction(0, expand [1..], expand [1..])
+-- Euler discovered the relation (e-1)/(e+1) = Phi(1/(4i-2), i = 1..)
+t := reducedContinuedFraction(0, [4*i-2 for i in 1..])
+-- Arithmetic on infinite continued fractions is supported.
+-- The results are given in reduced form. We illustrate by using the
+-- values s = 1/(e-1) and t = (e-1)/(e+1) to recover the expansion for e.
+e := 1/(s*t) - 1
+c := convergents e
+for i in 1..15 repeat
+ output numeric c.i
+(s = t)::Boolean
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/contfrc.input.pamphlet b/src/input/contfrc.input.pamphlet
new file mode 100644
index 00000000..0effab29
--- /dev/null
+++ b/src/input/contfrc.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input CONTFRAC.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- Input generated from ContinuedFractionXmpPage
+)clear all
+
+c := continuedFraction(314159/100000)
+partialQuotients c
+convergents c
+approximants c
+pq := partialQuotients(1/c)
+continuedFraction(first pq,repeating [1],rest pq)
+z:=continuedFraction(3,repeating [1],repeating [3,6])
+dens:Stream Integer := cons(1,generate((x+->x+4),6))
+cf := continuedFraction(0,repeating [1],dens)
+ccf := convergents cf
+eConvergents := [2*e + 1 for e in ccf]
+eConvergents :: Stream Float
+exp 1.0
+cf := continuedFraction(1,[(2*i+1)**2 for i in 0..],repeating [2])
+ccf := convergents cf
+piConvergents := [4/p for p in ccf]
+piConvergents :: Stream Float
+continuedFraction((- 122 + 597*%i)/(4 - 4*%i))
+r : Fraction UnivariatePolynomial(x,Fraction Integer)
+r := ((x - 1) * (x - 2)) / ((x-3) * (x-4))
+continuedFraction r
+[i*i for i in convergents(z) :: Stream Float]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/coordsys.input.pamphlet b/src/input/coordsys.input.pamphlet
new file mode 100644
index 00000000..af2f3129
--- /dev/null
+++ b/src/input/coordsys.input.pamphlet
@@ -0,0 +1,79 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input coordsys.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- test input for CoordinateSystems package
+draw(sin(x),x=0.5..%pi,coordinates == bipolar(1$DFLOAT))
+m(u:DFLOAT,v:DFLOAT):DFLOAT == 1
+draw(m,0..2*%pi, 0..%pi,coordinates == bipolar(1$DFLOAT))
+
+draw(surface(u*cos(v),u*sin(v),u),u=1..4,v=1..2*%pi,coordinates == bipolarCylindrical(1$DFLOAT))
+
+--conical(a,b) maps a 3D point (lambda,mu,nu) to the rectangular coordinates:
+--x = lambda*mu*nu/(a*b)
+--y = lambda/a*sqrt((mu**2-a**2)*(nu**2-a**2)/(a**2-b**2))
+--z = lambda/b*sqrt((mu**2-b**2)*(nu**2-b**2)/(b**2-a**2))
+--NOTE: There will be a division by zero error if a*b = 0, or a**2-b**2 = 0,
+-- or if b**2-a**2 = 0. Also, the following relations must be true:
+-- (mu**2-a**2)*(nu**2-a**2)/(a**2-b**2) > 0 and
+-- (mu**2-b**2)*(nu**2-b**2)/(b**2-a**2) > 0.
+
+j1(t:DFLOAT):DFLOAT == 4
+j2(t:DFLOAT):DFLOAT == t
+draw(curve(j1,j2,j2),-9..9,coordinates == cylindrical)
+
+draw(sin(4*t/7),t=0..14*%pi,coordinates == elliptic(1$DFLOAT))
+m(u:DFLOAT,v:DFLOAT):DFLOAT == 1
+draw(m,0..2*%pi,0..%pi,coordinates == elliptic(1$DFLOAT))
+
+U2:Vector Expression Integer := vector [0,0,1]
+x(u,v) == beta(u) + v*delta(u)
+beta u == vector [cos u, sin u, 0]
+delta u == (cos(u/2)) * beta(u) + sin(u/2) * U2
+vec := x(u,v)
+draw(surface(vec.1,vec.2,vec.3),v=-0.5..0.5,u=0..2*%pi,coordinates == ellipticCylindrical(1$DFLOAT),var1Steps == 50,var2Steps == 50)
+
+m(u:DFLOAT,v:DFLOAT):DFLOAT == 1
+draw(m,-%pi/2..%pi/2,0..2*%pi,coordinates == oblateSpheroidal(1$DFLOAT))
+
+h1(t:DFLOAT):DFLOAT == t
+h2(t:DFLOAT):DFLOAT == 2
+draw(curve(h1,h2),-3..3,coordinates == parabolic)
+draw(surface(u*cos(v),u*sin(v),2*u),u=0..4,v=0..2*%pi,coordinates == parabolic)
+
+draw(surface(u*cos(v),u*sin(v),v*cos(u)),u=0..4,v=0..2*%pi,coordinates == parabolicCylindrical)
+
+draw(surface(u*cos(v),u*sin(v),u*v),u=0..4,v=0..2*%pi,coordinates==paraboloidal,var1Steps == 50, var2Steps == 50)
+
+draw(sin(4*t/7),t=0..14*%pi,coordinates == polar)
+m(u:DFLOAT,v:DFLOAT):DFLOAT == 1
+draw(m,0..2*%pi, 0..%pi,coordinates == polar)
+
+m(u:DFLOAT,v:DFLOAT):DFLOAT == 1
+draw(m,-%pi/2..%pi/2,0..2*%pi,coordinates == prolateSpheroidal(1$DFLOAT))
+
+m(u:DFLOAT,v:DFLOAT):DFLOAT == 1
+draw(m,0..2*%pi,0..%pi,coordinates == spherical)
+
+draw(surface(u*cos(v),u*sin(v),u),u=1..4,v=1..4*%pi,coordinates == toroidal(1$DFLOAT))
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/curl.input.pamphlet b/src/input/curl.input.pamphlet
new file mode 100644
index 00000000..6229aa89
--- /dev/null
+++ b/src/input/curl.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input curl.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)curl.input 1.1 89/09/07 20:54:44
+draw(curve(sin(t)*sin(2*t)*sin(3*t),sin(4*t)*sin(5*t)*sin(6*t)),t = 0..2*%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cycles.input.pamphlet b/src/input/cycles.input.pamphlet
new file mode 100644
index 00000000..6c6c2c72
--- /dev/null
+++ b/src/input/cycles.input.pamphlet
@@ -0,0 +1,374 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input cycles.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+--Examples of Polya-Redfield enumeration methods.
+--
+--This file is based upon the paper
+--J.H.Redfield 'The Theory of Group-Reduced Distributions'
+--American J. Math.,49 (1927) 433-455,
+--and is an application of group theory to enumeration problems.
+--It is a development of the work by P.A.MacMahon on the
+--application of symmetric functions and Hammond operators to
+--combinatorial theory.
+--
+--The theory is based upon the symmetric functions s which are the
+-- i
+--sum of the i th powers of the variables.
+--The cycle index of a permutation may be represented as a partition.
+-- For example, the partition
+-- 2 2 2 2
+-- (3 2 1 ) will be used to represent s s s and
+-- 3 2 1
+-- will indicate that the permutation has two cycles of length 3,
+-- one of length 2 and two of length 1.
+--The cycle index of a permutation group is the sum of the cycle indices
+--of its permutations divided by the number of permutations.
+--
+--The cycle indices of certain groups are provided.
+--complete n is the cycle index of the symmetric group of order n
+)clear all
+)expose EVALCYC
+complete 1
+--
+-- (1) (1)
+--
+complete 2
+--
+-- 1 1 2
+-- (2) - (2) + - (1 )
+-- 2 2
+--
+complete 3
+--
+-- 1 1 1 3
+-- (3) - (3) + - (2 1) + - (1 )
+-- 3 2 6
+--
+--
+complete 7
+--
+-- (7)
+-- 1 1 1 1 2 1 1 1 3
+-- - (7) + - (6 1) + -- (5 2) + -- (5 1 ) + -- (4 3) + - (4 2 1) + -- (4 1 )
+-- 7 6 10 10 12 8 24
+-- +
+-- 1 2 1 2 1 2 1 4 1 3 1 2 3
+-- -- (3 1) + -- (3 2 ) + -- (3 2 1 ) + -- (3 1 ) + -- (2 1) + -- (2 1 )
+-- 18 24 12 72 48 48
+-- +
+-- 1 5 1 7
+-- --- (2 1 ) + ---- (1 )
+-- 240 5040
+--
+--elementary n is the nth elementary symmetric function.
+--
+elementary 7
+--
+-- (8)
+-- 1 1 1 1 2 1 1 1 3
+-- - (7) - - (6 1) - -- (5 2) + -- (5 1 ) - -- (4 3) + - (4 2 1) - -- (4 1 )
+-- 7 6 10 10 12 8 24
+-- +
+-- 1 2 1 2 1 2 1 4 1 3 1 2 3
+-- -- (3 1) + -- (3 2 ) - -- (3 2 1 ) + -- (3 1 ) - -- (2 1) + -- (2 1 )
+-- 18 24 12 72 48 48
+-- +
+-- 1 5 1 7
+-- - --- (2 1 ) + ---- (1 )
+-- 240 5040
+--
+--alternating n is the cycle index of the alternating group
+--having an even number of even parts in each cycle partition.
+--
+alternating 7
+--
+-- (9)
+-- 2 1 2 1 1 2 1 2 1 4 1 2 3
+-- - (7) + - (5 1 ) + - (4 2 1) + - (3 1) + -- (3 2 ) + -- (3 1 ) + -- (2 1 )
+-- 7 5 4 9 12 36 24
+-- +
+-- 1 7
+-- ---- (1 )
+-- 2520
+--
+--
+--cyclic n is the cycle index of the cyclic group
+cyclic 7
+--
+-- 6 1 7
+-- (10) - (7) + - (1 )
+-- 7 7
+--
+--dihedral n is the cycle index of the dihedral group
+--
+dihedral 7
+--
+-- 3 1 3 1 7
+-- (11) - (7) + - (2 1) + -- (1 )
+-- 7 2 14
+--
+--graphs n is the cycle index of the group of permutations on
+--the edges of the complete graph with n nodes induced by
+--applying the symmetric group to the nodes.
+graphs 5
+--
+-- (12)
+-- 1 1 2 1 2 1 3 1 4 2 1 3 4 1 10
+-- - (6 3 1) + - (5 ) + - (4 2) + - (3 1) + - (2 1 ) + -- (2 1 ) + --- (1 )
+-- 6 5 4 6 8 12 120
+--
+--The cycle index of a direct product of two groups is the product of the
+--cycle indices of the groups.
+--Redfield provided two operations on two cycle indices which
+--will be called cup and cap here.
+--The cup of two cycle indices is a kind of scalar product that
+--combines monomials for permutations with the same cycles.
+--
+--The cap operation provides the sum of the coefficients of the result
+--of the cup operation which will be an integer that enumerates
+--group-reduced distributions.
+--
+--We can for example represent complete 2 * complete 2
+--as the set of objects a a b b and
+--complete 2 * complete 1 * complete 1 as c c d e.
+--
+--The integer cap(complete 2**2,complete 2*complete 1**2)
+--is the number of different sets of four pairs.
+--
+--a a b b a a b b a a b b a a b b
+--c c d e c d c e c e c d d e c c
+--
+cap(complete 2**2,complete 2*complete 1**2)
+--
+-- (13) 4
+--
+--The integer cap(elementary 2**2,complete 2*complete 1**2)
+--is the number of different sets of four pairs no two pairs being equal.
+--
+-- a a b b a a b b
+-- c d c e c e c d
+--
+cap(elementary 2**2,complete 2*complete 1**2)
+--
+-- (14) 2
+--
+--In this case the configurations enumerated are easily constructed,
+--however the theory merely enumerates them providing little help in
+--actually constructing them. Similarly
+--
+--The number of 6-pairs, first from a a a b b c, second from d d e e f g.
+--
+cap(complete 3*complete 2*complete 1,complete 2**2*complete 1**2)
+--
+-- (15) 24
+--
+--Same again, but with no equal pairs
+--
+cap(elementary 3*elementary 2*elementary 1,complete 2**2*complete 1**2)
+--
+-- (16) 8
+--
+cap(complete 3*complete 2*complete 1,elementary 2**2*elementary 1**2)
+--
+-- (17) 8
+--
+--The number of 6-triples, first from a a a b b c, second from
+--d d e e f g, third from h h i i j j
+--
+eval(cup(complete 3*complete 2*complete 1, cup(complete 2**2*complete 1**2,complete 2**3)))
+--
+-- (18) 1500
+--
+--The cycle index of vertices of a square is dihedral 4
+--
+square:=dihedral 4
+--
+-- 1 3 2 1 2 1 4
+-- (19) - (4) + - (2 ) + - (2 1 ) + - (1 )
+-- 4 8 4 8
+--
+--The number of different squares with 2 red vertices and 2 blue vertices
+--
+cap(complete 2**2,square)
+--
+-- (20) 2
+--
+--The number of necklaces with 3 red beads,2 blue beads and 2 green beads
+--
+cap(complete 3*complete 2**2,dihedral 7)
+--
+-- (21) 18
+--
+--The number of graphs with 5 nodes and 7 edges
+--
+cap(graphs 5,complete 7*complete 3)
+--
+-- (22) 4
+--The cycle index of rotations of vertices of a cube
+--
+macro s == powerSum
+cube:=(1/24)*(s 1**8+9*s 2**4 + 8*s 3**2*s 1**2+6*s 4**2)
+--
+-- 1 2 1 2 2 3 4 1 8
+-- (23) - (4 ) + - (3 1 ) + - (2 ) + -- (1 )
+-- 4 3 8 24
+--
+--The number of cubes with 4 red vertices and 4 blue vertices
+cap(complete 4**2,cube)
+--
+-- (24) 7
+--
+--The number of labeled graphs with degree sequence 2 2 2 1 1
+--with no loops or multiple edges
+cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2))
+--with loops allowed but not multiple edges
+cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2))
+-- with multiple edges allowed, but not loops
+cap(complete 2**3*complete 1**2,wreath(complete 4,elementary 2))
+-- with both multiple edges and loops allowed
+cap(complete 2**3*complete 1**2,wreath(complete 4,complete 2))
+--Having constructed a cycle index for a configuration
+--we are at liberty to evaluate the s i components any way we please.
+--For example we can produce enumerating generating functions.
+--This is done by providing a function f from an integer i to the
+--value required of s , and then evaluating eval(f,cycleindex)
+-- i
+x:ULS(FRAC INT,'x,0):=x
+ZeroOrOne:INT->ULS(FRAC INT,'x,0)
+Integers:INT->ULS(FRAC INT,'x,0)
+--For the integers 0 1 , or two colors
+ZeroOrOne n == 1+x**n
+ZeroOrOne 5
+--For the integers 0,1,2,...
+Integers n == 1/(1-x**n)
+Integers 5
+--
+--The coefficient of x**n below is the number of graphs with 5 nodes
+--and n edges.
+--
+eval(ZeroOrOne,graphs 5)
+--
+-- 2 3 4 5 6 7 8 9 10 11
+-- (30) 1 + x + 2x + 4x + 6x + 6x + 6x + 4x + 2x + x + x + O(x )
+--
+--The coefficient of x**n is the number of necklaces with
+-- n red beads and n-8 green beads.
+eval(ZeroOrOne,dihedral 8)
+--The coefficient of x**n is the number of partitions of n
+--into 4 or fewer parts
+eval(Integers,complete 4)
+--
+-- (32)
+-- 2 3 4 5 6 7 8 9 10 11
+-- 1 + x + 2x + 3x + 5x + 6x + 9x + 11x + 15x + 18x + 23x + O(x )
+--
+--The coefficient of x**n is the number of partitions of n into 4
+-- boxes containing ordered distinct parts.
+eval(Integers,elementary 4)
+--
+-- 6 7 8 9 10 11
+-- (33) x + x + 2x + 3x + 5x + O(x )
+--
+--the coefficient of x**n is the number of partitions of n
+--into exactly 4 parts
+--
+--The coefficient of x**n is the number of different cubes with n
+-- red vertices and 8-n green ones.
+--
+eval(ZeroOrOne,cube)
+--
+-- 2 3 4 5 6 7 8
+-- (36) 1 + x + 3x + 3x + 7x + 3x + 3x + x + x
+--
+--The coefficient of x**n is the number of different cubes with integers
+-- on the vertices whose sum is n.
+--
+eval(Integers,cube)
+--
+-- (37)
+-- 2 3 4 5 6 7 8 9 10
+-- 1 + x + 4x + 7x + 21x + 37x + 85x + 151x + 292x + 490x + 848x
+-- +
+-- 11
+-- O(x )
+--
+-- the coefficient of x**n is the number of graphs with 5 nodes and
+-- with integers on the edges whose sum is n.
+-- In other words the enumeration is of multigraphs with 5 nodes and n
+-- edges.
+eval(Integers,graphs 5)
+--
+-- (38)
+-- 2 3 4 5 6 7 8 9 10
+-- 1 + x + 3x + 7x + 17x + 35x + 76x + 149x + 291x + 539x + 974x
+-- +
+-- 11
+-- O(x )
+--
+--Graphs with 15 nodes enumerated with respect to number of edges
+--
+eval(ZeroOrOne ,graphs 15)
+--
+-- (39)
+-- 2 3 4 5 6 7 8 9 10
+-- 1 + x + 2x + 5x + 11x + 26x + 68x + 177x + 496x + 1471x + 4583x
+-- +
+-- 11 12 13 14 15 16
+-- 15036x + 51814x + 185987x + 691001x + 2632420x + 10176660x
+-- +
+-- 17 18 19 20 21
+-- 39500169x + 152374465x + 578891716x + 2149523582x + O(x )
+--
+--
+--Necklaces with 7 green beads, 8 white beads, 5 yellow beads and 10
+--red beads.
+--
+cap(dihedral 30,complete 7*complete 8*complete 5*complete 10)
+--
+-- (40) 49958972383320
+-- The function SFunction is the S-function of a partition written
+-- as a descending list of integers expressed in terms of power sum
+-- symmetric functions.
+sf3221:= SFunction [3,2,2,1]
+-- It counts the number of different tableaux of shape 3,2,2,1 filled
+-- with objects with an ascending order in the columns and a
+-- non-descending order in the rows.
+-- cap(sf3221,complete 4**2) is the number filled
+-- with a a b b c c d d.
+cap(sf3221,complete 2**4)
+-- the configurations enumerated are
+-- a a b a a c a a d
+-- b c b b b b
+-- c d c d c c
+-- d d d
+-- cap(sf3221,powerSum 1**8) is the number of tableaux filled with 1..8.
+cap(sf3221,powerSum 1**8)
+--The coefficient of x**n below is the number of column strict
+-- reverse plane partitions of n of shape 3 2 2 1.
+-- The smallest is
+-- 0 0 0
+-- 1 1
+-- 2 2
+-- 3
+eval(Integers,sf3221)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cycles1.input.pamphlet b/src/input/cycles1.input.pamphlet
new file mode 100644
index 00000000..01ebb037
--- /dev/null
+++ b/src/input/cycles1.input.pamphlet
@@ -0,0 +1,69 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input CYCLES.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from CycleIndicatorsXmpPage
+)clear all
+
+)expose EVALCYC
+complete 1
+complete 2
+complete 3
+complete 7
+elementary 7
+alternating 7
+cyclic 7
+dihedral 7
+graphs 5
+cap(complete 2**2, complete 2*complete 1**2)
+cap(elementary 2**2, complete 2*complete 1**2)
+cap(complete 3*complete 2*complete 1,complete 2**2*complete 1**2)
+cap(elementary 3*elementary 2*elementary 1,complete 2**2*complete 1**2)
+cap(complete 3*complete 2*complete 1,elementary 2**2*elementary 1**2)
+eval(cup(complete 3*complete 2*complete 1, cup(complete 2**2*complete 1**2,complete 2**3)))
+square:=dihedral 4
+cap(complete 2**2,square)
+cap(complete 3*complete 2**2,dihedral 7)
+cap(graphs 5,complete 7*complete 3)
+s(x) == powerSum(x)
+cube:=(1/24)*(s 1**8+9*s 2**4 + 8*s 3**2*s 1**2+6*s 4**2)
+cap(complete 4**2,cube)
+cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2))
+cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2))
+cap(complete 2**3*complete 1**2,wreath(complete 4,elementary 2))
+cap(complete 2**3*complete 1**2,wreath(complete 4,complete 2))
+x: ULS(FRAC INT,'x,0) := 'x
+ZeroOrOne: INT -> ULS(FRAC INT, 'x, 0)
+Integers: INT -> ULS(FRAC INT, 'x, 0)
+ZeroOrOne n == 1+x**n
+ZeroOrOne 5
+Integers n == 1/(1-x**n)
+Integers 5
+eval(ZeroOrOne, graphs 5)
+eval(ZeroOrOne,dihedral 8)
+eval(Integers,complete 4)
+eval(Integers,elementary 4)
+eval(ZeroOrOne,cube)
+eval(Integers,cube)
+eval(Integers,graphs 5)
+eval(ZeroOrOne ,graphs 15)
+cap(dihedral 30,complete 7*complete 8*complete 5*complete 10)
+sf3221:= SFunction [3,2,2,1]
+cap(sf3221,complete 2**4)
+cap(sf3221, powerSum 1**8)
+eval(Integers, sf3221)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cycloid.input.pamphlet b/src/input/cycloid.input.pamphlet
new file mode 100644
index 00000000..e6e899ec
--- /dev/null
+++ b/src/input/cycloid.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input cycloid.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)cycloid1.input 1.1 89/09/07 20:54:46
+draw(curve(t - sin t,1 - cos t),t = -5..5)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cycloid2.input.pamphlet b/src/input/cycloid2.input.pamphlet
new file mode 100644
index 00000000..ec6dd4cc
--- /dev/null
+++ b/src/input/cycloid2.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input cycloid2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)cycloid2.input 1.1 89/09/07 20:54:48
+draw(curve(2*t - sin t,2 - cos t),t = -5..5)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cycloid3.input.pamphlet b/src/input/cycloid3.input.pamphlet
new file mode 100644
index 00000000..0d80f0a5
--- /dev/null
+++ b/src/input/cycloid3.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input cycloid3.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)cycloid3.input 1.1 89/09/07 20:54:50
+draw(curve(t - 2*sin t,1 - 2*cos t),t = -5..5)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/cyfactor.input.pamphlet b/src/input/cyfactor.input.pamphlet
new file mode 100644
index 00000000..3d4a58ef
--- /dev/null
+++ b/src/input/cyfactor.input.pamphlet
@@ -0,0 +1,52 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input cyfactor.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+)cl all
+
+--Special case tests of factoring code for cyclotomic polynomials
+
+-- +/- x^n - 1 (n even)
+
+factor(x**84 - 1)
+factor(-(x**68 -1))
+
+-- +/- x^n + 1 (n odd)
+
+factor(x**99 + 1)
+factor(-(x**77 +1))
+
+-- +/- x^(2^k) + 1
+
+ind := 2**6
+factor(x**ind + 1)
+
+ind := 2**7
+factor(-(x**ind + 1))
+
+-- This takes a lot longer than it should. It will improve when the
+-- cyclotomic code improves.
+
+factor(x**84 + 1)
+D
+--cyclotomic code improves.
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01ajf.input.pamphlet b/src/input/d01ajf.input.pamphlet
new file mode 100644
index 00000000..34b71d38
--- /dev/null
+++ b/src/input/d01ajf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01ajf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:EXPR FLOAT:=(X*sin(30*X)/(sqrt(1-(X/(2*%pi))**2)))
+f:ASP1(F):=retract e
+a:SF:=0.0
+b:SF:=%pi*2
+epsabs:SF:=0.0
+epsrel:SF:=1.0e-4
+liw:=200
+lw:=4*liw
+result:=d01ajf(a,b,epsabs,epsrel,lw,liw,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01akf.input.pamphlet b/src/input/d01akf.input.pamphlet
new file mode 100644
index 00000000..ca9d6001
--- /dev/null
+++ b/src/input/d01akf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01akf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:EXPR FLOAT:=X*sin(30*X)*cos(X)
+f:ASP1(F):=retract e
+a:SF:=0.0
+b:SF:=%pi*2
+epsabs:SF:=0.0
+epsrel:SF:=1.0e-4
+liw:=200
+lw:=4*liw
+result:=d01akf(a,b,epsabs,epsrel,lw,liw,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01alf.input.pamphlet b/src/input/d01alf.input.pamphlet
new file mode 100644
index 00000000..e9cb84a2
--- /dev/null
+++ b/src/input/d01alf.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01alf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:EXPR FLOAT:=1/sqrt(abs(X-1/7))
+f:ASP1(F):= retract e
+a:SF:=0.0
+b:SF:=1.0
+points:Matrix SF:=[[1/7]]
+npts:=ncols points
+epsabs:SF:=0.0
+epsrel:SF:=1.0e-4
+liw:=max(npts+4,400)
+lw:=max(2*npts+8,2*liw)
+result:=d01alf(a,b,npts,points,epsabs,epsrel,lw,liw,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01amf.input.pamphlet b/src/input/d01amf.input.pamphlet
new file mode 100644
index 00000000..c36281cd
--- /dev/null
+++ b/src/input/d01amf.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d001amf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:EXPR FLOAT:=1/((X+1)*sqrt(X))
+f:ASP1(F):=retract e
+a:SF:=0.0
+epsabs:SF:=0.0
+epsrel:SF:=1.0e-4
+liw:=200
+lw:=4*liw
+result:=d01amf(a,1,epsabs,epsrel,lw,liw,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01anf.input.pamphlet b/src/input/d01anf.input.pamphlet
new file mode 100644
index 00000000..28583463
--- /dev/null
+++ b/src/input/d01anf.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01anf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:EXPR FLOAT:=log(X)
+f:ASP1(G):=retract e
+a:SF:=1.0e-6
+b:SF:=1.0
+epsabs:SF:=0.0
+epsrel:SF:=1.0e-4
+omega:SF:=10*%pi
+liw:=max(400,2)
+lw:=max(2*liw,4)
+result:=d01anf(a,b,omega,2,epsabs,epsrel,lw,liw,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01apf.input.pamphlet b/src/input/d01apf.input.pamphlet
new file mode 100644
index 00000000..75b67603
--- /dev/null
+++ b/src/input/d01apf.input.pamphlet
@@ -0,0 +1,39 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01apf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:Expression Float:=sin(10*X)
+f:ASP1(G):=retract e
+a:SF:=1.0e-6
+b:SF:=1.0
+alpha:SF:=-0.5
+beta:SF:=-0.5
+epsabs:SF:=0.0
+epsrel:SF:=1.0e-4
+key:=1
+liw:=200
+lw:=4*liw
+result:=d01apf(a,b,alpha,beta,key,epsabs,epsrel,lw,liw,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01aqf.input.pamphlet b/src/input/d01aqf.input.pamphlet
new file mode 100644
index 00000000..2e2e05ee
--- /dev/null
+++ b/src/input/d01aqf.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d001aqf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:Expression Float:=(X**2+0.01**2)**-1
+f:ASP1(G):=retract e
+a:SF:=-1.0
+b:SF:=1.0
+c:SF:=0.5
+epsabs:SF:=0.0
+epsrel:SF:=1.0e-4
+liw:=200
+lw:=4*200
+result:=d01aqf(a,b,c,epsabs,epsrel,lw,liw,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01asf.input.pamphlet b/src/input/d01asf.input.pamphlet
new file mode 100644
index 00000000..d00389eb
--- /dev/null
+++ b/src/input/d01asf.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01asf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:Expression Float:=1/sqrt(X)
+f:ASP1(G):=retract e
+a:SF:=1.0e-12
+omega:SF:=%pi/2
+key:=1
+epsabs:SF:=1.0e-3
+limlst:=50
+liw:=400
+lw:=2*liw
+result:=d01asf(a,omega,key,epsabs,limlst,lw,liw,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01bbf.input.pamphlet b/src/input/d01bbf.input.pamphlet
new file mode 100644
index 00000000..098ffc78
--- /dev/null
+++ b/src/input/d01bbf.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01bbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+a:SF:=0.0
+b:SF:=1.0
+itype:=1
+n:=6
+kind:=0
+result:=d01bbf(a,b,itype,n,kind,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01fcf.input.pamphlet b/src/input/d01fcf.input.pamphlet
new file mode 100644
index 00000000..70385066
--- /dev/null
+++ b/src/input/d01fcf.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01fcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+e:= (4.0*X[1]*X[3]*X[3]*exp(2.0*X[1]*X[3])/((1.0+X[2]+X[4])**2))::EXPR FLOAT
+f:ASP4(FUNCTN):=retract e
+ndim:=4
+a:Matrix SF:=[[0.0,0.0,0.0,0.0]]
+b:Matrix SF:=[[1.0,1.0,1.0,1.0]]
+alpha:=2^ndim+2*ndim^2+2*ndim+1
+minpts:=1000
+maxpts:=5700
+eps:=0.0001
+lenwrk:=606
+result:=d01fcf(ndim,a,b,maxpts,eps,lenwrk,minpts,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01gaf.input.pamphlet b/src/input/d01gaf.input.pamphlet
new file mode 100644
index 00000000..a04ac380
--- /dev/null
+++ b/src/input/d01gaf.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01gaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=21
+x:Matrix SF:=
+ [[0.00 ,0.04 ,0.08 ,0.12 ,0.22 ,0.26 ,0.30 ,_
+ 0.38 ,0.39 ,0.42 ,0.45 ,0.46 ,0.60 ,0.68 ,_
+ 0.72 ,0.73 ,0.83 ,0.85 ,0.88 ,0.90 ,1.00 ]]
+y:Matrix SF:=
+ [[4.0000 ,3.9936 ,3.9746 ,3.9432 ,3.8153 ,3.7467 ,3.6697 ,_
+ 3.4943 ,3.4719 ,3.4002 ,3.3264 ,3.3014 ,2.9412 ,2.7352 ,_
+ 2.6344 ,2.6094 ,2.3684 ,2.3222 ,2.2543 ,2.2099 ,2.0000 ]]
+result:=d01gaf(x,y,n,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d01gbf.input.pamphlet b/src/input/d01gbf.input.pamphlet
new file mode 100644
index 00000000..fbcb5db9
--- /dev/null
+++ b/src/input/d01gbf.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d01gbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ndim:=4
+e:=(4.0*X[1]*X[3]*X[3]*exp(2.0*X[1]*X[3])/((1.0+X[2]+X[4])**2))
+f:ASP4(FUNCTN):=retract e
+a:Matrix SF:=[[0.0,0.0,0.0,0.0]]
+b:Matrix SF:=[[1.0,1.0,1.0,1.0]]
+maxcls:=20000
+eps:=0.01
+lenwrk:=500
+wrk:Matrix SF:=new(1,lenwrk,0.0);
+mincls:=1000
+result:=d01gbf(ndim,a,b,maxcls,eps,lenwrk,mincls,wrk,-1,f)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d02bbf.input.pamphlet b/src/input/d02bbf.input.pamphlet
new file mode 100644
index 00000000..a0871f38
--- /dev/null
+++ b/src/input/d02bbf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d02bbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+xend:SF:=8.0
+n:=3
+irelab:=0
+x:SF:=0.0
+y:Matrix SF:=
+ [[0.0 ,0.5 ,%pi*0.2 ]]
+tol:SF:=0.0001
+vef:Vector Expression Float:=
+ [tan(Y[3]) ,-0.032*tan(Y[3])/Y[2] -0.02*Y[2]/cos(Y[3]) ,-0.032/(Y[2]**2) ]
+fcn:Asp7(FCN):= retract vef
+vm:Vector MachineFloat:=
+ [1,2,3,4,5,6,7,8]
+output:Asp8(OUTPUT):= coerce vm
+result:=d02bbf(xend,# vm,n,irelab,x,y,tol,-1,fcn,output)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d02bhf.input.pamphlet b/src/input/d02bhf.input.pamphlet
new file mode 100644
index 00000000..c7de235c
--- /dev/null
+++ b/src/input/d02bhf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d02bhf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+xend:SF:=10.0
+n:=3
+irelab:=0
+hmax:SF:=0.0
+x:SF:=0.0
+y:Matrix SF:=
+ [[0.5 ,0.5 ,%pi*0.2 ]]
+tol:SF:=0.0001
+ef:Expression Float:=1.0*Y[1]::EXPR FLOAT
+g:Asp9(G):=retract ef
+vef:Vector Expression Float:=
+ [tan(Y[3]) ,-0.032*tan(Y[3])/Y[2] -0.02*Y[2]/cos(Y[3]) ,-0.032/(Y[2]**2) ]
+fcn:Asp7(FCN):= retract vef
+result:=d02bhf(xend,n,irelab,hmax,x,y,tol,-1,g,fcn)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d02cjf.input.pamphlet b/src/input/d02cjf.input.pamphlet
new file mode 100644
index 00000000..920e4a68
--- /dev/null
+++ b/src/input/d02cjf.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d02cjf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+xend:SF:=10.0
+n:=3
+tol:SF:=0.0001
+relabs:="D"
+x:SF:=0.0
+y:Matrix SF:=[[0.5 ,0.5 ,%pi*0.2 ]]
+ef:Expression Float:=Y[1]:: EXPR FLOAT
+g:Asp9(G):=retract ef
+vef:Vector Expression Float:=
+ [tan(Y[3]) ,-0.032*tan(Y[3])/Y[2] -0.02*Y[2]/cos(Y[3]) ,-0.032/(Y[2]**2) ]
+fcn:Asp7(FCN):= retract vef
+vm:Vector MachineFloat:=
+ [2,4,6,8]
+output:Asp8(OUTPUT):=coerce vm
+result:=d02cjf(xend,# vm,n,tol,relabs,x,y,-1,g,fcn,output)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d02ejf.input.pamphlet b/src/input/d02ejf.input.pamphlet
new file mode 100644
index 00000000..dc3e99b3
--- /dev/null
+++ b/src/input/d02ejf.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d02ejf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+xend:SF:= 10.0
+n:=3
+relabs:="D"
+iw:=95
+x:SF:=0.0
+y:Matrix SF:=
+ [[1.0 ,0.0 ,0.0 ]]
+tol:=0.0001
+ef:Expression Float:=(Y[1]::EXPR FLOAT)-0.9
+g:Asp9(G):=retract ef
+vef:Vector Expression Float:=
+ [-0.04*Y[1]+1.0E4*Y[2]*Y[3] ,_
+ 0.04*Y[1]-1.0E4*Y[2]*Y[3]-3.0E7*Y[2]*Y[2] ,_
+ 3.0E7*Y[2]*Y[2] ]
+fcn:ASP7(FCN):=retract vef
+pederv:Asp31(PEDERV):=retract vef
+vm:Vector MachineFloat:=[2,4,6,8]
+output:Asp8(OUTPUT):=coerce vm
+result:=d02ejf(xend,# vm,n,relabs,iw,x,y,tol,-1,g,fcn,pederv,output)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d02gaf.input.pamphlet b/src/input/d02gaf.input.pamphlet
new file mode 100644
index 00000000..8936af66
--- /dev/null
+++ b/src/input/d02gaf.input.pamphlet
@@ -0,0 +1,51 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d02gaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+u:Matrix SF:=
+ [[0 ,10 ],[0 ,1 ],[0 ,0 ]]
+v:Matrix SF:=
+ [[0.0 ,1.0 ],[0.0 ,0.0 ],[1.0 ,1.0 ]]
+n:=3
+a:SF:=0.0
+b:SF:=10.0
+tol:=1.0e-3
+mnp:=64
+lw:=3056
+liw:= 471
+x:Matrix SF:=
+ [[0.0 ,0.4 ,0.8 ,1.2 ,1.6 ,2.0 ,2.4 ,2.8 ,3.2 ,_
+ 3.6 ,4.0 ,4.4 ,4.8 ,5.2 ,5.6 ,6.0 ,6.4 ,6.8 ,_
+ 7.2 ,7.6 ,8.0 ,8.4 ,8.8 ,9.2 ,9.6 ,10.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ]]
+np:=26
+vef:Vector Expression Float:=
+ [Y[2] ,Y[3] ,-Y[1]*Y[3]-0.2*(1-Y[2]*Y[2]) ]
+fcn:Asp7(FCN):=retract vef
+result:=d02gaf(u,v,n,a,b,tol,mnp,lw,liw,x,np,-1,fcn)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d02gbf.input.pamphlet b/src/input/d02gbf.input.pamphlet
new file mode 100644
index 00000000..a2ef4c23
--- /dev/null
+++ b/src/input/d02gbf.input.pamphlet
@@ -0,0 +1,58 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d02gbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+a:SF:=0.0
+b:SF:=1.0
+n:=2
+tol:SF:=1.0e-3
+mnp:= 70
+lw:=1702
+liw:=352
+c:Matrix SF:=
+ [[1 ,0 ],[0 ,0 ]]
+d:Matrix SF:=
+ [[0 ,0 ],[1 ,0 ]]
+gam:Matrix SF:=
+ [[0 ,1 ]]
+x:Matrix SF:=
+ [[0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ]]
+np:=0
+ifail:= 11
+mef:Matrix Expression Float:=
+ [[0 ,1 ],[0 ,-10 ]]
+fcnf:Asp77(FCNF):=retract mef
+vef:Vector Expression Float :=
+ [0 ,0 ]
+fcng:Asp78(FCNG):=retract vef
+result:=d02gbf(a,b,n,tol,mnp,lw,liw,c,d,gam,x,np,ifail,fcnf,fcng)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d02kef.input.pamphlet b/src/input/d02kef.input.pamphlet
new file mode 100644
index 00000000..5b200dd0
--- /dev/null
+++ b/src/input/d02kef.input.pamphlet
@@ -0,0 +1,50 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d02kef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+xpoint:Matrix SF:=
+ [[0.0 ,0.1 ,4**(1/3) ,30.0 ,30.0 ]]
+m:=5
+k:=11
+tol:SF:=0.0001
+maxfun:=0
+match:=0
+elam:=14
+delam:=1
+hmax:Matrix SF:=
+ [[0.0 ,0.0 ],[0.0 ,0.0 ],_
+ [ 0.0 ,0.0 ],[0.0 ,0.0 ],[0.0 ,0.0 ]]
+maxit:= 0
+vef:Vector Expression Float:=
+ [1.0 ,ELAM-X-2.0/(X*X) ,1.0 ]
+coeffn:Asp10(COEFFN):=retract vef
+mef:Matrix Expression Float:=
+ [[XL ,2.0 ],[1.0 ,-sqrt(XR-ELAM) ]]
+bdyval:Asp80(BDYVAL):=retract mef
+result:=d02kef(xpoint,m,k,tol,maxfun,match,elam,delam,hmax,maxit,-1,coeffn,bdyval)
+-- the following are the default Asps used.
+outputAsFortran()$Asp12(MONIT)
+outputAsFortran()$Asp33(REPORT)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d02raf.input.pamphlet b/src/input/d02raf.input.pamphlet
new file mode 100644
index 00000000..be82a48c
--- /dev/null
+++ b/src/input/d02raf.input.pamphlet
@@ -0,0 +1,53 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d02raf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=3
+mnp:=40
+numbeg:=2
+nummix:=0
+tol:=1.0e-4
+init:=0
+iy:=3
+ijac:=1
+lwork:=1925
+liwork:=283
+np:=17
+x:Matrix SF:=
+ [[0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,10.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ]]
+y:Matrix SF:=new(3,40,0.0)
+deleps:=0.1
+ifail:=11
+vef:Vector Expression Float:=
+ [Y[2] ,Y[3] ,-Y[1]*Y[3] - 2*EPS*(1-Y[2]*Y[2]) ]
+fcn:Asp41(FCN,JACOBF,JACEPS):= retract vef
+vei:Vector Expression Integer:=
+ [YA[1] ,YA[2] ,YB[2] -1 ]
+g:Asp42(G,JACOBG,JACGEP):=retract vei
+result:=d02raf(n,mnp,numbeg,nummix,tol,init,iy,ijac,lwork,liwork,np,x,y,deleps,ifail,fcn,g)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d03edf.input.pamphlet b/src/input/d03edf.input.pamphlet
new file mode 100644
index 00000000..e31739b1
--- /dev/null
+++ b/src/input/d03edf.input.pamphlet
@@ -0,0 +1,87 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d03edf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+ngx := 9
+ngy := 9
+lda := 134
+alpha := 1.7
+hx := 1/(ngx+1)
+hy := 1/(ngy+1)
+a := new(lda,7,0.0)$Matrix DoubleFloat;
+rhs := new(1,lda,0.0)$Matrix DoubleFloat;
+ub := new(1,ngx*ngy,0.0)$Matrix DoubleFloat;
+for j in 1..ngy repeat
+ for i in 1..ngx repeat
+ k := (j-1)*ngx + i
+ a(k,1) := 1 - 0.5*alpha
+ a(k,2) := 0.5*alpha
+ a(k,3) := 1 - 0.5*alpha
+ a(k,4) := -4 + alpha
+ a(k,5) := 1 - 0.5*alpha
+ a(k,6) := 0.5*alpha
+ a(k,7) := 1 - 0.5*alpha
+ rhs(1,k) := -4.0*hx*hy
+for i in 2..(ngx-1) repeat
+ ix := i
+ a(ix,1) := 0
+ a(ix,2) := 0
+ ix := i + (ngy -1)*ngx
+ a(ix,6) := 0
+ a(ix,7) := 0
+for j in 2..(ngy-1) repeat
+ iy := (j-1)*ngx+1
+ a(iy,3) := 0
+ a(iy,6) := 0
+ iy := j *ngx
+ rhs(1,iy) := rhs(1,iy) - a(iy,5) - a(iy,2)
+ a(iy,2) := 0
+ a(iy,5) := 0
+k := 1
+a(1,1) := 0
+a(1,2) := 0
+a(1,3) := 0
+a(1,6) := 0
+k := 1 + (ngy-1)*ngx
+a(k,3) := 0
+a(k,6) := 0
+a(k,7) := 0
+k := ngx
+rhs(1,k) := rhs(1,k) - a(k,2)*0.5 -a(k,5)
+a(k,1) := 0
+a(k,2) := 0
+a(k,5) := 0
+k := ngx * ngy
+rhs(1,k) := rhs(1,k) - a(k,2) - a(k,5)
+a(k,2) := 0
+a(k,5) := 0
+a(k,6) := 0
+a(k,7) := 0
+ifail := 0
+maxit := 15
+acc := 1.0e-4
+iout := 0
+result:=d03edf(ngx,ngy,lda,maxit,acc,iout,a,rhs,ub,ifail)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d03eef.input.pamphlet b/src/input/d03eef.input.pamphlet
new file mode 100644
index 00000000..d1fcd0b3
--- /dev/null
+++ b/src/input/d03eef.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d03eef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+xmin := 0.0
+xmax := 1.0
+ymin := 0.0
+ymax := 1.0
+psi := -sin(X)*sin(Y) + 50*cos(X)*cos(Y) +50*sin(X)*cos(Y)
+d03eea :Vector Expression Float := [1,0,1,50,50,0,psi]
+d03eeb :Matrix Expression Float := matrix[[0,1,-sin(X)],[1,0,sin(X)*sin(Y)],[1,0,sin(X)*sin(Y)],[0,1,-sin(Y)]]
+ngx := 9
+ngy := 9
+lda := 133
+scheme := "c"
+ifail := -1
+result:=d03eef(xmin,xmax,ymin,ymax,ngx,ngy,lda,scheme,ifail,d03eea::ASP73('PDEF),d03eeb::ASP74('BNDY))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/d03faf.input.pamphlet b/src/input/d03faf.input.pamphlet
new file mode 100644
index 00000000..94b4ad32
--- /dev/null
+++ b/src/input/d03faf.input.pamphlet
@@ -0,0 +1,79 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input d03faf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+xs := 0.0
+xf := 1.0
+l := 16
+lbdcnd := 1
+m := 32
+n := 20
+maxlm := 32
+mdimf := m+1
+ldimf := l+1
+lwrk := 2*(n+1)*maxlm+3*l+3*m+4*n+6000
+bdxs := new(mdimf,n+1,0.0)$Matrix DoubleFloat;
+bdxf := new(mdimf,n+1,0.0)$Matrix DoubleFloat;
+ys := 0.0
+yf := 2*numeric(%pi)
+mbdcnd := 0
+bdys := new(ldimf,n+1,0.0)$Matrix DoubleFloat;
+bdyf := new(ldimf,n+1,0.0)$Matrix DoubleFloat;
+zs := 0.0
+zf := numeric(%pi)/2
+nbdcnd := 2
+bdzs := new(ldimf,m+1,0.0)$Matrix DoubleFloat;
+bdzf := new(ldimf,m+1,0.0)$Matrix DoubleFloat;
+lambda := -2
+ifail := 0
+
+-- define grid points
+dx := (xf-xs)/l
+x := [[xs + (i-1)*dx for i in 1..l+1]] :: Matrix DoubleFloat;
+dy := (yf-ys)/m
+y := [[ys + (i-1)*dy for i in 1..m+1]] :: Matrix DoubleFloat;
+dz := (zf-zs)/n
+z := [[zs + (i-1)*dz for i in 1..n+1]] :: Matrix DoubleFloat;
+
+f:=zeroMatrix(ldimf,mdimf,n+1)$M3D DFLOAT;
+--speed up these loops by compiling
+foo()==
+ for k in 1..n+1 repeat
+ for j in 1..m+1 repeat
+ setelt!(f,1,j,k,sin(y(1,j))*cos(z(1,k)))
+ for j in 1..m+1 repeat
+ for i in 1..l+1 repeat
+ setelt!(f,i,j,1,x(1,i)**4*sin(y(1,j)))
+ for k in 2..n+1 repeat
+ for j in 1..m+1 repeat
+ for i in 2..l repeat
+ setelt!(f,i,j,k,4*x(1,i)**2*(3-x(1,i)**2)*sin(y(1,j))*cos(z(1,k)))
+ for j in 1..m+1 repeat
+ for i in 1..l+1 repeat
+ bdzf(i,j):=-x(1,i)**4*sin(y(1,j))
+foo()
+result:=d03faf(xs,xf,l,lbdcnd,bdxs,bdxf,ys,yf,m,mbdcnd,bdys,bdyf,_
+zs,zf,n,nbdcnd,bdzs,bdzf,lambda,ldimf,mdimf,lwrk,f,ifail)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/damped.input.pamphlet b/src/input/damped.input.pamphlet
new file mode 100644
index 00000000..4e0e5310
--- /dev/null
+++ b/src/input/damped.input.pamphlet
@@ -0,0 +1,52 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input damped.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Input file to solve linear second order differential equations
+-- with driving force A*cos(wt).
+
+-- The equation is solved at y(0)=y'(0)=0 for
+-- (i) an overdamped, forced motion example c**2-4*k*m > 0
+-- (ii) critically damped c**2-4*k*m = 0
+-- (iii) underdamped c**2-4*k*m < 0
+
+-- The resulting equations are then plotted.
+
+)clear all
+y := operator y
+deq := m*D(y x, x, 2) + c*D(y x, x) + k*(y x) = A * cos (w * x)
+
+solve(deq, y, x=0, [0,0]) -- takes a few minutes
+ex:=%
+eval(%, [c=6,k=5,m=1,A=6*sqrt(5),w=sqrt(5)]) -- c**2-4*k*m = 16
+draw(%,x=0..15,title=="Overdamping")
+
+eval(ex, [k=5,m=1,A=6*sqrt(5),w=sqrt(5)]) -- c**2-4*k*m = 0
+limit(%,c=sqrt(20),"right") -- otherwise division by zero
+draw(%,x=0..15,title=="Critically Damped")
+
+eval(ex, [c=2,k=5,m=1,A=6*sqrt(5),w=sqrt(5)]) -- c**2-4*k*m = -16
+trigs %
+rule1 := rule sin(-x) == - sin(x)
+rule2 := rule cos(-x) == cos(x)
+rule2 rule1 %% (-3)
+draw(%,x=0..15,title=="Underdamped")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/danzwill.input.pamphlet b/src/input/danzwill.input.pamphlet
new file mode 100644
index 00000000..a6e20714
--- /dev/null
+++ b/src/input/danzwill.input.pamphlet
@@ -0,0 +1,118 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input danzwill.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{bugs}
+\subsection{bug1}
+integrate: pole in path of integration
+<<bug1>>=
+)set mes test off
+d9:= integrate( 1/x**2,x=-1..1)
+)set mes test on
+@
+<<bugs>>=
+-- X-External-Networks: yes
+-- Date: Fri, 3 Apr 92 10:58:35 -0500
+-- From: zwilling@world.std.com (Daniel Zwillinger)
+-- To: axiom@watson.ibm.com
+--
+-- Enclosed is my test suite of integrals in MAPLE format.
+-- I would appreciate you running it under AXIOM and returning the
+-- results to me via email.
+--
+-- Thank you.
+--
+-- ----------------------------------------------------------------------
+-- Daniel Zwillinger email: zwilling@world.std.com
+-- 61 Highland Avenue phone: 617/646-8565
+-- Arlington, MA 02174
+-- Home of: Handbook of Differential Equations
+-- Home of: Handbook of Integration
+-- ----------------------------------------------------------------------
+--
+)clear all
+)set break resume
+i1 := integrate( sin(x), x)
+--i2 := integrate( sqrt(tan(x)), x)
+i3 := integrate( x/(x**3-1),x)
+i4 := integrate( x/sin(x)**2, x)
+i5 := integrate( log(x)/sqrt(x+1), x)
+i6 := integrate( exp(-a*x**2), x)
+i7 := integrate( x/(log(x))**3, x)
+i8 := integrate( x/(sqrt(1+x)+sqrt(1-x)),x)
+i9 := integrate( 1/(2+cos(x)),x)
+i10:= integrate( sin(x)/x**2, x)
+
+d1:= integrate( 1/(2+cos(x)),x=0..4*%pi)
+)set mes test off
+d2:= integrate( sin(x)/x,x=%minusInfinity..%plusInfinity)
+)set mes test on
+d3:= integrate( x**2/(1+x**3),x=0..%plusInfinity)
+d4:= integrate( exp(-x)/sqrt(x),x=0..%plusInfinity)
+d5:= integrate( exp(-x**2)*log(x)**2,x=0..%plusInfinity)
+d6:= integrate( exp(-x)*log(x)**2*x**3,x=1..%plusInfinity)
+d7:= integrate( exp(-x)*x**(1/3),x=1..%plusInfinity)
+d8:= integrate( exp(-x)*x**2/(1-exp(-2*x)),x=0..%plusInfinity)
+
+@
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- X-External-Networks: yes
+-- Date: Fri, 3 Apr 92 10:58:35 -0500
+-- From: zwilling@world.std.com (Daniel Zwillinger)
+-- To: axiom@watson.ibm.com
+--
+-- Enclosed is my test suite of integrals in MAPLE format.
+-- I would appreciate you running it under AXIOM and returning the
+-- results to me via email.
+--
+-- Thank you.
+--
+-- ----------------------------------------------------------------------
+-- Daniel Zwillinger email: zwilling@world.std.com
+-- 61 Highland Avenue phone: 617/646-8565
+-- Arlington, MA 02174
+-- Home of: Handbook of Differential Equations
+-- Home of: Handbook of Integration
+-- ----------------------------------------------------------------------
+--
+)clear all
+)set break resume
+i1 := integrate( sin(x), x)
+--i2 := integrate( sqrt(tan(x)), x)
+i3 := integrate( x/(x**3-1),x)
+i4 := integrate( x/sin(x)**2, x)
+i5 := integrate( log(x)/sqrt(x+1), x)
+i6 := integrate( exp(-a*x**2), x)
+i7 := integrate( x/(log(x))**3, x)
+i8 := integrate( x/(sqrt(1+x)+sqrt(1-x)),x)
+i9 := integrate( 1/(2+cos(x)),x)
+i10:= integrate( sin(x)/x**2, x)
+
+d1:= integrate( 1/(2+cos(x)),x=0..4*%pi)
+)set mes test off
+d2:= integrate( sin(x)/x,x=%minusInfinity..%plusInfinity)
+)set mes test on
+d3:= integrate( x**2/(1+x**3),x=0..%plusInfinity)
+d4:= integrate( exp(-x)/sqrt(x),x=0..%plusInfinity)
+d5:= integrate( exp(-x**2)*log(x)**2,x=0..%plusInfinity)
+d6:= integrate( exp(-x)*log(x)**2*x**3,x=1..%plusInfinity)
+d7:= integrate( exp(-x)*x**(1/3),x=1..%plusInfinity)
+d8:= integrate( exp(-x)*x**2/(1-exp(-2*x)),x=0..%plusInfinity)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/de2re.input.pamphlet b/src/input/de2re.input.pamphlet
new file mode 100644
index 00000000..024bc4a8
--- /dev/null
+++ b/src/input/de2re.input.pamphlet
@@ -0,0 +1,62 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input de2re.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{bugs}
+The function |LinearOrdinaryDifferentialOperator| is undefined
+<<bug1>>=
+dn := D()$L
+-- 4 well known differential operators
+exp:= dn - 1
+sincos := dn**2 + 1
+airy := dn**2 - n
+hermite := dn**2 - 2*n*dn + 1
+
+-- the recurrences satisfied by the coefficients of their series solutions
+--recurrence(exp, 0)
+--recurrence(sincos, 0)
+--recurrence(airy, 0)
+--recurrence(airy, 1)
+--recurrence(hermite, 0)
+
+-- a non-trivial example from the GFUN tech. rep (Salvy & Zimmermann)
+op := (335 * n**2 + 1290) * dn**2 + 1540 * n * dn + 468720
+--recurrence(op, 0)
+@
+<<bugs>>=
+---------------------------------- de2re.input -----------------------------
+)cl all
+
+P := UP(n, INT)
+n := n::P
+
+L := LODO1 P
+<<bug1>>
+
+@
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+---------------------------------- de2re.input -----------------------------
+)cl all
+
+P := UP(n, INT)
+n := n::P
+
+L := LODO1 P
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/decimal.input.pamphlet b/src/input/decimal.input.pamphlet
new file mode 100644
index 00000000..df23be7d
--- /dev/null
+++ b/src/input/decimal.input.pamphlet
@@ -0,0 +1,30 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input DECIMAL.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+
+-- Input generated from DecimalExpansionXmpPage
+)clear all
+
+r := decimal(22/7)
+r + decimal(6/7)
+[decimal(1/i) for i in 350..354]
+decimal(1/2049)
+p := decimal(1/4)*x**2 + decimal(2/3)*x + decimal(4/9)
+q := differentiate(p, x)
+g := gcd(p, q)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/defintef.input.pamphlet b/src/input/defintef.input.pamphlet
new file mode 100644
index 00000000..ad2b8449
--- /dev/null
+++ b/src/input/defintef.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input defintef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+-- defintef.input -- modified, last version was from Aug 21 1992
+-------------------------------- defintef.input -------------------------------
+
+)clear all
+
+-- Evans and Johnson, in their "Uses of technology in the mathematics
+-- curriculum" workbook list a number of
+-- "integrals that your computer can't do".
+-- int(sin(x)^3/(sin(x)^3+cos(x)^3),x=0..Pi/2) is one of them.
+sin(x)**3/(sin(x)**3+cos(x)**3)
+integrate(%, x = 0..%pi/2, "noPole")
+
+x**2/(1+x**3)
+integrate(%, x=0..%plusInfinity)
+
+exp(-x**2)*log(x)**2
+integrate(%, x=0..%plusInfinity)
+
+x * asin(x/(x+1))
+integrate(%, x=0..1)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/defintrf.input.pamphlet b/src/input/defintrf.input.pamphlet
new file mode 100644
index 00000000..3517cb13
--- /dev/null
+++ b/src/input/defintrf.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input defintrf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cle all
+-- difficult example from Kahan:
+-- most symbolic indefinite integrals for f will have a pole between 1 and 2
+-- note that f is positive on [1..2] so we expect the integral to be positive
+f := (x**4 - 3*x**2 + 6)/(x**6-5*x**4+5*x**2+4)
+integrate(f, x = 1..2)
+numeric %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/defs.input.pamphlet b/src/input/defs.input.pamphlet
new file mode 100644
index 00000000..85b35ef3
--- /dev/null
+++ b/src/input/defs.input.pamphlet
@@ -0,0 +1,110 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input defs.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+The [[otherwise]] clause is not recognized either in the NAG version
+or the Axiom version.
+<<fib>>=
+)clear all
+
+fib(0) == 1
+fib(1) == 1
+fib(n) == fib(n-1) + fib(n-2) otherwise
+fib(10)
+fib(100)
+[fib(2**i) for i in 1..]
+
+@
+The [[when]] clause is not recognized either in the NAG version or
+the Axiom version.
+<<chebyshev>>=
+chebyshev1: Integer -> UnivariatePolynomial(x,Fraction Integer)
+chebyshev1(0) == 1
+chebyshev1(1) == x
+chebyshev1(n) == 2*x* chebyshev1(n-1) - chebyshev1(n-2) when n > 1
+chebyshev1(2)
+chebyshev1(7)
+chebyshev2 : Integer -> UnivariatePolynomial(x,Fraction Integer)
+chebyshev2 == rules
+ chebyshev2(0) == 1
+ chebyshev2(1) == 2*x
+ chebyshev2(n) == 2*x* chebyshev2(n-1) - chebyshev2(n-2) when n > 1
+chebyshev2(1)
+chebyshev2(4)
+chebyshev2(11)
+
+@
+<<*>>=
+
+-- Input for page DefinitionsVsMappings
+)clear all
+
+square(x) == x*x
+square == x +-> x*x
+factorial(0) == 1
+factorial(n) == n * fact(n - 1) when n > 0
+factorial(n) ==
+ n = 0 => 1
+ n > 0 => n * factorial(n - 1)
+factorial == n +->
+ n = 0 => 1
+ n > 0 => n * factorial(n - 1)
+
+-- Input for page DefinitionsForFunctions
+)clear all
+
+define square(x) == x*x
+square(x) == x*x
+square(111)
+square == x +-> x*x
+square(1111)
+timesY(x) == x * y
+timesY == x +-> x * y
+timesY(2)
+y := 2
+timesY(2)
+y := 3
+timesY(2)
+
+-- Input for page RulesForVariables
+)clear all
+
+rule x == y + z
+x
+rule y == z + 1
+x
+z := a; y := 1;
+x
+a := 2/3
+x
+
+-- Input for page RulesVsAssignments
+)clear all
+
+rule x == y + 1; rule y == z + 1; rule z == 7;
+[x,y,z]
+rule z == 7; rule y == z + 1; rule x == y + 1; [x, y, z]
+rule z == 1; [x, y, z]
+a := b + 1; b := c + 1; c := 7;
+[a, b, c]
+b := 5; [a, b, c]
+c := 7; b := c + 1; a := b + 1; [a, b, c]
+p := q + 1; rule q == r + 1; r := 7; [p, q, r]
+r := 1; [p, q, r]
+
+-- Input for page RecurrenceRelations
+<<fib>>
+<<chebyshev>>
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/derham.input.pamphlet b/src/input/derham.input.pamphlet
new file mode 100644
index 00000000..760c0de1
--- /dev/null
+++ b/src/input/derham.input.pamphlet
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input DERHAM.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from DeRhamComplexXmpPage
+)clear all
+
+coefRing := Integer
+lv : List Symbol := [x,y,z]
+der := DERHAM(coefRing,lv)
+R := Expression coefRing
+f : R := x**2*y*z-5*x**3*y**2*z**5
+g : R := z**2*y*cos(z)-7*sin(x**3*y**2)*z**2
+h : R :=x*y*z-2*x**3*y*z**2
+dx : der := generator(1)
+dy : der := generator(2)
+dz : der := generator(3)
+[dx,dy,dz] := [generator(i)$der for i in 1..3]
+alpha : der := f*dx + g*dy + h*dz
+beta : der := cos(tan(x*y*z)+x*y*z)*dx + x*dy
+exteriorDifferential alpha;
+exteriorDifferential %
+gamma := alpha * beta
+exteriorDifferential(gamma) - (exteriorDifferential(alpha)*beta - alpha * exteriorDifferential(beta))
+a : BOP := operator('a)
+b : BOP := operator('b)
+c : BOP := operator('c)
+sigma := a(x,y,z) * dx + b(x,y,z) * dy + c(x,y,z) * dz
+theta := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz
+totalDifferential(a(x,y,z))$der
+exteriorDifferential sigma
+exteriorDifferential theta
+one : der := 1
+g1 : der := a([x,t,y,u,v,z,e]) * one
+h1 : der := a([x,y,x,t,x,z,y,r,u,x]) * one
+exteriorDifferential g1
+exteriorDifferential h1
+coefficient(gamma, dx*dy)
+coefficient(gamma, one)
+coefficient(g1,one)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/dfloat.input.pamphlet b/src/input/dfloat.input.pamphlet
new file mode 100644
index 00000000..e517a13b
--- /dev/null
+++ b/src/input/dfloat.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input DFLOAT.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from DoubleFloatXmpPage
+)clear all
+
+2.71828
+2.71828@DoubleFloat
+2.71828 :: DoubleFloat
+eApprox : DoubleFloat := 2.71828
+avg : List DoubleFloat -> DoubleFloat
+avg l ==
+ empty? l => 0 :: DoubleFloat
+ reduce(_+,l) / #l
+avg []
+avg [3.4,9.7,-6.8]
+cos(3.1415926)$DoubleFloat
+cos(3.1415926 :: DoubleFloat)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/dhtri.input.pamphlet b/src/input/dhtri.input.pamphlet
new file mode 100644
index 00000000..a107879d
--- /dev/null
+++ b/src/input/dhtri.input.pamphlet
@@ -0,0 +1,68 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input dhtri.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Create Affine transformations (DH matrices) that transform
+-- a given triangle into another given triangle
+
+-- tri2tri(t1, t2) returns a DHMATRIX which transforms t1 to t2,
+-- where t1 and t2 are the vertices of two triangles in 3-space.
+tri2tri(t1: List Point DoubleFloat, t2: List Point DoubleFloat): DHMATRIX(DoubleFloat) ==
+ n1 := triangleNormal(t1)
+ n2 := triangleNormal(t2)
+ tet2tet(concat(t1, n1), concat(t2, n2))
+
+-- tet2tet(t1, t2) returns a DHMATRIX which transforms t1 to t2,
+-- where t1 and t2 are the vertices of two tetrahedrons in 3-space.
+tet2tet(t1: List Point DoubleFloat, t2: List Point DoubleFloat): DHMATRIX(DoubleFloat) ==
+ m1 := makeColumnMatrix t1
+ m2 := makeColumnMatrix t2
+ m2 * inverse(m1)
+
+-- put the vertices of a tetrahedron into matrix form
+makeColumnMatrix(t) ==
+ m := new(4,4,0)$DHMATRIX(DoubleFloat)
+ for x in t for i in 1..repeat
+ for j in 1..3 repeat
+ m(j,i) := x.j
+ m(4,i) := 1
+ m
+
+-- return a vector normal to the given triangle, whose length
+-- is the square root of the area of the triangle
+triangleNormal(t) ==
+ a := triangleArea t
+ p1 := t.2 - t.1
+ p2 := t.3 - t.2
+ c := cross(p1, p2)
+ len := length(c)
+ len = 0 => error "degenerate triangle!"
+ c := (1/len)*c
+ t.1 + sqrt(a) * c
+
+-- compute the are of a triangle using Heron's formula
+triangleArea t ==
+ a := length(t.2 - t.1)
+ b := length(t.3 - t.2)
+ c := length(t.1 - t.3)
+ s := (a+b+c)/2
+ sqrt(s*(s-a)*(s-b)*(s-c))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/divisor.input.pamphlet b/src/input/divisor.input.pamphlet
new file mode 100644
index 00000000..fee4e32c
--- /dev/null
+++ b/src/input/divisor.input.pamphlet
@@ -0,0 +1,49 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input divisor.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+P0 := UP(x, FRAC INT)
+P1 := UP(y, FRAC P0)
+-- curve given by y^2 = x^8 + 1 (genus = 3)
+R := RADFF(FRAC INT, P0, P1, 1 + x**8, 2)
+genus()$R
+fd := FDIV(FRAC INT, P0, P1, R)
+-- let P be the place (x = 0, y = 1),
+-- Q be the place (x = 0, y = -1),
+-- and d be the divisor P - Q
+d1 := divisor(0, 1)$fd
+d2 := divisor(0, -1)$fd
+d := d1 - d2
+d := reduce d
+-- it turns out that d has order 4:
+generator d
+generator reduce(2 * d)
+generator reduce(3 * d)
+generator reduce(4 * d)
+-- let's verify the RiemannRoch theorem:
+lSpaceBasis d1
+lSpaceBasis(2 * d1)
+lSpaceBasis(3 * d1)
+lSpaceBasis(4 * d1)
+lSpaceBasis(5 * d1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/dmp.input.pamphlet b/src/input/dmp.input.pamphlet
new file mode 100644
index 00000000..aa20b50f
--- /dev/null
+++ b/src/input/dmp.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input DMP.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+
+-- Input generated from DistributedMultivariatePolynomialXmpPage
+)clear all
+
+(d1,d2,d3) : DMP([z,y,x],FRAC INT)
+d1 := -4*z + 4*y**2*x + 16*x**2 + 1
+d2 := 2*z*y**2 + 4*x + 1
+d3 := 2*z*x**2 - 2*y**2 - x
+groebner [d1,d2,d3]
+(n1,n2,n3) : HDMP([z,y,x],FRAC INT)
+(n1,n2,n3) := (d1,d2,d3)
+groebner [n1,n2,n3]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/dpol.input.pamphlet b/src/input/dpol.input.pamphlet
new file mode 100644
index 00000000..78ae0ca9
--- /dev/null
+++ b/src/input/dpol.input.pamphlet
@@ -0,0 +1,71 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input dpol.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+odvar:=ODVAR Symbol
+-- here are the first 5 derivatives of w
+-- the i-th derivative of w is printed as w subscript 5
+[makeVariable('w,i)$odvar for i in 5..0 by -1]
+-- these are now algebraic indeterminates, ranked in an orderly way
+-- in increasing order:
+sort %
+-- we now make a general differential polynomial ring
+-- instead of ODVAR, one can also use SDVAR for sequential ordering
+dpol:=DSMP (FRAC INT, Symbol, odvar)
+-- instead of using makeVariable, it is easier to
+-- think of a differential variable w as a map, where
+-- w.n is n-th derivative of w as an algebraic indeterminate
+w := makeVariable('w)$dpol
+-- create another one called z, which is higher in rank than w
+-- since we are ordering by Symbol
+z := makeVariable('z)$dpol
+-- now define some differential polynomial
+(f,b):dpol
+f:=w.4::dpol - w.1 * w.1 * z.3
+b:=(z.1::dpol)**3 * (z.2)**2 - w.2
+-- compute the leading derivative appearing in b
+lb:=leader b
+-- the separant is the partial derivative of b with respect to its leader
+sb:=separant b
+-- of course you can differentiate these differential polynomials
+-- and try to reduce f modulo the differential ideal generated by b
+-- first eliminate z.3 using the derivative of b
+bprime:= differentiate b
+-- find its leader
+lbprime:= leader bprime
+-- differentiate f partially with respect to lbprime
+pbf:=differentiate (f, lbprime)
+-- to obtain the partial remainder of f with respect to b
+ftilde:=sb * f- pbf * bprime
+-- note high powers of lb still appears in ftilde
+-- the initial is the leading coefficient when b is written
+-- as a univariate polynomial in its leader
+ib:=initial b
+-- compute the leading coefficient of ftilde
+-- as a polynomial in its leader
+lcef:=leadingCoefficient univariate(ftilde, lb)
+-- now to continue eliminating the high powers of lb appearing in ftilde:
+-- to obtain the remainder of f modulo b and its derivatives
+
+f0:=ib * ftilde - lcef * b * lb
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/draw.input.pamphlet b/src/input/draw.input.pamphlet
new file mode 100644
index 00000000..f95e2325
--- /dev/null
+++ b/src/input/draw.input.pamphlet
@@ -0,0 +1,79 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input draw.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+)clear all
+
+
+-- Two dimensional function plots
+
+draw(sin(11*x),x = 0..2*%pi)
+draw(sin(11*x),x = 0..2*%pi,adaptive == false,title == "Non-adaptive plot")
+draw(sin(11*x),x = 0..2*%pi,toScale == true,title == "Drawn to scale")
+draw(sin(11*x),x = 0..2*%pi,coordinates == polar,title == "Polar plot")
+
+draw(tan x,x = -6..6,title == "Clipping on")
+draw(tan x,x = -6..6,clip == false,title == "Clipping off")
+
+-- Parametric plane curves
+
+draw(curve(9*sin(3*t/4),8*sin(t)),t = -4*%pi..4*%pi,_
+ toScale == true,title == "Lissajous curve")
+draw(curve(sin(5*t),t),t = 0..2*%pi,title == "Parametric curve")
+draw(curve(sin(5*t),t),t = 0..2*%pi,_
+ coordinates == polar,title == "Parametric polar curve")
+draw(curve(t,2),t = -3..3,coordinates == parabolic,title == "Parabolic plot")
+
+-- Parametric space curves
+
+draw(curve(sin(t)*cos(3*t/5),cos(t)*cos(3*t/5),cos(t)*sin(3*t/5)),_
+ t = 0..15*%pi,title == "Parametric curve")
+draw(curve(sin(t)*cos(3*t/5),cos(t)*cos(3*t/5),cos(t)*sin(3*t/5)),_
+ t = 0..15*%pi,tubeRadius == .15,title == "Tube around curve")
+draw(curve(4,t,t),t = -9..9,coordinates == cylindrical,title == "Spiral")
+draw(curve(1,t/7,t/5),t = -70*%pi..70*%pi,coordinates == spherical,_
+ title == "Gnarly curve on sphere")
+
+-- Three dimensional function plots
+
+draw(cos(x*y),x = -3..3,y = -3..3)
+
+colorFunction1(x:DFLOAT,y:DFLOAT):DFLOAT == x
+draw(cos(x*y),x = -3..3,y = -3..3,colorFunction == colorFunction1)
+
+colorFunction2(x:DFLOAT,y:DFLOAT):DFLOAT == x**2 + y**2
+draw(cos(x*y),x = -3..3,y = -3..3,colorFunction == colorFunction2)
+
+colorFunction3(x:DFLOAT,y:DFLOAT,z:DFLOAT):DFLOAT == -z
+draw(cos(x*y),x = -3..3,y = -3..3,colorFunction == colorFunction3)
+
+draw(1,u = 0..2*%pi,v = 0..%pi,coordinates == spherical,title == "Sphere")
+draw(1,u = 0..2*%pi,v = 0..%pi,coordinates == spherical,_
+ colorFunction == colorFunction2,title == "Sphere")
+
+draw(1,u = -%pi/2..%pi/2,v = 0..2*%pi,coordinates == oblateSpheroidal(1$DFLOAT),_
+ title == "Oblate spheroidal coordinates")
+
+-- Parametric surfaces
+
+draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u = 0..%pi,v = 0..2*%pi,_
+ title == "Which came first?")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/draw2dSF.data.pamphlet b/src/input/draw2dSF.data.pamphlet
new file mode 100644
index 00000000..6ce55cf4
--- /dev/null
+++ b/src/input/draw2dSF.data.pamphlet
@@ -0,0 +1,1042 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input draw2dSF.data}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+ -2.4E-07 -0.00131248
+-2.395E-07 -0.00145311
+ -2.39E-07 -0.000609357
+-2.385E-07 -0.000671857
+ -2.38E-07 -0.000968732
+-2.375E-07 -0.00151561
+ -2.37E-07 -0.00124217
+-2.365E-07 -0.00167186
+ -2.36E-07 -0.000726545
+-2.355E-07 -0.00175779
+ -2.35E-07 -0.00214842
+-2.345E-07 -0.00077342
+ -2.34E-07 0.000250018
+-2.335E-07 -0.000468732
+ -2.33E-07 -0.00171092
+-2.325E-07 -0.00124217
+ -2.32E-07 -0.00105467
+-2.315E-07 -0.00181248
+ -2.31E-07 -0.00193748
+-2.305E-07 -3.12324E-05
+ -2.3E-07 -0.000406232
+-2.295E-07 -0.00157811
+ -2.29E-07 -0.00120311
+-2.285E-07 -0.000734357
+ -2.28E-07 -0.00136717
+-2.275E-07 -0.00166404
+ -2.27E-07 -0.00123436
+-2.265E-07 -0.00203904
+ -2.26E-07 -0.00124998
+-2.255E-07 -0.00139061
+ -2.25E-07 -0.00191404
+-2.245E-07 -0.000921857
+ -2.24E-07 -0.000414045
+-2.235E-07 -0.00092967
+ -2.23E-07 -0.00146873
+-2.225E-07 -0.00174998
+ -2.22E-07 -0.000937482
+-2.215E-07 -0.00124217
+ -2.21E-07 -0.00067967
+-2.205E-07 -0.00144529
+ -2.2E-07 -0.00122654
+-2.195E-07 -0.00184373
+ -2.19E-07 -0.00181248
+-2.185E-07 -0.000296857
+ -2.18E-07 -0.00116404
+-2.175E-07 -0.000914045
+ -2.17E-07 -0.00021092
+-2.165E-07 -0.000718732
+ -2.16E-07 -0.00208592
+-2.155E-07 -0.00140623
+ -2.15E-07 -0.000515607
+-2.145E-07 -0.00046092
+ -2.14E-07 -0.00161717
+-2.135E-07 -0.00181248
+ -2.13E-07 -0.000976545
+-2.125E-07 -0.00096092
+ -2.12E-07 -0.000914045
+-2.115E-07 -0.000859357
+ -2.11E-07 -0.00120311
+-2.105E-07 -0.00134373
+ -2.1E-07 -0.00117186
+-2.095E-07 -0.00126561
+ -2.09E-07 -0.000781232
+-2.085E-07 -0.00235154
+ -2.08E-07 -0.00119529
+-2.075E-07 -0.00159373
+ -2.07E-07 0.000203143
+-2.065E-07 -0.00138279
+ -2.06E-07 -0.00116404
+-2.055E-07 -0.000945295
+ -2.05E-07 0.000531268
+-2.045E-07 -0.00089842
+ -2.04E-07 -0.000882795
+-2.035E-07 -0.000593732
+ -2.03E-07 -0.00077342
+-2.025E-07 -0.000843732
+ -2.02E-07 -0.00089842
+-2.015E-07 -7.02949E-05
+ -2.01E-07 -0.00042967
+-2.005E-07 -0.00064842
+ -2E-07 0.00019533
+-1.995E-07 -0.00049217
+ -1.99E-07 -0.00113279
+-1.985E-07 -0.00052342
+ -1.98E-07 -0.000749982
+-1.975E-07 -0.000570295
+ -1.97E-07 -0.000156232
+-1.965E-07 -0.000906232
+ -1.96E-07 1.76E-08
+-1.955E-07 7.81426E-05
+ -1.95E-07 0.000171893
+-1.945E-07 -0.000687482
+ -1.94E-07 -0.00103123
+-1.935E-07 -0.000124982
+ -1.93E-07 -0.000531232
+-1.925E-07 7.81426E-05
+ -1.92E-07 -0.00080467
+-1.915E-07 -7.02949E-05
+ -1.91E-07 0.000421893
+-1.905E-07 -0.00086717
+ -1.9E-07 0.00044533
+-1.895E-07 -0.000320295
+ -1.89E-07 -0.00033592
+-1.885E-07 3.90801E-05
+ -1.88E-07 -7.02949E-05
+-1.875E-07 -0.00117967
+ -1.87E-07 -0.000851545
+-1.865E-07 0.000875017
+ -1.86E-07 -0.000187482
+-1.855E-07 -0.00033592
+ -1.85E-07 0.00078908
+-1.845E-07 -0.000781232
+ -1.84E-07 1.76E-08
+-1.835E-07 -0.000374982
+ -1.83E-07 -0.00030467
+-1.825E-07 0.000429705
+ -1.82E-07 -0.000695295
+-1.815E-07 -0.000109357
+ -1.81E-07 0.00082033
+-1.805E-07 -0.00036717
+ -1.8E-07 0.00133595
+-1.795E-07 0.000398455
+ -1.79E-07 0.000585955
+-1.785E-07 0.00121877
+ -1.78E-07 -0.00083592
+-1.775E-07 0.000523455
+ -1.77E-07 0.00041408
+-1.765E-07 -0.000359357
+ -1.76E-07 -6.24824E-05
+-1.755E-07 0.00101564
+ -1.75E-07 0.000359393
+-1.745E-07 0.000710955
+ -1.74E-07 0.00103127
+-1.735E-07 0.00044533
+ -1.73E-07 0.000992205
+-1.725E-07 -9.37324E-05
+ -1.72E-07 0.000953142
+-1.715E-07 0.000812517
+ -1.71E-07 -0.00036717
+-1.705E-07 0.000187518
+ -1.7E-07 0.000593768
+-1.695E-07 0.000906267
+ -1.69E-07 0.00100783
+-1.685E-07 0.00157033
+ -1.68E-07 0.000500018
+-1.675E-07 0.000906267
+ -1.67E-07 -7.02949E-05
+-1.665E-07 0.000640643
+ -1.66E-07 4.68926E-05
+-1.655E-07 0.000796892
+ -1.65E-07 0.000734393
+-1.645E-07 0.000367205
+ -1.64E-07 -7.81074E-05
+-1.635E-07 -1.56074E-05
+ -1.63E-07 0.0016797
+-1.625E-07 0.00069533
+ -1.62E-07 0.000750018
+-1.615E-07 0.000750018
+ -1.61E-07 0.00121095
+-1.605E-07 0.000359393
+ -1.6E-07 -3.90449E-05
+-1.595E-07 0.00010158
+ -1.59E-07 0.000343768
+-1.585E-07 0.000460955
+ -1.58E-07 0.000843767
+-1.575E-07 0.00160158
+ -1.57E-07 0.000890642
+-1.565E-07 0.00146095
+ -1.56E-07 0.000187518
+-1.555E-07 0.000312518
+ -1.55E-07 0.00132033
+-1.545E-07 0.000453143
+ -1.54E-07 0.00128908
+-1.535E-07 7.81426E-05
+ -1.53E-07 0.00028908
+-1.525E-07 0.00038283
+ -1.52E-07 0.00163283
+-1.515E-07 0.000523455
+ -1.51E-07 0.000898455
+-1.505E-07 0.000718768
+ -1.5E-07 3.12676E-05
+-1.495E-07 0.000679705
+ -1.49E-07 0.0012422
+-1.485E-07 0.00103908
+ -1.48E-07 0.00060158
+-1.475E-07 0.0014922
+ -1.47E-07 0.00200002
+-1.465E-07 0.0013047
+ -1.46E-07 0.00156252
+-1.455E-07 0.00102345
+ -1.45E-07 0.00164064
+-1.445E-07 0.000554705
+ -1.44E-07 0.000890642
+-1.435E-07 0.000890642
+ -1.43E-07 0.00208595
+-1.425E-07 0.00069533
+ -1.42E-07 0.0016172
+-1.415E-07 0.00110158
+ -1.41E-07 0.00142189
+-1.405E-07 0.00185158
+ -1.4E-07 0.00141408
+-1.395E-07 0.00206252
+ -1.39E-07 0.00171095
+-1.385E-07 0.000929705
+ -1.38E-07 0.00189845
+-1.375E-07 0.00152345
+ -1.37E-07 0.00038283
+-1.365E-07 0.00113283
+ -1.36E-07 0.00208595
+-1.355E-07 0.0014297
+ -1.35E-07 0.00217189
+-1.345E-07 0.00215627
+ -1.34E-07 0.00195314
+-1.335E-07 0.00160158
+ -1.33E-07 0.00063283
+-1.325E-07 0.00135158
+ -1.32E-07 0.00181252
+-1.315E-07 0.00238283
+ -1.31E-07 0.0028047
+-1.305E-07 0.00254689
+ -1.3E-07 0.00097658
+-1.295E-07 0.00147658
+ -1.29E-07 0.00269533
+-1.285E-07 0.00232033
+ -1.28E-07 0.00196095
+-1.275E-07 0.00177345
+ -1.27E-07 0.0026172
+-1.265E-07 0.0022422
+ -1.26E-07 0.0014922
+-1.255E-07 0.00291408
+ -1.25E-07 0.00220314
+-1.245E-07 0.00185939
+ -1.24E-07 0.00214845
+-1.235E-07 0.0024922
+ -1.23E-07 0.00171095
+-1.225E-07 0.00293752
+ -1.22E-07 0.00254689
+-1.215E-07 0.00321095
+ -1.21E-07 0.00318752
+-1.205E-07 0.00271877
+ -1.2E-07 0.00296877
+-1.195E-07 0.00353127
+ -1.19E-07 0.00203908
+-1.185E-07 0.00291408
+ -1.18E-07 0.0021797
+-1.175E-07 0.0031797
+ -1.17E-07 0.0030547
+-1.165E-07 0.00217189
+ -1.16E-07 0.00253127
+-1.155E-07 0.00327345
+ -1.15E-07 0.0029922
+-1.145E-07 0.00353127
+ -1.14E-07 0.00388283
+-1.135E-07 0.00303127
+ -1.13E-07 0.00318752
+-1.125E-07 0.00289845
+ -1.12E-07 0.00357814
+-1.115E-07 0.00215627
+ -1.11E-07 0.00243752
+-1.105E-07 0.00252345
+ -1.1E-07 0.00296095
+-1.095E-07 0.00378908
+ -1.09E-07 0.00302345
+-1.085E-07 0.00400783
+ -1.08E-07 0.0035547
+-1.075E-07 0.00247658
+ -1.07E-07 0.00225002
+-1.065E-07 0.00319533
+ -1.06E-07 0.00435939
+-1.055E-07 0.00253127
+ -1.05E-07 0.00391408
+-1.045E-07 0.00300002
+ -1.04E-07 0.00326564
+-1.035E-07 0.00470314
+ -1.03E-07 0.00316408
+-1.025E-07 0.00346877
+ -1.02E-07 0.00428127
+-1.015E-07 0.00376564
+ -1.01E-07 0.0041797
+-1.005E-07 0.00289064
+ -1E-07 0.00328908
+ -9.95E-08 0.00354689
+ -9.9E-08 0.0041172
+ -9.85E-08 0.00240627
+ -9.8E-08 0.00435939
+ -9.75E-08 0.00403127
+ -9.7E-08 0.00453908
+ -9.65E-08 0.00403127
+ -9.6E-08 0.00457033
+ -9.55E-08 0.00416408
+ -9.5E-08 0.00332814
+ -9.45E-08 0.00367189
+ -9.4E-08 0.00403908
+ -9.35E-08 0.00371095
+ -9.3E-08 0.00426564
+ -9.25E-08 0.00442189
+ -9.2E-08 0.00441408
+ -9.15E-08 0.00359377
+ -9.1E-08 0.00396095
+ -9.05E-08 0.0026797
+ -9E-08 0.00473439
+ -8.95E-08 0.00453127
+ -8.9E-08 0.00323439
+ -8.85E-08 0.00406252
+ -8.8E-08 0.0047422
+ -8.75E-08 0.0033047
+ -8.7E-08 0.00473439
+ -8.65E-08 0.00560158
+ -8.6E-08 0.00414064
+ -8.55E-08 0.00445314
+ -8.5E-08 0.00408595
+ -8.45E-08 0.00476564
+ -8.4E-08 0.00385939
+ -8.35E-08 0.00585158
+ -8.3E-08 0.00444533
+ -8.25E-08 0.0051172
+ -8.2E-08 0.00632033
+ -8.15E-08 0.00590627
+ -8.1E-08 0.00733595
+ -8.05E-08 0.00625783
+ -8E-08 0.00516408
+ -7.95E-08 0.00610158
+ -7.9E-08 0.00650783
+ -7.85E-08 0.0056172
+ -7.8E-08 0.00653127
+ -7.75E-08 0.0053047
+ -7.7E-08 0.00707814
+ -7.65E-08 0.00648439
+ -7.6E-08 0.00800783
+ -7.55E-08 0.00733595
+ -7.5E-08 0.00678908
+ -7.45E-08 0.0068672
+ -7.4E-08 0.00684377
+ -7.35E-08 0.00729689
+ -7.3E-08 0.00697658
+ -7.25E-08 0.0070547
+ -7.2E-08 0.00640627
+ -7.15E-08 0.00826564
+ -7.1E-08 0.00841408
+ -7.05E-08 0.00987502
+ -7E-08 0.00900002
+ -6.95E-08 0.00850002
+ -6.9E-08 0.0078047
+ -6.85E-08 0.0084297
+ -6.8E-08 0.0095547
+ -6.75E-08 0.00889064
+ -6.7E-08 0.00870314
+ -6.65E-08 0.00908595
+ -6.6E-08 0.00975783
+ -6.55E-08 0.00946877
+ -6.5E-08 0.0106875
+ -6.45E-08 0.0101641
+ -6.4E-08 0.0102969
+ -6.35E-08 0.0108125
+ -6.3E-08 0.0116406
+ -6.25E-08 0.0087422
+ -6.2E-08 0.0105
+ -6.15E-08 0.0106485
+ -6.1E-08 0.0118125
+ -6.05E-08 0.011586
+ -6E-08 0.0118047
+ -5.95E-08 0.0133438
+ -5.9E-08 0.0128281
+ -5.85E-08 0.012961
+ -5.8E-08 0.0143828
+ -5.75E-08 0.0131485
+ -5.7E-08 0.0129375
+ -5.65E-08 0.0150703
+ -5.6E-08 0.0145547
+ -5.55E-08 0.0140156
+ -5.5E-08 0.0155938
+ -5.45E-08 0.0142735
+ -5.4E-08 0.0143985
+ -5.35E-08 0.0164766
+ -5.3E-08 0.0161172
+ -5.25E-08 0.0163594
+ -5.2E-08 0.0166094
+ -5.15E-08 0.0175781
+ -5.1E-08 0.0165
+ -5.05E-08 0.0179766
+ -5E-08 0.0196563
+ -4.95E-08 0.0185469
+ -4.9E-08 0.0197969
+ -4.85E-08 0.0188594
+ -4.8E-08 0.0200938
+ -4.75E-08 0.0206406
+ -4.7E-08 0.0210938
+ -4.65E-08 0.0207578
+ -4.6E-08 0.022211
+ -4.55E-08 0.0219063
+ -4.5E-08 0.0223516
+ -4.45E-08 0.0234297
+ -4.4E-08 0.0240547
+ -4.35E-08 0.0238203
+ -4.3E-08 0.0252344
+ -4.25E-08 0.0265156
+ -4.2E-08 0.02575
+ -4.15E-08 0.0259063
+ -4.1E-08 0.0269766
+ -4.05E-08 0.0269375
+ -4E-08 0.0280625
+ -3.95E-08 0.0287266
+ -3.9E-08 0.0296172
+ -3.85E-08 0.0304141
+ -3.8E-08 0.0318438
+ -3.75E-08 0.0311719
+ -3.7E-08 0.0322422
+ -3.65E-08 0.033086
+ -3.6E-08 0.0334063
+ -3.55E-08 0.0340313
+ -3.5E-08 0.0354063
+ -3.45E-08 0.0362031
+ -3.4E-08 0.0367344
+ -3.35E-08 0.0381875
+ -3.3E-08 0.038875
+ -3.25E-08 0.0402734
+ -3.2E-08 0.0414453
+ -3.15E-08 0.0425078
+ -3.1E-08 0.0426875
+ -3.05E-08 0.0440859
+ -3E-08 0.0447188
+ -2.95E-08 0.0455078
+ -2.9E-08 0.0476016
+ -2.85E-08 0.0486797
+ -2.8E-08 0.0495
+ -2.75E-08 0.0506875
+ -2.7E-08 0.0539531
+ -2.65E-08 0.0525938
+ -2.6E-08 0.05425
+ -2.55E-08 0.0565078
+ -2.5E-08 0.0573281
+ -2.45E-08 0.0581406
+ -2.4E-08 0.0601484
+ -2.35E-08 0.0616641
+ -2.3E-08 0.0639531
+ -2.25E-08 0.0654453
+ -2.2E-08 0.0677578
+ -2.15E-08 0.0685156
+ -2.1E-08 0.0703828
+ -2.05E-08 0.0719922
+ -2E-08 0.0737578
+ -1.95E-08 0.0749609
+ -1.9E-08 0.0771875
+ -1.85E-08 0.0790078
+ -1.8E-08 0.0811016
+ -1.75E-08 0.0837266
+ -1.7E-08 0.0858594
+ -1.65E-08 0.0877031
+ -1.6E-08 0.0900156
+ -1.55E-08 0.0916094
+ -1.5E-08 0.0946875
+ -1.45E-08 0.0956406
+ -1.4E-08 0.0981797
+ -1.35E-08 0.100422
+ -1.3E-08 0.103219
+ -1.25E-08 0.106805
+ -1.2E-08 0.108523
+ -1.15E-08 0.111656
+ -1.1E-08 0.114273
+ -1.05E-08 0.116617
+ -1E-08 0.119602
+ -9.5E-09 0.122133
+ -9E-09 0.124555
+ -8.5E-09 0.127906
+ -8E-09 0.130547
+ -7.5E-09 0.133633
+ -7E-09 0.137133
+ -6.5E-09 0.140391
+ -6E-09 0.143367
+ -5.5E-09 0.146648
+ -5E-09 0.148992
+ -4.5E-09 0.152203
+ -4E-09 0.155273
+ -3.5E-09 0.158633
+ -3E-09 0.161578
+ -2.5E-09 0.164703
+ -2E-09 0.168047
+ -1.5E-09 0.171469
+ -1E-09 0.175586
+ -5E-10 0.179055
+3.63959E-23 0.182453
+ 5E-10 0.18543
+ 1E-09 0.189086
+ 1.5E-09 0.191875
+ 2E-09 0.195477
+ 2.5E-09 0.198781
+ 3E-09 0.202398
+ 3.5E-09 0.205734
+ 4E-09 0.209359
+ 4.5E-09 0.212961
+ 5E-09 0.215805
+ 5.5E-09 0.219164
+ 6E-09 0.22232
+ 6.5E-09 0.225641
+ 7E-09 0.228672
+ 7.5E-09 0.23243
+ 8E-09 0.235164
+ 8.5E-09 0.238039
+ 9E-09 0.241383
+ 9.5E-09 0.244727
+ 1E-08 0.247617
+ 1.05E-08 0.250633
+ 1.1E-08 0.253758
+ 1.15E-08 0.256984
+ 1.2E-08 0.259141
+ 1.25E-08 0.262078
+ 1.3E-08 0.265367
+ 1.35E-08 0.267242
+ 1.4E-08 0.269383
+ 1.45E-08 0.272156
+ 1.5E-08 0.274086
+ 1.55E-08 0.277016
+ 1.6E-08 0.278531
+ 1.65E-08 0.280727
+ 1.7E-08 0.283562
+ 1.75E-08 0.284047
+ 1.8E-08 0.286289
+ 1.85E-08 0.287523
+ 1.9E-08 0.289078
+ 1.95E-08 0.291039
+ 2E-08 0.2915
+ 2.05E-08 0.29325
+ 2.1E-08 0.293508
+ 2.15E-08 0.295195
+ 2.2E-08 0.296867
+ 2.25E-08 0.296773
+ 2.3E-08 0.296648
+ 2.35E-08 0.296789
+ 2.4E-08 0.297508
+ 2.45E-08 0.297664
+ 2.5E-08 0.298359
+ 2.55E-08 0.298641
+ 2.6E-08 0.29793
+ 2.65E-08 0.296852
+ 2.7E-08 0.297273
+ 2.75E-08 0.296898
+ 2.8E-08 0.295258
+ 2.85E-08 0.295398
+ 2.9E-08 0.293492
+ 2.95E-08 0.292914
+ 3E-08 0.291711
+ 3.05E-08 0.289727
+ 3.1E-08 0.289117
+ 3.15E-08 0.286852
+ 3.2E-08 0.285711
+ 3.25E-08 0.28357
+ 3.3E-08 0.282
+ 3.35E-08 0.279172
+ 3.4E-08 0.278516
+ 3.45E-08 0.276
+ 3.5E-08 0.272414
+ 3.55E-08 0.270641
+ 3.6E-08 0.267773
+ 3.65E-08 0.265148
+ 3.7E-08 0.262961
+ 3.75E-08 0.260445
+ 3.8E-08 0.256016
+ 3.85E-08 0.253523
+ 3.9E-08 0.250234
+ 3.95E-08 0.247047
+ 4E-08 0.243266
+ 4.05E-08 0.239602
+ 4.1E-08 0.235469
+ 4.15E-08 0.233078
+ 4.2E-08 0.230961
+ 4.25E-08 0.227797
+ 4.3E-08 0.222062
+ 4.35E-08 0.219891
+ 4.4E-08 0.217766
+ 4.45E-08 0.211242
+ 4.5E-08 0.208766
+ 4.55E-08 0.203891
+ 4.6E-08 0.201742
+ 4.65E-08 0.198883
+ 4.7E-08 0.193242
+ 4.75E-08 0.189906
+ 4.8E-08 0.185273
+ 4.85E-08 0.184773
+ 4.9E-08 0.181344
+ 4.95E-08 0.175828
+ 5E-08 0.173594
+ 5.05E-08 0.169437
+ 5.1E-08 0.164836
+ 5.15E-08 0.162859
+ 5.2E-08 0.158445
+ 5.25E-08 0.156969
+ 5.3E-08 0.153102
+ 5.35E-08 0.147469
+ 5.4E-08 0.145375
+ 5.45E-08 0.145
+ 5.5E-08 0.140016
+ 5.55E-08 0.138375
+ 5.6E-08 0.134617
+ 5.65E-08 0.133
+ 5.7E-08 0.128992
+ 5.75E-08 0.127
+ 5.8E-08 0.12493
+ 5.85E-08 0.121516
+ 5.9E-08 0.119289
+ 5.95E-08 0.117695
+ 6E-08 0.115375
+ 6.05E-08 0.112688
+ 6.1E-08 0.109898
+ 6.15E-08 0.10793
+ 6.2E-08 0.105633
+ 6.25E-08 0.102891
+ 6.3E-08 0.101523
+ 6.35E-08 0.0995391
+ 6.4E-08 0.0973828
+ 6.45E-08 0.0974531
+ 6.5E-08 0.0942969
+ 6.55E-08 0.0947891
+ 6.6E-08 0.0924609
+ 6.65E-08 0.0900625
+ 6.7E-08 0.0894766
+ 6.75E-08 0.0877109
+ 6.8E-08 0.0852813
+ 6.85E-08 0.0844766
+ 6.9E-08 0.0838359
+ 6.95E-08 0.0830547
+ 7E-08 0.0823672
+ 7.05E-08 0.0814453
+ 7.1E-08 0.0801641
+ 7.15E-08 0.0793906
+ 7.2E-08 0.0774688
+ 7.25E-08 0.0774766
+ 7.3E-08 0.0764922
+ 7.35E-08 0.0749922
+ 7.4E-08 0.0745078
+ 7.45E-08 0.0747656
+ 7.5E-08 0.0740625
+ 7.55E-08 0.0742109
+ 7.6E-08 0.0723672
+ 7.65E-08 0.0724141
+ 7.7E-08 0.0713672
+ 7.75E-08 0.0709688
+ 7.8E-08 0.0688281
+ 7.85E-08 0.0690625
+ 7.9E-08 0.0691172
+ 7.95E-08 0.0678594
+ 8E-08 0.0683047
+ 8.05E-08 0.0673672
+ 8.1E-08 0.0672422
+ 8.15E-08 0.0664609
+ 8.2E-08 0.0669844
+ 8.25E-08 0.0654375
+ 8.3E-08 0.0649688
+ 8.35E-08 0.0644375
+ 8.4E-08 0.0645469
+ 8.45E-08 0.0646875
+ 8.5E-08 0.0638125
+ 8.55E-08 0.0629219
+ 8.6E-08 0.0632109
+ 8.65E-08 0.0619922
+ 8.7E-08 0.0632344
+ 8.75E-08 0.0623125
+ 8.8E-08 0.0608516
+ 8.85E-08 0.0614297
+ 8.9E-08 0.0597422
+ 8.95E-08 0.0603828
+ 9E-08 0.0592422
+ 9.05E-08 0.0593672
+ 9.1E-08 0.059125
+ 9.15E-08 0.058125
+ 9.2E-08 0.0585313
+ 9.25E-08 0.0589141
+ 9.3E-08 0.0565547
+ 9.35E-08 0.0565234
+ 9.4E-08 0.0561094
+ 9.45E-08 0.0554688
+ 9.5E-08 0.0552344
+ 9.55E-08 0.0533125
+ 9.6E-08 0.055
+ 9.65E-08 0.054625
+ 9.7E-08 0.0537578
+ 9.75E-08 0.053
+ 9.8E-08 0.0532188
+ 9.85E-08 0.0532891
+ 9.9E-08 0.0524375
+ 9.95E-08 0.0532109
+ 1E-07 0.0511563
+ 1.005E-07 0.0501172
+ 1.01E-07 0.0491172
+ 1.015E-07 0.0502266
+ 1.02E-07 0.0482266
+ 1.025E-07 0.0484766
+ 1.03E-07 0.0477734
+ 1.035E-07 0.0484922
+ 1.04E-07 0.0476719
+ 1.045E-07 0.04725
+ 1.05E-07 0.0462344
+ 1.055E-07 0.0455391
+ 1.06E-07 0.0445625
+ 1.065E-07 0.0454219
+ 1.07E-07 0.0449219
+ 1.075E-07 0.04475
+ 1.08E-07 0.0447031
+ 1.085E-07 0.0437109
+ 1.09E-07 0.0428125
+ 1.095E-07 0.0430234
+ 1.1E-07 0.0428281
+ 1.105E-07 0.0419063
+ 1.11E-07 0.0410469
+ 1.115E-07 0.0416797
+ 1.12E-07 0.0413672
+ 1.125E-07 0.0408516
+ 1.13E-07 0.0406328
+ 1.135E-07 0.0401953
+ 1.14E-07 0.0399531
+ 1.145E-07 0.0395156
+ 1.15E-07 0.0392813
+ 1.155E-07 0.0401563
+ 1.16E-07 0.0386094
+ 1.165E-07 0.0389297
+ 1.17E-07 0.0379219
+ 1.175E-07 0.0376172
+ 1.18E-07 0.0386016
+ 1.185E-07 0.0377188
+ 1.19E-07 0.0370781
+ 1.195E-07 0.0363985
+ 1.2E-07 0.0381953
+ 1.205E-07 0.037711
+ 1.21E-07 0.0366172
+ 1.215E-07 0.0369688
+ 1.22E-07 0.0377969
+ 1.225E-07 0.0367188
+ 1.23E-07 0.0369688
+ 1.235E-07 0.0369297
+ 1.24E-07 0.0367188
+ 1.245E-07 0.0362735
+ 1.25E-07 0.0364688
+ 1.255E-07 0.0368438
+ 1.26E-07 0.0357031
+ 1.265E-07 0.0365938
+ 1.27E-07 0.0355703
+ 1.275E-07 0.0355235
+ 1.28E-07 0.0346641
+ 1.285E-07 0.0352266
+ 1.29E-07 0.0374531
+ 1.295E-07 0.0356563
+ 1.3E-07 0.035875
+ 1.305E-07 0.0351406
+ 1.31E-07 0.0351016
+ 1.315E-07 0.0352031
+ 1.32E-07 0.0354141
+ 1.325E-07 0.0354141
+ 1.33E-07 0.0353047
+ 1.335E-07 0.034961
+ 1.34E-07 0.0346094
+ 1.345E-07 0.0358281
+ 1.35E-07 0.0350625
+ 1.355E-07 0.0357344
+ 1.36E-07 0.0358828
+ 1.365E-07 0.0346406
+ 1.37E-07 0.0350391
+ 1.375E-07 0.0361094
+ 1.38E-07 0.0337578
+ 1.385E-07 0.0343594
+ 1.39E-07 0.0340391
+ 1.395E-07 0.0340235
+ 1.4E-07 0.0350781
+ 1.405E-07 0.0349453
+ 1.41E-07 0.0347578
+ 1.415E-07 0.0349375
+ 1.42E-07 0.0345313
+ 1.425E-07 0.0350078
+ 1.43E-07 0.0338828
+ 1.435E-07 0.0328125
+ 1.44E-07 0.0345703
+ 1.445E-07 0.0340235
+ 1.45E-07 0.0339141
+ 1.455E-07 0.0339141
+ 1.46E-07 0.0338438
+ 1.465E-07 0.0334688
+ 1.47E-07 0.0341719
+ 1.475E-07 0.0329063
+ 1.48E-07 0.0328828
+ 1.485E-07 0.0329688
+ 1.49E-07 0.0329922
+ 1.495E-07 0.0329531
+ 1.5E-07 0.032211
+ 1.505E-07 0.0329141
+ 1.51E-07 0.0320547
+ 1.515E-07 0.0331719
+ 1.52E-07 0.0334766
+ 1.525E-07 0.0325078
+ 1.53E-07 0.0326094
+ 1.535E-07 0.0315703
+ 1.54E-07 0.0319531
+ 1.545E-07 0.0311563
+ 1.55E-07 0.0308281
+ 1.555E-07 0.0319141
+ 1.56E-07 0.0306172
+ 1.565E-07 0.032
+ 1.57E-07 0.0317266
+ 1.575E-07 0.0305
+ 1.58E-07 0.0306016
+ 1.585E-07 0.0317266
+ 1.59E-07 0.0307735
+ 1.595E-07 0.0294844
+ 1.6E-07 0.0290313
+ 1.605E-07 0.0294766
+ 1.61E-07 0.0292578
+ 1.615E-07 0.0295313
+ 1.62E-07 0.0302969
+ 1.625E-07 0.0304375
+ 1.63E-07 0.0292422
+ 1.635E-07 0.0286797
+ 1.64E-07 0.028836
+ 1.645E-07 0.0288203
+ 1.65E-07 0.0279297
+ 1.655E-07 0.0283203
+ 1.66E-07 0.0276875
+ 1.665E-07 0.028875
+ 1.67E-07 0.0285703
+ 1.675E-07 0.0277813
+ 1.68E-07 0.0286172
+ 1.685E-07 0.0286328
+ 1.69E-07 0.0286953
+ 1.695E-07 0.0280078
+ 1.7E-07 0.0274844
+ 1.705E-07 0.0271094
+ 1.71E-07 0.0270235
+ 1.715E-07 0.0276016
+ 1.72E-07 0.0278047
+ 1.725E-07 0.0266328
+ 1.73E-07 0.0269219
+ 1.735E-07 0.0271641
+ 1.74E-07 0.0274531
+ 1.745E-07 0.0280938
+ 1.75E-07 0.0259688
+ 1.755E-07 0.0266563
+ 1.76E-07 0.0273906
+ 1.765E-07 0.0279297
+ 1.77E-07 0.0268516
+ 1.775E-07 0.0263985
+ 1.78E-07 0.0260313
+ 1.785E-07 0.0269063
+ 1.79E-07 0.0266406
+ 1.795E-07 0.0270547
+ 1.8E-07 0.0274219
+ 1.805E-07 0.026625
+ 1.81E-07 0.0263438
+ 1.815E-07 0.0261328
+ 1.82E-07 0.0256172
+ 1.825E-07 0.02525
+ 1.83E-07 0.0266953
+ 1.835E-07 0.0261719
+ 1.84E-07 0.0259297
+ 1.845E-07 0.0263594
+ 1.85E-07 0.0260938
+ 1.855E-07 0.026875
+ 1.86E-07 0.0256172
+ 1.865E-07 0.0260391
+ 1.87E-07 0.0260938
+ 1.875E-07 0.0265625
+ 1.88E-07 0.026125
+ 1.885E-07 0.0261797
+ 1.89E-07 0.0255938
+ 1.895E-07 0.0255625
+ 1.9E-07 0.0258516
+ 1.905E-07 0.0264688
+ 1.91E-07 0.0264063
+ 1.915E-07 0.024875
+ 1.92E-07 0.0251875
+ 1.925E-07 0.0244531
+ 1.93E-07 0.0255625
+ 1.935E-07 0.0265156
+ 1.94E-07 0.0254844
+ 1.945E-07 0.0261875
+ 1.95E-07 0.0254375
+ 1.955E-07 0.0255
+ 1.96E-07 0.0253672
+ 1.965E-07 0.0254375
+ 1.97E-07 0.024711
+ 1.975E-07 0.0240703
+ 1.98E-07 0.0243125
+ 1.985E-07 0.0248828
+ 1.99E-07 0.0253516
+ 1.995E-07 0.0249063
+ 2E-07 0.0250547
+ 2.005E-07 0.0254141
+ 2.01E-07 0.0243281
+ 2.015E-07 0.0251797
+ 2.02E-07 0.0251953
+ 2.025E-07 0.0247344
+ 2.03E-07 0.0255156
+ 2.035E-07 0.0247188
+ 2.04E-07 0.0229688
+ 2.045E-07 0.0251797
+ 2.05E-07 0.0238594
+ 2.055E-07 0.0255703
+ 2.06E-07 0.0247969
+ 2.065E-07 0.0253281
+ 2.07E-07 0.0251875
+ 2.075E-07 0.0238828
+ 2.08E-07 0.0241406
+ 2.085E-07 0.0241563
+ 2.09E-07 0.0237735
+ 2.095E-07 0.0244297
+ 2.1E-07 0.0243047
+ 2.105E-07 0.0228828
+ 2.11E-07 0.0226172
+ 2.115E-07 0.0242188
+ 2.12E-07 0.0241485
+ 2.125E-07 0.0235
+ 2.13E-07 0.0242891
+ 2.135E-07 0.0233438
+ 2.14E-07 0.0226328
+ 2.145E-07 0.0227266
+ 2.15E-07 0.0228516
+ 2.155E-07 0.023625
+ 2.16E-07 0.0246719
+ 2.165E-07 0.0231641
+ 2.17E-07 0.0241172
+ 2.175E-07 0.0224844
+ 2.18E-07 0.0236016
+ 2.185E-07 0.0249453
+ 2.19E-07 0.0238047
+ 2.195E-07 0.0226719
+ 2.2E-07 0.0229297
+ 2.205E-07 0.0230391
+ 2.21E-07 0.0234922
+ 2.215E-07 0.0241953
+ 2.22E-07 0.0234453
+ 2.225E-07 0.0229844
+ 2.23E-07 0.02225
+ 2.235E-07 0.0241485
+ 2.24E-07 0.023711
+ 2.245E-07 0.0224766
+ 2.25E-07 0.0236875
+ 2.255E-07 0.0224766
+ 2.26E-07 0.0222422
+ 2.265E-07 0.0228438
+ 2.27E-07 0.022836
+ 2.275E-07 0.0232813
+ 2.28E-07 0.0229531
+ 2.285E-07 0.022625
+ 2.29E-07 0.0228906
+ 2.295E-07 0.0230703
+ 2.3E-07 0.0226641
+ 2.305E-07 0.0221953
+ 2.31E-07 0.022086
+ 2.315E-07 0.0216094
+ 2.32E-07 0.0218125
+ 2.325E-07 0.02225
+ 2.33E-07 0.0225938
+ 2.335E-07 0.0235625
+ 2.34E-07 0.0215
+ 2.345E-07 0.0226172
+ 2.35E-07 0.0225781
+ 2.355E-07 0.0226328
+ 2.36E-07 0.0221485
+ 2.365E-07 0.0221016
+ 2.37E-07 0.0222578
+ 2.375E-07 0.0212813
+ 2.38E-07 0.0211485
+ 2.385E-07 0.0220547
+ 2.39E-07 0.0224766
+ 2.395E-07 0.0226016
+ 2.4E-07 0.0226797
+ 2.405E-07 0.0230469
+ 2.41E-07 0.0215938
+ 2.415E-07 0.0218985
+ 2.42E-07 0.0206641
+ 2.425E-07 0.0216485
+ 2.43E-07 0.0225391
+ 2.435E-07 0.0224297
+ 2.44E-07 0.0217969
+ 2.445E-07 0.0215625
+ 2.45E-07 0.021461
+ 2.455E-07 0.0222266
+ 2.46E-07 0.0212031
+ 2.465E-07 0.0218594
+ 2.47E-07 0.0209297
+ 2.475E-07 0.0211094
+ 2.48E-07 0.0213985
+ 2.485E-07 0.0213906
+ 2.49E-07 0.0213281
+ 2.495E-07 0.021625
+ 2.5E-07 0.0210469
+ 2.505E-07 0.0222188
+ 2.51E-07 0.0219375
+ 2.515E-07 0.0204688
+ 2.52E-07 0.0210703
+ 2.525E-07 0.0205938
+ 2.53E-07 0.0215781
+ 2.535E-07 0.0215
+ 2.54E-07 0.0204688
+ 2.545E-07 0.0210547
+ 2.55E-07 0.0218906
+ 2.555E-07 0.0217969
+ 2.56E-07 0.0210703
+ 2.565E-07 0.0212891
+ 2.57E-07 0.0206563
+ 2.575E-07 0.0201328
+ 2.58E-07 0.020625
+ 2.585E-07 0.0204141
+ 2.59E-07 0.0209766
+ 2.595E-07 0.021336
+ 2.6E-07 0.0216563
+ 2.605E-07 0.0208906
+ 2.61E-07 0.0212031
+ 2.615E-07 0.0212344
+ 2.62E-07 0.0214922
+ 2.625E-07 0.0202031
+ 2.63E-07 0.0209297
+ 2.635E-07 0.0205547
+ 2.64E-07 0.0199219
+ 2.645E-07 0.0211406
+ 2.65E-07 0.0197891
+ 2.655E-07 0.0206328
+ 2.66E-07 0.0220313
+ 2.665E-07 0.02125
+ 2.67E-07 0.0208281
+ 2.675E-07 0.0203828
+ 2.68E-07 0.0206406
+ 2.685E-07 0.0203438
+ 2.69E-07 0.019875
+ 2.695E-07 0.0205156
+ 2.7E-07 0.020086
+ 2.705E-07 0.0210547
+ 2.71E-07 0.020711
+ 2.715E-07 0.0217735
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/draw2dSF.input.pamphlet b/src/input/draw2dSF.input.pamphlet
new file mode 100644
index 00000000..6edaed4a
--- /dev/null
+++ b/src/input/draw2dSF.input.pamphlet
@@ -0,0 +1,52 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input draw2dSF.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+
+--open a file for input
+
+drawList(lp:List Point DoubleFloat):VIEW2D ==
+ n := #lp
+ g := graphImage()$GRIMAGE
+ for p in lp repeat
+ component(g,p,pointColorDefault(),lineColorDefault(),pointSizeDefault())
+ gi := makeGraphImage(g)$GRIMAGE
+ makeViewport2D(gi,[title("Points")])$VIEW2D
+
+readTheFile(filename,numberOfPoints) ==
+ filenew:FILE(DoubleFloat):=open(filename,"input")
+ llp:=[point([read!(filenew),read!(filenew)])$Point(DoubleFloat)
+ for i in 1..numberOfPoints]
+
+-- first we read the file of x, y data
+-- we cheat to get at the AXIOM variable
+axiom:=string getEnv("AXIOM")$Lisp
+pts:=readTheFile(axiom "/../../src/input/draw2dSF.data",1024);
+
+-- then we plot the points
+drawList(pts)
+
+
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/drawalg.input.pamphlet b/src/input/drawalg.input.pamphlet
new file mode 100644
index 00000000..02ef11a7
--- /dev/null
+++ b/src/input/drawalg.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input drawalg.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- TopLevelDrawFunctionsForAlgebraicCurves example
+
+--Plotting Plane Algebraic Curve
+draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/drawcfn.input.pamphlet b/src/input/drawcfn.input.pamphlet
new file mode 100644
index 00000000..98a682e2
--- /dev/null
+++ b/src/input/drawcfn.input.pamphlet
@@ -0,0 +1,93 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input drawcfn.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Two dimensional function plots
+
+f(x:SF):SF == sin(11*x)
+draw(f,0..2*%pi)
+draw(f,0..2*%pi,adaptive == false,title == "Non-adaptive plot")
+draw(f,0..2*%pi,toScale == true,title == "Drawn to scale")
+draw(f,0..2*%pi,coordinates == polar,title == "Polar plot")
+
+g(x:SF):SF == tan(x)
+draw(g,-6..6,title == "Clipping on")
+draw(g,-6..6,clip == false,title == "Clipping off")
+
+-- Parametric plane curves
+
+f1(t:SF):SF == 9*sin(3*t/4)
+f2(t:SF):SF == 8*sin(t)
+draw(curve(f1,f2),-4*%pi..4*%pi,toScale == true,title == "Lissajous curve")
+
+g1(t:SF):SF == sin(5*t)
+g2(t:SF):SF == t
+draw(curve(g1,g2),0..2*%pi,title == "Parametric curve")
+draw(curve(g1,g2),0..2*%pi,_
+ coordinates == polar,title == "Parametric polar curve")
+
+h1(t:SF):SF == t
+h2(t:SF):SF == 2
+draw(curve(h1,h2),-3..3,coordinates == parabolic,title == "Parabolic plot")
+
+-- Parametric space curves
+
+i1(t:SF):SF == sin(t)*cos(3*t/5)
+i2(t:SF):SF == cos(t)*cos(3*t/5)
+i3(t:SF):SF == cos(t)*sin(3*t/5)
+draw(curve(i1,i2,i3),0..15*%pi,title == "Parametric curve")
+draw(curve(i1,i2,i3),0..15*%pi,tubeRadius == .15,title == "Tube around curve")
+
+j1(t:SF):SF == 4
+j2(t:SF):SF == t
+draw(curve(j1,j2,j2),-9..9,coordinates == cylindrical,title == "Spiral")
+
+k1(t:SF):SF == 1
+k2(t:SF):SF == t/7
+k3(t:SF):SF == t/5
+draw(curve(k1,k2,k3),-70*%pi..70*%pi,coordinates == spherical,_
+ title == "Gnarly curve on sphere")
+
+-- Three dimensional function plots
+
+l(x:SF,y:SF):SF == cos(x*y)
+draw(l,-3..3,-3..3)
+
+colorFunction1(x:SF,y:SF):SF == x
+draw(l,-3..3,-3..3,colorFunction == colorFunction1)
+
+colorFunction2(x:SF,y:SF):SF == x**2 + y**2
+draw(l,-3..3,-3..3,colorFunction == colorFunction2)
+
+colorFunction3(x:SF,y:SF,z:SF):SF == -z
+draw(l,-3..3,-3..3,colorFunction == colorFunction3)
+
+m(u:SF,v:SF):SF == 1
+draw(m,0..2*%pi,0..%pi,coordinates == spherical,title == "Sphere")
+draw(m,0..2*%pi,0..%pi,coordinates == spherical,_
+ colorFunction == colorFunction2,title == "Sphere")
+
+draw(m,-%pi/2..%pi/2,0..2*%pi,coordinates == oblateSpheroidal(1$SF),_
+ title == "Oblate spheroidal coordinates")
+
+-- Parametric surfaces
+
+n1(u:SF,v:SF):SF == 5*sin(u)*cos(v)
+n2(u:SF,v:SF):SF == 4*sin(u)*sin(v)
+n3(u:SF,v:SF):SF == 3*cos(u)
+draw(surface(n1,n2,n3),0..%pi,0..2*%pi,title == "Which came first?")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/drawcfun.input.pamphlet b/src/input/drawcfun.input.pamphlet
new file mode 100644
index 00000000..2ee9df3f
--- /dev/null
+++ b/src/input/drawcfun.input.pamphlet
@@ -0,0 +1,99 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input drawcfun.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+)clear all
+
+-- Two dimensional function plots
+
+f(x:DFLOAT):DFLOAT == sin(11*x)
+draw(f,0..2*%pi)
+draw(f,0..2*%pi,adaptive == false,title == "Non-adaptive plot")
+draw(f,0..2*%pi,toScale == true,title == "Drawn to scale")
+draw(f,0..2*%pi,coordinates == polar,title == "Polar plot")
+
+g(x:DFLOAT):DFLOAT == tan(x)
+draw(g,-6..6,title == "Clipping on")
+draw(g,-6..6,clip == false,title == "Clipping off")
+
+-- Parametric plane curves
+
+f1(t:DFLOAT):DFLOAT == 9*sin(3*t/4)
+f2(t:DFLOAT):DFLOAT == 8*sin(t)
+draw(curve(f1,f2),-4*%pi..4*%pi,toScale == true,title == "Lissajous curve")
+
+g1(t:DFLOAT):DFLOAT == sin(5*t)
+g2(t:DFLOAT):DFLOAT == t
+draw(curve(g1,g2),0..2*%pi,title == "Parametric curve")
+draw(curve(g1,g2),0..2*%pi,_
+ coordinates == polar,title == "Parametric polar curve")
+
+h1(t:DFLOAT):DFLOAT == t
+h2(t:DFLOAT):DFLOAT == 2
+draw(curve(h1,h2),-3..3,coordinates == parabolic,title == "Parabolic plot")
+
+-- Parametric space curves
+
+i1(t:DFLOAT):DFLOAT == sin(t)*cos(3*t/5)
+i2(t:DFLOAT):DFLOAT == cos(t)*cos(3*t/5)
+i3(t:DFLOAT):DFLOAT == cos(t)*sin(3*t/5)
+draw(curve(i1,i2,i3),0..15*%pi,title == "Parametric curve")
+draw(curve(i1,i2,i3),0..15*%pi,tubeRadius == .15,title == "Tube around curve")
+
+j1(t:DFLOAT):DFLOAT == 4
+j2(t:DFLOAT):DFLOAT == t
+draw(curve(j1,j2,j2),-9..9,coordinates == cylindrical,title == "Spiral")
+
+k1(t:DFLOAT):DFLOAT == 1
+k2(t:DFLOAT):DFLOAT == t/7
+k3(t:DFLOAT):DFLOAT == t/5
+draw(curve(k1,k2,k3),-70*%pi..70*%pi,coordinates == spherical,_
+ title == "Gnarly curve on sphere")
+
+-- Three dimensional function plots
+
+l(x:DFLOAT,y:DFLOAT):DFLOAT == cos(x*y)
+draw(l,-3..3,-3..3)
+
+colorFunction1(x:DFLOAT,y:DFLOAT):DFLOAT == x
+draw(l,-3..3,-3..3,colorFunction == colorFunction1)
+
+colorFunction2(x:DFLOAT,y:DFLOAT):DFLOAT == x**2 + y**2
+draw(l,-3..3,-3..3,colorFunction == colorFunction2)
+
+colorFunction3(x:DFLOAT,y:DFLOAT,z:DFLOAT):DFLOAT == -z
+draw(l,-3..3,-3..3,colorFunction == colorFunction3)
+
+m(u:DFLOAT,v:DFLOAT):DFLOAT == 1
+draw(m,0..2*%pi,0..%pi,coordinates == spherical,title == "Sphere")
+draw(m,0..2*%pi,0..%pi,coordinates == spherical,_
+ colorFunction == colorFunction2,title == "Sphere")
+
+draw(m,-%pi/2..%pi/2,0..2*%pi,coordinates == oblateSpheroidal(1$DFLOAT),_
+ title == "Oblate spheroidal coordinates")
+
+-- Parametric surfaces
+
+n1(u:DFLOAT,v:DFLOAT):DFLOAT == 5*sin(u)*cos(v)
+n2(u:DFLOAT,v:DFLOAT):DFLOAT == 4*sin(u)*sin(v)
+n3(u:DFLOAT,v:DFLOAT):DFLOAT == 3*cos(u)
+draw(surface(n1,n2,n3),0..%pi,0..2*%pi,title == "Which came first?")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/drawcurv.input.pamphlet b/src/input/drawcurv.input.pamphlet
new file mode 100644
index 00000000..b1a03a94
--- /dev/null
+++ b/src/input/drawcurv.input.pamphlet
@@ -0,0 +1,87 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input drawcurv.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- a circle
+
+seg1 : SEG FRAC INT := -3/2..3/2
+range1 : LIST SEG FRAC INT := [seg1,seg1]
+
+draw(x**2 + y**2 = 1,x,y,range == range1,title == "Unit Circle")
+
+-- ditto
+
+seg2 : SEG FLOAT := -1.1..1.1
+range2 : LIST SEG FLOAT := [seg2,seg2]
+
+draw(x**2 + y**2 = 1,x,y,range == range2,title == "Unit Circle, 2nd Graph")
+
+-- an ellipse
+
+seg3 : SEG FRAC INT := -4..4
+range3 : LIST SEG FRAC INT := [seg3,seg3]
+
+draw(x**2/9 + y**2/4 = 1,x,y,range == range3,_
+ toScale == true,title == "Ellipse")
+
+-- another ellipse
+
+seg4 : SEG FRAC INT := -5..5
+range4 : LIST SEG FRAC INT := [seg4,seg4]
+
+draw(5*x**2 - 8*x*y + 5*y**2 = 9,x,y,range == range4)
+
+-- a parabola
+
+seg5a : SEG FRAC INT := -3..14
+seg5b : SEG FRAC INT := -3..10
+range5 : LIST SEG FRAC INT := [seg5a,seg5b]
+draw(x**2 - 2*x*y + y**2 - x - 2 = 0,x,y,range == range5)
+
+-- a hyperbola
+
+draw(x**2/4 - y**2 = 1,x,y,range == range4)
+
+-- an elliptic curve
+
+seg6a : SEG FRAC INT := -2..2
+seg6b : SEG FRAC INT := -2..1
+range6 : LIST SEG FRAC INT := [seg6a,seg6b]
+
+draw(y**2 + y = x**3 - x,x,y,range == range6)
+
+-- ovals
+
+seg7a : SEG FRAC INT := -8..8
+seg7b : SEG FRAC INT := -4..4
+range7 : LIST SEG FRAC INT := [seg7a,seg7b]
+
+eq1 := (x**2 + y**2 + 5**2)**2 - (6**4 + 4*5**2*x**2) = 0
+draw(eq1,x,y,range == range7,title == "Cassinian oval with one loop")
+
+seg8a : SEG FRAC INT := -10..10
+range8 : LIST SEG FRAC INT := [seg8a,seg7b]
+
+eq2 := (x**2 + y**2 + 7**2)**2 - (6**4 + 4*7**2*x**2) = 0
+draw(eq2,x,y,range == range8,title == "Cassinian oval with two loops")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/drawcx.input.pamphlet b/src/input/drawcx.input.pamphlet
new file mode 100644
index 00000000..726cb331
--- /dev/null
+++ b/src/input/drawcx.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input drawcx.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+)clear all
+
+--Plotting Two Dimensional Compiled Functions of One Variable
+f(x:DFLOAT):DFLOAT == sin(tan(x))-tan(sin(x))
+draw(f,0..6)
+draw(f,0..6,unit == [1.0,0.5],toScale == true)
+
+--Plotting Two Dimensional Compiled Parametric Plane Curve Functions
+i1(t:DFLOAT):DFLOAT == 9*sin(3*t/4)
+i2(t:DFLOAT):DFLOAT == 8*sin(t)
+draw(curve(i1,i2),-4*%pi..4*%pi)
+draw(curve(i1,i2),-4*%pi..4*%pi,toScale == true, title == "Lissajous Curve")
+
+--Plotting Three Dimensional Compiled Parametric Space Curve Functions
+i1(t:DFLOAT):DFLOAT ==sin(t)*cos(3*t/5)
+i2(t:DFLOAT):DFLOAT ==cos(t)*cos(3*t/5)
+i3(t:DFLOAT):DFLOAT ==cos(t)*sin(3*t/5)
+draw(curve(i1,i2,i3),0..15*%pi)
+draw(curve(i1,i2,i3),0..15*%pi,title == "Parametric Curve")
+
+--Plotting Three Dimensional Compiled Functions of Two Variables
+l(x:DFLOAT,y:DFLOAT):DFLOAT == cos(x*y)
+draw(l,-3..3,-3..3)
+colorFxn(x:DFLOAT,y:DFLOAT):DFLOAT == 1/(x**2 + y**2 + 1)
+draw(l,-3..3,-3..3, colorFunction == colorFxn)
+
+--Plotting Three Dimensional Compiled Parametric Surface Functions
+n1(u:DFLOAT,v:DFLOAT):DFLOAT == u*cos(v)
+n2(u:DFLOAT,v:DFLOAT):DFLOAT == u*sin(v)
+n3(u:DFLOAT,v:DFLOAT):DFLOAT == v*cos(u)
+draw(surface(n1,n2,n3),-4..4,0..2*%pi)
+colorFxn(x:DFLOAT,y:DFLOAT):DFLOAT == 1/(x**2 + y**2 + 1)
+draw(surface(n1,n2,n3),-4..4,0..2*%pi, colorFunction == colorFxn)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/drawex.input.pamphlet b/src/input/drawex.input.pamphlet
new file mode 100644
index 00000000..a9df5453
--- /dev/null
+++ b/src/input/drawex.input.pamphlet
@@ -0,0 +1,80 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input drawex.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- examples of the draw function
+
+-- graph of a cone
+draw(surface(u*cos(v),u*sin(v),u),u = -3..3,v = 0..2*%pi,title == "Cone")
+
+draw(curve(sin(t)*sin(2*t)*sin(3*t),sin(4*t)*sin(5*t)*sin(6*t)),t = 0..2*%pi)
+
+draw(curve(t - sin t,1 - cos t),t = -5..5)
+
+draw(curve(2*t - sin t,2 - cos t),t = -5..5)
+
+draw(curve(t - 2*sin t,1 - 2*cos t),t = -5..5)
+
+draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..%pi,v=0..2*%pi)
+
+draw(surface(cos(t)/(1+sin(t)**2),sin(t)*cos(t)*cos(u)/(1+sin(t)**2),
+ sin(t)*cos(t)*sin(u)/(1+sin(t)**2)),t = -%pi..%pi,u = 0..%pi)
+
+-- helix
+draw(curve(4*cos(t),4*sin(t),t),t = -10..10, title == "Helix")
+
+draw(sin(2 * x**2 + 3 * y**2)/(x**2 + y**2),x = -3..3,y = -3..3)
+
+draw(curve(9*sin(3*t/4),8*sin(t)),t = -4*%pi..4*%pi, _
+ title == "Lissajous curve")
+
+draw(curve(-9*sin(4*t/5),8*sin(t)),t = -5*%pi..5*%pi, _
+ title == "Lissajous curve")
+
+draw(curve(t**2 + 2*t - 1,t**2 + t - 2),t = -4..3)
+
+draw((x**2 - y**2)/(x**2 + y**2),x = -1..1,y = -1..1)
+
+draw(x**2 - y**2,x = -2..2, y = -2..2)
+
+draw(sin inv x,x = -1.03..3)
+
+draw(sin(x) * sin(y),x = 0..2*%pi, y = 0..2*%pi)
+
+draw(sin(x) * sin(y),x = 20*%pi..22*%pi, y = 20*%pi..22*%pi)
+
+draw(t/100,t = 0..100,coordinates == polar)
+
+draw(cos(x*y),x = -3..3, y = -3..3)
+
+draw(curve(3*(t**2-3),t*(t**2-3)),t = -3..3, title == "Tschirnhausen's Cubic")
+
+draw(curve(sin(t), cos(t), 0), t=0..2*%pi, tubeRadius == 0.5)
+
+draw(curve((t**2-1)/(3*t**2+1),t*(t**2-1)/(3*t**2+1)),t = -3..3, title == "Folium of Descartes")
+
+draw(curve(t - 2*sin t,1 - 2*cos t),t = -5..5)
+
+draw(curve(cos(t)/(1+sin(t)**2),sin(t)*cos(t)/(1+sin(t)**2)),t = -%pi..%pi, title == "Lemniscate of Bernoulli")
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/drawpoly.input.pamphlet b/src/input/drawpoly.input.pamphlet
new file mode 100644
index 00000000..9181a1cc
--- /dev/null
+++ b/src/input/drawpoly.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input drawpoly.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+a1**18 - 83.30408576104702*a1**17 + 4016.670203940073*a1**16 + _
+ - 167241.63892168205*a1**15 + 5649108.7097550742*a1**14 + _
+ - 1.4927698938773671E8*a1**13 + 3.2737267549354239E9*a1**12 + _
+ - 6.0880865153029945E10*a1**11 + 8.4818140701374121E11*a1**10 + _
+ - 7.1925755048090801E12*a1**9 + 3.6866360833695195E13*a1**8 + _
+ - 1.2269584766923825E14*a1**7 + 2.990307540150555E14*a1**6 + _
+ - 5.580671179246935E14*a1**5 + 5.4087180857969938E14*a1**4 + _
+ 3.5962416171315931E14*a1**3 - 8.254469833838275E14*a1**2 + _
+ - 4.3259667313869412E14*a1 - 1.2086386259492219E13
+draw(%,a1=-0.028..-0.027)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/drawx.input.pamphlet b/src/input/drawx.input.pamphlet
new file mode 100644
index 00000000..7d8f2e0b
--- /dev/null
+++ b/src/input/drawx.input.pamphlet
@@ -0,0 +1,50 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input drawx.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+
+--Plotting Two Dimensional Functions of One Variable
+draw(sin(tan(x))-tan(sin(x)),x=0..6)
+draw(sin(tan(x))-tan(sin(x)),x=0..6,unit == [1.0,0.5],toScale == true)
+
+--Plotting Two Dimensional Parametric Plane Curves
+draw(curve(9*sin(3*t/4),8*sin(t)),t=-4*%pi..4*%pi)
+draw(curve(9*sin(3*t/4),8*sin(t)),t=-4*%pi..4*%pi,coordinates == polar)
+
+--Plotting Three Dimensional Parametric Space Curves
+draw(curve(cos(t),sin(t),t),t=0..6)
+draw(curve(cos(t),sin(t),t),t=0..6,tubeRadius == .35,tubePoints == 8)
+
+--Plotting Three Dimensional Functions of Two Variables
+draw(cos(x*y),x = -3..3, y = -3..3)
+l(x:DoubleFloat,y:DoubleFloat):DoubleFloat == cos(x*y)
+colorFxn(x:DoubleFloat,y:DoubleFloat):DoubleFloat == 1/(x**2 + y**2 + 1)
+draw(cos(x*y),x = -3..3, y = -3..3, colorFunction == colorFxn)
+
+--Plotting Three Dimensional Parametric Surfaces
+draw(surface(u*cos(v),u*sin(v),v*cos(u)),u=-4..4,v=0..2*%pi)
+l(x:DoubleFloat,y:DoubleFloat):DoubleFloat == cos(x*y)
+colorFxn(x:DoubleFloat,y:DoubleFloat):DoubleFloat == 1/(x**2 + y**2 + 1)
+draw(cos(x*y),x = -3..3, y = -3..3, colorFunction == colorFxn)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/dropt.input.pamphlet b/src/input/dropt.input.pamphlet
new file mode 100644
index 00000000..3f3e3c81
--- /dev/null
+++ b/src/input/dropt.input.pamphlet
@@ -0,0 +1,92 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input dropt.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+
+-- Draw Options
+
+draw(sin(1/x),x=-2*%pi..2*%pi,adaptive == true)
+draw(sin(1/x),x=-2*%pi..2*%pi,adaptive == false)
+
+draw(tan(x),x=-2*%pi..2*%pi,clip == true)
+draw(tan(x),x=-2*%pi..2*%pi,clip == false)
+
+draw(sin(x),x=-%pi..%pi,toScale == false)
+draw(sin(x),x=-%pi..%pi,toScale == true)
+
+
+--Other 2D Options:
+
+draw(sec(x),x=-2*%pi..2*%pi,clip == [-2*%pi..2*%pi,-%pi..%pi])
+draw(1/x,x=-10..10,clip == [-10..10])
+
+draw(sin(x),x=-%pi..%pi,curveColor == 8.0)
+draw(sin(x),x=-%pi..%pi,curveColor == bright red())
+
+draw(sin(x),x=-%pi..%pi,pointColor == 3.0)
+draw(sin(x),x=-%pi..%pi,pointColor == dim yellow())
+
+draw(y**2 + y - (x**3 - x) = 0,x,y,range == [-2..2,-2..1])
+p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)
+draw(p = 0,x,y,range == [-1.0..11.0, -7.0..7.0])
+seg1 : SEG FRAC INT := -3/2..3/2
+range1 : LIST SEG FRAC INT := [seg1,seg1]
+draw(x**2 + y**2 = 1,x,y,range == range1)
+
+f1(t:DFLOAT):DFLOAT == 9*sin(3*t/4)
+f2(t:DFLOAT):DFLOAT == 8*sin(t)
+draw(curve(f1,f2),-4*%pi..4*%pi,unit == [2.0,0.5])
+
+--Options used with 2D and 3D graphs:
+
+g1(t:DFLOAT):DFLOAT == sin(5*t)
+g2(t:DFLOAT):DFLOAT == t
+draw(curve(g1,g2),0..2*%pi)
+
+g1(t:DFLOAT):DFLOAT == sin(5*t)
+g2(t:DFLOAT):DFLOAT == t
+draw(curve(g1,g2),0..2*%pi,coordinates == polar)
+
+
+m(u:DFLOAT,v:DFLOAT):DFLOAT == 1
+draw(m,0..2*%pi,0..%pi,coordinates == spherical,title == "Sphere")
+
+--3D Options:
+
+colorFxn1(x:DFLOAT,y:DFLOAT):DFLOAT == x*sin(x)
+draw(m,0..2*%pi,0..%pi,colorFunction == colorFxn1,title == "color = x*sin(x)",coordinates == spherical)
+
+colorFxn2(x:DFLOAT,y:DFLOAT):DFLOAT == x**2 - y**2
+draw(m,0..2*%pi,0..%pi,colorFunction == colorFxn2,title == "color = x**2 - y**2",coordinates == spherical)
+
+colorFxn3(x:DFLOAT,y:DFLOAT,z:DFLOAT):DFLOAT == sin(x*z) + cos(y*z)
+draw(m,0..2*%pi,0..%pi,colorFunction == colorFxn3,title == "color = sin(x*z)+cos(y*z)",coordinates == spherical)
+
+draw(curve(sin(t),cos(t),0),t=0..2*%pi,tubeRadius == .25)
+
+draw(curve(sin(t),cos(t),0),t=0..2*%pi,tubeRadius == .25, tubePoints == 3)
+
+draw(cos(x*y),x=-3..3,y=-3..3,var1Steps == 3, var2Steps == 3)
+draw(cos(x*y),x=-3..3,y=-3..3,var1Steps == 9, var2Steps == 9)
+draw(cos(x*y),x=-3..3,y=-3..3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01baf.input.pamphlet b/src/input/e01baf.input.pamphlet
new file mode 100644
index 00000000..dfc653eb
--- /dev/null
+++ b/src/input/e01baf.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01baf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=7
+x:Matrix SF:=
+ [[0.0 ,0.2 ,0.4 ,0.6 ,0.75 ,0.9 ,1.0 ]]
+y:Matrix SF:=
+ [[1.0000 ,1.2214 ,1.4918 ,1.8221 ,2.1170 ,2.4596 ,2.7183 ]]
+lck:=11
+lwrk:=58
+result:=e01baf(m,x,y,lck,lwrk,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01bef.input.pamphlet b/src/input/e01bef.input.pamphlet
new file mode 100644
index 00000000..5b683cc5
--- /dev/null
+++ b/src/input/e01bef.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01bef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=9
+x:Matrix SF:=
+ [[7.99 ,8.09 ,8.19 ,8.70 ,9.20 ,10.00 ,12.00 ,15.00 ,20.00 ]]
+f:Matrix SF:=
+ [[0.00000e+0 ,0.27643e-4 ,0.43750e-1 ,0.16918 ,_
+ 0.46943 ,0.94374 ,0.99864 ,0.99992 ,0.99999 ]]
+result:=e01bef(n,x,f,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01bff.input.pamphlet b/src/input/e01bff.input.pamphlet
new file mode 100644
index 00000000..aeb674aa
--- /dev/null
+++ b/src/input/e01bff.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01bff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=9
+x:Matrix SF:=
+ [[7.99 ,8.09 ,8.19 ,8.70 ,9.20 ,10.00 ,12.00 ,15.00 ,20.00 ]]
+f:Matrix SF:=
+ [[0.00000e+0 ,0.27643e-4 ,0.43750e-1 ,0.16918 ,_
+ 0.46943 ,0.94374 ,0.99864 ,0.99992 ,0.99999 ]]
+d:Matrix SF:=
+ [[0.00000e+0 ,5.52510e-4 ,0.33587 ,0.34944 ,_
+ 0.59696 ,6.03260e-2 ,8.98335e-4 ,2.93954e-5 ,0.00000 ]]
+m:=11
+px:Matrix SF:=
+ [[7.9900000000000002 + (i-1) *1.2010000000000001 for i in 1..11]]
+result:=e01bff(n,x,f,d,m,px,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01bgf.input.pamphlet b/src/input/e01bgf.input.pamphlet
new file mode 100644
index 00000000..df6868d9
--- /dev/null
+++ b/src/input/e01bgf.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01bgf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=9
+x:Matrix SF:=
+ [[7.99 ,8.09 ,8.19 ,8.70 ,9.20 ,10.00 ,12.00 ,15.00 ,20.00 ]]
+f:Matrix SF:=
+ [[0.00000e+0 ,0.27643e-4 ,0.43750e-1 ,0.16918 ,0.46943 ,_
+ 0.94374 ,0.99864 ,0.99992 ,0.99999 ]]
+d:Matrix SF:=
+ [[0.00000e+0 ,5.52510e-4 ,0.33587 ,0.34944 ,0.59696 ,_
+ 6.03260e-2 ,8.98335e-4 ,2.93954e-5 ,0.00000 ]]
+m:=11
+px:Matrix SF:=
+ [[7.9900000000000002 + (i-1) *1.2010000000000001 for i in 1..11]]
+result:=e01bgf(n,x,f,d,m,px,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01bhf.input.pamphlet b/src/input/e01bhf.input.pamphlet
new file mode 100644
index 00000000..22fea4cf
--- /dev/null
+++ b/src/input/e01bhf.input.pamphlet
@@ -0,0 +1,39 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01bhf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=9
+x:Matrix SF:=
+ [[7.99 ,8.09 ,8.19 ,8.70 ,9.20 ,10.00 ,12.00 ,15.00 ,20.00 ]]
+f:Matrix SF:=
+ [[0.00000e+0 ,0.27643e-4 ,0.43750e-1 ,0.16918 ,_
+ 0.46943 ,0.94374 ,0.99864 ,0.99992 ,0.99999 ]]
+d:Matrix SF:=
+ [[0.00000e+0 ,5.52510e-4 ,0.33587 ,0.34944 ,_
+ 0.59696 ,6.03260e-2 ,8.98335e-4 ,2.93954e-5 ,0.00000 ]]
+a:=7.99
+b:=20.0
+result:=e01bhf(n,x,f,d,a,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01daf.input.pamphlet b/src/input/e01daf.input.pamphlet
new file mode 100644
index 00000000..5580686e
--- /dev/null
+++ b/src/input/e01daf.input.pamphlet
@@ -0,0 +1,50 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01daf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+mx:=7
+my:=6
+x:Matrix SF:=
+ [[1.00 ,1.10 ,1.30 ,1.50 ,1.60 ,1.80 ,2.00 ]]
+y:Matrix SF:=
+ [[0.00 ,0.10 ,0.40 ,0.70 ,0.90 ,1.00 ]]
+--f:Matrix SF:=
+-- [[1.00 ,1.21 ,1.69 ,2.25 ,2.56 ,3.24 ,4.00 ,1.10 ,_
+-- 1.31 ,1.79 ,2.35 ,2.66 ,3.34 ,4.10 ,1.40 ,1.61 ,_
+-- 2.09 ,2.65 ,2.96 ,3.64 ,4.40 ,1.70 ,1.91 ,2.39 ,_
+-- 2.95 ,3.26 ,3.94 ,4.90 ,1.90 ,2.11 ,2.59 ,3.15 ,_
+-- 3.46 ,4.14 ,4.90 ,2.00 ,2.21 ,2.69 ,3.25 ,3.56 ,_
+-- 4.24 ,5.00 ]]
+
+f:Matrix SF:=
+ [[1.00, 1.10, 1.40, 1.70, 1.90, 2.00, _
+ 1.21, 1.31, 1.61, 1.91, 2.11, 2.21, _
+ 1.69, 1.79, 2.09, 2.39, 2.59, 2.69, _
+ 2.25, 2.35, 2.65, 2.95, 3.15, 3.25, _
+ 2.56, 2.66, 2.96, 3.26, 3.46, 3.56, _
+ 3.24, 3.34, 3.64, 3.94, 4.14, 4.24, _
+ 4.00, 4.10, 4.40, 4.70, 4.90, 5.00]]
+result:=e01daf(mx,my,x,y,f, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01saf.input.pamphlet b/src/input/e01saf.input.pamphlet
new file mode 100644
index 00000000..d4d6fcad
--- /dev/null
+++ b/src/input/e01saf.input.pamphlet
@@ -0,0 +1,48 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01saf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=30
+x:Matrix SF:=
+ [[11.16 ,12.85 ,19.85 ,19.72 ,15.91 , 0.00 ,20.87 ,_
+ 3.45 ,14.26 ,17.43 ,22.80 ,7.58 ,25.00 , 0.00 ,_
+ 9.66 , 5.22 ,17.25 ,25.00 ,12.13 ,22.23 ,11.52 ,_
+ 15.20 , 7.54 ,17.32 , 2.14 , 0.51 ,22.69 , 5.47 ,21.67 ,3.31 ]]
+y:Matrix SF:=
+ [[1.24 ,3.06 ,10.72 ,1.39 ,7.74 ,20.00 ,20.00 ,12.78 ,_
+ 17.87 ,3.46 ,12.39 ,1.98 ,11.87 ,0.00 ,20.00 ,14.66 ,_
+ 19.57 ,3.87 ,10.79 ,6.21 ,8.53 ,0.0 ,10.69 ,13.78 ,_
+ 15.03 ,8.37 ,19.63 ,17.13 ,14.36 ,0.33 ]]
+f:Matrix SF:=
+ [[22.15 ,22.11 ,7.97 ,16.83 ,15.30 ,34.60 ,5.74 ,41.24 ,_
+ 10.74 ,18.60 ,5.47 ,29.87 ,4.40 ,58.20 ,4.73 ,40.36 ,_
+ 6.43 ,8.74 ,13.71 ,10.25 ,15.74 ,21.60 ,19.31 ,12.11 ,_
+ 53.10 ,49.43 ,3.25 ,28.63 ,5.52 ,44.08 ]]
+result:=resa:=e01saf(m,x,y,f,-1)
+px:=7.71
+py:=3.45
+resb:=e01sbf(m,x,y,f,resa."triang",resa."grads",px,py,-1)
+resb."pf"
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01sbf.input.pamphlet b/src/input/e01sbf.input.pamphlet
new file mode 100644
index 00000000..c8e3b03e
--- /dev/null
+++ b/src/input/e01sbf.input.pamphlet
@@ -0,0 +1,48 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01sbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=30
+x:Matrix SF:=
+ [[11.16 ,12.85 ,19.85 ,19.72 ,15.91 , 0.00 ,20.87 ,_
+ 3.45 ,14.26 ,17.43 ,22.80 ,7.58 ,25.00 , 0.00 ,_
+ 9.66 , 5.22 ,17.25 ,25.00 ,12.13 ,22.23 ,11.52 ,_
+ 15.20 , 7.54 ,17.32 , 2.14 , 0.51 ,22.69 , 5.47 ,21.67 ,3.31 ]]
+y:Matrix SF:=
+ [[1.24 ,3.06 ,10.72 ,1.39 ,7.74 ,20.00 ,20.00 ,12.78 ,_
+ 17.87 ,3.46 ,12.39 ,1.98 ,11.87 ,0.00 ,20.00 ,14.66 ,_
+ 19.57 ,3.87 ,10.79 ,6.21 ,8.53 ,0.0 ,10.69 ,13.78 ,_
+ 15.03 ,8.37 ,19.63 ,17.13 ,14.36 ,0.33 ]]
+f:Matrix SF:=
+ [[22.15 ,22.11 ,7.97 ,16.83 ,15.30 ,34.60 ,5.74 ,41.24 ,_
+ 10.74 ,18.60 ,5.47 ,29.87 ,4.40 ,58.20 ,4.73 ,40.36 ,_
+ 6.43 ,8.74 ,13.71 ,10.25 ,15.74 ,21.60 ,19.31 ,12.11 ,_
+ 53.10 ,49.43 ,3.25 ,28.63 ,5.52 ,44.08 ]]
+resa:=e01saf(m,x,y,f,-1)
+px:=7.71
+py:=3.45
+result:=resb:=e01sbf(m,x,y,f,resa."triang",resa."grads",px,py,-1)
+resb."pf"
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01sef.input.pamphlet b/src/input/e01sef.input.pamphlet
new file mode 100644
index 00000000..2c175a62
--- /dev/null
+++ b/src/input/e01sef.input.pamphlet
@@ -0,0 +1,51 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01sef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=30
+x:Matrix SF:=
+ [[11.16 ,12.85 ,19.85 ,19.72 ,15.91 ,0.00 ,20.87 ,_
+ 3.45 ,14.26 ,17.43 ,22.80 ,7.58 ,25.00 ,0.00 ,_
+ 9.66 ,5.22 ,17.25 ,25.00 ,12.13 ,22.23 ,11.52 ,_
+ 15.20 ,7.54 ,17.32 ,2.14 ,0.51 ,22.69 ,5.47 ,_
+ 21.67 ,3.31 ]]
+y:Matrix SF:=
+ [[1.24 ,3.06 ,10.72 ,1.39 ,7.74 ,20.00 ,20.00 ,_
+ 12.78 ,17.87 ,3.46 ,12.39 ,1.98 ,11.87 ,0.00 ,_
+ 20.00 ,14.66 ,19.57 ,3.87 ,10.79 ,6.21 ,8.53 ,_
+ 0.0 ,10.69 ,13.78 ,15.03 ,8.37 ,19.63 ,17.13 ,_
+ 14.36 ,0.33 ]]
+f:Matrix SF:=
+ [[22.15 ,22.11 ,7.97 ,16.83 ,15.30 ,34.60 ,5.74 ,_
+ 41.24 ,10.74 ,18.60 ,5.47 ,29.87 ,4.40 ,58.20 ,_
+ 4.73 ,40.36 ,6.43 ,8.74 ,13.71 ,10.25 ,15.74 ,_
+ 21.60 ,19.31 ,12.11 ,53.10 ,49.43 ,3.25 ,28.63 ,_
+ 5.52 ,44.08 ]]
+nw:=0
+nq:=0
+rnw:=0.0
+rnq:=0.0
+result:=e01sef(m,x,y,f,nw,nq,rnw,rnq, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e01sff.input.pamphlet b/src/input/e01sff.input.pamphlet
new file mode 100644
index 00000000..54faaf30
--- /dev/null
+++ b/src/input/e01sff.input.pamphlet
@@ -0,0 +1,54 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e01sff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=30
+x:Matrix SF:=
+ [[11.16 ,12.85 ,19.85 ,19.72 ,15.91 ,0.00 ,20.87 ,_
+ 3.45 ,14.26 ,17.43 ,22.80 ,7.58 ,25.00 ,0.00 ,_
+ 9.66 ,5.22 ,17.25 ,25.00 ,12.13 ,22.23 ,11.52 ,_
+ 15.20 ,7.54 ,17.32 ,2.14 ,0.51 ,22.69 ,5.47 ,_
+ 21.67 ,3.31 ]]
+y:Matrix SF:=
+ [[1.24 ,3.06 ,10.72 ,1.39 ,7.74 ,20.00 ,20.00 ,_
+ 12.78 ,17.87 ,3.46 ,12.39 ,1.98 ,11.87 ,0.00 ,_
+ 20.00 ,14.66 ,19.57 ,3.87 ,10.79 ,6.21 ,8.53 ,_
+ 0.0 ,10.69 ,13.78 ,15.03 ,8.37 ,19.63 ,17.13 ,_
+ 14.36 ,0.33 ]]
+f:Matrix SF:=
+ [[22.15 ,22.11 ,7.97 ,16.83 ,15.30 ,34.60 ,5.74 ,_
+ 41.24 ,10.74 ,18.60 ,5.47 ,29.87 ,4.40 ,58.20 ,_
+ 4.73 ,40.36 ,6.43 ,8.74 ,13.71 ,10.25 ,15.74 ,_
+ 21.60 ,19.31 ,12.11 ,53.10 ,49.43 ,3.25 ,28.63 ,_
+ 5.52 ,44.08 ]]
+nw:=0
+nq:=0
+rnw:=0.0
+rnq:=0.0
+resa:=e01sef(m,x,y,f,nw,nq,rnw,rnq, -1)
+px:=3.0
+py:=2.0
+result:=e01sff(m,x,y,f,resa."rnw",resa."fnodes",px ,py,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02adf.input.pamphlet b/src/input/e02adf.input.pamphlet
new file mode 100644
index 00000000..6a519ada
--- /dev/null
+++ b/src/input/e02adf.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=11
+kplus1:=4
+nrows:=50
+x:Matrix SF:=
+ [[1.00 ,2.10 ,3.10 ,3.90 ,4.90 ,5.80 ,_
+ 6.50 ,7.10 ,7.80 ,8.40 ,9.00 ]]
+y:Matrix SF:=
+ [[10.40 ,7.90 ,4.70 ,2.50 ,1.20 ,2.20 ,_
+ 5.10 ,9.20 ,16.10 ,24.50 ,35.30 ]]
+w:Matrix SF:=
+ [[1.00 ,1.00 ,1.00 ,1.00 ,1.00 ,0.80 ,_
+ 0.80 ,0.70 ,0.50 ,0.30 ,0.20 ]]
+result:=e02adf(m,kplus1,nrows,x,y,w,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02aef.input.pamphlet b/src/input/e02aef.input.pamphlet
new file mode 100644
index 00000000..05ee778b
--- /dev/null
+++ b/src/input/e02aef.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02aef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+nplus1:=5
+a:Matrix SF:=
+ [[2.0000 ,0.5000 ,0.2500 ,0.1250 ,0.0625 ]]
+xcap:=-1.0
+result:=e02aef(nplus1,a,xcap, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02agf.input.pamphlet b/src/input/e02agf.input.pamphlet
new file mode 100644
index 00000000..b75d7bdd
--- /dev/null
+++ b/src/input/e02agf.input.pamphlet
@@ -0,0 +1,51 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02agf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=5
+kplus1:=5
+nrows:=6
+xmin:=0.0
+xmax:=4.0
+x:Matrix SF:=
+ [[0.5 ,1.0 ,2.0 ,2.5 ,3.0 ]]
+y:Matrix SF:=
+ [[0.03 ,-0.75 ,-1.0 ,-0.1 ,1.75 ]]
+w:Matrix SF:=
+ [[1.0 ,1.0 ,1.0 ,1.0 ,1.0 ]]
+mf:=2
+xf:Matrix SF:=
+ [[0.0 ,4.0 ]]
+yf:Matrix SF:=
+ [[1.0 ,-2.0 ,9.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ]]
+lyf:=15
+ip:Matrix Integer:=
+ [[1 ,0 ]]
+lwrk:=200
+liwrk:=12
+result:=e02agf(m,kplus1,nrows,xmin,xmax,x,y,w,mf,xf,yf,lyf,ip,lwrk,liwrk, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02ahf.input.pamphlet b/src/input/e02ahf.input.pamphlet
new file mode 100644
index 00000000..3b3936cd
--- /dev/null
+++ b/src/input/e02ahf.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02ahf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+np1:=7
+xmin:=-0.5
+xmax:=2.5
+a:Matrix SF:=
+ [[2.53213 ,1.13032 ,0.27150 ,0.04434 ,_
+ 0.00547 ,0.00054 ,0.00004 ]]
+ia1:=1
+la:=7
+iadif1:=1
+ladif:=7
+result:=e02ahf(np1,xmin,xmax,a,ia1,la,iadif1,ladif, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02ajf.input.pamphlet b/src/input/e02ajf.input.pamphlet
new file mode 100644
index 00000000..6e029abd
--- /dev/null
+++ b/src/input/e02ajf.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02ajf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+np1:=7
+xmin:=-0.5
+xmax:=2.5
+a:Matrix SF:=
+ [[2.53213 ,1.13032 ,0.27150 ,0.04434 ,0.00547 ,0.00054 ,0.00004 ]]
+ia1:=1
+la:=7
+qatm1:=0.0
+iaint1:=1
+laint:=8
+result:=e02ajf(np1,xmin,xmax,a,ia1,la,qatm1,iaint1,laint, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02akf.input.pamphlet b/src/input/e02akf.input.pamphlet
new file mode 100644
index 00000000..e7f75d53
--- /dev/null
+++ b/src/input/e02akf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02akf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+np1:=7
+xmin:=-0.5
+xmax:=2.5
+a:Matrix SF:=
+ [[2.53213 ,1.13032 ,0.27150 ,0.04434 ,0.00547 ,0.00054 ,0.00004 ]]
+ia1:=1
+la:=7
+x:=-0.5
+result:=e02akf(np1,xmin,xmax,a,ia1,la,x, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02baf.input.pamphlet b/src/input/e02baf.input.pamphlet
new file mode 100644
index 00000000..b71682e0
--- /dev/null
+++ b/src/input/e02baf.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02baf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=14
+ncap7:=12
+x:Matrix SF:=
+ [[0.20 ,0.47 ,0.74 ,1.09 ,1.60 ,1.90 ,2.60 ,3.10 ,4.00 ,5.15,_
+ 6.17 ,8.00 ,10.00 ,12.00 ]]
+y:Matrix SF:=
+ [[0.00 ,2.00 ,4.00 ,6.00 ,8.00 ,8.62 ,9.10 ,8.90,_
+ 8.15 ,7.00 ,6.00 ,4.54 ,3.39 ,2.56 ]]
+w:Matrix SF:=
+ [[0.20 ,0.20 ,0.30 ,0.70 ,0.90 ,1.00 ,_
+ 1.00 ,1.00 ,0.80 ,0.50 ,0.70 ,1.00 ,1.00 ,1.00 ]]
+lamda:Matrix SF:=
+ [[0.0 ,0.0 ,0.0 ,0.0 ,1.50 ,2.60 ,_
+ 4.00 ,8.00 ,0.0 ,0.0 ,0.0 ,0.0 ]]
+result:=e02baf(m,ncap7,x,y,w,lamda, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02bbf.input.pamphlet b/src/input/e02bbf.input.pamphlet
new file mode 100644
index 00000000..f36041ae
--- /dev/null
+++ b/src/input/e02bbf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02bbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ncap7:=11
+lamda:Matrix SF:=
+ [[1.00 ,1.00 ,1.00 ,1.00 ,3.00 ,6.00 ,_
+ 8.00 ,9.00 ,9.00 ,9.00 ,9.00 ]]
+c:Matrix SF:=
+ [[1.00 ,2.00 ,4.00 ,7.00 ,6.00 ,4.00 ,_
+ 3.00 ,0.00 ,0.00 ,0.00 ,0.00 ]]
+x:=2.0
+result:=e02bbf(ncap7,lamda,c,x,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02bcf.input.pamphlet b/src/input/e02bcf.input.pamphlet
new file mode 100644
index 00000000..2f00d063
--- /dev/null
+++ b/src/input/e02bcf.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02bcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ncap7:=14
+lamda:Matrix SF:=
+ [[0.0 ,0.00 ,0.00 ,0.00 ,1.00 ,3.00 ,3.00 ,_
+ 3.00 ,4.00 ,4.00 ,6.00,6.00 ,6.00 ,6.00 ]]
+c:Matrix SF:=
+ [[10.00 ,12.00 ,13.00 ,15.00 ,22.00 ,26.00 ,_
+ 24.00 ,18.00 ,14.00 ,12.00 ,0.00 ,0.00 ,0.00 ,0.00 ]]
+x:=2.0
+left:=1
+result:=e02bcf(ncap7,lamda,c,x,left, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02bdf.input.pamphlet b/src/input/e02bdf.input.pamphlet
new file mode 100644
index 00000000..b6b7da17
--- /dev/null
+++ b/src/input/e02bdf.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02bdf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ncap7:=14
+lamda:Matrix SF:=
+ [[0.0 ,0.00 ,0.00 ,0.00 ,1.00 ,3.00 ,_
+ 3.00 ,3.00 ,4.00 ,4.00 ,6.00 ,6.00 ,6.00 ,6.00 ]]
+c:Matrix SF:=
+ [[10.00 ,12.00 ,13.00 ,15.00 ,22.00 ,26.00 ,_
+ 24.00 ,18.00 ,14.00 ,12.00 ,0.00 ,0.00 ,0.00 ,0.00 ]]
+result:=e02bdf(ncap7,lamda,c, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02bef.input.pamphlet b/src/input/e02bef.input.pamphlet
new file mode 100644
index 00000000..96fe8c05
--- /dev/null
+++ b/src/input/e02bef.input.pamphlet
@@ -0,0 +1,47 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02bef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+start:="c"
+m:=15
+x:Matrix SF:=
+ [[0.00 ,0.50 ,1.00 ,1.50 ,2.00 ,2.50 ,3.00 ,_
+ 4.00 ,4.50 ,5.00 ,5.50 ,6.00 ,7.00 ,7.50 ,8.00 ]]
+y:Matrix SF:=
+ [[-1.1 ,-0.372 ,0.431 ,1.69 ,2.11 ,3.10 ,4.23 ,4.35 ,4.81 ,_
+ 4.61 ,4.79 ,5.23 ,6.35 ,7.19 ,7.97 ]]
+w:Matrix SF:=
+ [[1.00 ,2.00 ,1.50 ,1.00 ,3.00 ,1.00 ,0.50 ,_
+ 1.00 ,2.00 ,2.50 ,1.00 ,3.00 ,1.00 ,2.00 ,1.00 ]]
+s:=1.0
+nest:=54
+lwrk:=1105
+n:=0
+lamda:=new(1,54,0.0)$Matrix DoubleFloat
+ifail:=-1
+wrk:=new(1,1105,0.0)$Matrix DoubleFloat
+iwrk:=new(1,54,0)$Matrix Integer
+result:=e02bef(start,m,x,y,w,s,nest,lwrk,n,lamda,ifail,wrk,iwrk)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02daf.input.pamphlet b/src/input/e02daf.input.pamphlet
new file mode 100644
index 00000000..10ecb6d7
--- /dev/null
+++ b/src/input/e02daf.input.pamphlet
@@ -0,0 +1,60 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02daf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=30
+px:=8
+py:=10
+x:Matrix SF:=
+ [[-0.52 ,-0.61 ,0.93 ,0.09 ,0.88 ,-0.70 ,1 ,1 ,0.3 ,-0.77 ,_
+ -0.23 ,-1 ,-0.26 ,-0.83 ,0.22 ,0.89 ,-0.80 ,-0.88 ,0.68 ,_
+ -0.14 ,0.67 ,-0.90 ,-0.84 ,0.84 ,0.15 ,-0.91 ,-0.35 ,-0.16 ,_
+ -0.35 ,-1 ]]
+y:Matrix SF:=
+ [[0.60 ,-0.95 ,0.87 ,0.84 ,0.17 ,-0.87 ,1 ,0.1 ,0.24 ,-0.77 ,_
+ 0.32 ,1 ,-0.63 ,-0.66 ,0.93 ,0.15 ,0.99 ,-0.54 ,0.44 ,-0.72 ,_
+ 0.63 ,-0.40 ,0.20 ,0.43 ,0.28 ,-0.24 ,0.86 ,-0.41 ,-0.05 ,-1 ]]
+f:Matrix SF:=
+ [[0.93 ,-1.79 ,0.36 ,0.52 ,0.49 ,-1.76 ,0.33 ,0.48 ,0.65 ,_
+ -1.82 ,0.92 ,1 ,8.88 ,-2.01 ,0.47 ,0.49 ,0.84 ,-2.42 ,_
+ 0.47 ,7.15 ,0.44 ,-3.34 ,2.78 ,0.44 ,0.70 ,-6.52 ,0.66 ,_
+ 2.32 ,1.66 ,-1 ]]
+w:Matrix SF:=
+ [[10 ,10 ,10 ,10 ,10 ,10 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,_
+ 1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ]]
+mu:Matrix SF:=
+ [[0 ,0 ,0 ,0 ,-0.50, 0.00 ,0 ,0 ,0 ,0 ]]
+point:Matrix Integer:=
+ [[3 ,6 ,4 ,5 ,7 ,10 ,8 ,9 ,11 ,13 ,12 ,15 ,14 ,18 ,_
+ 16 ,17 ,19 ,20 ,21 ,30 ,23 ,26 ,24 ,25 ,27 ,28 ,_
+ 0 ,29 ,0 ,0 ,2 ,22 ,1 ,0 ,0 ,0,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+npoint:=43
+nc:=24
+nws:=1750
+eps:=0.000001
+lamda:Matrix SF:=
+ [[0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+result:=e02daf(m,px,py,x,y,f,w,mu,point,npoint,nc,nws,eps,lamda,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02dcf.input.pamphlet b/src/input/e02dcf.input.pamphlet
new file mode 100644
index 00000000..0d56dd1b
--- /dev/null
+++ b/src/input/e02dcf.input.pamphlet
@@ -0,0 +1,62 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02dcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+start:="c"
+mx:=11
+x:Matrix SF:=
+ [[0 ,0.5 ,1 ,1.5 ,2 ,2.5 ,3 ,3.5 ,4 ,4.5 ,5 ]]
+my:=9
+y:Matrix SF:=
+ [[0 ,0.5 ,1 ,1.5 ,2 ,2.5 ,3 ,3.5 ,4 ]]
+f:Matrix SF:=
+ [[1 ,0.88758 ,0.5403 ,0.070737 ,-0.41515 ,-0.80114 ,_
+ -0.97999 ,-0.93446 ,-0.65664 ,1.5 ,1.3564 ,0.82045 ,_
+ 0.10611 ,-0.62422 ,-1.2317 ,-1.485 ,-1.3047 ,-0.98547 ,_
+ 2.06 ,1.7552 ,1.0806 ,0.15147 ,-0.83229 ,-1.6023 ,_
+ -1.97 ,-1.8729 ,-1.4073 ,2.57 ,2.124 ,1.3508 ,0.17684 ,_
+ -1.0404 ,-2.0029 ,-2.475 ,-2.3511 ,-1.6741 ,3 ,2.6427 ,_
+ 1.6309 ,0.21221 ,-1.2484 ,-2.2034 ,-2.97 ,-2.8094 ,_
+ -1.9809 ,3.5 ,3.1715 ,1.8611 ,0.24458 ,-1.4565 ,-2.864 ,_
+ -3.265 ,-3.2776 ,-2.2878 ,4.04 ,3.5103 ,2.0612 ,0.28595 ,_
+ -1.6946 ,-3.2046 ,-3.96 ,-3.7958 ,-2.6146 ,4.5 ,3.9391 ,_
+ 2.4314 ,0.31632 ,-1.8627 ,-3.6351 ,-4.455 ,-4.2141 ,_
+ -2.9314 ,5.04 ,4.3879 ,2.7515 ,0.35369 ,-2.0707 ,-4.0057 ,_
+ -4.97 ,-4.6823 ,-3.2382 ,5.505 ,4.8367 ,2.9717 ,0.38505 ,_
+ -2.2888 ,-4.4033 ,-5.445 ,-5.1405 ,-3.595 ,6 ,5.2755 ,_
+ 3.2418 ,0.42442 ,-2.4769 ,-4.8169 ,-5.93 ,-5.6387 ,-3.9319 ]]
+s:=0.1
+nxest:=15
+nyest:=13
+lwrk:=592
+liwrk:=51
+nx:=0
+lamda:Matrix SF:=new(1,15,0.0)$Matrix SF
+ny:=0
+mu:Matrix SF:=new(1,13,0.0)$Matrix SF
+wrk:Matrix SF:=new(1,592,0.0)$Matrix SF
+iwrk:Matrix Integer:=new(1,51,0)$Matrix Integer
+result:=e02dcf(start,mx,x,my,y,f,s,nxest,nyest,lwrk,liwrk,nx,lamda,ny,mu,wrk,iwrk,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02ddf.input.pamphlet b/src/input/e02ddf.input.pamphlet
new file mode 100644
index 00000000..4c95a93d
--- /dev/null
+++ b/src/input/e02ddf.input.pamphlet
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02ddf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+start:="c"
+m:=30
+x:Matrix SF:=
+ [[11.16 ,12.85 ,19.85 ,19.72 ,15.91 ,0 ,20.87 ,3.45 ,_
+ 14.26 ,17.43 ,22.8 ,7.58 ,25 ,0 ,9.66 ,5.22 ,17.25 ,25 ,12.13 ,22.23 ,_
+ 11.52 ,15.2 ,7.54 ,17.32 ,2.14 ,0.51 ,22.69 ,5.47 ,21.67 ,3.31 ]]
+y:Matrix SF:=
+ [[1.24 ,3.06 ,10.72 ,1.39 ,7.74 ,20 ,20 ,12.78 ,17.87 ,3.46 ,12.39 ,_
+ 1.98 ,11.87 ,0 ,20 ,14.66 ,19.57 ,3.87 ,10.79 ,6.21 ,8.53 ,0 ,10.69 ,_
+ 13.78 ,15.03 ,8.37 ,19.63 ,17.13 ,14.36 ,0.33 ]]
+f:Matrix SF:=
+ [[22.15 ,22.11 ,7.97 ,16.83 ,15.30 ,34.6 ,5.74 ,41.24 ,10.74 ,18.60 ,_
+ 5.47 ,29.87 ,4.4 ,58.2 ,4.73 ,40.36 ,6.43 ,8.74 ,13.71 ,10.25 ,_
+ 15.74 ,21.6 ,19.31 ,12.11 ,53.1 ,49.43 ,3.25 ,28.63 ,5.52 ,44.08 ]]
+w:Matrix SF:=
+ [[1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,_
+ 1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ]]
+s:=10
+nxest:=14
+nyest:=14
+lwrk:=11016
+liwrk:=128
+nx:=0
+lamda:=new(1,14,0.0)$Matrix SF
+ny:=0
+mu:=new(1,14,0.0)$Matrix SF
+wrk:=new(1,11016,0.0)$Matrix SF;
+result:=e02ddf(start,m,x,y,f,w,s,nxest,nyest,lwrk,liwrk,nx,lamda,ny,mu,wrk,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02def.input.pamphlet b/src/input/e02def.input.pamphlet
new file mode 100644
index 00000000..7c50de9f
--- /dev/null
+++ b/src/input/e02def.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02def.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=7
+px:=11
+py:=10
+x:Matrix SF:=
+ [[1 ,1.1 ,1.5 ,1.6 ,1.9 ,1.9 ,2 ]]
+y:Matrix SF:=
+ [[0 ,0.1 ,0.7 ,0.4 ,0.3 ,0.8 ,1 ]]
+lamda:Matrix SF:=
+ [[1.0 ,1.0 ,1.0 ,1.0 ,1.3 ,1.5 ,1.6 ,2 ,2 ,2 ,2 ]]
+mu:Matrix SF:=
+ [[0 ,0 ,0 ,0 ,0.4 ,0.7 ,1 ,1 ,1 ,1 ]]
+c:Matrix SF:=
+ [[1 ,1.1333 ,1.3667 ,1.7 ,1.9 ,2 ,1.2 ,1.3333 ,1.5667,1.9 ,_
+ 2.1 ,2.2 ,1.5833 ,1.7167 ,1.95 ,2.2833 ,2.4833 ,2.5833 ,_
+ 2.1433 ,2.2767 ,2.51 ,2.8433 ,3.0433 ,3.1433 ,2.8667 ,_
+ 3 ,3.2333 ,3.5667 ,3.7667 ,3.8667 ,3.4667 ,3.6 ,3.8333 ,_
+ 4.1667 ,4.3667 ,4.4667 ,4 ,4.1333 ,4.3667 ,4.7 ,4.9 ,5 ]]
+result:=e02def(m,px,py,x,y,lamda,mu,c,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02dff.input.pamphlet b/src/input/e02dff.input.pamphlet
new file mode 100644
index 00000000..acd0bdf3
--- /dev/null
+++ b/src/input/e02dff.input.pamphlet
@@ -0,0 +1,48 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02dff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+mx:=7
+my:=6
+px:=11
+py:=10
+x:Matrix SF:=
+ [[1 ,1.1 ,1.3 ,1.4 ,1.5 ,1.7 ,2 ]]
+y:Matrix SF:=
+ [[0 ,0.2 ,0.4 ,0.6 ,0.8 ,1 ]]
+lamda:Matrix SF:=
+ [[1 ,1 ,1 ,1 ,1.3 ,1.5 ,1.6 ,2 ,2 ,2 ,2 ]]
+mu:Matrix SF:=
+ [[0 ,0 ,0 ,0 ,0.4 ,0.7 ,1 ,1 ,1 ,1 ]]
+c:Matrix SF:=
+ [[1 ,1.1333 ,1.3667 ,1.7 ,1.9 ,2 ,1.2 ,1.3333 ,1.5667 ,1.9 ,_
+ 2.1 ,2.2 ,1.5833 ,1.7167 ,1.95 ,2.2833 ,2.4833 ,2.5833 ,2.1433 ,2.2767 ,_
+ 2.51 ,2.8433 ,3.0433 ,3.1433 ,2.8667 ,3 ,3.2333 ,3.5667 ,3.7667 ,3.8667 ,_
+ 3.4667 ,3.6 ,3.8333 ,4.1667 ,4.3667 ,4.4667 ,4 ,4.1333 ,4.3667,_
+ 4.7 ,4.9 ,5 ]]
+lwrk:=36
+liwrk:=108
+result:=e02dff(mx,my,px,py,x,y,lamda,mu,c,lwrk,liwrk,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02gaf.input.pamphlet b/src/input/e02gaf.input.pamphlet
new file mode 100644
index 00000000..c932b533
--- /dev/null
+++ b/src/input/e02gaf.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02gaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=5
+la:=7
+nplus2:=5
+toler:=0.0
+a:Matrix SF:=
+ [[1.0,1.0,1.0,0.0,0.0],_
+ [exp(0.2),exp(-0.2),1.0,0.0,0.0],_
+ [exp(0.4),exp(-0.4),1.0,0.0,0.0],_
+ [exp(0.6),exp(-0.6),1.0,0.0,0.0],_
+ [exp(0.8),exp(-0.8),1.0,0.0,0.0],_
+ [0.0,0.0,0.0,0.0,0.0],_
+ [0.0,0.0,0.0,0.0,0.0]]
+b:Matrix SF:=
+ [[4.501 ,4.36 ,4.333 ,4.418 ,4.625 ]]
+result:=e02gaf(m,la,nplus2,toler,a,b, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e02zaf.input.pamphlet b/src/input/e02zaf.input.pamphlet
new file mode 100644
index 00000000..ebde02a2
--- /dev/null
+++ b/src/input/e02zaf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e02zaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+px:=9
+py:=10
+lamda:Matrix SF:=
+ [[0 ,0 ,0 ,0 ,1.00 ,0 ,0 ,0 ,0 ]]
+mu:Matrix SF:=
+ [[0 ,0 ,0 ,0 ,0.80 ,1.20 ,0 ,0 ,0 ,0 ]]
+m:=10
+x:Matrix SF:=
+ [[0.00 ,0.70 ,1.44 ,0.21 ,1.01 ,1.84 ,0.71 ,1.00 ,0.54 ,1.531 ]]
+y:Matrix SF:=
+ [[0.77 ,1.06 ,0.33 ,0.44 ,0.50 ,0.02 ,1.95 ,1.20 ,0.04 ,0.18 ]]
+npoint:=45
+nadres:=6
+result:=e02zaf(px,py,lamda,mu,m,x,y,npoint,nadres, -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e04dgf.input.pamphlet b/src/input/e04dgf.input.pamphlet
new file mode 100644
index 00000000..8cbbb27b
--- /dev/null
+++ b/src/input/e04dgf.input.pamphlet
@@ -0,0 +1,44 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e04dgf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=2
+es:=1.0
+fu:=0.4373903597E-14
+it:=50
+lin:=0.9
+list:=true
+ma:=1.0E+20
+op:=3.26E-12
+pr:=10
+sta:=1
+sto:=2
+ve:=0
+x:Matrix SF:=
+ [[-1.0 ,1.0 ]]
+ef:Expression Float:=(exp(X[1])*(4*X[1]**2+2*X[2]**2+4*X[1]*X[2]+2*X[2]+1))::EXPR FLOAT
+objfun:ASP49(OBJFUN):= retract ef
+result:=e04dgf(n,es,fu,it,lin,list,ma,op,pr,sta,sto,ve,x,-1,objfun)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e04fdf.input.pamphlet b/src/input/e04fdf.input.pamphlet
new file mode 100644
index 00000000..838b188c
--- /dev/null
+++ b/src/input/e04fdf.input.pamphlet
@@ -0,0 +1,51 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e04fdf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=15
+n:=3
+liw:=1
+lw:=171
+x:Matrix SF:=
+ [[0.5 ,1.0 ,1.5 ]]
+vef:Vector Expression Float:= vector
+ [(XC[3]+15*XC[2])**(-1)+XC[1]-0.14 ,_
+ 2*(2*XC[3]+14*XC[2])**(-1)+XC[1]-0.18 ,_
+ 3*(3*XC[3]+13*XC[2])**(-1)+XC[1]-0.22 ,_
+ 4*(4*XC[3]+12*XC[2])**(-1)+XC[1]-0.25 ,_
+ 5*(5*XC[3]+11*XC[2])**(-1)+XC[1]-0.29 ,_
+ 6*(6*XC[3]+10*XC[2])**(-1)+XC[1]-0.32 ,_
+ 7*(7*XC[3]+9*XC[2])**(-1)+XC[1]-0.35 ,_
+ 8*(8*XC[3]+8*XC[2])**(-1)+XC[1]-0.39 ,_
+ 9*(7*XC[3]+7*XC[2])**(-1)+XC[1]-0.37 ,_
+ 10*(6*XC[3]+6*XC[2])**(-1)+XC[1]-0.58 ,_
+ 11*(5*XC[3]+5*XC[2])**(-1)+XC[1]-0.73 ,_
+ 12*(4*XC[3]+4*XC[2])**(-1)+XC[1]-0.96 ,_
+ 13*(3*XC[3]+3*XC[2])**(-1)+XC[1]-1.34 ,_
+ 14*(2*XC[3]+2*XC[2])**(-1)+XC[1]-2.1 ,_
+ 15*(XC[3]+XC[2])**(-1)+XC[1]-4.39 ]
+lsfun1:ASP50(LSFUN1):= retract vef
+result:=e04fdf(m,n,liw,lw,x,-1,lsfun1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e04gcf.input.pamphlet b/src/input/e04gcf.input.pamphlet
new file mode 100644
index 00000000..2bfb59fd
--- /dev/null
+++ b/src/input/e04gcf.input.pamphlet
@@ -0,0 +1,51 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e04gcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=15
+n:=3
+liw:=1
+lw:=177
+x:Matrix SF:=
+ [[0.5 ,1.0 ,1.5 ]]
+vef:Vector Expression Float:=vector
+ [(XC[3]+15*XC[2])**(-1)+XC[1]-0.14 ,_
+ 2*(2*XC[3]+14*XC[2])**(-1)+XC[1]-0.18 ,_
+ 3*(3*XC[3]+13*XC[2])**(-1)+XC[1]-0.22 ,_
+ 4*(4*XC[3]+12*XC[2])**(-1)+XC[1]-0.25 ,_
+ 5*(5*XC[3]+11*XC[2])**(-1)+XC[1]-0.29 ,_
+ 6*(6*XC[3]+10*XC[2])**(-1)+XC[1]-0.32 ,_
+ 7*(7*XC[3]+9*XC[2])**(-1)+XC[1]-0.35 ,_
+ 8*(8*XC[3]+8*XC[2])**(-1)+XC[1]-0.39 ,_
+ 9*(7*XC[3]+7*XC[2])**(-1)+XC[1]-0.37 ,_
+ 10*(6*XC[3]+6*XC[2])**(-1)+XC[1]-0.58 ,_
+ 11*(5*XC[3]+5*XC[2])**(-1)+XC[1]-0.73 ,_
+ 12*(4*XC[3]+4*XC[2])**(-1)+XC[1]-0.96 ,_
+ 13*(3*XC[3]+3*XC[2])**(-1)+XC[1]-1.34 ,_
+ 14*(2*XC[3]+2*XC[2])**(-1)+XC[1]-2.1 ,_
+ 15*(XC[3]+XC[2])**(-1)+XC[1]-4.39 ]
+lsfun2:Asp19(LSFUN2):= retract vef
+result:=e04gcf(m,n,liw,lw,x,-1,lsfun2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e04jaf.input.pamphlet b/src/input/e04jaf.input.pamphlet
new file mode 100644
index 00000000..41f77ac4
--- /dev/null
+++ b/src/input/e04jaf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e04jaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=4
+ibound:=0
+liw:=6
+lw:=54
+bl:Matrix SF:=
+ [[1 ,-2 ,-1.0e-6 ,1 ]]
+bu:Matrix SF:=
+ [[3 ,0 ,1.0e6 ,3 ]]
+x:Matrix SF:=
+ [[3 ,-1 ,0 ,1 ]]
+ef:Expression Float:=
+ ((XC[1]+10*XC[2])**2+5*(XC[3]-XC[4])**2+(XC[2]-2*XC[3])**4+10*(XC[1]-XC[4])**4)::EXPR FLOAT
+funct1:Asp24(FUNCT1):=retract ef
+result:=e04jaf(n,ibound,liw,lw,bl,bu,x,-1,funct1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e04mbf.input.pamphlet b/src/input/e04mbf.input.pamphlet
new file mode 100644
index 00000000..ce578e0a
--- /dev/null
+++ b/src/input/e04mbf.input.pamphlet
@@ -0,0 +1,56 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e04mbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+itmax:=20
+msglvl:=1
+n:=7
+nclin:=7
+nctotl:=14
+nrowa:=7
+a:Matrix SF:=
+ [[1 ,1 ,1 ,1 ,1 ,1 ,1 ],_
+ [0.15 ,0.04 ,0.02 ,0.04 ,0.02 ,0.01 ,0.03 ],_
+ [0.03 ,0.05 ,0.08 ,0.02 ,0.06 ,0.01 ,0 ],_
+ [0.02 ,0.04 ,0.01 ,0.02 ,0.02 ,0 ,0 ],_
+ [0.02 ,0.03 ,0 ,0 ,0.01 ,0 ,0 ],_
+ [0.7 ,0.75 ,0.8 ,0.75 ,0.8 ,0.97 ,0 ],_
+ [0.02 ,0.06 ,0.08 ,0.12 ,0.02 ,0.01 ,0.97 ]]
+bl:Matrix SF:=
+ [[-0.01 ,-0.1 ,-0.01 ,-0.04 ,-0.1 ,-0.01 ,-0.01 ,_
+ -0.13 ,-1.0e+21 ,-1.0e+21 ,-1.0e+21 ,-1.0e+21 ,_
+ -0.0992 ,-0.003 ]]
+bu:Matrix SF:=
+ [[0.01 ,0.15 ,0.03 ,0.02 ,0.05 ,1.0e+21 ,1.0e+21 ,_
+ -0.13 ,-0.0049 ,-0.0064 ,-0.0037 ,-0.0012 ,1.0e+21 ,0.002 ]]
+cvec:Matrix SF:=
+ [[-0.02 ,-0.2 ,-0.2 ,-0.2 ,-0.2 ,0.04 ,0.04 ]]
+linobj:=true
+liwork:=14
+lwork:=182
+x:Matrix SF:=
+ [[-0.01 ,-0.03 ,0.0 ,-0.01 ,-0.1 ,0.02 ,0.01 ]]
+result:=e04mbf(itmax,msglvl,n,nclin,nctotl,nrowa,a,bl,bu,cvec,linobj,liwork,lwork,x,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e04naf.input.pamphlet b/src/input/e04naf.input.pamphlet
new file mode 100644
index 00000000..f47a7c3d
--- /dev/null
+++ b/src/input/e04naf.input.pamphlet
@@ -0,0 +1,84 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e04naf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+itmax:=20
+msglvl:=-1
+n:=7
+nclin:=7
+nctotl:=14
+nrowa:=7
+nrowh:=7
+ncolh:=7
+bigbnd:=1.0e10
+a:Matrix SF:=
+ [[1 ,1 ,1 ,1 ,1 ,1 ,1 ],_
+ [0.15 ,0.04 ,0.02 ,0.04 ,0.02 ,0.01 ,0.03 ],_
+ [0.03 ,0.05 ,0.08 ,0.02 ,0.06 ,0.01 ,0 ],_
+ [0.02 ,0.04 ,0.01 ,0.02 ,0.02 ,0 ,0 ],_
+ [0.02 ,0.03 ,0 ,0 ,0.01 ,0 ,0 ],_
+ [0.7 ,0.75 ,0.8 ,0.75 ,0.8 ,0.97 ,0 ],_
+ [0.02 ,0.06 ,0.08 ,0.12 ,0.02 ,0.01 ,0.97 ]]
+bl:Matrix SF:=
+ [[-0.01 ,-0.1 ,-0.01 ,-0.04 ,-0.1 ,-0.01 ,-0.01 ,-0.13 ,_
+ -1.0e+21 ,-1.0e+21 ,-1.0e+21 ,-1.0e+21 ,-0.0992 ,-0.003 ]]
+bu:Matrix SF:=
+ [[0.01 ,0.15 ,0.03 ,0.02 ,0.05 ,1.0e+21 ,1.0e+21 ,-0.13 ,_
+ -0.0049 ,-0.0064 ,-0.0037 ,-0.0012 ,1.0e+21 ,0.002 ]]
+cvec:Matrix SF:=
+ [[-0.02 ,-0.2 ,-0.2 ,-0.2 ,-0.2 ,0.04 ,0.04 ]]
+featol:Matrix SF:=
+ [[0.1053e-7 ,0.1053e-7 ,0.1053e-7 ,0.1053e-7 ,0.1053e-7 ,_
+ 0.1053e-7 ,0.1053e-7 ,0.1053e-7 ,0.1053e-7 ,0.1053e-7 ,_
+ 0.1053e-7 ,0.1053e-7 ,0.1053e-7 ,0.1053e-7 ]]
+hess:Matrix SF :=
+ [[2 ,0 ,0 ,0 ,0 ,0 ,0 ],_
+ [0 ,2 ,0 ,0 ,0 ,0 ,0 ],_
+ [0 ,0 ,2 ,2 ,0 ,0 ,0 ],_
+ [0 ,0 ,2 ,2 ,0 ,0 ,0 ],_
+ [0 ,0 ,0 ,0 ,2 ,0 ,0 ],_
+ [0 ,0 ,0 ,0 ,0 ,-2 ,-2 ],_
+ [0 ,0 ,0 ,0 ,0 ,-2 ,-2 ]]
+cold:=true
+lpp:=false
+orthog:=true
+liwork:=14
+lwork:=238
+x:Matrix SF:=
+ [[-0.01 ,-0.03 ,0.0 ,-0.01 ,-0.1 ,0.02 ,0.01 ]]
+istate:Matrix Integer:=
+ [[0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+mei:Matrix Expression Integer:=
+ [[2 ,0 ,0 ,0 ,0 ,0 ,0 ],_
+ [0 ,2 ,0 ,0 ,0 ,0 ,0 ],_
+ [0 ,0 ,2 ,2 ,0 ,0 ,0 ],_
+ [0 ,0 ,2 ,2 ,0 ,0 ,0 ],_
+ [0 ,0 ,0 ,0 ,2 ,0 ,0 ],_
+ [0 ,0 ,0 ,0 ,0 ,-2 ,-2 ],_
+ [0 ,0 ,0 ,0 ,0 ,-2 ,-2 ]]
+qphess:Asp20(QPHESS):= retract mei
+result:=e04naf(itmax,msglvl,n,nclin,nctotl,nrowa,nrowh,ncolh,bigbnd,a,bl,bu,cvec,featol,_
+hess,cold,lpp,orthog,liwork,lwork,x,istate,-1,qphess)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e04ucf.input.pamphlet b/src/input/e04ucf.input.pamphlet
new file mode 100644
index 00000000..087b365b
--- /dev/null
+++ b/src/input/e04ucf.input.pamphlet
@@ -0,0 +1,101 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e04ucf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=9
+nclin:=4
+ncnln:=14
+nrowa:=4
+nrowj:=14
+nrowr:=9
+a:Matrix SF:=
+ [[-1.0 ,1.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ],_
+ [0.0 ,-1.0 ,1.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ],_
+ [0.0 ,0.0 ,1.0 ,-1.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ],_
+ [0.0 ,0.0 ,0.0 ,1.0 ,-1.0 ,0.0 ,0.0 ,0.0 ,0.0 ]]
+bl:Matrix SF:=
+ [[0.0 ,-1.0e15 ,-1.0 ,-1.0e15 ,0.0 ,0.0 ,0.0 ,-1.0e15 ,_
+ -1.0e15 ,0.0 ,0.0 ,0.0 ,0.0 ,-1.0e15 ,-1.0e15 ,-1.0e15 ,_
+ -1.0e15 ,-1.0e15 ,-1.0e15 ,-1.0e15 ,-1.0e15 ,-1.0e15 ,_
+ -1.0e15 ,-1.0e15 ,-1.0e15 ,-1.0e15 ,-1.0e15 ]]
+bu:Matrix SF:=
+ [[1.0e15 ,1.0e15 ,1.0 ,1.0e15 ,1.0e15 ,1.0e15 ,1.0e15 ,_
+ 0.0 ,0.0 ,1.0e15 ,1.0e15 ,1.0e15 ,1.0e15 ,0.0 ,0.0 ,_
+ 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ]]
+liwork:=59
+lwork:=968
+sta:=false
+cra:= 0.01
+der:=3
+fea:=0.1053671201E-7
+fun:=0.4373903510E-14
+hes:= true
+infb:= 1.00E+15
+infs:= 1.00E+15
+linf:= 0.1053671201E-7
+lint:= 0.9
+list:= true
+maji:= 30
+majp:= 1
+mini:= 81
+minp:= 0
+mon:= -1
+nonf:= 1.05E-08
+opt:= 3.26E-08
+ste:= 2.0
+stao:= 1
+stac:= 1
+stoo:= 9
+stoc:= 9
+ve:= 3
+istate:Matrix Integer:=new(1,27,0)
+cjac:Matrix SF:=new(14,9,0.0)
+clamda:Matrix SF:=new(1,27,0.0)
+r:Matrix SF:=new(9,9,0.0)
+x:Matrix SF:=
+ [[0.1 ,0.125 ,0.666666 ,0.142857 ,0.111111 ,0.2 ,0.25 ,-0.2 ,-0.25 ]]
+vef:Vector Expression Float:=vector
+ [X[1]**2 + X[6]**2 ,_
+ (X[2] - X[1])**2 + (X[7] - X[6])**2 ,_
+ (X[3] - X[1])**2 + X[6]*2 ,_
+ (X[1] - X[4])**2 + (X[6] - X[8])**2 ,_
+ (X[1] - X[5])**2 + (X[6] - X[9])**2 ,_
+ X[2]**2 + X[7]**2 ,_
+ (X[3] - X[2])**2 + X[7]**2 ,_
+ (X[4] - X[2])**2 + (X[8] - X[7])**2 ,_
+ (X[2] - X[5])**2 + (X[7] - X[9])**2 ,_
+ (X[4] - X[3])**2 + X[8]**2 ,_
+ (X[5] - X[3])**2 + X[9]**2 ,_
+ X[4]**2 + X[8]**2 ,_
+ (X[4] - X[5])**2 + (X[9] - X[8])**2 ,_
+ X[5]**2 + X[9]**2 ]
+confun:Asp55(CONFUN):= retract vef
+ef:Expression Float:=(-X[2]*X[6] + X[1]*X[7] - X[3]*X[7] - X[5]*X[8] + X[4]*X[9] + X[3]*X[8])::EXPR FLOAT
+objfun:Asp49(OBJFUN):=retract ef
+result:=e04ucf(n,nclin,ncnln,nrowa,nrowj,nrowr,a,bl,bu,liwork,lwork,_
+sta,cra,der,fea,fun,hes,infb,infs,linf,lint,list,maji,majp,_
+mini,minp,mon,nonf,opt,ste,stao,stac,stoo,stoc,ve,istate,_
+cjac,clamda,r,x,-1,confun,objfun)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/e04ycf.input.pamphlet b/src/input/e04ycf.input.pamphlet
new file mode 100644
index 00000000..e28bb8d9
--- /dev/null
+++ b/src/input/e04ycf.input.pamphlet
@@ -0,0 +1,39 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input e04ycf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+job:=0
+m:=15
+n:=3
+fsumsq:=0.0082148773065789729
+s:Matrix SF:=
+ [[4.0965034571419325 ,1.5949579400198182 ,0.061258491120317927 ]]
+lv:=3
+v:Matrix SF:=
+ [[0.9353959087369782,- 0.25922842715810668, - 0.24048932714625143,_
+ 0.35295122094583287, 0.64323460044494585, 0.67946647041872243,_
+ - 0.021445968175122822, - 0.72045115819433947, 0.69317400348358882]]
+result:=e04ycf(job,m,n,fsumsq,s,lv,v,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/easter.input.pamphlet b/src/input/easter.input.pamphlet
new file mode 100644
index 00000000..7de1aee3
--- /dev/null
+++ b/src/input/easter.input.pamphlet
@@ -0,0 +1,383 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input easter.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+-- ----------[ A x i o m ]----------
+-- ---------- Initialization ----------
+)set bre resume
+)set messages autoload off
+)set messages time off
+)set quit unprotected
+)set streams calculate 7
+-- ---------- Numbers ----------
+-- Let's begin by playing with numbers: infinite precision integers
+factorial(50)
+factor(%)
+-- Infinite precision rational numbers
+1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8 + 1/9 + 1/10
+-- Arbitrary precision floating point numbers
+digits(50);
+-- This number is nearly an integer
+exp(sqrt(163.)*%pi)
+digits(20);
+-- Special functions
+besselJ(2, 1 + %i)
+-- Complete decimal expansion of a rational number
+decimal(1/7)
+-- Continued fractions
+continuedFraction(3.1415926535)
+-- Simplify an expression with nested square roots
+sqrt(2*sqrt(3) + 4)
+simplify(%)
+-- Try a more complicated example (from the Putnam exam)
+sqrt(14 + 3*sqrt(3 + 2*sqrt(5 - 12*sqrt(3 - 2*sqrt(2)))))
+simplify(%)
+-- Cardinal numbers
+2*Aleph(0) - 3
+-- ---------- Statistics ----------
+-- ---------- Algebra ----------
+-- Numbers are nice, but symbols allow for variability---try some high school
+-- algebra: rational simplification
+(x**2 - 4)/(x**2 + 4*x + 4)
+-- This example requires more sophistication
+(%e**x - 1)/(%e**(x/2) + 1)
+normalize(%)
+-- Expand and factor polynomials
+(x + 1)**20
+D(%, x)
+factor(%)
+x**100 - 1
+factor(%)
+-- Factor polynomials over finite fields and field extensions
+p:= x**4 - 3*x**2 + 1
+factor(p)
+phi:= rootOf(phi**2 - phi - 1);
+factor(p, [phi])
+factor(p :: Polynomial(PrimeField(5)))
+expand(%)
+-- Partial fraction decomposition
+(x**2 + 2*x + 3)/(x**3 + 4*x**2 + 5*x + 2)
+padicFraction(
+ partialFraction(numerator(%) :: UnivariatePolynomial(x, Fraction Integer),
+ factor(denominator(%) :: Polynomial Integer) ::
+ Factored UnivariatePolynomial(x, Fraction Integer)))
+-- ---------- Inequalities ----------
+-- ---------- Trigonometry ----------
+-- Trigonometric manipulations---these are typically difficult for students
+r:= cos(3*x)/cos(x)
+real(complexNormalize(%))
+real(normalize(simplify(complexNormalize(r))))
+-- Use rewrite rules
+sincosAngles:= rule _
+ (cos((n | integer?(n)) * x) == _
+ cos((n - 1)*x) * cos(x) - sin((n - 1)*x) * sin(x); _
+ sin((n | integer?(n)) * x) == _
+ sin((n - 1)*x) * cos(x) + cos((n - 1)*x) * sin(x) )
+sincosAngles r
+r:= 'r;
+-- ---------- Determining Zero Equivalence ----------
+-- The following expressions are all equal to zero
+sqrt(997) - (997**3)**(1/6)
+sqrt(999983) - (999983**3)**(1/6)
+(2**(1/3) + 4**(1/3))**3 - 6*(2**(1/3) + 4**(1/3)) - 6
+simplify(%)
+-- This expression is zero for x, y > 0 and n not equal to zero
+x**(1/n)*y**(1/n) - (x*y)**(1/n)
+normalize(%)
+-- See Joel Moses, ``Algebraic Simplification: A Guide for the Perplexed'',
+-- CACM, Volume 14, Number 8, August 1971
+expr:= log(tan(1/2*x + %pi/4)) - asinh(tan(x))
+complexNormalize(%)
+-- Use a roundabout method---show that expr is a constant equal to zero
+D(expr, x)
+simplify(real(complexNormalize(expand(simplify(%)))))
+normalize(eval(expr, x = 0))
+log((2*sqrt(r) + 1)/sqrt(4*r + 4*sqrt(r) + 1))
+simplify(%)
+(4*r + 4*sqrt(r) + 1)**(sqrt(r)/(2*sqrt(r) + 1)) _
+ * (2*sqrt(r) + 1)**(1/(2*sqrt(r) + 1)) - 2*sqrt(r) - 1
+normalize(%)
+-- ---------- The Complex Domain ----------
+-- Complex functions---separate into their real and imaginary parts
+rectform(z) == real(z) + %i*imag(z)
+rectform(log(3 + 4*%i))
+simplify(rectform(tan(x + %i*y)))
+-- Check for branch abuse. See David R. Stoutemyer, ``Crimes and Misdemeanors
+-- in the Computer Algebra Trade'', Notices of the AMS, Volume 38, Number 7,
+-- September 1991. This first expression can simplify to sqrt(x y)/sqrt(x),
+-- but no further in general (consider what happens when x, y = -1).
+sqrt(x*y*abs(z)**2) / (sqrt(x)*abs(z))
+-- If z = -1, sqrt(1/z) is not equal to 1/sqrt(z)
+sqrt(1/z) - 1/sqrt(z)
+-- If z = 3 pi i, log(exp(z)) is not equal to z
+log(%e**z)
+normalize(%)
+-- The principal value of this expression is (10 - 4 pi) i
+log(%e**(10*%i))
+normalize(%)
+-- If z = pi, arctan(tan(z)) is not equal to z
+atan(tan(z))
+-- If z = 2 pi i, sqrt(exp(z)) is not equal to exp(z/2)
+sqrt(%e**z) - %e**(z/2)
+-- ---------- Equations ----------
+-- Manipulate an equation using a natural syntax
+(x = 0)/2 + 1
+-- Solve various nonlinear equations---this cubic polynomial has all real roots
+radicalSolve(3*x**3 - 18*x**2 + 33*x - 19 = 0, x)
+map(e +-> lhs(e) = rectform(rhs(e)), %)
+-- Some simple seeming problems can have messy answers
+eqn:= x**4 + x**3 + x**2 + x + 1 = 0
+radicalSolve(eqn, x)
+-- Check one of the answers
+eval(eqn, %.1)
+%e**(2*x) + 2*%e**x + 1 = z
+solve(%, x)
+-- This equation is already factored and so *should* be easy to solve
+(x + 1) * (sin(x)**2 + 1)**2 * cos(3*x)**3 = 0
+solve(%, x)
+-- The following equations have an infinite number of solutions (let n be an
+-- arbitrary integer): z = 0 [+ n 2 pi i]
+solve(%e**z = 1, z)
+-- x = pi/4 [+ n pi]
+solve(sin(x) = cos(x), x)
+solve(tan(x) = 1, x)
+-- x = 0, 0 [+ n pi, + n 2 pi]
+solve(sin(x) = tan(x), x)
+-- This equation has no solutions
+solve(sqrt(x**2 + 1) = x - 2, x)
+-- Solve a system of linear equations
+eq1:= x + y + z = 6
+eq2:= 2*x + y + 2*z = 10
+eq3:= x + 3*y + z = 10
+-- Note that the solution is parametric
+solve([eq1, eq2, eq3], [x, y, z])
+-- Solve a system of nonlinear equations
+eq1:= x**2*y + 3*y*z - 4 = 0
+eq2:= -3*x**2*z + 2*y**2 + 1 = 0
+eq3:= 2*y*z**2 - z**2 - 1 = 0
+-- Solving this by hand would be a nightmare
+solve([eq1, eq2, eq3], [x, y, z])
+-- ---------- Matrix Algebra ----------
+m:= matrix([[a, b], [1, a*b]])
+-- Invert the matrix
+minv:= inverse(m)
+m * minv
+-- Define a Vandermonde matrix (useful for doing polynomial interpolations)
+matrix([[1, 1, 1, 1 ], _
+ [w, x, y, z ], _
+ [w**2, x**2, y**2, z**2], _
+ [w**3, x**3, y**3, z**3]])
+determinant(%)
+-- The following formula implies a general result
+factor(%)
+-- Compute the eigenvalues of a matrix from its characteristic polynomial
+m:= matrix([[ 5, -3, -7], _
+ [-2, 1, 2], _
+ [ 2, -3, -4]])
+characteristicPolynomial(m, lambda)
+solve(% = 0, lambda)
+m:= 'm;
+-- ---------- Tensors ----------
+-- ---------- Sums and Products ----------
+-- Sums: finite and infinite
+summation(k**3, k = 1..n)
+sum(k**3, k = 1..n)
+limit(sum(1/k**2 + 1/k**3, k = 1..n), n = %plusInfinity)
+-- Products
+product(k, k = 1..n)
+-- ---------- Calculus ----------
+-- Limits---start with a famous example
+limit((1 + 1/n)**n, n = %plusInfinity)
+limit((1 - cos(x))/x**2, x = 0)
+-- Apply the chain rule---this is important for PDEs and many other
+-- applications
+y:= operator('y);
+x:= operator('x);
+D(y(x(t)), t, 2)
+)clear properties x y
+-- ---------- Indefinite Integrals ----------
+1/(x**3 + 2)
+-- This would be very difficult to do by hand
+integrate(%, x)
+D(%, x)
+-- This example involves several symbolic parameters
+integrate(1/(a + b*cos(x)), x)
+map(simplify, map(f +-> D(f, x), %))
+-- Calculus on a non-smooth (but well defined) function
+D(abs(x), x)
+integrate(abs(x), x)
+-- Calculus on a piecewise defined function
+a(x) == if x < 0 then -x else x
+D(a(x), x)
+integrate(a(x), x)
+)clear properties a
+-- The following two integrals should be equivalent. The correct solution is
+-- [(1 + x)^(3/2) + (1 - x)^(3/2)] / 3
+integrate(x/(sqrt(1 + x) + sqrt(1 - x)), x)
+integrate((sqrt(1 + x) - sqrt(1 - x))/2, x)
+-- ---------- Definite Integrals ----------
+-- The following two functions have a pole at zero
+integrate(1/x, x = -1..1)
+integrate(1/x**2, x = -1..1)
+-- Different branches of the square root need to be chosen in the intervals
+-- [0, 1] and [1, 2]. The correct results are 4/3, [4 - sqrt(8)]/3,
+-- [8 - sqrt(8)]/3, respectively.
+integrate(sqrt(x + 1/x - 2), x = 0..1)
+integrate(sqrt(x + 1/x - 2), x = 0..1, "noPole")
+integrate(sqrt(x + 1/x - 2), x = 1..2)
+integrate(sqrt(x + 1/x - 2), x = 1..2, "noPole")
+integrate(sqrt(x + 1/x - 2), x = 0..2)
+integrate(sqrt(x + 1/x - 2), x = 0..2, "noPole")
+-- Contour integrals
+integrate(cos(x)/(x**2 + a**2), x = %minusInfinity..%plusInfinity)
+integrate(cos(x)/(x**2 + a**2), x = %minusInfinity..%plusInfinity, "noPole")
+-- Integrand with a branch point
+integrate(t**(a - 1)/(1 + t), t = 0..%plusInfinity)
+integrate(t**(a - 1)/(1 + t), t = 0..%plusInfinity, "noPole")
+-- Multiple integrals: volume of a tetrahedron
+integrate(integrate(integrate(1, z = 0..c*(1 - x/a - y/b)), _
+ y = 0..b*(1 - x/a)), _
+ x = 0..a)
+-- ---------- Series ----------
+-- Taylor series---this first example comes from special relativity
+1/sqrt(1 - (v/c)**2)
+series(%, v = 0)
+1/%**2
+tsin:= series(sin(x), x = 0)
+tcos:= series(cos(x), x = 0)
+-- Note that additional terms will be computed as needed
+tsin/tcos
+series(tan(x), x = 0)
+-- Look at the Taylor series around x = 1
+)set streams calculate 1
+log(x)**a*exp(-b*x)
+series(%, x = 1)
+)set streams calculate 7
+-- Compare the Taylor series of two different formulations of a function
+taylor(log(sinh(z)) + log(cosh(z + w)), z = 0)
+% - taylor(log(sinh(z) * cosh(z + w)), z = 0)
+-- Power series (compute the general formula)
+log(sin(x)/x)
+series(%, x = 0)
+exp(-x)*sin(x)
+series(%, x = 0)
+-- Derive an explicit Taylor series solution of y as a function of x from the
+-- following implicit relation
+y:= operator('y);
+x = sin(y(x)) + cos(y(x))
+seriesSolve(%, y, x = 1, 0)
+)clear properties y
+-- Pade (rational function) approximation
+pade(1, 1, taylor(exp(-x), x = 0))
+-- ---------- Transforms ----------
+-- Laplace and inverse Laplace transforms
+laplace(cos((w - 1)*t), t, s)
+inverseLaplace(%, s, t)
+-- ---------- Difference and Differential Equations ----------
+-- Second order linear recurrence equation
+r:= operator('r);
+r(n + 2) - 2 * r(n + 1) + r(n) = 2
+[%, r(0) = 1, r(1) = m]
+)clear properties r
+-- Second order ODE with initial conditions---solve first using Laplace
+-- transforms
+f:= operator('f);
+ode:= D(f(t), t, 2) + 4*f(t) = sin(2*t)
+map(e +-> laplace(e, t, s), %)
+-- Now, solve the ODE directly
+solve(ode, f, t = 0, [0, 0])
+-- First order linear ODE
+y:= operator('y);
+x**2 * D(y(x), x) + 3*x*y(x) = sin(x)/x
+solve(%, y, x)
+-- Nonlinear ODE
+D(y(x), x, 2) + y(x)*D(y(x), x)**3 = 0
+solve(%, y, x)
+-- A simple parametric ODE
+D(y(x, a), x) = a*y(x, a)
+solve(%, y, x);
+-- ODE with boundary conditions. This problem has nontrivial solutions
+-- y(x) = A sin([pi/2 + n pi] x) for n an arbitrary integer.
+solve(D(y(x), x, 2) + k**2*y(x) = 0, y, x)
+-- bc(%, x = 0, y = 0, x = 1, D(y(x), x) = 0)
+-- System of two linear, constant coefficient ODEs
+x:= operator('x);
+system:= [D(x(t), t) = x(t) - y(t), D(y(t), t) = x(t) + y(t)]
+-- Check the answer
+-- Triangular system of two ODEs
+system:= [D(x(t), t) = x(t) * (1 + cos(t)/(2 + sin(t))), _
+ D(y(t), t) = x(t) - y(t)]
+-- Try solving this system one equation at a time
+solve(system.1, x, t)
+isTimes(subst(%.basis.1, cos(t) = sqrt(1 - sin(t)**2)))
+reduce(*, cons(subst(
+ factors(factor(subst(%.1**2, sin(t) = u) :: Polynomial Integer)).1.factor,
+ u = sin(t)),
+ rest(%)))
+x(t) = C1 * %
+solve(map(e +-> subst(e, %), system.2), y, t)
+y(t) = simplify(%.particular) + C2 * %.basis.1
+)clear properties x y
+-- ---------- Operators ----------
+-- Linear differential operator
+DD:= operator("D") :: Operator(Expression Integer)
+evaluate(DD, e +-> D(e, x))$Operator(Expression Integer)
+L:= (DD - 1) * (DD + 2)
+g:= operator('g)
+L(f(x))
+subst(L(subst(g(y), y = x)), x = y)
+subst(L(subst(A * sin(z**2), z = x)), x = z)
+-- Truncated Taylor series operator
+T:= (f, xx, a) +-> subst((DD**0)(f(x)), x = a)/factorial(0) * (xx - a)**0 + _
+ subst((DD**1)(f(x)), x = a)/factorial(1) * (xx - a)**1 + _
+ subst((DD**2)(f(x)), x = a)/factorial(2) * (xx - a)**2
+T(f, x, a)
+T(g, y, b)
+Sin:= operator("sin") :: Operator(Expression Integer)
+evaluate(Sin, x +-> sin(x))$Operator(Expression Integer)
+T(Sin, z, c)
+-- ---------- Programming ----------
+-- Write a simple program to compute Legendre polynomials
+p(n, x) == 1/(2**n*factorial(n)) * D((x**2 - 1)**n, x, n)
+for i in 0..4 repeat { output(""); output(concat(["p(", string(i), ", x) = "])); output(p(i, x))}
+eval(p(4, x), x = 1)
+-- Now, perform the same computation using a recursive definition
+pp(0, x) == 1
+pp(1, x) == x
+pp(n, x) == ((2*n - 1)*x*pp(n - 1, x) - (n - 1)*pp(n - 2, x))/n
+for i in 0..4 repeat { output(""); output(concat(["pp(", string(i), ", x) = "])); output(pp(i, x))}
+)clear properties p pp
+-- ---------- Translation ----------
+-- Horner's rule---this is important for numerical algorithms
+a:= operator('a)
+sum(a(i)*x**i, i = 1..5)
+p:= factor(%)
+-- Convert the result into FORTRAN syntax
+)set fortran ints2floats off
+outputAsFortran('p = p)
+-- ---------- Boolean Logic ----------
+-- Simplify logical expressions
+true and false
+x or (not x)
+x or y or (x and y)
+)set bre nobr
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ecfact.as.pamphlet b/src/input/ecfact.as.pamphlet
new file mode 100644
index 00000000..bf330973
--- /dev/null
+++ b/src/input/ecfact.as.pamphlet
@@ -0,0 +1,282 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ecfact.as}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+-- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+@
+<<*>>=
+<<license>>
+#include "axiom.as"
+#pile
+
+--% Elliptic curve method for integer factorization
+-- This file implements Lenstra's algorithm for integer factorization.
+-- A divisor of N is found by computing a large multiple of a rational
+-- point on a randomly generated elliptic curve in P2 Z/NZ.
+-- The Hessian model is used for the curve (1) to simplify the selection
+-- of the initial point on the random curve and (2) to minimize the
+-- cost of adding points.
+-- Ref: IBM RC 11262, DV Chudnovsky & GV Chudnovsky
+-- SMW Sept 86.
+
+--% EllipticCurveRationalPoints
+--)abbrev domain ECPTS EllipticCurveRationalPoints
+
+EllipticCurveRationalPoints(x0:Integer, y0:Integer, z0:Integer, n:Integer): ECcat == ECdef where
+ Point ==> Record(x: Integer, y: Integer, z: Integer)
+
+ ECcat ==> AbelianGroup with
+ double: % -> %
+ p0: %
+ HessianCoordinates: % -> Point
+
+ ECdef ==> add
+ Rep == Point
+ import from Rep
+ import from List Integer
+
+ Ex == OutputForm
+
+ default u, v: %
+
+ apply(u:%,x:'x'):Integer == rep(u).x
+ apply(u:%,y:'y'):Integer == rep(u).y
+ apply(u:%,z:'z'):Integer == rep(u).z
+ import from 'x'
+ import from 'y'
+ import from 'z'
+
+ coerce(u:%): Ex == [u.x, u.y, u.z]$List(Integer) :: Ex
+ p0:% == per [x0 rem n, y0 rem n, z0 rem n]
+ HessianCoordinates(u:%):Point == rep u
+
+ 0:% ==
+ per [1, (-1) rem n, 0]
+ -(u:%):% ==
+ per [u.y, u.x, u.z]
+ (u:%) = (v:%):Boolean ==
+ XuZv := u.x * v.z
+ XvZu := v.x * u.z
+ YuZv := u.y * v.z
+ YvZu := v.y * u.z
+ (XuZv-XvZu) rem n = 0 and (YuZv-YvZu) rem n = 0
+ (u:%) + (v:%): % ==
+ XuZv := u.x * v.z
+ XvZu := v.x * u.z
+ YuZv := u.y * v.z
+ YvZu := v.y * u.z
+ (XuZv-XvZu) rem n = 0 and (YuZv-YvZu) rem n = 0 => double u
+ XuYv := u.x * v.y
+ XvYu := v.x * u.y
+ Xw := XuZv*XuYv - XvZu*XvYu
+ Yw := YuZv*XvYu - YvZu*XuYv
+ Zw := XvZu*YvZu - XuZv*YuZv
+ per [Yw rem n, Xw rem n, Zw rem n]
+ double(u:%): % ==
+ import from PositiveInteger
+ X3 := u.x**(3@PositiveInteger)
+ Y3 := u.y**(3@PositiveInteger)
+ Z3 := u.z**(3@PositiveInteger)
+ Xw := u.x*(Y3 - Z3)
+ Yw := u.y*(Z3 - X3)
+ Zw := u.z*(X3 - Y3)
+ per [Yw rem n, Xw rem n, Zw rem n]
+ (n:Integer)*(u:%): % ==
+ n < 0 => (-n)*(-u)
+ v := 0
+ import from UniversalSegment Integer
+ for i in 0..length n - 1 repeat
+ if bit?(n,i) then v := u + v
+ u := double u
+ v
+
+
+--% EllipticCurveFactorization
+--)abbrev package ECFACT EllipticCurveFactorization
+
+EllipticCurveFactorization: with
+ LenstraEllipticMethod: (Integer) -> Integer
+ LenstraEllipticMethod: (Integer, Float) -> Integer
+ LenstraEllipticMethod: (Integer, Integer, Integer) -> Integer
+ LenstraEllipticMethod: (Integer, Integer) -> Integer
+
+ lcmLimit: Integer -> Integer
+ lcmLimit: Float-> Integer
+
+ solveBound: Float -> Float
+ bfloor: Float -> Integer
+ primesTo: Integer -> List Integer
+ lcmTo: Integer -> Integer
+ == add
+ import from List Integer
+ Ex == OutputForm
+ import from Ex
+ import from String
+ import from Float
+
+ NNI==> NonNegativeInteger
+ import from OutputPackage
+ import from Integer, NonNegativeInteger
+ import from UniversalSegment Integer
+
+ blather:Boolean := true
+
+ --% Finding the multiplier
+ flabs (f: Float): Float == abs f
+ flsqrt(f: Float): Float == sqrt f
+ nthroot(f:Float,n:Integer):Float == exp(log f/n::Float)
+
+ bfloor(f: Float): Integer == wholePart floor f
+
+ lcmLimit(n: Integer):Integer ==
+ lcmLimit nthroot(n::Float, 3)
+ lcmLimit(divisorBound: Float):Integer ==
+ y := solveBound divisorBound
+ lcmLim := bfloor exp(log divisorBound/y)
+ if blather then
+ output("The divisor bound is", divisorBound::Ex)
+ output("The lcm Limit is", lcmLim::Ex)
+ lcmLim
+
+ -- Solve the bound equation using a Newton iteration.
+ --
+ -- f = y**2 - log(B)/log(y+1)
+ --
+ -- f/f' = fdf =
+ -- 2 2
+ -- y (y + 1)log(y + 1) - (y + 1)log(y + 1) logB
+ -- ---------------------------------------------
+ -- 2
+ -- 2y(y + 1)log(y + 1) + logB
+ --
+ fdf(y: Float, logB: Float): Float ==
+ logy := log(y + 1)
+ ylogy := (y + 1)*logy
+ ylogy2:= y*logy*ylogy
+ (y*ylogy2 - logB*ylogy)/((2@Integer)*ylogy2 + logB)
+ solveBound(divisorBound:Float):Float ==
+ -- solve y**2 = log(B)/log(y + 1)
+ -- although it may be y**2 = log(B)/(log(y)+1)
+ relerr := (10::Float)**(-5)
+ logB := log divisorBound
+ y0 := flsqrt log10 divisorBound
+ y1 := y0 - fdf(y0, logB)
+ while flabs((y1 - y0)/y0) > relerr repeat
+ y0 := y1
+ y1 := y0 - fdf(y0, logB)
+ y1
+
+ -- maxpin(p, n, logn) is max d s.t. p**d <= n
+ maxpin(p:Integer,n:Integer,logn:Float): NonNegativeInteger ==
+ d: Integer := bfloor(logn/log(p::Float))
+ if d < 0 then d := 0
+ d::NonNegativeInteger
+
+ multiple?(i: Integer, plist: List Integer): Boolean ==
+ for p in plist repeat if i rem p = 0 then return true
+ false
+
+ primesTo(n:Integer):List Integer ==
+ n < 2 => []
+ n = 2 => [2]
+ plist := [3, 2]
+ i:Integer := 5
+ while i <= n repeat
+ if not multiple?(i, plist) then plist := cons(i, plist)
+ i := i + 2
+ if not multiple?(i, plist) then plist := cons(i, plist)
+ i := i + 4
+ plist
+ lcmTo(n:Integer):Integer ==
+ plist := primesTo n
+ m: Integer := 1
+ logn := log(n::Float)
+ for p in plist repeat m := m * p**maxpin(p,n,logn)
+ if blather then
+ output("The lcm of 1..", n::Ex)
+ output(" is", m::Ex)
+ m
+ LenstraEllipticMethod(n: Integer):Integer ==
+ LenstraEllipticMethod(n, flsqrt(n::Float))
+ LenstraEllipticMethod(n: Integer, divisorBound: Float):Integer ==
+ lcmLim0 := lcmLimit divisorBound
+ multer0 := lcmTo lcmLim0
+ LenstraEllipticMethod(n, lcmLim0, multer0)
+ InnerLenstraEllipticMethod(n:Integer, multer:Integer,
+ X0:Integer, Y0:Integer, Z0:Integer):Integer ==
+ import from EllipticCurveRationalPoints(X0,Y0,Z0,n)
+ import from Record(x: Integer, y: Integer, z: Integer)
+ p := p0
+ pn := multer * p
+ Zn := HessianCoordinates.pn.z
+ gcd(n, Zn)
+
+ LenstraEllipticMethod(n: Integer, multer: Integer):Integer ==
+ X0:Integer := random()
+ Y0:Integer := random()
+ Z0:Integer := random()
+ InnerLenstraEllipticMethod(n, multer, X0, Y0, Z0)
+
+ LenstraEllipticMethod(n:Integer, lcmLim0:Integer, multer0:Integer):Integer ==
+ nfact: Integer := 1
+ for i:Integer in 1.. while nfact = 1 repeat
+ output("Trying elliptic curve number", i::Ex)
+ X0:Integer := random()
+ Y0:Integer := random()
+ Z0:Integer := random()
+ nfact := InnerLenstraEllipticMethod(n, multer0, X0, Y0, Z0)
+ if nfact = n then
+ lcmLim := lcmLim0
+ while nfact = n repeat
+ output("Too many iterations... backing off")
+ lcmLim := bfloor(lcmLim * 0.6)
+ multer := lcmTo lcmLim
+ nfact := InnerLenstraEllipticMethod(n, multer0, X0, Y0, Z0)
+ nfact
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/efi.input.pamphlet b/src/input/efi.input.pamphlet
new file mode 100644
index 00000000..5df35de1
--- /dev/null
+++ b/src/input/efi.input.pamphlet
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input efi.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+--
+)clear all
+EFI:=Expression Integer
+
+ber:=operator 'ber
+s:=operator 's
+--s:OP EFI:=operator 's
+
+br:LIST EFI->EFI
+-- br(x|(x.1)~=0)==(x.1)/(exp((x.1))-1)
+-- br has a removable singularity at the origin
+-- br(x|(x.1)=0)== limit(br([y]),y=0)
+br(x) ==
+ (x.1) = 0 => limit(br([y]),y=0)
+ (x.1)/(exp((x.1))-1)
+
+br([1])
+br([0])
+
+fJ:List FRAC INT -> EFI
+J(i:PI,j:PI):EFI==ber(s(i)-s(j))
+
+function(J(1,2),'fJ,['s])
+evaluate(ber,br)$BOP1(EFI);
+
+ss:=[1,2]
+fJ(ss)
+
+ss:=[1,1]
+-- fJ doesn't know about the special definition at the origin
+fJ(ss)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/egg.input.pamphlet b/src/input/egg.input.pamphlet
new file mode 100644
index 00000000..85c96894
--- /dev/null
+++ b/src/input/egg.input.pamphlet
@@ -0,0 +1,19 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input egg.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..%pi,v=0..2*%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/eigen.input.pamphlet b/src/input/eigen.input.pamphlet
new file mode 100644
index 00000000..9447c5ec
--- /dev/null
+++ b/src/input/eigen.input.pamphlet
@@ -0,0 +1,122 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input eigen.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- Computation of eigenvalues and eigenvectors
+)cl all
+
+-- computation of characteristic polynomial
+
+-- for matrix of integers
+m:=matrix([[1,2,1],[2,1,-2],[1,-2,4]])
+
+characteristicPolynomial m
+characteristicPolynomial(m,x)
+
+-- for matrix of polynomials
+p:=matrix([[x+1,2-x*y,x**2+1],[2-x,y+2*x,x**2-2],[y**2,x-2,4-x*y]])
+characteristicPolynomial p
+characteristicPolynomial(p,t)
+
+-- for general matrix of FRAC POLY INT
+n:=matrix([[a,b,c],[d,e,f],[g,h,k]])
+characteristicPolynomial n
+
+-- there are many functions for the computation of eigenvalues and
+-- eigenvectors:
+-- the function eigenvalues returns the eigenvalues :
+leig := eigenvalues m
+
+alpha:=leig.1
+-- alpha is a rational eigenvalue; the corresponding eigenvector can be
+-- computed with the function eigenvector:
+eigenvector(alpha,m)
+
+beta:=leig.2
+-- beta is a "symbolic" eigenvalue, i.e. it is a root (symbolically expressed)
+-- of an irreducible factor of the characteristic polynomial. In this case
+-- too we can compute the associate eigenvectors.
+eigenvector(beta,m)$EP(INT)
+-- eigenvector(beta,m) not accepted by the interpreter
+
+-- eigenvalues and eigenvectors can be computed simultaneously
+-- with the function eigenvectors
+eigenvectors m
+
+q:=matrix [[x**2-y**2,(x-y)*(2*x+3*y)],[x+y,2*x+3*y]]
+
+eigenvectors(q)
+
+p:=matrix([[76,-18,58,-10],[-4,78,2,-2],[-6,15,45,3],[22,-75,7,41]])
+ll := eigenvectors p
+
+-- In this case the algebraic multiplicity (the field eigmult) is different
+-- from the geometric multiplicity (the length of the field eigvec).
+
+generalizedEigenvectors p
+generalizedEigenvector(ll.1,p)$EP(INT)
+-- generalizedEigenvector(ll.1,p) the interpreter can not handle this
+
+-- these functions return respectively the complete set of
+-- generalized eigenvectors
+-- or the generalized eigenvectors associated to a particular eigenvalue alpha,
+-- i.e. a basis of the nullSpace((p-alpha*I)**k) where k is the algebraic
+-- multiplicity of alpha.
+
+-- In the case of symbolic eigenvalues it is possible to convert the symbolic
+-- eigenvalue and the corresponding eigenvectors in a more explicit form.
+m
+mm:=matrix([[30,4,24],[-17,8,-7],[-31,-54,-5]])
+-- the function radicalEigenvalues expresses, when possible, the eigenvalues
+-- in terms of radicals.
+le1:=radicalEigenvalues m
+le2:=radicalEigenvalues mm
+
+-- the function radicalEigenvector computes the eigenvectors assocoted to
+-- a given eigenvalue, expressed in terms of radicals
+radicalEigenvector(le1.2, m)
+radicalEigenvector(le2.2,mm)
+
+-- the function radicalEigenvectors computes simoultaneously all the
+-- eigenvalues and the associated eigenvectors and expresses the , when
+-- it is possible, in terms of radical.
+radicalEigenvectors m
+radicalEigenvectors mm
+
+-- there exist analogous functions for the computation of real and complex
+-- eigenvalues and eigenvectors.
+
+-- in order to compute respectively the eigenvalues or the
+-- eigenvalues and the associared eigevectors of a matrix m and express them
+-- as rational numbers (Gaussian rational) up to precision 1/1000000 use
+realEigenvalues(m,1/1000000)
+complexEigenvalues(mm,1/1000000)
+
+realEigenvectors(m,1/1000000)
+complexEigenvectors(mm,1/1000000)
+-- to have the eigenvalues expressed as real float (complex float) use
+realEigenvalues(m,.000001)
+realEigenvectors(m,.000001)
+
+complexEigenvalues(mm,.000001)
+complexEigenvectors(mm,.000001)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/elemfun.input.pamphlet b/src/input/elemfun.input.pamphlet
new file mode 100644
index 00000000..aed43ac5
--- /dev/null
+++ b/src/input/elemfun.input.pamphlet
@@ -0,0 +1,76 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input elemfun.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- Manipulations of ElementaryFunction Integer
+
+)clear all
+
+-- some values of trig functions will simplify on application
+cos 0
+sin 0
+exp 0
+log 1
+sin(%pi/2)
+simplify %
+
+-- same goes with the usual relations
+sin(3)**2 + cos(3)**2
+simplify %
+
+a := atan 1
+t := cos(a)*sin(a)*tan(a)*sec(a)*csc(a)*cot(a)
+simplify t
+
+-- we can remove selected operations
+cot2tan t
+cot2trig t
+tan2cot t
+tan2trig t
+cos2sec t
+
+-- given such a trig expression not involving any variables,
+-- we can get a numeric approximation
+
+t := sin(7)**2 - sec(7)/(1 - cot(7) + csc(7)**3)
+simplify t
+numeric %
+
+-- we really didn't need to have simplified
+numeric t
+
+-- we can get more digits by giving a precision
+numeric(t, 100)
+
+-- if we do have an expression involving variables, we can use eval
+-- to give them values
+
+u := exp(sin(x-1)**2 - cos(x-1)/sec(x-1))
+eval(u,x=1)
+
+-- here is another technique using rewrite rules
+v(x) == exp(sin(x-1)**2 - cos(x-1)/sec(x-1))
+v x
+v 1
+v(%pi/3)
+numeric %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/elemnum.input.pamphlet b/src/input/elemnum.input.pamphlet
new file mode 100644
index 00000000..4763ebe9
--- /dev/null
+++ b/src/input/elemnum.input.pamphlet
@@ -0,0 +1,122 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input elemnum.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+--
+-- Test numeric evaluation of elementary functions. SMW June 26, 1991.
+)clear all
+)set break resume
+x := 0.7::Float
+[exp log x]
+[log exp x]
+[sin asin x, cos acos x, tan atan x, cot acot x]
+[asin sin x, acos cos x, atan tan x, acot cot x, acsc csc x, asec sec x ]
+[sinh asinh x, tanh atanh x, csch acsch x,sech asech x]
+[asinh sinh x,acosh cosh x,atanh tanh x,acoth coth x,acsch csch x,asech sech x]
+--Should give errors:
+--acsc x
+--asec x
+--acosh x
+--acoth x
+
+x := 1.1::Float
+[exp log x]
+[log exp x]
+[ tan atan x, cot acot x, csc acsc x, sec asec x ]
+[asin sin x, acos cos x, atan tan x, acot cot x, acsc csc x, asec sec x ]
+[sinh asinh x,cosh acosh x, coth acoth x,csch acsch x ]
+[asinh sinh x,acosh cosh x,atanh tanh x,acoth coth x,acsch csch x,asech sech x]
+--Should give errors:
+--asin x
+--acos x
+--atanh x
+--asech x
+
+x := 0.7::DoubleFloat
+[exp log x]
+[log exp x]
+[sin asin x, cos acos x, tan atan x, cot acot x]
+[asin sin x, acos cos x, atan tan x, acot cot x, acsc csc x, asec sec x ]
+[sinh asinh x, tanh atanh x, csch acsch x,sech asech x]
+[asinh sinh x,acosh cosh x,atanh tanh x,acoth coth x,acsch csch x,asech sech x]
+--Should give errors:
+--acsc x
+--asec x
+--acosh x
+--acoth x
+
+x := 1.1::DoubleFloat
+[exp log x]
+[log exp x]
+[ tan atan x, cot acot x, csc acsc x, sec asec x ]
+[asin sin x, acos cos x, atan tan x, acot cot x, acsc csc x, asec sec x ]
+[sinh asinh x,cosh acosh x, coth acoth x,csch acsch x ]
+[asinh sinh x,acosh cosh x,atanh tanh x,acoth coth x,acsch csch x,asech sech x]
+--Should give errors:
+--asin x
+--acos x
+--atanh x
+--asech x
+
+qtest(a,b,n) ==
+ m1 := if n = 1 or n = 4 then 0 else 1
+ s1 := if n = 1 or n = 4 then 1 else -1
+ s2 := if n = 1 or n = 2 then 1 else -1
+ x := complex(s1*a, s2*b)
+ [x- exp log x, _
+ x- sin asin x, x- cos acos x, x- tan atan x , _
+ x- csc acsc x, x- sec asec x, x- cot acot x , _
+ x- sinh asinh x, x- cosh acosh x, x- tanh atanh x , _
+ x- csch acsch x, x- sech asech x, x- coth acoth x , _
+ x- log exp x, _
+ x- asin sin x, x- s1*acos cos x, x- atan tan x , _
+ x- acsc csc x, x- s1*asec sec x, x- acot cot x + m1*%pi, _
+ x- asinh sinh x, x- s1*acosh cosh x, x- atanh tanh x , _
+ x- acsch csch x, x- s1*asech sech x, x- acoth coth x ]
+
+qerr(l) ==
+ reduce(+, [norm v for v in l])/#l
+sa := 0.7::DoubleFloat
+sb := 1.1::DoubleFloat
+ba := 0.7::Float
+bb := 1.1::Float
+
+qtest(sa, sb, 1)
+qerr %
+qtest(ba, bb, 1)
+qerr %
+
+qtest(sa, sb, 2)
+qerr %
+qtest(ba, bb, 2)
+qerr %
+
+qtest(sa, sb, 3)
+qerr %
+qtest(ba, bb, 3)
+qerr %
+
+qtest(sa, sb, 4)
+qerr %
+qtest(ba, bb, 4)
+qerr %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/elfuts.input.pamphlet b/src/input/elfuts.input.pamphlet
new file mode 100644
index 00000000..462795e8
--- /dev/null
+++ b/src/input/elfuts.input.pamphlet
@@ -0,0 +1,80 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input elfuts.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+)cl all
+--demo of Jacobian elliptic functions expanded as power series
+)set streams calculate 10
+)expose ELFUTS
+macro RN == FRAC INT
+macro QF == FRAC
+xx:UTS(RN,'x,0):=x
+sn(xx,1::RN)
+cn(xx,1::RN)
+dn(xx,1::RN)
+yy:UTS(FRAC UP(k,RN),'y,0):=y
+snn:=sn(yy,k::QF UP(k,RN))
+cnn:=cn(yy,k::QF UP(k,RN))
+dnn:=dn(yy,k::QF UP(k,RN))
+snn**2+cnn**2
+ksquared:=(k::UP(k,RN))**2
+dnn**2+ksquared*snn**2
+(differentiate snn)**2
+(1-snn**2)*(1-ksquared*snn**2)
+(differentiate cnn)**2
+(1-cnn**2)*(1-ksquared+ksquared*cnn**2)
+(differentiate dnn)**2
+(1-dnn**2)*(dnn**2-1+ksquared)
+
+kkk:=integrate(1/((1-yy**2)*(1-ksquared*yy**2))**(1/2))
+revert kkk
+snn
+
+-- Theta-functions expanded as power series
+
+--q0=*/[1-q**2*n for n in 1..]
+--q1=*/[1+q**2*n for n in 1..]
+--q2=*/[1+q**(2*n-1) for n in 1..]
+--q3=*/[1-q**(2*n-1) for n in 1..]
+eprod x==exp evenlambert log x
+qq:UTS(RN,'q,0):=q
+q0:=eprod(1-qq)
+q1:=eprod(1+qq)
+oprod x == exp oddlambert log x
+q2:=oprod(1+qq)
+q3:=oprod(1-qq)
+q1*q2*q3
+q2**8-q3**8
+16*qq*q1**8
+--(q1**2/q2**2)**2
+--(q3**2/q2**2)**2
+q0**3
+q1**2*q0
+q2**2*q0
+q3**2*q0
+qqq:UTS(FRAC UP(a,RN),'q,0):=q
+a:=a::FRAC UP(a,RN)
+
+--Jacobi's triple product
+eprod(1-qqq)*oprod(1-a*qqq)*oprod(1-qqq/a)
+sq:=ksquared*snn**2
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/elt.input.pamphlet b/src/input/elt.input.pamphlet
new file mode 100644
index 00000000..ab70ff32
--- /dev/null
+++ b/src/input/elt.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input elt.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+-- This file tests elts and setelts
+
+)clear all
+u : Bits := new(10,true)
+u(3..5) := false; u
+)clear all
+u:Any := [1, 7.2, 3/2, x**2, "wally"]
+u.1
+)clear all
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/eq.input.pamphlet b/src/input/eq.input.pamphlet
new file mode 100644
index 00000000..e315e7c2
--- /dev/null
+++ b/src/input/eq.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input EQ.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from EquationXmpPage
+)clear all
+
+eq1 := 3*x + 4*y = 5
+eq2 := 2*x + 2*y = 3
+lhs eq1
+rhs eq1
+eq1 + eq2
+eq1 * eq2
+2*eq2 - eq1
+eq1**2
+if x+1 = y then "equal" else "unequal"
+eqpol := x+1 = y
+if eqpol then "equal" else "unequal"
+eqpol::Boolean
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/eqtbl.input.pamphlet b/src/input/eqtbl.input.pamphlet
new file mode 100644
index 00000000..19aef945
--- /dev/null
+++ b/src/input/eqtbl.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input EQTBL.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from EqTableXmpPage
+)clear all
+
+e: EqTable(List Integer, Integer) := table()
+l1 := [1,2,3]
+l2 := [1,2,3]
+e.l1 := 111
+e.l2 := 222
+e.l1
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/equation.input.pamphlet b/src/input/equation.input.pamphlet
new file mode 100644
index 00000000..30b5cbb4
--- /dev/null
+++ b/src/input/equation.input.pamphlet
@@ -0,0 +1,148 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input equation.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+--
+--To ease the use of equation (more user friendly applications)
+--I have enhanced the datatype Equation to have more
+--mathematical richness.
+--
+--First of all now you can embed s from S to Equation S
+--as s = s.
+--This allows to easily manipulate equations bring terms
+--from one side to the other by simply adding or multiplying
+--or ... provided, that the equation domain inherits the
+--structure of the underlying S.
+--
+--So I went through the code saying
+--
+--If S has BlaBla then BlaBla
+--
+--for the most important structures, please suggest others
+--if necessary, Steve, do we have a more general method in
+--the new compiler rather than repeating all these
+--definitions as
+--
+--inv(eq) == inv lhs eq = inv rhs eq
+--
+--??
+--
+--
+--Furthermore, we have function to put 0 or 1 on one side
+--and factor the left hand side, after the right hand side
+--is 0 and we have an IntegralDomain.
+--
+--Please comment and test.
+--
+--Johannes
+
+
+eq1 := (-6*x**3+13*x**2+4)=(-x**4+12*x)
+--
+--
+-- 3 2 4
+-- (1) - 6x + 13x + 4= - x + 12x
+-- Type: Equation Polynomial Integer
+-- Time: 1.61 (IN) + 1.47 (OT) = 3.08 sec
+eq2 := x**4+13*x**2-12*x = 6*x**3-4
+--
+--
+-- 4 2 3
+-- (2) x + 13x - 12x= 6x - 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.16 (IN) + 0.11 (OT) = 0.27 sec
+eq := eq1*y**2+eq2
+--
+--
+-- 3 2 2 4 2 4 2 3
+-- (3) (- 6x + 13x + 4)y + x + 13x - 12x= (- x + 12x)y + 6x - 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.26 (IN) + 0.01 (EV) + 0.01 (OT) + 1.54 (GC) = 1.82 sec
+swap %
+--
+--
+-- 4 2 3 3 2 2 4 2
+-- (4) (- x + 12x)y + 6x - 4= (- 6x + 13x + 4)y + x + 13x - 12x
+-- Type: Equation Polynomial Integer
+-- Time: 0.07 (OT) = 0.07 sec
+% + 4
+--
+--
+-- 4 2 3 3 2 2 4 2
+-- (5) (- x + 12x)y + 6x = (- 6x + 13x + 4)y + x + 13x - 12x + 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.69 (IN) + 0.01 (OT) = 0.70 sec
+%-6*x**3
+--
+--
+-- 4 2 3 2 2 4 3 2
+-- (6) (- x + 12x)y = (- 6x + 13x + 4)y + x - 6x + 13x - 12x + 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.19 (IN) + 0.01 (OT) = 0.20 sec
+leftZero %
+--
+--
+-- 4 3 2 2 4 3 2
+-- (7) 0= (x - 6x + 13x - 12x + 4)y + x - 6x + 13x - 12x + 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.01 (IN) + 0.05 (OT) = 0.06 sec
+swap %
+--
+--
+-- 4 3 2 2 4 3 2
+-- (8) (x - 6x + 13x - 12x + 4)y + x - 6x + 13x - 12x + 4= 0
+-- Type: Equation Polynomial Integer
+-- Time: 0.01 (IN) = 0.01 sec
+factor lhs %
+--
+--
+-- 2 2 2
+-- (9) (x - 2) (x - 1) (y + 1)
+-- Type: Factored Polynomial Integer
+-- Time: 0.50 (IN) + 0.09 (EV) + 0.30 (OT) = 0.89 sec
+factorAndSplit eq
+--
+--
+-- 2
+-- (10) [x - 2= 0,x - 1= 0,y + 1= 0]
+-- Type: List Equation Polynomial Integer
+-- Time: 0.09 (EV) + 0.21 (OT) = 0.30 sec
+inv (eq :: EQ FRAC POLY INT)
+--
+--
+-- 1 1
+-- (11) - ------------------------------------= - ----------------------
+-- 3 2 2 4 2 4 2 3
+-- (6x - 13x - 4)y - x - 13x + 12x (x - 12x)y - 6x + 4
+-- Type: Equation Fraction Polynomial Integer
+-- Time: 0.03 (IN) = 0.03 sec
+- %
+--
+--
+-- 1 1
+-- (12) ------------------------------------= ----------------------
+-- 3 2 2 4 2 4 2 3
+-- (6x - 13x - 4)y - x - 13x + 12x (x - 12x)y - 6x + 4
+-- Type: Equation Fraction Polynomial Integer
+-- Time: 0.01 (IN) + 0.01 (OT) = 0.02 sec
+--
+--
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/equation2.input.pamphlet b/src/input/equation2.input.pamphlet
new file mode 100644
index 00000000..2055a65a
--- /dev/null
+++ b/src/input/equation2.input.pamphlet
@@ -0,0 +1,61 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input equation2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page SystemOfPolynomialEquationPage
+)clear all
+
+solve([3*x**3 + y + 1,y - 1],[x,y])
+solve([x**3 + x - y**2 + 4,x*y + 2],[x,y],"sym")
+solve([x = y**2-19,y = z**2+x+3,z = 3*x],[x,y,z])
+solve([3*x + 2*y - z,x - 1/2*y + 1/3*z,4/5*x - 2/3*y - z])
+solve([x**2*y - 1,x*y**2 - 2],[x,y],.01)
+solve([x**2/a = 1,a**2 - a*x = 0],[x,a],.001)
+solve([x**2/a + a + y**3 - 1,a*y + a + 1],[x,y])
+
+-- Input for page OnePolynomialEquationPage
+)clear all
+
+solve(x**3 + 1 = 0,x)
+solve(x**3*y + x*y + 1,x,"sym")
+solve(3*x + 1/4*y = 1,x)
+solve(x**4 - 10*x**3 + 35*x**2 - 50*x + 25,x,1/1000)
+solve(x**4 - 10*x**3 + 35*x**2 - 50*x + 25,x,"sym")
+solve(x**3 - sqrt(2))
+solve(x**3/a + x/a + 1,x)
+solve(1/x**3 + 1/x**2 + 1/x = 0,x,"sym")
+
+-- Input for page OnePolynomialEquationPage
+)clear all
+
+solve(x**3 + 1 = 0,x)
+solve(x**3*y + x*y + 1,x,"sym")
+solve(3*x + 1/4*y = 1,x)
+solve(x**4 - 10*x**3 + 35*x**2 - 50*x + 25,x,1/1000)
+solve(x**4 - 10*x**3 + 35*x**2 - 50*x + 25,x,"sym")
+solve(x**3 - sqrt(2))
+solve(x**3/a + x/a + 1,x)
+solve(1/x**3 + 1/x**2 + 1/x = 0,x,"sym")
+
+-- Input for page LinearEquationPage
+)clear all
+
+solve([[1,1,1],[3,-2,1],[1,2,2]],[8,0,17])
+solve([[1,2,3],[2,3,4],[3,4,5]],[2,2,2])
+solve([[1,2,3],[2,3,4],[3,4,5]],[2,3,2])
+solve([[1,2,3],[2,3,4],[3,4,5]])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/errortrap.input.pamphlet b/src/input/errortrap.input.pamphlet
new file mode 100644
index 00000000..0a5416c9
--- /dev/null
+++ b/src/input/errortrap.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input errortrap.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+)clear all
+-- examples that test the error traps when graphing functions
+
+draw(1/x, x = 0.0..2.0, adaptive == false)
+
+draw(asec x, x = -2..2, clip == [-2..2, -4..4])
+
+draw(asin x, x = -2..2)
+
+draw(curve(cos(1/x), sin(1/x)), x = -2..2, adaptive == false)
+
+draw(curve(5*cos(x), 5*sin(x), asec(x)), x = -12..12)
+
+draw(curve(cos(x), sin(x), 1/x), x = 0.0..1.0)
+
+draw(asec(x*y), x = -2..2, y = -2..2)
+
+f(x,y) == asec(x)*asec(y)
+draw(f, -2..2, -2..2)
+
+draw(surface(u*acsc(v), u*asec(v), v*acsc(u)), u=-2..2, v=-2..2)
+
+draw(curve(acsc(x), asec(x), x), x = -2..2, tubeRadius == .3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/eval.input.pamphlet b/src/input/eval.input.pamphlet
new file mode 100644
index 00000000..4cb9d679
--- /dev/null
+++ b/src/input/eval.input.pamphlet
@@ -0,0 +1,77 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input eval.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- This file demonstrate the various eval's available on EXPR, and the
+-- handling of formal derivatives.
+-- Lines starting with --** are comments indicating that the final syntax
+-- will be different.
+
+)cl all
+--** This line will be optional interactively, since the a := f(x**2)
+--** will prompt you if you don't declare f this way.
+f := operator 'f
+a := f(x**2)
+b := differentiate(a,x,2) + f 5
+-- This is the 'variable' evaluation, similar to what's available on
+-- polynomials:
+eval(b, x = x + y)
+-- This is the 'kernel' evaluation, allowing you to specify special
+-- values. Only the specified value f 5 is affected, not the others:
+eval(b, f 5 = 1)
+-- This is the 'operator' evaluation, allowing you to specify an actual
+-- function for a formal one. ALL the values of f are affected.
+--** will eventually use the +-> notation in the eval statement
+foo(u:EXPR INT):EXPR INT == exp u
+-- So what is b if f were the exponential function?
+-- Notice that the formal derivatives will be computed properly now:
+c := eval(b, 'f, foo)
+-- We can also use that evaluation on 'system' operators, which allows
+-- us to replace an actual function by a formal one:
+oof(u:EXPR INT):EXPR INT == f u
+eval(c, 'exp, oof)
+-- It is also possible to give f a derivative without replacing it by
+-- a 'concrete' function:
+f'(u:EXPR INT):EXPR INT == f u
+-- this will make f differentiate like an exponential:
+derivative(f,f')
+b
+--** The coercion is needed to avoid an interpreter bug.
+--** This will just be eval(b) eventually:
+eval(b, x = x::(EXPR INT))
+differentiate(%, x)
+-- This is the 'operator/power' evaluation: suppose that we know that
+-- f squared is the exponential, but we do not want to replace f(u) by
+-- sqrt(exp u). It is still possible to eliminate higher powers of f
+-- in the following way:
+a3 := a * a * a
+foo
+eval(a3,'f,2,foo)
+-- Several 'operator' evaluations can be carried out simultaneously:
+g := operator 'g
+bar(u:EXPR INT):EXPR INT == sin(u) + cos(2*u)
+a + g a
+eval(%,['f,'g],[foo,bar])
+a3 + g a
+-- The grand finale: by now the effect of the following should be clear:
+eval(%,['f,'g],[2,1],[foo,bar])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/evalex.input.pamphlet b/src/input/evalex.input.pamphlet
new file mode 100644
index 00000000..a2d3bc7f
--- /dev/null
+++ b/src/input/evalex.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input evalex.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page PrefixEval
+)clear all
+
+cos(2)
+
+-- Input for page PrefixEval
+)clear all
+
+cos(2)
+
+-- Input for page InfixEval
+)clear all
+
+2 + 3.4
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exdiff.input.pamphlet b/src/input/exdiff.input.pamphlet
new file mode 100644
index 00000000..4cb4c7fe
--- /dev/null
+++ b/src/input/exdiff.input.pamphlet
@@ -0,0 +1,52 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input exdiff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExDiffBasic
+)clear all
+
+differentiate(sin(x) * exp(x**2),x)
+
+-- Input for page ExDiffSeveralVariables
+)clear all
+
+differentiate(sin(x) * tan(y)/(x**2 + y**2),x)
+differentiate(sin(x) * tan(y)/(x**2 + y**2),y)
+
+-- Input for page ExDiffMultipleI
+)clear all
+
+differentiate(sin(x)/(x**2 + y**2),[x,y])
+differentiate(sin(x)/(x**2 + y**2),[x,y,y])
+
+-- Input for page ExDiffMultipleII
+)clear all
+
+differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])
+
+-- Input for page ExDiffHigherOrder
+)clear all
+
+differentiate(exp(x**2),x,4)
+
+-- Input for page ExDiffFormalIntegral
+)clear all
+
+f := integrate(sqrt(1 + t**3),t)
+differentiate(f,t)
+differentiate(f * t**2,t)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exint.input.pamphlet b/src/input/exint.input.pamphlet
new file mode 100644
index 00000000..8701da89
--- /dev/null
+++ b/src/input/exint.input.pamphlet
@@ -0,0 +1,64 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input exint.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExIntRationalWithRealParameter
+)clear all
+
+integrate(1/(x**2 + a),x)
+
+-- Input for page ExIntRationalFunction
+)clear all
+
+integrate((x**2+2*x+1)/((x+1)**6+1),x)
+
+-- Input for page ExIntAlgebraicRelation
+)clear all
+
+integrate(tan(atan(x)/3),x)
+
+-- Input for page ExIntRationalWithComplexParameter
+)clear all
+
+complexIntegrate(1/(x**2 + a),x)
+
+-- Input for page ExIntNoSolution
+)clear all
+
+integrate(log(1 + sqrt(a*x + b)) / x,x)
+
+-- Input for page ExIntTwoSimilarIntegrands
+)clear all
+
+integrate(x**3 / (a+b*x)**(1/3),x)
+integrate(1 / (x**3 * (a+b*x)**(1/3)),x)
+
+-- Input for page ExIntRadicalOfTranscendental
+)clear all
+
+integrate((x + 1) / (x * (x + log x)**(3/2)),x)
+
+-- Input for page ExIntNonElementary
+)clear all
+
+integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)
+
+-- Input for page ExIntTrig
+)clear all
+
+integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/(sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exit.input.pamphlet b/src/input/exit.input.pamphlet
new file mode 100644
index 00000000..483802ee
--- /dev/null
+++ b/src/input/exit.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input EXIT.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from ExitXmpPage
+)clear all
+
+n := 0
+gasp(): Exit ==
+ free n
+ n := n + 1
+ error "Oh no!"
+half(k) ==
+ if odd? k then gasp()
+ else k quo 2
+half 4
+half 3
+n
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exlap.input.pamphlet b/src/input/exlap.input.pamphlet
new file mode 100644
index 00000000..02c34f2b
--- /dev/null
+++ b/src/input/exlap.input.pamphlet
@@ -0,0 +1,48 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input exlap.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExLapDefInt
+)clear all
+
+laplace(2/t * (1 - cos(a*t)), t, s)
+
+-- Input for page ExLapExpExp
+)clear all
+
+laplace((exp(a*t) - exp(b*t))/t, t, s)
+
+-- Input for page ExLapSpecial1
+)clear all
+
+laplace(exp(a*t+b)*ei(c*t), t, s)
+
+-- Input for page ExLapSpecial2
+)clear all
+
+laplace(a*ci(b*t) + c*si(d*t), t, s)
+
+-- Input for page ExLapTrigTrigh
+)clear all
+
+laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)
+
+-- Input for page ExLapSimplePole
+)clear all
+
+laplace(t**4 * exp(-a*t) / factorial(4), t, s)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exlimit.input.pamphlet b/src/input/exlimit.input.pamphlet
new file mode 100644
index 00000000..ff213435
--- /dev/null
+++ b/src/input/exlimit.input.pamphlet
@@ -0,0 +1,59 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input exlimit.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExLimitBasic
+)clear all
+
+limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)
+
+-- Input for page ExLimitComplexInfinite
+)clear all
+
+complexLimit((2 + z)/(1 - z),z = %infinity)
+limit(sin(x)/x,x = %plusInfinity)
+complexLimit(sin(x)/x,x = %infinity)
+
+-- Input for page ExLimitOneSided
+)clear all
+
+limit(x * log(x),x = 0,"right")
+limit(x * log(x),x = 0)
+
+-- Input for page ExLimitTwoSided
+)clear all
+
+limit(sqrt(y**2)/y,y = 0)
+limit(sqrt(1 - cos(t))/t,t = 0)
+
+-- Input for page ExLimitInfinite
+)clear all
+
+limit(sqrt(3*x**2 + 1)/(5*x),x = %plusInfinity)
+limit(sqrt(3*x**2 + 1)/(5*x),x = %minusInfinity)
+
+-- Input for page ExLimitParameter
+)clear all
+
+limit(sinh(a*x)/tan(b*x),x = 0)
+
+-- Input for page ExLimitRealComplex
+)clear all
+
+limit(z * sin(1/z),z = 0)
+complexLimit(z * sin(1/z),z = 0)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/expexpan.input.pamphlet b/src/input/expexpan.input.pamphlet
new file mode 100644
index 00000000..1cbd30bd
--- /dev/null
+++ b/src/input/expexpan.input.pamphlet
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input expexpan.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited MCMXCII.
+@
+<<*>>=
+<<license>>
+
+--% ExponentialExpansion
+-- We compute exponential expansions and right hand limits.
+-- Author: Clifton J. Williamson
+-- Date Created: 27 August 1992
+-- Date Last Updated: 27 August 1992
+-- Keywords: Exponential expansion, limit, right-hand limit
+-- References:
+
+xxp f == exprToXXP(f,true)$FS2EXPXP(INT,EXPR INT,x,0)
+
+f1 := (a**2 + 1) * exp(1/x**3 + 2/x**2) - exp(b) * exp(1/x**3 + 3/x**2)
+x1 := xxp f1
+limitPlus x1 -- %minusInfinity
+
+f2 := (a**2 + 1) * exp(1/x**3 + 2/x**2) - exp(b) * exp(-1/x**3 + 3/x**2)
+x2 := xxp f2
+limitPlus x2 -- %plusInfinity
+
+f3 := (a**2 + 1) * exp(1/x**3) - exp(b) * exp(c/x**2)
+x3 := xxp f3
+limitPlus x3 -- %plusInfinity
+
+f4 := (a**2 + 1) * exp(-1/x**3) - exp(b) * exp(c/x**2)
+x4 := xxp f4
+limitPlus x4 -- "failed"
+
+p5 := tan(x) * exp(1/x**2) - tan(x) * exp(1/x**2 - 1/x) + sin(x) * exp(1/x)
+q5 := -4 * exp(-1/x**2 - 1/x) + sin(x) * exp(-1/x**2 + 1/x)
+f5 := p5 / q5
+x5 := xxp f5
+limitPlus x5 -- %plusInfinity
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/explim.input.pamphlet b/src/input/explim.input.pamphlet
new file mode 100644
index 00000000..cf3d73d6
--- /dev/null
+++ b/src/input/explim.input.pamphlet
@@ -0,0 +1,58 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input explim.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited MCMXCII.
+@
+<<*>>=
+<<license>>
+
+--% Limits involving essential singularities of the exponential function
+-- Some of these limits were taken from bug reports submitted before additions
+-- and changes were made to limit and related series packages.
+-- Author: Clifton J. Williamson
+-- Date Created: 27 August 1992
+-- Date Last Updated: 27 August 1992
+-- Keywords: limit, trigonometric function, inverse trigonometric function
+-- References:
+
+)clear all
+
+limit(x/exp(x),x = %plusInfinity) -- 0
+
+limit(x**10000/exp(x),x = %plusInfinity) -- 0
+
+limit(x**(10**20)/exp(x),x = %plusInfinity) -- 0
+
+limit(x**h/exp(x),x = %plusInfinity) -- 0
+
+limit(x/exp(x),x = %minusInfinity) -- %minusInfinity
+
+limit(x**10000/exp(x),x = %minusInfinity) -- %plusInfinity
+
+limit(x**(10**20)/exp(x),x = %minusInfinity) -- %plusInfinity
+
+limit(x**h/exp(x),x = %minusInfinity) -- "failed"
+
+limit(exp(-x) * sinh(x),x = %plusInfinity) -- 1/2
+
+limit(exp(-x) * cosh(x),x = %plusInfinity) -- 1/2
+
+limit(exp(-x) * exp(x),x = %plusInfinity) -- 1
+
+limit((x + 1)**(x + 1)/x**x - x**x/(x - 1)**(x - 1),x = %plusInfinity) -- %e
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/explot2d.input.pamphlet b/src/input/explot2d.input.pamphlet
new file mode 100644
index 00000000..5681e6dd
--- /dev/null
+++ b/src/input/explot2d.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input explot2d.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExPlot2DPolar
+)clear all
+
+draw(sin(4*t/7),t = 0..14*%pi,coordinates == polar)
+
+-- Input for page ExPlot2DAlgebraic
+)clear all
+
+draw(solution(y**2 + y - (x**3 - x) = 0),x,y,clip == (-2..2,-2..1))
+
+-- Input for page ExPlot2DFunctions
+)clear all
+
+draw(sin(tan(x)) - tan(sin(x)),x = 0..6)
+
+-- Input for page ExPlot2DParametric
+)clear all
+
+draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*%pi..4*%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/explot3d.input.pamphlet b/src/input/explot3d.input.pamphlet
new file mode 100644
index 00000000..7f27d824
--- /dev/null
+++ b/src/input/explot3d.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input explot3d.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExPlot3DParametricCurve
+)clear all
+
+draw(curve(cos(t),sin(t),t),t=0..6)
+draw(curve(t,t**2,t**3),t=-3..3)
+
+-- Input for page ExPlot3DParametricSurface
+)clear all
+
+draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..%pi,v=0..2*%pi)
+draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*%pi)
+
+-- Input for page ExPlot3DFunctions
+)clear all
+
+draw(cos(x*y),x = -3..3,y = -3..3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/expr.input.pamphlet b/src/input/expr.input.pamphlet
new file mode 100644
index 00000000..297ee273
--- /dev/null
+++ b/src/input/expr.input.pamphlet
@@ -0,0 +1,58 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input expr.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)clear all
+foo := operator 'foo
+bar := operator 'bar
+g := foo x
+eval(g, x = x**2 + 1)
+-- chain rule can be applied formally
+differentiate(%, x)
+-- multivariate
+f := bar(x, y)
+-- parallel substitution is possible
+eval(f, [x = y, y = x])
+[differentiate(f, x), differentiate(f, y)]
+-- multivariate chain rule
+ff := eval(f, [x = x**2 * foo y, y = x + y])
+differentiate(ff, x)
+differentiate(ff, y)
+-- let's create one with commuting partial derivatives
+-- let's change the way bar is printed on the screen, make it #1 @ #2
+pbar(l:List OUTFORM):OUTFORM == infix(" @ "::SYMBOL::OUTFORM, l)
+display(bar, pbar)
+-- let's see the result
+f
+ff
+-- back to normal
+deleteProperty(bar, "%display")
+f
+-- let's give bar some partial derivatives, say bar(u, v) = u * v
+bar1 l == last l
+bar2 l == first l
+derivative(bar, [bar1, bar2]$(LIST(LIST(EXPR INT) -> EXPR INT)))
+[differentiate(f, x), differentiate(f, y)]
+[differentiate(ff, x), differentiate(ff, y)]
+-- some structural testing
+h := inv(x + f + g**2)
+isPower h
+y * g**2 * h
+isTimes %
+isPlus(denom(h)::EXPR(INT))
+isExpt(inv(g**2), "foo")
+isExpt(inv(g**2), "bar")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/expr1.input.pamphlet b/src/input/expr1.input.pamphlet
new file mode 100644
index 00000000..a0e43c34
--- /dev/null
+++ b/src/input/expr1.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input EXPR.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from ExpressionXmpPage
+)clear all
+
+sin(x) + 3*cos(x)**2
+tan(x) - 3.45*x
+(tan sqrt 7 - sin sqrt 11)**2 / (4 - cos(x - y))
+log(exp x)@Expression(Integer)
+log(exp x)@Expression(Complex Integer)
+sqrt 3 + sqrt(2 + sqrt(-5))
+% :: Expression Integer
+height mainKernel sin(x + 4)
+e := (sin(x) - 4)**2 / ( 1 - 2*y*sqrt(- y) )
+numer e
+denom e
+D(e, x)
+D(e, [x, y], [1, 2])
+complexNumeric(cos(2 - 3*%i))
+numeric(tan 3.8)
+e2 := cos(x**2 - y + 3)
+e3 := asin(e2) - %pi/2
+e3 :: Polynomial Integer
+e3 :: DMP([x, y], Integer)
+sin %pi
+cos(%pi / 4)
+tan(x)**6 + 3*tan(x)**4 + 3*tan(x)**2 + 1
+simplify %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exprode.input.pamphlet b/src/input/exprode.input.pamphlet
new file mode 100644
index 00000000..0b9ce0c6
--- /dev/null
+++ b/src/input/exprode.input.pamphlet
@@ -0,0 +1,49 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input exprode.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)clear all
+)set streams calculate 7
+
+-- We will solve y''' = sin(y'') * exp(y) + cos(x)
+-- subject to y(0) = 1, y'(0) = 0, y''(0) = 0
+
+y := operator 'y
+
+eq := differentiate(y x, x, 3) - sin differentiate(y x, x, 2) * exp y x
+ = cos x
+
+seriesSolve(eq, y, x = 0, [1, 0, 0])
+
+-- Airy, isn't it?
+airy := differentiate(y x, x, 2) - x * y x
+
+seriesSolve(airy, y, x = 0, [a0, a1])
+
+-- We can solve around other points than x = 0
+seriesSolve(airy, y, x = 1, [a0, a1])
+
+-- System of equations for tan(t) and sec(t)
+x := operator 'x
+eq1 := differentiate(x t, t) = 1 + x(t)**2
+eq2 := differentiate(y t, t) = x(t) * y(t)
+seriesSolve([eq2, eq1], [x, y], t = 0, [y 0 = 1, x 0 = 0])
+
+-- System of equations for a damped pendulum of mass and length 1:
+eq1 := differentiate(x t, t) = y t
+eq2 := differentiate(y t, t) = - g * sin(x t) - c * y t
+seriesSolve([eq1, eq2], [x, y], t = 0, [y 0 = a, x 0 = b])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exprpoly.input.pamphlet b/src/input/exprpoly.input.pamphlet
new file mode 100644
index 00000000..08016c71
--- /dev/null
+++ b/src/input/exprpoly.input.pamphlet
@@ -0,0 +1,69 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input exprpoly.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- This file test coercing objects of type Expression to various
+-- polynomial types and back.
+
+)clear all
+
+-- Start with a simple expression involving variables
+
+a := sin(i)*x**2 - y*x*sin(j)
+
+-- Coerce it to various multivariate polynomial types
+
+a :: DMP([x,y], EXPR INT)
+leadingCoefficient %
+
+a :: HDMP([x,y], EXPR INT)
+a :: MPOLY([x,y], EXPR INT)
+a :: MPOLY([y,x], EXPR INT)
+
+-- Coerce it back to type Expression
+
+% :: EXPR INT
+a - %
+
+-- Coerce the expression to various univariate polynomial types
+
+a :: UP(x, EXPR INT)
+a :: UP(y, EXPR INT)
+a :: UP(y, UP(x, EXPR INT))
+
+-- Coerce it back to type Expression
+
+% :: EXPR INT
+a - %
+
+-- We needn't have had such a complicated expression. The following is
+-- really just a multivariate polynomial.
+
+b : EXPR INT := (x - 2*y + 3*z)**3
+
+b :: DMP([x,y,z], Integer)
+b :: HDMP([y,x,z], Integer)
+b - (% :: EXPR INT)
+b :: MPOLY([z,y,x], Integer)
+
+b :: UP(y, HDMP([x,z], Integer))
+b - (% :: EXPR INT)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exseries.input.pamphlet b/src/input/exseries.input.pamphlet
new file mode 100644
index 00000000..cc027325
--- /dev/null
+++ b/src/input/exseries.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input exseries.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExSeriesSubstitution
+)clear all
+
+f := taylor(exp(x))
+eval(f,1.0)
+
+-- Input for page ExSeriesConvert
+)clear all
+
+series(sin(a*x),x = 0)
+series(sin(a*x),a = %pi/4)
+
+-- Input for page ExSeriesFunctions
+)clear all
+
+f := series(1/(1-x),x = 0)
+g := log(f)
+exp(g)
+
+-- Input for page ExSeriesManipulate
+)clear all
+
+f := series(1/(1-x),x = 0)
+f ** 2
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/exsum.input.pamphlet b/src/input/exsum.input.pamphlet
new file mode 100644
index 00000000..a1ce9798
--- /dev/null
+++ b/src/input/exsum.input.pamphlet
@@ -0,0 +1,63 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input exsum.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExSumGeneralFunction
+)clear all
+
+sum(k * x**k,k = 1..n)
+
+-- Input for page ExSumInfinite
+)clear all
+
+limit( sum(1/(k * (k + 2)),k = 1..n) ,n = %plusInfinity)
+
+-- Input for page ExSumClosedForm
+)clear all
+
+s := sum(k**2,k = a..b)
+eval(s,[a,b],[1,25])
+reduce(+,[i**2 for i in 1..25])
+
+-- Input for page ExSumPolynomial
+)clear all
+
+sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))
+
+-- Input for page ExSumListEntriesI
+)clear all
+
+[1..15]
+reduce(+,[1..15])
+
+-- Input for page ExSumApproximateE
+)clear all
+
+reduce(+,[1.0/factorial(n) for n in 0..20])
+
+-- Input for page ExSumListEntriesII
+)clear all
+
+[n**2 for n in 5..20]
+reduce(+,[n**2 for n in 5..20])
+
+-- Input for page ExSumCubes
+)clear all
+
+sum(k**3,k = 1..n)
+sum(k,k = 1..n) ** 2
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01brf.input.pamphlet b/src/input/f01brf.input.pamphlet
new file mode 100644
index 00000000..99ee204e
--- /dev/null
+++ b/src/input/f01brf.input.pamphlet
@@ -0,0 +1,64 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01brf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+n:=6
+nz:=15
+licn:=150
+lirn:=75
+pivot:=0.1
+lblock:=true
+grow:=true
+abort:=[true ,true ,false ,true ]
+a:Matrix SF:=
+ [[5 ,2 ,-1 ,2 ,3 ,-2 ,1 ,1 ,-1 ,-1 ,2 ,-3 ,-1 ,-1 ,6_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+irn:Matrix Integer:=
+ [[1 ,2 ,2 ,2 ,3 ,4 ,4 ,4 ,5 ,5 ,5 ,5 ,6 ,6 ,6_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+icn:Matrix Integer:=
+ [[1 ,2 ,3 ,4 ,3 ,1 ,4 ,5 ,1 ,4 ,5 ,6 ,1 ,2 ,6_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+ifail:= 110
+result:=f01brf(n,nz,licn,lirn,pivot,lblock,grow,abort,a,irn,icn,ifail)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01bsf.input.pamphlet b/src/input/f01bsf.input.pamphlet
new file mode 100644
index 00000000..a4401b49
--- /dev/null
+++ b/src/input/f01bsf.input.pamphlet
@@ -0,0 +1,59 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01bsf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n := 6
+nz := 15
+nzmax := 50
+licn := 3*nzmax
+ta1:List SF := new(licn-nz,0.0);
+ta2:List SF := [5.,2.,-1.,2.,3.,-2.,1.,1.,-1.,-1.,2.,-3.,-1.,-1.,6.] ;
+ta3 := concat(ta2,ta1);
+a :Matrix SF := matrix [ta3]
+lirn := (3*nzmax/2)::Integer
+tr1:List Integer := new(lirn-nz,0);
+tr2 := [1,2,2,2,3,4,4,4,5,5,5,5,6,6,6];
+tr3 := concat(tr2,tr1);
+irn := matrix[tr3]
+tc1:List Integer := new(licn-nz,0);
+tc2 := [1,2,3,4,3,1,4,5,1,4,5,6,1,2,6];
+tc3 := concat(tc2,tc1);
+icn := matrix [tc3]
+pivot :SF:= 0.1
+lblock := true
+grow := true
+abort := [true,true,false,true]
+ifail := 110
+f01brfResult:=f01brf(n,nz,licn,lirn,pivot,lblock,grow,abort,a,irn,icn,ifail);
+eta :SF:= .1 -- now run f01bsf
+abort := true
+keep := f01brfResult.'ikeep;
+disp := f01brfResult.'idisp;
+cn := f01brfResult.'icn;
+ta2:=[10.,12.,-3.,-1.,15.,-2.,10.,-1.,-1.,-5.,1.,-1.,-1.,-2.,6.];
+a:= matrix [concat (ta2,ta1)]
+result:=f01bsf(n,nz,licn,matrix [tr2],matrix [tc2],cn,keep,grow,eta,abort,_
+matrix [[disp(1,1),disp(1,2)]],a,ifail)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01maf.input.pamphlet b/src/input/f01maf.input.pamphlet
new file mode 100644
index 00000000..7dcc4656
--- /dev/null
+++ b/src/input/f01maf.input.pamphlet
@@ -0,0 +1,56 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01maf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+n:=16
+nz:=40
+licn:=90
+lirn:=50
+abort:=[true ,true ,true ]
+avals:Matrix SF:=
+ [[1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0_
+ ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25_
+ ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25_
+ ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25_
+ ,-0.25 ,-0.25 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+irn:Matrix Integer:=
+ [[1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14_
+ ,15 ,16 ,1 ,2 ,3 ,5 ,6 ,7 ,9 ,10 ,11 ,13 ,14_
+ ,15 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+icn:Matrix Integer:=
+ [[1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14_
+ ,15 ,16 ,2 ,3 ,4 ,6 ,7 ,8 ,10 ,11 ,12 ,14 ,15 ,16_
+ ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+droptl:= 0.1
+densw:= 0.8
+ifail:=111
+result:=f01maf(n,nz,licn,lirn,abort,avals,irn,icn,droptl,densw,ifail)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01mcf.input.pamphlet b/src/input/f01mcf.input.pamphlet
new file mode 100644
index 00000000..46b65cf4
--- /dev/null
+++ b/src/input/f01mcf.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01mcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+n:=6
+avals:Matrix SF:=
+ [[1.0 ,2.0 ,5.0 ,3.0 ,13.0 ,16.0 ,5.0 ,14.0_
+ ,18.0 ,8.0 ,55.0 ,24.0 ,17.0 ,77.0 ]]
+lal:= 14
+nrow:Matrix Integer:= [[1 ,2 ,2 ,1 ,5 ,3 ]]
+result:=f01mcf(n,avals,lal,nrow,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01qcf.input.pamphlet b/src/input/f01qcf.input.pamphlet
new file mode 100644
index 00000000..2550384d
--- /dev/null
+++ b/src/input/f01qcf.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01qcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+m:=5
+n:=3
+lda:=5
+a:Matrix SF:=
+ [[2.0 ,2.5 ,2.5 ],_
+ [2.0 ,2.5 ,2.5 ],_
+ [1.6 ,-0.4 ,2.8 ],_
+ [2.0 ,-0.5 ,0.5 ],_
+ [1.2 ,-0.3 ,-2.9 ]]
+result:=f01qcf(m,n,lda,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01qdf.input.pamphlet b/src/input/f01qdf.input.pamphlet
new file mode 100644
index 00000000..f85cc77e
--- /dev/null
+++ b/src/input/f01qdf.input.pamphlet
@@ -0,0 +1,49 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01qdf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+trans:="n"
+wheret:="i"
+m:=5
+n:=3
+a:Matrix SF:=
+ [[2.0 ,2.5 ,2.5 ],_
+ [2.0 ,2.5 ,2.5 ],_
+ [1.6 ,-0.4 ,2.8 ],_
+ [2.0 ,-0.5 ,0.5 ],_
+ [1.2 ,-0.3 ,-2.9 ]]
+lda:=5
+zeta:Matrix SF:=
+ [[0.0 ,0.0 ,0.0 ]]
+ncolb:=2
+ldb:=5
+b:Matrix SF:=
+ [[1.1 ,0.0 ],_
+ [0.9 ,0.0 ],_
+ [0.6 ,1.32 ],_
+ [0.0 ,1.1 ],_
+ [-0.8 ,-0.26 ]]
+result:=f01qdf(trans,wheret,m,n,a,lda,zeta,ncolb,ldb,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01qef.input.pamphlet b/src/input/f01qef.input.pamphlet
new file mode 100644
index 00000000..79798c44
--- /dev/null
+++ b/src/input/f01qef.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01qef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+wheret:="s"
+m:=5
+n:=3
+ncolq:=5
+lda:=5
+zeta:Matrix SF:=
+ [[1.2247 ,1.1547 ,1.2649 ]]
+a:Matrix SF:=
+ [[-4.0 ,-2.0 ,-3.0 ,0.0 ,0.0 ],_
+ [0.4085 ,-3.0 ,-2.0 ,0.0 ,0.0 ],_
+ [0.3266 ,-0.4619 ,-4.0 ,0.0 ,0.0 ],_
+ [0.4082 ,-0.5774 ,0.0 ,0.0 ,0.0 ],_
+ [0.2449 ,-0.3464 ,-0.6326 ,0.0 ,0.0 ]]
+result:=f01qef(wheret,m,n,ncolq,lda,zeta,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01rcf.input.pamphlet b/src/input/f01rcf.input.pamphlet
new file mode 100644
index 00000000..01144b37
--- /dev/null
+++ b/src/input/f01rcf.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01rcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+m:=5
+n:=3
+lda:=5
+a:Matrix Complex SF:=
+ [[complex(0,0.5) ,complex(-0.5,1.5),complex(-1.0,1.0)],_
+ [complex(0.4,0.3),complex(0.9,1.3),complex(0.2,1.4) ],_
+ [complex(0.4,0), complex(-0.4,0.4),complex(1.8,0)],_
+ [complex(0.3,-0.4),complex(0.1,0.7),complex(0,0)],_
+ [complex(0,-0.3),complex(0.3,0.3),complex(0,2.4) ]]
+result:=f01rcf(m,n,lda,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01rdf.input.pamphlet b/src/input/f01rdf.input.pamphlet
new file mode 100644
index 00000000..d4187715
--- /dev/null
+++ b/src/input/f01rdf.input.pamphlet
@@ -0,0 +1,49 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f001rdf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+trans:="n"
+wheret:="i"
+m:=5
+n:=3
+a:Matrix Complex SF:=
+ [[ 0.5*%i ,-0.5 + 1.5*%i ,-1.0 + 1.0*%i ],_
+ [0.4 + 0.3*%i , 0.9 + 1.3*%i , 0.2 + 1.4*%i ],_
+ [0.4 ,-0.4 + 0.4*%i , 1.8 ],_
+ [0.3 - 0.4*%i , 0.1 + 0.7*%i , 0.0 ],_
+ [ -0.3*%i , 0.3 + 0.3*%i , 2.4 ]]
+lda:=5
+theta:Matrix Complex SF:=
+ [[0.0 ,0.0 ,0.0 ]]
+ncolb:=2
+ldb:=5
+b:Matrix Complex SF :=
+ [[-0.55 + 1.05*%i , 0.45 + 1.05*%i ],_
+ [ 0.49 + 0.93*%i , 1.09 + 0.13*%i ],_
+ [ 0.56 - 0.16*%i , 0.64 + 0.16*%i ],_
+ [ 0.39 + 0.23*%i ,-0.39 - 0.23*%i ],_
+ [ 1.13 + 0.83*%i ,-1.13 + 0.77*%i ]]
+result:=f01rdf(trans,wheret,m,n,a,lda,theta,ncolb,ldb,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f01ref.input.pamphlet b/src/input/f01ref.input.pamphlet
new file mode 100644
index 00000000..5a66fd53
--- /dev/null
+++ b/src/input/f01ref.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f01ref.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+wheret:="s"
+m:=5
+n:=3
+ncolq:=2
+lda:=5
+theta:Matrix Complex SF:=
+ [[1 + 0.5*%i ,1.0954-0.3333*%i ,1.2649-1.1565*%i ]]
+a:Matrix Complex SF :=
+ [[ 1 , 1 +1 *%i , 1 + %i ],_
+ [-0.2 - 0.4*%i ,-2 ,-1 - %i ],_
+ [-0.32 - 0.16*%i,-0.3505 +0.2629*%i ,-3 ],_
+ [-0.4 + 0.2*%i , 0.5477*%i , 0.0 ],_
+ [-0.12 + 0.24*%i, 0.1972 +0.2629*%i , 0.6325 ]]
+result:=f01ref(wheret,m,n,ncolq,lda,theta,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02aaf.input.pamphlet b/src/input/f02aaf.input.pamphlet
new file mode 100644
index 00000000..3f7d1e5d
--- /dev/null
+++ b/src/input/f02aaf.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02aaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ia:=4
+n:=4
+a:Matrix SF:=
+ [[ 0.5 , 0.0 , 2.3 ,-2.6 ],_
+ [ 0.0 , 0.5 ,-1.4 ,-0.7 ],_
+ [ 2.3 ,-1.4 , 0.5 , 0.0 ],_
+ [-2.6 ,-0.7 , 0.0 , 0.5 ]]
+result:=f02aaf(ia,n,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02abf.input.pamphlet b/src/input/f02abf.input.pamphlet
new file mode 100644
index 00000000..e71bec6e
--- /dev/null
+++ b/src/input/f02abf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02abf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+a:Matrix SF:=
+ [[ 0.5 , 0.0 , 2.3 ,-2.6 ],_
+ [ 0.0 , 0.5 ,-1.4 ,-0.7 ],_
+ [ 2.3 ,-1.4 , 0.5 , 0.0 ],_
+ [-2.6 ,-0.7 , 0.0 , 0.5 ]]
+ia:=4
+n:=4
+iv:=4
+result:=f02abf(a,ia,n,iv,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02adf.input.pamphlet b/src/input/f02adf.input.pamphlet
new file mode 100644
index 00000000..ce8c7891
--- /dev/null
+++ b/src/input/f02adf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ia:=4
+ib:=4
+n:=4
+a:Matrix SF:=
+ [[0.5 , 1.5 , 6.6 , 4.8 ],_
+ [1.5 , 6.5 ,16.2 , 8.6 ],_
+ [6.6 ,16.2 ,37.6 , 9.8 ],_
+ [4.8 , 8.6 , 9.8 ,-17.1 ]]
+b:Matrix SF:=
+ [[1 , 3 , 4 , 1 ],_
+ [3 ,13 ,16 ,11 ],_
+ [4 ,16 ,24 ,18 ],_
+ [1 ,11 ,18 ,27 ]]
+result:=f02adf(ia,ib,n,a,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02aef.input.pamphlet b/src/input/f02aef.input.pamphlet
new file mode 100644
index 00000000..f7abb236
--- /dev/null
+++ b/src/input/f02aef.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02aef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ia:=4
+ib:=4
+n:=4
+iv:=4
+a:Matrix SF:=
+ [[0.5 , 1.5 , 6.6 , 4.8 ],_
+ [1.5 , 6.5 ,16.2 , 8.6 ],_
+ [6.6 ,16.2 ,37.6 , 9.8 ],_
+ [4.8 , 8.6 , 9.8 ,-17.1 ]]
+b:Matrix SF:=
+ [[1 , 3 , 4 , 1 ],_
+ [3 ,13 ,16 ,11 ],_
+ [4 ,16 ,24 ,18 ],_
+ [1 ,11 ,18 ,27 ]]
+result:=f02aef(ia,ib,n,iv,a,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02aff.input.pamphlet b/src/input/f02aff.input.pamphlet
new file mode 100644
index 00000000..ca9407aa
--- /dev/null
+++ b/src/input/f02aff.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02aff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ia:=4
+n:=4
+a:Matrix SF:=
+ [[ 1.5 ,0.1 , 4.5 ,-1.5 ],_
+ [-22.5 ,3.5 ,12.5 ,-2.5 ],_
+ [ -2.5 ,0.3 , 4.5 ,-2.5 ],_
+ [ -2.5 ,0.1 , 4.5 , 2.5 ]]
+result:=f02aff(ia,n,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02agf.input.pamphlet b/src/input/f02agf.input.pamphlet
new file mode 100644
index 00000000..e8b40b40
--- /dev/null
+++ b/src/input/f02agf.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02agf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ia:=4
+n:=4
+ivr:=4
+ivi:=4
+a:Matrix SF:=
+ [[ 1.5 ,0.1 , 4.5 ,-1.5 ],_
+ [-22.5 ,3.5 ,12.5 ,-2.5 ],_
+ [ -2.5 ,0.3 , 4.5 ,-2.5 ],_
+ [ -2.5 ,0.1 , 4.5 , 2.5 ]]
+result:=f02agf(ia,n,ivr,ivi,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02ajf.input.pamphlet b/src/input/f02ajf.input.pamphlet
new file mode 100644
index 00000000..899edd24
--- /dev/null
+++ b/src/input/f02ajf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02ajf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+iar:=4
+iai:=4
+n:=4
+ar:Matrix SF:=
+ [[-21.0 , 0.0 ,13.6 ,0.0 ],_
+ [ 0.0 ,26.0 , 7.5 ,2.5 ],_
+ [ -2.0 , 1.68, 4.5 ,1.5 ],_
+ [ 0.0 ,-2.6 ,-2.7 ,2.5 ]]
+ai:Matrix SF:=
+ [[-5.0 ,24.6 , 10.2 ,4.0 ],_
+ [22.5 ,-5.0 , -10.0 ,0.0 ],_
+ [ 1.5 , 2.24 ,-5.0 , 2.0 ],_
+ [-2.5 , 0.0 , 3.6 ,-5.0 ]]
+result:=f02ajf(iar,iai,n,ar,ai,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02akf.input.pamphlet b/src/input/f02akf.input.pamphlet
new file mode 100644
index 00000000..9fa3e03e
--- /dev/null
+++ b/src/input/f02akf.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02akf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+iar:=4
+iai:=4
+n:=4
+ivr:=4
+ivi:=4
+ar:Matrix SF:=
+ [[-21.0 , 0.0 ,13.6 ,0.0 ],_
+ [ 0.0 ,26.0 , 7.5 ,2.5 ],_
+ [ -2.0 , 1.68 ,4.5 ,1.5 ],_
+ [ 0.0 ,-2.6 ,-2.7 ,2.5 ]]
+ai:Matrix SF:=
+ [[-5.0 ,24.6 ,10.2 , 4.0 ],_
+ [22.5 ,-5.0 ,-10.0 , 0.0 ],_
+ [ 1.5 , 2.24 ,-5.0 , 2.0 ],_
+ [-2.5 , 0.0 , 3.6 ,-5.0 ]]
+result:=f02akf(iar,iai,n,ivr,ivi,ar,ai,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02awf.input.pamphlet b/src/input/f02awf.input.pamphlet
new file mode 100644
index 00000000..d5dc21fd
--- /dev/null
+++ b/src/input/f02awf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02awf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+iar:=4
+iai:=4
+n:=4
+ar:Matrix SF:=
+ [[0.5 , 0.0 , 1.84 , 2.08 ],_
+ [0.0 , 0.5 , 1.12 ,-0.56 ],_
+ [1.84 , 1.12 ,0.5 , 0.0 ],_
+ [2.08 ,-0.56 ,0.0 , 0.5 ]]
+ai:Matrix SF:=
+ [[ 0.0 , 0.0 , 1.38 ,-1.56 ],_
+ [ 0.0 , 0.0 , 0.84 , 0.42 ],_
+ [-1.38 ,-0.84 ,0.0 , 0.0 ],_
+ [ 1.56 ,-0.42 ,0.0 , 0.0 ]]
+result:=f02awf(iar,iai,n,ar,ai,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02axf.input.pamphlet b/src/input/f02axf.input.pamphlet
new file mode 100644
index 00000000..7945d742
--- /dev/null
+++ b/src/input/f02axf.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02axf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ar:Matrix SF:=
+ [[0.5 ,0.0 ,1.84 ,2.08 ],_
+ [0.0 ,0.5 ,1.12 ,-0.56 ],_
+ [1.84 ,1.12 ,0.5 ,0.0 ],_
+ [2.08 ,-0.56 ,0.0 ,0.5 ]]
+iar:=4
+ai:Matrix SF:=
+ [[0.0 ,0.0 ,1.38 ,-1.56 ],_
+ [0.0 ,0.0 ,0.84 ,0.42 ],_
+ [-1.38 ,-0.84 ,0.0 ,0.0 ],_
+ [1.56 ,-0.42 ,0.0 ,0.0 ]]
+iai:=4
+n:=4
+ivr:=4
+ivi:=4
+result:=f02axf(ar,iar,ai,iai,n,ivr,ivi,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02bbf.input.pamphlet b/src/input/f02bbf.input.pamphlet
new file mode 100644
index 00000000..4324255c
--- /dev/null
+++ b/src/input/f02bbf.input.pamphlet
@@ -0,0 +1,39 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02bbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+ia:=4
+n:=4
+alb:=-2.0
+ub:=3.0
+m:=3
+iv:=4
+a:Matrix SF:=
+ [[0.5 ,0.0 ,2.3 ,-2.6 ],_
+ [0.0 ,0.5 ,-1.4 ,-0.7 ],_
+ [2.3 ,-1.4 ,0.5 ,0.0 ],_
+ [-2.6 ,-0.7 ,0.0 ,0.5 ]]
+result:=f02bbf(ia,n,alb,ub,m,iv,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02bjf.input.pamphlet b/src/input/f02bjf.input.pamphlet
new file mode 100644
index 00000000..a2b26722
--- /dev/null
+++ b/src/input/f02bjf.input.pamphlet
@@ -0,0 +1,44 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02bjf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+n:=4
+ia:=4
+ib:=4
+eps1:SF:=1.0e-4
+matv:=true
+iv:=4
+a:Matrix SF:=
+ [[3.9 ,12.5 ,-34.5 ,-0.5 ],_
+ [4.3 ,21.5 ,-47.5 ,7.5 ],_
+ [4.3 ,21.5 ,-43.5 ,3.5 ],_
+ [4.4 ,26.0 ,-46.0 ,6.0 ]]
+b:Matrix SF:=
+ [[1 ,2 ,-3 ,1 ],_
+ [1 ,3 ,-5 ,4 ],_
+ [1 ,3 ,-4 ,3 ],_
+ [1 ,3 ,-4 ,4 ]]
+result:=f02bjf(n,ia,ib,eps1,matv,iv,a,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02fjf.input.pamphlet b/src/input/f02fjf.input.pamphlet
new file mode 100644
index 00000000..39adade5
--- /dev/null
+++ b/src/input/f02fjf.input.pamphlet
@@ -0,0 +1,74 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02fjf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+n : Integer := 16;
+k : Integer := 6
+tol : DoubleFloat := 0.0001
+novecs : Integer := 0
+nrx : Integer := n
+lwork : Integer := 86
+lrwork : Integer := 1;
+liwork : Integer := 1;
+noits : Integer := 1000
+m : Integer := 4;
+x :Matrix SF:=new(nrx,k,0.0);
+ifail : Integer := -1
+a :Matrix FRAC INT:= new(n,n,0);
+a(1,1) := 1;
+a(1,2) := -1/4;
+a(1,5) := -1/4;
+for i in 2..4 repeat
+ a(i,i-1) := -1/4
+ a(i,i) := 1
+ a(i,i+1) := -1/4
+ a(i,i+4) := -1/4
+for i in 5..n-4 repeat
+ a(i,i-4) := -1/4
+ a(i,i-1) := -1/4
+ a(i,i) := 1
+ a(i,i+1) := -1/4
+ a(i,i+4) := -1/4
+for i in n-3..n-1 repeat
+ a(i,i-4) := -1/4
+ a(i,i-1) := -1/4
+ a(i,i) := 1
+ a(i,i+1) := -1/4
+a(16,16) := 1;
+a(16,15) := -1/4;
+a(16,12) := -1/4;
+b:Matrix FRAC INT:= new(n,n,0);
+b(1,1) := 1
+b(1,2) := -1/2
+for i in 2..n-1 repeat
+ b(i,i-1) := -1/2
+ b(i,i) := 1
+ b(i,i+1) := -1/2
+b(16,15) := -1/2
+b(16,16) := 1
+c : Matrix MachineFloat := (inverse (a))*b;
+bb := b :: Matrix MachineFloat
+result:=f02fjf(n,k,tol,novecs,nrx,lwork,lrwork,liwork,m,noits,x,ifail,bb :: ASP27('DOT),c :: ASP28('IMAGE))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02wef.input.pamphlet b/src/input/f02wef.input.pamphlet
new file mode 100644
index 00000000..766de155
--- /dev/null
+++ b/src/input/f02wef.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02wef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+m := 5
+n := 3
+a : Matrix SF:=
+ [[ 2.0, 2.5, 2.5],_
+ [ 2.0, 2.5, 2.5],_
+ [ 1.6,-0.4, 2.8],_
+ [ 2.0,-0.5, 0.5],_
+ [ 1.2,-0.3,-2.9] ]
+lda := m
+ncolb := 1
+b : Matrix SF:=
+ [[ 1.1, 0.9, 0.6, 0.0, -0.8 ]]
+ldb := 5
+wantq := true
+wantp := true
+ldq := 1
+ldpt := n
+ifail := -1
+result:=f02wef(m,n,lda,ncolb,ldb,wantq,ldq,wantp,ldpt,a,b,ifail)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f02xef.input.pamphlet b/src/input/f02xef.input.pamphlet
new file mode 100644
index 00000000..da92652f
--- /dev/null
+++ b/src/input/f02xef.input.pamphlet
@@ -0,0 +1,49 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02xef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=5
+n:=3
+lda:=5
+ncolb:=1
+ldb:=5
+wantq:=true
+ldq:=5
+wantp:=true
+ldph:=3
+a:Matrix Complex SF:=
+ [[0.5*%i ,-0.5 + 1.5*%i ,-1 + 1*%i ],_
+ [0.4 + 0.3*%i ,0.9 + 1.3*%i ,0.2 + 1.4*%i ],_
+ [0.4 ,-0.4 + 0.4*%i ,1.8 ],_
+ [0.3 - 0.4*%i ,0.1 + 0.7*%i ,0.0 ],_
+ [-0.3*%i ,0.3 + 0.3*%i ,2.4*%i ]]
+b:Matrix Complex SF:=
+ [[-0.55+1.05*%i ],_
+ [0.49+0.93*%i ],_
+ [0.56-0.16*%i ],_
+ [0.39+0.23*%i ],_
+ [1.13+0.83*%i ]]
+result:=f02xef(m,n,lda,ncolb,ldb,wantq,ldq,wantp,ldph,a,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04adf.input.pamphlet b/src/input/f04adf.input.pamphlet
new file mode 100644
index 00000000..13a702ce
--- /dev/null
+++ b/src/input/f04adf.input.pamphlet
@@ -0,0 +1,39 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+ia:=3
+b:Matrix Complex SF:=
+ [[1 ,0 ,0 ]]
+ib:=3
+n:=3
+m:=1
+ic:=3
+a:Matrix Complex SF:=
+ [[1,1 + 2*%i,2 + 10*%i],_
+ [1 + %i,3*%i,-5 + 14*%i],_
+ [1 + %i,5*%i,-8 + 20*%i]]
+result:=f04adf(ia,b,ib,n,m,ic,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04arf.input.pamphlet b/src/input/f04arf.input.pamphlet
new file mode 100644
index 00000000..527fa4f2
--- /dev/null
+++ b/src/input/f04arf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04arf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cle all
+showArrayValues true
+showScalarValues true
+
+ia:=8
+b:Matrix SF:=
+ [[-359 ,281 ,85 ]]
+n:=3
+a:Matrix SF:=
+ [[33,16,72],_
+ [-24,-10,-57],_
+ [-8,-4,-17],_
+ [0,0,0],
+ [0,0,0],_
+ [0,0,0],_
+ [0,0,0],_
+ [0,0,0]]
+result:=f04arf(ia,b,n,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04asf.input.pamphlet b/src/input/f04asf.input.pamphlet
new file mode 100644
index 00000000..4057966f
--- /dev/null
+++ b/src/input/f04asf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f02asf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+ia:=8
+b:Matrix SF:=
+ [[23 ,32 ,33 ,31 ]]
+n:=4
+a:Matrix SF:=
+ [[5,7,6,5],_
+ [7,10,8,7],_
+ [6,8,10,9],_
+ [5,7,9,10],_
+ [0,0,0,0],_
+ [0,0,0,0],_
+ [0,0,0,0],_
+ [0,0,0,0]]
+result:=f04asf(ia,b,n,a,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04atf.input.pamphlet b/src/input/f04atf.input.pamphlet
new file mode 100644
index 00000000..226eb2f3
--- /dev/null
+++ b/src/input/f04atf.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04atf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+a:Matrix SF:=
+ [[33,16,72],_
+ [-24,-10,-57],_
+ [-8,-4,-17],_
+ [0,0,0],_
+ [0,0,0],_
+ [0,0,0],_
+ [0,0,0],_
+ [0,0,0]]
+ia:=8
+b:Matrix SF:=
+ [[-359 ,281 ,85 ]]
+n:=3
+iaa:=8
+result:=f04atf(a,ia,b,n,iaa,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04axf.input.pamphlet b/src/input/f04axf.input.pamphlet
new file mode 100644
index 00000000..71c97815
--- /dev/null
+++ b/src/input/f04axf.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04axf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+n := 6
+nz := 15
+nzmax := 50
+licn := 3*nzmax
+t1 := [0.0 for i in 1..(licn-nz)]
+t2 := [5.0,2.0,-1.0,2.0,3.0,-2.0,1.0,1.0,-1.0,-1.0,2.0,-3.0,-1.0,-1.0,6.0]
+t3 := concat(t2,t1)
+a := [t3] :: Matrix SF
+lirn := (3*nzmax/2)::Integer
+t1 := [0.0 for i in 1..(lirn-nz)]
+t2 := [1,2,2,2,3,4,4,4,5,5,5,5,6,6,6]
+t3 := concat(t2,t1)
+irn := [t3] :: Matrix Integer
+t1 := [0.0 for i in 1..(licn-nz)]
+t2 := [1,2,3,4,3,1,4,5,1,4,5,6,1,2,6]
+t3 := concat(t2,t1)
+icn := [t3] :: Matrix Integer
+pivot := 0.1
+lblock := true
+grow := true
+abort := [true,true,false,true]
+ifail := 1
+res1:=f01brf(n,nz,licn,lirn,pivot,lblock,grow,abort,a,irn,icn,ifail)
+a := (res1)."a"
+icn := (res1)."icn"
+ikeep := (res1)."ikeep"
+rhs := [[15,12,18,3,-6,0]]
+idisp := (res1)."idisp"
+mtype := 1
+result:=f04axf(n,a,licn,icn,ikeep,mtype,[[idisp(1,1),idisp(1,2)]],rhs)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04faf.input.pamphlet b/src/input/f04faf.input.pamphlet
new file mode 100644
index 00000000..fff47f24
--- /dev/null
+++ b/src/input/f04faf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04faf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cle all
+showArrayValues true
+showScalarValues true
+
+job:=0
+n:=5
+d:Matrix SF:=
+ [[4 ,10 ,29 ,25 ,5 ]]
+e:Matrix SF:=
+ [[0,-2 ,-6 ,15 ,8 ]]
+b:Matrix SF:=
+ [[6 ,9 ,2 ,14 ,7 ]]
+result:=f04faf(job,n,d,e,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04jgf.input.pamphlet b/src/input/f04jgf.input.pamphlet
new file mode 100644
index 00000000..9b10c52e
--- /dev/null
+++ b/src/input/f04jgf.input.pamphlet
@@ -0,0 +1,44 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04jgf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+m:=6
+n:=4
+nra:=8
+tol:= 5.0e-4
+lwork:=32
+a:Matrix SF:=
+ [[0.05 ,0.05 ,0.25 ,-0.25 ],_
+ [0.25 ,0.25 ,0.05 ,-0.05 ],_
+ [0.35 ,0.35 ,1.75 ,-1.75 ],_
+ [1.75 ,1.75 ,0.35 ,-0.35 ],_
+ [0.30 ,-0.30 ,0.30 ,0.30 ],_
+ [0.40 ,-0.40 ,0.40 ,0.40 ],_
+ [0.0 ,0.0 ,0.0 ,0.0 ],_
+ [0.0 ,0.0 ,0.0 ,0.0 ]]
+b:Matrix SF:=
+ [[1 ,2 ,3 ,4 ,5 ,6 ]]
+result:=f04jgf(m,n,nra,tol,lwork,a,b,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04maf.input.pamphlet b/src/input/f04maf.input.pamphlet
new file mode 100644
index 00000000..b5e02a31
--- /dev/null
+++ b/src/input/f04maf.input.pamphlet
@@ -0,0 +1,69 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04maf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all -- first run f01maf
+showArrayValues true
+showScalarValues true
+
+n := 4;
+m := 4;
+nn := n*m;
+licn := 90;
+lirn := 50;
+a := new(1,licn,0.0)$Matrix DoubleFloat;
+irn := new(1,lirn,0)$Matrix Integer;
+icn := new(1,licn,0)$Matrix Integer;
+k := 0;
+for i in 1..nn repeat
+ k := k + 1
+ a(1,k) := 1
+ irn(1,k) := i
+ icn(1,k) := i
+for i in 1..n repeat
+ for j in 1..(m-1) repeat
+ k := k + 1
+ jj := (i-1)*n + j
+ a(1,k) := -0.25
+ irn(1,k) := jj
+ icn(1,k) := jj + 1
+for i in (n+1)..nn repeat
+ k := k + 1
+ a(1,k) := -0.25
+ irn(1,k) := i-n
+ icn(1,k) := i
+nz := k;
+abort := [true,true,true];
+droptl := 0.1;
+densw := 0.8;
+ifail := 111;
+res1:=f01maf(nn,nz,licn,lirn,abort,a,irn,icn,droptl,densw,ifail)
+a := res1."avals"
+irn := res1."irn"
+icn := res1."icn"
+b := [[0.5,0.25,0.25,0.5,0.25,0,0,0.25,0.25,0,0,0.25,0.5,0.25,0.25,0.5]]
+acc := [[0.0001,0]]
+noits := [[50,0]]
+wkeep := res1."wkeep"
+ikeep := res1."ikeep"
+inform := res1."inform"
+result:=f04maf(nn,nz,a,licn,irn,lirn,icn,wkeep,ikeep,inform,b,acc,noits,ifail)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04mbf.input.pamphlet b/src/input/f04mbf.input.pamphlet
new file mode 100644
index 00000000..59c2ab14
--- /dev/null
+++ b/src/input/f04mbf.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04mbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+n := 10
+b := new(1,n,0.0)$Matrix DoubleFloat;
+b(1,1) := 6
+for i in 2..n-1 repeat
+ b(1,i) := 4
+b(1,n) := 6
+precon := true
+shft := 0
+-- The following two parameters are not used
+-- by the ASPs. They may be useful if a user
+-- supplies FORTRAN code directly.
+lrwork:=1
+liwork:=1
+rtol := 0.00001
+itnlim := 100
+msglvl := 1
+ifail := 1
+z:=new(10,10,0.0)$Matrix MFLOAT;
+z(1,1):=2;z(1,2):=1;z(1,10):=3
+z(10,1):=3;z(10,9):=1;z(10,10):=2
+for i in 2..(n-1) repeat
+ z(i,i-1):=1
+ z(i,i):=2
+ z(i,i+1):=1
+z
+m :Matrix MFLOAT:= [[2,1,0,0,0,0,0,0,0,0],[1,2,1,0,0,0,0,0,0,0],_
+[0,1,2,1,0,0,0,0,0,0],[0,0,1,2,1,0,0,0,0,0],[0,0,0,1,2,1,0,0,0,0],_
+[0,0,0,0,1,2,1,0,0,0],[0,0,0,0,0,1,2,1,0,0],[0,0,0,0,0,0,1,2,1,0],_
+[0,0,0,0,0,0,0,1,2,1],[0,0,0,0,0,0,0,0,1,2]]
+result:=f04mbf(n,b,precon,shft,itnlim,msglvl,lrwork,liwork,rtol,ifail,z::ASP28(APROD),(m::ASP34(MSOLVE)))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04mcf.input.pamphlet b/src/input/f04mcf.input.pamphlet
new file mode 100644
index 00000000..f11ee1c4
--- /dev/null
+++ b/src/input/f04mcf.input.pamphlet
@@ -0,0 +1,47 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04mcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+n:=6
+al:Matrix SF:=
+ [[1.0 ,2.0 ,1.0 ,3.0 ,1.0 ,1.0 ,5.0 ,4.0 ,1.5 ,0.5 ,1.0 ,1.5 ,5.0,1.0 ]]
+lal:=14
+d:Matrix SF:=
+ [[1.0 ,1.0 ,4.0 ,16.0 ,1.0 ,16.0 ]]
+nrow:Matrix Integer:=
+ [[1 ,2 ,2 ,1 ,5 ,3 ]]
+ir:=2
+b:Matrix SF:=
+ [[6 ,-10 ],_
+ [15 ,-21 ],_
+ [11 ,-3 ],_
+ [0 ,24 ],_
+ [51 ,-39 ],_
+ [46 ,67 ]]
+nrb:=6
+iselct:=1
+nrx:=6
+result:=f04mcf(n,al,lal,d,nrow,ir,b,nrb,iselct,nrx,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f04qaf.input.pamphlet b/src/input/f04qaf.input.pamphlet
new file mode 100644
index 00000000..ab4013fa
--- /dev/null
+++ b/src/input/f04qaf.input.pamphlet
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f04qaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+showArrayValues true
+showScalarValues true
+
+n := 12
+m := 13
+h:SF := 0.1
+b :Matrix SF:= -h**2 * [[0],[0],[0],[1],[1],[0],[0],[1],[1],[0],[0],[0],[-h**-3]]
+a : Matrix MachineFloat:=
+ [[1,0,0,-1,0,0,0,0,0,0,0,0],_
+ [0,1,0,0,-1,0,0,0,0,0,0,0],_
+ [0,0,1,-1,0,0,0,0,0,0,0,0],_
+ [-1,0,-1,4,-1,0,0,-1,0,0,0,0],_
+ [0,-1,0,-1,4,-1,0,0,-1,0,0,0],_
+ [0,0,0,0,-1,1,0,0,0,0,0,0],_
+ [0,0,0,0,0,0,1,-1,0,0,0,0],_
+ [0,0,0,-1,0,0,-1,4,-1,0,-1,0],_
+ [0,0,0,0,-1,0,0,-1,4,-1,0,-1],_
+ [0,0,0,0,0,0,0,0,-1,1,0,0],_
+ [0,0,0,0,0,0,0,-1,0,0,1,0],_
+ [0,0,0,0,0,0,0,0,-1,0,0,1],_
+ [1,1,1,0,0,1,1,0,0,1,1,1]]
+damp := 0.0
+atol := 1.0e-5
+btol := 1.0e-4
+conlim := 1/atol
+itnlim := 100
+msglvl := 1
+liwork := 1
+lrwork := 1
+ifail :=1
+result:=f04qaf(m,n,damp,atol,btol,conlim,itnlim,msglvl,lrwork,liwork,b,ifail,a::ASP30(APROD))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f07adf.input.pamphlet b/src/input/f07adf.input.pamphlet
new file mode 100644
index 00000000..1961c7f2
--- /dev/null
+++ b/src/input/f07adf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f07adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+m:=4
+n:=4
+lda:=4
+a:Matrix SF:=
+ [[1.8 ,2.88 ,2.05 ,-0.89 ],_
+ [5.25 ,-2.95 ,-0.95 ,-3.8 ],_
+ [1.58 ,-2.69 ,-2.9 ,-1.04 ],_
+ [-1.11 ,-0.66 ,-0.59 ,0.8 ]]
+result:=f07adf(m,n,lda,a)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f07aef.input.pamphlet b/src/input/f07aef.input.pamphlet
new file mode 100644
index 00000000..e662e003
--- /dev/null
+++ b/src/input/f07aef.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f07aef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+trans:="N"
+n:=4
+nrhs:=2
+a:Matrix SF:=
+ [[5.25 ,-2.95 ,-0.95 ,-3.8 ],_
+ [0.34 ,3.89 ,2.38 ,0.41 ],_
+ [0.3 ,-0.46 ,-1.51 ,0.29 ],_
+ [-0.21 ,-0.33 ,0.01 ,1.13 ]]
+lda:=4
+ipiv:Matrix Integer:=
+ [[2 ,2 ,3 ,4 ]]
+ldb:=4
+b:Matrix SF:=
+ [[9.52 ,18.47 ],_
+ [24.35 ,2.25 ],_
+ [0.77 ,-13.3 ],_
+ [-6.22 ,-6.21 ]]
+result:=f07aef(trans,n,nrhs,a,lda,ipiv,ldb,b)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f07fdf.input.pamphlet b/src/input/f07fdf.input.pamphlet
new file mode 100644
index 00000000..a3861238
--- /dev/null
+++ b/src/input/f07fdf.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f07fdf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+uplo:="L"
+n:=4
+lda:=4
+a:Matrix SF:=
+ [[4.16 ,0.0 ,0.0 ,0.0 ],_
+ [-3.12 ,5.03 ,0.0 ,0.0 ],_
+ [0.56 ,-0.83 ,0.76 ,0.0 ],_
+ [-0.1 ,1.18 ,0.34 ,1.18 ]]
+result:=f07fdf(uplo,n,lda,a)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/f07fef.input.pamphlet b/src/input/f07fef.input.pamphlet
new file mode 100644
index 00000000..0636014c
--- /dev/null
+++ b/src/input/f07fef.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input f07fef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+showArrayValues true
+showScalarValues true
+
+uplo:="L"
+n:=4
+nrhs:=2
+a:Matrix SF:=
+ [[2.04 ,0.0 ,0.0 ,0.0 ],_
+ [-1.53 ,1.64 ,0.0 ,0.0 ],_
+ [0.28 ,-0.25 ,0.79 ,0.0 ],_
+ [-0.05 ,0.67 ,0.66 ,0.54 ]]
+lda:=4
+ldb:=4
+b:Matrix SF:=
+ [[8.7 ,8.3 ],_
+ [-13.35 ,2.13 ],_
+ [1.89 ,1.61 ],_
+ [-4.14 ,5 ]]
+result:=f07fef(uplo,n,nrhs,a,lda,ldb,b)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/farray.input.pamphlet b/src/input/farray.input.pamphlet
new file mode 100644
index 00000000..94ff2706
--- /dev/null
+++ b/src/input/farray.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input FARRAY.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from FlexibleArrayXmpPage
+)clear all
+
+flexibleArray [i for i in 1..6]
+f : FARRAY INT := new(6,0)
+for i in 1..6 repeat f.i := i; f
+physicalLength f
+concat!(f,11)
+physicalLength f
+physicalLength!(f,15)
+concat!(f,f)
+insert!(22,f,1)
+g := f(10..)
+insert!(g,f,1)
+merge!(sort! f, sort! g)
+removeDuplicates! f
+select!(i +-> even? i,f)
+physicalLength f
+shrinkable(false)$FlexibleArray(Integer)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ffdemo.input.pamphlet b/src/input/ffdemo.input.pamphlet
new file mode 100644
index 00000000..7ea16b8b
--- /dev/null
+++ b/src/input/ffdemo.input.pamphlet
@@ -0,0 +1,579 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ffdemo.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- finite field demonstrations
+-- prime field
+-- get a prime
+p:=4817
+-- construct field
+F:=PrimeField p
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+
+-- end of common finite field demonstration
+-- finite field with polynomail basis
+-- get a small prime
+p:=7
+P:=PrimeField p
+-- get a small extension degree
+d:=6
+-- get a irreducible polynomial
+f:=createIrreduciblePoly(d)$FFPOLY(P)
+-- construct field
+F:=FFP(P,f)
+-- this field is the same as constructed by F:=FFX(P,d) or F:=FF(p,d
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+
+
+-- end of common finite field demonstration
+-- finite field with normal basis
+-- get a normal Polynomial
+f:=createNormalPoly(d)$FFPOLY(P)
+-- build field
+F:=FFNBP(P,f)
+-- this field is the same as constructed by F:=FFNBX(P,d) or F:=FFNB(p,d
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+
+
+-- end of common finite field demonstration
+-- finite field represented as cyclic group
+-- because a Zech logarithm table of half the field size is kept in
+-- memory during the computations, the size of the field should not be
+-- to big.
+-- get a small prime
+p:=5
+P:=PrimeField p
+-- get a small extension degree
+d:=4
+-- get a primitive polynomial
+f:=createPrimitivePoly(d)$FFPOLY(P)
+-- construct field
+F:=FFCGP(P,f)
+-- this field is the same as constructed by F:=FFCGX(P,d) or F:=FFCG(p,d
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+
+
+-- end of common finite field demonstration
+-- polynomial extension of a polynomial extension
+-- get a small prime, choose 2 or 3
+p:=3
+P:=PrimeField p
+-- get two small extension degrees
+d1:=2
+d2:=3
+-- get irreducible polynomial of degree d1 over P
+f1:=createIrreduciblePoly(d1)$FFPOLY(P)
+F1:=FFP(P,f1)
+-- get irreducible polynomial of degree d2 over F1
+f2:=createIrreduciblePoly(d2)$FFPOLY(F1)
+-- construct field
+F:=FFP(F1,f2)
+-- this field is the same as constructed by F:=FFX(F1,d2)
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+-- end of common finite field demonstration
+
+
+
+
+-- polynomial extension of a normal extension
+-- get normal polynomial of degree d1 over P
+f1:=createNormalPoly(d1)$FFPOLY(P)
+F1:=FFNBP(P,f1)
+-- get irreducible polynomial of degree d2 over F1
+f2:=createIrreduciblePoly(d2)$FFPOLY(F1)
+-- construct field
+F:=FFP(F1,f2)
+-- this field is the same as constructed by F:=FFX(F1,d2)
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+-- end of common finite field demonstration
+
+
+
+
+-- polynomial extension of a cyclic extension
+-- get primitive polynomial of degree d1 over P
+f1:=createPrimitivePoly(d1)$FFPOLY(P)
+F1:=FFCGP(P,f1)
+-- get irreducible polynomial of degree d2 over F1
+f2:=createIrreduciblePoly(d2)$FFPOLY(F1)
+-- construct field
+F:=FFP(F1,f2)
+-- this field is the same as constructed by F:=FFX(F1,d2)
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+
+
+-- end of common finite field demonstration
+-- normal extension of a polynomial extension
+-- get a small prime
+-- get a irreducible polynomial of degree d1 over P
+f1:=createIrreduciblePoly(d1)$FFPOLY(P)
+F1:=FFP(P,f1)
+-- get a normal polynomial of degree d2 over F1
+f2:=createNormalPoly(d2)$FFPOLY(F1)
+-- construct field
+F:=FFNBP(F1,f2)
+-- this field is the same as constructed by F:=FFX(F1,d2)
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+
+
+-- end of common finite field demonstration
+-- normal extension of a normal extension
+-- get a normal polynomial of degree d1 over P
+f1:=createNormalPoly(d1)$FFPOLY(P)
+F1:=FFNBP(P,f1)
+-- get a normal polynomial of degree d2 over F1
+f2:=createNormalPoly(d2)$FFPOLY(F1)
+-- construct field
+F:=FFNBP(F1,f2)
+-- this field is the same as constructed by F:=FFX(F1,d2)
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+
+
+-- end of common finite field demonstration
+-- normal extension of a cyclic extension
+-- get primitive polynomial of degree d1 over P
+f1:=createPrimitivePoly(d1)$FFPOLY(P)
+F1:=FFCGP(P,f1)
+-- get a normal polynomial of degree d2 over F1
+f2:=createNormalPoly(d2)$FFPOLY(F1)
+-- construct field
+F:=FFNBP(F1,f2)
+-- this field is the same as constructed by F:=FFX(F1,d2)
+-- demonstration of common finite field functions
+-- the finite field domain is in variable F
+-- take some random elements
+size()$F
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+-- simple arithmetic
+a+b
+a-b
+a*b
+a/b
+a**1234
+a**(-1)
+g := generator()$F
+(definingPolynomial()$F::SUP(F)).g
+-- functions concerning the multiplicative cyclic group
+order(a)
+g:=primitiveElement()$F
+discreteLog(a)
+-- the next one should equal 0
+g**% - a
+-- the next may fail
+discreteLog(b,a)
+-- special finite field functions
+extensionDegree()$F
+degree(a)
+normalElement()$F
+definingPolynomial()$F
+minimalPolynomial(a)
+Frobenius(a)
+linearAssociatedOrder(a)
+linearAssociatedLog(a)
+for d in divisors extensionDegree()$F repeat
+ print(norm(a,d::PI)::OUTFORM)
+ print(trace(a,d::PI)::OUTFORM)
+
+
+-- end of common finite field demonstration
+-- finite field homomorphisms demonstration
+P3:= PF 3
+-- create a irreducible, a normal and a primitive polynomial
+fi:=createIrreduciblePoly(6)$FFPOLY(P3)
+fn:=createNormalPoly(6)$FFPOLY(P3)
+fp:=createPrimitivePoly(3)$FFPOLY(P3)
+-- coercions between field with the same defining polynomials
+F:=FFP(P3,fn)
+N:=FFNBP(P3,fn)
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+an:=coerce(a)$FFHOM(F,P3,N)
+bn:=coerce(b)$FFHOM(F,P3,N)
+cn := an*bn
+coerce(cn)$FFHOM(F,P3,N)
+-- should be the same as
+c:=a*b
+-- coercion between fields with different extension polynomials
+F:=FFP(P3,fi)
+N:=FFNBP(P3,fn)
+a:=index(size()$F quo 3)$F
+b:=index(size()$F quo 7)$F
+an:=coerce(a)$FFHOM(F,P3,N)
+bn:=coerce(b)$FFHOM(F,P3,N)
+cn := an*bn
+coerce(cn)$FFHOM(F,P3,N)
+-- should be the same as
+c:=a*b
+-- coercion between fields of different extension degree
+C:=FFCGP(P3,fp)
+N:=FFNBP(P3,fn)
+a:=index(size()$C quo 3)$C
+b:=index(size()$C quo 7)$C
+an:=coerce(a)$FFHOM(C,P3,N)
+bn:=coerce(b)$FFHOM(C,P3,N)
+cn := an+bn
+coerce(cn)$FFHOM(C,P3,N)
+-- should be the same as
+c:=a+b
+-- comparison of computation times for arithmetic operations
+f:=createPrimitiveNormalPoly(5)$FFPOLY(P3)
+FP:=FFP(P3,f)
+Fc:=FFCGP(P3,f) -- FC is a domain abbreviation
+FN:=FFNBP(P3,f)
+ap:=index(size()$FP quo 3)$FP
+ac:=coerce(ap)$FFHOM(Fc,P3,FP)
+an:=coerce(ap)$FFHOM(FN,P3,FP)
+bp:=index(size()$FP quo 7)$FP
+bc:=coerce(bp)$FFHOM(Fc,P3,FP)
+bn:=coerce(bp)$FFHOM(FN,P3,FP)
+-- the next are to initialize the fields
+ac+bc
+an*bn
+-- now we can compare
+)set message time on
+-- addition
+ap+bp
+an+bn
+ac+bc
+-- multiplication
+ap*bp
+an*bn
+ac*bc
+-- discrete logarithms
+discreteLog(ap)
+discreteLog(an)
+discreteLog(ac)
+-- exponentiation
+ap**1234567
+an**1234567
+ac**1234567
+-- computations between elements of field of different representation
+ap+bc
+an+bc
+an+bp
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fferr.input.pamphlet b/src/input/fferr.input.pamphlet
new file mode 100644
index 00000000..7120dc9c
--- /dev/null
+++ b/src/input/fferr.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input fferr.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+--)load FFPOLY )update
+pf := PF 3
+createIrreduciblePoly(6)$FFPOLY(pf)
+createNormalPoly(6)$FFPOLY(pf)
+createPrimitivePoly(3)$FFPOLY(pf)
+createIrreduciblePoly(3)$FFPOLY(pf)
+createNormalPoly(3)$FFPOLY(pf)
+createPrimitivePoly(3)$FFPOLY(pf)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ffrac.input.pamphlet b/src/input/ffrac.input.pamphlet
new file mode 100644
index 00000000..346c627e
--- /dev/null
+++ b/src/input/ffrac.input.pamphlet
@@ -0,0 +1,63 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ffrac.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+)lib ffrac
+
+f1 : FormalFraction Integer
+f1 := 6/3
+
+-- 6
+-- -
+-- 3
+
+f2 := (3.6/2.4)$FormalFraction Float
+
+-- 3.6
+-- ---
+-- 2.4
+
+numer f1
+
+-- 6
+
+denom f2
+
+-- 2.4
+
+f1 :: FRAC INT
+
+-- 2
+
+% :: FormalFraction Integer
+
+-- 2
+-- -
+-- 1
+
+f2 :: Float
+
+-- 1.5
+
+output "End of tests"
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ffx72.input.pamphlet b/src/input/ffx72.input.pamphlet
new file mode 100644
index 00000000..4a7de8db
--- /dev/null
+++ b/src/input/ffx72.input.pamphlet
@@ -0,0 +1,70 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ffx72.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- This file demonstrates some calculations with the finite field of
+-- 49 elements. It is built as a degree 2 extension of the Galois
+-- field with 7 elements.
+)cl all
+)time off
+
+gf72 := FF(7, 2)
+-- x**2+1 is irreducible over PF 7
+
+u: UP(x,PF 7) := x**2 + 1
+factor u
+
+-- but factors over FF(PF 7, 2)
+
+u2 : UP(x,gf72) := u
+factor u2
+
+-- the following is the irreducible polynomial used in the representation
+-- of GF(7**2) over PF 7. It will be the same every time this field is
+-- used.
+
+definingPolynomial()$gf72
+
+-- e is a randomly chosen element
+
+e := index(size()$gf72 quo 3)$gf72
+norm e
+trace e
+
+-- the order of an element is the minimum positive integer to which
+-- it can be raised to yield 1.
+
+order e
+
+-- we can display all the nonzero elements in the field
+
+allElts := [index(i :: PI)$gf72 for i in 1..48]
+
+-- we can sum over them
+
+reduce(+,allElts)
+
+-- and we can determine the order of each of them. Each element of
+-- order 48 generates the multiplicative group of non-zero elements.
+
+[order e for e in allElts]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fib.input.pamphlet b/src/input/fib.input.pamphlet
new file mode 100644
index 00000000..10224c4d
--- /dev/null
+++ b/src/input/fib.input.pamphlet
@@ -0,0 +1,29 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input fib.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+)cl all
+fib(n | n=0)==1
+fib(n | n=1)==1
+fib(n | n>1)==fib(n-1)+fib(n-2)
+fibs == [fib i for i in 0..]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/file.input.pamphlet b/src/input/file.input.pamphlet
new file mode 100644
index 00000000..fab45daf
--- /dev/null
+++ b/src/input/file.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input FILE.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from FileXmpPage
+)clear all
+
+ifile:File List Integer:=open("/tmp/jazz1","output")
+write!(ifile, [-1,2,3])
+write!(ifile, [10,-10,0,111])
+write!(ifile, [7])
+reopen!(ifile, "input")
+read! ifile
+read! ifile
+readIfCan! ifile
+readIfCan! ifile
+iomode ifile
+name ifile
+close! ifile
+)system rm /tmp/jazz1
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fixed.input.pamphlet b/src/input/fixed.input.pamphlet
new file mode 100644
index 00000000..67279b89
--- /dev/null
+++ b/src/input/fixed.input.pamphlet
@@ -0,0 +1,1497 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input fixed.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+--fixed.input
+
+-------------------------------------------------------------------
+-- daly/10/06/92
+-------------------------------------------------------------------
+)clear all
+-- something is wrong with the integration of serices, when the
+-- coeffiennts are not constants. while the series is mathematically
+-- correct, this is not what one expects as the taylor series, which
+-- does not exist.
+series(x/(x+log(x)))
+-- here integrate is treating log(x) as a constant, which is incorrect.
+integrate(%)
+
+-------------------------------------------------------------------
+-- bmt/10/19/92 integrate problem -- serious, wrong answer
+-------------------------------------------------------------------
+)clear all
+2*sin(t)*sqrt(1+cos(t))
+--correct answer is 2*sin(t)/sqrt(1+cos(t))
+integrate(%,t)
+
+-------------------------------------------------------------------
+-- bmt/10/20/92 multiple complex in type tower
+-------------------------------------------------------------------
+)clear all
+n:Complex ?
+-- an invalid type. can't have 2 complex constructors in a tower
+n:=x/y+%i
+
+-------------------------------------------------------------------------
+-- grabm/09/28/92 coercion bug
+-- comment: this coercion must carefully check whether there is a symbol
+-- among the kernels which is equal to an indeterminate of the
+-- polynomial ring, and not simply considering every expression
+-- as a constant
+-------------------------------------------------------------------------
+)clear all
+f:=(a-b-c-d)**2::EXPR INT
+f::DMP(['a,'b],EXPR INT)
+degree %
+
+-------------------------------------------------------------------
+-- bmt/10/26/92 wrong answer
+-- comment:I believe this problem simplifies to
+-- lfintegrate(sqrt(u**3+u**2),u) which returns the
+-- wrong answer due to some confusion in prootintegrate in INTPAF.
+-- I think the confusion happens with the use of radPoly and rootPoly.
+-- The answer is computed with respect to the result returned by rootPoly
+-- but the kernel which is substituted for "y" corresponds to radPoly.
+-------------------------------------------------------------------
+)clear all
+-- should be 2*sin(t)/sqrt(1+cos(t))
+integrate(sqrt(1+cos(x)),x)
+
+-------------------------------------------------------------------
+-- bmt/09/28/92 bug in ITRIGMNP
+-- gives:
+-- Cannot convert kernel to gaussian function
+-------------------------------------------------------------------
+)clear all
+integrate(exp(x**2),x)
+
+-------------------------------------------------------------------
+-- themos/11/06/92 integration bug
+--comment:
+--I suggest changing line 11 of limitedLogs in INTTR from:
+-- rows := max(degree den, 1 + "max"/[degree(u.contrib) for u in l1])
+--to:
+-- rows := max(degree den,
+-- 1 + reduce(max,[degree(u.contrib) for u in l1],0)$List(N))
+--Does you agree, thus max/ empty list would return 0.
+-------------------------------------------------------------------
+)clear all
+f:=log(1-(b*x/(a+c*x**2)))/x
+-- 2
+-- c x - b x + a
+-- log(--------------)
+-- 2
+-- c x + a
+-- (1) -------------------
+-- x
+integrate(%,x)
+-- 2
+-- %J c - %J b + a
+-- log(---------------)
+-- x 2
+-- ++ %J c + a
+-- (2) | -------------------- d%J
+-- ++ %J
+expand f
+-- 2 2
+-- - log(c x + a) + log(c x - b x + a)
+-- (3) -------------------------------------
+-- x
+integrate(%,x)
+-- >> Error detected within library code:
+-- No identity element for reduce of empty list using operation
+-- max
+
+-------------------------------------------------------------------
+-- bmt/11/17/92 interpreter resolve problem
+-------------------------------------------------------------------
+-- says cannot find an appropriate *
+)clear all
+%i/m*sqrt(m)
+
+-------------------------------------------------------------------------
+-- tpd/09/22/92 this generates extra brackets
+-------------------------------------------------------------------------
+)clear all
+foo n == matrix[[i for i in 1..n] for j in 1..n]
+foo
+
+-------------------------------------------------------------------------
+--- tpd/09/24/92 matrix multiplication appears broken in the product.
+-- fails with
+-- >> System error:
+-- The function |deleteAssoc| is undefined.
+-- You are being returned to the top level of the interpreter.
+-- comment: (barry)
+-- This bug is due to the new autoloading scheme for the compiler, the
+-- function deleteAssoc needs to be moved into the in core system.
+-- As a work around,
+-- if you compile a non existent file, the apropriate files will be loaded,
+-- e.g.:
+-- )co foo
+-- comment: this works in version 2
+-------------------------------------------------------------------------
+msq := Matrix SquareMatrix(2,POLY INT)
+m : msq := zero(2,2)
+m(1,1) := matrix([[1,2],[a,b]])
+m(1,2) := matrix([[a,b],[2,b]])
+m(2,2) := matrix([[1,2],[2,b]])
+m
+m*m
+m**2
+m**3
+(m*m)*m
+mm:=m*m
+mm*m
+
+-------------------------------------------------------------------------
+-- tpd/09/25/92 new equation.spad from johannes grabmeier
+-------------------------------------------------------------------------
+
+
+--Furthermore, we have function to put 0 or 1 on one side
+--and factor the left hand side, after the right hand side
+--is 0 and we have an IntegralDomain.
+--Johannes
+
+eq1 := (-6*x**3+13*x**2+4)=(-x**4+12*x)
+--
+--
+-- 3 2 4
+-- (1) - 6x + 13x + 4= - x + 12x
+-- Type: Equation Polynomial Integer
+-- Time: 1.61 (IN) + 1.47 (OT) = 3.08 sec
+eq2 := x**4+13*x**2-12*x = 6*x**3-4
+--
+--
+-- 4 2 3
+-- (2) x + 13x - 12x= 6x - 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.16 (IN) + 0.11 (OT) = 0.27 sec
+eq := eq1*y**2+eq2
+--
+--
+-- 3 2 2 4 2 4 2 3
+-- (3) (- 6x + 13x + 4)y + x + 13x - 12x= (- x + 12x)y + 6x - 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.26 (IN) + 0.01 (EV) + 0.01 (OT) + 1.54 (GC) = 1.82 sec
+swap %
+--
+--
+-- 4 2 3 3 2 2 4 2
+-- (4) (- x + 12x)y + 6x - 4= (- 6x + 13x + 4)y + x + 13x - 12x
+-- Type: Equation Polynomial Integer
+-- Time: 0.07 (OT) = 0.07 sec
+% + 4
+--
+--
+-- 4 2 3 3 2 2 4 2
+-- (5) (- x + 12x)y + 6x = (- 6x + 13x + 4)y + x + 13x - 12x + 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.69 (IN) + 0.01 (OT) = 0.70 sec
+%-6*x**3
+--
+--
+-- 4 2 3 2 2 4 3 2
+-- (6) (- x + 12x)y = (- 6x + 13x + 4)y + x - 6x + 13x - 12x + 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.19 (IN) + 0.01 (OT) = 0.20 sec
+leftZero %
+--
+--
+-- 4 3 2 2 4 3 2
+-- (7) 0= (x - 6x + 13x - 12x + 4)y + x - 6x + 13x - 12x + 4
+-- Type: Equation Polynomial Integer
+-- Time: 0.01 (IN) + 0.05 (OT) = 0.06 sec
+swap %
+--
+--
+-- 4 3 2 2 4 3 2
+-- (8) (x - 6x + 13x - 12x + 4)y + x - 6x + 13x - 12x + 4= 0
+-- Type: Equation Polynomial Integer
+-- Time: 0.01 (IN) = 0.01 sec
+factor lhs %
+--
+--
+-- 2 2 2
+-- (9) (x - 2) (x - 1) (y + 1)
+-- Type: Factored Polynomial Integer
+-- Time: 0.50 (IN) + 0.09 (EV) + 0.30 (OT) = 0.89 sec
+factorAndSplit eq
+--
+--
+-- 2
+-- (10) [x - 2= 0,x - 1= 0,y + 1= 0]
+-- Type: List Equation Polynomial Integer
+-- Time: 0.09 (EV) + 0.21 (OT) = 0.30 sec
+inv (eq :: EQ FRAC POLY INT)
+--
+--
+-- 1 1
+-- (11) - ------------------------------------= - ----------------------
+-- 3 2 2 4 2 4 2 3
+-- (6x - 13x - 4)y - x - 13x + 12x (x - 12x)y - 6x + 4
+-- Type: Equation Fraction Polynomial Integer
+-- Time: 0.03 (IN) = 0.03 sec
+- %
+--
+--
+-- 1 1
+-- (12) ------------------------------------= ----------------------
+-- 3 2 2 4 2 4 2 3
+-- (6x - 13x - 4)y - x - 13x + 12x (x - 12x)y - 6x + 4
+-- Type: Equation Fraction Polynomial Integer
+-- Time: 0.01 (IN) + 0.01 (OT) = 0.02 sec
+
+
+-------------------------------------------------------------------
+-- bmt/09/29/92 coercion bug
+-- fails with:
+-- failed cannot be coerced to mode
+-- (Record (: coef1 (Integer)) (: coef2 (Integer)))
+-- fixed on 09/29/92
+-------------------------------------------------------------------
+)clear all
+(p,q):UP(x,INT)
+p:=3*x**4+11*x**2-4
+q:=9*x**4+9*x**2-4
+myNextPrime: (INT,NNI) -> INT
+myNextPrime(x,n)==nextPrime(x)$PRIMES(INT)
+-- runs forever due to algebra bug in handling leading coefficients
+modularGcd([p,q])$InnerModularGcd(INT,UP(x,INT),67108859,myNextPrime)
+
+-------------------------------------------------------------------
+-- dewar/10/02/92
+-- actually, this was never wrong
+-------------------------------------------------------------------
+numeric(%e ** %pi)
+--gives
+ (61)
+-- 23.1406926327 7926900563 5493084578 4861294789 0532254433 2912200665
+-- 6744971913 2534837468 7163222983 2730035
+
+-------------------------------------------------------------------
+-- themos/10/07/92
+-------------------------------------------------------------------
+)clear all
+y:=operator 'y
+deqx:=differentiate(y(x),x,2)+differentiate(y(x),x)+y(x)
+solve(deqx,y,x)
+solve(deqx,y,x=0,[1])
+deqt:=differentiate(y(t),t,2)+differentiate(y(t),t)+y(t)
+solve(deqt,y,t)
+solve(deqt,y,t=0,[1]) -- bug
+deqz:=differentiate(y(z),z,2)+differentiate(y(z),z)+y(z)
+solve(deqz,y,z)
+solve(deqz,y,z=0,[1]) --bug
+
+-------------------------------------------------------------------
+-- themos/10/07/92 equation
+-------------------------------------------------------------------
+)clear all
+y:=operator 'y
+deq:=D(y(x),x)+x**2=(y x)/x-(y x)**2
+
+
+-------------------------------------------------------------------
+-- bmt/10/08/92 laplace
+-------------------------------------------------------------------
+)clear all
+laplace(exp(-x**3)*x**7,x,s)
+
+-------------------------------------------------------------------
+-- bmt/09/30/92 nonlinear ODE
+-------------------------------------------------------------------
+-- Any hope of solving the following which appeared in Barry
+-- Simon's computer algebra test suite:
+-- (Apparently it has Bernoulli form)
+y:=operator 'y
+x**2 * D(y x, x) + 2*x*(y x) - (y x)**3 = 0
+solve(%,y,x)
+
+
+-------------------------------------------------------------------
+-- sit/10/08/92 factor bug
+-------------------------------------------------------------------
+p:POLY FRAC INT := 3*(x+1)
+-- is wrong (missing factor of 3).
+factor(p)**2
+
+-------------------------------------------------------------------
+-- henderson/10/08/92
+-------------------------------------------------------------------
+)clear all
+--TextFile cliams that the operator readLineIfCan! returns "failed" when
+--the end of the file is reached. In fact, I get a system error, which is
+--not very useful:
+--(16) ->readLineIfCan!(fp)
+-- >> System error:
+-- Unexpected end of #<input stream "/home/mcd/work/work">.
+-- You are being returned to the top level of the interpreter.
+fout:TextFile:=open("/tmp/foo","output")
+write!(fout,"foo")
+close!(fout)
+fin:TextFile:=open("/tmp/foo","input")
+readLineIfCan!(fin)
+readLineIfCan!(fin)
+close!(fin)
+)lis (system "rm /tmp/foo")
+
+-------------------------------------------------------------------
+-- bmt/10/08/92 factoring over SAEs
+-------------------------------------------------------------------
+)clear all
+a | a**2+1
+(x+a)*(x+a+1)
+factor %
+
+-------------------------------------------------------------------
+-- miller/10/09/92 local vars in types
+-------------------------------------------------------------------
+)clear all
+--Fixed (Victor's) bug with using local variables in type expressions
+--assigned to local variables. It now gives a message and correctly uses
+--interpret-only mode.
+--The function changed was getAndEvalConstructorArgument from i-spec1.boot.
+
+-------------------------------------------------------------------
+-- themos/10/19/92
+-------------------------------------------------------------------
+)clear all
+-- Do this in a virgin system
+)set expose add constructor SquareMatrix
+S2:= SquareMatrix(2,FRAC POLY INT);
+V2: S2 := matrix([[v,-v],[-v,v]]);
+I2: S2 := 1;
+m:=5;
+l: List(S2) := append(cons(V2+h*I2,_
+ [(V2+2*h*I2) for i in 2 .. (m-1)]),_
+ [V2+h*I2])
+A: SquareMatrix(m, S2) := diagonalMatrix(l)
+-- did you get an error of deleteAssoc not defined ??
+
+-- load definition of deleteAssoc
+)li (load "/spad/obj/rios/interp/c-util")
+
+A: SquareMatrix(m, S2) := diagonalMatrix(l)
+--now , can print.
+
+-------------------------------------------------------------------
+-- bmt/10/19/92 squareFree bug
+-------------------------------------------------------------------
+-- has an extra factor of 2.
+squareFree((2*x*y+1)*(x*y+1)**2)
+
+-------------------------------------------------------------------
+-- bmt/10/19/92 division by zero error
+-------------------------------------------------------------------
+limit(atan(1/sin(x)),x=0)
+
+-------------------------------------------------------------------
+-- bmt/10/19/92 limit problem
+-------------------------------------------------------------------
+)clear all
+-- the left and right hand limits don't agree
+limit(atan(-sin(x)/(cos(x)+e)),x=acos(-e))
+-- the left and right hand limits don't agree
+limit(atan(1/(cos(x)+e)),x=acos(-e))
+
+-------------------------------------------------------------------
+-- grabmeier/10/19/92 unable to compute the determinant of an 8x8
+-------------------------------------------------------------------
+)clear all
+D := MATRIX FRAC(POLY INT)
+
+
+d : (INT, Boolean) -> POLY INT
+d(i,ss) ==
+ ex := i rem 4
+ if ex < 0 then ex := ex+4
+ ss =>
+ ex = 0 => 's
+ ex = 1 => 'sd
+ ex = 2 => 'sdd
+ 'sddd
+ ex = 0 => 1
+ ex = 1 => 'd
+ ex = 2 => 'dd
+ 'ddd
+
+
+
+-- 1,d,dd,ddd,s,sd,sdd,sddd
+
+mTV4 : D := new(8,8,0)
+
+for i in 1..8 repeat
+ for j in 1..8 repeat
+ mTV4(i,j) :=
+ i <= 4 =>
+ j <= 4 => d(i+j-2, false)
+ d(-i+j,true)
+ j <= 4 => d(i+j-2,true)
+ d(-i+j,false)
+mTV4
+gdd4 := determinant mTV4
+
+-------------------------------------------------------------------
+-- sutor/09/28/92 operator bug?
+-------------------------------------------------------------------
+)clear all
+L n ==
+ n = 0 => 1
+ n = 1 => x
+ (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2)
+dx:=operator("D")::OP(POLY FRAC INT)
+evaluate(dx,p+-> differentiate(p,'x))
+E n == (1-x**2)*dx**2-2*x*dx+n*(n+1)
+L 15
+-- used to fail on this line
+E 15
+
+-------------------------------------------------------------------
+-- bmt/10/12/92 EFSTRUC recursion problem
+-------------------------------------------------------------------
+)clear all
+bug:=(1+x**(1/4))**(1/3)/(x**(1/2))
+-- gives a value stack overflow
+integrate(bug,x) -- seems to go into infinite recursion in rischNormalize
+
+-------------------------------------------------------------------
+-- james/10/28/92 coerce bug
+-------------------------------------------------------------------
+)clear all
+-- improper character in Roman numeral: G
+g::ROMAN
+
+-------------------------------------------------------------------
+-- grabm/10/28/92 runs forever
+-------------------------------------------------------------------
+)clear all
+-- this is quick
+factor 1068303355883998767544567663620885466990173600
+-- but this runs forever
+sqrt 1068303355883998767544567663620885466990173600
+
+
+-------------------------------------------------------------------
+-- themos/11/05/92 fortran output bug
+-------------------------------------------------------------------
+)clear all
+-- REAL T7,T6,T5,T4,T3,T2,T1
+-- T1=x*x
+-- T2=2.*y**5
+-- T3=4.*T1
+-- T4=y**3
+-- T5=2.*T7
+-- T6=x**3
+-- T7=x**4
+-- R46=((T2+(T3+8.*x+8.)*T4+(T5+8.*T6+(-40.*T1))*y)*SIN(x)+(-T2+(-T3+
+-- &16.*x)*T4+(-T5+16.*T6)*y)*COS(x))/(y**8+4.*T1*y**6+6.*T7*y**4+4.*x
+-- &**6*y*y+x**8)
+-- T7 is referenced before it is defined
+a1:=sin(x)/(x**2+y**2);a2:=D(a1,[x,y]);a2+D(a2,x)
+
+-------------------------------------------------------------------
+-- grabm/11/05/92
+-- comment:
+--I believe the "bug" is that the interpreter is converting gb which is
+--a list of dmp style polynomials to a list of POLY type polynomials.
+--Unfortunately the result of such a conversion is no longer a groebner basis.
+--I don't see any reasonable way to prevent this, and would therefore have to
+--classify this as "user error", when working with grobner bases, the user
+--needs to force all his polynomials to be the appropriate type (thus having
+--the correct ordering).
+-------------------------------------------------------------------
+-- expressing a symmetric functions in terms of elementary symm. functions
+-- working in POLY INT is o.k.
+R := FRAC INT
+-- (1) Fraction Integer
+lpx : List POLY R := [x1+x2+x3, x1*x2+x1*x3+x2*x3,x1*x2*x3]
+-- (2) [x3 + x2 + x1,(x2 + x1)x3 + x1 x2,x1 x2 x3]
+lip := [lpx.1-e3, lpx.2-e2, lpx.3-e1]
+-- (3) [x3 + x2 + x1 - e3,(x2 + x1)x3 + x1 x2 - e2,x1 x2 x3 - e1]
+gbp := groebner lip
+-- (4)
+-- 2 2
+-- [x3 + x2 + x1 - e3, x2 + (x1 - e3)x2 + x1 - e3 x1 + e2,
+-- 3 2
+-- x1 - e3 x1 + e2 x1 - e1]
+normalForm(x1**2+x2**2+x3**2,gbp)
+-- 2
+-- (5) e3 - 2e2
+-- working in DMP is o.k.
+dmp := DMP([x1,x2,x3,e1,e2,e3],INT)
+-- (6) DistributedMultivariatePolynomial([x1,x2,x3,e1,e2,e3],Integer)
+li : List dmp := [lpx.1-e1, lpx.2-e2, lpx.3-e3]
+-- (7) [x1 + x2 + x3 - e1,x1 x2 + x1 x3 + x2 x3 - e2,x1 x2 x3 - e3]
+gb := groebner li
+-- (8)
+-- 2 2
+-- [x1 + x2 + x3 - e1, x2 + x2 x3 - x2 e1 + x3 - x3 e1 + e2,
+-- 3 2
+-- x3 - x3 e1 + x3 e2 - e3]
+p:dmp:=(x1**2+x2**2+x3**2)
+-- 2 2 2
+-- (9) x1 + x2 + x3
+normalForm(p,gb)
+-- 2
+-- (10) e1 - 2e2
+-- but we have some problems (coercion? ordering?) here:
+normalForm(x1**2+x2**2+x3**2,gb)
+-- 2 2 2
+-- (11) 2x2 + (2x1 - 2e1)x2 + 2x1 - 2e1 x1 + e1
+
+
+
+
+-------------------------------------------------------------------
+-- bmt/11/17/92 Ifintegrate
+-------------------------------------------------------------------
+--It seems that one cannot simply parametrize reducible curves.
+--Any attempt at parametrization can only follow one branch.
+--For curves of the form y**2=a**2*x**2+b*x+c, these are only reducible
+--if a**2*x**2+b*x+c is a perfect square. Basically I think we need to
+--choose 1 branch in this case. Under some circumstances we could
+--try to proceed down both branches and then unify the result, but for
+--the time being, perhaps we should just perform the substitution
+--y=sqrt(a**2*x**2+b*x+c) whenever that is a perfect square.
+--(then we don't even need to do any back subsitution or change to dx).
+--
+--For another example, perhaps due to the same essential difficulty try
+integrate(normalize(sqrt(1+cos(x)),x),x)
+-- this gets a non-invertible error
+
+--I have fixed integrate(sqrt(1+cos(x)),x) and
+--integrate(normalize(sqrt(1+cos(x)),x),x)
+--fix was to function prootintegrate in INTPAF in intaf.spad
+
+
+-------------------------------------------------------------------
+-- james/02/11/93 integrate
+-- used to give error:
+-- No identity element for reduce of empty list using operation
+-- max
+-------------------------------------------------------------------
+integrate(((-x-1)*log((x**2+x))**2+2*log(x))/(x+1),x)
+
+-------------------------------------------------------------------
+-- dewar/02/15/93
+-------------------------------------------------------------------
+)clear all
+--i::Polynomial(Integer)
+--%::Union(Symbol,Polynomial Integer)
+--list %
+--
+--this is a bug in old style union handling, this style of unions
+--will become obsolete, so the suggested fix is to use tagged unions instead:
+i::POLY INT
+%::Union(s:Symbol, p:POLY INT)
+list % -- works
+
+-------------------------------------------------------------------
+-- grabm/03/04/93
+-- parser bug? not for system commands
+-------------------------------------------------------------------
+)clear all
+-- gives error: Sorry, but no option begins with upd;
+)load /spad/mnt/rios/algebra/EQ )upd; a:=1
+-- works
+)load /spad/mnt/rios/algebra/EQ )upd ; a:=1
+
+-------------------------------------------------------------------
+-- bronstein/03/08/93
+-------------------------------------------------------------------
+)clear all
+I:=operator 'I
+J:=operator 'J
+eq := mu * D(I x,x) = - (K + S) * I(x) + S*J(x)
+solve(eq,I,x)
+--> wrong particular solution
+
+-------------------------------------------------------------------
+-- dewar/03/16/93
+-- bug writing backslash to files
+--comment:
+--This is not a bug, what is written to the file is the lisp representation
+--of the string "\\test" (since '\' is lisp escape character).
+--The file is read and written using lisp primitives and thus the escape
+--characters need to be doubled. This is consistent, since if you read the
+--item back in from the file, the correct string is reconstituted.
+--
+--If you want to create a text file which simply contains lines of text
+--instead of lines of lisp strings, use:
+--ofile : TextFile := open("test","output") ...
+--then you will get a file of literal strings with no string delimiters and
+--no escape characters.
+-------------------------------------------------------------------
+)clear all
+ofile: File String := open("/tmp/test","output")
+-- this writes "\\\\test" but should write "\\test"
+write!(ofile,"\\test"::String)
+close! ofile
+
+-------------------------------------------------------------------
+-- themos/04/07/93
+-- this sometimes fails
+-- comment:
+--thanks for tracing down the problem. Basically the lines for monicizing
+--the result need to be done before we try to
+--retract back from the algebraic extension.
+-------------------------------------------------------------------
+)clear all
+pol:DMP([x,y,z],PF(2)):=x**2*y**2+x**2*y*z+x**2*z**2+x*y*z**2+y**3*z+y*z**3
+factor pol
+
+-------------------------------------------------------------------
+-- williamson/04/21/93
+-- comment:
+--I ran into some problems when factoring polynomials over number fields.
+--Evidently the interpretor doesn't choose the correct function 'factor'.
+--It uses a function from MULTFACT, when it should be using a function from
+--SAEFACT.
+-------------------------------------------------------------------
+)clear all
+up := UP('w,FRAC INT)
+p : up := w**4 + w**3 + w**2 + w + 1
+sae := SAE(FRAC INT,up,p)
+q : UP('x,sae) := x**5 - 1
+factor q -- used to report: x**5-1
+saefact := SAEFACT(up,sae,UP('x,sae))
+factor(q)$saefact
+
+-------------------------------------------------------------------
+-- grabm/04/30/93
+-- comment:
+--This bug has been fixed at yorktown, in radix.spad, change line 163, the
+--third line of intgroup to be:
+-- empty? rest li => intToExpr first(li)
+--and then recompile RADIX
+-------------------------------------------------------------------
+)clear all
+-- results in 10 and not A
+10::RadixExpansion(16)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+r:=rule 'x == 1
+-- used to return x, now returns 1
+r x
+
+-------------------------------------------------------------------
+-- ADK@scri.fsu.edu (tony kennedy)
+-------------------------------------------------------------------
+)clear all
+factor(-12)
+%**2
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch (manuel bronstein)
+-- >> Error: cannot retract nonconstant polynomial
+-------------------------------------------------------------------
+)clear all
+complexNumeric(log(sqrt(-3)))
+
+-------------------------------------------------------------------
+-- quitte@knuth.univ-poitiers.fr/8/15/93 (Claude Quitte)
+-------------------------------------------------------------------
+)clear all
+--)abbreviation package TEST Test
+--
+--Test() : with
+--
+-- leftProductBy : Integer -> (Integer -> Integer)
+-- rightProductBy : Integer -> Mapping(Integer, Integer)
+--
+-- == add
+--
+-- leftProductBy(n) == n * #1
+--
+-- rightProductBy(n : Integer) : Mapping(Integer, Integer) == #1 * n
+--------------------------------------------------------------------------
+--
+--Why is it impossible to specify the target/cible types for the
+--functions leftProductBy and rightProductBy in the body of the package ???
+--
+--The code for leftProductBy is correct but the code for rightProductBy
+--troubles the compiler !!!! It seems to compile a LOCAL function with
+--ANOTHER signature.
+--
+--------------------------------------------------------------------------
+-- initializing NRLIB TEST for Test
+-- compiling into NRLIB TEST
+-- compiling exported leftProductBy : Integer -> Integer -> Integer
+--Time: 0.35 SEC.
+--
+-- compiling local rightProductBy : Integer -> Integer
+--****** comp fails at level 2 with expression: ******
+--error in function rightProductBy
+--
+--****** level 2 ******
+--$x:= #1
+--$m:= $EmptyMode
+--$f:=
+--((((|n| # #) (|rightProductBy| # # #) (|n| #) (|rightProductBy| # # #) ...)))
+--
+-- >> Apparent user error:
+-- no mode found for
+-- #1
+-- You are being returned to the top level of the interpreter.
+------------------------------------------------------------------------
+-- answer (barry):
+--
+--Your problem in TEST about specifying target types which are Mapping's
+--was a bug in the compiler and has been fixed for Axiom release 2.0.
+--
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/10/6/93 (Manuel Bronstein)
+-------------------------------------------------------------------
+)clear all
+--Here is algfunc.spad with an old bug fixed: eventh-roots of negative floats
+--coerced to EXPR FLOAT (e.g. sqrt(-1::EXPR FLOAT)) used to produced an error
+--message since the sqrt from FLOAT was called.
+--I have now fixed iroot from AF(R,)
+--to call the sqrt from R only if either R is algebraically closed, or the
+--root is odd, or the argument is positive. Here's the new behaviour:
+sqrt(-1::EXPR FLOAT)
+sqrt(2::EXPR FLOAT)
+nthRoot(-2::EXPR FLOAT, 3)
+nthRoot(-2::EXPR FLOAT, 4)
+--As a side-effect, this fixes the problem with numeric
+-- (which was instantiating sqrt(-1)$EXPR(FLOAT)).
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/10/6/93 (Manuel Bronstein)
+-------------------------------------------------------------------
+)clear all
+--Here is an updated efstruc.spad where ker2trigs now knows about abs.
+real abs(4 + %i * 5) -- does the right thing.
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/10/5/93 (Manuel Bronstein)
+-------------------------------------------------------------------
+)clear all
+--Here is again an enhanced elemntry.spad. What happens now is that
+exp(q * %i * %pi)
+--gets automatically simplifed whenever q is a rational number whose
+--denominator is one of {1,2,3,4,6}.
+exp(5/3*%i*%pi)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/10/4/93 (Manuel Bronstein)
+-- luczak@nag.com (Richard Luczak)
+-------------------------------------------------------------------
+)clear all
+exp(log(-1))
+sum((-1)**k * (k+m),k=0..n)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/10/4/93 (Manuel Bronstein)
+-------------------------------------------------------------------
+)clear all
+--simplifies (abs now checks quotients instead of just retraction to R).
+abs((1/2)::EXPR(INT))
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/10/4/93 (Manuel Bronstein)
+-------------------------------------------------------------------
+)clear all
+integrate(1/(x**2 + %i*a),x)
+
+-------------------------------------------------------------------
+-- bmt@spadserv.watson.ibm.com/9/28/93 (Barry Trager)
+-------------------------------------------------------------------
+)clear all
+limit(1/2**n,n=%plusInfinity)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/9/22/93 (Manuel Bronstein)
+-------------------------------------------------------------------
+)clear all
+--Here is an update to efstruc.spad that handles complex constants much better.
+--Negative square roots and negative logs are now recognized as complex and
+--treated properly by real?, real, imag, and complexForm:
+x := sqrt(-3) + sqrt 2 + sqrt(- exp a) + log(-a**2-1)
+real? x
+real x
+imag x
+--As a result, integrals involving sqrt(-2) etc... are now treated correctly
+--(this was the case only for sqrt(-1) with the older version).
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/9/22/93 (Manuel Bronstein)
+-------------------------------------------------------------------
+)clear all
+-->> haha := rule x*x == z
+-->> haha(a*a + b*b + c**2) --> 3z
+-->> haha(a*a + b*b + c**2 + d*d) --> z
+-->>
+-->> the bug is that the last line returns z instead of 4z.
+--
+--Sorry guys, this is not a bug: haha is so general a rule that it matches
+--the integer 4 (as 2 squared), so the rewrite chain for the last example is:
+--
+--a*a + b*b + c**2 + d*d ---> z + z + z + z = 4 * z ---> z * z ---> z
+--
+--Here is a console showing what exactly happens:
+haha := rule x*x == z
+haha 4
+haha 3
+haha(4*z)
+haha(3*z)
+--To see the whole rewrite chain:
+a*a + b*b + c**2 + d*d
+applyRules([haha], %, 1)$APPRULE(INT,INT,EXPR INT)
+applyRules([haha], %, 1)$APPRULE(INT,INT,EXPR INT)
+applyRules([haha], %, 1)$APPRULE(INT,INT,EXPR INT)
+--I think it's actually the proper behavior for the pattern matcher. This
+--example shows that rules can bite, something Mma users are quite aware about!
+
+-------------------------------------------------------------------
+-- dewar/9/16/93 (mike dewar)
+-------------------------------------------------------------------
+--There's an odd discontinuity about the behaviour of the following
+--function:
+
+harm(1) == 1
+harm(n) == harm(n-1) + 1/n
+harm : Integer -> Fraction Integer
+harm(1023) -- takes a little while, as expected
+harm(1024) -- takes forever?
+
+-------------------------------------------------------------------
+-- williams@inf.ethz.ch/9/1/93 (Clifton Williamson)
+-------------------------------------------------------------------
+--> we should probably support integrate(%,x) on series types.
+--> x could be either the variable of expansion or a parameter variable.
+--
+--We've discussed this before with regard to the function 'differentiate'.
+--The technical problem is that "generalized" power series may have
+--"coefficients" involving the series variable:
+series(x**x,x=0)
+--In this case, as currently implemented, 'differentiate' returns incorrect
+--answers:
+)set mess test off
+differentiate %
+)set mess test on
+--The solution we discussed (perhaps "resolution" is a better word) was to
+--create a separate series type for generalized series. This would be a
+--carbon copy of UPXS, except that differentiate(series,variable(series)) and
+--integrate(series,variable(series)) would return an error message. The
+--error message could also suggest that the user first apply 'approximate',
+--then compute a derivative or integral. We would also have a coercion from
+--UPXS to this type. The function 'series' would return a UPXS, when the
+--coefficients do not involve the series variable, and a "generalized series",
+--when the coefficients involve the series variable.
+--
+--If this sounds cool to you, I'll go ahead with it when I have time. (I'm
+--trying to meet a 16 September deadline for a MEGA '94 submission. I'm still
+--getting my results together, so time is tight. Let me know if there is a
+--time deadline for the AXIOM code!)
+--
+--> Also we need better tools for taking finite truncations of series objects.
+--> In particular since we now mostly use series(expr,var) to create a series,
+--> UPXS if over a coefficient domain which supports the symbol of expansion,
+--> should be able to truncate a series to an EXPR.
+--
+--I thought I had you on this one! The signature is there (in pscat.spad):
+--
+-- if Coef has coerce: Symbol -> Coef then
+-- if Coef has "**":(Coef,Expon) -> Coef then
+-- approximate: ($,Expon) -> Coef
+-- ++ \spad{approximate(f)} returns a truncated power series with the
+-- ++ series variable viewed as an element of the coefficient domain.
+--
+--It certainly works for Laurent series:
+laurent(cos(a+x)/x,x=0)
+approximate(%,3)
+--But, unfortunately, I never implemented it for Puiseux series:
+puiseux(cos(a+x)/x,x=0)
+approximate(%,3)
+series(cos(x**(2/3) + a),x=0)
+approximate(%,2)
+approximate(%% 1,7/5)
+
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/10/6/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+)set message type off
+
+-- Here is algfunc.spad with an old bug fixed: eventh-roots of negative floats
+-- coerced to EXPR FLOAT (e.g. sqrt(-1::EXPR FLOAT)) used to produced an error
+-- message since the sqrt from FLOAT was called.
+-- I have now fixed iroot from AF(R,)
+-- to call the sqrt from R only if either R is algebraically closed, or the
+-- root is odd, or the argument is positive. Here's the new behaviour:
+sqrt(-1::EXPR FLOAT)
+sqrt(2::EXPR FLOAT)
+nthRoot(-2::EXPR FLOAT, 3)
+nthRoot(-2::EXPR FLOAT, 4)
+--As a side-effect, this fixes the problem with numeric
+-- (which was instantiating sqrt(-1)$EXPR(FLOAT)).
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/9/22/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+--Here is a (rather major) bug fix to ffactor in FSUPFACT.NRLIB. It causes
+--a large family of integrals to return 0, because ffactor(?**2+expr) returned
+--?**2 when expr involved a parameter. This is fixed now.
+
+-------------------------------------------------------------------
+-- jhd@maths.bath.ac.uk/8/15/93 James Davenport
+-------------------------------------------------------------------
+)clear all
+integrate(1/(x*(log(x)**2+a**2-1)),x)
+-- (1)
+-- VCONCAT
+-- log(x)
+-- atan(---------)
+-- +------+
+-- | 2
+-- 2 \|a - 1
+-- ((- a + 1<0) -> ---------------)
+-- +------+
+-- | 2
+-- \|a - 1
+-- ,
+-- PAREN
+-- 2
+-- (- a + 1>0)
+-- ->
+-- +--------+
+-- 2 2 | 2 2
+-- log((log(x) - a + 1)\|- a + 1 + (2a - 2)log(x))
+-- +
+-- 2 2
+-- - log(log(x) + a - 1)
+-- /
+-- +--------+
+-- | 2
+-- 2\|- a + 1
+-- ,
+-- 1
+-- ( Or (a - 1=0) -> - ------)
+-- (a + 1=0) log(x)
+-- Type: ConditionalExpression Integer
+--
+--is still fairly ugly.
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/8/9/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+--Here is efstruc.spad with a change to normalize so that
+normalize(2**(1/2) + 2**(1/4)) now returns 2**(1/4) ** 2 + 2**(1/4).
+
+
+-------------------------------------------------------------------
+-- satoshi@yktvmv.vnet.ibm.com/8/7/93 satoshi hamaguchi
+-------------------------------------------------------------------
+)clear all
+-- In axiom, both
+ integrate(%e**x,x=0..1)
+--and
+ integrate(log(x),x=1..2)
+--yield a warning potentialPole .
+--If I use "noPole", they give right answers. Isn't this a bug?
+--... Satoshi
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/8/5/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+simplify(2**(1/3)*2**(1/2)) -- will return 2**(5/6).
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/8/4/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+integrate(1/sqrt(1+cos(x)), x)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/8/4/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+normalize atan(cos(x)/sin(x)) -- used to be division by 0 error
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/8/4/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+a := 2**(1/6)
+[a**n for n in 2..13]
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/8/4/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+int:=sqrt(a*(1-u**2)/(1+u**2))/u
+integrate(eval(int,a=1),u) -- works
+integrate(eval(int,a=sqrt(-1)),u) -- seems to run forever
+integrate(eval(int,a=1)*(-1)**(1/4),u) -- dies after a long time
+ -- with an elt index error.
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/8/4/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+sqrt((1-x**2)*(1-k**2*x**2))
+integrate(x/%,x)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/7/26/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+rad:=last zerosOf((2+y)**8-3,y)
+k:=first kernels %
+eval(rad,k,rad)
+
+-------------------------------------------------------------------
+-- nagttt@vax.ox.ac.uk/7/15/93 themos tsikas
+-------------------------------------------------------------------
+)clear all
+f := (x - y) / (x + y)
+eval(f,x=1/x)
+
+-------------------------------------------------------------------
+-- nagttt@vax.ox.ac.uk/7/15/93 themos tsikas
+-------------------------------------------------------------------
+)clear all
+digits 200
+--I claim that these two should give the same result (they do in Reduce):
+--(precision was 200)
+a:=4*sin(2*%pi/9)*sin(5*%pi/9)/sqrt(3)
+b:=1/(2*sin(%pi/9))
+a::EXPR FLOAT
+b::EXPR FLOAT
+
+-------------------------------------------------------------------
+-- bmt@spadserv.watson.ibm.com/9/15/93 (Barry Trager)
+-------------------------------------------------------------------
+)clear all
+limit(tanh(x),x=%plusInfinity)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/6/14/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+a := x::EXPR INT
+b := x::EXPR COMPLEX INT
+zeroOf(a**4+1,x)
+zeroOf(b**4+1,x)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/6/11/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+normalize(0**a) -- now returns 0 (was crashing before)
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/6/11/93 (manuel bronstein)
+-------------------------------------------------------------------
+)clear all
+- new export complexForm(f) which returns the rectangular complex form of f:
+log(a+%i * b)
+complexForm %
+complexIntegrate(1/(x-%i),x)
+complexForm %
+
+-------------------------------------------------------------------
+-- jcf@posso.ibp.fr
+-------------------------------------------------------------------
+-- normalForm est faux pour les polynomes a coef dans un anneau:
+D:=DMP([a,b],INT)
+l:List D:=[2*a-1,b-a]
+g:=groebner l
+p:D:=a
+normalForm(p,g)
+-- was 1
+-- au lieu de 1/2 !!
+
+-------------------------------------------------------------------
+-- nagttt@vax.ox.ac.uk/6/9/93 themos tsikas
+-------------------------------------------------------------------
+)clear all
+squareFreePart(50)
+
+-------------------------------------------------------------------
+-- mcd@maths.bath.ac.uk/6/4/92 mike dewar
+-------------------------------------------------------------------
+)clear all
+f:=complexIntegrate(1/((x-%i)*(x-2*%i)),x)
+g:=subst(f,x=1)
+imag g
+
+-------------------------------------------------------------------
+-- daly
+-------------------------------------------------------------------
+)clear all
+-- not wrong but the order is obscure...
+primes(1,10)
+
+-------------------------------------------------------------------
+-- nagttt@vax.ox.ac.uk/1/11/93 themos tsikas
+-------------------------------------------------------------------
+)clear all
+m:=matrix[[1,a,0],[b,0,a],[0,b,c]]
+ll:=radicalEigenvectors m
+-- ends in error:
+-- Internal system problem in function appInfix : fewer than 2 arguments to
+-- an infix function
+--
+-- but this works
+ll 1
+ll 2
+ll 3
+
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/11/24/93 Manuel Bronstein
+-------------------------------------------------------------------
+--)clear all
+--Here's a bug that appears with the )math option only.
+--
+--)tr MATRIX )ops determinant )math
+--
+-- Parameterized constructors traced:
+-- MATRIX
+-- this integrate is commented out since it runs forever (at least many hours)
+--integrate(sqrt(1/x+1)*sqrt(x)-sqrt(x+1),x)
+--1<enter Matrix.determinant,26 :
+--
+-- Internal system problem in function appInfix :
+-- fewer than 2 arguments to an infix function
+
+-------------------------------------------------------------------
+-- copper@yktvmv/12/1/93 Don Coppersmith
+-------------------------------------------------------------------
+)clear all
+--Attached is the list of integers n such that 2**512-n is prime
+--and n is between 0 and 5000:
+--
+-- 4893,4653,4475,4005,3893,3669,3459,3143,2967,
+-- 2807,2529,1827,1695,975,875,629,569
+
+--It was gotten from Axiom by issuing the commands
+qrimes : Stream Integer := generate(nextPrime,2**512-5000)
+rrimes := [ 2**512-p for p in qrimes while p < 2**512 ]
+srimes := complete rrimes
+[srimes.i for i in [1..18]]
+[srimes.i for i in [10..18]]
+
+-------------------------------------------------------------------
+-- miker@num-alg-grp.co.uk/12/13/93 (Mike Richardson)
+-------------------------------------------------------------------
+)clear all
+--
+--This is fixed now. You get an Expression Float.
+--
+-->
+--> I suspect that this is an example of the same thing - but it looks
+--> worse:
+-->
+--> (145) ->X := log(0.7*%i*x)
+-->
+--> >> Error detected within library code:
+--> negative root
+-->
+--> Mike
+-->
+
+
+-------------------------------------------------------------------
+-- sutor@yktpub.watson.ibm.com/12/15/93 (Robert S. Sutor)
+-------------------------------------------------------------------
+)clear all
+--enter Integer in input box
+--choose domains
+--choose Description
+--click on Convertible(String)
+--
+--page cannot be formatted
+
+-------------------------------------------------------------------
+-- bmt@posso.dm.unipi.it12/15/93 (barry trager)
+-------------------------------------------------------------------
+)clear all
+log2() --> Float
+exp1() --> DoubleFLoat ???
+
+
+-------------------------------------------------------------------
+-- quitte@knuth.univ-poitiers.fr/12/14/93 Claude Quitte
+-------------------------------------------------------------------
+)clear all
+--There is a bug in the function delete_! for the type List ; this function,
+--has two arguments, a list L and an integer n : delete_!(L, n) returns
+--a list L with the n nth-item deleted, MODIFYING its argument L.
+--
+--But for n = 1, the argument L is not MODIFIED !!! (exactly for n =
+--minIndex(L)). An extract of the package ListAggregate (abbreviation LSAGG,
+--file aggcat.spad).
+--
+--
+----------------------------------------------------------------------
+--ListAggregate(S:Object): Category == Join(StreamAggregate S,
+-- FiniteLinearAggregate S, ExtensibleLinearAggregate S) with
+-- list: S -> $
+-- ++ list(x) returns the list of one element x.
+-- add
+-- ..........
+--
+-- delete_!(x:$, i:I) ==
+-- i < (m := minIndex x) => error "index out of range"
+-- i = m => rest x ****** <- here is the error
+-- y := rest(x, (i - 1 - m)::N)
+-- setrest_!(y, rest(y, 2))
+-- x
+--
+--A little session :
+--
+L : List(String) := ["There is", "it seems", "a real bug", "here"]
+-- (1) ["There is","it seems","a real bug","here"]
+-- Type: List String
+--
+L1 := delete!(L, 1)
+-- (2) ["it seems","a real bug","here"]
+-- Type: List String
+L
+-- (3) ["There is","it seems","a real bug","here"]
+-- Type: List String
+--
+L2 := delete!(L, 2)
+-- (4) ["There is","a real bug","here"]
+-- Type: List String
+L
+-- (5) ["There is","a real bug","here"]
+--
+--Is there a way to fix this bug quickly ?? (I am ready to modify the source
+--Axiom aggcat.spad).
+--The problem with ! functions lies in the documentation not in the code. We
+--need to explain more clearly that ! functions are ALLOWED to update their
+--arguments, not REQUIRED to do so.
+--Whenever using ! functions you should always
+--use the returned result, not try to use the updated argument. This is how
+--the code is designed.
+--For example if you try to do insert! into an empty list,
+--the argument is not updatable and thus a new list is created. The reason for
+--having ! operations is for efficiency to do less copying, not to guarantee
+--that given arguments will always be updated. So the correct use is to only
+--depend on the results returned by updating functions.
+
+
+-------------------------------------------------------------------
+-- quitte@knuth.univ-poitiers.fr/1/13/94 Claude Quitte
+-------------------------------------------------------------------
+)clear all
+K := Fraction(Integer)
+PolK := UP('X, K)
+X : PolK := monomial(1, 1)
+n : PositiveInteger := 15
+E := SimpleAlgebraicExtension(K, PolK, X**n + X**(n-3) -1)
+y : E := X::E
+minimalPolynomial(y)$E
+--
+--Internal Error
+--The function minimalPolynomial with signature SimpleAlgebraicExtension(
+--Fraction Integer,UnivariatePolynomial(X,Fraction Integer),X**15+X**12-1)
+---> UnivariatePolynomial(X,Fraction Integer) is missing from domain
+--SimpleAlgebraicExtension(Fraction (Integer))
+--(UnivariatePolynomial X (Fraction (Integer)))((15 1 . 1) (12 1 . 1) (0 -1 . 1))
+
+-------------------------------------------------------------------
+-- luczak@nag.com/02/20/94 (Richard Luczak)
+-------------------------------------------------------------------
+)clear all
+--
+--I'm trying to define the following rule
+--
+tr := rule cos(x)**(n | integer? n and even? n)==(1-sin(x)**2)**(n/2)
+--
+--Axiom returns
+--
+-- Cannot find a definition or library operation named even? with argument
+-- types
+-- Expression Integer
+--
+-- We will attempt to step through and interpret the code.
+--
+-- n
+-- -
+-- n 2 2
+-- (2) cos(x) == (- sin(x) + 1)
+-- Type: RewriteRule(Integer,Integer,Expression Integer)
+--
+--
+--and henceforth the rule does not work as desired. Variations on the same bug
+--occur involving positive?. Of course, I get what I want using integer?(n/2)
+--but ... Is this a bug?
+--
+-- from barry:
+--
+--Should use integer? n and even? integer n instead.
+--
+--I toyed with the idea of implementing:
+-- even? x == integer? x and even? integer x
+-- odd? x == integer? x and odd? integer x
+--in EXPR, but this would mean that (x +-> even? x or odd? x) is not always
+--true anymore and I'm not sure it's a good idea. If you guys don't think it's
+--a problem, it takes 2 minutes to add it to EXPR R when R has RETRACT INT
+--(don't use integer? but retractIfCan@Union(Integer, "failed")).
+
+-------------------------------------------------------------------
+-- copper@yktvmv.vnet.ibm.com/02/22/94 don coppersmith
+-------------------------------------------------------------------
+)clear all
+--Questions that came up using Axiom on Aixproj:
+--
+--How does one find a Pade approximation? I tried pade(2,2,y)
+--pade(y,2,2) Pade(2,2,y) PadeApproximation(2,2,y)
+--(where y is a series in x) to no avail.
+--
+--Complaint: The error message
+--
+-- Could not find library function "pade" with arguments
+-- (integer, integer, series).
+--
+--is misleading. If it can't find any "pade", then say
+--
+-- Could not find library function "pade".
+--
+--If there is such a function, but I've got the arguments wrong,
+--why not say
+--
+-- The library function "pade" takes arguments
+-- (series, integer, integer)
+--
+--or at least make that information available somehow.
+--
+-- from bob sutor:
+--
+--Don,
+-- Try using )what op pade to see what is available. This will give
+--you all operations with "pade" in their names. You can also search for
+--*pade* via the HyperDoc Browse utility. If you don't use Browse, following
+--up with, say, )display op pade, will give you a more information, though
+--it is badly formatted (I will look at that).
+--
+--Aixproj is back-level, so I'm not sure exactly what is up their
+--relative to the current system.
+--
+--I agree we could use better messages regarding unknown functions
+--and I will look at that.
+-- Bob
+--
+-- from bob sutor:
+--
+--The pade operation requires a taylor series as its third object while
+--"series" returns a UnivariatePuiseuxSeries. If you set
+-- y := taylor(1+x)**(1/5)
+--then things work. You can also do
+-- pade(1,1,y :: UTS(EXPR INT, x, 0) )
+--but this is more work if you really have a Taylor series.
+--
+--This is unintuitive and there should be a "pade" for Puiseux series that
+--fails if the series is not appropriate. Barry? I will now look at adding
+--a bit more coercion support to the interpreter to allow Puiseux series
+--to possibly retract to Laurent series and then possibly to Taylor series.
+--
+--Don,
+-- I added the retractions I mentioned before to the development system.
+--When the system is unsuccessful in matching a UnivariatePuiseuxSeries
+--to an operation, it will first try to retract it to a
+--UnivariateLaurentSeries. If that fails still, it will try to retract to
+--a UnivariateTaylorSeries.
+--
+-- Be aware that this sort of thing happens when you are evaluating
+--an expression. If you are defining a function, you should add
+--explicit coercions or create objects of the correct type for
+--efficiency. You function may still work, but it may not run in
+--a compiled form.
+
+-------------------------------------------------------------------
+-- barry@num-alg-grp.co.uk/02/24/94 Barry Trager
+-------------------------------------------------------------------
+)clear all
+sqrt(2)*2.0 -- fails
+sqrt(2)::EXPR INT * 2.0 -- works
+
+-- tpd: this now fails with sample : () -> Reference Integer is missing
+-- from domain: Integer
+-- Internal Error
+
+
+-------------------------------------------------------------------
+-- bronstei@inf.ethz.ch/02/28/94 Manuel Bronstein
+-------------------------------------------------------------------
+)clear all
+f := exp(exp(x)*exp(1/exp(x))) / exp exp x
+--)tr LIMITPS )math
+--)tr DFINTTLS )math
+--)tr DFINTTLS_;findLimit
+-- the following exits back to the shell after limit returns "failed":
+computeInt(first tower f, f, 0, %plusInfinity, false)$DFINTTLS(INT, EXPR INT)
+
+-------------------------------------------------------------------
+-- jhd@maths.bath.ac.uk/03/02/94 James Davenport
+-------------------------------------------------------------------
+)clear all
+--I've fixed coercions of List and Vector to DirectProduct.
+--You can now do things like
+[1,2,3] :: DirectProduct(3, Fraction Integer)
+--
+--I also fixed coercions from Vector to List, which seems to have
+--been removed via a library change.
+
+-------------------------------------------------------------------
+-- jhd@maths.bath.ac.uk/03/09/94 James Davenport
+-------------------------------------------------------------------
+)clear all
+-- used to give a lisp error
+x**10+1::Polynomial PrimeField 2
+
+-------------------------------------------------------------------
+-- themos@num-alg-grp.co.uk/03/11/94 Themos Tsikas
+-------------------------------------------------------------------
+)clear all
+f(x)==x**2
+draw(f,-1..1)
+
+-------------------------------------------------------------------
+-- themos@num-alg-grp.co.uk/03/16/94 Themos Tsikas
+-------------------------------------------------------------------
+)clear all
+--The problem was that nobody was around to catch the coerceOrCroaker.
+--Just comment out the first line of intCodeGenCoerce1 in i-code.boot
+--(the one with the explicit THROW). Bothe the riemannSphereDraw and JHD's
+--original example will then work. -- bob sutor
+)read conformal
+riemannSphereDraw(1..2,0..%pi,4,4,"polar")
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/float.input.pamphlet b/src/input/float.input.pamphlet
new file mode 100644
index 00000000..3625fd0c
--- /dev/null
+++ b/src/input/float.input.pamphlet
@@ -0,0 +1,44 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input float.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- this demonstrates Floats and the result of changing precision
+)cl all
+-- look at 28 digits of accuracy (default is 20)
+digits 28
+p := numeric %pi
+a := 163.0
+b := sqrt a
+-- following appears to be an integer
+exp(p * b)
+-- increase the precision to 60 and recalculate
+digits 60
+p := numeric %pi
+a := 163.0
+b := sqrt a
+exp(p * b)
+c := cos(p/12)
+-- we have enough precision to get 0 in following
+16*c**4 - 16*c**2 + 1
+-- look at PI to 200 places
+numeric(%pi, 200)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/float1.input.pamphlet b/src/input/float1.input.pamphlet
new file mode 100644
index 00000000..c050e21a
--- /dev/null
+++ b/src/input/float1.input.pamphlet
@@ -0,0 +1,75 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input FLOAT.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from FloatXmpPage
+)clear all
+
+
+-- Input generated from ugxFloatIntroPage
+)clear all
+
+1.234
+1.234E2
+sqrt(1.2 + 2.3 / 3.4 ** 4.5)
+
+-- Input generated from ugxFloatConvertPage
+)clear all
+
+i := 3 :: Float
+i :: Integer
+i :: Fraction Integer
+r := 3/7 :: Float
+r :: Fraction Integer
+r :: Integer
+truncate 3.6
+round 3.6
+truncate(-3.6)
+round(-3.6)
+fractionPart 3.6
+digits 40
+sqrt 0.2
+pi()$Float
+digits 500
+pi()$Float
+digits 20
+
+-- Input generated from ugxFloatOutputPage
+)clear all
+
+outputSpacing 0; x := sqrt 0.2
+outputSpacing 5; x
+y := x/10**10
+outputFloating(); x
+outputFixed(); y
+outputFloating 2; y
+outputFixed 2; x
+outputGeneral()
+
+-- Input generated from ugxFloatHilbertPage
+)clear all
+
+a: Matrix Fraction Integer := matrix [[1/(i+j+1) for j in 0..9] for i in 0..9]
+d:= determinant a
+d :: Float
+b: Matrix DoubleFloat := matrix [[1/(i+j+1$DoubleFloat) for j in 0..9] for i in 0..9];
+determinant b
+digits 40
+c: Matrix Float := matrix [[1/(i+j+1$Float) for j in 0..9] for i in 0..9];
+determinant c
+digits 20
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/float2.input.pamphlet b/src/input/float2.input.pamphlet
new file mode 100644
index 00000000..605fc8ce
--- /dev/null
+++ b/src/input/float2.input.pamphlet
@@ -0,0 +1,68 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input float2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+\eject
+<<*>>=
+<<license>>
+
+f := 2.0/3
+log exp f
+asin sin f
+acos cos f
+atan tan f
+asinh sinh f
+acosh cosh f
+atanh tanh f
+sqrt(f**2)
+4*atan(1.0)-%pi
+log exp1()
+exp log2()
+exp log10()
+
+f := 100.0/7
+exp log f
+sqrt(f**2)
+sin(f)**2+cos(f)**2
+sinh(f)**2-cosh(f)**2
+truncate f
+round f
+fractionPart f
+ceiling f
+floor f
+wholePart f
+
+digits 50
+f := 1.0/3
+exp log f
+asin sin f
+acos cos f
+atan tan f
+asinh sinh f
+acosh cosh f
+atanh tanh f
+log exp1()
+sin numeric %pi
+exp log2()
+exp log10()
+
+f := 1024.0
+log2 f
+f := 1000.0
+log10 f
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fname.input.pamphlet b/src/input/fname.input.pamphlet
new file mode 100644
index 00000000..d37a83a4
--- /dev/null
+++ b/src/input/fname.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input fname.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)system touch /tmp/reado
+)system chmod +r,-w /tmp/reado
+)system touch /tmp/writo
+)system chmod +w,-r /tmp/writo
+
+nullo: FNAME := new("", "nullo", "x")
+reado: FNAME := filename("/tmp", "reado", "")
+writo: FNAME := "/tmp/writo"
+
+[directory reado, name reado, extension reado]
+[directory writo, name writo, extension writo]
+[directory nullo, name nullo, extension nullo]
+
+[exists? reado, readable? reado, writable? reado]
+[exists? writo, readable? writo, writable? writo]
+[exists? nullo, readable? nullo, writable? nullo]
+
+)system rm -f /tmp/reado
+)system rm -f /tmp/writo
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fname1.input.pamphlet b/src/input/fname1.input.pamphlet
new file mode 100644
index 00000000..b0cbe49d
--- /dev/null
+++ b/src/input/fname1.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input FNAME.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from FileNameXmpPage
+)clear all
+
+fn: FileName
+fn := "/spad/src/input/fname.input"
+directory fn
+name fn
+extension fn
+fn := filename("/u/smwatt/work", "fname", "input")
+objdir := "/tmp"
+fn := filename(objdir, "table", "spad")
+fn := filename("", "letter", "")
+exists? "/etc/passwd"
+readable? "/etc/passwd"
+readable? "/etc/security/passwd"
+readable? "/ect/passwd"
+writable? "/etc/passwd"
+writable? "/dev/null"
+writable? "/etc/DoesNotExist"
+writable? "/tmp/DoesNotExist"
+fn := new(objdir, "xxx", "yy")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fnla.input.pamphlet b/src/input/fnla.input.pamphlet
new file mode 100644
index 00000000..8dbb179c
--- /dev/null
+++ b/src/input/fnla.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input fnla.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+
+fnl := FNLA(4,4,INT)
+
+dimension()$fnl
+
+x:fnl := generator(1)
+y:fnl := generator(17)
+z:=x*y
+
+deepExpand z
+shallowExpand z
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fns.input.pamphlet b/src/input/fns.input.pamphlet
new file mode 100644
index 00000000..b183a586
--- /dev/null
+++ b/src/input/fns.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input fns.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page ExampleFunctions
+)clear all
+
+odd(i) == 2*i - 1
+[odd(i) for i in 1..10]
+odd == i +-> 2*i - 1
+odd(1111)
+[i for i in 2.. | prime? i]
+primes := /
+primes == [p := nextPrime(i = 0 => 2; p) for i in 1..]
+primes
+primes(20)
+firstPrimes(n) == [primes(i) for i in 1..n]
+firstPrimes(25)
+primesLessThan(n) == [p for p in primes while p < n]
+primesLessThan 1000
+isPrime? n == reduce(or,[n = p for p in primes while n <= p])
+isPrime?(1111)
+twins := [p,p+2 for p in primes | prime?(p+2)]
+twins := [p, p+2 for i in 1.. | (p := primes(i)) + 2 = primes(i+1)]
+firsts := [p for i in 1.. | (p := primes(i)) + 2 = primes(i+1)]
+twins := [p, p + 2 for p in firsts]
+twins(i) ==firsts(i),2 + firsts(i)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/folium.input.pamphlet b/src/input/folium.input.pamphlet
new file mode 100644
index 00000000..953ded16
--- /dev/null
+++ b/src/input/folium.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input folium.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)folium.input 1.1 89/09/07 20:54:58
+draw(curve((t**2-1)/(3*t**2+1),t*(t**2-1)/(3*t**2+1)),t = -3..3, [title "Folium of Descartes"])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fparfrac.input.pamphlet b/src/input/fparfrac.input.pamphlet
new file mode 100644
index 00000000..66cd3f73
--- /dev/null
+++ b/src/input/fparfrac.input.pamphlet
@@ -0,0 +1,61 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input fparfrac.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+---------------------------- fparfrac.input ---------------------------------
+-- This file demonstrates the factor-free conversion to full partial fractions.
+)cl all
+Q := FRAC INT
+Px := UP(x, Q)
+Fx := FRAC Px
+
+-- here is a simple-looking function
+f:Fx := 36 / (x**5-2*x**4-2*x**3+4*x**2+x-2)
+-- use fullPartialFraction to convert to the type FPARFRAC
+g := fullPartialFraction f
+-- use :: to convert back to a rational function
+g::Fx
+
+-- Full partial fractions differentiate faster than rational functions:
+g5 := D(g, 5)
+f5 := D(f, 5)
+-- check that the two forms represent the same function
+g5::Fx - f5
+
+-- Here are more complicated examples:
+f:Fx := (x**5 * (x-1)) / ((x**2 + x + 1)**2 * (x-2)**3)
+g := fullPartialFraction f
+g::Fx - f
+
+f:Fx := (2*x**7-7*x**5+26*x**3+8*x)/(x**8-5*x**6+6*x**4+4*x**2-8)
+g := fullPartialFraction f
+g::Fx - f
+
+f:Fx := x**3/(x**21+2*x**20+4*x**19+7*x**18+10*x**17+17*x**16+22*x**15+30*x**14
+ +36*x**13+40*x**12+47*x**11+46*x**10+49*x**9+43*x**8+38*x**7
+ +32*x**6+23*x**5+19*x**4+10*x**3+7*x**2+2*x+1)
+g := fullPartialFraction f
+-- this verification takes much longer than the conversion to partial fractions
+g::Fx - f
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fparfrc.input.pamphlet b/src/input/fparfrc.input.pamphlet
new file mode 100644
index 00000000..4fe76e5b
--- /dev/null
+++ b/src/input/fparfrc.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input FPARFRAC.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from FullPartialFractionExpansionXmpPage
+)clear all
+
+Fx := FRAC UP(x, FRAC INT)
+f : Fx := 36 / (x**5-2*x**4-2*x**3+4*x**2+x-2)
+g := fullPartialFraction f
+g :: Fx
+g5 := D(g, 5)
+f5 := D(f, 5)
+g5::Fx - f5
+f : Fx := (x**5 * (x-1)) / ((x**2 + x + 1)**2 * (x-2)**3)
+g := fullPartialFraction f
+g :: Fx - f
+f : Fx := (2*x**7-7*x**5+26*x**3+8*x) / (x**8-5*x**6+6*x**4+4*x**2-8)
+g := fullPartialFraction f
+g :: Fx - f
+f:Fx := x**3 / (x**21 + 2*x**20 + 4*x**19 + 7*x**18 + 10*x**17 + 17*x**16 + 22*x**15 + 30*x**14 + 36*x**13 + 40*x**12 + 47*x**11 + 46*x**10 + 49*x**9 + 43*x**8 + 38*x**7 + 32*x**6 + 23*x**5 + 19*x**4 + 10*x**3 + 7*x**2 + 2*x + 1)
+g := fullPartialFraction f
+g :: Fx - f
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fr.input.pamphlet b/src/input/fr.input.pamphlet
new file mode 100644
index 00000000..bd276d0b
--- /dev/null
+++ b/src/input/fr.input.pamphlet
@@ -0,0 +1,110 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input fr.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- Manipulation of factored integers
+)clear all
+
+(x,y,z,w): FR INT
+-- automatic coercion of integers to factored integers
+x := 2**8 * 78**7 * 111**3 * 74534
+y := 2**4 * 45**3 * 162**6 * 774325
+-- computation of 50!
+z1 := factorial 50
+z := z1 :: (FR INT)
+-- examine the structure if a factor
+nthFactor(z,1)
+nthFlag(z,1)
+nthExponent(z,1)
+-- extract the factors in another form
+factorList z
+-- construct an object that has the factors to multiplicity one
+r:=reduce(*,[(nthFactor(z,i) :: (FR INT)) for i in 1..(numberOfFactors z)])
+-- some arithmetic
+exquo(z,r)
+x*y
+y*x
+(x*y = y*x) :: BOOLEAN
+gcd(x,z)
+x+y
+-- this is how you multiply the terms together
+expand(x+y)
+-- now look at quotients
+f := x/y
+g := (x ** 9) / y
+f * g
+(f * g) / (g * primeFactor(2,200))
+(f * g) / (g * primeFactor(2,200)) * z
+
+
+--% Manipulation of factored polynomials
+)clear all
+)set history on
+
+(u,v,w): FR POLY INT
+
+-- coercion to FR POLY INT involves factoring
+u := (x**4 - y**4) :: POLY INT
+-- primeFactor creates factors that are asserted to be prime
+v := primeFactor(x-y,2) * primeFactor(x+y,2) * primeFactor(x**2 + y**2,1)
+w := factor(x**2 + 2*x*y + 2*x + 2*y + y**2 + 1) * primeFactor(x-y,2)
+unit w
+-- some ways of looking at the components of an elements of FR P I
+l := factorList u
+factorList v
+factorList w
+l.1.fctr
+l.1.xpnt
+nthFactor(u,1)
+nthFactor(u,2)
+nthFactor(u,3)
+nthExponent(u,3)
+nthFlag(u,3)
+nthFactor(u,4)
+-- this computes a factored object that is similar to v except that
+-- each factor occurs with multiplicity 1
+s:=reduce(*,[(nthFactor(v,i) :: FR POLY INT) for i in 1..(numberOfFactors v)])
+-- some arithmetic
+exquo(v,s)
+gcd(u,v)
+u + v
+lcm(v,w)
+u * v * w
+-- "expand" multiplies the factors together
+expand(u * v * w)
+-- some quotients
+u/w
+w/(u*v)
+-- %%(-1) is the last result, %%(-2) is the one before that
+w/(u*v) * u/w
+w/(u*v) + u/w
+
+differentiate(w,x)
+differentiate(w,y)
+
+associates?(x,-x)
+
+characteristic()$FR POLY INT
+
+1$FR POLY INT
+0$FR POLY INT
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fr1.input.pamphlet b/src/input/fr1.input.pamphlet
new file mode 100644
index 00000000..151b6fb2
--- /dev/null
+++ b/src/input/fr1.input.pamphlet
@@ -0,0 +1,80 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input FR.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from FactoredXmpPage
+)clear all
+
+
+-- Input generated from ugxFactoredDecompPage
+)clear all
+
+g := factor(4312)
+unit(g)
+numberOfFactors(g)
+[nthFactor(g,i) for i in 1..numberOfFactors(g)]
+[nthExponent(g,i) for i in 1..numberOfFactors(g)]
+[nthFlag(g,i) for i in 1..numberOfFactors(g)]
+factorList(g)
+factors(g)
+first(%).factor
+
+-- Input generated from ugxFactoredExpandPage
+)clear all
+
+g := factor(4312)
+expand(g)
+reduce(*,[t.factor for t in factors(g)])
+
+-- Input generated from ugxFactoredArithPage
+)clear all
+
+g := factor(4312)
+f := factor(246960)
+f * g
+f**500
+gcd(f,g)
+lcm(f,g)
+f + g
+f - g
+zero?(factor(0))
+zero?(g)
+one?(factor(1))
+one?(f)
+0$Factored(Integer)
+1$Factored(Integer)
+
+-- Input generated from ugxFactoredNewPage
+)clear all
+
+nilFactor(24,2)
+nthFlag(%,1)
+sqfrFactor(30,2)
+irreducibleFactor(13,10)
+primeFactor(11,5)
+h := factor(-720)
+h - makeFR(unit(h),factorList(h))
+
+-- Input generated from ugxFactoredVarPage
+)clear all
+
+p := (4*x*x-12*x+9)*y*y + (4*x*x-12*x+9)*y + 28*x*x - 84*x + 63
+fp := factor(p)
+D(p,x)
+D(fp,x)
+numberOfFactors(%)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/fr2.input.pamphlet b/src/input/fr2.input.pamphlet
new file mode 100644
index 00000000..ff7407f3
--- /dev/null
+++ b/src/input/fr2.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input FR2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from FactoredFunctionsTwoXmpPage
+)clear all
+
+double(x) == x + x
+f := factor(720)
+map(double,f)
+makePoly(b) == x + b
+g := map(makePoly,f)
+nthFlag(g,1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/frac.input.pamphlet b/src/input/frac.input.pamphlet
new file mode 100644
index 00000000..d1d5fbe2
--- /dev/null
+++ b/src/input/frac.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input FRAC.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from FractionXmpPage
+)clear all
+
+a := 11/12
+b := 23/24
+3 - a*b**2 + a + b/a
+numer(a)
+denom(b)
+r := (x**2 + 2*x + 1)/(x**2 - 2*x + 1)
+factor(r)
+map(factor,r)
+continuedFraction(7/12)
+partialFraction(7,12)
+g := 2/3 + 4/5*%i
+g :: FRAC COMPLEX INT
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/function.input.pamphlet b/src/input/function.input.pamphlet
new file mode 100644
index 00000000..1fe79640
--- /dev/null
+++ b/src/input/function.input.pamphlet
@@ -0,0 +1,89 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input function.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page RationatFunctionPage
+)clear all
+
+f := (x - y) / (x + y)
+numer f
+denom f
+eval(f, x = 1/x)
+eval(f, [x = y, y = x])
+
+-- Input for page AlgebraicFunctionPage
+)clear all
+
+f := sqrt(1 + x ** (1/3))
+y := rootOf(y**3 + y**2 - x*y + x**3 - 1, y)
+differentiate(y, x)
+(y + 1) ** 3
+g := inv f
+ratForm g
+
+-- Input for page OperatorPage
+)clear all
+
+R := SQMATRIX(2, INT)
+t := operator("tilde")::OP(R)
+evaluate(t, m +-> transpose m)
+s:R := matrix [[0, 1], [1, 0]]
+rho := t * s
+z := rho**4 - 1
+m:R := matrix [[1, 2], [3, 4]]
+z m
+rho m
+rho rho m
+(rho**3) m
+b := t * s - s * t
+b m
+)read opalg
+
+-- Input for page ElementaryFunctionPage
+)clear all
+
+f := x * log y * sin(1/(x+y))
+eval(f, [x = y, y = x])
+eval(f, log y = acosh(x + sqrt y))
+
+-- Input for page FunctionSimplificationPage
+)clear all
+
+f := cos(x)/sec(x) * log(sin(x)**2/(cos(x)**2+sin(x)**2))
+g := simplify f
+h := sin2csc cos2sec g
+expandLog h
+f1 := sqrt((x+1)**3)
+rootSimp f1
+g1 := sin(x + cos x)
+g2 := complexElementary g1
+trigs g2
+h1 := sinh(x + cosh x)
+h2 := realElementary h1
+htrigs h2
+
+-- Input for page PatternMatchingPage
+)clear all
+
+groupSqrt := _rule(sqrt(a) * sqrt(b), sqrt(a*b))
+a := sqrt(2) * sqrt(3)
+groupSqrt a
+a := (sqrt(x) + sqrt(y))**4
+groupSqrt a
+)read sinCosEx
+sinCosExpand(sin(x+y-2*z) * cos y)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/galois.input.pamphlet b/src/input/galois.input.pamphlet
new file mode 100644
index 00000000..8140df87
--- /dev/null
+++ b/src/input/galois.input.pamphlet
@@ -0,0 +1,50 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input galois.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page GaloisGroupPage
+)clear all
+
+p := x**5 - 5*x + 12
+q := resultant(eval(p,x,y),-eval(p,x,y-x),y)
+q1 := exquo(q, x**5)
+factoredQ := factor q1
+r := nthFactor(factoredQ,1)
+beta := rootOf(eval(r,x,b))
+p := p::UP(x,INT)::UP(x,AN)
+algFactors := factor(p,[beta])
+factor(p)
+factor1 := nthFactor(algFactors,1)
+root1 := -coefficient(factor1,0)
+roots := [-coefficient(nthFactor(algFactors,i),0) for i in 1..5]
+(a1,a2,a3,a4,a5) := (roots.1,roots.2,roots.3,roots.4,roots.5)
+eval(r,x,a1 - a2)
+eval(r,x,a1 - a3)
+eval(r,x,a1 - a4)
+eval(r,x,a1 - a5)
+bb := a1 - a4
+aa1 := subst(a1,beta = bb)
+aa2 := subst(a2,beta = bb)
+aa3 := subst(a3,beta = bb)
+aa4 := subst(a4,beta = bb)
+aa5 := subst(a5,beta = bb)
+(aa1 = a1) :: Boolean
+(aa1 = a2) :: Boolean
+(aa1 = a3) :: Boolean
+(aa1 = a4) :: Boolean
+(aa1 = a5) :: Boolean
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/gary1.input.pamphlet b/src/input/gary1.input.pamphlet
new file mode 100644
index 00000000..1e3e3eb1
--- /dev/null
+++ b/src/input/gary1.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input gary1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)gary1.input 1.1 89/09/07 20:55:01
+draw(curve(cos(4*t)*cos(7*t),cos(4*t)*sin(7*t)),t = 0..2*%pi,[title "Greetings!"])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/gbf.input.pamphlet b/src/input/gbf.input.pamphlet
new file mode 100644
index 00000000..fbecd1a4
--- /dev/null
+++ b/src/input/gbf.input.pamphlet
@@ -0,0 +1,25 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input GBF.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from GroebnerFactorizationPackageXmpPage
+)clear all
+
+mfzn : SQMATRIX(6,DMP([x,y,z],Fraction INT)) := [[0,1,1,1,1,1], [1,0,1,8/3,x,8/3], [1,1,0,1,8/3,y], [1,8/3,1,0,1,8/3], [1,x,8/3,1,0,1], [1,8/3,y,8/3,1,0]]
+eq := determinant mfzn
+groebnerFactorize [eq, eval(eq, [x,y,z], [y,z,x]), eval(eq, [x,y,z], [z,x,y])]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/genups.input.pamphlet b/src/input/genups.input.pamphlet
new file mode 100644
index 00000000..c27f21e7
--- /dev/null
+++ b/src/input/genups.input.pamphlet
@@ -0,0 +1,96 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input genups.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+
+taylor(n +-> 1/factorial(n),x = 0) -- expansion of exp(x) at x = 0
+taylor(n +-> (-1)**(n-1)/n,x = 1,1..) -- expansion of log(x) at x = 1
+taylor(n +-> (-1)**(n-1)/n,x = 1,1..6) -- truncated expansion of log(x)
+
+laurent(m +-> m**2,x = 7,-2..) -- infinite Laurent expansion
+laurent(m +-> m**2,x = 7,-2..5) -- finite Laurent expansion
+
+puiseux(i +-> (-1)**((i-1)/2)/factorial(i),x = 0,1..,2) -- sin(x) at x = 0
+puiseux(i +-> (-1)**(i/2)/factorial(i),x = 0,0..,2) -- cos(x) at x = 0
+-- puiseux(i +-> (-1)**((i-1)/2)/factorial(i),x = 0,1..9,2) -- truncated sin(x)
+-- interpretor needs help here
+puiseux(i +-> (-1)**((i-1)/2)/factorial(i),x = 0,1..9/1,2) -- truncated sin(x)
+
+puiseux(j +-> j,x = 8,-4/3..,1/2)
+puiseux(j +-> j,x = 8,-4/3..1/6,1/2)
+
+-- same computations using expressions instead of functions
+
+taylor(1/factorial(n),n,x = 0) -- expansion of exp(x) at x = 0
+taylor((-1)**(n-1)/n,n,x = 1,1..) -- expansion of log(x) at x = 1
+taylor((-1)**(n-1)/n,n,x = 1,1..6) -- truncated expansion of log(x)
+
+laurent(m**2,m,x = 7,-2..) -- infinite Laurent expansion
+laurent(m**2,m,x = 7,-2..5) -- finite Laurent expansion
+
+puiseux((-1)**((i-1)/2)/factorial(i),i,x = 0,1..,2) -- sin(x) at x = 0
+puiseux((-1)**(i/2)/factorial(i),i,x = 0,0..,2) -- cos(x) at x = 0
+-- puiseux((-1)**((i-1)/2)/factorial(i),i,x = 0,1..9,2) -- truncated sin(x)
+-- interpretor needs help here
+puiseux((-1)**((i-1)/2)/factorial(i),i,x = 0,1..9/1,2) -- truncated sin(x)
+
+puiseux(j,j,x = 8,-4/3..,1/2)
+puiseux(j,j,x = 8,-4/3..1/6,1/2)
+
+-- all of the above commands should still work when the functions 'taylor',
+-- 'laurent', and 'puiseux' are replaced by 'series':
+
+series(n +-> 1/factorial(n),x = 0) -- expansion of exp(x) at x = 0
+series(n +-> (-1)**(n-1)/n,x = 1,1..) -- expansion of log(x) at x = 1
+series(n +-> (-1)**(n-1)/n,x = 1,1..6) -- truncated expansion of log(x)
+
+series(m +-> m**2,x = 7,-2..) -- infinite Laurent expansion
+series(m +-> m**2,x = 7,-2..5) -- finite Laurent expansion
+
+series(i +-> (-1)**((i-1)/2)/factorial(i),x = 0,1..,2) -- sin(x) at x = 0
+series(i +-> (-1)**(i/2)/factorial(i),x = 0,0..,2) -- cos(x) at x = 0
+-- series(i +-> (-1)**((i-1)/2)/factorial(i),x = 0,1..9,2) -- truncated sin(x)
+-- interpretor needs help here
+series(i +-> (-1)**((i-1)/2)/factorial(i),x = 0,1..9/1,2) -- truncated sin(x)
+
+series(j +-> j,x = 8,-4/3..,1/2)
+series(j +-> j,x = 8,-4/3..1/6,1/2)
+
+-- same computations using expressions instead of functions
+
+series(1/factorial(n),n,x = 0) -- expansion of exp(x) at x = 0
+series((-1)**(n-1)/n,n,x = 1,1..) -- expansion of log(x) at x = 1
+series((-1)**(n-1)/n,n,x = 1,1..6) -- truncated expansion of log(x)
+
+series(m**2,m,x = 7,-2..) -- infinite Laurent expansion
+series(m**2,m,x = 7,-2..5) -- finite Laurent expansion
+
+series((-1)**((i-1)/2)/factorial(i),i,x = 0,1..,2) -- sin(x) at x = 0
+series((-1)**(i/2)/factorial(i),i,x = 0,0..,2) -- cos(x) at x = 0
+-- series((-1)**((i-1)/2)/factorial(i),i,x = 0,1..9,2) -- truncated sin(x)
+-- interpretor needs help here
+series((-1)**((i-1)/2)/factorial(i),i,x = 0,1..9/1,2) -- truncated sin(x)
+
+series(j,j,x = 8,-4/3..,1/2)
+series(j,j,x = 8,-4/3..1/6,1/2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/gnarly1.input.pamphlet b/src/input/gnarly1.input.pamphlet
new file mode 100644
index 00000000..b90370cd
--- /dev/null
+++ b/src/input/gnarly1.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input gnarly1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+draw(surface(cos(t)/(1+sin(t)**2),sin(t)*cos(t)*cos(u)/(1+sin(t)**2),
+ sin(t)*cos(t)*sin(u)/(1+sin(t)**2)),t = -%pi..%pi,u = 0..%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/gonshor.input.pamphlet b/src/input/gonshor.input.pamphlet
new file mode 100644
index 00000000..51f08777
--- /dev/null
+++ b/src/input/gonshor.input.pamphlet
@@ -0,0 +1,218 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input gonshor.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+------------- Some examples of algebras in genetics -------------
+
+-- Literature:
+-- [WB] A. Woerz-Busekros: Algebras in Genetics, LNB 36,
+-- Springer-Verlag, Berlin etc. 1980.
+
+
+
+--------------- Commutative, non-associative algebras --
+
+
+
+-- A Gonshor genetic algebra ([WB], p. 41-42) of dimension 4:
+-- =========================================================
+
+)clear all
+
+-- The coefficient ring:
+R := FRAC POLY INT
+
+-- The following multiplication constants may be chosen arbitrarily
+-- (notice that we write ckij for c_(i,j)^k):
+
+(c100, c101, _
+c200, c201, c202, c211, _
+c300, c301, c302, c303, c311, c312, c322) : R
+
+----------------------------------------------------------------
+c100 := 1 ; c101 := -1 ;
+----------------------------------------------------------------
+c200 := 0 ; c201 := 1 ; c202 := -1 ;
+ c211 := 2 ;
+----------------------------------------------------------------
+c300 := 1 ; c301 := 0 ; c302 := -1 ; c303 := 1 ;
+ c311 := 1 ; c312 := 0 ;
+ c322 := 2 ;
+----------------------------------------------------------------
+
+-- The matrices of the multiplication constants:
+
+gonshor : List SquareMatrix(4,R) :=
+ [matrix [ [1, 0, 0, 0], [0, 0, 0, 0],_
+ [0, 0, 0, 0], [0, 0, 0, 0] ],_
+ matrix [ [c100, c101, 0, 0], [c101, 0, 0, 0],_
+ [0, 0, 0, 0], [0, 0, 0, 0] ],_
+ matrix [ [c200, c201, c202, 0], [c201, c211, 0, 0],_
+ [c202, 0, 0, 0], [0, 0, 0, 0] ],_
+ matrix [ [c300, c301, c302, c303], [c301, c311, c312, 0],_
+ [c302, c312, c322, 0], [c303, 0, 0, 0] ] ] ;
+
+
+basisSymbols : List Symbol := [subscript(e,[i]) for i in 0..3]
+
+GonshorGenetic := ALGSC(R, 4, basisSymbols, gonshor)
+
+commutative?()$GonshorGenetic
+associative?()$GonshorGenetic
+
+-- The canonical basis:
+e0 : GonshorGenetic := [1, 0, 0, 0] :: Vector R ;
+e1 : GonshorGenetic := [0, 1, 0, 0] :: Vector R ;
+e2 : GonshorGenetic := [0, 0, 1, 0] :: Vector R ;
+e3 : GonshorGenetic := [0, 0, 0, 1] :: Vector R ;
+
+
+-- A generic element of the algebra:
+x : GonshorGenetic := x0*e0 + x1*e1 + x2*e2 + x3*e3
+
+-- The matrix of the left multiplication with x :
+Lx := leftRegularRepresentation x
+
+-- leftRegularRepresentationt 8 : GonshorGenetic -> R be the weight homomorphism
+-- defined by 8(e0) := 1 and 8(ei) := 0 for i = 1,2,3 .
+-- The coefficients of the characteristic polynomial
+-- of Lx depend only on 8(x) = x0 :
+p := characteristicPolynomial(Lx,Y)
+
+-- The left minimal polynomial of x divides Y * p(Y) :
+leftMinimalPolynomial x
+
+
+)clear prop A a b c r s
+A := GonshorGenetic
+a := x
+b := (1/4)*e1 + (1/5)*e2 + (3/20)*e3 + (2/5)*e0
+c := (1/3)*e1 + (1/7)*e2 + (8/21)*e3 + (1/7)*e0
+r : R := r
+s : R := s
+
+b*c
+(b*c)*b
+b*(c*b)
+
+-- A: Algebra
+-- a,b,c : A
+-- r,s : R
+
+)clear prop AP
+AP := ALGPKG(R,A)
+
+r*a
+a*r
+
+a*b
+b*c
+
+12 * c
+(-3) * a
+
+d := a ** 12
+-d
+
+a + b
+d-c
+
+(a*(a*a) = leftPower(a,3)) :: Boolean
+(a ** 11 = (a**8 * a**2) * a) :: Boolean
+(a ** 11 = a**8 * (a**2 * a)) :: Boolean
+
+
+zero := 0$A
+zero : A := 0
+
+alternative?()$A
+antiCommutative?()$A
+associative?()$A
+commutative?()$A
+
+commutator(a,b)
+antiCommutator(a,b)
+associator(a,b,c)
+basis()$A
+
+n := rank()$A
+v : Vector R := [i for i in 1..n]
+g : A := represents v
+
+coordinates a
+coordinates [a,b]
+
+a.3
+
+flexible?()$A
+leftAlternative?()$A
+
+rightAlternative?()$A
+sB := someBasis()$A
+zero? a
+associatorDependence()$A
+--conditionsForIdempotents()$A
+jacobiIdentity?()$A
+jordanAlgebra?()$A
+jordanAdmissible?()$A
+lieAdmissible?()$A
+--conditionsForIdempotents sB
+b2 := [reduce(+,[sB.i for i in 1..k]) for k in 1..n]
+coordinates (a ,b2 :: Vector A)
+coordinates ([a,b] ,bb := (b2 :: Vector A))
+leftMinimalPolynomial a
+leftPower (a,10)
+rightPower(a,10)
+leftRegularRepresentation a
+leftRegularRepresentation (a,bb)
+leftUnit()$A
+represents (v,bb)
+rightMinimalPolynomial a
+rightRegularRepresentation a
+rightRegularRepresentation (a,bb)
+rightUnit()$A
+structuralConstants()$A
+structuralConstants(bb)
+unit()$A
+
+
+-- functions from ALGPKG
+
+biRank a
+leftRank a
+doubleRank a
+rightRank a
+weakBiRank a
+
+
+basisOfCenter()$AP
+basisOfLeftNucleus()$AP
+basisOfNucleus()$AP
+basisOfRightNucleus()$AP
+basisOfCentroid()$AP
+basisOfCommutingElements()$AP
+basisOfLeftNucloid()$AP
+basisOfMiddleNucleus()$AP
+basisOfRightNucloid()$AP
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/graphics.input.pamphlet b/src/input/graphics.input.pamphlet
new file mode 100644
index 00000000..841bced2
--- /dev/null
+++ b/src/input/graphics.input.pamphlet
@@ -0,0 +1,102 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input graphics.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page OneVariableGraphicsExamplePage
+)clear all
+
+draw(sin tan x - tan sin x, x = 0..6)
+draw(sin x + cos x, x = 0..2*%pi)
+draw(sin(1/x), x = -1..1)
+draw(x * sin(1/x), x = -1..1)
+All
+
+-- Input for page ViewportPage
+)clear all
+
+v := draw(x*x-y*y,x=-1..1,y=-1..1)
+write(v,"saddle","pixmap")
+
+-- Input for page ImplicitCurveGraphicsExamplePage
+)clear all
+
+draw(x * y = 1, x, y, range == [-3..3, -3..3])
+draw(y**2 + y = x**3 - x, x, y, range == [-2..2, -2..1])
+p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)
+draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")
+q := (x**2 + y**2 + 7**2)**2 - (6**4 + 4*7**2*x**2)
+draw(q = 0, x, y, range == [-10..10, -4..4], title == "Cassinian oval with two loops")
+All
+
+-- Input for page OneVariableGraphicsPage
+)clear all
+
+draw(sin(tan(x)) - tan(sin(x)),x = 0..6)
+draw(sin(tan(x)) - tan(sin(x)),x = 10..16,title == "y = sin tan x - tan sin x")
+f(x) == (x-1)*(x-2)*(x-3)
+draw(f, 0..2, title == "y = f(x) on [0,2]")
+draw(f, 0..4,title == "y = f(x) on [0,4]")
+
+-- Input for page PolarGraphicsExamplePage
+)clear all
+
+draw(1,t = 0..2*%pi, coordinates == polar)
+draw(t,t = 0..100, coordinates == polar)
+draw(sin(4*t), t = 0..2*%pi, coordinates == polar)
+draw(2 + 3 * sin t, t = 0..2*%pi, coordinates == polar)
+All
+
+-- Input for page ParametricCurveGraphicsExamplePage
+)clear all
+
+draw(curve(cos(t/(1+sin(t)**2)), sin(t)*cos(t)/(1+sin(t)**2)), t = -%pi..%pi)
+draw(curve(9*sin(3*t/4), 8*sin(t)), t = -4*%pi..4*%pi)
+draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)),t = 0..2*%pi)
+draw(curve(cos(4*t)*cos(7*t), cos(4*t)*sin(7*t)), t = 0..2*%pi)
+All
+
+-- Input for page PolarGraphicsPage
+)clear all
+
+draw(1,t = 0..2*%pi,coordinates == polar, title == "The Unit Circle")
+draw(sin(17*t), t = 0..2*%pi, coordinates == polar, title == "A Petal Curve")
+f(t) == cos(4*t/7)
+draw(f, t = 0..2*%pi, coordinates == polar)
+draw(f, t = 0..14*%pi, coordinates == polar)
+
+-- Input for page ParametricCurveGraphicsPage
+)clear all
+
+draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*%pi)
+draw(curve(cos(t), sin(t)), t = 0..2*%pi, title == "The Unit Circle")
+f(t) == sin(3*t/4)
+g(t) == sin(t)
+draw(curve(f,g), 0..%pi)
+draw(cruve(f,g) ,%pi..2*%pi)
+draw(curve(f,g), -4*%pi..4*%pi)
+
+-- Input for page AssortedGraphicsExamplePage
+)clear all
+
+draw(sin(x * y), x = -2.5..2.5, y = -2.5..2.5)
+draw(sin tan x - tan sin x,x = 0..6)
+draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t)), t = 0..2*%pi)
+draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t), sin(5*t)*sin(6*t)), t = 0..2*%pi)
+draw(sin(17*t), t = 0..2*%pi, coordinates == polar)
+draw(y**2 + y = x**3 - x, x, y,range == [-2..2,-2..1])
+All
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/grdef.input.pamphlet b/src/input/grdef.input.pamphlet
new file mode 100644
index 00000000..15f32400
--- /dev/null
+++ b/src/input/grdef.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input grdef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- test input for GraphicsDefaults package
+
+--Operations to set graphic defaults:
+
+adaptive == false
+adaptive == true
+
+clipPointsDefault(false)
+clipPointsDefault(true)
+
+drawToScale(true)
+drawToScale(false)
+
+maxPoints(500)
+
+minPoints(21)
+
+screenResolution(600)
+
+
+--Operations which return default information:
+
+adaptive()
+
+clipPointsDefault()
+
+drawToScale()
+
+maxPoints()
+
+minPoints()
+
+screenResolution()
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/grpthry.input.pamphlet b/src/input/grpthry.input.pamphlet
new file mode 100644
index 00000000..fc6728c8
--- /dev/null
+++ b/src/input/grpthry.input.pamphlet
@@ -0,0 +1,109 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input grpthry.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page PermutationGroupsPage
+)clear all
+
+x : PERM INT := [[1,3,5],[7,11,9]]
+y : PERM INT := [[3,5,7,9]]
+z : PERM INT := [1,3,11]
+g1 : PERMGRPS INT := [ x , y ]
+g2 : PERMGRPS INT := [ x , z ]
+g3 : PERMGRPS INT := [ y , z ]
+order g1
+degree g3
+movedPoints g2
+orbit (g1, 3)
+orbits g3
+member? ( y , g2 )
+)sh PERMGRPS
+
+-- Input for page IrrRepSymPage
+)clear all
+
+ptn9 := partitions 9
+map(dimIrrRepSym, ptn9)
+yt := listYoungTableaus [4,2]; yt :: (LIST TABLEAU I)
+r1 := irrRepSymNat([4,2],[1,2,4,5,3,6])
+r2 := irrRepSymNat([4,2],[3,2,1,5,6,4])
+r3 := irrRepSymNat([4,2],[4,2,1,3,6,5])
+(r3 = r1*r2) :: Boolean
+irrRepSymNat [4,4,1]
+
+-- Input for page REP1Page
+)clear all
+
+permutationRepresentation [2,3,1,4,6,5,11,10,7,8,9]
+gm2 := createGenericMatrix 2
+symmetricTensors (gm2,2)
+gm3 := createGenericMatrix 3
+antisymmetricTensors (gm3,2)
+tensorProduct(gm2,gm2)
+)sh REP1
+
+-- Input for page REP2Page
+)clear all
+
+r0 := irrRepSymNat [2,2,2,1,1]; r28 := meatAxe (r0::(LIST MATRIX PF 2))
+areEquivalent? (r28.1, r28.2)
+meatAxe r28.2
+isAbsolutelyIrreducible? r28.2
+ma := meatAxe r28.1
+isAbsolutelyIrreducible? ma.1
+isAbsolutelyIrreducible? ma.2
+
+-- Input for page PermutationsPage
+)clear all
+
+px : PERM PF 29 := cycles [[1,3,5],[7,11,9]]
+py : PERM PF 29 := cycles [[3,5,7,9]]
+pz : PERM PF 29 := cycle [1,3,11]
+px * pz
+py ** 3
+inv px
+order px
+movedPoints py
+orbit ( pz , 3 )
+eval ( py , 7 )
+)sh PERM
+
+-- Input for page RepA6Page
+)clear all
+
+genA6 : List PERM INT := [cycle [1,2,3],cycle [2,3,4,5,6]]
+pRA6 := permutationRepresentation (genA6,6)
+sp0 := meatAxe (pRA6::(List Matrix PF 2))
+sp1 := meatAxe sp0.1
+isAbsolutelyIrreducible? sp1.2
+d2211 := irrRepSymNat ([2,2,1,1],genA6)
+d2211m2 := (d2211::(List Matrix PF 2)); sp2 := meatAxe d2211m2
+isAbsolutelyIrreducible? sp2.1
+areEquivalent? (sp2.1, sp1.2)
+dA6d16 := tensorProduct(sp2.1,sp1.2); meatAxe dA6d16
+isAbsolutelyIrreducible? dA6d16
+sp3 := meatAxe (dA6d16 :: (List Matrix FF(2,2)))
+isAbsolutelyIrreducible? sp3.1
+isAbsolutelyIrreducible? sp3.2
+areEquivalent? (sp3.1,sp3.2)
+sp0.2
+sp1.2
+sp2.1
+sp3.1
+sp3.2
+dA6d16
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/gstbl.input.pamphlet b/src/input/gstbl.input.pamphlet
new file mode 100644
index 00000000..3d383012
--- /dev/null
+++ b/src/input/gstbl.input.pamphlet
@@ -0,0 +1,29 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input GSTBL.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from GeneralSparseTableXmpPage
+)clear all
+
+patrons: GeneralSparseTable(String, Integer, KeyedAccessFile(Integer), 0) := table() ;
+patrons."Smith" := 10500
+patrons."Jones" := 22000
+patrons."Jones"
+patrons."Stingy"
+reduce(+, entries patrons)
+)system rm -r kaf*.sdata
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/heap.input.pamphlet b/src/input/heap.input.pamphlet
new file mode 100644
index 00000000..c65f5caf
--- /dev/null
+++ b/src/input/heap.input.pamphlet
@@ -0,0 +1,30 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input HEAP.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from HeapXmpPage
+)clear all
+
+h := heap [-4,9,11,2,7,-7]
+insert!(3,h)
+extract! h
+h
+[extract!(h) while not empty?(h)]
+heapsort(x) == (empty? x => []; cons(extract!(x),heapsort x))
+h1 := heap [17,-4,9,-11,2,7,-7]
+heapsort h1
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/heat.input.pamphlet b/src/input/heat.input.pamphlet
new file mode 100644
index 00000000..d1bf86c9
--- /dev/null
+++ b/src/input/heat.input.pamphlet
@@ -0,0 +1,47 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input heat.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+-- ----------[ A x i o m ]----------
+-- ---------- Initialization ----------
+)set messages autoload off
+)set quit unprotected
+-- This is the heat equation
+u:= operator('u);
+heat:= D(u(x, t), t) - D(u(x, t), x, 2) = 0
+-- This is the similarity form of the proposed solution
+f:= operator('f);
+s:= rule(u(x, t) == f(x/sqrt(t))/sqrt(t))
+-- Apply s to the heat equation
+s(lhs(heat)) = 0
+-- Change to the similarity variable z = x/sqrt(t)
+subst(lhs(%), x = z*sqrt(t)) = 0
+-- Eliminate the denominator
+% * denom(lhs(%))
+-- Now, solve the ordinary differential equation
+eq:=%
+solve(%, f, z=0,[k1,k2])
+-- Finally, transform back to the original variables
+subst(%, z = x/sqrt(t))/sqrt(t)
+-- If we set k2 = 0 and k1 = 1/(2*sqrt(%pi)) in the previous expression,
+-- we will obtain the usual fundamental solution of the heat equation
+subst(%, [k2 = 0, k1 = 1/(2*sqrt(%pi))])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/helix.input.pamphlet b/src/input/helix.input.pamphlet
new file mode 100644
index 00000000..4cfd1d87
--- /dev/null
+++ b/src/input/helix.input.pamphlet
@@ -0,0 +1,19 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input helix.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+draw(curve(4*cos(t),4*sin(t),t),t = -10..10)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/help.input.pamphlet b/src/input/help.input.pamphlet
new file mode 100644
index 00000000..c4e59789
--- /dev/null
+++ b/src/input/help.input.pamphlet
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input help.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page CommandHelp
+)clear all
+
+a:= x**2 + 1
+(a - 2)**2
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/herm.input.pamphlet b/src/input/herm.input.pamphlet
new file mode 100644
index 00000000..51175771
--- /dev/null
+++ b/src/input/herm.input.pamphlet
@@ -0,0 +1,143 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input herm.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+)lib $TEST_AXIOMXL/herm
+
+h0 := pHS([] :: List INT)
+
+-- []
+
+h1 := pHS [1]
+
+-- [1]
+
+h2 := pHS [1,2]
+
+-- [1,2]
+
+h3 := pHS [1,2,3]
+
+-- [1,2,3]
+
+h4 := pHS [1,2,3,4]
+
+-- [1,2,3,4]
+
+h5 := pHS [1,2,3,4,5]
+
+-- [1,2,3,4,5]
+
+
+f0 := expand h0
+
+-- []
+
+f1 := expand h1
+
+-- [1]
+
+f2 := expand h2
+
+-- [1,2]
+
+f3 := expand h3
+
+-- [1,2 + 3%i,2 - 3%i]
+
+f4 := expand h4
+
+-- [1,2 + 4%i,3,2 - 4%i]
+
+f5 := expand h5
+
+-- [1,2 + 5%i,3 + 4%i,3 - 4%i,2 - 5%i]
+
+packHS f0
+
+-- []
+
+packHS f1
+
+-- [1]
+
+packHS f2
+
+-- [1,2]
+
+packHS f3
+
+-- [1,2,3]
+
+packHS f4
+
+-- [1,2,3,4]
+
+packHS f5
+
+-- [1,2,3,4,5]
+
+packHS vector[%i,3,3,3]
+
+-- Error signalled from user code:
+-- The argument of packHS is not Hermitian - the first element must
+-- be real.
+
+packHS vector [1, 3, 5, 7]
+
+-- Error signalled from user code:
+-- The argument of packHS is not Hermitian - elements 2 and 4 are
+-- not conjugate.
+
+packHS [1, 3, %i, 3]
+
+-- Error signalled from user code:
+-- The argument of packHS is not Hermitian - element 3 must be real
+-- to be self-conjugate.
+
+conjHerm h0
+
+-- []
+
+conjHerm h1
+
+-- [1]
+
+conjHerm h2
+
+-- [1,2]
+
+conjHerm h3
+
+-- [1,2,- 3]
+
+conjHerm h4
+
+-- [1,2,3,- 4]
+
+conjHerm h5
+
+-- [1,2,3,- 4,- 5]
+
+output "End of tests"
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/hexadec.input.pamphlet b/src/input/hexadec.input.pamphlet
new file mode 100644
index 00000000..78284413
--- /dev/null
+++ b/src/input/hexadec.input.pamphlet
@@ -0,0 +1,29 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input HEXADEC.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from HexadecimalExpansionXmpPage
+)clear all
+
+r := hex(22/7)
+r + hex(6/7)
+[hex(1/i) for i in 350..354]
+hex(1/1007)
+p := hex(1/4)*x**2 + hex(2/3)*x + hex(4/9)
+q := D(p, x)
+g := gcd(p, q)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/hilbert.as.pamphlet b/src/input/hilbert.as.pamphlet
new file mode 100644
index 00000000..662ab804
--- /dev/null
+++ b/src/input/hilbert.as.pamphlet
@@ -0,0 +1,320 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input hilbert.as}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{Hilbert input tests}
+<<input>>=
+)compile hilbert.as
+mon1 := monom(4,0,0,0)
+mon2:= monom(3,3,0,0)
+mon3 := monom(3,2,1,0)
+mon4 := monom(3,1,2,0)
+mon5 := monom(0,2,0,1)
+mon6 := monom(0,1,0,5)
+l := [mon1, mon2, mon3, mon4, mon5, mon6]
+Hilbert l
+idA := varMonomsPower(6,5);
+#idA
+Hilbert idA
+idB := varMonomsPower(6,6);
+#idB
+Hilbert idB
+idC := varMonomsPower(12,3);
+#idC
+Hilbert idC
+idD:=[monom(2,0,0,0),monom(1,1,0,0),monom(1,0,1,0),monom(1,0,0,1),_
+ monom(0,3,0,0),monom(0,2,1,0)]^4;
+#idD
+Hilbert idD
+@
+\section{License}
+<<license>>=
+-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+-- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+@
+<<*>>=
+<<license>>
+
+<<input>>
+
+#include "axiom.as"
+#pile
+
+-- This file computes hilbert functions for monomial ideals
+-- ref: "On the Computation of Hilbert-Poincare Series",
+-- Bigatti, Caboara, Robbiano,
+-- AAECC vol 2 #1 (1991) pp 21-33
+
+macro
+ Monom == Monomial
+ L == List
+ SI == SingleInteger
+ B == Boolean
+ POLY == SparseUnivariatePolynomial Integer
+ Array == Vector
+
+import from NonNegativeInteger
+import from SingleInteger
+import from Segment SI
+import from Integer
+
+Monomial : OrderedSet with
+ totalDegree: % -> SI
+ divides?: (%, %) -> B
+ homogLess: (%, %) -> B
+ quo: (%, %) -> %
+ quo: (%, SI) -> %
+ *: (%, %) -> %
+ varMonom: (i:SI,n:SI, deg:SI) -> %
+ variables: L % -> L SI
+ apply: (%, SI) -> SI
+ #: % -> SI
+ monom: Tuple SI -> %
+ == Array(SingleInteger) add
+ Rep ==> Array(SingleInteger)
+ import from Rep
+
+ monom(t:Tuple SI):% == per [ t ]
+
+ totalDegree(m:%):SI ==
+ sum:SI := 0
+ for e in rep m repeat sum := sum + e
+ sum
+
+ divides?(m1:%, m2:%):B ==
+ for e1 in rep m1 for e2 in rep m2 repeat
+ if e1 > e2 then return false
+ true
+
+ (m1:%) < (m2:%):B ==
+ for e1 in rep m1 for e2 in rep m2 repeat
+ if e1 < e2 then return true
+ if e1 > e2 then return false
+ false
+
+-- (m1:%) > (m2:%):B == m2 < m1
+
+ homogLess(m1:%, m2:%):B ==
+ (d1:=totalDegree(m1)) < (d2:=totalDegree(m2)) => true
+ d1 > d2 => false
+ ( m1 < m2)
+
+ (m:%) quo (v:SI):% == --remove vth variable
+-- per [((if i=v then 0 else (rep m).i) for i in 1..#rep m)]
+ m2:= copy rep m
+ m2.v := 0
+ per m2
+
+ (m1:%) quo (m2:%):% ==
+ per [(max(a1-a2,0) for a1 in rep m1 for a2 in rep m2)]
+
+ (m1:%) * (m2:%):% == per [(a1+a2 for a1 in rep m1 for a2 in rep m2)]
+
+ varMonom(i:SI,n:SI, deg:SI):% ==
+-- per [((if j=i then deg else 0$SI) for j in 1..n)]
+ m:Rep := new(n, 0)
+ m.i := deg
+ per m
+
+ variables(I:L %) :L SI ==
+ empty? I => nil
+ n:SI:=# rep first I
+ ans : L SI := nil
+ v:SI:=0
+ while (v:=v+1)<=n repeat
+-- for v in 1..n repeat
+ for m in I repeat
+ (rep m).v ~= 0 =>
+ ans := cons(v, ans)
+ break
+ ans
+
+
+HilbertFunctionPackage: with
+ Hilbert: L Monom -> POLY
+ adjoin: (Monom, L Monom) -> L Monom
+ == add
+
+ adjoin(m:Monom, lm:L Monom):L Monom ==
+ empty?(lm) => cons(m, nil)
+ ris1:L Monom:= empty()
+ ris2:L Monom:= empty()
+ while not empty? lm repeat
+ m1:Monom := first lm
+ lm := rest lm
+ if m <= m1 then
+ if not divides?(m,m1) then (ris1 := cons(m1, ris1))
+ iterate
+ ris2 := cons(m1, ris2)
+ if divides?(m1, m) then
+ return concat!(reverse!(ris1), concat!(reverse! ris2, lm))
+ concat!(reverse!(ris1), cons(m, reverse! ris2))
+
+ reduce(lm:L Monom):L Monom ==
+ lm := sortHomogRemDup(lm)
+ empty? lm => lm
+ ris :L Monom := nil
+ risd:L Monom := list first lm
+ d := totalDegree first lm
+ for m in rest lm repeat
+ if totalDegree(m)=d then risd := cons(m, risd)
+ else
+ ris := mergeDiv(ris, risd)
+ d := totalDegree m
+ risd := [m]
+ mergeDiv(ris, risd)
+
+ mergeDiv( small:L Monom, big:L Monom): L Monom ==
+ ans : L Monom := small
+ for m in big repeat
+ if not contained?(m,small) then ans := cons(m, ans)
+ ans
+
+ contained?(m:Monom, id: L Monom) : B ==
+ for mm in id repeat
+ divides?(mm, m) => return true
+ false
+
+ (I:L Monom) quo (m:Monom):L Monom ==
+ reduce [mm quo m for mm in I]
+
+ sort(I:L Monom, v:SI):L Monom ==
+ sort((a:Monom,b:Monom):B+->(a.v < b.v), I)
+
+ sortHomogRemDup(l:L Monom):L Monom ==
+ l:=sort(homogLess, l)
+ empty? l => l
+ ans:L Monom := list first l
+ for m in rest l repeat
+ if m ~= first(ans) then ans:=cons(m, ans)
+ reverse! ans
+
+ decompose(I:L Monom, v:SI):Record(size:SI, ideals:L L Monom, degs:L SI) ==
+ I := sort(I, v)
+ idlist: L L Monom := nil
+ deglist : L SI := nil
+ size : SI := 0
+ J: L Monom := nil
+ while not empty? I repeat
+ d := first(I).v
+ tj : L Monom := nil
+ local m:Monom
+ while not empty? I and d=(m:=first I).v repeat
+ tj := cons(m quo v, tj)
+ I := rest I
+ J := mergeDiv(tj, J)
+ idlist := cons(J, idlist)
+ deglist := cons(d, deglist)
+ size := size + ((#J)::Integer::SI)
+ [size, idlist, deglist]
+
+
+ var(n:SI) : SparseUnivariatePolynomial Integer ==
+ monomial(1$Integer, n::Integer::NonNegativeInteger)
+
+
+ Hilbert(I:L Monom):POLY ==
+ empty? I => 1 -- no non-zero generators = 0 ideal
+ empty? rest I => var(0) - var(totalDegree first I)
+ lvar :L SI := variables I
+ import from Record(size:SI, ideals:L L Monom, degs:L SI)
+ Jbest := decompose(I, first lvar)
+ for v in rest lvar while (#I)::Integer::SI < Jbest.size repeat
+ JJ := decompose(I, v)
+ JJ.size < Jbest.size => Jbest := JJ
+ import from L L Monom
+ import from L SI
+ Jold:List Monom := first(Jbest.ideals)
+ dold:SI := first(Jbest.degs)
+ f:SparseUnivariatePolynomial Integer:=var(dold)*Hilbert(Jold)
+ for J:List Monom in rest Jbest.ideals for d:SI in rest Jbest.degs repeat
+ f := f + (var(d) - var(dold)) * Hilbert(J)
+ dold := d
+ var(0) - var(dold) + f
+
+MonomialIdealPackage: with
+ varMonomsPower: (SI, SI) -> L Monom
+ *: (L Monom, L Monom) -> L Monom
+ ^: (L Monom, SI) -> L Monom
+ == add
+
+ varMonoms(n:SI):L Monom ==
+-- [varMonom(i,n,1) for i in 1..n]
+ i:SI:=0
+ [varMonom(i,n,1) while {free i; (i:=i+1)<=n}]
+
+ varMonomsPower(n:SI, deg:SI):L Monom ==
+ n = 1 => [ monom(deg)]
+ ans : L Monom := nil
+-- for j in 0..deg repeat
+ j:SI:=-1
+ while (j:=j+1)<=deg repeat
+ ans := concat(varMonomMult(j,varMonomsPower(n-1,deg-j)), ans)
+ ans
+
+ varMonomMult(i:SI, mlist : L Monom) : L Monom ==
+ [varMonomMult(i, m) for m in mlist]
+
+ varMonomMult(i:SI, m:Monom) : Monom ==
+ nm:Array SI := new(#m + 1, i)
+-- for k in 1..#m repeat nm.k :=m.k
+ k:SI:=0
+ while (k:=k+1)<=#m repeat nm.k :=m.k
+ nm pretend Monom
+
+ (i1:L Monom) * (i2:L Monom):L Monom ==
+ import from HilbertFunctionPackage
+ ans : L Monom := nil
+ for m1 in i1 repeat for m2 in i2 repeat
+ ans := adjoin(m1*m2, ans)
+ ans
+
+ (i:L Monom) ^ (n:SI) : L Monom ==
+ n = 1 => i
+ odd? n => i * (i*i)^shift(n, -1)
+ (i*i)^shift(n,-1)
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/huang.input.pamphlet b/src/input/huang.input.pamphlet
new file mode 100644
index 00000000..ddaf6a78
--- /dev/null
+++ b/src/input/huang.input.pamphlet
@@ -0,0 +1,564 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input huang.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+-- this is here strictly for documentation purposes, nothing is executed
+--
+-- Here are some problems that Maple and Mathematica cannot
+--solve, but SymbMath can do.
+-- The following examples came from news on the sci.math.symbolic
+--newsgroup in 1991, and were run in Maple V, Mathematica 2.0, or
+--SymbMath 2.1.
+--
+--************************ Example 1 ******************************
+-- Maple:
+--> int(exp(-a * x^2), x=0..infinity);
+--
+-- infinity
+-- /
+-- | 2
+-- | exp(- a x ) dx
+-- |
+-- /
+-- 0
+--
+--# unevaluated.
+--# Declare 'a' non-negative:
+--
+--> signum(a) := 1;
+--
+-- signum(a) := 1
+--
+--# The same integral is now evaluated fully:
+--
+--> int(exp(-a * x^2), x=0..infinity);
+--
+-- 1/2
+-- Pi
+-- 1/2 -----
+-- 1/2
+-- a
+--
+-- SymbMath :
+-- Input:
+--inte(exp(-a*x^2), x from 0 to inf)
+--assume(sqrt(a) > 0)
+--inte(exp(-a*x^2), x from 0 to inf)
+-- Output:
+--1/2*a^(-0.5)*sqrt(pi)*erf(inf*sgn(sqrt(a)))
+--assumed
+--1/2*a^(-0.5)*sqrt(pi)
+--
+--************************** Example 2 *********************************
+-- Maple:
+--# Despite the fact that 'n' is declared non-negative...
+--> signum(n) := 1;
+-- signum(n) := 1
+--
+--# ...this simple proper definite integral (that any freshman calculus
+--# student can evaluate!) is left unevaluated:
+--> int(x^n, x=0..1);
+--
+-- 1
+-- /
+-- | n
+-- | x dx
+-- |
+-- /
+-- 0
+--
+--
+-- SymbMath :
+-- Input:
+--assume(n > -1)
+--inte(x^n, x from 0 to 1)
+-- Output:
+--assumed
+--1/(1 + n)
+--
+--************************** Example 3 *****************************
+-- Maple:
+--> int(x^n, x=eps..1);
+--
+-- (n + 1)
+-- 1 eps
+-- ----- - ----------
+-- n + 1 n + 1
+--
+--# ...but the one-sided limit...
+--
+--> limit(", eps=0, right);
+--
+-- (n + 1)
+-- 1 eps
+-- limit ----- - ----------
+-- eps -> 0+ n + 1 n + 1
+--
+--# ...remains unevaluated...
+--
+--> simplify(");
+--
+-- (n + 1)
+-- - 1 + eps
+-- limit - ----------------
+-- eps -> 0+ n + 1
+--
+--
+--# ...no matter what we do!
+--
+--> eval(");
+--
+-- (n + 1)
+-- - 1 + eps
+-- limit - ----------------
+-- eps -> 0+ n + 1
+--
+-- SymbMath:
+-- Input:
+--assume(n > -1)
+--inte(x^n, x from eps to 1)
+--subs(eps=0 to last)
+-- Output:
+--assumed
+--1/(1 + n) - eps^(1 + n)/(1 + n)
+--1/(1 + n)
+--
+--
+--*************************** Example 4 ***************************
+-- Maple:
+--> 0^n;
+-- 0
+--
+--# Maple flags the error only when 'n' is replaced by the constant 0:
+--
+--> 0^0;
+--Error, 0^0 is undefined
+--
+-- SymbMath:
+-- Input:
+--assume(n > 0)
+--0^n
+--0^-n
+--0^0
+-- Output:
+--assumed
+--0
+--discont
+--undefined
+--
+--**************************** Example 5 ******************************
+-- Maple:
+--> int(x^k, x);
+--
+-- (k + 1)
+-- x
+-- --------
+-- k + 1
+--
+-- SymbMath:
+-- Input:
+--inte(x^k*d(x))
+--subs(k=-1 to last)
+-- Output:
+--constant + x^(1 + k)/(1 + k)
+--discont
+--
+--**************************** Example 6 *****************************
+-- Maple:
+--# The following limit is left unevaluated:
+--> limit(x^k/exp(x), x=infinity);
+--
+-- k
+-- x
+-- limit ------
+-- x -> infinity exp(x)
+--
+--
+--# We might ask if Maple knows this result for specific (constant) values
+--# of the symbolic parameter 'k'. The answer is a QUALIFIED "yes".
+--# Maple knows the result for 'k' equal to 10^8...
+--
+--> limit(x^(10^8)/exp(x), x=infinity);
+--
+-- 0
+--
+--
+--# ...and Maple knows the result for 'k' equal to 10^9...
+--
+--> limit(x^(10^9)/exp(x), x=infinity);
+--
+-- 0
+--
+--# ...BUT, Maple seems to FORGET the result when 'k' equals 10^10...
+--
+--> limit(x^(10^10)/exp(x), x=infinity);
+--
+-- 10000000000
+-- x
+-- limit ------------
+-- x -> infinity exp(x)
+--
+-- SymbMath:
+-- Input:
+--lim(x=inf, x^k/exp(x))
+--lim(x=inf, x^(10^10)/exp(x))
+--lim(x=inf, x^(10^10000)/exp(x))
+-- Output:
+--0
+--0
+--0
+--
+--****************************** Example 7 ****************************
+-- Maple:
+--> int(x^m * exp (-b * x), x=0..infinity);
+--
+-- infinity
+-- /
+-- | m
+-- | x exp(- b x) dx
+-- |
+-- /
+-- 0
+--
+--
+--# As expected, the integral remains unevaluated. Now declare the signs
+--# of the symbolic parameters:
+--
+--> signum(b) := 1;
+--
+-- signum(b) := 1
+--
+--> signum(m) := 1;
+--
+-- signum(m) := 1
+--
+--
+--# Upon attempting to compute the integral a second time...
+--
+--> int(x^m * exp (-b * x), x=0..infinity);
+--
+-- infinity
+-- /
+-- | m
+-- | x exp(- b x) dx
+-- |
+-- /
+-- 0
+--
+--# ...THE INTEGRAL CONTINUES TO REMAIN UNEVALUATED, despite the fact that
+--# the signs of the parameters 'b' and 'm' were declared PRIOR to the second
+--# attempt at computation.
+--
+-- SymbMath:
+-- Input:
+--inte(x^n*exp(-a*x), x from 0 to inf)
+-- Output:
+--inte(x^n*exp(-a*x), x, 0, inf)
+--
+--
+--************************ Example 8 *********************************
+-- Mathematica:
+--In[1]:= Integrate[1/x,{x,-1,1}]
+--Out[1]= -Log[-1]
+--
+-- Maple:
+--has the same problem.
+--
+-- SymbMath:
+-- Input:
+--inte(1/x, x from -1 to 1)
+--inte(1/x, x from -1 to 2)
+-- Output:
+--0
+--ln(2)
+--
+--
+--*************************** Example 9 *******************************
+-- Maple:
+--has a problem for int(tan(x), x=0..pi).
+--
+-- SymbMath:
+-- Input:
+--inte(tan(x), x from 0 to pi)
+-- Output:
+--0
+--
+--**************************** Example 10 ****************************
+-- Mathematica:
+--cannot evaluate integral of sgn(x).
+--
+-- Maple:
+--# cannot evaluate inegral of signum(x) by int(). Help with a procedure:
+--# Load the procedure into Maple:
+--
+--> read `pvint.txt`;
+--
+--pvint := proc(f,x,a,b,s)
+-- local i1,i2,eps;
+-- signum(eps) := 1;
+-- i1 := int(f,x = a .. s-eps);
+-- i2 := int(f,x = s+eps .. b);
+-- simplify(i1+i2);
+-- limit(",eps = 0,right)
+-- end
+--
+--
+--> pvint(signum(x), x, -1, 1, 0);
+--
+-- - eps 1
+-- / /
+-- | |
+-- limit | signum(x) dx + | signum(x) dx
+-- eps -> 0+ | |
+-- / /
+-- -1 eps
+--
+--# Maple refuses to evaluate this P.V. integral:
+--
+--> simplify(");
+--
+-- - eps 1
+-- / /
+-- | |
+-- limit | signum(x) dx + | signum(x) dx
+-- eps -> 0+ | |
+-- / /
+-- -1 eps
+--
+--> eval(");
+--
+-- - eps 1
+-- / /
+-- | |
+-- limit | signum(x) dx + | signum(x) dx
+-- eps -> 0+ | |
+-- / /
+-- -1 eps
+--
+-- SymbMath:
+-- Input:
+--inte(sgn(x), x from -1 to 1)
+--inte(sgn(x), x from -1 to 2)
+-- Output:
+--0
+--1
+--
+--************************* Example 11 ********************************
+--Implicit diff. gives 1+y'[x](1+1/y[x])==0; y'[x]==-y[x]/(y[x]+1).
+--
+-- Mathematica:
+-- given this eq. as input to DSolve says that built-in
+-- procedure can't solve it.
+--
+-- MACSYMA:
+--(c1) depends(y,x)$
+--
+--(c2) ode2(diff(y,x) = -y/(y+1),y,x);
+--
+--(d2) - log(y) - y = x + %c
+--
+--(c3) method;
+--
+--(d3) separable
+--
+--
+-- SymbMath:
+--solve the differential equation by integration inte() or by dsolve().
+-- Input:
+--d(y)/d(x)*(1+1/y) === -1
+--inte(last*d(x))
+--Expand=On
+--dsolve(d(y)/d(x) === -y/(y+1), y)
+-- Output:
+--(1 + 1/y)*d(y)/d(x) === -1
+--y + ln(y*sgn(y)) === constant - x
+--Expand = On
+---y - ln(y*sgn(y)) === constant + x
+--
+--
+--************************* Example 12 ********************************
+-- Mathematica:
+-- y'[x] = y[x]^(1/2)
+-- y[0] = 0
+--
+--DSolve could not handle it. (It rarely solves anything!!), and the
+--RungeKutta package only gave me the solution
+--
+-- y[x]=0
+--
+--Obviously, there is another solution viz.
+--
+-- y[x] = (x/2)^2
+--
+-- SymbMath:
+-- Input:
+--dsolve(d(y)/d(x) === sqrt(y), y)
+--(last/2)^2
+-- Output:
+--2*sqrt(y) === constant + x
+--y === 1/4*(constant + x)^2
+--
+--************************* Example 13 ********************************
+-- Maple:
+--> sqrt(x*x);
+-- x
+--
+-- Mathematica:
+-- Sqrt[a^2] evaluates to Sqrt[a^2].
+--
+-- SymbMath:
+-- Input:
+--sqrt(x^2)
+--assume(a > 0)
+--sqrt(a^2)
+--assume(b <0 )
+--sqrt(b^2)
+-- Output:
+--x*sgn(x)
+--assumed
+--a
+--assumed
+---b
+--
+--********************** Example 14 **********************************
+-- Maple and Mathematica cannot find the integrals of abs(x).
+--
+-- SymbMath:
+-- Input:
+--inte(abs(x), x from -1 to 1)
+--inte(abs(x)^5*d(x))
+-- Output:
+--1
+--constant + 1/6*abs(x)^6*sgn(x)
+--
+-----------------------------------------------------------------------
+--
+-- The following problems are taken from Swokowski's Calculus
+--book. They cause Mathematica to fail because of a singularity in
+--the interior of the interval of integration:
+--
+-- Section 10.4 Problems 3, 12, 15, 16, 23, 29.
+--
+--The comments "INTEGRAL IS DIVERGENT" and "Principal Value" come from
+--Macsyma. Mma gives no indication that anything is amiss.
+--
+--************************ Problem3 *********************************
+-- Mathematica:
+--In[4]:= Integrate[1/x^2,{x,-3,1}]
+--
+-- 4
+--Out[4]= -(-) (* INTEGRAL IS DIVERGENT *)
+-- 3
+--
+-- SymbMath:
+-- Input:
+--inte(1/x^2, x from -3 to 1)
+-- Output:
+--inf
+--
+--************************** Problem12 ***************************
+-- Mathemtica:
+--In[6]:= Integrate[x^(-4/3),{x,-1,1}]
+--
+--Out[6]= -6 (* INTEGRAL IS DIVERGENT *)
+--
+-- SymbMath:
+-- Input:
+--inte(x^(-4/3), x from -1 to 1)
+-- Output:
+--inf
+--
+--**************************** Problem15 ************************
+-- Mathematica:
+--In[7]:= Integrate[1/x,{x,-1,2}]
+--
+--Out[7]= -Log[-1] + Log[2]
+--
+-- Maple:
+--has the same problem.
+--
+-- Macsyma:
+-- (c7) integrate(1/x,x,-1,2);
+-- Principal Value
+-- (d7) log(2)
+--
+-- SymbMath:
+-- Input:
+--inte(1/x, x from -1 to 2)
+-- Output:
+--ln(2)
+--
+--
+--********************** Problem16 ************************************
+-- Mathematica:
+--In[8]:= Integrate[1/(x^2-x-2),{x,0,4}]
+--
+-- -Log[-2] Log[2] Log[5]
+--Out[8]= -------- + ------ - ------
+-- 3 3 3
+--
+-- Macsyma:
+-- (c8) integrate(1/(x^2-x-2),x,0,4);
+-- Principal Value
+-- log(5)
+-- (d8) - ------
+-- 3
+--
+--
+-- SymbMath:
+-- Input:
+--inte(1/(x^2-x-2), x from 0 to 4)
+-- Output:
+---1/3*ln(2) + 1/3*ln(2/5)
+--
+--***************************** Problem23 **********************
+-- Mathematica:
+--In[10]:= Integrate[(1/x^2)Cos[1/x],{x,-1,2}]
+--
+-- 1
+--Out[10]= Sin[-1] - Sin[-] (* INTEGRAL IS DIVERGENT *)
+-- 2
+--
+-- SymbMath:
+-- Input:
+--y=1/x^2*cos(1/x)
+--inte(y, x from -1 to 0-zero) + inte(y, x from 0+zero to 2)
+-- Output:
+--y = x^(-2)*cos(1/x)
+--sin(-1) - sin(1/2) + 2*sin(inf)
+--
+--************************** Problem29 ********************************
+-- Mathematica:
+--In[12]:= Integrate[1/(x-4)^2,{x,0,Infinity}]
+--
+-- 1
+--Out[12]= -(-) (* INTEGRAL IS DIVERGENT *)
+-- 4
+--
+-- SymbMath:
+-- Input:
+--y=1/(x-4)^2
+--inte(y, x from 0 to 4-zero) + inte(y, x from 4+zero to inf)
+-- Output:
+--y = (-4 + x)^(-2)
+--inf
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ico.input.pamphlet b/src/input/ico.input.pamphlet
new file mode 100644
index 00000000..abd2f3e9
--- /dev/null
+++ b/src/input/ico.input.pamphlet
@@ -0,0 +1,84 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ico.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+)se exp add con InnerTrigonometricManipulations
+exp(%i*2*%pi/5)
+FG2F %
+% -1
+complexForm %
+norm %
+simplify %
+s:=sqrt %
+ph:=exp(%i*2*%pi/5)
+A1:=complex(1,0)
+A2:=A1*ph
+A3:=A2*ph
+A4:=A3*ph
+A5:=A4*ph
+ca1:=map(numeric , complexForm FG2F simplify A1)
+ca2:=map(numeric , complexForm FG2F simplify A2)
+ca3:=map(numeric ,complexForm FG2F simplify A3)
+ca4:=map(numeric ,complexForm FG2F simplify A4)
+ca5:=map(numeric ,complexForm FG2F simplify A5)
+B1:=A1*exp(2*%i*%pi/10)
+B2:=B1*ph
+B3:=B2*ph
+B4:=B3*ph
+B5:=B4*ph
+cb1:=map (numeric ,complexForm FG2F simplify B1)
+cb2:=map (numeric ,complexForm FG2F simplify B2)
+cb3:=map (numeric ,complexForm FG2F simplify B3)
+cb4:=map (numeric ,complexForm FG2F simplify B4)
+cb5:=map (numeric ,complexForm FG2F simplify B5)
+u:=numeric sqrt(s*s-1)
+p0:=point([0,0,u+1/2])@Point(SF)
+p1:=point([real ca1,imag ca1,0.5])@Point(SF)
+p2:=point([real ca2,imag ca2,0.5])@Point(SF)
+p2:=point([real ca2,imag ca2,0.5])@Point(SF)
+p3:=point([real ca3,imag ca3,0.5])@Point(SF)
+p4:=point([real ca4,imag ca4,0.5])@Point(SF)
+p5:=point([real ca5,imag ca5,0.5])@Point(SF)
+p6:=point([real cb1,imag cb1,-0.5])@Point(SF)
+p7:=point([real cb2,imag cb2,-0.5])@Point(SF)
+p8:=point([real cb3,imag cb3,-0.5])@Point(SF)
+p9:=point([real cb4,imag cb4,-0.5])@Point(SF)
+p10:=point([real cb5,imag cb5,-0.5])@Point(SF)
+p11:=point([0,0,-u-1/2])@Point(SF)
+space:=create3Space()$ThreeSpace DFLOAT
+polygon(space,[p0,p1,p2])
+polygon(space,[p0,p2,p3])
+polygon(space,[p0,p3,p4])
+polygon(space,[p0,p4,p5])
+polygon(space,[p0,p5,p1])
+polygon(space,[p1,p6,p2])
+polygon(space,[p2,p7,p3])
+polygon(space,[p3,p8,p4])
+polygon(space,[p4,p9,p5])
+polygon(space,[p5,p10,p1])
+polygon(space,[p2,p6,p7])
+polygon(space,[p3,p7,p8])
+polygon(space,[p4,p8,p9])
+polygon(space,[p5,p9,p10])
+polygon(space,[p1,p10,p6])
+polygon(space,[p6,p11,p7])
+polygon(space,[p7,p11,p8])
+polygon(space,[p8,p11,p9])
+polygon(space,[p9,p11,p10])
+polygon(space,[p10,p11,p6])
+makeViewport3D(space,title=="Icosahedron")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ideal.input.pamphlet b/src/input/ideal.input.pamphlet
new file mode 100644
index 00000000..35383b1e
--- /dev/null
+++ b/src/input/ideal.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ideal.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+
+(n,m) : List DMP([x,y],FRAC INT)
+m := [x**2+y**2-1]
+n := [x**2-y**2]
+id := ideal m + ideal n
+zeroDim? id
+zeroDim?(ideal m)
+dimension ideal m
+(f,g):DMP([x,y],FRAC INT)
+f := x**2-1
+g := x*(x**2-1)
+relationsIdeal [f,g]
+l: List DMP([x,y,z],FRAC INT)
+l:=[x**2+2*y**2,x*z**2-y*z,z**2-4]
+ld:=primaryDecomp ideal l
+reduce(intersect,ld)
+reduce(intersect,[radical ld.i for i in 1..2])
+radical ideal l
+quotient(ideal l,y)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ifact.input.pamphlet b/src/input/ifact.input.pamphlet
new file mode 100644
index 00000000..b8c98497
--- /dev/null
+++ b/src/input/ifact.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ifact.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- Some integer factorizations
+factor(3**17-1)
+factor(3**23-1)
+factor(3**31-1)
+factor(3**41-1)
+factor(3**53-1)
+factor(111111111111111111111111)
+factor(11111111111111111111111111111111111111111111111)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images1.input.pamphlet b/src/input/images1.input.pamphlet
new file mode 100644
index 00000000..3c178e25
--- /dev/null
+++ b/src/input/images1.input.pamphlet
@@ -0,0 +1,30 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Color gallery page 1
+
+)read tknot
+
+-- draw a (15,17) torus knot
+
+torusKnot(15,17, 0.1, 6, 700)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images1a.input.pamphlet b/src/input/images1a.input.pamphlet
new file mode 100644
index 00000000..4164de0b
--- /dev/null
+++ b/src/input/images1a.input.pamphlet
@@ -0,0 +1,129 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images1a.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994-1996.
+@
+<<*>>=
+<<license>>
+
+-- Create a (p,q) torus-knot with radius r around the curve.
+-- The formula was derived by Larry Lambe.
+
+-- To produce a trefoil knot:
+-- torusKnot(2, 3, 0.5, 10, 200)
+
+-- compile, don't interpret functions
+)set function compile on
+
+-- Generalized tubes.
+-- These functions draw a 2-d curve in the normal
+-- planes around a 3-d curve. The computations are all done
+-- numerically in machine-precision floating point for efficiency.
+
+R3 := Point DoubleFloat -- Points in 3-Space
+R2 := Point DoubleFloat -- Points in 2-Space
+S := Segment Float -- Draw ranges
+ThreeCurve := DoubleFloat -> R3 -- type of a space curve function
+TwoCurve := (DoubleFloat, DoubleFloat) -> R2 -- type of a plane curve function
+Surface := (DoubleFloat, DoubleFloat) -> R3 -- type of a parameterized surface function
+
+-- Frenet frames define a coordinate system around a point on a space curve
+FrenetFrame := Record(value: R3, tagent: R3, normal: R3, binormal: R3)
+
+-- Holds current Frenet frame for a point on a curve
+frame: FrenetFrame
+
+-- compile, don't interpret functions
+)set fun compile on
+
+-- Draw a generalized tube.
+-- ntubeDraw(spaceCurve, planeCurve, u0..u1, t0..t1)
+-- draws planeCurve int the normal planes of spaceCurve. u0..u1 specifies
+-- the paramter range of the planeCurve and t0..t1 specifies the parameter
+-- range of the spaceCurve. Additionally the plane curve function takes
+-- as a second parameter the current parameter of the spaceCurve. This
+-- allows the plane curve to evolve as it goes around the space curve.
+-- see "page5.input" for an example of this.
+ntubeDraw: (ThreeCurve, TwoCurve, S, S) -> VIEW3D
+ntubeDraw(spaceCurve, planeCurve, uRange, tRange) ==
+ ntubeDrawOpt(spaceCurve, planeCurve, uRange, tRange, []$List DROPT)
+
+-- ntuberDrawOpt is the same as ntuberDraw, but takes optional
+-- parameters which it passes to the draw command.
+ntubeDrawOpt: (ThreeCurve, TwoCurve, S, S, List DROPT) -> VIEW3D
+ntubeDrawOpt(spaceCurve, planeCurve, uRange, tRange, l) ==
+ delT:DoubleFloat := (hi(tRange) - lo(tRange))/10000
+ oldT:DoubleFloat := lo(tRange) - 1
+ fun := ngeneralTube(spaceCurve, planeCurve, delT, oldT)
+ draw(fun, uRange, tRange, l)
+
+-- nfrenetFrame(c, t, delT) numerically computes the Frenet Frame
+-- about the curve c at t. delT is a small number used to
+-- compute derivatives.
+nfrenetFrame(c, t, delT) ==
+ f0 := c(t)
+ f1 := c(t+delT)
+ t0 := f1 - f0 -- the tangent
+ n0 := f1 + f0
+ b := cross(t0, n0) -- the binormal
+ n := cross(b,t0) -- the normal
+ ln := length n
+ lb := length b
+ ln = 0 or lb = 0 => error "Frenet Frame not well defined"
+ n := (1/ln)*n -- make into unit length vectors
+ b := (1/lb)*b
+ [f0, t0, n, b]$FrenetFrame
+
+-- nGeneralTube(spaceCurve, planeCurve, delT, oltT)
+-- creates a function which can be passed to the system draw command.
+-- The function is a parameterized surface for the general tube
+-- around the spaceCurve. delT is a small number used to compute
+-- derivatives, and oldT is used to hold the current value of the
+-- t parameter for the spaceCurve. This is an efficiency measure
+-- to ensure that frames are only computed once for every value of t.
+ngeneralTube: (ThreeCurve, TwoCurve, DoubleFloat, DoubleFloat) -> Surface
+ngeneralTube(spaceCurve, planeCurve, delT, oldT) ==
+ free frame
+ (v:DoubleFloat, t: DoubleFloat): R3 +->
+ if (t ~= oldT) then
+ frame := nfrenetFrame(spaceCurve, t, delT)
+ oldT := t
+ p := planeCurve(v, t)
+ frame.value + p.1*frame.normal + p.2*frame.binormal
+
+-- Create a (p,q) torus-knot with radius r around the curve.
+-- The formula was derived by Larry Lambe.
+-- To produce a trefoil knot:
+-- torusKnot(2, 3, 0.5)
+torusKnot(p:DFLOAT, q:DFLOAT, r:DFLOAT, uSteps:PI, tSteps:PI):VIEW3D ==
+ -- equation for the torus knot
+ knot := (t:DFLOAT):Point DFLOAT +->
+ fac := 4/(2.2@DFLOAT-sin(q*t))
+ fac * point [cos(p*t), sin(p*t), cos(q*t)]
+ -- equation for the cross section of the tube
+ circle := (u:DFLOAT, t:DFLOAT):Point DFLOAT +->
+ r * point [cos u, sin u]
+ -- draw the tube around the knot
+ ntubeDrawOpt(knot, circle, 0..2*%pi, 0..2*%pi, var1Steps == uSteps,
+ var2Steps == tSteps)
+
+
+-- draw a (15,17) torus knot
+
+torusKnot(15,17, 0.1, 6, 700)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images2.input.pamphlet b/src/input/images2.input.pamphlet
new file mode 100644
index 00000000..7232c5db
--- /dev/null
+++ b/src/input/images2.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Color gallery page 2
+
+)r newton
+)r cdraw
+
+-- create a Newton's iteration function for the equation x**3 = 2.
+f := newtonStep(x**3 - 2)
+
+setClipValue(4)
+drawComplexVectorField(f**3, -3..3, -3..3)
+drawComplex(f**3, -3..3, -3..3)
+drawComplex(f**4, -3..3, -3..3)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images2a.input.pamphlet b/src/input/images2a.input.pamphlet
new file mode 100644
index 00000000..05bd36c5
--- /dev/null
+++ b/src/input/images2a.input.pamphlet
@@ -0,0 +1,207 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images2a.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- Newton's Iteration function
+
+-- newtonStep(f) returns a newton's iteration function for the
+-- expression f.
+
+newtonStep(f) ==
+ fun := complexNumericFunction f
+ deriv := complexDerivativeFunction(f,1)
+ (b:Complex DoubleFloat):Complex DoubleFloat +->
+ b - fun(b)/deriv(b)
+
+-- create complex numeric functions from an expression
+
+complexFunPack := MakeUnaryCompiledFunction(EXPR INT, Complex DoubleFloat, Complex DoubleFloat)
+
+-- create a complex numeric function from an expression
+complexNumericFunction x ==
+ v := theVariable x
+ compiledFunction(x, v)$complexFunPack
+
+-- create a complex numeric derivatiave function from an expression
+complexDerivativeFunction(x,n) ==
+ v := theVariable x
+ df := differentiate(x,v,n)
+ compiledFunction(df, v)$complexFunPack
+
+-- return the unique variable in x, or an error if it is multivariate
+theVariable x ==
+ vl := variables x
+ nv := # vl
+ nv > 1 => error "Expression is not univariate."
+ nv = 0 => 'x
+ first vl
+
+-- complex surface and vector field drawing by SCM
+-- complex surface vector field drawing
+
+C := Complex DoubleFloat
+S := Segment DoubleFloat
+PC := Record(rr:DoubleFloat, th:DoubleFloat)
+
+realSteps: PI := 25 -- the number of steps in the real direction
+imagSteps: PI := 25 -- the number of steps in the imaginary direction
+clipValue: DoubleFloat := 10 -- the maximum length of a vector to draw
+
+
+-- Draw a complex function as a height field
+-- uses the complex norm as the height and the complex argument as the color
+-- optionally it will draw arrows on the surface indicating the direction
+-- of the complex argument
+
+-- sample call:
+-- f: C -> C
+-- f z == exp(1/z)
+-- drawComplex(f, 0.3..3, 0..2*%pi, false)
+
+-- parameter descriptions:
+-- f: the function to draw
+-- rRange: the range of the real values
+-- imagRange: the range of imaginary values
+drawComplex(f: C -> C, realRange: S, imagRange: S): VIEW3D ==
+ free realSteps, imagSteps
+ delReal := (hi(realRange) - lo(realRange))/realSteps
+ delImag := (hi(imagRange) - lo(imagRange))/imagSteps
+ funTable: ARRAY2(PC) := new(realSteps+1, imagSteps+1, [0,0]$PC)
+ real := lo(realRange)
+ for i in 1..realSteps+1 repeat
+ imag := lo(imagRange)
+ for j in 1..imagSteps+1 repeat
+ z := f complex(real, imag)
+ funTable(i,j) := [clipFun(sqrt norm z), argument(z)]$PC
+ imag := imag + delImag
+ real := real + delReal
+ llp:List List Point DoubleFloat := []
+ real := lo(realRange)
+ for i in 1..realSteps+1 repeat
+ imag := lo(imagRange)
+ lp:List Point DoubleFloat := []
+ for j in 1..imagSteps+1 repeat
+ lp := cons(point [real,imag, funTable(i,j).rr,
+ funTable(i,j).th] ,lp)
+ imag := imag + delImag
+ real := real + delReal
+ llp := cons(reverse! lp, llp)
+ llp := reverse! llp
+ space := mesh(llp)$ThreeSpace(DoubleFloat)
+ makeViewport3D(space, "Complex Function")$VIEW3D
+
+-- draw a complex vector field
+-- these vector fields should be viewed from the top by pressing the
+-- "XY" translate button on the VIEW3D control panel
+
+-- parameters:
+-- f: the mapping from C to C which we will draw
+-- realRange: the range of the reals
+-- tRange: the range of the imaginaries
+
+-- sample call:
+-- f z == sin z
+-- drawComplexVectorField(f, -2..2, -2..2)
+-- call the functions 'setRealSteps' and 'setImagSteps' to change the
+-- number of arrows drawn in each direction.
+
+drawComplexVectorField(f: C -> C, realRange: S, imagRange: S): VIEW3D ==
+ -- compute the steps size of the grid
+ delReal := (hi(realRange) - lo(realRange))/realSteps
+ delImag := (hi(imagRange) - lo(imagRange))/imagSteps
+ -- create the space to hold the arrows
+ space := create3Space()$ThreeSpace DoubleFloat
+ real := lo(realRange)
+ for i in 1..realSteps+1 repeat
+ imag := lo(imagRange)
+ for j in 1..imagSteps+1 repeat
+ -- compute the function
+ z := f complex(real, imag)
+ -- get the direction of the arrow
+ arg := argument z
+ -- get the length of the arrow
+ len := clipFun(sqrt norm z)
+ -- create point at the base of the arrow
+ p1 := point [real, imag, 0.0@DoubleFloat, arg]
+ -- scale the arrow length so it isn't too long
+ scaleLen := delReal * len
+ -- create the point at the top of the arrow
+ p2 := point [p1.1 + scaleLen*cos(arg), p1.2 + scaleLen*sin(arg),
+ 0.0@DoubleFloat, arg]
+ -- make the pointer at the top of the arrow
+ arrow := makeArrow(p1, p2, scaleLen, arg)
+ -- add the line segments in the arrow to the space
+ for a in arrow repeat curve(space, a)$ThreeSpace DoubleFloat
+ imag := imag + delImag
+ real := real + delReal
+ -- draw the vector feild
+ makeViewport3D(space, "Complex Vector Field")$VIEW3D
+
+-- relative size of the arrow head compared to the length of the arrow
+arrowScale := 0.25@DoubleFloat
+
+-- angle of the arrow head
+arrowAngle := %pi-%pi/10.0@DoubleFloat
+
+-- Add an arrow head to a line segment, which starts at 'p1', ends at 'p2',
+-- has length 'len', and and angle 'arg'. We pass 'len' and 'arg' as
+-- arguments since thet were already computed by the calling program
+makeArrow(p1, p2, len, arg) ==
+ c1 := cos(arg + arrowAngle)
+ s1 := sin(arg + arrowAngle)
+ c2 := cos(arg - arrowAngle)
+ s2 := sin(arg - arrowAngle)
+ p3 := point [p2.1 + c1*arrowScale*len, p2.2 + s1*arrowScale*len,
+ p2.3, p2.4]
+ p4 := point [p2.1 + c2*arrowScale*len, p2.2 + s2*arrowScale*len,
+ p2.3, p2.4]
+ [[p1, p2, p3], [p2, p4]]
+
+-- set the number of steps to use in the real direction
+setRealSteps(n) ==
+ free realSteps
+ realSteps := n
+
+-- set the number of steps to use in the imaginary direction
+setImagSteps(n) ==
+ free imagSteps
+ imagSteps := n
+
+-- set the maximum length of a vector
+setClipValue clip ==
+ free clipValue
+ clipValue := clip
+
+-- clip a value in the interval (-clip...clip)
+clipFun(x:DoubleFloat):DoubleFloat ==
+ min(max(x, -clipValue), clipValue)
+
+
+-- create a Newton's iteration function for the equation x**3 = 2.
+f := newtonStep(x**3 - 2)
+
+setClipValue(4)
+drawComplexVectorField(f**3, -3..3, -3..3)
+drawComplex(f**3, -3..3, -3..3)
+drawComplex(f**4, -3..3, -3..3)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images3.input.pamphlet b/src/input/images3.input.pamphlet
new file mode 100644
index 00000000..d9202aee
--- /dev/null
+++ b/src/input/images3.input.pamphlet
@@ -0,0 +1,30 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images3.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Color gallery pages 3-4
+
+)r tknot
+
+-- draw a seris of unfolding torus knots
+
+for i in 0..4 repeat torusKnot(2, 2 + i/4, 0.5, 25, 250)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images3a.input.pamphlet b/src/input/images3a.input.pamphlet
new file mode 100644
index 00000000..ff6d6741
--- /dev/null
+++ b/src/input/images3a.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images3a.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994-1996.
+@
+<<*>>=
+<<license>>
+
+-- Create a (p,q) torus-knot with radius r around the curve.
+-- The formula was derived by Larry Lambe.
+
+-- To produce a trefoil knot:
+-- torusKnot(2, 3, 0.5, 10, 200)
+
+-- compile, don't interpret functions
+)set function compile on
+
+-- read in the numeric generalized tube program
+)read ntube
+
+-- Create a (p,q) torus-knot with radius r around the curve.
+-- The formula was derived by Larry Lambe.
+-- To produce a trefoil knot:
+-- torusKnot(2, 3, 0.5)
+torusKnot(p:DFLOAT, q:DFLOAT, r:DFLOAT, uSteps:PI, tSteps:PI):VIEW3D ==
+ -- equation for the torus knot
+ knot := (t:DFLOAT):Point DFLOAT +->
+ fac := 4/(2.2@DFLOAT-sin(q*t))
+ fac * point [cos(p*t), sin(p*t), cos(q*t)]
+ -- equation for the cross section of the tube
+ circle := (u:DFLOAT, t:DFLOAT):Point DFLOAT +->
+ r * point [cos u, sin u]
+ -- draw the tube around the knot
+ ntubeDrawOpt(knot, circle, 0..2*%pi, 0..2*%pi, var1Steps == uSteps,
+ var2Steps == tSteps)
+
+
+
+-- draw a seris of unfolding torus knots
+
+for i in 0..4 repeat torusKnot(2, 2 + i/4, 0.5, 25, 250)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images5.input.pamphlet b/src/input/images5.input.pamphlet
new file mode 100644
index 00000000..49a96b2c
--- /dev/null
+++ b/src/input/images5.input.pamphlet
@@ -0,0 +1,102 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images5.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Color gallery page 5
+
+
+-- Etruscan Venus
+-- Parameterization by George Frances
+
+venus(a,r,steps) ==
+ surf := (u:DoubleFloat, v:DoubleFloat): Point DoubleFloat +->
+ cv := cos(v)
+ sv := sin(v)
+ cu := cos(u)
+ su := sin(u)
+ x := r * cos(2*u) * cv + sv * cu
+ y := r * sin(2*u) * cv - sv * su
+ z := a * cv
+ point [x,y,z]
+ draw(surf, 0..%pi, -%pi..%pi, var1Steps==steps,var2Steps==steps,
+ title == "Etruscan Venus")
+
+venus(5/2, 13/10, 50)
+
+-- Figure Eight Klein Bottle
+-- Parameterization from:
+-- "Differential Geometry and Computer Graphics" by Thomas Banchoff
+-- in Perspectives in Mathemtaics, Anneversry of Oberwolfasch 1984.
+-- Beirkhauser-Verlag, Basel, pp 43-60.
+
+klein(x,y) ==
+ cx := cos(x)
+ cy := cos(y)
+ sx := sin(x)
+ sy := sin(y)
+ sx2 := sin(x/2)
+ cx2 := cos(x/2)
+ sq2 := sqrt(2.0@DoubleFloat)
+ point [cx * (cx2 * (sq2 + cy) + (sx2 * sy * cy)), _
+ sx * (cx2 * (sq2 + cy) + (sx2 * sy * cy)), _
+ -sx2 * (sq2 + cy) + cx2 * sy * cy]
+
+draw(klein, 0..4*%pi, 0..2*%pi, var1Steps==50, var2Steps==50, _
+ title=="Figure Eight Klein Bottle")
+
+-- Twisted torus
+
+)read ntube
+
+-- rotate a 2-d point by theta round the origin
+rotateBy(p, theta) ==
+ c := cos(theta)
+ s := sin(theta)
+ point [p.1*c - p.2*s, p.1*s + p.2*c]
+
+-- a circle in 3-space
+bcircle t ==
+ point [3*cos t, 3*sin t, 0]
+
+-- an elipse which twists around 4 times as t revolves once.
+twist(u, t) ==
+ theta := 4*t
+ p := point [sin u, cos(u)/2]
+ rotateBy(p, theta)
+
+ntubeDrawOpt(bcircle, twist, 0..2*%pi, 0..2*%pi, _
+ var1Steps == 70, var2Steps == 250)
+
+-- Striped torus
+
+-- a twisting circle
+twist2(u, t) ==
+ theta := t
+ p := point [sin u, cos(u)]
+ rotateBy(p, theta)
+
+-- color function producing 21 stripes
+cf(u,v) == sin(21*u)
+
+ntubeDrawOpt(bcircle, twist2, 0..2*%pi, 0..2*%pi, _
+ colorFunction == cf, var1Steps == 168, var2Steps == 126)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images5a.input.pamphlet b/src/input/images5a.input.pamphlet
new file mode 100644
index 00000000..a44a3810
--- /dev/null
+++ b/src/input/images5a.input.pamphlet
@@ -0,0 +1,175 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images5a.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994-1996.
+@
+<<*>>=
+<<license>>
+
+-- Etruscan Venus
+-- Parameterization by George Frances
+
+venus(a,r,steps) ==
+ surf := (u:DoubleFloat, v:DoubleFloat): Point DoubleFloat +->
+ cv := cos(v)
+ sv := sin(v)
+ cu := cos(u)
+ su := sin(u)
+ x := r * cos(2*u) * cv + sv * cu
+ y := r * sin(2*u) * cv - sv * su
+ z := a * cv
+ point [x,y,z]
+ draw(surf, 0..%pi, -%pi..%pi, var1Steps==steps,var2Steps==steps,
+ title == "Etruscan Venus")
+
+venus(5/2, 13/10, 50)
+
+-- Figure Eight Klein Bottle
+-- Parameterization from:
+-- "Differential Geometry and Computer Graphics" by Thomas Banchoff
+-- in Perspectives in Mathemtaics, Anneversry of Oberwolfasch 1984.
+-- Beirkhauser-Verlag, Basel, pp 43-60.
+
+klein(x,y) ==
+ cx := cos(x)
+ cy := cos(y)
+ sx := sin(x)
+ sy := sin(y)
+ sx2 := sin(x/2)
+ cx2 := cos(x/2)
+ sq2 := sqrt(2.0@DoubleFloat)
+ point [cx * (cx2 * (sq2 + cy) + (sx2 * sy * cy)), _
+ sx * (cx2 * (sq2 + cy) + (sx2 * sy * cy)), _
+ -sx2 * (sq2 + cy) + cx2 * sy * cy]
+
+draw(klein, 0..4*%pi, 0..2*%pi, var1Steps==50, var2Steps==50, _
+ title=="Figure Eight Klein Bottle")
+
+-- Twisted torus
+
+-- Generalized tubes.
+-- The functions in this file draw a 2-d curve in the normal
+-- planes around a 3-d curve. The computations are all done
+-- numerically in machine-precision floating point for efficiency.
+
+R3 := Point DoubleFloat -- Points in 3-Space
+R2 := Point DoubleFloat -- Points in 2-Space
+S := Segment Float -- Draw ranges
+ThreeCurve := DoubleFloat -> R3 -- type of a space curve function
+TwoCurve := (DoubleFloat, DoubleFloat) -> R2 -- type of a plane curve function
+Surface := (DoubleFloat, DoubleFloat) -> R3 -- type of a parameterized surface function
+
+-- Frenet frames define a coordinate system around a point on a space curve
+FrenetFrame := Record(value: R3, tagent: R3, normal: R3, binormal: R3)
+
+-- Holds current Frenet frame for a point on a curve
+frame: FrenetFrame
+
+-- compile, don't interpret functions
+)set fun compile on
+
+-- Draw a generalized tube.
+-- ntubeDraw(spaceCurve, planeCurve, u0..u1, t0..t1)
+-- draws planeCurve int the normal planes of spaceCurve. u0..u1 specifies
+-- the paramter range of the planeCurve and t0..t1 specifies the parameter
+-- range of the spaceCurve. Additionally the plane curve function takes
+-- as a second parameter the current parameter of the spaceCurve. This
+-- allows the plane curve to evolve as it goes around the space curve.
+-- see "page5.input" for an example of this.
+ntubeDraw: (ThreeCurve, TwoCurve, S, S) -> VIEW3D
+ntubeDraw(spaceCurve, planeCurve, uRange, tRange) ==
+ ntubeDrawOpt(spaceCurve, planeCurve, uRange, tRange, []$List DROPT)
+
+-- ntuberDrawOpt is the same as ntuberDraw, but takes optional
+-- parameters which it passes to the draw command.
+ntubeDrawOpt: (ThreeCurve, TwoCurve, S, S, List DROPT) -> VIEW3D
+ntubeDrawOpt(spaceCurve, planeCurve, uRange, tRange, l) ==
+ delT:DoubleFloat := (hi(tRange) - lo(tRange))/10000
+ oldT:DoubleFloat := lo(tRange) - 1
+ fun := ngeneralTube(spaceCurve, planeCurve, delT, oldT)
+ draw(fun, uRange, tRange, l)
+
+-- nfrenetFrame(c, t, delT) numerically computes the Frenet Frame
+-- about the curve c at t. delT is a small number used to
+-- compute derivatives.
+nfrenetFrame(c, t, delT) ==
+ f0 := c(t)
+ f1 := c(t+delT)
+ t0 := f1 - f0 -- the tangent
+ n0 := f1 + f0
+ b := cross(t0, n0) -- the binormal
+ n := cross(b,t0) -- the normal
+ ln := length n
+ lb := length b
+ ln = 0 or lb = 0 => error "Frenet Frame not well defined"
+ n := (1/ln)*n -- make into unit length vectors
+ b := (1/lb)*b
+ [f0, t0, n, b]$FrenetFrame
+
+-- nGeneralTube(spaceCurve, planeCurve, delT, oltT)
+-- creates a function which can be passed to the system draw command.
+-- The function is a parameterized surface for the general tube
+-- around the spaceCurve. delT is a small number used to compute
+-- derivatives, and oldT is used to hold the current value of the
+-- t parameter for the spaceCurve. This is an efficiency measure
+-- to ensure that frames are only computed once for every value of t.
+ngeneralTube: (ThreeCurve, TwoCurve, DoubleFloat, DoubleFloat) -> Surface
+ngeneralTube(spaceCurve, planeCurve, delT, oldT) ==
+ free frame
+ (v:DoubleFloat, t: DoubleFloat): R3 +->
+ if (t ~= oldT) then
+ frame := nfrenetFrame(spaceCurve, t, delT)
+ oldT := t
+ p := planeCurve(v, t)
+ frame.value + p.1*frame.normal + p.2*frame.binormal
+
+
+-- rotate a 2-d point by theta round the origin
+rotateBy(p, theta) ==
+ c := cos(theta)
+ s := sin(theta)
+ point [p.1*c - p.2*s, p.1*s + p.2*c]
+
+-- a circle in 3-space
+bcircle t ==
+ point [3*cos t, 3*sin t, 0]
+
+-- an elipse which twists around 4 times as t revolves once.
+twist(u, t) ==
+ theta := 4*t
+ p := point [sin u, cos(u)/2]
+ rotateBy(p, theta)
+
+ntubeDrawOpt(bcircle, twist, 0..2*%pi, 0..2*%pi, _
+ var1Steps == 70, var2Steps == 250)
+
+-- Striped torus
+
+-- a twisting circle
+twist2(u, t) ==
+ theta := t
+ p := point [sin u, cos(u)]
+ rotateBy(p, theta)
+
+-- color function producing 21 stripes
+cf(u,v) == sin(21*u)
+
+ntubeDrawOpt(bcircle, twist2, 0..2*%pi, 0..2*%pi, _
+ colorFunction == cf, var1Steps == 168, var2Steps == 126)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images6.input.pamphlet b/src/input/images6.input.pamphlet
new file mode 100644
index 00000000..6d362774
--- /dev/null
+++ b/src/input/images6.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images6.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Color gallery page 6
+
+-- 3-d surface whose height is the real part of the Gamma function,
+-- and whose color is the argument of the Gamma function
+gam(x,y) ==
+ g := Gamma complex(x,y)
+ point [x,y,max(min(real g, 4), -4), argument g]
+
+draw(gam, -%pi..%pi, -%pi..%pi, title == "Gamma(x + %i*y)",
+ var1Steps == 100, var2Steps == 100)
+
+-- The Beta function
+
+b(x,y) == Beta(x,y)
+draw(b, -3.1..3, -3.1 .. 3, title == "Beta(x,y)")
+
+-- The complex arc tangent function
+atf(x,y) ==
+ a := atan complex(x,y)
+ point [x,y,real a, argument a]
+
+draw(atf, -3.0..%pi, -3.0..%pi)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images6a.input.pamphlet b/src/input/images6a.input.pamphlet
new file mode 100644
index 00000000..44a06d43
--- /dev/null
+++ b/src/input/images6a.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images6a.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994-1996.
+@
+<<*>>=
+<<license>>
+
+-- 3-d surface whose height is the real part of the Gamma function,
+-- and whose color is the argument of the Gamma function
+gam(x,y) ==
+ g := Gamma complex(x,y)
+ point [x,y,max(min(real g, 4), -4), argument g]
+
+draw(gam, -%pi..%pi, -%pi..%pi, title == "Gamma(x + %i*y)",
+ var1Steps == 100, var2Steps == 100)
+
+-- The Beta function
+
+b(x,y) == Beta(x,y)
+draw(b, -3.1..3, -3.1 .. 3, title == "Beta(x,y)")
+
+-- The complex arc tangent function
+atf(x,y) ==
+ a := atan complex(x,y)
+ point [x,y,real a, argument a]
+
+draw(atf, -3.0..%pi, -3.0..%pi)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images7.input.pamphlet b/src/input/images7.input.pamphlet
new file mode 100644
index 00000000..0d3ee375
--- /dev/null
+++ b/src/input/images7.input.pamphlet
@@ -0,0 +1,56 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images7.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Color gallery page 7
+
+)r conformal
+
+-- Conformal maps
+
+-- The map z +-> z + 1/z on the complex plane
+
+-- The coordinate grid for the complex plane
+
+f z == z
+
+conformalDraw(f, -2..2, -2..2, 9, 9, "cartesian")
+
+f z == z + 1/z
+
+conformalDraw(f, -2..2, -2..2, 9, 9, "cartesian")
+
+-- The map z +-> -(z+1)/(z-1)
+-- This function maps the unit disk to the right half-plane, as shown
+-- on the Riemann sphere.
+
+-- The unit disk
+f z == z
+riemannConformalDraw(f, 0.1..0.99, 0..2*%pi, 7, 11, "polar")
+
+-- The right half-plane
+f z == -(z+1)/(z-1)
+riemannConformalDraw(f, 0.1..0.99, 0..2*%pi, 7, 11, "polar")
+
+-- Visualization of the mapping from the complex plane to the Riemann Sphere.
+riemannSphereDraw(-4..4, -4..4, 7, 7, "cartesian")
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images7a.input.pamphlet b/src/input/images7a.input.pamphlet
new file mode 100644
index 00000000..bc6fc3bc
--- /dev/null
+++ b/src/input/images7a.input.pamphlet
@@ -0,0 +1,213 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images7a.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- Drawing conformal maps.
+
+-- The functions in this file draw conformal maps both on the
+-- complex plane and on the Riemann sphere.
+
+-- Compile, don't interpret functions.
+)set fun comp on
+
+C := Complex DoubleFloat -- Complex Numbers
+S := Segment DoubleFloat -- Draw ranges
+R3 := POINT DoubleFloat -- points in 3-space
+
+-- conformalDraw(f, rRange, tRange, rSteps, tSteps, coord)
+-- draws the image of the coordinate grid under f in the complex plane.
+-- The grid may be given in either polar or cartesian coordinates.
+-- parameter descriptions:
+-- f: the function to draw
+-- rRange: the range of the radius (in polar) or real (in cartesian)
+-- tRange: the range of theta (in polar) or imaginary (in cartesian)
+-- tSteps, rSteps: the number of intervals in each direction
+-- coord: the coordinate system to use. Either "polar" or "cartesian"
+
+conformalDraw: (C -> C, S, S, PI, PI, String) -> VIEW3D
+conformalDraw(f, rRange, tRange, rSteps, tSteps, coord) ==
+ transformC :=
+ coord = "polar" => polar2Complex
+ cartesian2Complex
+ cm := makeConformalMap(f, transformC)
+ sp := createThreeSpace()
+ adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps)
+ makeViewport3D(sp, "Conformal Map")
+
+-- riemannConformalDraw(f, rRange, tRange, rSteps, tSteps, coord)
+-- draws the image of the coordinate grid under f on the Riemann sphere.
+-- The grid may given in either polar or cartesian coordinates.
+-- parameter descriptions:
+-- f: the function to draw
+-- rRange: the range of the radius(in polar) or real (in cartesian)
+-- tRange: the range of theta (in polar) or imaginary (in cartesian)
+-- tSteps, rSteps: the number of intervals in each direction
+-- coord: the coordinate system to use. either "polar" or "cartesian"
+
+riemannConformalDraw: (C -> C, S, S, PI, PI, String) -> VIEW3D
+riemannConformalDraw(f, rRange, tRange, rSteps, tSteps, coord) ==
+ transformC :=
+ coord = "polar" => polar2Complex
+ cartesian2Complex
+ sp := createThreeSpace()
+ cm := makeRiemannConformalMap(f, transformC)
+ adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps)
+ -- add an invisible point at the north pole for scaling
+ curve(sp, [point [0,0,2.0@DoubleFloat,0], point [0,0, 2.0@DoubleFloat,0]])
+ makeViewport3D(sp, "Conformal Map on the Riemann Sphere")
+
+-- Plot the coordinate grid using adaptive plotting for the coordinate
+-- lines, and drawing tubes around the lines.
+adaptGrid(sp, f, uRange, vRange, uSteps, vSteps) ==
+ delU := (hi(uRange) - lo(uRange))/uSteps
+ delV := (hi(vRange) - lo(vRange))/vSteps
+ uSteps := uSteps + 1; vSteps := vSteps + 1
+ u := lo uRange
+ -- draw the coodinate lines in the v direction
+ for i in 1..uSteps repeat
+ -- create a curve 'c' which fixes the current value of 'u'
+ c := curryLeft(f,u)
+ cf := (t:DoubleFloat):DoubleFloat +-> 0
+ -- draw the 'v' coordinate line
+ makeObject(c, vRange::Segment Float, colorFunction == cf, space == sp, _
+ tubeRadius == 0.02, tubePoints == 6)
+ u := u + delU
+ v := lo vRange
+ -- draw the coodinate lines in the u direction
+ for i in 1..vSteps repeat
+ -- create a curve 'c' which fixes the current value of 'v'
+ c := curryRight(f,v)
+ cf := (t:DoubleFloat):DoubleFloat +-> 1
+ -- draw the 'u' coordinate line
+ makeObject(c, uRange::Segment Float, colorFunction == cf, space == sp, _
+ tubeRadius == 0.02, tubePoints == 6)
+ v := v + delV
+ void()
+
+-- map a point in the complex plane to the Riemann sphere.
+riemannTransform(z) ==
+ r := sqrt norm z
+ cosTheta := (real z)/r
+ sinTheta := (imag z)/r
+ cp := 4*r/(4+r**2)
+ sp := sqrt(1-cp*cp)
+ if r>2 then sp := -sp
+ point [cosTheta*cp, sinTheta*cp, -sp + 1]
+
+-- convert cartesian coordinates to cartesian form complex
+cartesian2Complex(r:DoubleFloat, i:DoubleFloat):C == complex(r, i)
+
+-- convert polar coordinates to cartesian form complex
+polar2Complex(r:DoubleFloat, th:DoubleFloat):C == complex(r*cos(th), r*sin(th))
+
+-- convert a complex function into a mapping from (DoubleFloat,DoubleFloat) to R3 in the
+-- complex plane.
+makeConformalMap(f, transformC) ==
+ (u:DoubleFloat,v:DoubleFloat):R3 +->
+ z := f transformC(u, v)
+ point [real z, imag z, 0.0@DoubleFloat]
+
+-- convert a complex function into a mapping from (DoubleFloat,DoubleFloat) to R3 on the
+-- Riemann sphere.
+makeRiemannConformalMap(f, transformC) ==
+ (u:DoubleFloat, v:DoubleFloat):R3 +-> riemannTransform f transformC(u, v)
+
+-- draw a picture of the mapping of the complex plane to the Riemann sphere.
+riemannSphereDraw: (S, S, PI, PI, String) -> VIEW3D
+riemannSphereDraw(rRange, tRange, rSteps, tSteps, coord) ==
+ transformC :=
+ coord = "polar" => polar2Complex
+ cartesian2Complex
+ grid := (u:DoubleFloat , v:DoubleFloat): R3 +->
+ z1 := transformC(u, v)
+ point [real z1, imag z1, 0]
+ sp := createThreeSpace()
+ adaptGrid(sp, grid, rRange, tRange, rSteps, tSteps)
+ connectingLines(sp, grid, rRange, tRange, rSteps, tSteps)
+ makeObject(riemannSphere, 0..2*%pi, 0..%pi, space == sp)
+ f := (z:C):C +-> z
+ cm := makeRiemannConformalMap(f, transformC)
+ adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps)
+ makeViewport3D(sp, "Riemann Sphere")
+
+-- draw the lines which connect the points in the complex plane to
+-- the north pole of the Riemann sphere.
+connectingLines(sp, f, uRange, vRange, uSteps, vSteps) ==
+ delU := (hi(uRange) - lo(uRange))/uSteps
+ delV := (hi(vRange) - lo(vRange))/vSteps
+ uSteps := uSteps + 1; vSteps := vSteps + 1
+ u := lo uRange
+ -- for each grid point
+ for i in 1..uSteps repeat
+ v := lo vRange
+ for j in 1..vSteps repeat
+ p1 := f(u,v)
+ p2 := riemannTransform complex(p1.1, p1.2)
+ fun := lineFromTo(p1,p2)
+ cf := (t:DoubleFloat):DoubleFloat +-> 3
+ makeObject(fun, 0..1, space == sp, tubePoints == 4, tubeRadius == 0.01,
+ colorFunction == cf)
+ v := v + delV
+ u := u + delU
+ void()
+
+riemannSphere(u,v) ==
+ sv := sin(v)
+ 0.99@DoubleFloat*(point [cos(u)*sv, sin(u)*sv, cos(v),0.0@DoubleFloat]) +
+ point [0.0@DoubleFloat, 0.0@DoubleFloat, 1.0@DoubleFloat, 4.0@DoubleFloat]
+
+-- create a line functions which goeas from p1 to p2 as its paramter
+-- goes from 0 to 1.
+lineFromTo(p1, p2) ==
+ d := p2 - p1
+ (t:DoubleFloat):Point DoubleFloat +-> p1 + t*d
+
+-- Conformal maps
+
+-- The map z +-> z + 1/z on the complex plane
+
+-- The coordinate grid for the complex plane
+
+f z == z
+
+conformalDraw(f, -2..2, -2..2, 9, 9, "cartesian")
+
+f z == z + 1/z
+
+conformalDraw(f, -2..2, -2..2, 9, 9, "cartesian")
+
+-- The map z +-> -(z+1)/(z-1)
+-- This function maps the unit disk to the right half-plane, as shown
+-- on the Riemann sphere.
+
+-- The unit disk
+f z == z
+riemannConformalDraw(f, 0.1..0.99, 0..2*%pi, 7, 11, "polar")
+
+-- The right half-plane
+f z == -(z+1)/(z-1)
+riemannConformalDraw(f, 0.1..0.99, 0..2*%pi, 7, 11, "polar")
+
+-- Visualization of the mapping from the complex plane to the Riemann Sphere.
+riemannSphereDraw(-4..4, -4..4, 7, 7, "cartesian")
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images8.input.pamphlet b/src/input/images8.input.pamphlet
new file mode 100644
index 00000000..449ef05e
--- /dev/null
+++ b/src/input/images8.input.pamphlet
@@ -0,0 +1,50 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images8.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Color gallery page 8
+
+-- Sierpinsky's Tetrahedron
+
+)read tetra
+
+drawPyramid 4
+
+-- Antoine's Rings
+
+)read antoine
+
+drawRings 2
+
+-- Scherk's Minimal surface
+
+)read scherk
+
+drawScherk(3,3)
+
+-- Ribbon Plot of [x**i for i in 1..5]
+
+)r ribbons
+
+)set message test off
+drawRibbons([x**i for i in 1..5], x=-1..1, y=0..2)
+)set message test on
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/images8a.input.pamphlet b/src/input/images8a.input.pamphlet
new file mode 100644
index 00000000..7aae8801
--- /dev/null
+++ b/src/input/images8a.input.pamphlet
@@ -0,0 +1,268 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input images8a.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- Sierpinsky's Tetrahedron
+
+
+-- Sierpinsky's Tetrahedron
+-- Bring DH matrices into the environment
+)set expose add con DenavitHartenbergMatrix
+
+-- Create Affine transformations (DH matrices) that transform
+-- a given triangle into another given triangle
+
+-- tri2tri(t1, t2) returns a DHMATRIX which transforms t1 to t2,
+-- where t1 and t2 are the vertices of two triangles in 3-space.
+tri2tri(t1: List Point DoubleFloat, t2: List Point DoubleFloat): DHMATRIX(DoubleFloat) ==
+ n1 := triangleNormal(t1)
+ n2 := triangleNormal(t2)
+ tet2tet(concat(t1, n1), concat(t2, n2))
+
+-- tet2tet(t1, t2) returns a DHMATRIX which transforms t1 to t2,
+-- where t1 and t2 are the vertices of two tetrahedrons in 3-space.
+tet2tet(t1: List Point DoubleFloat, t2: List Point DoubleFloat): DHMATRIX(DoubleFloat) ==
+ m1 := makeColumnMatrix t1
+ m2 := makeColumnMatrix t2
+ m2 * inverse(m1)
+
+-- put the vertices of a tetrahedron into matrix form
+makeColumnMatrix(t) ==
+ m := new(4,4,0)$DHMATRIX(DoubleFloat)
+ for x in t for i in 1..repeat
+ for j in 1..3 repeat
+ m(j,i) := x.j
+ m(4,i) := 1
+ m
+
+-- return a vector normal to the given triangle, whose length
+-- is the square root of the area of the triangle
+triangleNormal(t) ==
+ a := triangleArea t
+ p1 := t.2 - t.1
+ p2 := t.3 - t.2
+ c := cross(p1, p2)
+ len := length(c)
+ len = 0 => error "degenerate triangle!"
+ c := (1/len)*c
+ t.1 + sqrt(a) * c
+
+-- compute the are of a triangle using Heron's formula
+triangleArea t ==
+ a := length(t.2 - t.1)
+ b := length(t.3 - t.2)
+ c := length(t.1 - t.3)
+ s := (a+b+c)/2
+ sqrt(s*(s-a)*(s-b)*(s-c))
+
+-- set up the coordinates of the corners of a tetrahedron
+x1:DoubleFloat := sqrt(2.0@DoubleFloat/3.0@DoubleFloat)
+x2:DoubleFloat := sqrt(3.0@DoubleFloat)/6
+
+p1 := point [-0.5@DoubleFloat, -x2, 0.0@DoubleFloat]
+p2 := point [0.5@DoubleFloat, -x2, 0.0@DoubleFloat]
+p3 := point [0.0@DoubleFloat, 2*x2, 0.0@DoubleFloat]
+p4 := point [0.0@DoubleFloat, 0.0@DoubleFloat, x1]
+
+-- The base of the tetrahedron
+baseTriangle := [p2, p1, p3]
+
+-- The "middle triangle" inscribed in the base of the tetrahedon
+mt := [0.5@DoubleFloat*(p2+p1), 0.5@DoubleFloat*(p1+p3), 0.5@DoubleFloat*(p3+p2)]
+
+-- The bases of the triangles of the subdivided tetrahedon
+bt1 := [mt.1, p1, mt.2]
+bt2 := [p2, mt.1, mt.3]
+bt3 := [mt.2, p3, mt.3]
+bt4 := [0.5@DoubleFloat*(p2+p4), 0.5@DoubleFloat*(p1+p4), 0.5@DoubleFloat*(p3+p4)]
+
+-- create the transformations which bring the base of the tetrahedron
+-- to the bases of the subdivided tetrahedron
+tt1 := tri2tri(baseTriangle, bt1)
+tt2 := tri2tri(baseTriangle, bt2)
+tt3 := tri2tri(baseTriangle, bt3)
+tt4 := tri2tri(baseTriangle, bt4)
+
+-- Draw a Sierpinsky tetrahedron with n levels of recursive subdivision
+drawPyramid(n) ==
+ s := create3Space()$ThreeSpace DoubleFloat
+ dh := rotatex(0.0@DoubleFloat)
+ drawPyramidInner(s, n, dh)
+ makeViewport3D(s, "Sierpinsky Tetrahedron")$VIEW3D
+
+-- Recursively draw a Sierpinsky tetrahedron
+drawPyramidInner(s, n, dh) ==
+ n = 0 => makeTetrahedron(s, dh, n)
+ -- draw the 4 recursive pyramids
+ drawPyramidInner(s, n-1, dh * tt1)
+ drawPyramidInner(s, n-1, dh * tt2)
+ drawPyramidInner(s, n-1, dh * tt3)
+ drawPyramidInner(s, n-1, dh * tt4)
+
+-- draw a tetrahedron into the given space, with the given color,
+-- transforming it by the given DH matrix
+makeTetrahedron(sp, dh, color) ==
+ w1 := dh*p1
+ w2 := dh*p2
+ w3 := dh*p3
+ w4 := dh*p4
+ polygon(sp, [w1, w2, w4])
+ polygon(sp, [w1, w3, w4])
+ polygon(sp, [w2, w3, w4])
+ void()
+
+drawPyramid 4
+
+-- Antoine's Rings
+
+-- Draw Antoine's Necklace
+-- Thanks to Matt Grayson (formerly at IBM's T.J Watson Research Center)
+-- for the idea.
+
+-- Bring DH matrices into the environment
+)set expose add con DenavitHartenbergMatrix
+
+-- The current transformation for drawing a sub-ring
+torusRot: DHMATRIX(DoubleFloat)
+
+-- Draw Antoine's Rings with n levels of recursive subdivision.
+-- The number of subrings is 10**n.
+drawRings(n) ==
+ s := create3Space()$ThreeSpace DoubleFloat
+ -- create an identity transformation
+ dh:DHMATRIX(DoubleFloat) := identity()
+ drawRingsInner(s, n, dh)
+ makeViewport3D(s, "Antoine's Necklace")
+
+-- Recursively draw Antoine's Necklace.
+drawRingsInner(s, n, dh) ==
+ n = 0 =>
+ drawRing(s, dh)
+ void()
+ t := 0.0@DoubleFloat -- the current angle around the ring
+ p := 0.0@DoubleFloat -- the angle of the subring from the plane
+ tr := 1.0@DoubleFloat -- the amount to translate the subring
+ inc := 0.1@DoubleFloat -- translation increment
+ -- subdivide the ring into 10 linked rings
+ for i in 1..10 repeat
+ tr := tr + inc
+ inc := -inc
+ dh' := dh * rotatez(t) * translate(tr, 0.0@DoubleFloat, 0.0@DoubleFloat) *
+ rotatey(p) * scale(0.35@DoubleFloat, 0.48@DoubleFloat, 0.4@DoubleFloat)
+ drawRingsInner(s, n-1, dh')
+ t := t + 36.0@DoubleFloat
+ p := p + 90.0@DoubleFloat
+ void()
+
+-- draw a single ring into the given subspace, transformed by the given
+-- DHMATRIX.
+drawRing(s, dh) ==
+ free torusRot
+ torusRot := dh
+ makeObject(torus, 0..2*%pi, 0..2*%pi, var1Steps == 6, space == s,
+ var2Steps == 15)
+
+-- Parameterization of a torus, transformed by the DHMATRIX in torusRot.
+torus(u ,v) ==
+ cu := cos(u)/6
+ torusRot * point [(1+cu)*cos(v), (1+cu)*sin(v), (sin u)/6]
+
+drawRings 2
+
+-- Scherk's Minimal surface
+-- Defined by:
+-- exp(z) * cos(x) = cos(y)
+-- See: A comprehensive Introduction to Differential Geometry, Vol. 3,
+-- by Michael Spivak, Publish Or Persih, Berkeley, 1979, pp 249-252.
+
+-- Off set for a single piece of Scherk's minimal surface
+(xOffset, yOffset):DoubleFloat
+
+-- DrawScherk's minimal surface on an m by n patch.
+drawScherk(m,n) ==
+ free xOffset, yOffset
+ space := create3Space()$ThreeSpace(DoubleFloat)
+ for i in 0..m-1 repeat
+ xOffset := i*%pi
+ for j in 0 .. n-1 repeat
+ rem(i+j, 2) = 0 => 'iter
+ yOffset := j*%pi
+ drawOneScherk(space)
+ makeViewport3D(space, "Scherk's Minimal Surface")
+
+-- The four patches which make up a single piece of Scherk's minimal surface.
+scherk1(u,v) ==
+ x := cos(u)/exp(v)
+ point [xOffset + acos(x), yOffset + u, v, abs(v)]
+
+scherk2(u,v) ==
+ x := cos(u)/exp(v)
+ point [xOffset - acos(x), yOffset + u, v, abs(v)]
+
+scherk3(u,v) ==
+ x := exp(v) * cos(u)
+ point [xOffset + u, yOffset + acos(x), v, abs(v)]
+
+scherk4(u,v) ==
+ x := exp(v) * cos(u)
+ point [xOffset + u, yOffset - acos(x), v, abs(v)]
+
+
+-- We draw the surface by breaking it into 4 patches, and drawing them
+-- into a single space.
+drawOneScherk(s) ==
+ makeObject(scherk1, -%pi/2..%pi/2, 0..%pi/2, space == s, _
+ var1Steps == 28, var2Steps == 28)
+ makeObject(scherk2, -%pi/2..%pi/2, 0..%pi/2, space == s, _
+ var1Steps == 28, var2Steps == 28)
+ makeObject(scherk3, -%pi/2..%pi/2, -%pi/2..0, space == s, _
+ var1Steps == 28, var2Steps == 28)
+ makeObject(scherk4, -%pi/2..%pi/2, -%pi/2..0, space == s, _
+ var1Steps == 28, var2Steps == 28)
+ void()
+
+drawScherk(3,3)
+
+-- Ribbon Plot of [x**i for i in 1..5]
+
+drawRibbons(flist, xrange, yrange) ==
+ sp := createThreeSpace()
+ num := # flist
+ yVar := variable yrange
+ y0:Float := lo segment yrange
+ width:Float := (hi segment yrange - y0)/num
+ for f in flist for color in 1..num repeat
+ makeObject(f, xrange, yVar = y0..y0+width,
+ var2Steps == 1, colorFunction == (x,y) +-> color,
+ space ==sp)
+ y0:= y0 + width
+ vp := makeViewport3D(sp, "Ribbons")
+ drawStyle(vp, "shade")
+ outlineRender(vp, "on")
+ showRegion(vp, "on")
+ vp
+
+
+)set message test off
+drawRibbons([x**i for i in 1..5], x=-1..1, y=0..2)
+)set message test on
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/infprod.input.pamphlet b/src/input/infprod.input.pamphlet
new file mode 100644
index 00000000..74121fc0
--- /dev/null
+++ b/src/input/infprod.input.pamphlet
@@ -0,0 +1,64 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input infprod.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+--% Infinite products of Taylor series
+-- We compute series expansions of various infinite products using INFPROD0
+-- Author: Clifton J. Williamson
+-- Date Created: 20 August 1992
+-- Date Last Updated: 20 August 1992
+-- Keywords: Taylor series, infinite product
+-- References:
+
+)clear all
+
+-- the partition function
+
+f : UTS(INT,x,0) := 1 - x
+g : UTS(INT,x,0) := recip f
+
+-- the coefficient of x ** n in the following series is the number of ways
+-- that n can be partitioned as a sum of positive integers:
+
+infiniteProduct g
+
+-- Ramanujan's tau function
+
+h := infiniteProduct(f ** 24)
+
+-- the coefficient of x ** n in the following series is Ramanujan's
+-- function tau(n)
+
+delta := x * h
+
+-- the function tau(n) is multiplicative, i.e. if gcd(m,n) = 1, then
+-- tau(m * n) = tau(m) * tau(n)
+
+coefficient(delta,21)
+coefficient(delta,3) * coefficient(delta,7)
+
+coefficient(delta,20)
+coefficient(delta,4) * coefficient(delta,5)
+
+coefficient(delta,65)
+coefficient(delta,13) * coefficient(delta,5)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/int.input.pamphlet b/src/input/int.input.pamphlet
new file mode 100644
index 00000000..4d595fd3
--- /dev/null
+++ b/src/input/int.input.pamphlet
@@ -0,0 +1,81 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input INT.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from IntegerXmpPage
+)clear all
+
+
+-- Input generated from ugxIntegerBasicPage
+)clear all
+
+2**(5678 - 4856 + 2 * 17)
+x := -101
+abs(x)
+sign(x)
+x < 0
+x <= -1
+negative?(x)
+x > 0
+x >= 1
+positive?(x)
+zero?(x)
+one?(x)
+(x = -101)@Boolean
+odd?(x)
+even?(x)
+gcd(56788,43688)
+lcm(56788,43688)
+max(678,567)
+min(678,567)
+reduce(max,[2,45,-89,78,100,-45])
+reduce(min,[2,45,-89,78,100,-45])
+reduce(gcd,[2,45,-89,78,100,-45])
+reduce(lcm,[2,45,-89,78,100,-45])
+13 / 4
+13 quo 4
+13 rem 4
+zero?(167604736446952 rem 2003644)
+d := divide(13,4)
+d.quotient
+d.remainder
+
+-- Input generated from ugxIntegerPrimesPage
+)clear all
+
+factor 102400
+prime? 7
+prime? 8
+nextPrime 100
+prevPrime 100
+primes(100,175)
+factor(2 :: Complex Integer)
+
+-- Input generated from ugxIntegerNTPage
+)clear all
+
+[fibonacci(k) for k in 0..]
+[legendre(i,11) for i in 0..10]
+[jacobi(i,15) for i in 0..9]
+[eulerPhi i for i in 1..]
+[moebiusMu i for i in 1..]
+a := roman(78)
+b := roman(87)
+a + b
+a * b
+b rem a
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intaf.input.pamphlet b/src/input/intaf.input.pamphlet
new file mode 100644
index 00000000..009a708d
--- /dev/null
+++ b/src/input/intaf.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+x**2 / sqrt(a + b*x**3)
+integrate(%,x)
+x**3 * sqrt(a + b*x**4)
+integrate(%,x)
+1/sqrt(1+x**3)
+integrate(%,x)
+sqrt(1+x**3)
+integrate(%,x)
+1/(x * sqrt(1 + x**3))
+integrate(%,x)
+x**3/sqrt(1+x**8)
+integrate(%,x)
+x/sqrt(1-x**4)
+integrate(%,x)
+(x+1)/((x-2) * sqrt(1 + x**3))
+integrate(%,x)
+x**6/sqrt((x**7+1)*(x**7+2))
+integrate(%,x)
+sqrt(1 + sqrt(1 + x))
+integrate(%,x)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intdeq.input.pamphlet b/src/input/intdeq.input.pamphlet
new file mode 100644
index 00000000..f37da2f5
--- /dev/null
+++ b/src/input/intdeq.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intdeq.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+y := operator y
+deq := differentiate(y x, x, 2) + 2*w[0]*differentiate(y x, x) + w[0]**2*y x
+sol:= solve(deq = sin (w*x), y, x=0,[0,0])
+work:= sol *sin(w*x)
+integrate(work,x)
+D(%,x)-work
+simplify %
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intef.input.pamphlet b/src/input/intef.input.pamphlet
new file mode 100644
index 00000000..99401e71
--- /dev/null
+++ b/src/input/intef.input.pamphlet
@@ -0,0 +1,59 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1993.
+@
+<<*>>=
+<<license>>
+------------------------------ intef.input --------------------------------
+
+)clear all
+
+(a*x+b) / (b**2 * x * log(x)**2 + 2*a*b*x**2*log(x) + a**2*x**3 + x)
+integrate(%,x)
+
+((exp(x)-x**2+2*x)/(x**2*(exp(x)+x)**2))*exp((x**2-1)/x+1/(exp(x)+x))
+integrate(%,x)
+
+-- here are three which do not have elementary integrals
+sin(x)/x
+integrate(%,x)
+
+x * cot x
+integrate(%,x)
+
+(2 * log(x)**2 - log x - x**2) / (log(x)**3 - x**2 * log x)
+integrate(%,x)
+
+-- real trigonometric functions are handled directly
+cos(a * x) / (1 + cos(a * x))
+integrate(%,x)
+
+cos(3*x)*sin(2*x)
+integrate(%,x)
+
+-- integrals of hyperb. trigs are transformed back into hyperb. trigs.
+cosh(a*x)*sinh(a*x)
+integrate(%,x)
+
+
+
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intef2.input.pamphlet b/src/input/intef2.input.pamphlet
new file mode 100644
index 00000000..f1611f42
--- /dev/null
+++ b/src/input/intef2.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intef2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)clear all
+(a*x+b) / (b**2 * x * log(x)**2 + 2*a*b*x**2*log(x) + a**2*x**3 + x)
+integrate(%,x)
+((exp(x)-x**2+2*x)/(x**2*(exp(x)+x)**2))*exp((x**2-1)/x+1/(exp(x)+x))
+integrate(%,x)
+-- here is one which does not have an elementary integral
+x * cot x
+integrate(%,x)
+tan x + cos x
+integrate(%,x)
+-- integrals of hyperb. trigs are transformed back into hyperb. trigs.
+cosh(a*x)*sinh(a*x)
+integrate(%,x)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intg0.input.pamphlet b/src/input/intg0.input.pamphlet
new file mode 100644
index 00000000..e605df23
--- /dev/null
+++ b/src/input/intg0.input.pamphlet
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intg0.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+)cl all
+-- some genus 0 integrations
+y := sqrt(a * x + b)
+integrate(%,x)
+x * y
+integrate(%,x)
+z := sqrt(a**2 - x**2)
+1 / z
+integrate(%,x)
+x**2 * z
+integrate(%,x)
+x**3 / (a+b*x)**(1/3)
+integrate(%,x)
+1 / (x**3 * (a+b*x)**(1/3))
+integrate(%,x)
+-- examples of transcendentals over a curve of genus 0
+x / (y + y**2) + log(y + 1)
+integrate(%,x)
+(2 + 1/sqrt(x)) * cos(x + sqrt x)
+integrate(%,x)
+-- one which does not have an elementary integral
+log(1 + y) / x
+integrate(%,x)
+-- integrals of hyperbolic trigs are returned in terms of hyperb. trigs.
+(sinh(1+sqrt(x+b))+2*sqrt(x+b))/(sqrt(x+b)*(x+cosh(1+sqrt(x+b))))
+integrate(%,x)
+-- examples of genus 0 functions presented as transcendentals
+tan(atan(x)/2)
+integrate(%,x)
+tan(atan(x)/3)
+integrate(%,x)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intheory.input.pamphlet b/src/input/intheory.input.pamphlet
new file mode 100644
index 00000000..f2e60eb7
--- /dev/null
+++ b/src/input/intheory.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input INTHEORY.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+
+-- Input generated from IntegerNumberTheoryFunctionsXmpPage
+)clear all
+
+div144 := divisors(144)
+#(div144)
+reduce(+,div144)
+numberOfDivisors(144)
+sumOfDivisors(144)
+f1(n) == reduce(+,[moebiusMu(d) * numberOfDivisors(quo(n,d)) for d in divisors(n)])
+f1(200)
+f1(846)
+f2(n) == reduce(+,[moebiusMu(d) * sumOfDivisors(quo(n,d)) for d in divisors(n)])
+f2(200)
+f2(846)
+fibonacci(25)
+[fibonacci(n) for n in 1..15]
+fib(n) == reduce(+,[binomial(n-1-k,k) for k in 0..quo(n-1,2)])
+fib(25)
+[fib(n) for n in 1..15]
+legendre(3,5)
+legendre(23,691)
+h(d) == quo(reduce(+, [jacobi(d,k) for k in 1..quo(-d, 2)]), 2 - jacobi(d,2))
+h(-163)
+h(-499)
+h(-1832)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intlf.input.pamphlet b/src/input/intlf.input.pamphlet
new file mode 100644
index 00000000..562d58ed
--- /dev/null
+++ b/src/input/intlf.input.pamphlet
@@ -0,0 +1,27 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intlf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1)
+integrate(%, x)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intmix.input.pamphlet b/src/input/intmix.input.pamphlet
new file mode 100644
index 00000000..750f0a88
--- /dev/null
+++ b/src/input/intmix.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intmix.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- some examples of mixed functions.
+)cl all
+(x + 1) / (x * (x + log x)**(3/2)) - 1/(x * log(x)**2)
+integrate(%, x)
+-- this one requires solving a risch d.e. over an elliptic curve
+((5*x**4+2*x-2)/x**2 * (1+1/sqrt(x**3+1))+x/sqrt(x**3+1)) * exp(x*sqrt(x**3+1))
+integrate(%, x)
+-- this one does not have an elementary integral
+log(1 + exp x)**(1/3) / (1 + log(1 + exp x))
+integrate(%, x)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intmix2.input.pamphlet b/src/input/intmix2.input.pamphlet
new file mode 100644
index 00000000..da34b109
--- /dev/null
+++ b/src/input/intmix2.input.pamphlet
@@ -0,0 +1,25 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intmix2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- some examples of mixed functions.
+)cl all
+(x + 1) / (x * (x + log x)**(3/2))
+integrate(%, x)
+-- this one does not have an elementary integral
+log(1 + exp x)**(1/3) / (1 + log(1 + exp x))
+integrate(%, x)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/intrf.input.pamphlet b/src/input/intrf.input.pamphlet
new file mode 100644
index 00000000..31e37a5d
--- /dev/null
+++ b/src/input/intrf.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input intrf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- some integration of rational functions
+x + y/x
+integrate(%,x)
+-- we need not factor the denominator
+(x+1)**2/((x+1)**6+1)
+integrate(%,x)
+(2*x**2+4)**4/(x**2-2)**5
+integrate(%,x)
+x**5/(x**4+x**2+1)**2
+integrate(%,x)
+1/(x**2 + a)
+integrate(%,x)
+x**2/(x**4-a**2)
+integrate(%,x)
+x/(1-x**3)
+integrate(%,x)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ipftest.input.pamphlet b/src/input/ipftest.input.pamphlet
new file mode 100644
index 00000000..7ef4427b
--- /dev/null
+++ b/src/input/ipftest.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ipftest.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+gf2 := PF 2
+a : gf2 := primitiveElement()$gf2
+order a
+primitive? a
+createPrimitivePoly(2)$FFPOLY(gf2)
+createPrimitivePoly(4)$FFPOLY(gf2)
+createPrimitivePoly(12)$FFPOLY(gf2)
+createPrimitivePoly(5)$FFPOLY(PF 3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/is.input.pamphlet b/src/input/is.input.pamphlet
new file mode 100644
index 00000000..4f451c22
--- /dev/null
+++ b/src/input/is.input.pamphlet
@@ -0,0 +1,51 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input is.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- This is the 3n + 1 function: f(n) = n/2 if n is even,
+-- 3n + 1 otherwise
+--
+-- It can obviously be coded as
+-- f n ==
+-- even? n => n quo 2
+-- 3 * n + 1
+
+-- but we code using the pattern matching syntax:
+-- f n ==
+-- n is 2*m% => m%
+-- 3 * n + 1
+
+-- The 'integer' is to return an integer instead of a polynomial
+f n ==
+ not empty?(u := Is(n, 2*m%)) => integer eval(m%, u)
+ 3 * n + 1
+
+)set stream showall on
+
+-- The function g generates the stream of the repeated applications of f
+g(n:INT):STREAM(INT) == generate(f, n)
+
+-- There is a conjecture that g(n) gets into the cycle (1 4 2)
+-- for every n
+s := g 27
+extend(s, 150)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/isprime.input.pamphlet b/src/input/isprime.input.pamphlet
new file mode 100644
index 00000000..5d852177
--- /dev/null
+++ b/src/input/isprime.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input isprime.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+--The first two (2152302898747 and 3474749660383) are the only strong
+--pseudoprimes bases 2,3,5,7,11 less than 10^13: the remaining three
+--are the only Carmichael numbers less than 10^16 with this property.
+n := 6763*10627*29947
+prime?(n)
+factor(n)
+n := 1303*16927*157543
+prime?(n)
+factor(n)
+n := 3739*18691*153259
+prime?(n)
+factor(n)
+n := 46411*232051*417691
+prime?(n)
+factor(n)
+n := 21319*106591*3005839
+prime?(n)
+factor(n)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/kafile.input.pamphlet b/src/input/kafile.input.pamphlet
new file mode 100644
index 00000000..2297fc24
--- /dev/null
+++ b/src/input/kafile.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input KAFILE.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from KeyedAccessFileXmpPage
+)clear all
+
+ey: KeyedAccessFile(Integer) := open("/tmp/editor.year", "output")
+ey."Char" := 1986
+ey."Caviness" := 1985
+ey."Fitch" := 1984
+ey."Char"
+ey("Char")
+ey "Char"
+search("Char", ey)
+search("Smith", ey)
+remove!("Char", ey)
+keys ey
+#ey
+KE := Record(key: String, entry: Integer)
+reopen!(ey, "output")
+write!(ey, ["van Hulzen", 1983]$KE)
+write!(ey, ["Calmet", 1982]$KE)
+write!(ey, ["Wang", 1981]$KE)
+close! ey
+keys ey
+members ey
+)system rm -r /tmp/editor.year
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/kernel.input.pamphlet b/src/input/kernel.input.pamphlet
new file mode 100644
index 00000000..3652da8a
--- /dev/null
+++ b/src/input/kernel.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input KERNEL.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from KernelXmpPage
+)clear all
+
+x :: Expression Integer
+kernel x
+sin(x) + cos(x)
+kernels %
+sin(x)**2 + sin(x) + cos(x)
+kernels %
+kernels(1 :: Expression Integer)
+mainKernel(cos(x) + tan(x))
+height kernel x
+height mainKernel(sin x)
+height mainKernel(sin cos x)
+height mainKernel(sin cos (tan x + sin x))
+operator mainKernel(sin cos (tan x + sin x))
+name mainKernel(sin cos (tan x + sin x))
+f := operator 'f
+e := f(x, y, 10)
+is?(e, f)
+is?(e, 'f)
+argument mainKernel e
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/knot.input.pamphlet b/src/input/knot.input.pamphlet
new file mode 100644
index 00000000..073e649d
--- /dev/null
+++ b/src/input/knot.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input knot.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+
+-- Create a (p,q) torus-knot with radius around the curve of r.
+
+torusKnot(p,q,r) ==
+ a := 1
+ b := 1
+ ab := a+b
+ fac := 2*ab/(1.1*ab-sin(q*t))
+ Title := concat("Torus Knot of Type (", concat(p::String,
+ concat(",", concat(q::String, ")"))))
+ Curve := curve(a*fac*cos(p*t), a*fac*sin(p*t), b*fac*cos(q*t))
+ r = 0 => draw(Curve, t=0..2*%pi, title == Title)
+ draw(Curve, t=0..2*%pi, tubeRadius == r, title == Title)
+
+torusKnot(2, 3, 0.3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/knot2.input.pamphlet b/src/input/knot2.input.pamphlet
new file mode 100644
index 00000000..17c24b7c
--- /dev/null
+++ b/src/input/knot2.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input knot2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+-- see how long this all takes
+)set messages time on
+
+-- this is the color function, nothing elaborate for now
+f(x:SF):SF == x
+
+--------------------------------------------------------------
+-- Creation of the knot!!! --
+-- only p/q is really used, but p and q correspond to --
+-- the factors in the notes deriving these knotty things --
+-- see the notes for detail...too involved to explain here --
+--------------------------------------------------------------
+
+[p,q] := [3,5]
+PQ := p/q
+
+l := lcm(p, q) quo p
+maxRange := (odd? l => l * %pi::SF; 2 * l * %pi::SF)
+theRange := 0..maxRange
+
+-- create the knot
+knot:TUBE := tubePlot(sin t * cos(PQ*t),cos t * cos(PQ*t),cos t * sin(PQ*t),
+ f, theRange, 0.1::SF, 6, "open" )
+
+-- make a viewport out of it
+makeViewport3D(knot, concat ["knot",p::String,q::String])$VIEW3D
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/knownbugs.input.pamphlet b/src/input/knownbugs.input.pamphlet
new file mode 100644
index 00000000..6bb993d6
--- /dev/null
+++ b/src/input/knownbugs.input.pamphlet
@@ -0,0 +1,105 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input knownbugs.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{bugs}
+\subsection{bug1: round}
+\begin{verbatim}
+20030618000 by Bill Page <bill.page1@sympatico.ca>
+version: Tuesday June 17, 2003 at 18:27:07
+status: open
+\end{verbatim}
+This returns -5.0
+but should return -4.0
+<<bug1>>=
+round(-3.77623)
+@
+\subsection{bug2: truncate}
+\begin{verbatim}
+20030618001 by Bill Page <bill.page1@sympatico.ca>
+version: Tuesday June 17, 2003 at 18:27:07
+status: open
+\end{verbatim}
+This returns -10.0
+but should return -9.0
+<<bug2>>=
+truncate(-9.654)
+@
+\subsection{bug3 fractionPart}
+\begin{verbatim}
+20030618002 by Bill Page <bill.page1@sympatico.ca>
+version: Tuesday June 17, 2003 at 18:27:07
+status: open
+\end{verbatim}
+This returns 0.22377
+but should return -0.77623
+<<bug3>>=
+fractionPart(-3.77623)
+@
+\subsection{bug4: Using local database}
+\begin{verbatim}
+20030619000 by Bill Page <bill.page1@sympatico.ca>
+version: Tuesday June 17, 2003 at 18:27:07
+status: closed
+\end{verbatim}
+Create a file called axiom.input in your home directory.
+Add a line that reads:
+\begin{verbatim}
+)set message autoload off
+\end{verbatim}
+Next time you start axiom and type a+1 you should no longer
+get algebra load messages.
+<<bug4>>=
+--20030619000 by Bill Page <bill.page1@sympatico.ca>
+-- Using local database msg is missing a newline
+@
+\subsection{bug5: axiom issues 2 prompts}
+\begin{verbatim}
+20030619001 by Bill Page <bill.page1@sympatico.ca>
+version: Tuesday June 17, 2003 at 18:27:07
+status: open
+\end{verbatim}
+<<bug5>>=
+--20030619001 by Bill Page <bill.page1@sympatico.ca>
+-- axiom issues 2 prompts on startup
+@
+\subsection{bug6: turn off loading messages}
+\begin{verbatim}
+20030619002 by Bill Page <bill.page1@sympatico.ca>
+version: Tuesday June 17, 2003 at 18:27:07
+status: closed
+\end{verbatim}
+<<bug6>>=
+--20030619002 by Bill Page <bill.page1@sympatico.ca>
+)set message autoload off
+@
+\subsection{bug7: axiom.input should have a period prefix}
+\begin{verbatim}
+20030619003 by Bill Page <bill.page1@sympatico.ca>
+version: Tuesday June 17, 2003 at 18:27:07
+status: closed
+\end{verbatim}
+<<bug6>>=
+--20030619002 by Bill Page <bill.page1@sympatico.ca>
+)set message autoload off
+@
+<<*>>=
+<<bug1>>
+<<bug2>>
+<<bug3>>
+<<bug4>>
+<<bug5>>
+<<bug6>>
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/kovacic.input.pamphlet b/src/input/kovacic.input.pamphlet
new file mode 100644
index 00000000..7ddd2eba
--- /dev/null
+++ b/src/input/kovacic.input.pamphlet
@@ -0,0 +1,53 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input kovacic.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+y := operator y
+
+--I've added case 2 of Kovacic's algorithm for version 1.5
+--(version 1.0 had case 1 only, version 2.0 will have case 3).
+--For order 2 equations, we can now find those solutions whose
+--logarithmic derivative is an algebraic function of degree 2
+--(version 1.0 found the solutions whose logarithmic derivatives
+--were rational functions).
+--Here is an example of an equation that we can solve in 1.5 and not in 1.0:
+
+eq := 2*x**3 * differentiate(y x,x,2) + 3*x**2 * differentiate(y x,x) - 2 * y x
+
+
+solve(eq,y,x).basis
+
+--(should be:)
+--
+-- 2
+-- - ----
+-- +-+
+-- \|x 1
+-- (3) [%e ,--------]
+-- 2
+-- - ----
+-- +-+
+-- \|x
+-- %e
+-- Type: List Expression Integer
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/kuipers.input.pamphlet b/src/input/kuipers.input.pamphlet
new file mode 100644
index 00000000..b9a5847f
--- /dev/null
+++ b/src/input/kuipers.input.pamphlet
@@ -0,0 +1,518 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{Quaternions and Rotation Sequences}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{Rotations in 3-space}
+Orthogonal groups are used in Quantum Field Theory. Conway highlights
+4 kinds of orthogonal groups. First is the General Orthogonal group
+$GO_n$ which is the set of all isometries of n-dimensional Euclidean
+space $R^n$ that fix the origin. This would imply rotations and
+reflections but not translations.
+
+The determinant of any element in $GO_n$ is $+1$ or $-1$. Reflections
+have a determinant of $-1$. The elements of determinant $+1$
+(rotations) form a subgroup of index 2, the Special Orthogonal group
+$SO_n$. The product of any two reflections forms a rotation so
+grouping reflections in pairs generates $SO_n$.
+
+Conway also defines two groups derived from $GO_n$ and $SO_n$. From
+$GO_n$ we get the Projective General Orthogonal group. From $SO_n$ we
+get the Projective Special Orthogonal group. Annoyingly, he's
+introduced these groups without explaining them. And based their
+definition on an undefined $\alpha$.
+
+It is a consequence of the existence of complex numbers that $SO_2$
+and $PSO_2$ are commutative; of the existence of quaternions that
+$PSO_4$ is equivalent to $PSO_3 \times PSO_3$; and of the existence of
+octonions that <img alt=$PSO_8$ has a "triality" automorphism of order 3.
+
+Now we move back to Kuipers, Chapter 3 "Rotations in 3-space"
+
+Rotation matrices are unique. Euler angle rotations are not.
+Eigenvalues of rotation matrices are always $+1$ plus a pair of
+complex conjugates. The trace of a square matrix is the sum of the
+elements on the diagonal.
+
+The following code are the steps in the tracking example starting on p60.
+
+First we define a rotation around the X axis by a rotation angle $a$.
+
+<<spadcommand>>=
+R1:=matrix([[cos a, sin a, 0],[-sin a, cos a, 0],[0, 0, 1]])
+
+@
+
+\begin{verbatim}
+ + cos(a) sin(a) 0+
+ | |
+ (1) |- sin(a) cos(a) 0|
+ | |
+ + 0 0 1+
+
+ Type: Matrix Expression Integer
+\end{verbatim}
+
+Next we define a rotation around the Y axis by a rotation angle of $b$.
+
+<<spadcommand>>=
+R2:=matrix([[cos b, 0, -sin b],[0, 1, 0],[sin b, 0, cos b]])
+
+@
+
+\begin{verbatim}
+ +cos(b) 0 - sin(b)+
+ | |
+ (2) | 0 1 0 |
+ | |
+ +sin(b) 0 cos(b) +
+
+ Type: Matrix Expression Integer
+\end{verbatim}
+
+Then we compose them (order is important) to form the single rotation
+equivalent to first rotating around $X$, then around the new,
+displaced $Y$.
+
+<<spadcommand>>=
+R:=R2*R1
+
+@
+
+\begin{verbatim}
+ +cos(a)cos(b) cos(b)sin(a) - sin(b)+
+ | |
+ (3) | - sin(a) cos(a) 0 |
+ | |
+ +cos(a)sin(b) sin(a)sin(b) cos(b) +
+
+ Type: Matrix Expression Integer
+\end{verbatim}
+
+To find the axis of this single rotation we define the vector $V$
+
+<<spadcommand>>=
+V:=matrix([[x1],[y1],[z1]])
+@
+
+\begin{verbatim}
+ +x1+
+ | |
+ (4) |y1|
+ | |
+ +z1+
+
+ Type: Matrix Polynomial Integer
+\end{verbatim}
+
+And this is the equation we need to solve. Since we rotate around the
+vector $V$ it is unchanged when operated on by the rotation $R$, or in
+equation form we get
+
+<<spadcommand>>=
+E:=R*V=V
+
+@
+
+\begin{verbatim}
+ +- z1 sin(b) + y1 cos(b)sin(a) + x1 cos(a)cos(b)+ +x1+
+ | | | |
+ (5) | - x1 sin(a) + y1 cos(a) |= |y1|
+ | | | |
+ + (y1 sin(a) + x1 cos(a))sin(b) + z1 cos(b) + +z1+
+
+ Type: Equation Matrix Expression Integer
+\end{verbatim}
+
+We can subtract the right hand side from the left hand side thus
+
+<<spadcommand>>=
+F:=lhs(E)-rhs(E)
+
+@
+
+\begin{verbatim}
+ +- z1 sin(b) + y1 cos(b)sin(a) + x1 cos(a)cos(b) - x1+
+ | |
+ (6) | - x1 sin(a) + y1 cos(a) - y1 |
+ | |
+ + (y1 sin(a) + x1 cos(a))sin(b) + z1 cos(b) - z1 +
+
+ Type: Matrix Expression Integer
+\end{verbatim}
+
+and form the equation setting the result to zero. This has two solutions.
+The trivial solution is when $V$ is zero.
+We solve for the nontrivial solution.
+
+<<spadcommand>>=
+G:=F=matrix([[0],[0],[0]])
+
+@
+
+\begin{verbatim}
+ +- z1 sin(b) + y1 cos(b)sin(a) + x1 cos(a)cos(b) - x1+ +0+
+ | | | |
+ (7) | - x1 sin(a) + y1 cos(a) - y1 |= |0|
+ | | | |
+ + (y1 sin(a) + x1 cos(a))sin(b) + z1 cos(b) - z1 + +0+
+
+ Type: Equation Matrix Expression Integer
+\end{verbatim}
+
+
+If we pick out the second equation
+
+<<spadcommand>>=
+H:=elt(F,2,1)
+
+@
+
+\begin{verbatim}
+ (8) - x1 sin(a) + y1 cos(a) - y1
+
+ Type: Expression Integer
+\end{verbatim}
+
+and let x1 = k
+
+<<spadcommand>>=
+x1:=k
+
+@
+
+\begin{verbatim}
+ (9) k
+
+ Type: Variable k
+\end{verbatim}
+
+and substitute this into the second equation
+
+<<spadcommand>>=
+J:=subst(H,'x1=k)
+
+@
+
+\begin{verbatim}
+ (10) - k sin(a) + y1 cos(a) - y1
+
+ Type: Expression Integer
+\end{verbatim}
+
+we can solve this equation for y1.
+
+<<spadcommand>>=
+L:=solve(J,y1)
+
+@
+
+\begin{verbatim}
+ k sin(a)
+ (11) [y1= ----------]
+ cos(a) - 1
+
+ Type: List Equation Expression Integer
+\end{verbatim}
+
+and we can assign the solution to the variable y1
+
+<<spadcommand>>=
+y1:=rhs(first(solve(J,y1)))
+
+@
+
+\begin{verbatim}
+ k sin(a)
+ (12) ----------
+ cos(a) - 1
+
+ Type: Expression Integer
+\end{verbatim}
+
+Now we turn our attention to the third equation
+
+<<spadcommand>>=
+H1:=elt(F,3,1)
+
+@
+
+\begin{verbatim}
+ (13) (y1 sin(a) + x1 cos(a))sin(b) + z1 cos(b) - z1
+
+ Type: Expression Integer
+\end{verbatim}
+
+and substitute the known values for x1 and y1
+
+<<spadcommand>>=
+J1:=subst(H1,['x1=x1, 'y1=y1])
+
+@
+
+\begin{verbatim}
+ (14)
+ 2 2
+ (k sin(a) + k cos(a) - k cos(a))sin(b) + (z1 cos(a) - z1)cos(b)
+ +
+ - z1 cos(a) + z1
+ /
+ cos(a) - 1
+
+ Type: Expression Integer
+\end{verbatim}
+
+and then solve for z1, assigning it to the variable z1
+
+
+<<spadcommand>>=
+z1:=simplify(rhs(first(solve(J1,z1))))
+
+@
+
+\begin{verbatim}
+ k sin(b)
+ (15) ----------
+ cos(b) - 1
+
+ Type: Expression Integer
+\end{verbatim}
+
+So the axis of rotation is
+
+<<spadcommand>>=
+[x1,y1,z1]
+
+@
+
+\begin{verbatim}
+ k sin(a) k sin(b)
+ (16) [k,----------,----------]
+ cos(a) - 1 cos(b) - 1
+
+ Type: List Expression Integer
+\end{verbatim}
+
+We can choose a specific value of $k = -1$ so that $y1$ becomes
+
+<<spadcommand>>=
+y1:=eval(y1,[k=-1])
+
+@
+
+\begin{verbatim}
+ sin(a)
+ (17) - ----------
+ cos(a) - 1
+
+ Type: Expression Integer
+\end{verbatim}
+
+and $z1$ becomes
+
+<<spadcommand>>=
+z1:=eval(z1,[k=-1])
+
+@
+
+\begin{verbatim}
+ sin(b)
+ (18) - ----------
+ cos(b) - 1
+
+ Type: Expression Integer
+\end{verbatim}
+
+So the axis of rotation is
+
+<<spadcommand>>=
+[x1,y1,z1]
+
+@
+
+\begin{verbatim}
+ sin(a) sin(b)
+ (19) [k,- ----------,- ----------]
+ cos(a) - 1 cos(b) - 1
+
+ Type: List Expression Integer
+\end{verbatim}
+
+We need the trace of the matrix which is only defined for square matrices.
+So we create a new version of the R matrix as a square matrix $RSQ$
+
+<<spadcommand>>=
+RSQ:SQMATRIX(3,EXPR(INT)):=R
+
+@
+
+\begin{verbatim}
+ +cos(a)cos(b) cos(b)sin(a) - sin(b)+
+ | |
+ (20) | - sin(a) cos(a) 0 |
+ | |
+ +cos(a)sin(b) sin(a)sin(b) cos(b) +
+
+ Type: SquareMatrix(3,Expression Integer)
+\end{verbatim}
+
+Now we compute the trace
+
+<<spadcommand>>=
+TR:=trace(RSQ)
+
+@
+
+\begin{verbatim}
+ (21) (cos(a) + 1)cos(b) + cos(a)
+
+ Type: Expression Integer
+\end{verbatim}
+
+and we can obtain the angle of rotation by equating the trace to 1-2*cos(c)
+
+<<spadcommand>>=
+TREQ:=TR=1+2*cos(c)
+
+@
+
+\begin{verbatim}
+ (22) (cos(a) + 1)cos(b) + cos(a)= 2cos(c) + 1
+
+ Type: Equation Expression Integer
+\end{verbatim}
+
+which we can solve for c
+
+<<spadcommand>>=
+c:=rhs(first(solve(TREQ,c)))
+
+@
+
+\begin{verbatim}
+ (cos(a) + 1)cos(b) + cos(a) - 1
+ (23) acos(-------------------------------)
+ 2
+
+ Type: Expression Integer
+\end{verbatim}
+
+assuming $k=-1$, heading $a=\pi/6$, and elevation $b=\pi/3$ we can
+compute numeric values for the axis of rotation thus. First a numeric
+$x1$
+
+<<spadcommand>>=
+x1v:=eval(x1,k=-1)
+
+@
+
+\begin{verbatim}
+ (24) - 1
+
+ Type: Polynomial Integer
+\end{verbatim}
+
+then a numeric y1
+
+<<spadcommand>>=
+y1v:=numeric(eval(y1,[a=%pi/6]))
+
+@
+
+\begin{verbatim}
+ (25) 3.7320508075 688772936
+
+ Type: Float
+\end{verbatim}
+
+then a numeric z1
+
+<<spadcommand>>=
+z1v:=numeric(eval(z1,[k=-1,b=%pi/3]))
+
+@
+
+\begin{verbatim}
+ (26) 1.7320508075 688772935
+
+ Type: Float
+\end{verbatim}
+
+giving us the vector for the axis of rotation
+
+<<spadcommand>>=
+[x1v, y1v, z1v]
+
+@
+
+\begin{verbatim}
+ (27) [- 1.0,3.7320508075 688772936,1.7320508075 688772935]
+
+ Type: List Polynomial Float
+\end{verbatim}
+
+with a rotation angle (in radians) given by
+
+<<spadcommand>>=
+c1v:=numeric(eval(c,[a=%pi/6,b=%pi/3]))
+
+@
+
+\begin{verbatim}
+ (28) 1.1598041770 494147762
+
+ Type: Float
+\end{verbatim}
+
+in degrees this is
+
+<<spadcommand>>=
+c1v*180/%pi
+
+@
+
+\begin{verbatim}
+ (29) 66.4518844065 75160021
+
+ Type: Float
+\end{verbatim}
+
+We can evaluate the combined rotation matrix under our assumed values
+
+<<spadcommand>>=
+rv:=eval(R,[a=%pi/6,b=%pi/3])
+
+@
+
+\begin{verbatim}
+ + +-+ +-++
+ |\|3 1 \|3 |
+ |---- - - ----|
+ | 4 4 2 |
+ | |
+ | +-+ |
+ (30) | 1 \|3 |
+ |- - ---- 0 |
+ | 2 2 |
+ | |
+ | +-+ |
+ | 3 \|3 1 |
+ | - ---- - |
+ + 4 4 2 +
+
+ Type: Matrix Expression Integer
+\end{verbatim}
+<<*>>=
+<<spadcommand>>
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/laplace.input.pamphlet b/src/input/laplace.input.pamphlet
new file mode 100644
index 00000000..07b072a2
--- /dev/null
+++ b/src/input/laplace.input.pamphlet
@@ -0,0 +1,59 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input laplace.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- some laplace transforms
+
+)cl all
+f n == t**(n-1)*exp(-a*t)/factorial(n-1)
+
+-- L(f n) is 1/(s+a)^n
+f 2
+laplace(%, t, s)
+f 5
+laplace(%, t, s)
+sin(a*t) - a*t*cos(a*t)
+laplace(%, t, s)
+(cosh(a*t) - cos(a*t))/(2*a**2)
+laplace(%, t, s)
+exp(-a*t) * sin(b*t) / b**2
+laplace(%, t, s)
+sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t)
+laplace(%, t, s)
+(exp(a*t) - exp(b*t))/t
+laplace(%, t, s)
+2/t * (1 - cosh(a*t))
+laplace(%, t, s)
+2/t * (1 - cos(a*t))
+laplace(%, t, s)
+(cos(a*t) - cos(b*t))/t
+laplace(%, t, s)
+-- we handle some very limited form of special functions
+a*Ci(b*t) + c*Si(d*t)
+laplace(%, t, s)
+exp(a*t+b)*Ei(c*t)
+laplace(%, t, s)
+-- we keep unknown transforms as formal transform in the answer
+sin(a*t) - a*t*cos(a*t) + exp(t**2)
+laplace(%, t, s)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/leg.input.pamphlet b/src/input/leg.input.pamphlet
new file mode 100644
index 00000000..b495050a
--- /dev/null
+++ b/src/input/leg.input.pamphlet
@@ -0,0 +1,30 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input leg.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- Legendre Polynomials
+)clear all
+p(n | n=0) == 1
+p(n | n=1) == x
+p(n | n>1) == ((2*n-1)*x*p(n-1)-(n-1)*p(n-2))/n
+p 3
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lexp.input.pamphlet b/src/input/lexp.input.pamphlet
new file mode 100644
index 00000000..f8af5761
--- /dev/null
+++ b/src/input/lexp.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LEXP.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+ a: Symbol := 'a
+ b: Symbol := 'b
+ coef := Fraction(Integer)
+ group := LieExponentials(Symbol, coef, 3)
+ lpoly := LiePolynomial(Symbol, coef)
+ poly := XPBWPolynomial(Symbol, coef)
+ ea := exp(a::lpoly)$group
+ eb := exp(b::lpoly)$group
+ g: group := ea*eb
+ g :: poly
+ log(g)$group
+ g1: group := inv(g)
+ g*g1
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lextripk.input.pamphlet b/src/input/lextripk.input.pamphlet
new file mode 100644
index 00000000..8ce0cdd1
--- /dev/null
+++ b/src/input/lextripk.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LEXTRIPK.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+R := Integer
+ls : List Symbol := [a,b,c,d,e,f]
+V := OVAR(ls)
+P := NSMP(R, V)
+p1: P := a*b*c*d*e*f - 1
+p2: P := a*b*c*d*e +a*b*c*d*f +a*b*c*e*f +a*b*d*e*f +a*c*d*e*f +b*c*d*e*f
+p3: P := a*b*c*d + a*b*c*f + a*b*e*f + a*d*e*f + b*c*d*e + c*d*e*f
+p4: P := a*b*c + a*b*f + a*e*f + b*c*d + c*d*e + d*e*f
+p5: P := a*b + a*f + b*c + c*d + d*e + e*f
+p6: P := a + b + c + d + e + f
+lp := [p1, p2, p3, p4, p5, p6]
+lextripack := LEXTRIPK(R,ls)
+lg := groebner(lp)$lextripack
+lexTriangular(lg,false)$lextripack
+lts := lexTriangular(lg,true)$lextripack
+[[init(p) for p in (ts :: List(P))] for ts in lts]
+squareFreeLexTriangular(lg,true)$lextripack
+reduce(+,[degree(ts) for ts in lts])
+ls2 : List Symbol := concat(ls,new()$Symbol)
+zdpack := ZDSOLVE(R,ls,ls2)
+concat [univariateSolve(ts)$zdpack for ts in lts]
+concat [realSolve(ts)$zdpack for ts in lts]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lib.input.pamphlet b/src/input/lib.input.pamphlet
new file mode 100644
index 00000000..c8266340
--- /dev/null
+++ b/src/input/lib.input.pamphlet
@@ -0,0 +1,30 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LIB.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from LibraryXmpPage
+)clear all
+
+stuff := library "/tmp/Neat.stuff"
+stuff.int := 32**2
+stuff."poly" := x**2 + 1
+stuff.str := "Hello"
+keys stuff
+stuff.poly
+stuff("poly")
+)system rm -rf /tmp/Neat.stuff
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/limit.input.pamphlet b/src/input/limit.input.pamphlet
new file mode 100644
index 00000000..68a1a2fb
--- /dev/null
+++ b/src/input/limit.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input limit.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- The returned limit seems to be wrong:
+f := exp(n) * (sin(1/n + exp(-n)) - sin(1/n))
+
+-- - n
+-- n n %e + 1 n 1
+-- (1) %e sin(-----------) - %e sin(-)
+-- n n
+-- Type: Expression Integer
+limit(f,n=%plusInfinity)
+
+-- (2) 0
+-- Type: Union(OrderedCompletion Expression Integer,...)
+
+--I think that the correct limit is 1, not 0.
+
+-- manuel
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/linalg.input.pamphlet b/src/input/linalg.input.pamphlet
new file mode 100644
index 00000000..c39e5c77
--- /dev/null
+++ b/src/input/linalg.input.pamphlet
@@ -0,0 +1,116 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input linalg.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page MatrixMoreFunctionsPage
+)clear all
+
+m1 := matrix([[1,-2,1],[4,2,-4]])
+m2 := matrix([[0,1,2],[2,3,4],[3,4,5]])
+m3 := matrix([[1,2,3],[2,4,6]])
+m1 + m3
+100 * m1
+m1 * m2
+-m1 + m3 * m2
+m2 * m1
+v := vector([1,0,1])
+m3 * v
+m5 : MATRIX POLY INT := new(4,4,1)
+vars : LIST POLY INT := [x,y,z,u]
+for i in 1..4 repeat for j in 1..3 repeat m5(i,j + 1) := (vars.i)**j
+m5
+trace(m5)
+det := determinant(m5)
+factor(det)
+m6 := matrix([[1,2,1],[-2,3,4],[-1,5,6]])
+m6inv := inverse(m6)
+m6 * m6inv
+m7 := matrix([[1,2,1],[-2,3,4],[-1,5,5]])
+inverse(m7)
+determinant(m7)
+m8 : SQMATRIX(2,INT) := matrix([[1,2],[2,3]])
+m9 : SQMATRIX(2,INT) := matrix([[1,1],[0,1]])
+m8 ** 2
+m9 ** 3
+mm : SQMATRIX(2,SQMATRIX(2,INT)) := matrix([[1,m8],[m9,0]])
+100 * mm
+m8 * mm
+mm * mm
+p : POLY SQMATRIX(2,INT) := m8 * x**2 + m9 * x + m8 * m9
+100 * p
+m8 * p
+p * p
+
+-- Input for page MatrixCanonicalFormsPage
+)clear all
+
+m1 := matrix([[0,4,1],[5,3,-7],[-5,5,9]])
+rank(m1)
+rowEchelon(m1)
+nullSpace(m1)
+t := eigenMatrix(m1)
+inverse(t) * m1 * t
+
+-- Input for page MatrixBasicFunctionsPage
+)clear all
+
+m1 := matrix([[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]])
+m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])
+(m3,m4) : MATRIX PF 7
+m3 := matrix([[1,0,1],[5,0,1]])
+m4 := matrix([[1],[2],[5],[6]])
+m2(1,1)
+m2(1,1) := 99
+m2
+row(m2,2)
+setRow!(m2,2,vector [66,77,88])
+r := column(m2,1)
+setColumn!(m2,2,r)
+nrows(m1)
+m5 : MATRIX INT := new(12,12,0)
+for i in 2..nrows(m5) repeat m5(i-1,i):= 1
+m5
+d : MATRIX INT := diagonalMatrix([1,2,3,2,1])
+m6 := matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])
+m7 := subMatrix(m6,1,3,2,4)
+horizConcat(m6,m7)
+vertConcat(m6,subMatrix(m6,1,1,1,5))
+transpose(m6)
+setsubMatrix(m6,1,3,1,3,transpose(subMatrix(m6,1,3,1,3)))
+m6
+m8 := matrix([[1,2],[3,4]])
+m9 := m8
+m10 := copy(m8)
+m8(1,1) := 1000000
+m8
+m9
+m10
+
+-- Input for page EigenPage
+)clear all
+
+m1 : MATRIX FRAC INT := [[1,2,1],[2,1,-2],[1,-2,4]]
+leig := eigenvalues(m1)
+eigenvector(first(leig),m1)
+eigenvectors(m1)
+radicalEigenvectors(m1)
+eigenMatrix(m1)
+m2 : MATRIX FRAC INT := [[-5,-2],[18,7]]
+eigenMatrix(m2)
+m3 : MATRIX FRAC INT := [[1,2],[2,1]]
+orthonormalBasis(m3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lindep.input.pamphlet b/src/input/lindep.input.pamphlet
new file mode 100644
index 00000000..4623b09e
--- /dev/null
+++ b/src/input/lindep.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input lindep.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+v(i:INT):DIRPROD(5, FRAC INT) ==
+ directProduct vector [i / (i + j) for j in 0..4]
+-- Create several elements of Q^5
+V := vector [v i for i in 1..6]
+-- Are they linearly dependent over Z?
+linearlyDependentOverZ? V
+-- Get the linear dependence relation over Z explicitly
+linearDependenceOverZ V
+-- the Vi's are linearly dependent, express V.2 in terms of the others
+solveLinearlyOverQ(delete(V, 2), V.2)
+w(i:INT):SQMATRIX(2, INT) ==
+ squareMatrix matrix [[i, i + 1], [i - 1, -i]]
+-- Create several elements of Z(2)
+W := vector [w i for i in 1..3]
+-- Are they linearly dependent over Z?
+linearlyDependentOverZ? W
+-- Get the linear dependence relation over Z explicitly
+linearDependenceOverZ W
+-- the Wi's are linearly dependent, express W.2 in terms of the others
+solveLinearlyOverQ(delete(W, 2), W.2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/liss1.input.pamphlet b/src/input/liss1.input.pamphlet
new file mode 100644
index 00000000..e9718fd2
--- /dev/null
+++ b/src/input/liss1.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input liss1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)liss1.input 1.1 89/09/07 20:55:03
+draw(curve(9*sin(3*t/4),8*sin(t)),t = -4*%pi..4*%pi, [title "Lissajous curve"])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/liss2.input.pamphlet b/src/input/liss2.input.pamphlet
new file mode 100644
index 00000000..593779a3
--- /dev/null
+++ b/src/input/liss2.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input liss2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)liss2.input 1.1 89/09/07 20:55:05
+draw(curve(-9*sin(4*t/5),8*sin(t)),t = -5*%pi..5*%pi, [title "Lissajous curve"])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/list.input.pamphlet b/src/input/list.input.pamphlet
new file mode 100644
index 00000000..0487c9d3
--- /dev/null
+++ b/src/input/list.input.pamphlet
@@ -0,0 +1,75 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LIST.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from ListXmpPage
+)clear all
+
+
+-- Input generated from ugxListCreatePage
+)clear all
+
+[2, 4, 5, 6]
+[1]
+list(1)
+append([1,2,3],[5,6,7])
+cons(10,[9,8,7])
+
+-- Input generated from ugxListAccessPage
+)clear all
+
+empty? [x+1]
+([] = nil)@Boolean
+k := [4,3,7,3,8,5,9,2]
+first k
+k.first
+k.1
+k(1)
+n := #k
+last k
+k.last
+k.(#k)
+
+-- Input generated from ugxListChangePage
+)clear all
+
+k := [4,3,7,3,8,5,9,2]
+k.1 := 999
+k
+k := [1,2]
+m := cons(0,k)
+m.2 := 99
+m
+k
+
+-- Input generated from ugxListOtherPage
+)clear all
+
+k := [1,2,3]
+rest k
+removeDuplicates [4,3,4,3,5,3,4]
+reverse [1,2,3,4,5,6]
+member?(1/2,[3/4,5/6,1/2])
+member?(1/12,[3/4,5/6,1/2])
+
+-- Input generated from ugxListDotPage
+)clear all
+
+[1..3,10,20..23]
+expand [1..3,10,20..23]
+expand [1..]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lode.input.pamphlet b/src/input/lode.input.pamphlet
new file mode 100644
index 00000000..364f7202
--- /dev/null
+++ b/src/input/lode.input.pamphlet
@@ -0,0 +1,66 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input lode.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+-------------------------------- lode.input ---------------------------
+
+)cl all
+-- this will be the unknown
+y := operator y
+
+-- homogeneous equation with constant coefficients
+deq := differentiate(y x, x, 2) + differentiate(y x, x) + y x
+solve(deq, y, x).basis
+
+-- initial value problem: y'' + y = 0, y(0) = y'(0) = 1
+deq := differentiate(y x, x, 2) + y x
+solve(deq, y, x = 0, [1, 1])
+
+-- same with a non-constant right-hand side
+solve(deq = sin x, y, x)
+
+-- some inhomogenuous equations with rational coefficients
+deq := x**3 * differentiate(y x, x, 3) + x**2 * differentiate(y x, x, 2) - _
+2 * x * differentiate(y x, x) + 2 * y x = 2 * x**4
+solve(deq, y, x)
+-- same with initial conditions
+solve(deq, y, x = 1, [b, 0, a])
+
+-- third order equation with nontrivial singularities
+deq := (x**9 + x**3) * differentiate(y x, x, 3) + _
+18 * x**8 * differentiate(y x, x,2) - 90 * x * differentiate(y x, x) - _
+30 * (11*x**6-3) * y x
+solve(deq, y, x).basis
+
+-- third order equation on a curve of genus 0
+deq := (2*x+2)* differentiate(y x, x, 3) + 3* differentiate(y x, x, 2) + _
+(2*x**2+2*x)* differentiate(y x,x) - sqrt(x+1) * y x = 2 * x**2 + x - 1
+solve(deq, y, x).particular
+
+-- this equation is irreducible over the rational functions
+deq := 2*x**3*differentiate(y x,x,2) + 3*x**2*differentiate(y x,x) - 2*y x
+solve(deq,y,x).basis
+
+
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lodesys.input.pamphlet b/src/input/lodesys.input.pamphlet
new file mode 100644
index 00000000..8feaf0b4
--- /dev/null
+++ b/src/input/lodesys.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input lodesys.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+-- There are 2 different ways to input a homogeneous 1st order system of
+-- linear ordinary differential equations of the form dy/dt = M y
+-- where y is a vector of unknown functions of t.
+-- the first is simply solve(M, t) which will be understood to be
+-- a differential system:
+M := matrix [[ 1+4*t, -5*t, 7*t, -8*t, 8*t, -6*t],_
+ [ -10*t, 1+9*t, -14*t, 16*t, -16*t, 12*t],_
+ [ -5*t, 5*t, 1-8*t, 8*t, -8*t, 6*t],_
+ [ 10*t, -10*t, 14*t,1-17*t, 16*t, -12*t],_
+ [ 5*t, -5*t, 7*t, -8*t, 1+7*t, -6*t],_
+ [ -5*t, 5*t, -7*t, 8*t, -8*t, 1+5*t]]
+-- the original system in Barkatou's AAECC paper is t^2 dy/dt = M*y
+sol := solve(inv(t**2) * M, t)
+-- verify the solutions
+[t**2 * map(h +-> D(h, t), v) - M * v for v in sol]
+-- the second way is to type each equation using a separate operator for
+-- each unknown:
+x := operator x
+y := operator y
+sys := [D(x t, t) = x t + sqrt 3 * y t, D(y t, t) = sqrt 3 * x t - y t]
+solve(sys, [x, y], t).basis
+-- Similarly there are 2 different ways to input the inhomogeneous system
+-- dy/dt = M y + v where v is a given vector of functions.
+-- the first is solve(M, v, t):
+v := vector [1, (-29*t + 19)/5, -1, t + 1, - 2*t + 3, -1]
+-- get a particular solution to t^2 dy/dt = M y + v
+solp := solve(inv(t**2) * M, inv(t**2) * v, t).particular
+-- verify the particular solution
+t**2 * map(h +-> D(h, t), solp) - M * solp - v
+-- the second way is by listing the equations:
+z := operator z
+sys := [D(x t, t) = y t + z t + t, D(y t, t) = x t + z t, D(z t, t) = x t + y t]
+solve(sys, [x, y, z], t).particular
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lodo.input.pamphlet b/src/input/lodo.input.pamphlet
new file mode 100644
index 00000000..e19d23dc
--- /dev/null
+++ b/src/input/lodo.input.pamphlet
@@ -0,0 +1,137 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input lodo.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+---------------------------------- lodo.input -----------------------------
+
+-- LODO2(M,A) is the domain of linear ordinary differential operators over
+-- an A-module M, where A is a differential ring. This includes the
+-- cases of operators which are polynomials in D acting upon scalars or
+-- vectors depending on a single variable. The coefficients of the
+-- operator polynomials can be integers, rational functions, matrices
+-- or elements of other domains.
+
+------------------------------------------------------------------------
+-- Differential operators with constant coefficients
+------------------------------------------------------------------------
+)clear all
+RN:=FRAC INT
+Dx: LODO2(RN, UP(x,RN))
+
+Dx := D() -- definition of an operator
+a := Dx + 1
+b := a + 1/2*Dx**2 - 1/2
+
+p: UP(x,RN) := 4*x**2 + 2/3 -- something to work on
+
+a p -- application of an operator to a polynomial
+(a*b) p = a b p -- multiplication is defined by this identity
+c := (1/9)*b*(a + b)**2 -- exponentiation follows from multiplication
+(a**2 - 3/4*b + c) (p + 1) -- general application of operator expressions
+
+------------------------------------------------------------------------
+-- Differential operators with rational function coefficients
+------------------------------------------------------------------------
+)clear all
+RFZ := FRAC UP(x,INT)
+(Dx, a, b): LODO1 RFZ
+
+Dx := D()
+b := 3*x**2*Dx**2 + 2*Dx + 1/x
+a := b*(5*x*Dx + 7)
+p: RFZ := x**2 + 1/x**2
+
+(a*b - b*a) p -- operator multiplication is not commutative
+
+-- When the coefficients of the operator polynomials come from a field
+-- it is possible to define left and right division of the operators.
+-- This allows the computation of left and right gcd's via remainder
+-- sequences, and also the computation of left and right lcm's.
+
+leftDivide(a,b) -- result is the quotient/remainder pair
+a - (b * %.quotient + %.remainder)
+rightDivide(a,b)
+a - (%.quotient * b + %.remainder)
+
+-- A GCD doesn't necessarily divide a and b on both sides.
+e := leftGcd(a,b)
+leftRemainder(a, e) -- remainder from left division
+rightRemainder(a, e) -- remainder from right division
+
+-- An LCM is not necessarily divisible from both sides.
+f := rightLcm(a,b)
+leftRemainder(f, b)
+rightRemainder(f, b) -- the remainder is non-zero
+
+------------------------------------------------------------------------
+--
+-- Problem: find the first few coefficients of exp(x)/x**i in
+-- Dop phi
+-- where
+-- Dop := D**3 + G/x**2 * D + H/x**3 - 1
+-- phi := sum(s[i]*exp(x)/x**i, i = 0..)
+------------------------------------------------------------------------
+)clear all
+Dx: LODO(EXPR INT, f +-> D(f, x))
+Dx := D()
+Dop:= Dx**3 + G/x**2*Dx + H/x**3 - 1
+n == 3
+phi == reduce(+,[subscript(s,[i])*exp(x)/x**i for i in 0..n])
+phi1 == Dop(phi) / exp x
+phi2 == phi1 *x**(n+3)
+phi3 == retract(phi2)@(POLY INT)
+pans == phi3 ::UP(x,POLY INT)
+pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1]
+leq == solve(pans1,[subscript(s,[i]) for i in 1..n])
+leq
+n==4
+leq
+n==7
+leq
+
+------------------------------------------------------------------------
+-- Differential operators with matrix coefficients acting on vectors.
+------------------------------------------------------------------------
+)clear all
+PZ := UP(x,INT); Vect := DPMM(3, PZ, SQMATRIX(3,PZ), PZ);
+Modo := LODO2(SQMATRIX(3,PZ), Vect);
+
+p := directProduct([3*x**2 + 1, 2*x, 7*x**3 + 2*x]::(VECTOR(PZ)))@Vect
+m := [[x**2, 1, 0], [1, x**4, 0], [0, 0, 4*x**2]]::(SQMATRIX(3,PZ))
+
+-- Vect is a left SM(3,PZ)-module
+q: Vect := m * p
+
+-- Operator combination and application
+Dx: Modo := D()
+a: Modo := 1*Dx + m
+b: Modo := m*Dx + 1
+
+a*b
+a p
+b p
+(a+b) (p + q)
+
+
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lodo1.input.pamphlet b/src/input/lodo1.input.pamphlet
new file mode 100644
index 00000000..c7b45068
--- /dev/null
+++ b/src/input/lodo1.input.pamphlet
@@ -0,0 +1,47 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LODO1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+
+-- Input generated from LinearOrdinaryDifferentialOperatorOneXmpPage
+)clear all
+
+
+-- Input generated from ugxLinearOrdinaryDifferentialOperatorOneRatPage
+)clear all
+
+RFZ := Fraction UnivariatePolynomial('x, Integer)
+x : RFZ := 'x
+Dx : LODO1 RFZ := D()
+b : LODO1 RFZ := 3*x**2*Dx**2 + 2*Dx + 1/x
+a : LODO1 RFZ := b*(5*x*Dx + 7)
+p := x**2 + 1/x**2
+(a*b - b*a) p
+ld := leftDivide(a,b)
+a = b * ld.quotient + ld.remainder
+rd := rightDivide(a,b)
+a = rd.quotient * b + rd.remainder
+rightQuotient(a,b)
+rightRemainder(a,b)
+leftExactQuotient(a,b)
+e := leftGcd(a,b)
+leftRemainder(a, e)
+rightRemainder(a, e)
+f := rightLcm(a,b)
+rightRemainder(f, b)
+leftRemainder(f, b)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lodo2.input.pamphlet b/src/input/lodo2.input.pamphlet
new file mode 100644
index 00000000..6a26f83e
--- /dev/null
+++ b/src/input/lodo2.input.pamphlet
@@ -0,0 +1,56 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LODO2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from LinearOrdinaryDifferentialOperatorTwoXmpPage
+)clear all
+
+
+-- Input generated from ugxLinearOrdinaryDifferentialOperatorTwoConstPage
+)clear all
+
+Q := Fraction Integer
+PQ := UnivariatePolynomial('x, Q)
+x: PQ := 'x
+Dx: LODO2(Q, PQ) := D()
+a := Dx + 1
+b := a + 1/2*Dx**2 - 1/2
+p := 4*x**2 + 2/3
+a p
+(a * b) p = a b p
+c := (1/9)*b*(a + b)**2
+(a**2 - 3/4*b + c) (p + 1)
+
+-- Input generated from ugxLinearOrdinaryDifferentialOperatorTwoMatrixPage
+)clear all
+
+PZ := UnivariatePolynomial(x,Integer)
+x:PZ := 'x
+Mat := SquareMatrix(3,PZ)
+Vect := DPMM(3, PZ, Mat, PZ);
+Modo := LODO2(Mat, Vect);
+m:Mat := matrix [[x**2,1,0],[1,x**4,0],[0,0,4*x**2]]
+p:Vect := directProduct [3*x**2+1,2*x,7*x**3+2*x]
+q: Vect := m * p
+Dx : Modo := D()
+a : Modo := Dx + m
+b : Modo := m*Dx + 1
+c := a*b
+a p
+b p
+(a + b + c) (p + q)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lodo3.input.pamphlet b/src/input/lodo3.input.pamphlet
new file mode 100644
index 00000000..e3e608b7
--- /dev/null
+++ b/src/input/lodo3.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LODO.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from LinearOrdinaryDifferentialOperatorXmpPage
+)clear all
+
+
+-- Input generated from ugxLinearOrdinaryDifferentialOperatorSeriesPage
+)clear all
+
+Dx: LODO(EXPR INT, f +-> D(f, x))
+Dx := D()
+Dop:= Dx**3 + G/x**2*Dx + H/x**3 - 1
+n == 3
+phi == reduce(+,[subscript(s,[i])*exp(x)/x**i for i in 0..n])
+phi1 == Dop(phi) / exp x
+phi2 == phi1 *x**(n+3)
+phi3 == retract(phi2)@(POLY INT)
+pans == phi3 ::UP(x,POLY INT)
+pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1]
+leq == solve(pans1,[subscript(s,[i]) for i in 1..n])
+leq
+n==4
+leq
+n==7
+leq
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lodof.input.pamphlet b/src/input/lodof.input.pamphlet
new file mode 100644
index 00000000..6b47eef9
--- /dev/null
+++ b/src/input/lodof.input.pamphlet
@@ -0,0 +1,60 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input lodof.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+--------------------------------- lodof.input -----------------------------
+
+)cl all
+)expose LODOF
+P := UP(t, AN)
+Q := FRAC P
+L := LODO1 Q
+d := D()$L
+t := t::P::Q
+
+-- reducible order 2 operator (1-1)
+op := d**2 + t * d + 1
+factor op
+
+-- irreducible order 2 operator
+op := 2*t**3 * d**2 + 3*t**2 * d - 2
+factor op
+
+-- reducible order 3 operator (1-2)
+op := 2*t**3 * d**3 - (2*t**4 - 9*t**2) * d**2 - (3*t**3 - 6*t + 2) * d + 2*t
+factor op
+
+-- reducible order 3 operator (1-1-1)
+op := (t**9 + t**3) * d**3 + 18 * t**8 * d**2 - 90 * t * d - 30 * (11*t**6-3)
+factor op
+
+-- irreducible order 3 operator
+op := d**3 + 2 * d**2 + 5 / t * d + 7 / t**2
+factor op
+
+-- reducible order 6 operator (1-1-1-1-1-1)
+--op := t**6*d**6+20*t**5*d**5+122*t**4*d**4+258*t**3*d**3+156*t**2*d**2+8*t*d-8
+--factor op
+
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/loop.input.pamphlet b/src/input/loop.input.pamphlet
new file mode 100644
index 00000000..42b0ac84
--- /dev/null
+++ b/src/input/loop.input.pamphlet
@@ -0,0 +1,59 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input loop.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page BasicLoops
+)clear all
+
+p := 2**(2**3) + 1
+repeat if prime?(p := p + 1) then leave
+p
+repeat if prime?(p := p + 1) then leave p
+
+-- Input for page NestedLoops
+)clear all
+
+for i in 1..2 repeat for j in 3..4 repeat print [i,j]
+i := 1
+while i < 3 repeat (for j in 3..4 repeat print [i,j]; i := i + 1)
+
+-- Input for page ParallelLoops
+)clear all
+
+for i in 1..5 for j in 11..20 repeat print [i,j]
+for i in 1..5 for j in 11.. | even? j repeat print [i,j]
+for i in 1.. for j in 11.. | even? j while i < 6 repeat print [i,j]
+
+-- Input for page Loops
+)clear all
+
+i := 2
+repeat (print (i := 2**i; if i > 10 then leave))
+for j in 1..5 repeat print (i := j**i)
+while i < 1000 repeat print (i := 2**i)
+for i in 1.. while i < 1000 repeat print [j,": ",i := 2**i]
+for j in 1..4 repeat for i in 2..4 repeat print [i,"**",j," = ",i**j]
+
+-- Input for page ForLoops
+)clear all
+
+for i in 0..10 repeat print (i**3)
+for i in 0..10 by 2 repeat print (i**3)
+for i in 10..0 by -2 repeat print (i**3)
+for i in 0..10 | even? i repeat print (i**3)
+for i in 0.. by 2 repeat (i**3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lpoly.input.pamphlet b/src/input/lpoly.input.pamphlet
new file mode 100644
index 00000000..d3b8f6ae
--- /dev/null
+++ b/src/input/lpoly.input.pamphlet
@@ -0,0 +1,48 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LPOLY.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+RN := Fraction Integer
+Lpoly := LiePolynomial(Symbol,RN)
+Dpoly := XDPOLY(Symbol,RN)
+Lword := LyndonWord Symbol
+a:Symbol := 'a
+b:Symbol := 'b
+c:Symbol := 'c
+aa: Lpoly := a
+bb: Lpoly := b
+cc: Lpoly := c
+p : Lpoly := [aa,bb]
+q : Lpoly := [p,bb]
+liste : List Lword := LyndonWordsList([a,b], 4)
+r: Lpoly := p + q + 3*LiePoly(liste.4)$Lpoly
+s:Lpoly := [p,r]
+t:Lpoly := s + 2*LiePoly(liste.3) - 5*LiePoly(liste.5)
+degree t
+mirror t
+Jacobi(p: Lpoly, q: Lpoly, r: Lpoly): Lpoly == [[p,q]$Lpoly, r] + [[q,r]$Lpoly, p] + [[r,p]$Lpoly, q]
+test: Lpoly := Jacobi(a,b,b)
+test: Lpoly := Jacobi(p,q,r)
+test: Lpoly := Jacobi(r,s,t)
+eval(p, a, p)$Lpoly
+eval(p, [a,b], [2*bb, 3*aa])$Lpoly
+r: Lpoly := [p,c]
+r1: Lpoly := eval(r, [a,b,c], [bb, cc, aa])$Lpoly
+r2: Lpoly := eval(r, [a,b,c], [cc, aa, bb])$Lpoly
+r + r1 + r2
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lump.input.pamphlet b/src/input/lump.input.pamphlet
new file mode 100644
index 00000000..39b542c3
--- /dev/null
+++ b/src/input/lump.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input lump.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)lump.input 1.1 89/09/07 20:55:06
+draw(sin(2 * x**2 + 3 * y**2)/(x**2 + y**2),x = -3..3,y = -3..3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lupfact.input.pamphlet b/src/input/lupfact.input.pamphlet
new file mode 100644
index 00000000..85ffa25c
--- /dev/null
+++ b/src/input/lupfact.input.pamphlet
@@ -0,0 +1,146 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input lupfact.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- This file contains some functions that compute LUP factorizations of
+-- matrices over a field. The main function to call is lupFactor. It
+-- accepts one argument, which should be a non-singular square matrix.
+-- If the matrix is not square, "failed" will be returned. If the matrix
+-- is non-singular, a 'cannot coerce "failed"' error will be displayed.
+-- lupFactor returns a Union(List Matrix field,"failed") object. Coerce
+-- this to a List Matrix field before you try to use it. See the comment
+-- before the definition of lupFactor for the reference for the
+-- algorithm.
+
+)clear all
+
+-- state the field here
+
+field := Fraction Integer
+
+-- next computes a permutation matrix for mult on the right
+
+permMat: (INT, INT, INT) -> Matrix field
+
+permMat(dim, i, j) ==
+ m : Matrix field :=
+ diagonalMatrix [(if i = k or j = k then 0 else 1) for k in 1..dim]
+ m(i,j) := 1
+ m(j,i) := 1
+ m
+
+-- find first col in first row that is nonzero or returns 0
+
+nonZeroCol: Matrix field -> INT
+
+nonZeroCol(m) ==
+ foundit := false
+ col := 1
+ for i in 1..ncols(m) while not foundit repeat
+ for j in 1..nrows(m) while not foundit repeat
+ if not(m(j,i) = 0) then
+ col := i
+ foundit := true
+ col
+
+-- this embeds the given square matrix in a larger square matrix
+-- where the extra space is filled with 1s on the diagonal, 0 elsewhere.
+
+embedMatrix: (Matrix field,NNI,NNI) -> Matrix field
+
+embedMatrix(m, oldDim, newDim) ==
+ n := diagonalMatrix([1 for i in 1..newDim])$(Matrix(field))
+ setsubMatrix!(n,1,1,m)
+ n
+
+-- following implements algorithm in "The Design and Analysis of
+-- Computer Algorithms" by Aho, Hopcroft and Ullman
+
+lupFactorEngine: (Matrix field, INT, INT) -> List Matrix field
+
+lupFactorEngine(a, m, p) ==
+ m = 1 =>
+ l : Matrix field := diagonalMatrix [1]
+ pm : Matrix field := permMat(p,1,nonZeroCol a)
+ [l,a*pm,pm]
+ m2 : NNI := m quo 2
+ b : Matrix field := subMatrix(a,1,m2,1,p)
+ c : Matrix field := subMatrix(a,m2+1,m,1,p)
+ lup := lupFactorEngine(b,m2,p)
+ l1 := lup.1
+ u1 := lup.2
+ pm1 := lup.3
+ d : Matrix field := c * (inverse(pm1) :: Matrix(field))
+ e : Matrix field := subMatrix(u1,1,m2,1,m2)
+ f : Matrix field := subMatrix(d,1,m2,1,m2)
+ g : Matrix field := d - f * (inverse(e) :: Matrix(field)) * u1
+ pmin2 : NNI := p - m2
+ g' : Matrix field := subMatrix(g,1,nrows(g),p - pmin2 + 1,p)
+ lup := lupFactorEngine(g',m2,pmin2)
+ l2 := lup.1
+ u2 := lup.2
+ pm2 := lup.3
+ pm3 := horizConcat(zero(pmin2,m2)$(Matrix field), pm2)
+ pm3 := vertConcat(horizConcat(diagonalMatrix [1 for i in 1..m2],
+ zero(m2,pmin2)$(Matrix field)),pm3)
+ h : Matrix field := u1 * (inverse(pm3) :: Matrix(field))
+ l : Matrix field := horizConcat(l1, zero(m2,m2)$(Matrix field))
+ l := vertConcat(l,horizConcat(f * (inverse(e) :: Matrix(field)), l2))
+ u : Matrix field := horizConcat(zero(m2,m2)$(Matrix field), u2)
+ u := vertConcat(h,u)
+ pm := pm3 * pm1
+ [l,u,pm]
+
+-- next computes floor of log base 2 of an integer
+
+intLog2: NNI -> NNI
+
+intLog2 n == if n = 1 then 0 else 1 + intLog2(n quo 2)
+
+-- here is the function to call
+
+lupFactor: Matrix field -> Union(List Matrix field,"failed")
+
+lupFactor m ==
+ not((r := nrows m) = ncols m) =>
+ messagePrint("Matrix must be square")$OUTFORM
+ "failed"
+ ilog := intLog2(2)
+ not(r = 2 ** ilog) =>
+ m := embedMatrix(m,r,(n := 2 ** (ilog + 1)))
+ l := lupFactorEngine(m,n,n)
+ [subMatrix(l.1,1,r,1,r),subMatrix(l.2,1,r,1,r),
+ subMatrix(l.3,1,r,1,r)]
+ lupFactorEngine(m,r,r)
+
+-- Example from Aho, et al.
+
+m : Matrix field := zero(4,4)
+for i in 4..1 by -1 repeat m(5-i,i) := i
+m
+
+lupFactor m
+
+-- Example where the dimension does not start out a power of 2
+
+m := [[1,2,3],[2,3,1],[3,1,2]]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/lword.input.pamphlet b/src/input/lword.input.pamphlet
new file mode 100644
index 00000000..d117bfc7
--- /dev/null
+++ b/src/input/lword.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input LWORD.input}
+\author{Michel Petitot}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+a:Symbol :='a
+b:Symbol :='b
+c:Symbol :='c
+lword:= LyndonWord(Symbol)
+magma := Magma(Symbol)
+word := OrderedFreeMonoid(Symbol)
+LyndonWordsList1([a,b,c],3)$lword
+LyndonWordsList([a,b,c],3)$lword
+lw := LyndonWordsList([a,b],5)$lword
+w1 : word := lw.4 :: word
+w2 : word := lw.5 :: word
+factor(a::word)$lword
+factor(w1*w2)$lword
+factor(w2*w2)$lword
+factor(w2*w1)$lword
+lyndon?(w1)$lword
+lyndon?(w1*w2)$lword
+lyndon?(w2*w1)$lword
+lyndonIfCan(w1)$lword
+lyndonIfCan(w2*w1)$lword
+lyndon(w1)$lword
+lyndon(w1*w2)$lword
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/macbug.input.pamphlet b/src/input/macbug.input.pamphlet
new file mode 100644
index 00000000..80e6514a
--- /dev/null
+++ b/src/input/macbug.input.pamphlet
@@ -0,0 +1,54 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input macbug.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- \xtc{
+-- Macros can be parameterized and so can be used for many different
+-- kinds of objects.
+-- }{
+macro ff(x) == x**2 + 1
+-- }
+-- \xtc{
+-- Apply it to a number, a symbol, or an expression.
+-- }{
+ff z
+-- }
+-- \xtc{
+-- Macros can also be nested, but you will get an error message if you
+-- run out of space because of an infinite nesting loop.
+-- }{
+macro gg(x) == ff(2*x - 2/3)
+-- }
+-- \xtc{
+-- This new macro is fine as it does not produce a loop.
+-- }{
+gg(1/w)
+-- }
+-- %
+-- \xtc{
+-- This however will loop since \spad{gg} is
+-- defined in terms of \spad{ff}.
+-- % risk not using a free g on next line
+-- }{
+macro ff(x) == gg(-x)
+-- }
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/macros.input.pamphlet b/src/input/macros.input.pamphlet
new file mode 100644
index 00000000..cc9f9d12
--- /dev/null
+++ b/src/input/macros.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input macros.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- Input for page Macros
+)clear all
+
+macro I == Integer
+macro M(R) == Matrix(R)
+macro p(n) == x < n
+macro q(i,j) == if x < i then i else j
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/magma.input.pamphlet b/src/input/magma.input.pamphlet
new file mode 100644
index 00000000..c4ecc934
--- /dev/null
+++ b/src/input/magma.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input MAGMA.input}
+\author{Michel Petitot}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+x:Symbol :='x
+y:Symbol :='y
+z:Symbol :='z
+word := OrderedFreeMonoid(Symbol)
+tree := Magma(Symbol)
+a:tree := x*x
+b:tree := y*y
+c:tree := a*b
+left c
+right c
+length c
+c::word
+a < b
+a < c
+b < c
+first c
+rest c
+rest rest c
+ax:tree := a*x
+xa:tree := x*a
+xa < ax
+lexico(xa,ax)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mapleok.input.pamphlet b/src/input/mapleok.input.pamphlet
new file mode 100644
index 00000000..d6db7823
--- /dev/null
+++ b/src/input/mapleok.input.pamphlet
@@ -0,0 +1,5972 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input mapleok.input}
+\author{Timothy Daly}
+\maketitle
+\begin{abstract}
+A set of test results that fail for Maple was published as a database
+on the web by Vladimir Bondarenko. We looked at these equations in
+detail, redesigned and rewrote them for Axiom where the equations
+could be applied, and ran them thru the Axiom system. These are the
+set of results that give answers in Axiom along with a summary of
+the tests.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{Result}
+
+I've been working for some time to construct a Computer Algebra
+Test Suite (CATS). The idea came about because it is clear that
+there is a lack of time and attention on cross-platform testing.
+We should have available a range of problems with associated
+math theory and verified results that every computer algebra
+system can use for testing purposes. To this end I've been
+collecting test suites from various computer algebra systems and
+running them thru Axiom. The lastest collection is the Maple bug
+list posted by Vladimir.
+
+Of course there is no common syntax and so one of the problems
+is that every integral has to be hand-written to match the likely
+semantics of the original. This is a time consuming effort.
+pFurthermore there is no general mechanism for collecting results
+(although I have been looking at automating regression testing
+in Axiom) so result collection and summary are also hand operations.
+Nevertheless, the process has completed the first phase of testing
+and I've attached some summary statistics. Detailed results will
+be included with the next release of Axiom.
+
+For the next phase I've built a special purpose version of Axiom
+with instrumentation in all of the integration routines. I plan to
+classify each integral and associate it with the code as part of
+the literate documentation. This will give us a basis for finding
+bugs and corner cases. It will also give us working regression
+test cases.
+
+
+\subsection{Breakdown by category}
+
+There were 4865 integrals tested. Of these
+
+\begin{itemize}
+\item (5 0.10\%) Missing Functions
+\item (1206 24.78\%) Undefined Special Functions or untranslated functions
+\item (84 1.72\%) Mismatched signatures of existing functions
+\item (158 3.25\%) Badly Behaved Integrals
+\item (7 0.14\%) Axiom Internal Errors
+\item (279 5.73\%) Risch Algorithm Boundary Cases
+\item (2331 47.91\%) Failed results
+\item (490 10.07\%) Successful Results
+\item (305 6.27\%) Indeterminate Results
+\end{itemize}
+
+Of the 4865 integrals the first three cases would not run. That
+leaves 3570 tests. Of these there were 3097 (73.38\%) integrals
+that had a potential pole in the path of integration making them
+rather more difficult to compute.
+
+We further break down the results. The number in parentheses is
+the number of integrals of this class. One observation is that a
+large number of these integrals involve the signum function. Axiom
+does not have an integrable form of this function. Frankly, I'm not
+sure how to integrate functions involving signum. It is hardly a
+surprise that Maple gets these wrong.
+
+On some of the functions I've given example integrals that exhibit
+the behavior of their category.
+
+Axiom has a robust implementation of the Risch algorithm done by
+Barry Trager and Manuel Bronstein. Still, there are some corner
+cases that are not implemented. We collected these under a
+separate category so they will be useful for people who want to
+investigate extending the algorithms. It is hardly a surprise that
+Maple finds these hard to do.
+
+These tests have uncovered 3 internal errors involving a total of
+6 of the integrals. These will be investigated and fixed in a future
+release.
+
+Testing continues on the results that did not complete. Raising the
+maximum time limit to 10 minutes has generated additional results.
+
+
+\subsection{Missing Functions}
+
+These are apparently bogus function names.
+
+\begin{itemize}
+\item (1) f
+\item (1) op
+\item (1) product
+\item (2) elt
+\end{itemize}
+
+\subsection{Undefined Special Functions or Untranslated Functions}
+
+Maple has these functios in different forms than Axiom. Some of the special
+functions have equivalent Axiom representations but Maple is much stronger
+in special functions. Axiom has single-argument forms of some of these
+functions but the translations were not clear.
+
+\begin{itemize}
+\item (2) airyAi -- 2 argument form
+\item (1) airyBi -- 2 argument form
+\item (2) argument
+\item (57) atan -- 2 argument form
+\item (26) ceil
+\item (2) chebyshevT -- with fractional first argument
+\item (1) chebyshevU -- with fractional first argument
+\item (5) conjugate
+\item (8) Chi
+\item (78) csgn
+\item (19) Dirac
+\item (11) Ei
+\item (2) EllipticE
+\item (9) EllipticK
+\item (4) EllipticPi
+\item (1) erfc
+\item (23) floor
+\item (3) frac
+\item (30) FresnelC
+\item (3) Fresnelf
+\item (1) Fresnelg
+\item (26) FresnelS
+\item (3) GegenbauerC
+\item (6) HankelH1
+\item (8) HankelH2
+\item (22) Heaviside
+\item (2) hermiteH -- with fractional first argument
+\item (1) hypergeom
+\item (4) KelvinKei
+\item (4) KelvinKer
+\item (4) KummerU
+\item (3) LambertW
+\item (2) legendreP -- having 3 arguments
+\item (4) LegendreQ
+\item (15) LerchPhi
+\item (2) MeijerG
+\item (31) polylog
+\item (34) Psi
+\item (1) Re
+\item (1) RootOf
+\item (25) round
+\item (2) Shi
+\item (3) Ssi
+\item (669) signum
+\item (11) StruveH
+\item (10) StruveL
+\item (12) trunc
+\item (13) Zeta
+\end{itemize}
+
+\subsection{Mismatched Signatures Of Existing Functions}
+
+Axiom's integration routines return a Union of several types.
+In order to use the result in various other operations one branch
+of the Union needs to be chosen. I have not done that here so these
+are listed as though they were special functions with a missing
+signature.
+
+\begin{itemize}
+\item (1) +
+\item (7) *
+\item (1) /
+\item (1) log
+\item (73) integrate
+\item (1) abs
+\end{itemize}
+
+
+\subsection{Badly Behaved Integrals}
+
+\begin{itemize}
+\item (158) integrate: pole in path of integration
+\end{itemize}
+
+\begin{verbatim}
+integrate(legendreP(0, z)/(z^2+3*z), z= 0..3,"noPole")
+\end{verbatim}
+
+
+\subsection{Axiom Internal Errors}
+
+\begin{itemize}
+\item (1) internal error
+\end{itemize}
+
+\begin{verbatim}
+ >> Error detected within library code:
+ (construct (= left 0) (= right 2))
+ is not a valid isolation interval for
+ (+ (+ (- (** ? 4)) (* 2 (** ? 2))) -1)
+\end{verbatim}
+
+\begin{verbatim}
+in961:=integrate(log(z-1)*z/(z^2-1)^2, z= 1..%plusInfinity)
+\end{verbatim}
+
+
+\begin{itemize}
+\item (4) Cannot take first of an empty list
+\end{itemize}
+
+\begin{verbatim}
+integrate(sin(z)*csc(z)*(1-1/(%i*z)^(1/2))^(1/2), z= 0..1,"noPole")
+\end{verbatim}
+
+
+\begin{itemize}
+\item (2) The function * with signature hashcode is missing from domain
+ Polynomial(OrderedCompletion (Integer))
+\end{itemize}
+
+\begin{verbatim}
+integrate(a^z, z= 0..I*%plusInfinity)
+integrate((1*z-3)/(2+(0*z-4)^2), z= %minusInfinity..1+I*%plusInfinity)
+\end{verbatim}
+
+
+\subsection{(279) Risch Algorithm Boundary Cases}
+
+\begin{itemize}
+\item (3) PFO::possibleOrder: more than 1 algebraic constant
+\end{itemize}
+
+\begin{verbatim}
+integrate(tan(z)/sqrt(sin(z+%pi/4)), z= 0..1,"noPole")
+\end{verbatim}
+
+
+\begin{itemize}
+\item (1) Not integrable (provided residues have no relations)
+\end{itemize}
+
+\begin{verbatim}
+integrate(((z^3-1)/(1+z))^(1/2)/z^2, z= 1..%plusInfinity,"noPole")
+\end{verbatim}
+
+
+\begin{itemize}
+\item (35) integrate: implementation incomplete (non-algebraic residues)
+\end{itemize}
+
+\begin{verbatim}
+integrate(-(1-(I*z)^(1/2)/(1-I*z))^(1/2), z= -1..1,"noPole")
+\end{verbatim}
+
+
+\begin{itemize}
+\item (177) integrate: implementation incomplete (constant residues)
+\end{itemize}
+
+\begin{verbatim}
+integrate(sin(z)^2*(1+z^(1/2))^(1/2), z= 0..1,"noPole")
+\end{verbatim}
+
+
+\begin{itemize}
+\item (22) Imaginary part is nonzero. Cannot retract.
+\end{itemize}
+
+\begin{verbatim}
+integrate(sqrt(sin(2*z))/sqrt(cos(2*z)),z)
+\end{verbatim}
+
+
+\begin{itemize}
+\item (29) Function not supported by Risch d.e.
+\end{itemize}
+
+\begin{verbatim}
+integrate(exp(-I*(I*z)^(1/2))/abs(z)^2, z= 0..1,"noPole")
+\end{verbatim}
+
+
+\begin{itemize}
+\item (12) integrate: implementation incomplete (residue poly has multiple
+ non-linear factors)
+\end{itemize}
+
+\begin{verbatim}
+integrate(tanh(z)^(4/3), z = -1..1,"noPole")
+\end{verbatim}
+
+
+\begin{itemize}
+\item (0) integralBasis: possible wild ramification
+\end{itemize}
+
+
+\subsection{(2331) Failed Results}
+
+\begin{itemize}
+\item (2033) "failed"
+\end{itemize}
+
+\begin{verbatim}
+integrate(log(2-z^2)/(1-z^3), z= 0..1)
+\end{verbatim}
+
+
+\begin{itemize}
+\item (56) Sorry - cannot handle that integrand yet
+\end{itemize}
+
+\begin{verbatim}
+integrate(erf((I*z)^(1/3)), z= -1..1,"noPole")
+\end{verbatim}
+
+
+\begin{itemize}
+\item (242) failed - cannot handle that integrand
+\end{itemize}
+
+\begin{verbatim}
+integrate(sin(1/z)+(1-1/z^4)^(1/2), z= 0..%pi,"noPole")
+\end{verbatim}
+
+\subsection{(490) Successful Results}
+
+\subsection{(305) Indeterminate Results}
+
+There were some integrals that Axiom failed to complete given
+the bounds on the allowed CPU time (about 10 minutes of execution).
+Further effort will be applied to try to resolve these cases.
+
+It may be that some portion of the integration algorithm either has
+an infinite loop or has non-polynomial time behavior. We will attempt
+to investigate both possibilities.
+
+Tim
+
+<<*>>=
+)set mes auto off
+)set break resume
+in1012a:=integrate(log(abs(z^3-1))/(1+z)^2, z= 0..%plusInfinity,"noPole")
+-- +-+
+-- %pi\|3
+-- (4) -------
+-- 3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in101a:=integrate((sqrt(z)^I)^I, z= 0..1,"noPole")
+-- 2
+-- (2) ------
+-- 2
+-- I + 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+
+in106a:=integrate(((I+z)^I)^I, z= 0..1,"noPole")
+--
+-- 2 2
+-- I log(I + 1) I log(I)
+-- (I + 1)%e - I %e
+-- (3) ------------------------------------
+-- 2
+-- I + 1
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in108a:=integrate(sqrt((1 + cos(z))*(1 + sin(z))),z=0..%plusInfinity,"noPole")
+--
+-- + infinity
+--
+
+in119a:=integrate(log(1/z+sqrt(1+1/z)), z=0..1,"noPole")
+-- +-+ +-+ +-+
+-- 3log(2\|2 + 3) + 2log(\|2 + 1) - 3log(- 2\|2 + 3)
+-- +
+-- +-+ +-+ +-+
+-- +-+ (- 32\|2 - 30)\|5 + 48\|2 + 102 +-+
+-- \|5 log(----------------------------------) - log(4)\|5
+-- +-+
+-- 2\|2 + 3
+-- /
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in120a:=integrate(1/(1+1/z^6), z=0..%plusInfinity)
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in1029a:=integrate((I*z/(I*z+1))^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+
+in1030a:=integrate(I*z/(I*z+1), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+
+in1066a:=integrate(acoth(z)*real(z), z= 0..1,"noPole")
+-- 1
+-- (6) -
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1067a:=integrate(acoth(z)*z^(1/2), z= 0..1,"noPole")
+-- - 2log(2) - %pi + 8
+-- (8) -------------------
+-- 6
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1076a:=integrate(sin(z)*(1-cos(z)/(1-sin(z)^2)^(1/2))^2, z= 0..1,"noPole")
+-- - 4cos(1) + 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+
+in1084a:=integrate(atan(sin(z))+atan(1/sin(z)), z= 0..1,"noPole")
+-- %pi
+-- - ---
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1107a:=integrate(-log(z)/(-1+z^(1/2))^3, z= 0..1/2*I,"noPole")
+--
+-- +-+
+-- +-+ +-+ \|I
+-- ((2I + 12)\|I + (- 6I - 4)\|2 )log(----)
+-- +-+
+-- \|2
+-- +
+-- +-+ +-+
+-- +-+ +-+ - 4\|I + (I + 2)\|2
+-- ((- I - 6)\|I + (3I + 2)\|2 )log(---------------------)
+-- +-+
+-- 2\|2
+-- +
+-- 2 2
+-- I +-+ +-+ I +-+
+-- (- 3log(--) + 2I + 4)\|I + (I + 1)\|2 log(--) - 4I\|2
+-- 4 4
+-- /
+-- +-+ +-+
+-- (I + 6)\|I + (- 3I - 2)\|2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1108a:=integrate(log(z)/(-1+z^(1/2))^3, z= 0..1/2*I,"noPole")
+--
+-- +-+
+-- +-+ +-+ \|I
+-- ((- 2I - 12)\|I + (6I + 4)\|2 )log(----)
+-- +-+
+-- \|2
+-- +
+-- +-+ +-+
+-- +-+ +-+ - 4\|I + (I + 2)\|2
+-- ((I + 6)\|I + (- 3I - 2)\|2 )log(---------------------)
+-- +-+
+-- 2\|2
+-- +
+-- 2 2
+-- I +-+ +-+ I +-+
+-- (3log(--) - 2I - 4)\|I + (- I - 1)\|2 log(--) + 4I\|2
+-- 4 4
+-- /
+-- +-+ +-+
+-- (I + 6)\|I + (- 3I - 2)\|2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1112a:=integrate((1-1/z)^(1/2), z= %pi..2*%pi,"noPole")
+--
+-- +--------+ +-------+
+-- |2%pi - 1 |%pi - 1
+-- - 2log( |-------- + 1) + 2log( |------- + 1)
+-- \| 2%pi \| %pi
+-- +
+-- +-------+ +--------+
+-- |%pi - 1 |2%pi - 1
+-- - 2%pi |------- + 2%pi - 1 - 4%pi |-------- + 4%pi - 1
+-- \| %pi \| 2%pi
+-- - log(---------------------------) + log(----------------------------)
+-- %pi 2%pi
+-- +
+-- +--------+ +-------+
+-- |2%pi - 1 |%pi - 1
+-- 8%pi |-------- - 4%pi |-------
+-- \| 2%pi \| %pi
+-- /
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+
+in1114a:=integrate(-z-(1/2*2^(1/2)+1/2*I*2^(1/2))*z^(1/2), z= 1..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+------------------------------------------------------
+in1118:=integrate(acot(z), z= 0..1/2*I)
+--
+-- 2
+-- I + 4 4I
+-- 2log(------) + I atan(------)
+-- 4 2
+-- I - 4
+-- -----------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+------------------------------------------------------
+in1120a:=integrate((z^2)^(1/2), z= 1..2,"noPole")
+--
+-- 3
+-- (29) -
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+------------------------------------------------------
+in1130a:=integrate(3^log(z), z= -I..I,"noPole")
+--
+--
+-- log(3)log(I) log(3)log(- I)
+-- I %e + I %e
+-- (45) -------------------------------------
+-- log(3) + 1
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+------------------------------------------------------
+in1149:=integrate(imag(z)*z^(1/6), z= -I..I)
+--
+-- (49) 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1149:=integrate(imag(z)*z^(1/6), z= -%i..%i)
+--
+-- (64) 0
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in1150a:=integrate(1/z^(1/2), z= -I..I,"noPole")
+--
+-- +-+ +---+
+-- (51) 2\|I - 2\|- I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1150c:=integrate(1/z^(1/2), z= -%i..%i,"noPole")
+--
+-- +--+ +----+
+-- (66) 2\|%i - 2\|- %i
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in1161:=integrate(hermiteH(1, z), z= -I..I)
+--
+-- (76) 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in1161a:=integrate(hermiteH(1, z), z= -%i..%i)
+--
+--
+-- (77) 0
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in1160:=integrate(HermiteH(2, z), z= -%i..%i)
+-- 20%i
+-- - ----
+-- 3
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in1162:=integrate(laguerreL(1, z), z= -I..I)
+--
+-- (78) 2I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1162:=integrate(laguerreL(1, z), z= -%i..%i)
+--
+-- (79) 2%i
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in1163:=integrate(legendreP(3, z), z= -I..I)
+--
+-- (80) 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1163:=integrate(legendreP(3, z), z= -%i..%i)
+--
+-- (81) 0
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+
+in1164:=integrate(legendreP(2, z), z= -I..I)
+--
+-- 3
+-- (82) I - I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1164:=integrate(legendreP(2, z), z= -%i..%i)
+--
+-- (83) - 2%i
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+--
+
+in1167a:=integrate((z^2)^(1/6), z= -3..-1,"noPole")
+--
+-- 3+---+ 3+---+
+-- - 3\|- 1 + 9\|- 3
+-- (85) -------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1180:=integrate(z^(1/3)/(z^2+1), z= 0..10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
+--
+-- potentialPole
+--
+in1180:=integrate(z^(1/3)/(z^2+1), z= 0..10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,"noPole")
+--
+-- 3
+-- *
+-- log
+-- 999999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99999999999999999999999999999999999999999999999999999999999999_
+-- 99998000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000
+-- *
+-- 3+--+2
+-- \|10
+-- +
+-- 300000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000
+-- *
+-- 3+--+
+-- \|10
+-- +
+-- -
+-- 19999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999999999_
+-- 9999999999999999999999999999999999999999999999999999999
+-- +
+-- -
+-- 12
+-- *
+-- log
+-- 100000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000000000000000000000000000000000000000000000000000_
+-- 00000000000
+-- *
+-- 3+--+2
+-- \|10
+-- +
+-- 1
+-- +
+-- +-+
+-- 12\|3
+-- *
+-- atan
+-- 2000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000000000_
+-- 000000000000000000000000000000000000000000000000000000
+-- *
+-- 3+--+2
+-- \|10
+-- +
+-- - 1
+-- /
+-- +-+
+-- \|3
+-- +
+-- +-+
+-- 2%pi\|3
+-- /
+-- 24
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1183a:=integrate(csc(z), z= 1-I..1+I,"noPole")
+--
+-- 2 2
+-- sin(I + 1) sin(I - 1)
+-- log(-----------------------------) - log(-----------------------------)
+-- 2 2
+-- cos(I + 1) + 2cos(I + 1) + 1 cos(I - 1) + 2cos(I - 1) + 1
+-- -----------------------------------------------------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1185a:=integrate((z+1)^(1/2)/(1+z^4), z= 0..1,"noPole")
+--
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2 +-+
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1 - 4\|2 %%CZ1
+-- +
+-- +-+
+-- - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- +-+ +-+ +-+ +-+
+-- ((24576\|2 %%CZ0 - 768\|2 )%%CZ1 - 768\|2 %%CZ0 - 48\|2 )
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- 2 2
+-- (196608%%CZ0 - 6144)%%CZ1 + (196608%%CZ0 + 384)%%CZ1
+-- +
+-- 2
+-- - 6144%%CZ0 + 384%%CZ0 + 48
+-- *
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+
+-- - 4\|2 %%CZ1 - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- +
+-- ((- 3072%%CZ0 + 384)%%CZ1 + 384%%CZ0 - 12)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 1536\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2 +-+
+-- (- 12288\|2 %%CZ0 + 48\|2 )%%CZ1 + 1536\|2 %%CZ0 + 48\|2 %%CZ0
+-- +
+-- +-+
+-- 60\|2
+-- /
+-- +-+
+-- \|2
+-- +
+-- -
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2 +-+
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1 - 4\|2 %%CZ1
+-- +
+-- +-+
+-- - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- ((24576%%CZ0 - 768)%%CZ1 - 768%%CZ0 - 48)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (98304\|2 %%CZ0 - 3072\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2
+-- (98304\|2 %%CZ0 + 192\|2 )%%CZ1 - 3072\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- 192\|2 %%CZ0 + 24\|2
+-- *
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+
+-- - 4\|2 %%CZ1 - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- +
+-- ((- 3072%%CZ0 + 384)%%CZ1 + 384%%CZ0 - 12)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 1536\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 48\|2 )%%CZ1 + 1536\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- 48\|2 %%CZ0 + 42\|2
+-- /
+-- +-+
+-- \|2
+-- +
+-- -
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2 +-+
+-- - \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1 - 4\|2 %%CZ1
+-- +
+-- +-+
+-- - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- +-+ +-+ +-+
+-- (24576\|2 %%CZ0 - 768\|2 )%%CZ1 - 768\|2 %%CZ0
+-- +
+-- +-+
+-- - 48\|2
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- 2
+-- (- 196608%%CZ0 + 6144)%%CZ1
+-- +
+-- 2 2
+-- (- 196608%%CZ0 - 384)%%CZ1 + 6144%%CZ0 - 384%%CZ0 - 48
+-- *
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2
+-- - \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+
+-- - 4\|2 %%CZ1 - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- +
+-- ((3072%%CZ0 - 384)%%CZ1 - 384%%CZ0 + 12)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 1536\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 48\|2 )%%CZ1 + 1536\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- 48\|2 %%CZ0 + 60\|2
+-- /
+-- +-+
+-- \|2
+-- +
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2 +-+
+-- - \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1 - 4\|2 %%CZ1
+-- +
+-- +-+
+-- - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- ((24576%%CZ0 - 768)%%CZ1 - 768%%CZ0 - 48)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 98304\|2 %%CZ0 + 3072\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2
+-- (- 98304\|2 %%CZ0 - 192\|2 )%%CZ1 + 3072\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- - 192\|2 %%CZ0 - 24\|2
+-- *
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2
+-- - \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+
+-- - 4\|2 %%CZ1 - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- +
+-- ((3072%%CZ0 - 384)%%CZ1 - 384%%CZ0 + 12)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 1536\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2 +-+
+-- (- 12288\|2 %%CZ0 + 48\|2 )%%CZ1 + 1536\|2 %%CZ0 + 48\|2 %%CZ0
+-- +
+-- +-+
+-- 42\|2
+-- /
+-- +-+
+-- \|2
+-- +
+-- -
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2 +-+
+-- - \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1 - 4\|2 %%CZ1
+-- +
+-- +-+
+-- - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- ((- 24576%%CZ0 + 768)%%CZ1 + 768%%CZ0 + 48)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (98304\|2 %%CZ0 - 3072\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2
+-- (98304\|2 %%CZ0 + 192\|2 )%%CZ1 - 3072\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- 192\|2 %%CZ0 + 24\|2
+-- *
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2
+-- - \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+
+-- - 4\|2 %%CZ1 - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- +
+-- ((3072%%CZ0 - 384)%%CZ1 - 384%%CZ0 + 12)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 1536\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 48\|2 )%%CZ1 + 1536\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- 48\|2 %%CZ0 + 42\|2
+-- /
+-- +-+
+-- \|2
+-- +
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2 +-+
+-- - \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1 - 4\|2 %%CZ1
+-- +
+-- +-+
+-- - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- +-+ +-+ +-+
+-- (- 24576\|2 %%CZ0 + 768\|2 )%%CZ1 + 768\|2 %%CZ0
+-- +
+-- +-+
+-- 48\|2
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- 2 2
+-- (196608%%CZ0 - 6144)%%CZ1 + (196608%%CZ0 + 384)%%CZ1
+-- +
+-- 2
+-- - 6144%%CZ0 + 384%%CZ0 + 48
+-- *
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2
+-- - \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+
+-- - 4\|2 %%CZ1 - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- +
+-- ((3072%%CZ0 - 384)%%CZ1 - 384%%CZ0 + 12)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 1536\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2 +-+
+-- (- 12288\|2 %%CZ0 + 48\|2 )%%CZ1 + 1536\|2 %%CZ0 + 48\|2 %%CZ0
+-- +
+-- +-+
+-- 60\|2
+-- /
+-- +-+
+-- \|2
+-- +
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2 +-+
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1 - 4\|2 %%CZ1
+-- +
+-- +-+
+-- - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- ((- 24576%%CZ0 + 768)%%CZ1 + 768%%CZ0 + 48)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 98304\|2 %%CZ0 + 3072\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2
+-- (- 98304\|2 %%CZ0 - 192\|2 )%%CZ1 + 3072\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- - 192\|2 %%CZ0 - 24\|2
+-- *
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+
+-- - 4\|2 %%CZ1 - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- +
+-- ((- 3072%%CZ0 + 384)%%CZ1 + 384%%CZ0 - 12)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 1536\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2 +-+
+-- (- 12288\|2 %%CZ0 + 48\|2 )%%CZ1 + 1536\|2 %%CZ0 + 48\|2 %%CZ0
+-- +
+-- +-+
+-- 42\|2
+-- /
+-- +-+
+-- \|2
+-- +
+-- -
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2 +-+
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1 - 4\|2 %%CZ1
+-- +
+-- +-+
+-- - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- +-+ +-+ +-+
+-- (- 24576\|2 %%CZ0 + 768\|2 )%%CZ1 + 768\|2 %%CZ0
+-- +
+-- +-+
+-- 48\|2
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- 2
+-- (- 196608%%CZ0 + 6144)%%CZ1
+-- +
+-- 2 2
+-- (- 196608%%CZ0 - 384)%%CZ1 + 6144%%CZ0 - 384%%CZ0 - 48
+-- *
+-- ROOT
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+
+-- - 4\|2 %%CZ1 - 4\|2 %%CZ0
+-- /
+-- +-+
+-- 2\|2
+-- +
+-- ((- 3072%%CZ0 + 384)%%CZ1 + 384%%CZ0 - 12)
+-- *
+-- +-----------------------------------------+
+-- | 2 2
+-- \|- 96%%CZ1 - 64%%CZ0 %%CZ1 - 96%%CZ0 - 1
+-- +
+-- +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 1536\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 2
+-- (- 12288\|2 %%CZ0 + 48\|2 )%%CZ1 + 1536\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- 48\|2 %%CZ0 + 60\|2
+-- /
+-- +-+
+-- \|2
+-- +
+-- -
+-- +------+
+-- \|4%%CZ1
+-- *
+-- log
+-- +-+ +-+ 2
+-- (98304\|2 %%CZ0 - 3072\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 3
+-- (98304\|2 %%CZ0 + 192\|2 )%%CZ1 + 98304\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- 768\|2 %%CZ0 - 36\|2
+-- *
+-- +------+
+-- \|4%%CZ1
+-- +
+-- 2 2
+-- (12288%%CZ0 - 1536)%%CZ1 + (12288%%CZ0 - 48)%%CZ1
+-- +
+-- 3
+-- 12288%%CZ0 + 96%%CZ0 + 18
+-- +
+-- +------+
+-- \|4%%CZ1
+-- *
+-- log
+-- 2 2
+-- (98304%%CZ0 - 3072)%%CZ1 + (98304%%CZ0 + 192)%%CZ1
+-- +
+-- 3
+-- 98304%%CZ0 + 768%%CZ0 - 36
+-- *
+-- +------+
+-- \|4%%CZ1
+-- +
+-- 2 2 3
+-- (12288%%CZ0 - 1536)%%CZ1 + (12288%%CZ0 - 48)%%CZ1 + 12288%%CZ0
+-- +
+-- 96%%CZ0 + 9
+-- +
+-- -
+-- +------+
+-- \|4%%CZ1
+-- *
+-- log
+-- 2 2
+-- (- 98304%%CZ0 + 3072)%%CZ1 + (- 98304%%CZ0 - 192)%%CZ1
+-- +
+-- 3
+-- - 98304%%CZ0 - 768%%CZ0 + 36
+-- *
+-- +------+
+-- \|4%%CZ1
+-- +
+-- 2 2
+-- (12288%%CZ0 - 1536)%%CZ1 + (12288%%CZ0 - 48)%%CZ1
+-- +
+-- 3
+-- 12288%%CZ0 + 96%%CZ0 + 9
+-- +
+-- +------+
+-- \|4%%CZ1
+-- *
+-- log
+-- +-+ +-+ 2
+-- (- 98304\|2 %%CZ0 + 3072\|2 )%%CZ1
+-- +
+-- +-+ 2 +-+ +-+ 3
+-- (- 98304\|2 %%CZ0 - 192\|2 )%%CZ1 - 98304\|2 %%CZ0
+-- +
+-- +-+ +-+
+-- - 768\|2 %%CZ0 + 36\|2
+-- *
+-- +------+
+-- \|4%%CZ1
+-- +
+-- 2 2 3
+-- (12288%%CZ0 - 1536)%%CZ1 + (12288%%CZ0 - 48)%%CZ1 + 12288%%CZ0
+-- +
+-- 96%%CZ0 + 18
+-- +
+-- +------+
+-- \|4%%CZ0
+-- *
+-- log
+-- +-+ 3 +-+ 2 +-+ +-+
+-- (98304\|2 %%CZ0 + 3072\|2 %%CZ0 + 576\|2 %%CZ0 - 60\|2 )
+-- *
+-- +------+
+-- \|4%%CZ0
+-- +
+-- 3 2
+-- - 12288%%CZ0 - 1536%%CZ0 - 144%%CZ0 + 30
+-- +
+-- -
+-- +------+
+-- \|4%%CZ0
+-- *
+-- log
+-- 3 2 +------+
+-- (98304%%CZ0 + 3072%%CZ0 + 576%%CZ0 - 60)\|4%%CZ0
+-- +
+-- 3 2
+-- - 12288%%CZ0 - 1536%%CZ0 - 144%%CZ0 + 21
+-- +
+-- +------+
+-- \|4%%CZ0
+-- *
+-- log
+-- 3 2 +------+
+-- (- 98304%%CZ0 - 3072%%CZ0 - 576%%CZ0 + 60)\|4%%CZ0
+-- +
+-- 3 2
+-- - 12288%%CZ0 - 1536%%CZ0 - 144%%CZ0 + 21
+-- +
+-- -
+-- +------+
+-- \|4%%CZ0
+-- *
+-- log
+-- +-+ 3 +-+ 2 +-+ +-+
+-- (- 98304\|2 %%CZ0 - 3072\|2 %%CZ0 - 576\|2 %%CZ0 + 60\|2 )
+-- *
+-- +------+
+-- \|4%%CZ0
+-- +
+-- 3 2
+-- - 12288%%CZ0 - 1536%%CZ0 - 144%%CZ0 + 30
+-- /
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+--
+
+in1186a:=integrate((z^2+z)^(1/2)/(1+z^2)^2, z= 0..1,"noPole")
+--
+-- (105)
+-- +-+ 4+-+ %pi
+-- (17\|2 - 24)\|2 cos(---)
+-- 8
+-- *
+-- log
+-- %pi 4 +-+4+-+3 %pi 3
+-- 2sin(---) + 2\|2 \|2 sin(---)
+-- 8 8
+-- +
+-- %pi 2 +-+4+-+3 %pi 4+-+2 %pi 2
+-- (4cos(---) - 2\|2 \|2 cos(---) + 4\|2 )sin(---)
+-- 8 8 8
+-- +
+-- +-+4+-+3 %pi 2 4+-+2 %pi +-+4+-+ %pi
+-- (2\|2 \|2 cos(---) - 4\|2 cos(---) + 2\|2 \|2 )sin(---)
+-- 8 8 8
+-- +
+-- %pi 4 +-+4+-+3 %pi 3 4+-+2 %pi 2
+-- 2cos(---) - 2\|2 \|2 cos(---) + 4\|2 cos(---)
+-- 8 8 8
+-- +
+-- +-+4+-+ %pi
+-- - 2\|2 \|2 cos(---) + 1
+-- 8
+-- +
+-- +-+ 4+-+ %pi
+-- (- 17\|2 + 24)\|2 cos(---)
+-- 8
+-- *
+-- log
+-- %pi 4 4+-+3 %pi 3
+-- 2sin(---) + 4\|2 sin(---)
+-- 8 8
+-- +
+-- %pi 2 +-+ 4+-+3 %pi +-+ 4+-+2
+-- (4cos(---) + (- 4\|2 + 4)\|2 cos(---) + (- 4\|2 + 12)\|2 )
+-- 8 8
+-- *
+-- %pi 2
+-- sin(---)
+-- 8
+-- +
+-- 4+-+3 %pi 2 +-+ 4+-+2 %pi
+-- 4\|2 cos(---) + (- 8\|2 + 8)\|2 cos(---)
+-- 8 8
+-- +
+-- +-+ 4+-+
+-- (- 8\|2 + 16)\|2
+-- *
+-- %pi
+-- sin(---)
+-- 8
+-- +
+-- %pi 4 +-+ 4+-+3 %pi 3
+-- 2cos(---) + (- 4\|2 + 4)\|2 cos(---)
+-- 8 8
+-- +
+-- +-+ 4+-+2 %pi 2 +-+ 4+-+ %pi
+-- (- 12\|2 + 20)\|2 cos(---) + (- 24\|2 + 32)\|2 cos(---)
+-- 8 8
+-- +
+-- +-+
+-- - 16\|2 + 24
+-- +
+-- +-+ 4+-+ %pi
+-- (17\|2 - 24)\|2 cos(---)
+-- 8
+-- *
+-- log
+-- %pi 4 4+-+3 %pi 3
+-- 2sin(---) - 4\|2 sin(---)
+-- 8 8
+-- +
+-- %pi 2 +-+ 4+-+3 %pi +-+ 4+-+2
+-- (4cos(---) + (4\|2 - 4)\|2 cos(---) + (- 4\|2 + 12)\|2 )
+-- 8 8
+-- *
+-- %pi 2
+-- sin(---)
+-- 8
+-- +
+-- 4+-+3 %pi 2 +-+ 4+-+2 %pi
+-- - 4\|2 cos(---) + (- 8\|2 + 8)\|2 cos(---)
+-- 8 8
+-- +
+-- +-+ 4+-+
+-- (8\|2 - 16)\|2
+-- *
+-- %pi
+-- sin(---)
+-- 8
+-- +
+-- %pi 4 +-+ 4+-+3 %pi 3
+-- 2cos(---) + (4\|2 - 4)\|2 cos(---)
+-- 8 8
+-- +
+-- +-+ 4+-+2 %pi 2 +-+ 4+-+ %pi +-+
+-- (- 12\|2 + 20)\|2 cos(---) + (24\|2 - 32)\|2 cos(---) - 16\|2
+-- 8 8
+-- +
+-- 24
+-- +
+-- +-+ 4+-+ %pi
+-- (- 17\|2 + 24)\|2 cos(---)
+-- 8
+-- *
+-- log
+-- %pi 4 +-+4+-+3 %pi 3
+-- 2sin(---) - 2\|2 \|2 sin(---)
+-- 8 8
+-- +
+-- %pi 2 +-+4+-+3 %pi 4+-+2 %pi 2
+-- (4cos(---) + 2\|2 \|2 cos(---) + 4\|2 )sin(---)
+-- 8 8 8
+-- +
+-- +-+4+-+3 %pi 2 4+-+2 %pi +-+4+-+ %pi
+-- (- 2\|2 \|2 cos(---) - 4\|2 cos(---) - 2\|2 \|2 )sin(---)
+-- 8 8 8
+-- +
+-- %pi 4 +-+4+-+3 %pi 3 4+-+2 %pi 2
+-- 2cos(---) + 2\|2 \|2 cos(---) + 4\|2 cos(---)
+-- 8 8 8
+-- +
+-- +-+4+-+ %pi
+-- 2\|2 \|2 cos(---) + 1
+-- 8
+-- +
+-- 4+-+ %pi 4+-+ %pi +-+
+-- \|2 sin(---) - \|2 cos(---) + \|2
+-- +-+ 4+-+ %pi 8 8
+-- (68\|2 - 96)\|2 sin(---)atan(--------------------------------------)
+-- 8 4+-+ %pi 4+-+ %pi +-+
+-- \|2 sin(---) + \|2 cos(---) - \|2 + 2
+-- 8 8
+-- +
+-- 4+-+ %pi 4+-+ %pi +-+
+-- \|2 sin(---) - \|2 cos(---) + \|2
+-- +-+ 4+-+ %pi 8 8
+-- (- 68\|2 + 96)\|2 sin(---)atan(----------------------------------)
+-- 8 4+-+ %pi 4+-+ %pi
+-- \|2 sin(---) + \|2 cos(---)
+-- 8 8
+-- +
+-- 4+-+ %pi 4+-+ %pi +-+
+-- \|2 sin(---) - \|2 cos(---) - \|2
+-- +-+ 4+-+ %pi 8 8
+-- (68\|2 - 96)\|2 sin(---)atan(----------------------------------)
+-- 8 4+-+ %pi 4+-+ %pi
+-- \|2 sin(---) + \|2 cos(---)
+-- 8 8
+-- +
+-- 4+-+ %pi 4+-+ %pi +-+
+-- \|2 sin(---) - \|2 cos(---) - \|2
+-- +-+ 4+-+ %pi 8 8
+-- (- 68\|2 + 96)\|2 sin(---)atan(--------------------------------------)
+-- 8 4+-+ %pi 4+-+ %pi +-+
+-- \|2 sin(---) + \|2 cos(---) + \|2 - 2
+-- 8 8
+-- +
+-- +-+
+-- - 136\|2 + 192
+-- /
+-- +-+
+-- 384\|2 - 544
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1190a:=integrate(sin(z)^2*tan(z)^(1/2), z= 0..1,"noPole")
+--
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((96cos(1) + 24cos(1))sin(1) - 96cos(1) + 120cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (- 48cos(1)sin(1) + 96cos(1) - 96cos(1) - 3)\|2
+-- *
+-- log
+-- 2 2 3 2
+-- (- 16cos(1) sin(1) + (- 16cos(1) - 4cos(1))sin(1) - 4cos(1) )
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 8cos(1)sin(1) + 32cos(1) sin(1) + (8cos(1) + 8cos(1))sin(1) + 1
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((96cos(1) + 24cos(1))sin(1) - 96cos(1) + 120cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (- 48cos(1)sin(1) + 96cos(1) - 96cos(1) - 3)\|2
+-- *
+-- log
+-- 2 2 3
+-- - 64cos(1) sin(1) + (- 64cos(1) - 16cos(1))sin(1)
+-- +
+-- 2
+-- - 16cos(1)
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 32cos(1)sin(1) + 128cos(1) sin(1) + (32cos(1) + 32cos(1))sin(1)
+-- +
+-- 4
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((384cos(1) + 96cos(1))sin(1) - 384cos(1) + 480cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (- 192cos(1)sin(1) + 384cos(1) - 384cos(1) - 12)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-----------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) )\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 384cos(1) - 96cos(1))sin(1) + 384cos(1) - 480cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (192cos(1)sin(1) - 384cos(1) + 384cos(1) + 12)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 4cos(1)sin(1) |------ + (- 2cos(1)sin(1) + 2cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 4cos(1) |------ + (- 2cos(1)sin(1) - 2cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 384cos(1) - 96cos(1))sin(1) + 384cos(1) - 480cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (192cos(1)sin(1) - 384cos(1) + 384cos(1) + 12)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) )\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- 3 5
+-- (- 96cos(1) - 24cos(1))log(4) - 1024cos(1)
+-- +
+-- 3
+-- (96%pi + 1024)cos(1) + (24%pi + 32)cos(1)
+-- *
+-- sin(1)
+-- +
+-- 4 2 4
+-- (96cos(1) - 120cos(1) )log(4) + (- 96%pi - 512)cos(1)
+-- +
+-- 2
+-- (120%pi + 512)cos(1)
+-- *
+-- +------+
+-- |sin(1)
+-- |------
+-- \|cos(1)
+-- +
+-- 5 3
+-- (48cos(1)log(4) + 512cos(1) - 384cos(1) + (- 48%pi - 128)cos(1))
+-- *
+-- sin(1)
+-- +
+-- 4 2 6
+-- (- 96cos(1) + 96cos(1) + 3)log(4) - 512cos(1)
+-- +
+-- 4 2
+-- (96%pi + 1152)cos(1) + (- 96%pi - 640)cos(1) - 3%pi
+-- *
+-- +-+
+-- \|2
+-- /
+-- 3 4 2 +-+
+-- ((1024cos(1) + 256cos(1))sin(1) - 1024cos(1) + 1280cos(1) )\|2
+-- *
+-- +------+
+-- |sin(1)
+-- |------
+-- \|cos(1)
+-- +
+-- 4 2
+-- - 1024cos(1)sin(1) + 2048cos(1) - 2048cos(1) - 64
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1191a:=integrate(sin(z)^2/tan(z)^(1/2), z= 0..1,"noPole")
+--
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 32cos(1) - 8cos(1))sin(1) + 32cos(1) - 40cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (16cos(1)sin(1) - 32cos(1) + 32cos(1) + 1)\|2
+-- *
+-- log
+-- 2 2 3 2
+-- (- 16cos(1) sin(1) + (- 16cos(1) - 4cos(1))sin(1) - 4cos(1) )
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 8cos(1)sin(1) + 32cos(1) sin(1) + (8cos(1) + 8cos(1))sin(1) + 1
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 32cos(1) - 8cos(1))sin(1) + 32cos(1) - 40cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (16cos(1)sin(1) - 32cos(1) + 32cos(1) + 1)\|2
+-- *
+-- log
+-- 2 2 3
+-- - 64cos(1) sin(1) + (- 64cos(1) - 16cos(1))sin(1)
+-- +
+-- 2
+-- - 16cos(1)
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 32cos(1)sin(1) + 128cos(1) sin(1) + (32cos(1) + 32cos(1))sin(1)
+-- +
+-- 4
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((128cos(1) + 32cos(1))sin(1) - 128cos(1) + 160cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (- 64cos(1)sin(1) + 128cos(1) - 128cos(1) - 4)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-----------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) )\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 128cos(1) - 32cos(1))sin(1) + 128cos(1) - 160cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (64cos(1)sin(1) - 128cos(1) + 128cos(1) + 4)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 4cos(1)sin(1) |------ + (- 2cos(1)sin(1) + 2cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 4cos(1) |------ + (- 2cos(1)sin(1) - 2cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 128cos(1) - 32cos(1))sin(1) + 128cos(1) - 160cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (64cos(1)sin(1) - 128cos(1) + 128cos(1) + 4)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) )\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- 3 3
+-- ((32cos(1) + 8cos(1))log(4) + (32%pi + 512)cos(1) + 8%pi cos(1))
+-- *
+-- sin(1)
+-- +
+-- 4 2 6
+-- (- 32cos(1) + 40cos(1) )log(4) - 1024cos(1)
+-- +
+-- 4 2
+-- (- 32%pi + 1024)cos(1) + (40%pi + 32)cos(1)
+-- *
+-- +------+
+-- |sin(1)
+-- |------
+-- \|cos(1)
+-- +
+-- 5 3
+-- (- 16cos(1)log(4) + 512cos(1) - 640cos(1) - 16%pi cos(1))sin(1)
+-- +
+-- 4 2 6 4
+-- (32cos(1) - 32cos(1) - 1)log(4) + 512cos(1) + (32%pi - 384)cos(1)
+-- +
+-- 2
+-- (- 32%pi - 128)cos(1) - %pi
+-- *
+-- +-+
+-- \|2
+-- /
+-- 3 4 2 +-+
+-- ((1024cos(1) + 256cos(1))sin(1) - 1024cos(1) + 1280cos(1) )\|2
+-- *
+-- +------+
+-- |sin(1)
+-- |------
+-- \|cos(1)
+-- +
+-- 4 2
+-- - 1024cos(1)sin(1) + 2048cos(1) - 2048cos(1) - 64
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in1193a:=integrate(-sin(z)^2*cot(z-1), z= 0..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+------------------------------------------------------
+in1207:=integrate(sin(z)*cos(z)*tan(z)^(1/2), z= 0..1)
+--
+-- potentialPole
+--
+in1207a:=integrate(sin(z)*cos(z)*tan(z)^(1/2), z= 0..1,"noPole")
+--
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 32cos(1) - 8cos(1))sin(1) + 32cos(1) - 40cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (16cos(1)sin(1) - 32cos(1) + 32cos(1) + 1)\|2
+-- *
+-- log
+-- 2 2 3 2
+-- (- 16cos(1) sin(1) + (- 16cos(1) - 4cos(1))sin(1) - 4cos(1) )
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 8cos(1)sin(1) + 32cos(1) sin(1) + (8cos(1) + 8cos(1))sin(1) + 1
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 32cos(1) - 8cos(1))sin(1) + 32cos(1) - 40cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (16cos(1)sin(1) - 32cos(1) + 32cos(1) + 1)\|2
+-- *
+-- log
+-- 2 2 3
+-- - 64cos(1) sin(1) + (- 64cos(1) - 16cos(1))sin(1)
+-- +
+-- 2
+-- - 16cos(1)
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 32cos(1)sin(1) + 128cos(1) sin(1) + (32cos(1) + 32cos(1))sin(1)
+-- +
+-- 4
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((128cos(1) + 32cos(1))sin(1) - 128cos(1) + 160cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (- 64cos(1)sin(1) + 128cos(1) - 128cos(1) - 4)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-----------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) )\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 128cos(1) - 32cos(1))sin(1) + 128cos(1) - 160cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (64cos(1)sin(1) - 128cos(1) + 128cos(1) + 4)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 4cos(1)sin(1) |------ + (- 2cos(1)sin(1) + 2cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 4cos(1) |------ + (- 2cos(1)sin(1) - 2cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- 3 4 2 |sin(1)
+-- ((- 128cos(1) - 32cos(1))sin(1) + 128cos(1) - 160cos(1) ) |------
+-- \|cos(1)
+-- +
+-- 4 2 +-+
+-- (64cos(1)sin(1) - 128cos(1) + 128cos(1) + 4)\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) )\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- 3 3
+-- ((32cos(1) + 8cos(1))log(4) + (32%pi + 512)cos(1) + 8%pi cos(1))
+-- *
+-- sin(1)
+-- +
+-- 4 2 6
+-- (- 32cos(1) + 40cos(1) )log(4) - 1024cos(1)
+-- +
+-- 4 2
+-- (- 32%pi + 1024)cos(1) + (40%pi + 32)cos(1)
+-- *
+-- +------+
+-- |sin(1)
+-- |------
+-- \|cos(1)
+-- +
+-- 5 3
+-- (- 16cos(1)log(4) + 512cos(1) - 640cos(1) - 16%pi cos(1))sin(1)
+-- +
+-- 4 2 6 4
+-- (32cos(1) - 32cos(1) - 1)log(4) + 512cos(1) + (32%pi - 384)cos(1)
+-- +
+-- 2
+-- (- 32%pi - 128)cos(1) - %pi
+-- *
+-- +-+
+-- \|2
+-- /
+-- 3 4 2 +-+
+-- ((1024cos(1) + 256cos(1))sin(1) - 1024cos(1) + 1280cos(1) )\|2
+-- *
+-- +------+
+-- |sin(1)
+-- |------
+-- \|cos(1)
+-- +
+-- 4 2
+-- - 1024cos(1)sin(1) + 2048cos(1) - 2048cos(1) - 64
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1210a:=integrate(-sin(z)*cos(z)*cot(z-1), z= 0..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1214a:=integrate(-sin(z)*tan(z)*csc(z-1), z= 0..1,"noPole")
+--
+-- 1 2 1 2
+-- 4cos(-) sin(-)
+-- 2 2
+-- *
+-- log
+-- 1 4 1 2 1 2 1 4 2
+-- (sin(-) - 2cos(-) sin(-) + cos(-) )sin(1)
+-- 2 2 2 2
+-- +
+-- 1 1 3 1 3 1
+-- (4cos(-)cos(1)sin(-) - 4cos(-) cos(1)sin(-))sin(1)
+-- 2 2 2 2
+-- +
+-- 1 2 2 1 2
+-- 4cos(-) cos(1) sin(-)
+-- 2 2
+-- /
+-- 1 4 2 1 4 1 4
+-- cos(-) cos(1) + 2cos(-) cos(1) + cos(-)
+-- 2 2 2
+-- +
+-- 1 2
+-- sin(-)
+-- 1 2 1 2 2
+-- - 4cos(-) sin(-) log(-------)
+-- 2 2 1 2
+-- cos(-)
+-- 2
+-- +
+-- 2
+-- 1 4 1 2 1 2 1 4 4cos(1)
+-- (- sin(-) - 2cos(-) sin(-) - cos(-) )log(---------------------)
+-- 2 2 2 2 2
+-- cos(1) + 2cos(1) + 1
+-- +
+-- 1 4 1 2 1 2 1 4 4
+-- (sin(-) - 2cos(-) sin(-) + cos(-) )log(---------------------)
+-- 2 2 2 2 2
+-- cos(1) + 2cos(1) + 1
+-- +
+-- 1 1 3 1 3 1
+-- - 4cos(-)sin(-) + 4cos(-) sin(-)
+-- 2 2 2 2
+-- /
+-- 1 4 1 4
+-- 2sin(-) - 2cos(-)
+-- 2 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1217a:=integrate(sin(z)*sec(z)*tan(z)^(1/2), z= 0..1,"noPole")
+--
+-- +------+
+-- |sin(1) +-+
+-- (2cos(1) |------ + (- sin(1) - cos(1))\|2 )
+-- \|cos(1)
+-- *
+-- log
+-- 2 2 3 2
+-- (- 16cos(1) sin(1) + (- 16cos(1) - 4cos(1))sin(1) - 4cos(1) )
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 8cos(1)sin(1) + 32cos(1) sin(1) + (8cos(1) + 8cos(1))sin(1) + 1
+-- +
+-- +------+
+-- |sin(1) +-+
+-- (2cos(1) |------ + (- sin(1) - cos(1))\|2 )
+-- \|cos(1)
+-- *
+-- log
+-- 2 2 3
+-- - 64cos(1) sin(1) + (- 64cos(1) - 16cos(1))sin(1)
+-- +
+-- 2
+-- - 16cos(1)
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 32cos(1)sin(1) + 128cos(1) sin(1) + (32cos(1) + 32cos(1))sin(1)
+-- +
+-- 4
+-- +
+-- +------+
+-- |sin(1) +-+
+-- (- 8cos(1) |------ + (4sin(1) + 4cos(1))\|2 )
+-- \|cos(1)
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-----------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) )\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- |sin(1) +-+
+-- (8cos(1) |------ + (- 4sin(1) - 4cos(1))\|2 )
+-- \|cos(1)
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 4cos(1)sin(1) |------ + (- 2cos(1)sin(1) + 2cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 4cos(1) |------ + (- 2cos(1)sin(1) - 2cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- |sin(1) +-+
+-- (8cos(1) |------ + (- 4sin(1) - 4cos(1))\|2 )
+-- \|cos(1)
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) )\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- |sin(1)
+-- (- 32sin(1) - 2cos(1)log(4) + (- 2%pi - 32)cos(1)) |------
+-- \|cos(1)
+-- +
+-- +-+
+-- ((log(4) + %pi + 32)sin(1) + cos(1)log(4) + %pi cos(1))\|2
+-- /
+-- +------+
+-- +-+ |sin(1)
+-- 16cos(1)\|2 |------ - 16sin(1) - 16cos(1)
+-- \|cos(1)
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1218a:=integrate(sin(z)*sec(z)/tan(z)^(1/2), z= 0..1,"noPole")
+--
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- 2 2 3 2
+-- (- 16cos(1) sin(1) + (- 16cos(1) - 4cos(1))sin(1) - 4cos(1) )
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 8cos(1)sin(1) + 32cos(1) sin(1) + (8cos(1) + 8cos(1))sin(1) + 1
+-- +
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) - 1)\|2
+-- +-+ \|cos(1)
+-- 4\|2 atan(-----------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) )\|2
+-- \|cos(1)
+-- +
+-- -
+-- +-+
+-- 4\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 4cos(1)sin(1) |------ + (- 2cos(1)sin(1) + 2cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 4cos(1) |------ + (- 2cos(1)sin(1) - 2cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) )\|2
+-- +-+ \|cos(1)
+-- - 4\|2 atan(-------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +-+
+-- %pi\|2
+-- /
+-- 16
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1a:=integrate(log(abs(z^2-1))/(1+z)^2, z= 0..%plusInfinity,"noPole")
+--
+-- 1
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in13:=integrate(cos(z)^2*sin(z)^n, z)
+--
+-- z
+-- ++ 2 n
+-- | cos(%H) sin(%H) d%H
+-- ++
+-- Type: Union(Expression Integer,...)
+
+in15ab:=integrate(log(sqrt(z)+z^5), z=0..a,"noPole")
+--
+-- %pi
+-- 6cos(---)
+-- 9
+-- *
+-- log
+-- %pi 6 +-+ %pi %pi 5 %pi 2 %pi 4
+-- 2sin(---) + 4\|3 cos(---)sin(---) + 2cos(---) sin(---)
+-- 9 9 9 9 9
+-- +
+-- +-+ %pi 3 %pi 3 %pi 4 %pi 2
+-- 8\|3 cos(---) sin(---) + (- 2cos(---) + 2a)sin(---)
+-- 9 9 9 9
+-- +
+-- +-+ %pi 5 +-+ %pi %pi %pi 6
+-- (4\|3 cos(---) + 4a\|3 cos(---))sin(---) - 2cos(---)
+-- 9 9 9 9
+-- +
+-- %pi 2
+-- - 2a cos(---)
+-- 9
+-- *
+-- +-+
+-- \|a
+-- +
+-- %pi 8 %pi 2 %pi 6 %pi 4 %pi 4
+-- sin(---) + 4cos(---) sin(---) + (6cos(---) + 3a)sin(---)
+-- 9 9 9 9 9
+-- +
+-- +-+ %pi %pi 3 %pi 6 %pi 2 %pi 2
+-- 4a\|3 cos(---)sin(---) + (4cos(---) + 14a cos(---) )sin(---)
+-- 9 9 9 9 9
+-- +
+-- +-+ %pi 3 %pi %pi 8 %pi 4 2
+-- - 4a\|3 cos(---) sin(---) + cos(---) + 3a cos(---) + a
+-- 9 9 9 9
+-- +
+-- +-+ %pi %pi
+-- (- 3\|3 sin(---) - 3cos(---))
+-- 9 9
+-- *
+-- log
+-- %pi 6 +-+ %pi %pi 5 %pi 2 %pi 4
+-- 2sin(---) - 4\|3 cos(---)sin(---) + 2cos(---) sin(---)
+-- 9 9 9 9 9
+-- +
+-- +-+ %pi 3 %pi 3 %pi 4 %pi 2
+-- - 8\|3 cos(---) sin(---) + (- 2cos(---) + 2a)sin(---)
+-- 9 9 9 9
+-- +
+-- +-+ %pi 5 +-+ %pi %pi %pi 6
+-- (- 4\|3 cos(---) - 4a\|3 cos(---))sin(---) - 2cos(---)
+-- 9 9 9 9
+-- +
+-- %pi 2
+-- - 2a cos(---)
+-- 9
+-- *
+-- +-+
+-- \|a
+-- +
+-- %pi 8 %pi 2 %pi 6 %pi 4 %pi 4
+-- sin(---) + 4cos(---) sin(---) + (6cos(---) + 3a)sin(---)
+-- 9 9 9 9 9
+-- +
+-- +-+ %pi %pi 3 %pi 6 %pi 2 %pi 2
+-- - 4a\|3 cos(---)sin(---) + (4cos(---) + 14a cos(---) )sin(---)
+-- 9 9 9 9 9
+-- +
+-- +-+ %pi 3 %pi %pi 8 %pi 4 2
+-- 4a\|3 cos(---) sin(---) + cos(---) + 3a cos(---) + a
+-- 9 9 9 9
+-- +
+-- 5 +-+ 10 +-+
+-- 6a log(2a \|a + a + a) - 12log(\|a + 1)
+-- +
+-- +-+ 2
+-- 3log((- 2a - 2)\|a + a + 3a + 1)
+-- +
+-- +-+ %pi %pi
+-- (3\|3 sin(---) - 3cos(---))
+-- 9 9
+-- *
+-- log
+-- %pi 6 %pi 2 %pi 4
+-- - 4sin(---) - 4cos(---) sin(---)
+-- 9 9 9
+-- +
+-- %pi 4 %pi 2 %pi 6 %pi 2
+-- (4cos(---) - 4a)sin(---) + 4cos(---) + 4a cos(---)
+-- 9 9 9 9
+-- *
+-- +-+
+-- \|a
+-- +
+-- %pi 8 %pi 2 %pi 6 %pi 4 %pi 4
+-- sin(---) + 4cos(---) sin(---) + (6cos(---) + 6a)sin(---)
+-- 9 9 9 9 9
+-- +
+-- %pi 6 %pi 2 %pi 2 %pi 8 %pi 4 2
+-- (4cos(---) - 4a cos(---) )sin(---) + cos(---) + 6a cos(---) + a
+-- 9 9 9 9 9
+-- +
+-- %pi +-+ %pi
+-- (12sin(---) - 12\|3 cos(---))
+-- 9 9
+-- *
+-- +-+ %pi 2 %pi %pi +-+ %pi 2
+-- \|3 sin(---) + 2cos(---)sin(---) - \|3 cos(---)
+-- 9 9 9 9
+-- atan(-------------------------------------------------)
+-- %pi 2 +-+ %pi %pi %pi 2
+-- sin(---) - 2\|3 cos(---)sin(---) - cos(---)
+-- 9 9 9 9
+-- +
+-- +-+ +-+ +-+
+-- +-+ 2\|3 \|a - \|3
+-- 6\|3 atan(----------------)
+-- +-+
+-- 2\|a - 2a + 1
+-- +
+-- +-+ %pi 2 %pi %pi +-+ %pi 2
+-- \|3 sin(---) - 2cos(---)sin(---) - \|3 cos(---)
+-- %pi 9 9 9 9
+-- 24sin(---)atan(-------------------------------------------------)
+-- 9 %pi 2 +-+ %pi %pi %pi 2
+-- sin(---) + 2\|3 cos(---)sin(---) - cos(---)
+-- 9 9 9 9
+-- +
+-- %pi %pi
+-- 2cos(---)sin(---)
+-- %pi +-+ %pi 9 9
+-- (12sin(---) + 12\|3 cos(---))atan(---------------------)
+-- 9 9 %pi 2 %pi 2
+-- sin(---) - cos(---)
+-- 9 9
+-- +
+-- %pi +-+ %pi
+-- (- 12sin(---) + 12\|3 cos(---))
+-- 9 9
+-- *
+-- +-+ %pi 2 %pi %pi +-+ %pi 2
+-- \|3 sin(---) + 2cos(---)sin(---) - \|3 cos(---)
+-- 9 9 9 9
+-- atan(-----------------------------------------------------)
+-- +-+ %pi 2 +-+ %pi %pi %pi 2
+-- 2\|a + sin(---) - 2\|3 cos(---)sin(---) - cos(---)
+-- 9 9 9 9
+-- +
+-- +-+ %pi 2 %pi %pi +-+ %pi 2
+-- \|3 sin(---) - 2cos(---)sin(---) - \|3 cos(---)
+-- %pi 9 9 9 9
+-- - 24sin(---)atan(-----------------------------------------------------)
+-- 9 +-+ %pi 2 +-+ %pi %pi %pi 2
+-- 2\|a + sin(---) + 2\|3 cos(---)sin(---) - cos(---)
+-- 9 9 9 9
+-- +
+-- %pi %pi
+-- 2cos(---)sin(---)
+-- %pi +-+ %pi 9 9
+-- (12sin(---) + 12\|3 cos(---))atan(----------------------------)
+-- 9 9 +-+ %pi 2 %pi 2
+-- \|a - sin(---) + cos(---)
+-- 9 9
+-- +
+-- +-+
+-- 2%pi\|3 - 60a
+-- /
+-- 12
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in20a:=integrate(log(sin(z)^2+cos(z)^2), z= 0..1,"noPole")
+--
+-- 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in126a:=integrate(atan(1/cot(z)), z= 0..2*%pi,"noPole")
+--
+-- 2
+-- 2%pi
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in128a:=integrate(atan(sqrt(1-cos(z)^2)/(1+cos(z))), z= 0..1,"noPole")
+--
+--
+-- 1
+-- -
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in134:=integrate(log(exp(z)), z= -I..I)
+--
+-- 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in134a:=integrate(log(exp(z)), z= -%i..%i)
+--
+-- 0
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+--
+
+in1221a:=integrate(sin(z)*csc(z)*acoth(1/z), z= 0..1,"noPole")
+--
+-- log(4)
+-- ------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1228a:=integrate(sin(z)*csc(z)*tan(z)^(1/2), z= 0..1,"noPole")
+--
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- 2 2 3 2
+-- (- 16cos(1) sin(1) + (- 16cos(1) - 4cos(1))sin(1) - 4cos(1) )
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 8cos(1)sin(1) + 32cos(1) sin(1) + (8cos(1) + 8cos(1))sin(1) + 1
+-- +
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) - 1)\|2
+-- +-+ \|cos(1)
+-- 4\|2 atan(-----------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) )\|2
+-- \|cos(1)
+-- +
+-- -
+-- +-+
+-- 4\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 4cos(1)sin(1) |------ + (- 2cos(1)sin(1) + 2cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 4cos(1) |------ + (- 2cos(1)sin(1) - 2cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) )\|2
+-- +-+ \|cos(1)
+-- - 4\|2 atan(-------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +-+
+-- %pi\|2
+-- /
+-- 16
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in1241a:=integrate(sin(z)*csc(z)*acoth(1/z), z= 0..1,"noPole")
+--
+-- log(4)
+-- ------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1248a:=integrate(sin(z)*csc(z)*tan(z)^(1/2), z= 0..1,"noPole")
+--
+-- +-+
+-- 2\|2
+-- *
+-- log
+-- 2 2 3 2
+-- (- 16cos(1) sin(1) + (- 16cos(1) - 4cos(1))sin(1) - 4cos(1) )
+-- *
+-- +------+
+-- +-+ |sin(1)
+-- \|2 |------
+-- \|cos(1)
+-- +
+-- 3 2 2 3
+-- 8cos(1)sin(1) + 32cos(1) sin(1) + (8cos(1) + 8cos(1))sin(1) + 1
+-- +
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) - 1)\|2
+-- +-+ \|cos(1)
+-- 4\|2 atan(-----------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) )\|2
+-- \|cos(1)
+-- +
+-- -
+-- +-+
+-- 4\|2
+-- *
+-- +------+
+-- |sin(1) 2 +-+
+-- 4cos(1)sin(1) |------ + (- 2cos(1)sin(1) + 2cos(1) - 1)\|2
+-- \|cos(1)
+-- atan(-------------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 4cos(1) |------ + (- 2cos(1)sin(1) - 2cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +------+
+-- |sin(1) 2 +-+
+-- 2cos(1)sin(1) |------ + (- cos(1)sin(1) + cos(1) )\|2
+-- +-+ \|cos(1)
+-- - 4\|2 atan(-------------------------------------------------------)
+-- +------+
+-- 2 |sin(1) 2 +-+
+-- 2cos(1) |------ + (- cos(1)sin(1) - cos(1) + 1)\|2
+-- \|cos(1)
+-- +
+-- +-+
+-- %pi\|2
+-- /
+-- 16
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1261a:=integrate(1/(sin(z)+cos(2*z)), z= -1..1,"noPole")
+--
+-- 2 2
+-- (- sin(1) + cos(1) + 2cos(1) + 1)
+-- *
+-- log
+-- 2 2
+-- - 12sin(1) + (42cos(1) + 48)sin(1) - 36cos(1) - 84cos(1)
+-- +
+-- - 48
+-- *
+-- +-+
+-- \|3
+-- +
+-- 2 2
+-- 21sin(1) + (- 72cos(1) - 84)sin(1) + 63cos(1) + 144cos(1) + 84
+-- /
+-- 2
+-- 4sin(1) - 4sin(1) + 1
+-- +
+-- 2 2
+-- (sin(1) - cos(1) - 2cos(1) - 1)
+-- *
+-- log
+-- 2 2
+-- - 12sin(1) + (- 42cos(1) - 48)sin(1) - 36cos(1) - 84cos(1)
+-- +
+-- - 48
+-- *
+-- +-+
+-- \|3
+-- +
+-- 2 2
+-- 21sin(1) + (72cos(1) + 84)sin(1) + 63cos(1) + 144cos(1) + 84
+-- /
+-- 2
+-- 4sin(1) + 4sin(1) + 1
+-- +
+-- +-+
+-- (- 4cos(1) - 4)sin(1)\|3
+-- /
+-- 2 2 +-+
+-- (3sin(1) - 3cos(1) - 6cos(1) - 3)\|3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1273a:=integrate((1/(z-I))^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1274a:=integrate(1/(1/(z-I))^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1278a:=integrate((1+1/(I*z)^(1/2))^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1284a:=integrate(log(1+2^(1/2)/z^(1/4)-1/z^(1/2)), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1314a:=integrate(log(1-z)*atanh(z^(1/2)), z= 0..1,"noPole")
+-- log(16) - 6
+-- -----------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1359a:=integrate((I*z)^(1/2)*(-I*z)^(1/2), z= %minusInfinity..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1376a:=integrate(z*acoth(z^(1/2)), z= 0..1,"noPole")
+--
+-- 2
+-- -
+-- 3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1377a:=integrate(z*acoth(1-z), z= 0..1,"noPole")
+--
+-- log(4) - 1
+-- ----------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1378a:=integrate(z*acoth(1-(1-z)^(1/2)), z= 0..1,"noPole")
+--
+-- - 3log(4) + 5
+-- -------------
+-- 3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1392a:=integrate(acoth(z^(1/2)), z= 0..1,"noPole")
+--
+-- 1
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1397a:=integrate(1/(-1+z^(1/2))^(1/2), z= 1..2,"noPole")
+--
+-- +--------+
+-- +-+ | +-+
+-- (4\|2 + 8)\|\|2 - 1
+-- ----------------------
+-- 3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1398a:=integrate(acoth(1/z), z= 1..2,"noPole")
+--
+-- 3log(9) - 2log(4)
+-- -----------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1399a:=integrate(acoth(1/z^(1/2)), z= 1..2,"noPole")
+--
+-- +-+
+-- - 2\|2 - 3 +-+
+-- log(-----------) + 4\|2 - 4
+-- +-+
+-- 2\|2 - 3
+-- ----------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in143a:=integrate(sqrt(1+z)/(1+z^2), z= 0..1,"noPole")
+--
+-- 4+-+ %pi
+-- \|2 cos(---)
+-- 8
+-- *
+-- log
+-- %pi 4 +-+4+-+3 %pi 3 %pi 2 4+-+2 %pi 2
+-- 2sin(---) + 4\|2 \|2 sin(---) + (4cos(---) + 12\|2 )sin(---)
+-- 8 8 8 8
+-- +
+-- +-+4+-+3 %pi 2 +-+4+-+ %pi %pi 4
+-- (4\|2 \|2 cos(---) + 8\|2 \|2 )sin(---) + 2cos(---)
+-- 8 8 8
+-- +
+-- 4+-+2 %pi 2
+-- 4\|2 cos(---) + 4
+-- 8
+-- +
+-- -
+-- 4+-+ %pi
+-- \|2 cos(---)
+-- 8
+-- *
+-- log
+-- %pi 4 4+-+3 %pi 3 %pi 2 4+-+2 %pi 2
+-- 2sin(---) + 4\|2 sin(---) + (4cos(---) + 6\|2 )sin(---)
+-- 8 8 8 8
+-- +
+-- 4+-+3 %pi 2 4+-+ %pi %pi 4
+-- (4\|2 cos(---) + 4\|2 )sin(---) + 2cos(---)
+-- 8 8 8
+-- +
+-- 4+-+2 %pi 2
+-- 2\|2 cos(---) + 1
+-- 8
+-- +
+-- 4+-+ %pi
+-- \|2 cos(---)
+-- 8
+-- *
+-- log
+-- %pi 4 4+-+3 %pi 3 %pi 2 4+-+2 %pi 2
+-- 2sin(---) - 4\|2 sin(---) + (4cos(---) + 6\|2 )sin(---)
+-- 8 8 8 8
+-- +
+-- 4+-+3 %pi 2 4+-+ %pi %pi 4 4+-+2 %pi 2
+-- (- 4\|2 cos(---) - 4\|2 )sin(---) + 2cos(---) + 2\|2 cos(---)
+-- 8 8 8 8
+-- +
+-- 1
+-- +
+-- -
+-- 4+-+ %pi
+-- \|2 cos(---)
+-- 8
+-- *
+-- log
+-- %pi 4 +-+4+-+3 %pi 3
+-- 2sin(---) - 4\|2 \|2 sin(---)
+-- 8 8
+-- +
+-- %pi 2 4+-+2 %pi 2
+-- (4cos(---) + 12\|2 )sin(---)
+-- 8 8
+-- +
+-- +-+4+-+3 %pi 2 +-+4+-+ %pi %pi 4
+-- (- 4\|2 \|2 cos(---) - 8\|2 \|2 )sin(---) + 2cos(---)
+-- 8 8 8
+-- +
+-- 4+-+2 %pi 2
+-- 4\|2 cos(---) + 4
+-- 8
+-- +
+-- 4+-+ %pi
+-- \|2 cos(---)
+-- 4+-+ %pi 8
+-- - 4\|2 sin(---)atan(-------------------)
+-- 8 4+-+ %pi +-+
+-- \|2 sin(---) - \|2
+-- 8
+-- +
+-- 4+-+ %pi 4+-+ %pi
+-- \|2 cos(---) \|2 cos(---)
+-- 4+-+ %pi 8 4+-+ %pi 8
+-- 4\|2 sin(---)atan(----------------) - 4\|2 sin(---)atan(----------------)
+-- 8 4+-+ %pi 8 4+-+ %pi
+-- \|2 sin(---) - 1 \|2 sin(---) + 1
+-- 8 8
+-- +
+-- 4+-+ %pi
+-- \|2 cos(---)
+-- 4+-+ %pi 8
+-- 4\|2 sin(---)atan(-------------------)
+-- 8 4+-+ %pi +-+
+-- \|2 sin(---) + \|2
+-- 8
+-- /
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in144:=integrate(1, z= I*infinity..%plusInfinity)
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in146a:=integrate(csc(z), z= 1-I..1+I,"noPole")
+--
+-- 2 2
+-- sin(I + 1) sin(I - 1)
+-- log(-----------------------------) - log(-----------------------------)
+-- 2 2
+-- cos(I + 1) + 2cos(I + 1) + 1 cos(I - 1) + 2cos(I - 1) + 1
+-- -----------------------------------------------------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in148:=integrate(min(1,z), z= 0..2)
+--
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in156a:=integrate(z^(2/3), z= 1..10,"noPole")
+--
+-- 3+--+2
+-- 30\|10 - 3
+-- ------------
+-- 5
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in159a:=integrate(log(z)/z^2, z= -I..-1,"noPole")
+--
+-- 2
+-- - log(I ) + 2I - 2
+-- ------------------
+-- 2I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in160:=integrate((-z^2-z)^sin(z), z)
+--
+-- z
+-- ++ 2 sin(%R)
+-- | (- %R - %R) d%R
+-- ++
+-- Type: Union(Expression Integer,...)
+
+in1425a:=integrate(-(z^2+I*z+3)/(z^2+I*z+2), z= 0..%plusInfinity,"noPole")
+--
+-- [- infinity,- infinity]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1426a:=integrate(-I/(1+I*z^3)*z^3, z= 0..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1428a:=integrate(-I/(1+I*z)*z, z= 0..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1432:=integrate(-(z+I)*(-1+1/(z+I)), z= 0..%plusInfinity)
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1433a:=integrate(-1/((I*z)^(1/2)-1)*(-2+(I*z)^(1/2)), z= 0..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1434a:=integrate(-(1+(I*z)^(1/2))/(I*z)^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1435a:=integrate(-1/(1+(I*z)^(1/2))*(I*z)^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1436a:=integrate(-((I*z)^(1/2)-1)/(-2+(I*z)^(1/2)), z= 0..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1440a:=integrate((1-(I*z)^(1/2))/(I*z)^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1460:=integrate(z^2+I*z+3, z= 0..%plusInfinity)
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1463a:=integrate(1-(I*z)^(1/2)/(1-I*z), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1464a:=integrate(1+1/(I*z)^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2045:=integrate(atan(1/tan(z)), z= 0..2*Pi)
+--
+-- 2
+-- - 3%pi
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1502a:=integrate(log(z)^2*log(-z), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1512a:=integrate(log(z)*(1/(z-I))^(1/2), z= 1..%plusInfinity,"noPole")
+--
+-- [ + infinity, + infinity]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1513a:=integrate(log(z)*(1/(z+I))^(1/2), z= 1..%plusInfinity,"noPole")
+--
+-- [ + infinity, + infinity]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1514a:=integrate(log(z)/(I/(z-I))^(1/2), z= 1..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1563a:=integrate(log(1-z^3)*(I*z)^(1/2), z= 0..1,"noPole")
+--
+-- 2
+-- 16I 2 +-+
+-- (log(----) - log(I ) + log(9) - 4)\|I
+-- 9
+-- [--------------------------------------,- infinity]
+-- 3
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in161:=integrate((-z^2)^(1/3), z)
+-- +----+
+-- 3| 2
+-- 3z\|- z
+-- (81) ---------
+-- 5
+-- Type: Union(Expression Integer,...)
+
+in163:=integrate(log(z)*abs(exp(z)/z), z)
+--
+-- z %K
+-- ++ %e
+-- | log(%K)abs(----)d%K
+-- ++ %K
+-- Type: Union(Expression Integer,...)
+
+in166:=integrate((1+z)^z, z)
+--
+-- z
+-- ++ %K
+-- | (%K + 1) d%K
+-- ++
+-- Type: Union(Expression Integer,...)
+
+in179:=integrate(1/(1+(3*z+1)^2), z)
+--
+-- atan(3z + 1)
+-- ------------
+-- 3
+-- Type: Union(Expression Integer,...)
+
+in1636a:=integrate(-z/(z-1)/(1/(z-I))^(1/2), z= 0..1,"noPole")
+--
+-- [ + infinity,
+--
+-- +-------+ +---+
+-- +-----+ \|- I + 1 +-----+ \|- I
+-- 6\|I - 1 log(- ----------) - 6\|I - 1 atan(--------)
+-- +-----+ +-----+
+-- 2\|I - 1 \|I - 1
+-- +
+-- +-------+ +---+
+-- (2I - 8)\|- I + 1 + (- 2I + 6)\|- I
+-- /
+-- 3
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+--
+
+in1638a:=integrate(-z/(z-1)/(1-I*z)^(1/2), z= 0..1,"noPole")
+--
+-- [ + infinity,
+--
+-- +-------+ +-----+ +-----+
+-- \|- I + 1 \|I - 1 \|I - 1
+-- - 2I log(- ------------------) + 2I atan(--------)
+-- 2I - 2 I - 1
+-- +
+-- +-------+ +-----+
+-- (2\|- I + 1 - 2)\|I - 1
+-- /
+-- +-----+
+-- I\|I - 1
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1639a:=integrate(-z/(z-1)/(1-I*z^2)^(1/2), z= 0..1,"noPole")
+--
+-- [ + infinity,
+--
+-- +-----+
+-- \|I - 1
+-- *
+-- log
+-- 2 +---+ 2 +-------+ 2 +---+
+-- ((2I - 4I)\|- I + 4I - 2I)\|- I + 1 + (- 4I + 4I)\|- I
+-- +
+-- 3 2
+-- 2I - 5I + 2I
+-- /
+-- +-------+
+-- 2\|- I + 1 + I - 2
+-- +
+-- +-------+ +-----+ +-----+
+-- +---+ (- \|- I + 1 - I + 1)\|I - 1 +---+ \|I - 1
+-- 4\|- I log(------------------------------) + 4\|- I atan(--------)
+-- +-------+ I - 1
+-- (2I - 2)\|- I + 1 - 2I + 2
+-- +
+-- +-----+
+-- - log(- I)\|I - 1
+-- /
+-- +---+ +-----+
+-- 2\|- I \|I - 1
+-- ,
+-- + infinity,
+--
+-- +-------+ +-----+
+-- +-+ (- \|- I + 1 - I + 1)\|I - 1
+-- 2\|I log(------------------------------)
+-- +-------+
+-- (2I - 2)\|- I + 1 - 2I + 2
+-- +
+-- +-------+ +-+ +-----+
+-- +-----+ (\|- I + 1 - 1)\|I +-+ \|I - 1
+-- 2\|I - 1 atan(--------------------) + 2\|I atan(--------)
+-- I I - 1
+-- /
+-- +-----+ +-+
+-- \|I - 1 \|I
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1712a:=integrate(-log(-z)*(-I*z)^(1/2), z= 0..1,"noPole")
+--
+-- +---+
+-- 4\|- I
+-- -------
+-- 9
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1720a:=integrate(-z^2/(z^2-1)*(1/(z-I))^(1/2), z= 0..1,"noPole")
+--
+-- [ + infinity,
+--
+-- +-----+ 2 +-------+ +---+ 3 2
+-- - \|I - 1 log((- 8I - 12I - 4)\|- I - 1 \|- I - 8I - 16I - 9I - 1)
+-- +
+-- +-----+ 2 +-------+ +-------+ 3 2
+-- \|I - 1 log((- 2I - 2I)\|- I - 1 \|- I + 1 - 2I - 2I + I + 1)
+-- +
+-- +-------+ +-----+
+-- +-------+ \|- I + 1 \|I - 1
+-- - 4\|- I - 1 log(- ------------------)
+-- 2I - 2
+-- +
+-- +---+ +-----+
+-- +-------+ \|- I \|I - 1
+-- 4\|- I - 1 atan(--------------)
+-- I - 1
+-- +
+-- +-------+ +-------+ +-------+ +---+ +-----+
+-- (- 8\|- I - 1 \|- I + 1 + 8\|- I - 1 \|- I )\|I - 1
+-- /
+-- +-------+ +-----+
+-- 4\|- I - 1 \|I - 1
+-- ,
+-- + infinity,
+--
+-- +-------+ +-----+ +-------+ +-----+
+-- +-----+ \|- I + 1 \|I - 1 +-----+ \|- I + 1 \|I + 1
+-- - \|I + 1 log(- ------------------) + \|I - 1 atan(------------------)
+-- 2I - 2 I + 1
+-- +
+-- +---+ +-----+ +---+ +-----+
+-- +-----+ \|- I \|I + 1 +-----+ \|- I \|I - 1
+-- - \|I - 1 atan(--------------) + \|I + 1 atan(--------------)
+-- I + 1 I - 1
+-- +
+-- +-------+ +---+ +-----+ +-----+
+-- (- 2\|- I + 1 + 2\|- I )\|I - 1 \|I + 1
+-- /
+-- +-----+ +-----+
+-- \|I - 1 \|I + 1
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1721a:=integrate(-z^2/(z^2-1)/(1/(z-I))^(1/2), z= 0..1,"noPole")
+--
+-- [ + infinity, + infinity,
+--
+-- +-------+ +-------+ +-------+ 2
+-- 3\|- I - 1 log(2I\|- I - 1 \|- I + 1 + 2I - 1)
+-- +
+-- +-------+ +-------+ +---+ 2
+-- - 3\|- I - 1 log((8I + 4)\|- I - 1 \|- I + 8I + 8I + 1)
+-- +
+-- +-------+ +---+
+-- +-----+ \|- I + 1 +-----+ \|- I
+-- 12\|I - 1 log(- ----------) - 12\|I - 1 atan(--------)
+-- +-----+ +-----+
+-- 2\|I - 1 \|I - 1
+-- +
+-- +-------+ +---+
+-- (8I - 8)\|- I + 1 - 8I\|- I
+-- /
+-- 12
+-- ,
+--
+-- +-------+ +---+
+-- +-----+ \|- I + 1 +-----+ \|- I
+-- 3\|I - 1 log(- ----------) - 3\|I - 1 atan(--------)
+-- +-----+ +-----+
+-- 2\|I - 1 \|I - 1
+-- +
+-- +-------+ +---+
+-- +-----+ \|- I + 1 +-----+ \|- I
+-- - 3\|I + 1 atan(----------) + 3\|I + 1 atan(--------)
+-- +-----+ +-----+
+-- \|I + 1 \|I + 1
+-- +
+-- +-------+ +---+
+-- (2I - 2)\|- I + 1 - 2I\|- I
+-- /
+-- 3
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1723a:=integrate(-z^2/(z^2-1)*(1+I/z)^(1/2), z= 0..1,"noPole")
+--
+-- [ + infinity, + infinity,
+--
+-- +-----+
+-- +-----+ +-+ +-------+ \|I + 1
+-- - 2I log(\|I + 1 + 1) + 2I log(\|I ) + 4\|- I - 1 log(- -----------)
+-- +-------+
+-- 2\|- I - 1
+-- +
+-- +-----+
+-- I log(- 2\|I + 1 + I + 2)
+-- +
+-- +-------+ +-------+ +-----+ 2 +-----+
+-- \|- I + 1 log(- 2\|- I + 1 \|I + 1 - I + 2) - 4\|I + 1
+-- +
+-- 2 +-------+ +-------+
+-- - log(I )\|- I + 1 - 2%pi\|- I - 1 - I log(I)
+-- /
+-- 4
+-- ,
+--
+-- +-----+
+-- +-----+ +-+ +-------+ \|I + 1
+-- - 2I log(\|I + 1 + 1) + 2I log(\|I ) + 4\|- I - 1 log(- -----------)
+-- +-------+
+-- 2\|- I - 1
+-- +
+-- +-----+
+-- +-----+ +-----+ \|I - 1 +-----+
+-- I log(- 2\|I + 1 + I + 2) + 4\|I - 1 atan(--------) - 4\|I + 1
+-- +-----+
+-- \|I + 1
+-- +
+-- +-------+
+-- - 2%pi\|- I - 1 - I log(I)
+-- /
+-- 4
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1724a:=integrate(-z^2/(z^2-1)*(1-(I*z)^(1/2))^(1/2), z= 0..1,"noPole")
+--
+-- +----------+
+-- +-+ | +-+
+-- (4\|I - 12I + 8)\|- \|I + 1 - 8
+-- ----------------------------------
+-- 15I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1731:=integrate(-log(1-z^2)*atanh(z), z= 0..1)
+--
+-- 2
+-- - log(4) + 4log(4)
+-- -------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1793a:=integrate((1-z^(1/2))^(1/2)*acoth(z^(1/2)), z= 0..1,"noPole")
+--
+-- +-+ +-+
+-- - 2\|2 log(12\|2 + 17) + 16
+-- ----------------------------
+-- 15
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1794a:=integrate((1-z^(1/2))^(1/2)*acoth(1-z^(1/2)), z= 0..1,"noPole")
+--
+-- - 4log(2) - 8%pi + 32
+-- ---------------------
+-- 15
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1796a:=integrate((1+(1-z)^(1/2))^(1/2), z= 0..1,"noPole")
+--
+-- +-+
+-- 8\|2 + 8
+-- ---------
+-- 15
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in183:=integrate(1/z, z= I..2*I)
+--
+-- 2 2
+-- log(4I ) - log(I )
+-- ------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+
+in184:=integrate(exp(I*z), z= I..2*I)
+--
+-- 2 2
+-- 2I I
+-- %e - %e
+-- (29) ------------
+-- I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in184a:=integrate(exp(%i*z), z= %i..2*%i)
+--
+-- 2
+-- %i %e - %i %e
+-- (30) --------------
+-- 2
+-- %e %e
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in187a:=integrate(2^log(z), z= -I..I,"noPole")
+--
+-- log(2)log(I) log(2)log(- I)
+-- I %e + I %e
+-- -------------------------------------
+-- log(2) + 1
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in187a:=integrate(2^log(z), z= -%i..%i,"noPole")
+--
+-- log(%i)log(2) log(- %i)log(2)
+-- %i %e + %i %e
+-- -----------------------------------------
+-- log(2) + 1
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in194a:=integrate(sqrt(z^2), z= 1..2,"noPole")
+--
+-- 3
+-- (43) -
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1854a:=integrate(1/(z-1)/(1/(z-I))^(1/2), z= 0..1,"noPole")
+--
+-- [- infinity,
+--
+-- +-------+ +---+
+-- +-----+ \|- I + 1 +-----+ \|- I +-------+
+-- - 2\|I - 1 log(- ----------) + 2\|I - 1 atan(--------) + 2\|- I + 1
+-- +-----+ +-----+
+-- 2\|I - 1 \|I - 1
+-- +
+-- +---+
+-- - 2\|- I
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1856a:=integrate(1/(z-1)/(1-I*z)^(1/2), z= 0..1,"noPole")
+--
+-- +-------+ +-----+ +-----+
+-- \|- I + 1 \|I - 1 \|I - 1
+-- 2log(- ------------------) - 2atan(--------)
+-- 2I - 2 I - 1
+-- [- infinity,--------------------------------------------]
+-- +-----+
+-- \|I - 1
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1859a:=integrate(1/(z^2-1)*(1+1/z^3)^(1/2), z= 0..1,"noPole")
+--
+-- +-------------------+
+-- | 2
+-- (- \|- 3%%EM0 - 2 + 6%i - %%EM0)
+-- *
+-- log
+-- +--+ +--+
+-- ((8 + 72%i)\|%i + 10 + 8%i)%%EM0 + (- 2 - 18%i)\|%i + 2
+-- +
+-- 18%i
+-- *
+-- +-------------------+
+-- | 2
+-- \|- 3%%EM0 - 2 + 6%i
+-- +
+-- +--+ 2
+-- ((- 8 - 72%i)\|%i - 10 - 8%i)%%EM0
+-- +
+-- +--+ +--+
+-- ((- 2 - 18%i)\|%i + 2 + 18%i)%%EM0 + (- 128 - 4%i)\|%i - 68
+-- +
+-- - 120%i
+-- +
+-- +-------------------+
+-- | 2
+-- (\|- 3%%EM0 - 2 + 6%i + %%EM0)
+-- *
+-- log
+-- +-------------------+
+-- | 2
+-- ((10 + 8%i)%%EM0 + 2 + 18%i)\|- 3%%EM0 - 2 + 6%i
+-- +
+-- 2
+-- (- 10 - 8%i)%%EM0 + (2 + 18%i)%%EM0 - 50 - 40%i
+-- +
+-- +-------------------+
+-- | 2
+-- (- \|- 3%%EM0 - 2 + 6%i + %%EM0)
+-- *
+-- log
+-- +-------------------+
+-- | 2
+-- ((- 10 - 8%i)%%EM0 - 2 - 18%i)\|- 3%%EM0 - 2 + 6%i
+-- +
+-- 2
+-- (- 10 - 8%i)%%EM0 + (2 + 18%i)%%EM0 - 50 - 40%i
+-- +
+-- +-------------------+
+-- | 2
+-- (\|- 3%%EM0 - 2 + 6%i - %%EM0)
+-- *
+-- log
+-- +--+ +--+
+-- ((- 8 - 72%i)\|%i - 10 - 8%i)%%EM0 + (2 + 18%i)\|%i - 2
+-- +
+-- - 18%i
+-- *
+-- +-------------------+
+-- | 2
+-- \|- 3%%EM0 - 2 + 6%i
+-- +
+-- +--+ 2
+-- ((- 8 - 72%i)\|%i - 10 - 8%i)%%EM0
+-- +
+-- +--+ +--+
+-- ((- 2 - 18%i)\|%i + 2 + 18%i)%%EM0 + (- 128 - 4%i)\|%i - 68
+-- +
+-- - 120%i
+-- +
+-- 2%%EM0
+-- *
+-- log
+-- +--+ 2
+-- ((72 - 8%i)\|%i + 8 - 10%i)%%EM0
+-- +
+-- +--+ +--+
+-- ((18 - 2%i)\|%i - 18 + 2%i)%%EM0 + (22 - 48%i)\|%i - 71 + 17%i
+-- +
+-- 2
+-- - 2%%EM0 log((8 - 10%i)%%EM0 + (- 18 + 2%i)%%EM0 - 31 + 8%i)
+-- /
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in1863a:=integrate(1/(z^2-1)*(1/(z-I))^(1/2), z= 0..1,"noPole")
+-- [- infinity,
+--
+-- +-----+ 2 +-------+ +-------+ 3 2
+-- \|I - 1 log((2I + 2I)\|- I - 1 \|- I + 1 - 2I - 2I + I + 1)
+-- +
+-- +-----+ 2 +-------+ +---+ 3 2
+-- - \|I - 1 log((8I + 12I + 4)\|- I - 1 \|- I - 8I - 16I - 9I - 1)
+-- +
+-- +-------+ +-----+ +---+ +-----+
+-- +-------+ \|- I + 1 \|I - 1 +-------+ \|- I \|I - 1
+-- 4\|- I - 1 log(- ------------------) - 4\|- I - 1 atan(--------------)
+-- 2I - 2 I - 1
+-- /
+-- +-------+ +-----+
+-- 4\|- I - 1 \|I - 1
+-- ,
+-- - infinity,
+--
+-- +-------+ +-----+ +-------+ +-----+
+-- +-----+ \|- I + 1 \|I - 1 +-----+ \|- I + 1 \|I + 1
+-- \|I + 1 log(- ------------------) - \|I - 1 atan(------------------)
+-- 2I - 2 I + 1
+-- +
+-- +---+ +-----+ +---+ +-----+
+-- +-----+ \|- I \|I + 1 +-----+ \|- I \|I - 1
+-- \|I - 1 atan(--------------) - \|I + 1 atan(--------------)
+-- I + 1 I - 1
+-- /
+-- +-----+ +-----+
+-- \|I - 1 \|I + 1
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1864a:=integrate(1/(z^2-1)*((1+z)/(z-1))^(1/3), z= 0..1,"noPole")
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1866a:=integrate(1/(z^2-1)*(1-I/z)^(1/2), z= 0..1,"noPole")
+-- [- infinity,
+--
+-- +-----+
+-- +-----+ +-------+ +-----+ 2 +-----+ \|I - 1
+-- \|I + 1 log(2\|- I + 1 \|I + 1 - I + 2) + 4\|I - 1 log(- -----------)
+-- +-------+
+-- 2\|- I + 1
+-- +
+-- 2 +-----+
+-- - log(I )\|I + 1
+-- /
+-- 4
+-- ,
+-- - infinity,
+-- +-----+ +-------+
+-- +-----+ \|I - 1 +-------+ \|- I + 1 +-------+
+-- 2\|I - 1 log(- -----------) + 2\|- I - 1 atan(----------) - %pi\|- I - 1
+-- +-------+ +-------+
+-- 2\|- I + 1 \|- I - 1
+-- -------------------------------------------------------------------------]
+-- 2
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1867a:=integrate(1/(z^2-1)*(1-(I*z)^(1/2))^(1/2), z= 0..1,"noPole")
+-- 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1869a:=integrate(1/(z^2-1)*(1-1/(I*z)^(1/2))^(1/2), z= 0..1,"noPole")
+-- 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1870a:=integrate(1/(z^2-1)/(1+(I*z)^(1/2))^(1/2), z= 0..1,"noPole")
+-- 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1872a:=integrate(1/(z^2-1)/(I/(z+I))^(1/2), z= 0..1,"noPole")
+--
+-- [ + infinity, + infinity,
+--
+-- +-----+ +-----+ +-----+
+-- |I - 1 2 |I - 1 | I 2
+-- |----- log((2I + 2I) |----- |----- + 2I - 1)
+-- \| I \| I \|I + 1
+-- +
+-- +-----+ +-----+
+-- |I - 1 2 |I - 1 2
+-- - |----- log((8I - 4I) |----- + 8I - 8I + 1)
+-- \| I \| I
+-- +
+-- +-----+
+-- | I
+-- +-------+ (- I - 1) |----- +-------+
+-- |- I - 1 \|I + 1 |- I - 1 I + 1
+-- - 4 |------- log(----------------- + 4 |------- atan(-----------)
+-- \| I +-------+ \| I +-------+
+-- |- I - 1 |- I - 1
+-- 2I |------- I |-------
+-- \| I \| I
+-- /
+-- 4
+-- ,
+--
+-- +-----+ +-----+
+-- | I | I
+-- +-------+ (- I - 1) |----- +-------+ (I - 1) |-----
+-- |- I - 1 \|I + 1 |- I + 1 \|I + 1
+-- - |------- log(-----------------) + |------- atan(---------------)
+-- \| I +-------+ \| I +-------+
+-- |- I - 1 |- I + 1
+-- 2I |------- I |-------
+-- \| I \| I
+-- +
+-- +-------+ +-------+
+-- |- I - 1 I + 1 |- I + 1 I - 1
+-- |------- atan(-----------) - |------- atan(-----------)
+-- \| I +-------+ \| I +-------+
+-- |- I - 1 |- I + 1
+-- I |------- I |-------
+-- \| I \| I
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in1933a:=integrate(atan(z)/z/(z*(1+z))^(1/2), z= 0..1,"noPole")
+--
+-- +-+ 4+-+ %pi
+-- (\|2 - 1)\|2 cos(---)
+-- 8
+-- *
+-- 4+-+2 %pi 2 4+-+3 4+-+ %pi 4+-+2
+-- log(4\|2 sin(---) + (4\|2 + 4\|2 )sin(---) + 2\|2 + 3)
+-- 8 8
+-- +
+-- +-+ 4+-+ %pi
+-- (- \|2 + 1)\|2 cos(---)
+-- 8
+-- *
+-- 4+-+2 %pi 2 4+-+3 4+-+ %pi 4+-+2
+-- log(4\|2 sin(---) + (- 4\|2 - 4\|2 )sin(---) + 2\|2 + 3)
+-- 8 8
+-- +
+-- +-+ 4+-+ %pi
+-- (- \|2 + 1)\|2 cos(---)
+-- 8
+-- *
+-- log
+-- 4+-+2 %pi 2
+-- 4\|2 sin(---)
+-- 8
+-- +
+-- +-+ 4+-+2 %pi 4+-+3 +-+ 4+-+ %pi
+-- ((- 8\|2 + 8)\|2 cos(---) + 4\|2 + (- 8\|2 + 16)\|2 )sin(---)
+-- 8 8
+-- +
+-- +-+ 4+-+2 %pi 2
+-- (- 8\|2 + 12)\|2 cos(---)
+-- 8
+-- +
+-- +-+ 4+-+3 +-+ 4+-+ %pi
+-- ((- 4\|2 + 4)\|2 + (- 24\|2 + 32)\|2 )cos(---)
+-- 8
+-- +
+-- +-+ 4+-+2 +-+
+-- (- 4\|2 + 8)\|2 - 16\|2 + 26
+-- +
+-- +-+ 4+-+ %pi
+-- (\|2 - 1)\|2 cos(---)
+-- 8
+-- *
+-- log
+-- 4+-+2 %pi 2
+-- 4\|2 sin(---)
+-- 8
+-- +
+-- +-+ 4+-+2 %pi 4+-+3 +-+ 4+-+ %pi
+-- ((- 8\|2 + 8)\|2 cos(---) - 4\|2 + (8\|2 - 16)\|2 )sin(---)
+-- 8 8
+-- +
+-- +-+ 4+-+2 %pi 2
+-- (- 8\|2 + 12)\|2 cos(---)
+-- 8
+-- +
+-- +-+ 4+-+3 +-+ 4+-+ %pi
+-- ((4\|2 - 4)\|2 + (24\|2 - 32)\|2 )cos(---)
+-- 8
+-- +
+-- +-+ 4+-+2 +-+
+-- (- 4\|2 + 8)\|2 - 16\|2 + 26
+-- +
+-- 4+-+ %pi
+-- \|2 sin(---) + 1
+-- +-+ 4+-+ %pi 8
+-- (4\|2 - 4)\|2 sin(---)atan(-----------------------)
+-- 8 4+-+ %pi +-+
+-- \|2 cos(---) - \|2 + 1
+-- 8
+-- +
+-- 4+-+ %pi
+-- \|2 sin(---) + 1
+-- +-+ 4+-+ %pi 8
+-- (- 4\|2 + 4)\|2 sin(---)atan(----------------)
+-- 8 4+-+ %pi
+-- \|2 cos(---)
+-- 8
+-- +
+-- 4+-+ %pi
+-- \|2 sin(---) - 1
+-- +-+ 4+-+ %pi 8
+-- (4\|2 - 4)\|2 sin(---)atan(----------------)
+-- 8 4+-+ %pi
+-- \|2 cos(---)
+-- 8
+-- +
+-- 4+-+ %pi
+-- \|2 sin(---) - 1
+-- +-+ 4+-+ %pi 8 +-+
+-- (- 4\|2 + 4)\|2 sin(---)atan(-----------------------) + %pi\|2 - 2%pi
+-- 8 4+-+ %pi +-+
+-- \|2 cos(---) + \|2 - 1
+-- 8
+-- /
+-- +-+
+-- 2\|2 - 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1945a:=integrate(acoth((1-z)/(1+z)), z= 0..1,"noPole")
+--
+-- 1
+-- -
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1946a:=integrate(acoth((1-z)/(1+z))*z, z= 0..1,"noPole")
+--
+-- 1
+-- -
+-- 8
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1947a:=integrate(acoth((1-z)/(1+z))*z^(1/2), z= 0..1,"noPole")
+--
+-- 2
+-- -
+-- 9
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1950a:=integrate(acoth((1-z)/(1+z))/(1-z)^(1/2), z= 0..1,"noPole")
+--
+-- - log(4) - 2log(2) + 4
+-- ----------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1952a:=integrate(acoth((1-z)/(1+z))*(I*z)^(1/2), z= 0..1,"noPole")
+--
+-- +-+
+-- 2\|I
+-- -----
+-- 9
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in1954a:=integrate(acoth((1-z)/(1+z))/(I*z)^(1/2), z= 0..1,"noPole")
+--
+-- +-+
+-- 2\|I
+-- -----
+-- I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in202a:=integrate(acsc(z), z= 0..1/2,"noPole")
+--
+-- +-+ +-+
+-- +-+ 2\|2 \|3 +-+
+-- - 6\|2 atan(---------) - 3atan(4\|3 ) + 2%pi
+-- 5
+-- --------------------------------------------
+-- 12
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in206a:=integrate(sqrt(1-1/z), z= %pi..2*%pi,"noPole")
+--
+-- +--------+ +-------+
+-- |2%pi - 1 |%pi - 1
+-- - 2log( |-------- + 1) + 2log( |------- + 1)
+-- \| 2%pi \| %pi
+-- +
+-- +-------+ +--------+
+-- |%pi - 1 |2%pi - 1
+-- - 2%pi |------- + 2%pi - 1 - 4%pi |-------- + 4%pi - 1
+-- \| %pi \| 2%pi
+-- - log(---------------------------) + log(----------------------------)
+-- %pi 2%pi
+-- +
+-- +--------+ +-------+
+-- |2%pi - 1 |%pi - 1
+-- 8%pi |-------- - 4%pi |-------
+-- \| 2%pi \| %pi
+-- /
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in211:=integrate(acos(sin(2*z))*cos(z), z= 0..4*%pi/3)
+--
+-- +-+
+-- 13%pi\|3 + 36
+-- --------------
+-- 12
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in213a:=integrate(log(abs(1+1/(-z)^(1/3))), z= 0..1,"noPole")
+--
+-- 3+---+2 3+---+
+-- 3+---+2 3+---+ \|- 1 + 2\|- 1 + 1 3+---+2 3+---+
+-- - log(\|- 1 + 2\|- 1 + 1) + log(---------------------) - \|- 1 + 2\|- 1
+-- 3+---+2
+-- \|- 1
+-- ----------------------------------------------------------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in216a:=integrate(1/(1/z-1)^(1/3), z= 0..1,"noPole")
+--
+-- 2%pi
+-- -----
+-- +-+
+-- 3\|3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2023a:=integrate((1-z)/(-1+z^(1/2)), z= 1..2,"noPole")
+--
+-- +-+
+-- - 4\|2 - 1
+-- (33) -----------
+-- 3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2024a:=integrate(log(1-1/z)+csc(z-1), z= 0..1,"noPole")
+--
+-- (32) - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2032a:=integrate(acoth(z)/z^(1/2), z= 0..1,"noPole")
+--
+-- - 2log(2) + %pi
+-- (30) ---------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2040a:=integrate(log(1-1/z^4)+cot(z), z= -1..1,"noPole")
+--
+-- (24) log(16) + log(4) + %pi
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2050a:=integrate(-csc(z-1)-1/z^(1/3), z= -1..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2051a:=integrate((z^2+I*z-1)^(1/2)*z, z= -1..1,"noPole")
+--
+-- 7 5 3 +---+ 8 7 6
+-- (108I - 1776I - 7104I + 6912I)\|- I - 18I + 228I + 936I
+-- +
+-- 5 4 3 2
+-- - 1104I + 2208I - 7488I - 7296I + 2304I
+-- *
+-- +-+
+-- \|I
+-- +
+-- 8 7 6 5 4 3 2
+-- - 18I - 228I + 936I + 1104I + 2208I + 7488I - 7296I
+-- +
+-- - 2304I
+-- *
+-- +---+
+-- \|- I
+-- +
+-- 9 7 3
+-- 3I - 744I + 11904I - 768I
+-- *
+-- +---+ 2
+-- log((- 4I + 8)\|- I + I - 8I + 4)
+-- +
+-- 7 5 3 +---+ 8 7 6
+-- (- 108I + 1776I + 7104I - 6912I)\|- I + 18I - 228I - 936I
+-- +
+-- 5 4 3 2
+-- 1104I - 2208I + 7488I + 7296I - 2304I
+-- *
+-- +-+
+-- \|I
+-- +
+-- 8 7 6 5 4 3 2
+-- (18I + 228I - 936I - 1104I - 2208I - 7488I + 7296I + 2304I)
+-- *
+-- +---+
+-- \|- I
+-- +
+-- 9 7 3
+-- - 3I + 744I - 11904I + 768I
+-- *
+-- +-+ 2
+-- log((- 4I - 8)\|I + I + 8I + 4)
+-- +
+-- 6 4 2 +---+ 8 7 6 5
+-- (1728I - 10752I - 5120I )\|- I - 12I - 424I + 2736I + 6816I
+-- +
+-- 4 3 2
+-- - 6208I + 1152I - 3840I - 512I
+-- *
+-- +-+
+-- \|I
+-- +
+-- 8 7 6 5 4 3 2 +---+
+-- (12I - 424I - 2736I + 6816I + 6208I + 1152I + 3840I - 512I)\|- I
+-- +
+-- 8 6 4 2
+-- 144I - 6848I + 3840I + 3072I
+-- /
+-- 4 2 +---+ 5 4 3 2
+-- (3456I - 70656I + 55296)\|- I - 576I + 7296I + 32256I - 64512I
+-- +
+-- - 58368I + 18432
+-- *
+-- +-+
+-- \|I
+-- +
+-- 5 4 3 2 +---+ 6
+-- (- 576I - 7296I + 32256I + 64512I - 58368I - 18432)\|- I + 96I
+-- +
+-- 4 2
+-- - 24192I + 96768I - 6144
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2053a:=integrate(atan(2*z-1), z= 0..infinity,"noPole")
+--
+-- 4 3 2
+-- - log(4infinity - 8infinity + 8infinity - 4infinity + 1)
+-- +
+-- 2infinity - 1
+-- (- 4infinity + 2)atan(----------------------) - %pi
+-- 2
+-- 2infinity - 2infinity
+-- /
+-- 8
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2054:=integrate(atan(1/z^(1/2))+1, z= -1..1)
+--
+-- 4 3 2
+-- - log(4infinity - 8infinity + 8infinity - 4infinity + 1)
+-- +
+-- 2infinity - 1
+-- (- 4infinity + 2)atan(----------------------) - %pi
+-- 2
+-- 2infinity - 2infinity
+-- /
+-- 8
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2056a:=integrate(z^(1/2)-acoth(1-z), z= 0..1,"noPole")
+--
+-- - 3log(4) + 4
+-- -------------
+-- 6
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2058a:=integrate((z^2+I*z-3)^(1/2)+z, z= -1..1,"noPole")
+--
+-- 4 2 +-------+ 5 4 3 2
+-- (- 16I - 128I + 768)\|- I - 2 + 4I - 24I - 32I - 320I
+-- +
+-- - 960I - 384
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 5 4 3 2 +-------+ 6 4
+-- (4I + 24I - 32I + 320I - 960I + 384)\|- I - 2 - I + 60I
+-- +
+-- 2
+-- 848I - 192
+-- *
+-- +-------+ 2
+-- log((- 4I + 8)\|- I - 2 + I - 8I - 4)
+-- +
+-- 4 2 +-------+ 5 4 3 2
+-- (16I + 128I - 768)\|- I - 2 - 4I + 24I + 32I + 320I + 960I
+-- +
+-- 384
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 5 4 3 2 +-------+ 6 4
+-- (- 4I - 24I + 32I - 320I + 960I - 384)\|- I - 2 + I - 60I
+-- +
+-- 2
+-- - 848I + 192
+-- *
+-- +-----+ 2
+-- log((- 4I - 8)\|I - 2 + I + 8I - 4)
+-- +
+-- 3 +-------+ 5 4 3 2
+-- (- 256I + 1024I)\|- I - 2 + 4I + 72I - 288I - 1088I + 64I
+-- +
+-- 1152
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 5 4 3 2 +-------+ 5 3
+-- (- 4I + 72I + 288I - 1088I - 64I + 1152)\|- I - 2 - 32I + 768I
+-- +
+-- - 2560I
+-- /
+-- 2 +-------+ 3 2 +-----+
+-- ((256I - 1024)\|- I - 2 - 64I + 384I + 1280I + 512)\|I - 2
+-- +
+-- 3 2 +-------+ 4 2
+-- (- 64I - 384I + 1280I - 512)\|- I - 2 + 16I - 1152I + 256
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2068a:=integrate(1/(I*z)^(1/2)-csch(z), z= 0..1,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2071a:=integrate(1/(3+z)^3*acoth(z), z= -1..1,"noPole")
+--
+-- - 3log(16) + 3log(4) - 2
+-- ------------------------
+-- 128
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2090a:=integrate(exp(z^(1/3))*(3+z)^9, z= -1..1,"noPole")
+--
+-- 3+---+2
+-- 13467752003249079711273325865856\|- 1
+-- +
+-- 3+---+
+-- - 27601768453337700619258203429120\|- 1
+-- +
+-- 30944953633416008247597858726912
+-- *
+-- 3+---+
+-- \|- 1
+-- %e
+-- +
+-- - 9746099248106233432776547720320%e
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2094a:=integrate(asinh(z)-acoth(z), z= -1..1,"noPole")
+--
+-- +-+ +-+
+-- log(2\|2 + 3) + log(- 2\|2 + 3)
+-- ---------------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2096a:=integrate(log(z)^2, z= %minusInfinity..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2098a:=integrate(1/z^(1/3)-z^2/(z-1)^2, z= -1..1,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2105a:=integrate(-1/(z^2-I*z+2)^(1/2)/z, z= 0..1,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2106a:=integrate(acos(z)+acoth(1-z), z= 0..1,"noPole")
+--
+-- log(4) + 2
+-- ----------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2108a:=integrate((1-I/(1+I/z)^2)^(1/2), z= -1..1,"noPole")
+--
+--[
+-- +-----------+ +----------+
+-- 2 | 2 3 2 | 2
+-- (I \|I - 3I + 1 - I + I )\|I + I + 1
+-- +
+-- +-----------+
+-- 3 2 | 2 4 2
+-- (- I - I )\|I - 3I + 1 + I - I
+-- *
+-- log
+-- 3 2 +-------+ 4 3 2
+-- ((4I - 4I + 2I - 2)\|- I + 1 - 2I + 4I - 6I + 4I)
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- 4 3 2 +-------+ 5 4 3 2
+-- (- 4I + 2I - 2I + 4I)\|- I + 1 + 2I - 3I + 5I - 4I
+-- +
+-- 2I - 2
+-- /
+-- +----------+
+-- | 2 2
+-- (2I + 2)\|I + I + 1 - 2I - 3I - 2
+-- +
+-- +-----------+
+-- +---+ +-------+ | 2 2 +---+ +-------+
+-- (- I\|- I \|- I + 1 \|I - 3I + 1 + (I - I)\|- I \|- I + 1 )
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- +-----------+
+-- 2 +---+ +-------+ | 2 3 +---+ +-------+
+-- (I + I)\|- I \|- I + 1 \|I - 3I + 1 + (- I + I)\|- I \|- I + 1
+-- *
+-- log
+-- +-----------+
+-- 2 +---+ 3 2 | 2
+-- ((4I - 10I + 4)\|- I + 2I - 10I + 10I - 2)\|I - 3I + 1
+-- +
+-- 3 2 +---+ 4 3 2
+-- (- 4I + 16I - 16I + 4)\|- I - 2I + 13I - 24I + 13I - 2
+-- /
+-- +-----------+
+-- 3 2 | 2 4 3 2
+-- (2I - 6I + 6I - 2)\|I - 3I + 1 - 2I + 9I - 14I + 9I - 2
+-- +
+-- +-----------+
+-- +---+ +-------+ | 2 2 +---+ +-------+
+-- (I\|- I \|- I + 1 \|I - 3I + 1 + (- I + I)\|- I \|- I + 1 )
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- +-----------+
+-- 2 +---+ +-------+ | 2 3 +---+ +-------+
+-- (- I - I)\|- I \|- I + 1 \|I - 3I + 1 + (I - I)\|- I \|- I + 1
+-- *
+-- log
+-- +----------+
+-- 2 +---+ 3 2 | 2
+-- ((- 4I - 6I - 4)\|- I + 2I + 2I + 2I + 2)\|I + I + 1
+-- +
+-- 3 2 +---+ 4 3 2
+-- (4I + 8I + 8I + 4)\|- I - 2I - 3I - 4I - 3I - 2
+-- /
+-- +----------+
+-- 3 2 | 2 4 3 2
+-- (2I + 6I + 6I + 2)\|I + I + 1 - 2I - 7I - 10I - 7I - 2
+-- +
+-- +-----------+ +----------+
+-- 2 | 2 3 2 | 2
+-- (- I \|I - 3I + 1 + I - I )\|I + I + 1
+-- +
+-- +-----------+
+-- 3 2 | 2 4 2
+-- (I + I )\|I - 3I + 1 - I + I
+-- *
+-- log
+-- 3 2 +-------+ 4 3 2
+-- ((- 4I + 8I - 6I + 2)\|- I + 1 - 2I + 8I - 10I + 4I)
+-- *
+-- +-----------+
+-- | 2
+-- \|I - 3I + 1
+-- +
+-- 4 3 2 +-------+ 5 4 3 2
+-- (4I - 14I + 14I - 4I)\|- I + 1 + 2I - 11I + 21I - 20I
+-- +
+-- 10I - 2
+-- /
+-- +-----------+
+-- | 2 2
+-- (2I - 2)\|I - 3I + 1 - 2I + 5I - 2
+-- +
+-- +-----------+ +----------+
+-- +-------+ | 2 +-------+ | 2
+-- (- 4\|- I + 1 \|I - 3I + 1 + (6I - 4)\|- I + 1 )\|I + I + 1
+-- +
+-- +-----------+
+-- +-------+ | 2 2 +-------+
+-- (2I + 4)\|- I + 1 \|I - 3I + 1 + (- 4I - 4I + 4)\|- I + 1
+-- /
+-- +-----------+ +----------+
+-- +-------+ | 2 +-------+ | 2
+-- (2\|- I + 1 \|I - 3I + 1 + (- 2I + 2)\|- I + 1 )\|I + I + 1
+-- +
+-- +-----------+
+-- +-------+ | 2 2 +-------+
+-- (- 2I - 2)\|- I + 1 \|I - 3I + 1 + (2I - 2)\|- I + 1
+-- ,
+--
+-- +-----------+
+-- +---+ +-----+ | 2 2 +---+ +-----+
+-- (- I\|- I \|I - 1 \|I - 3I + 1 + (I - I)\|- I \|I - 1 )
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- +-----------+
+-- 2 +---+ +-----+ | 2 3 +---+ +-----+
+-- (I + I)\|- I \|I - 1 \|I - 3I + 1 + (- I + I)\|- I \|I - 1
+-- *
+-- log
+-- +-----------+
+-- 2 +---+ 3 2 | 2
+-- ((4I - 10I + 4)\|- I + 2I - 10I + 10I - 2)\|I - 3I + 1
+-- +
+-- 3 2 +---+ 4 3 2
+-- (- 4I + 16I - 16I + 4)\|- I - 2I + 13I - 24I + 13I - 2
+-- /
+-- +-----------+
+-- 3 2 | 2 4 3 2
+-- (2I - 6I + 6I - 2)\|I - 3I + 1 - 2I + 9I - 14I + 9I - 2
+-- +
+-- +-----------+
+-- +---+ +-----+ | 2 2 +---+ +-----+
+-- (I\|- I \|I - 1 \|I - 3I + 1 + (- I + I)\|- I \|I - 1 )
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- +-----------+
+-- 2 +---+ +-----+ | 2 3 +---+ +-----+
+-- (- I - I)\|- I \|I - 1 \|I - 3I + 1 + (I - I)\|- I \|I - 1
+-- *
+-- log
+-- +----------+
+-- 2 +---+ 3 2 | 2
+-- ((- 4I - 6I - 4)\|- I + 2I + 2I + 2I + 2)\|I + I + 1
+-- +
+-- 3 2 +---+ 4 3 2
+-- (4I + 8I + 8I + 4)\|- I - 2I - 3I - 4I - 3I - 2
+-- /
+-- +----------+
+-- 3 2 | 2 4 3 2
+-- (2I + 6I + 6I + 2)\|I + I + 1 - 2I - 7I - 10I - 7I - 2
+-- +
+-- +-----------+ +----------+
+-- 2 | 2 3 2 | 2
+-- (- 4I \|I - 3I + 1 + 4I - 4I )\|I + I + 1
+-- +
+-- +-----------+
+-- 3 2 | 2 4 2
+-- (4I + 4I )\|I - 3I + 1 - 4I + 4I
+-- *
+-- +----------+
+-- +-----+ | 2 +-----+
+-- \|I - 1 \|I + I + 1 - I\|I - 1
+-- atan(---------------------------------)
+-- I - 1
+-- +
+-- +-----------+ +----------+
+-- 2 | 2 3 2 | 2
+-- (- 4I \|I - 3I + 1 + 4I - 4I )\|I + I + 1
+-- +
+-- +-----------+
+-- 3 2 | 2 4 2
+-- (4I + 4I )\|I - 3I + 1 - 4I + 4I
+-- *
+-- +-----------+
+-- +-----+ | 2 +-----+
+-- \|I - 1 \|I - 3I + 1 - I\|I - 1
+-- atan(----------------------------------)
+-- I - 1
+-- +
+-- +-----------+ +----------+
+-- +-----+ | 2 +-----+ | 2
+-- (- 4\|I - 1 \|I - 3I + 1 + (6I - 4)\|I - 1 )\|I + I + 1
+-- +
+-- +-----------+
+-- +-----+ | 2 2 +-----+
+-- (2I + 4)\|I - 1 \|I - 3I + 1 + (- 4I - 4I + 4)\|I - 1
+-- /
+-- +-----------+ +----------+
+-- +-----+ | 2 +-----+ | 2
+-- (2\|I - 1 \|I - 3I + 1 + (- 2I + 2)\|I - 1 )\|I + I + 1
+-- +
+-- +-----------+
+-- +-----+ | 2 2 +-----+
+-- (- 2I - 2)\|I - 1 \|I - 3I + 1 + (2I - 2)\|I - 1
+-- ,
+--
+-- +-----------+ +----------+
+-- 2 | 2 3 2 | 2
+-- (I \|I - 3I + 1 - I + I )\|I + I + 1
+-- +
+-- +-----------+
+-- 3 2 | 2 4 2
+-- (- I - I )\|I - 3I + 1 + I - I
+-- *
+-- log
+-- 3 2 +-------+ 4 3 2
+-- ((4I - 4I + 2I - 2)\|- I + 1 - 2I + 4I - 6I + 4I)
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- 4 3 2 +-------+ 5 4 3 2
+-- (- 4I + 2I - 2I + 4I)\|- I + 1 + 2I - 3I + 5I - 4I
+-- +
+-- 2I - 2
+-- /
+-- +----------+
+-- | 2 2
+-- (2I + 2)\|I + I + 1 - 2I - 3I - 2
+-- +
+-- +-----------+ +----------+
+-- 2 | 2 3 2 | 2
+-- (- I \|I - 3I + 1 + I - I )\|I + I + 1
+-- +
+-- +-----------+
+-- 3 2 | 2 4 2
+-- (I + I )\|I - 3I + 1 - I + I
+-- *
+-- log
+-- 3 2 +-------+ 4 3 2
+-- ((- 4I + 8I - 6I + 2)\|- I + 1 - 2I + 8I - 10I + 4I)
+-- *
+-- +-----------+
+-- | 2
+-- \|I - 3I + 1
+-- +
+-- 4 3 2 +-------+ 5 4 3 2
+-- (4I - 14I + 14I - 4I)\|- I + 1 + 2I - 11I + 21I - 20I
+-- +
+-- 10I - 2
+-- /
+-- +-----------+
+-- | 2 2
+-- (2I - 2)\|I - 3I + 1 - 2I + 5I - 2
+-- +
+-- +-----------+
+-- +-------+ +-+ | 2 2 +-------+ +-+
+-- (- 4I\|- I + 1 \|I \|I - 3I + 1 + (4I - 4I)\|- I + 1 \|I )
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- +-----------+
+-- 2 +-------+ +-+ | 2 3 +-------+ +-+
+-- (4I + 4I)\|- I + 1 \|I \|I - 3I + 1 + (- 4I + 4I)\|- I + 1 \|I
+-- *
+-- +-+
+-- \|I
+-- atan(----------------------)
+-- +-----------+
+-- | 2
+-- \|I - 3I + 1 - I + 1
+-- +
+-- +-----------+
+-- +-------+ +-+ | 2 2 +-------+ +-+
+-- (- 4I\|- I + 1 \|I \|I - 3I + 1 + (4I - 4I)\|- I + 1 \|I )
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- +-----------+
+-- 2 +-------+ +-+ | 2 3 +-------+ +-+
+-- (4I + 4I)\|- I + 1 \|I \|I - 3I + 1 + (- 4I + 4I)\|- I + 1 \|I
+-- *
+-- +-+
+-- \|I
+-- atan(---------------------)
+-- +----------+
+-- | 2
+-- \|I + I + 1 - I - 1
+-- +
+-- +-----------+ +----------+
+-- +-------+ | 2 +-------+ | 2
+-- (- 4\|- I + 1 \|I - 3I + 1 + (6I - 4)\|- I + 1 )\|I + I + 1
+-- +
+-- +-----------+
+-- +-------+ | 2 2 +-------+
+-- (2I + 4)\|- I + 1 \|I - 3I + 1 + (- 4I - 4I + 4)\|- I + 1
+-- /
+-- +-----------+ +----------+
+-- +-------+ | 2 +-------+ | 2
+-- (2\|- I + 1 \|I - 3I + 1 + (- 2I + 2)\|- I + 1 )\|I + I + 1
+-- +
+-- +-----------+
+-- +-------+ | 2 2 +-------+
+-- (- 2I - 2)\|- I + 1 \|I - 3I + 1 + (2I - 2)\|- I + 1
+-- ,
+--
+-- +-----------+ +----------+
+-- 2 | 2 3 2 | 2
+-- (- 2I \|I - 3I + 1 + 2I - 2I )\|I + I + 1
+-- +
+-- +-----------+
+-- 3 2 | 2 4 2
+-- (2I + 2I )\|I - 3I + 1 - 2I + 2I
+-- *
+-- +----------+
+-- +-----+ | 2 +-----+
+-- \|I - 1 \|I + I + 1 - I\|I - 1
+-- atan(---------------------------------)
+-- I - 1
+-- +
+-- +-----------+ +----------+
+-- 2 | 2 3 2 | 2
+-- (- 2I \|I - 3I + 1 + 2I - 2I )\|I + I + 1
+-- +
+-- +-----------+
+-- 3 2 | 2 4 2
+-- (2I + 2I )\|I - 3I + 1 - 2I + 2I
+-- *
+-- +-----------+
+-- +-----+ | 2 +-----+
+-- \|I - 1 \|I - 3I + 1 - I\|I - 1
+-- atan(----------------------------------)
+-- I - 1
+-- +
+-- +-----------+
+-- +-----+ +-+ | 2 2 +-----+ +-+
+-- (- 2I\|I - 1 \|I \|I - 3I + 1 + (2I - 2I)\|I - 1 \|I )
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- +-----------+
+-- 2 +-----+ +-+ | 2 3 +-----+ +-+
+-- (2I + 2I)\|I - 1 \|I \|I - 3I + 1 + (- 2I + 2I)\|I - 1 \|I
+-- *
+-- +-+
+-- \|I
+-- atan(----------------------)
+-- +-----------+
+-- | 2
+-- \|I - 3I + 1 - I + 1
+-- +
+-- +-----------+
+-- +-----+ +-+ | 2 2 +-----+ +-+
+-- (- 2I\|I - 1 \|I \|I - 3I + 1 + (2I - 2I)\|I - 1 \|I )
+-- *
+-- +----------+
+-- | 2
+-- \|I + I + 1
+-- +
+-- +-----------+
+-- 2 +-----+ +-+ | 2 3 +-----+ +-+
+-- (2I + 2I)\|I - 1 \|I \|I - 3I + 1 + (- 2I + 2I)\|I - 1 \|I
+-- *
+-- +-+
+-- \|I
+-- atan(---------------------)
+-- +----------+
+-- | 2
+-- \|I + I + 1 - I - 1
+-- +
+-- +-----------+ +----------+
+-- +-----+ | 2 +-----+ | 2
+-- (- 2\|I - 1 \|I - 3I + 1 + (3I - 2)\|I - 1 )\|I + I + 1
+-- +
+-- +-----------+
+-- +-----+ | 2 2 +-----+
+-- (I + 2)\|I - 1 \|I - 3I + 1 + (- 2I - 2I + 2)\|I - 1
+-- /
+-- +-----------+ +----------+
+-- +-----+ | 2 +-----+ | 2
+-- (\|I - 1 \|I - 3I + 1 + (- I + 1)\|I - 1 )\|I + I + 1
+-- +
+-- +-----------+
+-- +-----+ | 2 2 +-----+
+-- (- I - 1)\|I - 1 \|I - 3I + 1 + (I - 1)\|I - 1
+-- ]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in2109a:=integrate((1+I*z)^(1/2)+cot(z-1), z= 0..1,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2112a:=integrate(-cot(z-1)+log(1-1/z^4), z= -1..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2115a:=integrate(-z/(z-1)+log(1-z^(1/3)), z= -1..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2120a:=integrate(-z+1/(z^2+I*z-3)^(1/2), z= -1..1,"noPole")
+--
+-- +-------+ 2
+-- log((- 4I + 8)\|- I - 2 + I - 8I - 4)
+-- +
+-- +-----+ 2
+-- - log((- 4I - 8)\|I - 2 + I + 8I - 4)
+-- /
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2124a:=integrate(-1/z-1/(I/(z+I))^(1/2), z= -1..0,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in25:=integrate(cos(z), z= I..a)
+--
+-- sin(a) - sin(I)
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in25a:=integrate(cos(z), z= %i..a)
+--
+-- sin(a) - sin(%i)
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in25b:=integrate(exp(I*z), z= I..I*infinity)
+--
+-- 2 2
+-- I infinity I
+-- %e - %e
+-- -------------------
+-- I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in25c:=integrate(exp(%i*z), z= %i..I*infinity)
+--
+-- %i I infinity
+-- - %i %e %e + %i
+-- ----------------------------
+-- %e
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in28a:=integrate(1/z, z=1..z,"noPole")
+--
+-- 2
+-- log(z )
+-- -------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in30:=integrate(sin(3*asin(1/(1+z^2))), z= 0..%plusInfinity)
+--
+-- 3%pi
+-- ----
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in32:=integrate(exp(-z), z= 0..%plusInfinity)
+--
+-- 1
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in34a:=integrate(1/(sin(z)-1/2), z= 0..1,"noPole")
+--
+-- log
+-- 2 2
+-- - 12sin(1) + (42cos(1) + 48)sin(1) - 36cos(1) - 84cos(1)
+-- +
+-- - 48
+-- *
+-- +-+
+-- \|3
+-- +
+-- 2 2
+-- 21sin(1) + (- 72cos(1) - 84)sin(1) + 63cos(1) + 144cos(1) + 84
+-- /
+-- 2
+-- 4sin(1) - 4sin(1) + 1
+-- +
+-- +-+
+-- - log(- 168\|3 + 291)
+-- /
+-- +-+
+-- \|3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in37:=integrate(atan(tan(1/z)), z= 0..1)
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in40:=integrate(atan(tan(z)), z= 0..%plusInfinity)
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2157a:=integrate(acoth(z)-1/(1+z^(1/2)), z= 0..1,"noPole")
+--
+-- log(4) + 10log(2) - 8
+-- ---------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2158a:=integrate(2*acoth(1-(1-z)^(1/2)), z= 0..1,"noPole")
+--
+-- 2log(4) - 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2168a:=integrate(-csch(z-1)-(1+I*z)^(1/2), z= 0..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2179a:=integrate((z^3-I*(1-z^4)^(1/2))^4, z= -1..1,"noPole")
+--
+-- 4 2
+-- 64064I + 28080I + 6930
+-- (104) ------------------------
+-- 45045
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in2185a:=integrate(csch(z)+(z^2-I*z+1)^(1/2), z= 0..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2195a:=integrate(1-acoth(1-(1-z)^(1/2)), z= -1..1,"noPole")
+--
+-- +-+ +-+ +-+ +-+
+-- 2log(\|2 ) - log(- 2\|2 + 3) + 3log(- 4\|2 + 6) + 4\|2 - 4log(4) + 8
+-- -----------------------------------------------------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2201a:=integrate(acoth(z)+%pi-asec(z-1), z= 0..1,"noPole")
+--
+-- +-+
+-- - %pi\|2 + log(4) + 2%pi
+-- -------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in221:=integrate(log(z+sqrt(z^2-1)), z)
+--
+-- +------+ +------+ +------+
+-- | 2 2 | 2 | 2 2
+-- (z\|z - 1 - z )log(\|z - 1 + z) + z\|z - 1 - z + 1
+-- ---------------------------------------------------------
+-- +------+
+-- | 2
+-- \|z - 1 - z
+-- Type: Union(Expression Integer,...)
+
+in227a:=integrate(atan(sin(z))+atan(1/(sin(z))), z= 0..1,"noPole")
+--
+-- %pi
+-- - ---
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in237a:=integrate(sin(z)*(1-cos(z)/sqrt(1-sin(z)^2))^2, z= 0..1,"noPole")
+--
+-- - 4cos(1) + 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2221:=integrate((z-I)*(-1+1/(z-I)), z= 0..%plusInfinity)
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2243a:=integrate(-1/sinh(z-1)+1/(I*z)^(1/2), z= 0..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2247a:=integrate(1/(z^2-I*z+2)^(1/2)+csc(z), z= 0..1,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2254a:=integrate(cosh(z^(1/2))-acoth(1-z), z= 0..1,"noPole")
+--
+-- - %e log(4) + 4%e - 4
+-- ---------------------
+-- 2%e
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2270a:=integrate(log(z)*log(1/z)*(I*z)^(1/3), z= -1..1,"noPole")
+--
+-- 3+-+ 3+---+
+-- - 27\|I - 27\|- I
+-- -------------------
+-- 32
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2274a:=integrate(acoth(1-z)-acosh(1/z), z= -1..1,"noPole")
+--
+-- 3log(9) - 4%pi
+-- --------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2275a:=integrate((z^2+I*z-3)^(1/2)*(3+z^2), z= -1..1,"noPole")
+--
+-- 10 8 6 4 2
+-- - 960I + 49920I + 1320960I + 3563520I - 40550400I
+-- +
+-- 8847360
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 11 10 9 8 7 6
+-- 120I - 2640I - 23520I + 10560I - 318720I + 1359360I
+-- +
+-- 5 4 3 2
+-- 3056640I + 9922560I + 36034560I - 2396160I - 40919040I
+-- +
+-- 15482880
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 11 10 9 8 7 6
+-- 120I + 2640I - 23520I - 10560I - 318720I - 1359360I
+-- +
+-- 5 4 3 2
+-- 3056640I - 9922560I + 36034560I + 2396160I - 40919040I
+-- +
+-- - 15482880
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 12 10 8 6 4 2
+-- - 15I + 12360I + 67440I - 3283200I - 21131520I + 73451520I
+-- +
+-- - 27095040
+-- *
+-- +-------+ 2
+-- log((- 4I + 8)\|- I - 2 + I - 8I - 4)
+-- +
+-- 10 8 6 4 2
+-- 960I - 49920I - 1320960I - 3563520I + 40550400I
+-- +
+-- - 8847360
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 11 10 9 8 7 6
+-- - 120I + 2640I + 23520I - 10560I + 318720I - 1359360I
+-- +
+-- 5 4 3 2
+-- - 3056640I - 9922560I - 36034560I + 2396160I + 40919040I
+-- +
+-- - 15482880
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 11 10 9 8 7 6
+-- - 120I - 2640I + 23520I + 10560I + 318720I + 1359360I
+-- +
+-- 5 4 3 2
+-- - 3056640I + 9922560I - 36034560I - 2396160I + 40919040I
+-- +
+-- 15482880
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 12 10 8 6 4 2
+-- 15I - 12360I - 67440I + 3283200I + 21131520I - 73451520I
+-- +
+-- 27095040
+-- *
+-- +-----+ 2
+-- log((- 4I - 8)\|I - 2 + I + 8I - 4)
+-- +
+-- 9 5 3 +-------+ 11
+-- (- 20480I + 17170432I - 48234496I + 57671680I)\|- I - 2 + 60I
+-- +
+-- 10 9 8 7 6 5
+-- 3800I - 39408I - 172896I - 790144I - 6873344I + 13455872I
+-- +
+-- 4 3 2
+-- 53588992I - 16978944I - 85084160I + 9687040I + 21897216
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 11 10 9 8 7 6
+-- - 60I + 3800I + 39408I - 172896I + 790144I - 6873344I
+-- +
+-- 5 4 3 2
+-- - 13455872I + 53588992I + 16978944I - 85084160I - 9687040I
+-- +
+-- 21897216
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 11 9 7 5 3
+-- - 960I + 133888I + 3352576I - 44081152I + 129318912I - 59834368I
+-- /
+-- 6 4 2 +-------+ 7
+-- (49152I - 3735552I + 14942208I - 3145728)\|- I - 2 - 6144I
+-- +
+-- 6 5 4 3 2
+-- 135168I + 1351680I - 3784704I - 15237120I + 1769472I + 14548992I
+-- +
+-- - 5505024
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 7 6 5 4 3 2
+-- - 6144I - 135168I + 1351680I + 3784704I - 15237120I - 1769472I
+-- +
+-- 14548992I + 5505024
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 8 6 4 2
+-- 768I - 651264I + 12066816I - 27721728I + 9633792
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2276a:=integrate((1-tanh(log(1+z^(1/3))))^5, z= -1..1,"noPole")
+--
+-- 3+---+2 3+---+ 3+---+
+-- (- 918750\|- 1 + 1200000\|- 1 + 2100000)atan(\|- 1 + 1)
+-- +
+-- 3+---+2 3+---+
+-- (918750atan(2) - 466984)\|- 1 + (- 1200000atan(2) - 364526)\|- 1
+-- +
+-- - 2100000atan(2) + 96142
+-- /
+-- 3+---+2 3+---+
+-- 30625\|- 1 - 40000\|- 1 - 70000
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2278a:=integrate(acoth(1-z)+log(abs(z-1)/z), z= 0..1,"noPole")
+--
+-- log(4)
+-- (120) ------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2279a:=integrate(acoth(1/(z^2-z+1)^(1/2)), z= -1..1,"noPole")
+--
+-- +-+
+-- +-+ +-+ +-+ - \|3 - 2
+-- 2log(12\|3 + 21) + log(6\|3 + 12) - log(2\|3 + 4) + log(----------)
+-- +-+
+-- \|3 - 2
+-- +
+-- log(16) - 2log(4)
+-- /
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2307a:=integrate(tan(z)-1/(z^2+I*z-3)^(1/2), z= -1..1,"noPole")
+--
+-- +-------+ 2
+-- - log((- 4I + 8)\|- I - 2 + I - 8I - 4)
+-- +
+-- +-----+ 2
+-- log((- 4I - 8)\|I - 2 + I + 8I - 4)
+-- /
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2311a:=integrate(-1/sinh(z-1)+1/(I*z)^(1/2), z= 0..%pi,"noPole")
+--
+-- %pi - 1 2 %pi - 1
+-- I log((%e ) + 2%e + 1)
+-- +
+-- 2
+-- %pi - 1 2 %pi - 1 +-----+ %e + 2%e + 1
+-- - I log((%e ) - 2%e + 1) + 4\|I %pi - I log(-------------)
+-- 2
+-- %e
+-- +
+-- 2
+-- %e - 2%e + 1
+-- I log(-------------)
+-- 2
+-- %e
+-- /
+-- 2I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+------------------------------------------------------
+in2312:=integrate(sin(z)-1/(z^2+I*z-1)^(1/2), z= -1..1)
+--
+-- potentialPole
+--
+in2312a:=integrate(sin(z)-1/(z^2+I*z-1)^(1/2), z= -1..1,"noPole")
+--
+-- +---+ 2 +-+ 2
+-- - log((- 4I + 8)\|- I + I - 8I + 4) + log((- 4I - 8)\|I + I + 8I + 4)
+-- -------------------------------------------------------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2324a:=integrate(cosh(z^(1/2)-1)+acoth(1-z), z= 0..1,"noPole")
+--
+-- 2
+-- %e log(4) + 2%e - 4%e + 2
+-- --------------------------
+-- 2%e
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2330a:=integrate(exp(-z)+1/(z^2+I*z-1)^(1/2), z= -1..1,"noPole")
+--
+-- +---+ 2
+-- %e log((- 4I + 8)\|- I + I - 8I + 4)
+-- +
+-- +-+ 2 2
+-- - %e log((- 4I - 8)\|I + I + 8I + 4) + 2%e - 2
+-- /
+-- 2%e
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2332a:=integrate(acoth(z^(1/2))*(1-z^(1/2)), z= 0..1,"noPole")
+--
+-- log(16) - log(4) - 10log(2) + 8
+-- -------------------------------
+-- 12
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2333a:=integrate(acoth(z)+1/(z^2+z+2)^(1/2), z= 0..1,"noPole")
+--
+-- +-+
+-- log(- 4\|2 + 9) + log(4)
+-- -------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2340a:=integrate(exp(I*(I*z)^(1/2))+cot(z-1), z= -1..1,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2360a:=integrate(1/(1-I*z^2)^(1/2)-csch(z-1), z= -1..1,"noPole")
+--
+-- [ + infinity, + infinity]
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in2367a:=integrate(log(1-z^2)-1/(I/(z-I))^(1/2), z= -1..1,"noPole")
+--
+-- 4 4 1
+-- 3log(-----------) + 3log(-----------) - 3log(-----------)
+-- 2 2 2
+-- I - 2I + 1 I + 2I + 1 I - 2I + 1
+-- +
+-- 1
+-- - 3log(-----------) + 6log(4) - 24
+-- 2
+-- I + 2I + 1
+-- *
+-- +-------+
+-- | I
+-- |- -----
+-- \| I - 1
+-- +
+-- 4I - 4
+-- *
+-- +-------+
+-- | I
+-- |- -----
+-- \| I + 1
+-- +
+-- +-------+
+-- | I
+-- (- 4I - 4) |- -----
+-- \| I - 1
+-- /
+-- +-------+ +-------+
+-- | I | I
+-- 6 |- ----- |- -----
+-- \| I - 1 \| I + 1
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2375a:=integrate(acoth(1-z^(1/2))+1/z^(1/3), z= 0..1,"noPole")
+--
+-- 2log(4) + 1
+-- -----------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2376a:=integrate(log(1-z^(1/3)-z^(2/3)), z= 0..infinity,"noPole")
+--
+-- +-+
+-- 3\|5
+-- *
+-- log
+-- +-+ 3+--------+2
+-- (- 12\|5 - 36)\|infinity
+-- +
+-- +-+ 3+--------+ +-+
+-- (- 16\|5 - 4infinity - 32)\|infinity + (- 8infinity - 6)\|5
+-- +
+-- - 8infinity - 14
+-- /
+-- 3+--------+2 3+--------+
+-- \|infinity + (- infinity + 2)\|infinity - 2infinity - 1
+-- +
+-- (3infinity + 6)
+-- *
+-- 3+--------+2 3+--------+
+-- log(- \|infinity + (infinity - 2)\|infinity + 2infinity + 1)
+-- +
+-- 3+--------+2 3+--------+ +-+ +-+
+-- 3\|infinity - 18\|infinity - 3\|5 log(6\|5 + 14) - 4infinity
+-- /
+-- 6
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2378a:=integrate((z^2+I*z-3)^(1/2)-tanh(z-1), z= -1..1,"noPole")
+--
+-- 4 2 +-------+ 5 4 3 2
+-- (- 16I - 128I + 768)\|- I - 2 + 4I - 24I - 32I - 320I
+-- +
+-- - 960I - 384
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 5 4 3 2 +-------+ 6 4
+-- (4I + 24I - 32I + 320I - 960I + 384)\|- I - 2 - I + 60I
+-- +
+-- 2
+-- 848I - 192
+-- *
+-- +-------+ 2
+-- log((- 4I + 8)\|- I - 2 + I - 8I - 4)
+-- +
+-- 4 2 +-------+ 5 4 3 2
+-- (16I + 128I - 768)\|- I - 2 - 4I + 24I + 32I + 320I + 960I
+-- +
+-- 384
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 5 4 3 2 +-------+ 6 4
+-- (- 4I - 24I + 32I - 320I + 960I - 384)\|- I - 2 + I - 60I
+-- +
+-- 2
+-- - 848I + 192
+-- *
+-- +-----+ 2
+-- log((- 4I - 8)\|I - 2 + I + 8I - 4)
+-- +
+-- 2 4 2 2
+-- 2 (%e ) + 2(%e ) + 1 2
+-- (128I - 512)log(--------------------) + (- 128I + 512)log(4)
+-- 2 4
+-- (%e )
+-- +
+-- 3 2
+-- - 256I + 512I + 1024I - 2048
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 2 4 2 2
+-- 3 2 (%e ) + 2(%e ) + 1
+-- (- 32I + 192I + 640I + 256)log(--------------------)
+-- 2 4
+-- (%e )
+-- +
+-- 3 2 5 4 3 2
+-- (32I - 192I - 640I - 256)log(4) + 4I + 72I - 416I - 320I
+-- +
+-- 2624I + 2176
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 2 4 2 2
+-- 3 2 (%e ) + 2(%e ) + 1
+-- (- 32I - 192I + 640I - 256)log(--------------------)
+-- 2 4
+-- (%e )
+-- +
+-- 3 2 5 4 3 2
+-- (32I + 192I - 640I + 256)log(4) - 4I + 72I + 160I - 1856I
+-- +
+-- 2496I + 128
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 2 4 2 2
+-- 4 2 (%e ) + 2(%e ) + 1
+-- (8I - 576I + 128)log(--------------------)
+-- 2 4
+-- (%e )
+-- +
+-- 4 2 5 4 3 2
+-- (- 8I + 576I - 128)log(4) - 32I + 32I + 768I - 2304I - 2560I + 512
+-- /
+-- 2 +-------+ 3 2 +-----+
+-- ((256I - 1024)\|- I - 2 - 64I + 384I + 1280I + 512)\|I - 2
+-- +
+-- 3 2 +-------+ 4 2
+-- (- 64I - 384I + 1280I - 512)\|- I - 2 + 16I - 1152I + 256
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2386a:=integrate(acoth(1-z)-(z^2-z+2)^(1/2), z= 0..1,"noPole")
+--
+-- +-+ +-+ +-+
+-- - 7log(4\|2 + 9) + 7log(- 4\|2 + 9) - 8\|2 + 8log(4)
+-- -------------------------------------------------------
+-- 16
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2390a:=integrate((z^2-I*z-2)^(1/2)+1/sec(z-1), z= -1..1,"noPole")
+--
+-- 8 6 4 2 +-------+ 9 8
+-- (- 64I + 3840I + 18432I - 131072I )\|- I - 1 - 8I + 176I
+-- +
+-- 7 6 5 4 3 2
+-- 1472I - 3456I - 1536I - 33792I - 102400I + 40960I + 65536I
+-- *
+-- +-----+
+-- \|I - 1
+-- +
+-- 9 8 7 6 5 4 3
+-- - 8I - 176I + 1472I + 3456I - 1536I + 33792I - 102400I
+-- +
+-- 2
+-- - 40960I + 65536I
+-- *
+-- +-------+
+-- \|- I - 1
+-- +
+-- 10 8 6 4 2
+-- - I + 792I - 6016I - 84992I + 110592I - 32768
+-- *
+-- +-----+ 2
+-- log((4I + 8)\|I - 1 + I + 8I)
+-- +
+-- 8 6 4 2 +-------+ 9 8
+-- (64I - 3840I - 18432I + 131072I )\|- I - 1 + 8I - 176I
+-- +
+-- 7 6 5 4 3 2
+-- - 1472I + 3456I + 1536I + 33792I + 102400I - 40960I - 65536I
+-- *
+-- +-----+
+-- \|I - 1
+-- +
+-- 9 8 7 6 5 4 3
+-- 8I + 176I - 1472I - 3456I + 1536I - 33792I + 102400I
+-- +
+-- 2
+-- 40960I - 65536I
+-- *
+-- +-------+
+-- \|- I - 1
+-- +
+-- 10 8 6 4 2
+-- I - 792I + 6016I + 84992I - 110592I + 32768
+-- *
+-- +-------+ 2
+-- log((4I - 8)\|- I - 1 + I - 8I)
+-- +
+-- 6 4 2 7 5 3
+-- (1024I - 69632I + 262144I )sin(2) + 1536I - 63488I + 262144I
+-- +
+-- - 131072I
+-- *
+-- +-------+
+-- \|- I - 1
+-- +
+-- 7 6 5 4 3 2
+-- (128I - 2816I - 24576I + 77824I + 221184I - 81920I - 131072I)
+-- *
+-- sin(2)
+-- +
+-- 9 8 7 6 5 4 3
+-- 4I + 264I - 3456I - 24320I + 67072I + 199680I - 122880I
+-- +
+-- 2
+-- - 245760I + 16384I + 32768
+-- *
+-- +-----+
+-- \|I - 1
+-- +
+-- 7 6 5 4 3 2
+-- (128I + 2816I - 24576I - 77824I + 221184I + 81920I - 131072I)
+-- *
+-- sin(2)
+-- +
+-- 9 8 7 6 5 4 3
+-- - 4I + 264I + 3456I - 24320I - 67072I + 199680I + 122880I
+-- +
+-- 2
+-- - 245760I - 16384I + 32768
+-- *
+-- +-------+
+-- \|- I - 1
+-- +
+-- 8 6 4 2 9 7
+-- (16I - 12800I + 198656I - 229376I + 65536)sin(2) + 64I - 13824I
+-- +
+-- 5 3
+-- 174080I - 327680I + 131072I
+-- /
+-- 6 4 2 +-------+ 7 6 5
+-- (1024I - 69632I + 262144I )\|- I - 1 + 128I - 2816I - 24576I
+-- +
+-- 4 3 2
+-- 77824I + 221184I - 81920I - 131072I
+-- *
+-- +-----+
+-- \|I - 1
+-- +
+-- 7 6 5 4 3 2
+-- (128I + 2816I - 24576I - 77824I + 221184I + 81920I - 131072I)
+-- *
+-- +-------+
+-- \|- I - 1
+-- +
+-- 8 6 4 2
+-- 16I - 12800I + 198656I - 229376I + 65536
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2392a:=integrate(1/sec(z-1)+acoth(1-z^(1/2)), z= 0..1,"noPole")
+--
+-- sin(1) + log(4) - 1
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2404a:=integrate(1/(1+I*z^2)^(1/2)+acoth(z), z= -1..1,"noPole")
+--
+-- [
+-- -
+-- log
+-- 2 +-+ 2 +-----+ 2 +-+ 3
+-- ((2I + 4I)\|I + 4I + 2I)\|I + 1 + (- 4I - 4I)\|I - 2I
+-- +
+-- 2
+-- - 5I - 2I
+-- /
+-- +-----+
+-- 2\|I + 1 - I - 2
+-- +
+-- log
+-- 2 +-+ 2 +-----+ 2 +-+ 3
+-- ((- 2I - 4I)\|I + 4I + 2I)\|I + 1 + (4I + 4I)\|I - 2I
+-- +
+-- 2
+-- - 5I - 2I
+-- /
+-- +-----+
+-- 2\|I + 1 - I - 2
+-- /
+-- +-+
+-- 2\|I
+-- ,
+-- +---+ +-----+ +---+
+-- \|- I \|I + 1 - \|- I
+-- 4atan(-----------------------)
+-- I
+-- ------------------------------]
+-- +---+
+-- \|- I
+-- Type: Union(f2: List OrderedCompletion Expression Integer,...)
+
+in2409a:=integrate(tan(z)+1/(I/(z+I))^(1/2), z= 0..1/2*%pi,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in248a:=integrate(log(z^I)^2, z= 0..1,"noPole")
+--
+-- 2
+-- 2I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in248b:=integrate(log(z^%i)^2, z= 0..1,"noPole")
+--
+-- - 2
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in249a:=integrate((sin(z)/(cos(z)-1))^(1/3), z= 0..%pi,"noPole")
+--
+-- 3+-+ 3+-+ +-+
+-- 3log(32\|2 ) - 12log(2\|2 ) - 4%pi\|3
+-- --------------------------------------
+-- 24
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in251a:=integrate((-1)^z*exp(-z)*sin(z), z= 0..%plusInfinity,"noPole")
+--
+-- 2
+-- - %pi + 2
+-- ----------
+-- 4
+-- %pi + 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2434a:=integrate(acoth(z^(1/2))+log(abs(z-1)), z= 0..1,"noPole")
+--
+-- log(16) + log(4) - 6log(2)
+-- --------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2443a:=integrate(sech(z)+log(abs(1-1/z^(1/3))), z= -1..1,"noPole")
+--
+-- 3+---+2 3+---+
+-- 3+---+2 3+---+ \|- 1 - 2\|- 1 + 1
+-- log(\|- 1 - 2\|- 1 + 1) + log(---------------------) + 4atan(%e)
+-- 3+---+2
+-- \|- 1
+-- +
+-- 1 3+---+2 3+---+
+-- - 4atan(--) + \|- 1 + 2\|- 1 - 3
+-- %e
+-- /
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2462a:=integrate(log((1+(1-z)^(1/2))/z)+csch(z), z= -1..0,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2469a:=integrate(1/(2+z)^2+1/(z^2-I*z-2)^(1/2), z= -1..1,"noPole")
+--
+-- +-----+ 2 +-------+ 2
+-- 3log((4I + 8)\|I - 1 + I + 8I) - 3log((4I - 8)\|- I - 1 + I - 8I) + 4
+-- -------------------------------------------------------------------------
+-- 6
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2484a:=integrate(log(1-z^2)+sinh(z^(1/2)), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2485a:=integrate(log(1-z^(1/2))-acoth(z^(1/2)), z= 0..1,"noPole")
+--
+-- - log(16) + log(4) + 2log(2) - 10
+-- ---------------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2521a:=integrate(acoth(z^(1/2))+cos(z^(1/2)-1), z= 0..1,"noPole")
+--
+-- - 2cos(1) + 3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2524a:=integrate(log(abs(1+1/z^(1/3)))+log(1+1/z), z= -1..0,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2527a:=integrate(1/(1+I*z^(1/3))+cosh(z), z= %minusInfinity..0,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2533a:=integrate(log(abs(1-1/z^(1/3)))-log(1-1/z), z= -1..0,"noPole")
+-- 3+---+2 3+---+
+-- 3+---+2 3+---+ \|- 1 - 2\|- 1 + 1 3+---+2
+-- - log(3\|- 1 + \|- 1 - 1) + log(---------------------) + \|- 1
+-- 3+---+2
+-- \|- 1
+-- +
+-- 3+---+
+-- 2\|- 1 - log(4)
+-- /
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2566a:=integrate(log(1+(1-z)^(1/2))+acoth(1-z), z= -1..1,"noPole")
+--
+-- +-+ +-+
+-- 4log(\|2 + 1) + 4\|2 + 3log(9) - 4
+-- ------------------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2567a:=integrate(1/(I*z)^(1/3)*log(abs(z-1)), z= 0..1/2*%pi,"noPole")
+--
+-- 3+---+3+-----+2 3+-+3+---+2 3+-----+ 2 3+-+2
+-- 3+-+2 - I\|- I \|I %pi - 2I\|2 \|- I \|I %pi + I \|2
+-- 6I \|2 log(----------------------------------------------------)
+-- 3+-+2
+-- \|2
+-- +
+-- -
+-- 3+-+2
+-- 3I \|2
+-- *
+-- log
+-- 3+---+3+-----+2 3+-+3+---+2 3+-----+
+-- - 6I\|- I \|I %pi + (I %pi + 4I)\|2 \|- I \|I %pi
+-- +
+-- 2 2 3+-+2
+-- (2I %pi + 2I )\|2
+-- /
+-- 3+-+2
+-- 2\|2
+-- +
+-- 3+---+2 3+-----+ 3+-+
+-- 3+-+2 +-+ 2\|- I \|I %pi + I\|2
+-- 12I \|2 \|3 atan(------------------------)
+-- 3+-+ +-+
+-- I\|2 \|3
+-- +
+-- 2
+-- %pi - 4%pi + 4 3+---+3+-----+2 3+-+2 2
+-- (6log(---------------) - 18)\|- I \|I %pi - 3I \|2 log(I )
+-- 4
+-- +
+-- 3+-+2 +-+
+-- - 2I %pi \|2 \|3
+-- /
+-- 3+-+2 3+---+
+-- 8I \|2 \|- I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2586a:=integrate(acoth(z^(1/2))+atan(z^(1/2)), z= 0..1,"noPole")
+--
+-- log(16) - log(4) - 2log(2) + 2%pi
+-- ---------------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2591a:=integrate(log(z)/(1-z^(1/2))^3-log(z)*log(-z), z= 0..1,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2597a:=integrate((1+I/z)^(1/2)-log(1-1/z^2), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2598a:=integrate(exp(-z^(1/2))+acoth(1-z^(1/2)), z= 0..1,"noPole")
+--
+-- %e log(4) + %e - 4
+-- (105) ------------------
+-- %e
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2604a:=integrate(acoth(1-z^(1/2))+log(1+z^(1/3)), z= 1..2,"noPole")
+--
+-- 6+-+2 6+-+3 6+-+3 6+-+4
+-- 18log(\|2 + 1) + 3log(- 2\|2 + 3) - 6log(- 4\|2 + 6) + 3\|2
+-- +
+-- 6+-+3 6+-+2
+-- - 6\|2 - 6\|2 - 12log(2) + 7
+-- /
+-- 6
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in271a:=integrate(1/sqrt((z^2-1)*(z^2-1)), z= 2..%plusInfinity,"noPole")
+--
+-- log(9)
+-- (5) ------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in275c:=integrate(sqrt(z), z= -I..I,"noPole")
+--
+-- +-+ +---+
+-- 2I\|I + 2I\|- I
+-- (11) -----------------
+-- 3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in275a:=integrate(1/(1+z), z= -I..I,"noPole")
+--
+-- 2 2
+-- log(I + 2I + 1) - log(I - 2I + 1)
+-- (13) -----------------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in275b:=integrate(1/(1+z), z= -%i..%i,"noPole")
+--
+-- log(2%i) - log(- 2%i)
+-- (21) ---------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Complex Integer,...)
+
+in276a:=integrate(log(1-z^(1/3)-z^(2/3)), z= 0..sqrt(5)-2,"noPole")
+--
+-- +-+
+-- 3\|5
+-- *
+-- log
+-- +--------+2 +--------+
+-- +-+ 3| +-+ +-+ 3| +-+ +-+
+-- (- 12\|5 - 36)\|\|5 - 2 + (- 20\|5 - 24)\|\|5 - 2 + 2\|5
+-- +
+-- - 38
+-- /
+-- +--------+2 +--------+
+-- 3| +-+ +-+ 3| +-+ +-+
+-- \|\|5 - 2 + (- \|5 + 4)\|\|5 - 2 - 2\|5 + 3
+-- +
+-- +--------+2 +--------+
+-- +-+ 3| +-+ +-+ 3| +-+ +-+
+-- 3\|5 log(- \|\|5 - 2 + (\|5 - 4)\|\|5 - 2 + 2\|5 - 3)
+-- +
+-- +--------+2 +--------+
+-- 3| +-+ 3| +-+ +-+ +-+ +-+
+-- 3\|\|5 - 2 - 18\|\|5 - 2 - 3\|5 log(6\|5 + 14) - 4\|5 + 8
+-- /
+-- 6
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2634a:=integrate(1/(z^2+I*z-1)^(1/2)+log(abs(z-1)), z= -1..1,"noPole")
+--
+-- +---+ 2 +-+ 2
+-- log((- 4I + 8)\|- I + I - 8I + 4) - log((- 4I - 8)\|I + I + 8I + 4)
+-- +
+-- 2log(4) - 4
+-- /
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2656a:=integrate(acoth(1-(1-z)^(1/2))-log(1-1/z), z= -1..1,"noPole")
+--
+-- +-+ +-+ +-+ +-+
+-- - 10log(\|2 ) + log(- 2\|2 + 3) - 3log(- 4\|2 + 6) - 4\|2 + 2log(4)
+-- ----------------------------------------------------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2676a:=integrate(acoth(1-(1-z)^(1/2))-log(1-1/z), z= -1..1,"noPole")
+--
+-- +-+ +-+ +-+ +-+
+-- - 10log(\|2 ) + log(- 2\|2 + 3) - 3log(- 4\|2 + 6) - 4\|2 + 2log(4)
+-- ----------------------------------------------------------------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2664aa:=integrate(atanh(1/z)+(1+z^2)^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2681a:=integrate((z^2-I*z-3)^(1/2)+%pi-acot(z-1), z= -1..1,"noPole")
+--
+-- 4 2 +-------+ 5 4 3 2
+-- (- 16I - 128I + 768)\|- I - 2 - 4I + 24I + 32I + 320I
+-- +
+-- 960I + 384
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 5 4 3 2 +-------+ 6 4
+-- (- 4I - 24I + 32I - 320I + 960I - 384)\|- I - 2 - I + 60I
+-- +
+-- 2
+-- 848I - 192
+-- *
+-- +-----+ 2
+-- log((4I + 8)\|I - 2 + I + 8I - 4)
+-- +
+-- 4 2 +-------+ 5 4 3 2
+-- (16I + 128I - 768)\|- I - 2 + 4I - 24I - 32I - 320I - 960I
+-- +
+-- - 384
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 5 4 3 2 +-------+ 6 4
+-- (4I + 24I - 32I + 320I - 960I + 384)\|- I - 2 + I - 60I
+-- +
+-- 2
+-- - 848I + 192
+-- *
+-- +-------+ 2
+-- log((4I - 8)\|- I - 2 + I - 8I - 4)
+-- +
+-- 2 2 4 2
+-- (64I - 256)log(25) + (256I - 1024)atan(-) + (512I - 2048)%pi
+-- 3
+-- +
+-- 3
+-- 256I - 1024I
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 3 2
+-- (16I - 96I - 320I - 128)log(25)
+-- +
+-- 3 2 4
+-- (64I - 384I - 1280I - 512)atan(-)
+-- 3
+-- +
+-- 3 2 5 4 3 2
+-- (128I - 768I - 2560I - 1024)%pi + 4I + 72I - 288I - 1088I + 64I
+-- +
+-- 1152
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 3 2
+-- (16I + 96I - 320I + 128)log(25)
+-- +
+-- 3 2 4
+-- (64I + 384I - 1280I + 512)atan(-)
+-- 3
+-- +
+-- 3 2 5 4 3 2
+-- (128I + 768I - 2560I + 1024)%pi - 4I + 72I + 288I - 1088I - 64I
+-- +
+-- 1152
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 4 2 4 2 4
+-- (4I - 288I + 64)log(25) + (16I - 1152I + 256)atan(-)
+-- 3
+-- +
+-- 4 2 5 3
+-- (32I - 2304I + 512)%pi + 32I - 768I + 2560I
+-- /
+-- 2 +-------+ 3 2 +-----+
+-- ((256I - 1024)\|- I - 2 + 64I - 384I - 1280I - 512)\|I - 2
+-- +
+-- 3 2 +-------+ 4 2
+-- (64I + 384I - 1280I + 512)\|- I - 2 + 16I - 1152I + 256
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2691a:=integrate(1/(z^2+I*z-1)^(1/2)+(1-I*z)^(1/2), z= -1..1,"noPole")
+--
+-- +---+ 2
+-- 3I log((- 4I + 8)\|- I + I - 8I + 4)
+-- +
+-- +-+ 2 +-----+
+-- - 3I log((- 4I - 8)\|I + I + 8I + 4) + (4I + 4)\|I + 1
+-- +
+-- +-------+
+-- (4I - 4)\|- I + 1
+-- /
+-- 6I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2720a:=integrate(acoth(1-(1-z)^(1/2))+atan(z-1), z= 0..1,"noPole")
+--
+-- 5log(4) - %pi - 4
+-- -----------------
+-- 4
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2724a:=integrate(log(1-1/z^3)-(1+1/z^2)^(1/2), z= 0..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2732:=integrate(atan(1/3*3^(1/2)*(2*z-1)), z= 0..%plusInfinity)
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2783a:=integrate(1/z^(1/3)+atanh(1/z^(1/2)), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2815a:=integrate((I*z)^(1/2)-(1+1/(I*z)^(1/2))^(1/2), z= -1..1,"noPole")
+--
+-- +----------+ +--------+
+-- | +---+ | +-+
+-- |\|- I + 1 |\|I + 1
+-- - 6log( |---------- + 1) + 6log( |-------- + 1)
+-- | +---+ | +-+
+-- \| \|- I \| \|I
+-- +
+-- +--------+
+-- | +-+
+-- +-+ |\|I + 1 +-+
+-- - 2\|I |-------- + 2\|I + 1
+-- | +-+
+-- \| \|I
+-- - 3log(------------------------------)
+-- +-+
+-- \|I
+-- +
+-- +----------+
+-- | +---+
+-- +---+ |\|- I + 1 +---+
+-- - 2\|- I |---------- + 2\|- I + 1
+-- | +---+
+-- \| \|- I
+-- 3log(------------------------------------)
+-- +---+
+-- \|- I
+-- +
+-- +----------+ +--------+
+-- | +---+ | +-+
+-- +---+ |\|- I + 1 +-+ |\|I + 1 +-+
+-- (12\|- I - 24I) |---------- + (- 12\|I - 24I) |-------- + 16I\|I
+-- | +---+ | +-+
+-- \| \|- I \| \|I
+-- +
+-- +---+
+-- 16I\|- I
+-- /
+-- 24I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in285:=integrate(sqrt(1+sqrt(z-1)), z)
+--
+-- +------------+
+-- +-----+ | +-----+
+-- (4\|z - 1 + 12z - 20)\|\|z - 1 + 1
+-- -------------------------------------
+-- 15
+-- Type: Union(Expression Integer,...)
+
+in295a:=integrate(z*sqrt(1+sqrt(z^2-1)), z)
+--
+-- +-------------+
+-- +------+ | +------+
+-- | 2 2 | | 2
+-- (2\|z - 1 + 6z - 10)\|\|z - 1 + 1
+-- ---------------------------------------
+-- 15
+-- Type: Union(Expression Integer,...)
+
+in295ba:=integrate(z*sqrt(1+sqrt(z^2-1)), z= 1..sqrt(2),"noPole")
+--
+-- +-+
+-- 4\|2 + 4
+-- ---------
+-- 15
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+integrate(1/sqrt(20+x^2+y^2), x = -5..5,"noPole")
+--
+-- +-------+ +-------+
+-- | 2 2 | 2 2
+-- log(10\|y + 45 + y + 70) - log(- 10\|y + 45 + y + 70)
+-- -----------------------------------------------------------
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+--
+
+in291:=integrate(cos(2*atan(z-sqrt(2)))-sin(2*atan(z-sqrt(2))), z = 0..%plusInfinity)
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2924a:=integrate(1/(I*z)^(1/2)+(1+1/(I*z)^(1/2))^(1/2), z= -1..1,"noPole")
+--
+-- +----------+ +--------+
+-- | +---+ | +-+
+-- +---+ +-+ |\|- I + 1 +---+ +-+ |\|I + 1
+-- 2\|- I \|I log( |---------- + 1) - 2\|- I \|I log( |-------- + 1)
+-- | +---+ | +-+
+-- \| \|- I \| \|I
+-- +
+-- +--------+
+-- | +-+
+-- +-+ |\|I + 1 +-+
+-- - 2\|I |-------- + 2\|I + 1
+-- | +-+
+-- +---+ +-+ \| \|I
+-- \|- I \|I log(------------------------------)
+-- +-+
+-- \|I
+-- +
+-- +----------+
+-- | +---+
+-- +---+ |\|- I + 1 +---+
+-- - 2\|- I |---------- + 2\|- I + 1
+-- | +---+
+-- +---+ +-+ \| \|- I
+-- - \|- I \|I log(------------------------------------)
+-- +---+
+-- \|- I
+-- +
+-- +----------+ +--------+
+-- | +---+ | +-+
+-- +---+ +-+ |\|- I + 1 +---+ +-+ +---+ |\|I + 1
+-- (8I\|- I + 4I)\|I |---------- + (8I\|- I \|I + 4I\|- I ) |--------
+-- | +---+ | +-+
+-- \| \|- I \| \|I
+-- +
+-- +-+ +---+
+-- 16I\|I + 16I\|- I
+-- /
+-- +---+ +-+
+-- 8I\|- I \|I
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2963a:=integrate(cosh(-1+(1-z)^(1/2))+(z^2+I*z-3)^(1/2), z= -1..1,"noPole")
+--
+-- +-+
+-- 4 2 \|2 - 1 +-------+
+-- (- 16I - 128I + 768)%e %e \|- I - 2
+-- +
+-- +-+
+-- 5 4 3 2 \|2 - 1
+-- (4I - 24I - 32I - 320I - 960I - 384)%e %e
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- +-+
+-- 5 4 3 2 \|2 - 1 +-------+
+-- (4I + 24I - 32I + 320I - 960I + 384)%e %e \|- I - 2
+-- +
+-- +-+
+-- 6 4 2 \|2 - 1
+-- (- I + 60I + 848I - 192)%e %e
+-- *
+-- +-------+ 2
+-- log((- 4I + 8)\|- I - 2 + I - 8I - 4)
+-- +
+-- +-+
+-- 4 2 \|2 - 1 +-------+
+-- (16I + 128I - 768)%e %e \|- I - 2
+-- +
+-- +-+
+-- 5 4 3 2 \|2 - 1
+-- (- 4I + 24I + 32I + 320I + 960I + 384)%e %e
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- +-+
+-- 5 4 3 2 \|2 - 1 +-------+
+-- (- 4I - 24I + 32I - 320I + 960I - 384)%e %e \|- I - 2
+-- +
+-- +-+
+-- 6 4 2 \|2 - 1
+-- (I - 60I - 848I + 192)%e %e
+-- *
+-- +-----+ 2
+-- log((- 4I - 8)\|I - 2 + I + 8I - 4)
+-- +
+-- +-+ 2
+-- 2 +-+ 2 \|2 - 1
+-- ((256I - 1024)%e\|2 + (- 256I + 1024)%e)(%e )
+-- +
+-- 2 2 3 2
+-- ((256I - 1024)%e + (- 256I + 1024I)%e + 256I - 1024)
+-- *
+-- +-+
+-- \|2 - 1
+-- %e
+-- +
+-- 2 +-+ 2
+-- (- 256I + 1024)%e\|2 + (- 256I + 1024)%e
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- 3 2 +-+
+-- (- 64I + 384I + 1280I + 512)%e\|2
+-- +
+-- 3 2
+-- (64I - 384I - 1280I - 512)%e
+-- *
+-- +-+ 2
+-- \|2 - 1
+-- (%e )
+-- +
+-- 3 2 2
+-- (- 64I + 384I + 1280I + 512)%e
+-- +
+-- 5 4 3 2 3 2
+-- (4I + 72I - 288I - 1088I + 64I + 1152)%e - 64I + 384I
+-- +
+-- 1280I + 512
+-- *
+-- +-+
+-- \|2 - 1
+-- %e
+-- +
+-- 3 2 +-+ 3 2
+-- (64I - 384I - 1280I - 512)%e\|2 + (64I - 384I - 1280I - 512)%e
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- 3 2 +-+
+-- (- 64I - 384I + 1280I - 512)%e\|2
+-- +
+-- 3 2
+-- (64I + 384I - 1280I + 512)%e
+-- *
+-- +-+ 2
+-- \|2 - 1
+-- (%e )
+-- +
+-- 3 2 2
+-- (- 64I - 384I + 1280I - 512)%e
+-- +
+-- 5 4 3 2 3 2
+-- (- 4I + 72I + 288I - 1088I - 64I + 1152)%e - 64I - 384I
+-- +
+-- 1280I - 512
+-- *
+-- +-+
+-- \|2 - 1
+-- %e
+-- +
+-- 3 2 +-+ 3 2
+-- (64I + 384I - 1280I + 512)%e\|2 + (64I + 384I - 1280I + 512)%e
+-- *
+-- +-------+
+-- \|- I - 2
+-- +
+-- +-+ 2
+-- 4 2 +-+ 4 2 \|2 - 1
+-- ((16I - 1152I + 256)%e\|2 + (- 16I + 1152I - 256)%e)(%e )
+-- +
+-- 4 2 2 5 3 4 2
+-- (16I - 1152I + 256)%e + (- 32I + 768I - 2560I)%e + 16I - 1152I
+-- +
+-- 256
+-- *
+-- +-+
+-- \|2 - 1
+-- %e
+-- +
+-- 4 2 +-+ 4 2
+-- (- 16I + 1152I - 256)%e\|2 + (- 16I + 1152I - 256)%e
+-- /
+-- +-+
+-- 2 \|2 - 1 +-------+
+-- (256I - 1024)%e %e \|- I - 2
+-- +
+-- +-+
+-- 3 2 \|2 - 1
+-- (- 64I + 384I + 1280I + 512)%e %e
+-- *
+-- +-----+
+-- \|I - 2
+-- +
+-- +-+
+-- 3 2 \|2 - 1 +-------+
+-- (- 64I - 384I + 1280I - 512)%e %e \|- I - 2
+-- +
+-- +-+
+-- 4 2 \|2 - 1
+-- (16I - 1152I + 256)%e %e
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2992a:=integrate(acoth(1-z^(1/2))+log(1+z^(1/3)), z= 1..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in2997a:=integrate(log(1+1/z^3)-log(abs(1+z)), z= %minusInfinity..%plusInfinity,"noPole")
+--
+-- - infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in3001a:=integrate(((I*z)^(1/2)-1)/(-2+(I*z)^(1/2)), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in3008a:=integrate(exp(-z^(1/3))+atanh(1/z^(1/2)), z= 0..%plusInfinity,"noPole")
+--
+-- + infinity
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in303a:=integrate(1/(1+cosh(n*z)^2), z= 0..1,"noPole")
+--
+-- log
+-- +-+ - n 8 +-+ - n 6
+-- (- 816\|2 + 1154)(%e ) + (- 560\|2 + 792)(%e )
+-- +
+-- +-+ - n 4 +-+ - n 2
+-- (- 144\|2 + 204)(%e ) + (- 16\|2 + 24)(%e ) + 2
+-- /
+-- - n 8 - n 6 - n 4 - n 2
+-- (%e ) + 12(%e ) + 38(%e ) + 12(%e ) + 1
+-- +
+-- +-+
+-- - log(- 24\|2 + 34)
+-- /
+-- +-+
+-- 4n\|2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in314a:=integrate(1/(sin(z)-1/2), z= 0..1,"noPole")
+--
+-- log
+-- 2 2
+-- - 12sin(1) + (42cos(1) + 48)sin(1) - 36cos(1) - 84cos(1)
+-- +
+-- - 48
+-- *
+-- +-+
+-- \|3
+-- +
+-- 2 2
+-- 21sin(1) + (- 72cos(1) - 84)sin(1) + 63cos(1) + 144cos(1) + 84
+-- /
+-- 2
+-- 4sin(1) - 4sin(1) + 1
+-- +
+-- +-+
+-- - log(- 168\|3 + 291)
+-- /
+-- +-+
+-- \|3
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in317:=integrate((cos(z)^a)^(1/a), z= 0..%pi)
+--
+-- 0
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+in319a:=integrate(exp(-z)*atan(sin(z)/(1+cos(z))), z=0..%plusInfinity,"noPole")
+--
+-- 1
+-- -
+-- 2
+-- Type: Union(f1: OrderedCompletion Expression Integer,...)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mappkg1.input.pamphlet b/src/input/mappkg1.input.pamphlet
new file mode 100644
index 00000000..21d98364
--- /dev/null
+++ b/src/input/mappkg1.input.pamphlet
@@ -0,0 +1,54 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input MAPPKG1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from MappingPackageOneXmpPage
+)clear all
+
+power(q: FRAC INT, n: INT): FRAC INT == q**n
+power(2,3)
+rewop := twist power
+rewop(3, 2)
+square: FRAC INT -> FRAC INT
+square:= curryRight(power, 2)
+square 4
+squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT)
+squirrel(1/2, 1/3)
+sixteen := curry(square, 4/1)
+sixteen()
+square2:=square*square
+square2 3
+sc(x: FRAC INT): FRAC INT == x + 1
+incfns := [sc**i for i in 0..10]
+[f 4 for f in incfns]
+times(n:NNI, i:INT):INT == n*i
+r := recur(times)
+fact := curryRight(r, 1)
+fact 4
+mto2ton(m, n) ==
+ raiser := square**n
+ raiser m
+mto2ton(3, 3)
+shiftfib(r: List INT) : INT ==
+ t := r.1
+ r.1 := r.2
+ r.2 := r.2 + t
+ t
+fibinit: List INT := [0, 1]
+fibs := curry(shiftfib, fibinit)
+[fibs() for i in 0..30]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/marcbench.input.pamphlet b/src/input/marcbench.input.pamphlet
new file mode 100644
index 00000000..4cdc0249
--- /dev/null
+++ b/src/input/marcbench.input.pamphlet
@@ -0,0 +1,511 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input marcbench.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<*>>=
+
+)clear completely
+)set message type off
+)set message time off
+
+output(" Ex. 1: 4-body ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [p,s,phi];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+p: P := 'p;
+s: P := 's;
+phi: P := 'phi;
+p1:=-2*p^3+2*p^3*phi^3-4*phi^3*s*p^2+5*phi^3*s^3*p-phi^3*s^5;
+p2:=-2*s*p^3-2*phi^3*s^2+phi^3*s^4-3*phi^3*s^2*p+2*phi^3*p;
+p3:=-2*s^2+s^4-4*s^2*p+phi^2+1+4*p;
+lp:=[p1,p2,p3];
+
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 2: Wang-16 ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [x,y,z,t,u];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x: P := 'x;
+y: P := 'y;
+z: P := 'z;
+t: P := 't;
+u: P := 'u;
+f0 := u-2;
+f1:= 2*(u-1)^2+2*(x-z*x+z^2)+y^2*(x-1)^2-2*u*x+2*y*t*(1-x)*(x-z)+2*u*z*t*(t-y)+u^2*t^2*(1-2*z)+2*u*t^2*(z-x)+2*u*t*y*(z-1)+2*u*z*x*(y+1)+(u^2-2*u)*z^2*t^2+2*u^2*z^2+4*u*(1-u)*z+t^2*(z-x)^2;
+f2:= t*(2*z+1)*(x-z)+y*(z+2)*(1-x)+u*(u-2)*t+u*(1-2*u)*z*t+u*y*(x+u-z*x-1)+u*(u+1)*z^2*t;
+f3:= -u^2*(z-1)^2+2*z*(z-x)-2*(x-1);
+f4:= u^2+4*(z-x^2)+3*y^2*(x-1)^2-3*t^2*(z-x)^2 +3*u^2*t^2*(z-1)^2+u^2*z*(z-2)+6*u*t*y*(z+x+z*x-1);
+lp :=[f0,f1,f2,f3,f4];
+
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 3: Rose ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [z,y,x];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x: P := 'x;
+y: P := 'y;
+z: P := 'z;
+f1 := 7*y**4 - 20*x**2 ;
+f2:= (2160*x**2 + 1512*x +315)*z**4-4000*x**2-2800*x-490 ;
+f3 := (67200000*x**5 + 94080000*x**4 + 40924800*x**3 + 2634240*x**2-2300844*x-432180)*y**3 + ((40320000*x**6 + 28800000*x**5 + 21168000*x**3 + 4939200*x**2 + 347508*x)*z)*y**2 + ((-23520000*x**4-41395200*x**3-26726560*x**2-7727104*x-852355)*z**2)*y + (-10080000*x**4-28224000*x**3-15288000*x**2-1978032*x-180075)*z**3 ;
+lp := [f1,f2,f3];
+
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 4: L-3 ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls: List Symbol := [x,y,z,t];
+V := OVAR ls;
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x: P := `x;
+y: P := `y;
+z: P := `z
+t: P := `t;
+p1 := x^3 + y + z + t- 1;
+p2 := x + y^3 + z + t -1;
+p3 := x + y + z^3 + t-1;
+p4 := x + y + z + t^3 -1;
+lp := [p1,p2,p3,p4];
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 5:Butcher ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [b1,x,y,z,t,v,u,w];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+b1: P := 'b1;
+x: P := 'x;
+y: P := 'y;
+z: P := 'z;
+t: P := 't;
+u: P := 'u;
+v: P := 'v;
+w: P := 'w;
+f0 := b1 + y + z - t - w;
+f1 := 2*z*u + 2*y*v + 2*t*w - 2*w**2 - w - 1 ;
+f2 := 3*z*u**2 + 3*y*v**2 - 3*t*w**2 + 3*w**3 + 3*w**2 - t + 4*w ;
+f3 := 6*x*z*v - 6*t*w**2 + 6*w**3 - 3*t*w + 6*w**2 - t + 4*w ;
+f4 := 4*z*u**3+ 4*y*v**3+ 4*t*w**3- 4*w**4 - 6*w**3+ 4*t*w- 10*w**2- w- 1 ;
+f5 := 8*x*z*u*v +8*t*w**3 -8*w**4 +4*t*w**2 -12*w**3 +4*t*w -14*w**2 -3*w -1 ;
+f6 := 12*x*z*v**2+12*t*w**3 -12*w**4 +12*t*w**2 -18*w**3 +8*t*w -14*w**2 -w -1;
+f7 := -24*t*w**3 + 24*w**4 - 24*t*w**2 + 36*w**3 - 8*t*w + 26*w**2 + 7*w + 1 ;
+
+lp := [f0,f1,f2,f3,f4,f5,f6,f7];
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 6 : Hairer-2 ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [A43,A42,A41,A32,A31,A21,B1,B2,B3,B4,C4,C3,C2];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+A43: P := 'A43;
+A42: P := 'A42;
+A41: P := 'A41;
+A32: P := 'A32;
+A31: P := 'A31;
+A21: P := 'A21;
+B1: P := 'B1;
+B2: P := 'B2;
+B3: P := `B3;
+B4: P := `B4;
+C4: P := `C4;
+C3: P := `C3;
+C2: P := `C2;
+f1 := B1+B2+B3+B4-1 ;
+f2 := 2*B2*C2 + 2*B3*C3 + 2*B4*C4 - 1 ;
+f3 := 3*B2*C2**2 +3*B3*C3**2 +3*B4*C4**2 -1 ;
+f4 := 6*B3*A32*C2 +6*B4*A42*C2 +6*B4*A43*C3 -1 ;
+f5 := 4*B2*C2**3 +4*B3*C3**3 +4*B4*C4**3 -1 ;
+f6 := 8*B3*C3*A32*C2 +8*B4*C4*A42*C2 +8*B4*C4*A43*C3 -1 ;
+f7 := 12*B3*A32*C2**2 +12*B4*A42*C2**2 +12*B4*A43*C3**2 -1 ;
+f8 := 24*B4*A43*A32*C2 -1 ;
+f9 := -A21+C2 ;
+f10 := -A31-A32+C3 ;
+f11 := -A41-A42-A43+C4 ;
+
+lp := [f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11];
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 7 : Lichtblau ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [t,y,x];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x: P := 'x;
+y: P := 'y;
+t: P := 't;
+p1 := x-110*t^2+495*t^3-1320*t^4+2772*t^5-5082*t^6+7590*t^7-8085*t^8+5555*t^9-2189*t^10+374*t^11;
+p2 := y-22*t+110*t^2-330*t^3+1848*t^5-3696*t^6+3300*t^7-1650*t^8+550*t^9-88*t^10-22*t^11;
+lp := [p1, p2];
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 8: Liu original ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [x,y,z,t,a];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x: P := 'x;
+y: P := 'y;
+z: P := 'z;
+t: P := 't;
+a: P := 'a;
+p1 := y*(z-t)-x+a ;
+p2 := z*(t-x)-y+a ;
+p3 := t*(x-y)-z+a ;
+p4 := x*(y-z)-t+a ;
+lp := [p1,p2,p3,p4] ;
+
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 9: Liu homog. ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [x,y,z,t,a,h];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x: P := 'x;
+y: P := 'y;
+z: P := 'z;
+t: P := 't;
+a: P := 'a;
+h: P := 'h;
+p1 := y*z-y*t-x*h+a*h;
+p2 := z*t-z*x-y*h+a*h;
+p3 := t*x-y*t-z*h+a*h;
+p4 := x*y-z*x-t*h+a*h;
+lp := [p1,p2,p3,p4] ;
+
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 10: Vermeer ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [w,v,u,y,x];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x: P := 'x;
+y: P := 'y;
+u: P := 'u;
+v: P := 'v;
+w: P := 'w;
+p1 := (x - u) ** 2 + (y - v) ** 2 - 1 ;
+p2 := v ** 2 - u ** 3 ;
+p3 := 2 * v * (x - u) + 3 * u ** 2 * (y - v) ;
+f1 := (3 * w * u ** 2 - 1) ;
+f2 := (2 * w * v - 1) ;
+p4 := f1 * f2 ;
+lp := [p1,p2,p3,p4] ;
+
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 11: Wu-Wang-2" )
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := reverse [x10,x11,x12,x13,x21,x22,x23,x30,x101,x102,x103,x104,x105];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x10: P := 'x10;
+x11:P := 'x11;
+x12:P := 'x12;
+x13:P := 'x13;
+x21:P := 'x21;
+x22:P := 'x22;
+x23:P := 'x23;
+x30:P := 'x30;
+x101:P := 'x101;
+x102:P := 'x102;
+x103:P := 'x103;
+x104:P := 'x104;
+x105:P := 'x105;f1:=x21-x12-x13;
+f2:=x22-x11-x13;
+f3:=x23-x11-x12;
+f4:=x30-x11^3-x12^3-x13^3;
+f5:=x21*x22*x23-x10*x30;
+f6:=x10+x101*f1+x102*f2+x103*f3+x104*f4+x105*f5;
+f7 := differentiate(f6,'x11);
+f8 := differentiate(f6,'x12);
+f9 := differentiate(f6,'x13);
+f10 := differentiate(f6,'x21);
+f11 := differentiate(f6,'x21);
+f12 := differentiate(f6,'x22);
+f13 := differentiate(f6,'x23);
+f14 := differentiate(f6,'x23);
+f15 := differentiate(f6,'x30);
+f16 := differentiate(f6,'x10);
+lp:=[f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16];
+
+
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+output(" Ex. 12: f-633 ")$OutputPackage
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [U6,U5,U4,U3,U2,u6,u5,u4,u3,u2];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+U6: P := 'U6;
+U5: P := 'U5;
+U4: P := 'U4;
+U3: P := 'U3;
+U2: P := 'U2;
+u6: P := 'u6;
+u5: P := 'u5;
+u4: P := 'u4;
+u3: P := 'u3;
+u2: P := 'u2;
+p1 := 2*u6 + 2*u5 + 2*u4 + 2*u3 + 2*u2 + 1;
+p2 := 8*U5*u6 + 8*U5*u5 + 8*U4*u6 +8*U4*u5 + 8*U4*u4 + 8*U3*u6 + 8*U3*u5 + 8*U3*u4 + 8*U3*u3 + 8*U2*u6 +8*U2*u5 + 8*U2*u4 + 8*U2*u3 + 8*U2*u2 -13;
+p3 := 2*U6 + 2*U5 + 2*U4 + 2*U3 +2*U2 + 1;
+p4 := 8*U6*u5 + 8*U6*u4 + 8*U6*u3 + 8*U6*u2 + 8*U5*u5 + 8*U5*u4 +8*U5*u3 + 8*U5*u2 + 8*U4*u4 + 8*U4*u3 + 8*U4*u2 + 8*U3*u3 + 8*U3*u2 +8*U2*u2 -13;
+p6 := U2*u2 -1;
+p7 := U3*u3 -1;
+p8 := U4*u4 -1;
+p9 := U5*u5 -1;
+p10 := U6*u6 -1;
+lp := [p1,p2,p3,p4,p6,p7,p8,p9,p10];
+
+
+
+T := REGSET(R,E,V,P);
+)set message time off
+zeroSetSplit(lp)$T;
+)set message time on
+zeroSetSplit(lp)$T;
+)set message time off
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/matbug.input.pamphlet b/src/input/matbug.input.pamphlet
new file mode 100644
index 00000000..fd4dbe23
--- /dev/null
+++ b/src/input/matbug.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input matbug.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+msq := Matrix SquareMatrix(2,POLY INT)
+m : msq := zero(2,2)
+m(1,1) := matrix([[1,2],[a,b]])
+m(1,2) := matrix([[a,b],[2,b]])
+m(2,2) := matrix([[1,2],[2,b]])
+m
+m*m
+m**2
+m**3
+(m*m)*m
+mm:=m*m
+mm*m
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/matops.as.pamphlet b/src/input/matops.as.pamphlet
new file mode 100644
index 00000000..0544995c
--- /dev/null
+++ b/src/input/matops.as.pamphlet
@@ -0,0 +1,79 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input matops.as}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{Input tests}
+<<input>>=
+)compile matops.as
+)show MatrixOpSym
+matrix [[3,4],[5,6]]
+symmetricPart %
+@
+\section{License}
+<<license>>=
+-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+-- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+@
+<<*>>=
+<<license>>
+#include "axiom.as"
+#pile
+
+MatrixOpSym(R:Field) : MOD == Definition where
+ Mat ==> Matrix R
+
+ MOD ==> with
+
+ symmetricPart : Mat -> Mat
+ ++ \spad{symmetricPart(m)} returns the symmetric part of m
+
+ Definition ==> add
+
+ symmetricPart(m:Mat) : Mat ==
+ m1:=transpose m
+ import from Integer
+ import from R
+ inv(2::R) *(m+m1)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/matrix.input.pamphlet b/src/input/matrix.input.pamphlet
new file mode 100644
index 00000000..3b4e50a5
--- /dev/null
+++ b/src/input/matrix.input.pamphlet
@@ -0,0 +1,97 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input matrix.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+
+-- A number of matrix computations over the integers and over the
+-- rationals using various algortihms and indexing schemes.
+
+-- Hilbert matrix
+
+mat : MATRIX FRAC INT := matrix [[1/(i + j) for i in 1..5] for j in 1..5]
+matinv := inverse mat
+mat * matinv
+
+-- same computation, different indexing
+
+mat1 : IMATRIX(FRAC INT,-3,47) := _
+ matrix [[1/(i + j) for i in 1..5] for j in 1..5]
+mat1inv := inverse mat1
+mat1 * mat1inv
+
+-- Vandermonde determinant
+
+mat2 : MATRIX INT := matrix [[j**i for i in 0..4] for j in 1..5]
+rowEchelon mat2
+determinant mat2
+minordet mat2
+
+-- same computation, different indexing
+
+mat3 : IMATRIX(INT,13,-7) := _
+ matrix [[j**i for i in 0..4] for j in 1..5]
+rowEchelon mat3
+determinant mat3
+minordet mat3
+
+-- same computation, work over the rationals
+
+mat4 : MATRIX FRAC INT := matrix [[j**i for i in 0..4] for j in 1..5]
+rowEchelon mat4
+determinant mat4
+minordet mat4
+
+-- same computation, different indexing
+
+mat5 : IMATRIX(FRAC INT,-113,37) := _
+ matrix [[j**i for i in 0..4] for j in 1..5]
+rowEchelon mat5
+determinant mat5
+minordet mat5
+
+mat6 : MATRIX INT := matrix [[1,2,3],[4,5,6],[7,8,9]]
+rowEchelon mat6
+rank mat6
+nullity mat6
+nullSpace mat6
+
+mat7 : IMATRIX(FRAC INT,163,61657) := matrix [[1,2,3],[4,5,6],[7,8,9]]
+rowEchelon mat7
+rank mat7
+nullity mat7
+nullSpace mat7
+
+mat8 : MATRIX INT := _
+ matrix [[1,-2,13,0,5,-47],[-4,15,0,16,-2,1],[-7,0,8,-11,9,0]]
+rowEchelon mat8
+rank mat8
+nullity mat8
+nullSpace mat8
+
+mat9 : IMATRIX(FRAC INT,163,61657) := _
+ matrix [[1,-2,13,0,5,-47],[-4,15,0,16,-2,1],[-7,0,8,-11,9,0]]
+rowEchelon mat9
+rank mat9
+nullity mat9
+nullSpace mat9
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/matrix1.input.pamphlet b/src/input/matrix1.input.pamphlet
new file mode 100644
index 00000000..1aa2d81f
--- /dev/null
+++ b/src/input/matrix1.input.pamphlet
@@ -0,0 +1,68 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input MATRIX.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from MatrixXmpPage
+)clear all
+
+
+-- Input generated from ugxMatrixCreatePage
+)clear all
+
+m : Matrix(Integer) := new(3,3,0)
+setelt(m,2,3,5)
+m(1,2) := 10
+m
+matrix [[1,2,3,4],[0,9,8,7]]
+dm := diagonalMatrix [1,x**2,x**3,x**4,x**5]
+setRow!(dm,5,vector [1,1,1,1,1])
+setColumn!(dm,2,vector [y,y,y,y,y])
+cdm := copy(dm)
+setelt(dm,4,1,1-x**7)
+[dm,cdm]
+subMatrix(dm,2,3,2,4)
+d := diagonalMatrix [1.2,-1.3,1.4,-1.5]
+e := matrix [[6.7,9.11],[-31.33,67.19]]
+setsubMatrix!(d,1,2,e)
+d
+a := matrix [[1/2,1/3,1/4],[1/5,1/6,1/7]]
+b := matrix [[3/5,3/7,3/11],[3/13,3/17,3/19]]
+horizConcat(a,b)
+vab := vertConcat(a,b)
+transpose vab
+
+-- Input generated from ugxMatrixOpsPage
+)clear all
+
+m := matrix [[1,2],[3,4]]
+4 * m * (-5)
+n := matrix([[1,0,-2],[-3,5,1]])
+m * n
+vec := column(n,3)
+vec * m
+m * vec
+hilb := matrix([[1/(i + j) for i in 1..3] for j in 1..3])
+inverse(hilb)
+mm := matrix([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])
+inverse(mm)
+determinant(mm)
+trace(mm)
+rank(mm)
+nullity(mm)
+nullSpace(mm)
+rowEchelon(mm)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/matrix22.input.pamphlet b/src/input/matrix22.input.pamphlet
new file mode 100644
index 00000000..95e1417f
--- /dev/null
+++ b/src/input/matrix22.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input matrix22.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- this file shows nesting of matrices
+m:SQMATRIX(2,INT) := squareMatrix matrix [[0,1],[-1,0]]
+-- this determinant can be computed
+determinant m
+n:SQMATRIX(2,SQMATRIX(2,INT)) :=
+ squareMatrix matrix [[m,m**2],[m**3,m**4]]
+-- this determinant cannot be computed by Scratchpad II
+-- because there is no function that computes the determinant of a
+-- matrix whose entries belong to a noncommutative ring
+)set mes test off
+determinant n
+)set mes test on
+-- another level of matrix
+o:SQMATRIX(2,SQMATRIX(2,SQMATRIX(2,INT))) :=
+ squareMatrix matrix [[n,n**2],[n**3,n**4]]
+o ** 2
+-- add 2 to this matrix
+% + 2
+-- what is 2 as a matrix?
+o := 2
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/matrox.input.pamphlet b/src/input/matrox.input.pamphlet
new file mode 100644
index 00000000..1bfc6605
--- /dev/null
+++ b/src/input/matrox.input.pamphlet
@@ -0,0 +1,95 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input matrox.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- Screen setup for graphics demos for the matrox card screen width
+
+
+--)lo clip grdef viewdef draw2d )update
+--)lo grimage view2D )up
+
+
+-- 2D things
+
+ -- demo of adaptive plotting
+--)cl all
+--)r adaptive
+-- these should be set already
+setAdaptive true -- this is the default
+viewDefaults() -- ditto
+
+--)r "/spad/graphics/oldInput/curl"
+draw(curve(sin(t)*sin(2*t)*sin(3*t),sin(4*t)*sin(5*t)*sin(6*t)),t=0..2*pi())
+curl1:=getGraph(c1:=%,1)
+
+setAdaptive false
+viewXPos 410
+pointColor pastel yellow();
+lineColor pastel blue();
+--)r "/spad/graphics/oldInput/curl"
+rc := range curl1
+--draw2D(rc.xRange,rc.yRange,sin(t)*sin(2*t)*sin(3*t),sin(4*t)*sin(5*t)*sin(6*t),0..2*pi())
+draw(curve(sin(t)*sin(2*t)*sin(3*t),sin(4*t)*sin(5*t)*sin(6*t)),t=0..2*pi(),[ranges([rc.0,rc.1])])
+curl2:=getGraph(c2:=%,1)
+
+curl:=viewport2D()
+title(curl,"Adaptive vs Non-Adaptive")
+putGraph(curl,curl1,1)
+putGraph(curl,curl2,2)
+key curl
+curly:=makeViewport2D curl
+key curly
+
+resize(curly,368,428)
+move(curly,905,588)
+
+-- reset defaults
+setAdaptive true
+viewDefaults()
+
+ -- implicit graphs
+--pointColor pastel red()
+--lineColor light blue()
+--)r cart
+--cart := %
+--resize(cart,277,180)
+--move(cart,600,483)
+
+viewDefaults()
+
+
+-- a few 3D things
+
+--)r wiggle
+--wiggle:=%
+wiggle:=draw(cos(x*y),x=-3..3,y=-3..3)
+move(wiggle,876,200)
+
+--)r lumpy
+--lumpy:=%
+lumpy:=sin(2*x**2 + 3 * y**2)/(x**2 + y**2)
+resize(lumpy,300,330)
+move(lumpy,600,688)
+
+--)r torus
+--donut:=%
+fcolor(x:SF):SF == x
+--donut:=newdraw(sin t,cos t,0,fcolor,t=0..2*%pi)
+donut:=draw(surface(sin t,cos t,0),fcolor,t=0..2*%pi)
+resize(donut,374,180)
+move(donut,900,0)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mfinfact.input.pamphlet b/src/input/mfinfact.input.pamphlet
new file mode 100644
index 00000000..8ca0f07b
--- /dev/null
+++ b/src/input/mfinfact.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input mfinfact.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+p:POLY PF 7 :=6*x +6*y +6*z +x^49+y^49+z^49
+factor p
+
+p:POLY PF 7:=(x+3*y+z)*(w*x+y)*(x*y+w**3)
+factor p
+pp:=p**2
+gcd(p,differentiate(p,x))
+
+p23:POLY PF 23:=(x+3*y+z)*(w*x+y)*(x*y+w**3)
+factor(p23)
+
+q: POLY PF 2 := y**4 + y**3 + x**4 + x**2
+factor q
+factor(q*(q+1))
+
+q:=x**2*y**2+z
+factor(q*(1+q))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mkfunc.input.pamphlet b/src/input/mkfunc.input.pamphlet
new file mode 100644
index 00000000..a5ed4f0e
--- /dev/null
+++ b/src/input/mkfunc.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input MKFUNC.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from MakeFunctionXmpPage
+)clear all
+
+expr := (x - exp x + 1)**2 * (sin(x**2) * x + 1)**3
+function(expr, f, x)
+tbl := [f(0.1 * i - 1) for i in 0..20];
+e := (x - y + 1)**2 * (x**2 * y + 1)**2
+function(e, g, [x, y])
+function(e, h, x, y)
+m1 := squareMatrix [[1, 2], [3, 4]]
+m2 := squareMatrix [[1, 0], [-1, 1]]
+h(m1, m2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mountain.input.pamphlet b/src/input/mountain.input.pamphlet
new file mode 100644
index 00000000..915ab7cd
--- /dev/null
+++ b/src/input/mountain.input.pamphlet
@@ -0,0 +1,133 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input mountain.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- Draw a fractal mountain
+
+)clear all
+
+-- compile the functions
+)set function compile on
+
+-- Generate Gaussian random numbers
+-- Algorithm by Richard Voss from "The Science of Fractal Images", pg. 77
+
+-- function to convert a number into machine floating point
+sf f == f::DFLOAT
+
+Nrand := 4
+Arand := 2**26 - 1
+GaussAdd := sqrt(sf(3.0) * Nrand)
+GaussFac := sf(2.0) * GaussAdd/((sf Nrand) * (sf Arand))
+
+-- generate a random number
+Gauss() ==
+ sum := sf 0.0
+ for i in 1..Nrand repeat
+ sum := sum + random()$INT
+ GaussFac * sum - GaussAdd
+
+-- Generate fractal mountains.
+
+-- Algorithms by Richard Voss from "The Science of Fractal Images", pg. 100
+
+sfHalf := sf 0.5
+sfThree := sf 3.0
+sfFour := sf 4.0
+
+f3(delta,x0,x1,x2) == (x0+x1+x2)/sfThree + delta*Gauss()
+f4(delta,x0,x1,x2,x3) == (x0+x1+x2+x3)/sfFour + delta*Gauss()
+
+-- perform midpoint subdivision
+MidPointFM(maxLevel, sigma, H) ==
+ N := 2**maxLevel
+ delta := sigma
+ arraySize := (N+1)
+ X:IARRAY2(DFLOAT,0,0) := new(arraySize, arraySize, sf 0.0)
+ setelt(X, 0, 0, delta*Gauss())
+ setelt(X, 0, N, delta*Gauss())
+ setelt(X, N, 0, delta*Gauss())
+ setelt(X, N, N, delta*Gauss())
+ D := N
+ d := N quo 2
+ for stage in 1..maxLevel repeat
+ delta := delta*(sfHalf**(sfHalf*H))
+ for x in d..(N-d) by D repeat
+ for y in d..(N-d) by D repeat
+ setelt(X, x, y, f4(delta, elt(X,x+d,y+d), elt(X,x+d,y-d),
+ elt(X, x-d, x+d), elt(X, x-d, y-d)))
+ for x in 0..N by D repeat
+ for y in 0..N by D repeat
+ setelt(X, x, y, elt(X,x,y) + delta*Gauss())
+ delta := delta*(sfHalf**(sfHalf*H))
+ for x in d..(N-d) by D repeat
+ setelt(X,x,0, f3(delta, elt(X,x+d,0), elt(X,x-d,0), elt(X,x,d)))
+ setelt(X,x,N, f3(delta, elt(X,x+d,N), elt(X,x-d,N), elt(X,x,N-d)))
+ setelt(X,0,x, f3(delta, elt(X,0,x+d), elt(X,0,x-d), elt(X,d,x)))
+ setelt(X,N,x, f3(delta, elt(X,N,x+d), elt(X,N,x-d), elt(X,N-d,x)))
+ for x in d..(N-d) by D repeat
+ for y in D..(N-d) by D repeat
+ setelt(X,x,y, f4(delta, elt(X,x,y+d), elt(X,x,y-d),
+ elt(X,x+d,y), elt(X,x-d,y)))
+ for x in D..(N-d) by D repeat
+ for y in d..(N-d) by D repeat
+ setelt(X,x,y, f4(delta, elt(X,x,y+d), elt(X,x,y-d),
+ elt(X,x+d,y), elt(X,x-d,y)))
+ for x in 0..N by D repeat
+ for y in 0..N by D repeat
+ setelt(X,x,y, elt(X,x,y) + delta*Gauss())
+ for x in d..(N-d) by D repeat
+ for y in d..(N-d) by D repeat
+ setelt(X,x,y, elt(X,x,y) + delta*Gauss())
+ D := D quo 2
+ d := d quo 2
+ X
+
+
+sfZero := sf 0
+Sigma := sf 7
+
+-- function passed to the draw
+tableVal(x: DFLOAT, y:DFLOAT):DFLOAT ==
+ free table, xIndex, yIndex, rowSize
+ val := elt(table, xIndex, yIndex)
+ xIndex := xIndex + 1
+ if xIndex > rowSize then (xIndex := 0; yIndex := yIndex + 1)
+ val < sfZero => sfZero
+ val
+
+-- draw a mountain with maxLevel subdivisions with Haussdorf dimension H
+-- the number of subdivisions of the mountain is 2**maxLevel, so you
+-- probably should keep maxLevel <= 8. Also 0 < H <= 1. The closer
+-- H is to one, the smoother the mountain will be.
+drawMountain(maxLevel, H) ==
+ free table, xIndex, yIndex, rowSize
+ table := MidPointFM(maxLevel, Sigma, H)
+ N := 2**maxLevel
+ xIndex := 0
+ yIndex := 0
+ rowSize := N
+ draw(tableVal, -20..20, -20..20,
+ var1Steps == N, var2Steps == N, title == "Fractal Mountain")
+
+drawMountain(3, sf 0.95)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mpoly.input.pamphlet b/src/input/mpoly.input.pamphlet
new file mode 100644
index 00000000..e60d2e64
--- /dev/null
+++ b/src/input/mpoly.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input MPOLY.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from MultivariatePolynomialXmpPage
+)clear all
+
+m : MPOLY([x,y],INT) := (x**2 - x*y**3 +3*y)**2
+m :: MPOLY([y,x],INT)
+p : MPOLY([x,y],POLY INT)
+p := (a**2*x - b*y**2 + 1)**2
+p :: POLY INT
+% :: MPOLY([a,b],POLY INT)
+q : UP(x, FRAC MPOLY([y,z],INT))
+q := (x**2 - x*(z+1)/y +2)**2
+q :: UP(z, FRAC MPOLY([x,y],INT))
+q :: MPOLY([x,z], FRAC UP(y,INT))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mset.input.pamphlet b/src/input/mset.input.pamphlet
new file mode 100644
index 00000000..1d057f85
--- /dev/null
+++ b/src/input/mset.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input mset.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+macro I == Integer
+macro symdif == symmetricDifference
+s:Multiset I
+t:Multiset I
+t1:Multiset I
+s := multiset [1,2,3,4,5,4,3,2,3,4,5,6,7,4,10]
+t := multiset [2,2,2,9]
+
+union(s,t)
+union(s,s)
+intersect(s,t)
+difference(s,t)
+symdif(s,t)
+symdif(s,s)
+
+t1 := multiset [2,2]
+[t1 < t, t1 < s, t1 <= t, t1 <= s]
+t1 := multiset [2,2,2]
+[t1 < t, t1 < s, t1 <= t, t1 <= s]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mset2.input.pamphlet b/src/input/mset2.input.pamphlet
new file mode 100644
index 00000000..4f6d2337
--- /dev/null
+++ b/src/input/mset2.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input MSET.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from MultiSetXmpPage
+)clear all
+
+s := multiset [1,2,3,4,5,4,3,2,3,4,5,6,7,4,10]
+insert!(3,s)
+remove!(3,s,1); s
+remove!(5,s); s
+count(5,s)
+t := multiset [2,2,2,-9]
+U := union(s,t)
+I := intersect(s,t)
+difference(s,t)
+S := symmetricDifference(s,t)
+(U = union(S,I))@Boolean
+t1 := multiset [1,2,2,3]; [t1 < t, t1 < s, t < s, t1 <= s]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mult2d.input.pamphlet b/src/input/mult2d.input.pamphlet
new file mode 100644
index 00000000..0a3526a8
--- /dev/null
+++ b/src/input/mult2d.input.pamphlet
@@ -0,0 +1,56 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input mult2d.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+
+--draws x**i for i in 1..5, x=-1..1
+
+makePoint(x:SF,y:SF):(Point SF) ==
+ point([x,y])$(Point SF)
+
+drawFun(fn:SF->SF, seg:Segment Float):List(List(Point SF)) ==
+ fp := (t:SF):Point SF +-> makePoint(t, fn(t))
+ plot := pointPlot(fp, segment(convert(lo seg)@SF, convert(hi seg)@SF))$PLOT
+ lp := listBranches(plot)$PLOT
+
+drawFuns(fl:List(SF->SF), seg:SegmentBinding Float):VIEW2D ==
+ v := viewport2D()$VIEW2D
+ i : PositiveInteger := 1
+ for f in fl repeat
+ llp := drawFun(f, segment seg)
+ g := graphCurves(llp)$VIEW
+ putGraph(v,g,i)$VIEW2D
+ i := i + 1
+ makeViewport2D(v)$VIEW2D
+
+makeListFuns(fl:List(Expression Integer),_
+ seg:SegmentBinding Float):List(SF->SF) ==
+ lfuns:List(SF->SF) := empty()
+ for f in fl repeat
+ ff : (SF->SF) := makeFloatFunction(f, variable seg)$MakeFloatCompiledFunction(Expression Integer)
+ lfuns := cons(ff, lfuns)
+ lfuns
+
+drawFuns(makeListFuns([x**i for i in 1..5], x=-1..1), x=-1..1)
+drawFuns(makeListFuns([sin(x*i) for i in 1..5], x=-1..1), x=-1..1)
+drawFuns(makeListFuns([sec x, sin x, cos x, tan x], x=-1..1), x=-1..1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/mult3d.input.pamphlet b/src/input/mult3d.input.pamphlet
new file mode 100644
index 00000000..4920aaf9
--- /dev/null
+++ b/src/input/mult3d.input.pamphlet
@@ -0,0 +1,73 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input mult3d.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+s := create3Space()$ThreeSpace(DFLOAT)
+draw(curve(sin(t),cos(t),0),t=0..2*%pi,tubeRadius==.3, space == s)
+draw(curve(sin(t)*cos(%pi/2),cos(t),0-sin(t)*sin(%pi/2)),t=0..2*%pi,tubeRadius==.3, space == s)
+
+v1 := draw(curve(sin(t),cos(t),0),t=0..2*%pi,tubeRadius==.3)
+s1 := subspace(v1)
+v2 := draw(curve(sin(t)*cos(%pi/2),cos(t),0-sin(t)*sin(%pi/2)),t=0..2*%pi,tubeRadius==.3, space == s1)
+s2 := subspace(v2)
+
+)clear all
+v := draw(surface(x*cos(y),x*sin(y),y*cos(x)),x=-4..4,y=0..2*%pi)
+s := subspace(v)
+makeObject(curve(4*sin(t),4*cos(t),-4),t=0..2*%pi,tubeRadius==.3, space == s)
+makeObject(curve(4*sin(t),4*cos(t),0),t=0..2*%pi,tubeRadius==.3, space == s)
+draw(curve(4*sin(t),4*cos(t),4),t=0..2*%pi,tubeRadius==.3, space == s)
+
+)clear all
+s := makeObject(surface(cos(t)*sin(p),sin(t)*sin(p),cos(p)),t=0..2*%pi,p=0..%pi)
+makeObject(curve(4*sin(t)*cos(%pi/2),4*cos(t),0-sin(t)*sin(%pi/2)),t=0..2*%pi,tubeRadius==.3, space == s)
+draw(curve(2*sin(t),2*cos(t),0),t=0..2*%pi,tubeRadius==.3, space == s)
+
+)clear all
+s := makeObject(curve(4*sin(t),4*cos(t),0),t=0..2*%pi,tubeRadius==.3)
+makeObject(surface(cos(t)*sin(p),sin(t)*sin(p),cos(p)),t=0..2*%pi,p=0..%pi, space == s)
+makeObject(surface(cos(t)*sin(p)-3,sin(t)*sin(p)-3,cos(p)+2),t=0..2*%pi,p=0..%pi, space == s)
+draw(surface(cos(t)*sin(p)-6,sin(t)*sin(p)-6,cos(p)+4),t=0..2*%pi,p=0..%pi, space == s)
+
+)clear all
+s := create3Space()$ThreeSpace(DFLOAT)
+draw(cos(x*y)+1,x=-3..3,y=-3..3, space == s)
+draw(-cos(x*y)-1,x=-3..3,y=-3..3, space == s)
+
+)clear all
+torusInKnot(p,q,r) ==
+ free sp
+ sp := create3Space()$ThreeSpace(DFLOAT)
+ a := 1
+ b := 1
+ ab := a+b
+ fac := 2*ab/(1.1*ab-sin(q*t))
+ Title := concat("Torus Knot of Type (", concat(p::String,
+ concat(",", concat(q::String, ")"))))
+ Curve := curve(a*fac*cos(p*t), a*fac*sin(p*t), b*fac*cos(q*t))
+ r = 0 => draw(Curve, t=0..2*%pi, title == Title)
+ draw(Curve, t=0..2*%pi, tubeRadius == r, title == Title, space == sp)
+
+torusInKnot(15,17,.1)
+draw(curve(2.2*sin(t),2.2*cos(t),0),t=0..2*%pi,tubePoints==10,tubeRadius==.7, space == sp)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/multKnot.input.pamphlet b/src/input/multKnot.input.pamphlet
new file mode 100644
index 00000000..c051a0fb
--- /dev/null
+++ b/src/input/multKnot.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input multKnot.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+sp := create3Space()$ThreeSpace(DFLOAT)
+torusInKnot(p,q,r) ==
+ a := 1
+ b := 1
+ ab := a+b
+ fac := 2*ab/(1.1*ab-sin(q*t))
+ Title := concat("Torus Knot of Type (", concat(p::String,
+ concat(",", concat(q::String, ")"))))
+ Curve := curve(a*fac*cos(p*t), a*fac*sin(p*t), b*fac*cos(q*t))
+ r = 0 => draw(Curve, t=0..2*%pi, title == Title)
+ draw(Curve, t=0..2*%pi, tubeRadius == r, title == Title, space == sp)
+
+torusInKnot(15,17,.1)
+cfxn(t:DFLOAT):DFLOAT == .7
+--draw(sp,curve(3*sin(t),3*cos(t),0),t=0..2*%pi,tubePoints==10,tubeRadius==.7)
+draw(curve(2.4*sin(t),2.4*cos(t),0),t=0..2*%pi,tubePoints==10,tubeRadius==.8,colorFunction==cfxn, space == sp)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/multfact.input.pamphlet b/src/input/multfact.input.pamphlet
new file mode 100644
index 00000000..5ec2a151
--- /dev/null
+++ b/src/input/multfact.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input multfact.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+a := rootOf(a**2+a+1)
+p := y*z**2 + a*z*x**2 + a*a*x*y**2
+-- following used to run forever, now returns 1 factor
+factor(p,[a])
+b:=rootOf(b**2+1)
+-- following used to run forever, now returns 2 factors
+factor(x**2*y**2+u**2*v**2,[b])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/multiple.input.pamphlet b/src/input/multiple.input.pamphlet
new file mode 100644
index 00000000..ec8ba0d5
--- /dev/null
+++ b/src/input/multiple.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input multiple.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+draw(sin(x),x=0..2*%pi)
+v1 := %
+draw(cos(x),x=0..2*%pi,curveColor==light red())
+v2 := %
+graphs v1
+--g1 := elt(graphs v1,1)::GraphImage
+g1 := getGraph(v1,1)
+putGraph(v2,g1,2)
+makeViewport2D(v2)
+--title(v2,"sine and cosine")
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ndftip.input.pamphlet b/src/input/ndftip.input.pamphlet
new file mode 100644
index 00000000..32b74c8e
--- /dev/null
+++ b/src/input/ndftip.input.pamphlet
@@ -0,0 +1,360 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ndftip.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+-- Note that the conversions of results from DoubleFloat to Float
+-- will become unnecessary if outputGeneral is extended to apply to
+-- DoubleFloat quantities. Those results not converted will, of
+-- course, then be displayed to 6 s.f.
+
+
+outputGeneral 6
+
+seqA := [0.34907,0.54890,0.74776,0.94459,1.1385,1.3285,1.5137];
+
+seqB := [0.34907 - 0.37168*%i, _
+ 0.54890 - 0.35669*%i, _
+ 0.74776 - 0.31175*%i, _
+ 0.94459 - 0.23702*%i, _
+ 1.13850 - 0.13274*%i, _
+ 1.32850 + 0.00074*%i, _
+ 1.51370 + 0.16298*%i];
+
+hseqC : PackedHermitianSequence DoubleFloat
+hseqC := packHS [0.34907, _
+ 0.54890 + %i*1.51370, _
+ 0.74776 + %i*1.32850, _
+ 0.94459 + %i*1.13850, _
+ 0.94459 - %i*1.13850, _
+ 0.74776 - %i*1.32850, _
+ 0.54890 - %i*1.51370];
+
+seqsD : List Vector DoubleFloat;
+seqsD := [vector [0.3854, 0.6772, 0.1138, 0.6751, 0.6362, 0.1424], _
+ vector [0.5417, 0.2983, 0.1181, 0.7255, 0.8638, 0.8723], _
+ vector [0.9172, 0.0644, 0.6037, 0.6430, 0.0428, 0.4815]];
+
+seqsE : List PackedHermitianSequence DoubleFloat;
+seqsE := [pHS [0.3854, 0.6772, 0.1138, 0.6751, 0.6362, 0.1424], _
+ pHS [0.5417, 0.2983, 0.1181, 0.7255, 0.8638, 0.8723], _
+ pHS [0.9172, 0.0644, 0.6037, 0.6430, 0.0428, 0.4815]];
+
+seqsF : List Vector Complex DoubleFloat
+seqsF := [vector [0.3854 + 0.5417*%i, 0.6772 + 0.2983*%i, _
+ 0.1138 + 0.1181*%i, 0.6751 + 0.7255*%i, _
+ 0.6362 + 0.8638*%i, 0.1424 + 0.8723*%i], _
+ vector [0.9172 + 0.9089*%i, 0.0644 + 0.3118*%i, _
+ 0.6037 + 0.3465*%i, 0.6430 + 0.6198*%i, _
+ 0.0428 + 0.2668*%i, 0.4815 + 0.1614*%i], _
+ vector [0.1156 + 0.6214*%i, 0.0685 + 0.8681*%i, _
+ 0.2060 + 0.7060*%i, 0.8630 + 0.8652*%i, _
+ 0.6967 + 0.9190*%i, 0.2792 + 0.3355*%i]];
+
+-- test 1
+
+dftA := nagDFT seqA;
+dftA :: Vector Complex Float :: Matrix Complex Float
+ -- Matrix to force display as a column,
+ -- Float to allow outputGeneral to work.
+
+-- + 2.48361 +
+-- | |
+-- |- 0.265985 + 0.530898 %i |
+-- | |
+-- |- 0.257682 + 0.202979 %i |
+-- | |
+-- |- 0.256363 + 0.0580623 %i|
+-- | |
+-- |- 0.256363 - 0.0580623 %i|
+-- | |
+-- |- 0.257682 - 0.202979 %i |
+-- | |
+-- +- 0.265985 - 0.530898 %i +
+
+-- test 2
+
+nagInverseDFT dftA :: Vector Float
+
+-- [0.34907,0.5489,0.74776,0.94459,1.1385,1.3285,1.5137]
+
+-- test 3
+
+dftB := nagDFT seqB;
+dftB :: Vector Complex Float :: Matrix Complex Float
+
+-- + 2.48361 - 0.471004 %i +
+-- | |
+-- | - 0.5518 + 0.496841 %i |
+-- | |
+-- |- 0.367113 + 0.0975621 %i|
+-- | |
+-- |- 0.287669 - 0.0586476 %i|
+-- | |
+-- |- 0.225057 - 0.174772 %i |
+-- | |
+-- |- 0.148251 - 0.308396 %i |
+-- | |
+-- + 0.0198297 - 0.564956 %i +
+
+-- test 4
+
+(nagInverseDFT dftB) :: Vector Complex Float :: Matrix Complex Float
+
+-- +0.34907 - 0.37168 %i+
+-- | |
+-- |0.5489 - 0.35669 %i |
+-- | |
+-- |0.74776 - 0.31175 %i|
+-- | |
+-- |0.94459 - 0.23702 %i|
+-- | |
+-- |1.1385 - 0.13274 %i |
+-- | |
+-- |1.3285 + 0.00074 %i |
+-- | |
+-- +1.5137 + 0.16298 %i +
+
+-- test 5
+
+hdftA := nagHermitianDFT seqA;
+(expand hdftA) :: Vector Complex Float :: Matrix Complex Float
+
+-- + 2.48361 +
+-- | |
+-- |- 0.265985 + 0.530898 %i |
+-- | |
+-- |- 0.257682 + 0.202979 %i |
+-- | |
+-- |- 0.256363 + 0.0580623 %i|
+-- | |
+-- |- 0.256363 - 0.0580623 %i|
+-- | |
+-- |- 0.257682 - 0.202979 %i |
+-- | |
+-- +- 0.265985 - 0.530898 %i +
+
+-- test 6
+
+(nagInverseDFT hdftA) :: Vector Float
+
+-- [0.34907,0.5489,0.74776,0.94459,1.1385,1.3285,1.5137]
+
+-- test 7
+
+dftC := nagDFT hseqC;
+dftC :: Vector Float
+
+-- [1.82616,1.86862,- 0.017503,0.502001,- 0.598725,- 0.0314404,- 2.62557]
+
+-- test 8
+
+(nagInverseDFT dftC) :: Vector Complex Float
+
+-- [0.34907, 0.5489 + 1.5137 %i, 0.74776 + 1.3285 %i, 0.94459 + 1.1385 %i,
+-- 0.94459 - 1.1385 %i, 0.74776 - 1.3285 %i, 0.5489 - 1.5137 %i]
+
+-- test 9
+
+nagHermitianInverseDFT dftC
+
+-- [0.34907000000000005, 0.54889999999999983, 0.74775999999999987,
+-- 0.94459000000000004, 1.1385000000000003, 1.3284999999999998,
+-- 1.5136999999999998]
+
+-- test 10:
+
+dftsD := nagDFT seqsD;
+
+dftsD :: List Vector Complex Float
+
+-- [
+-- [1.07373, - 0.104062 - 0.00438406 %i, 0.112554 - 0.373777 %i, - 0.146684,
+-- 0.112554 + 0.373777 %i, - 0.104062 + 0.00438406 %i]
+-- ,
+
+-- [1.39609, - 0.0365178 + 0.466584 %i, 0.077955 - 0.0607051 %i, - 0.152072,
+-- 0.077955 + 0.0607051 %i, - 0.0365178 - 0.466584 %i]
+-- ,
+
+-- [1.12374, 0.0914068 - 0.050841 %i, 0.393551 + 0.345775 %i, 0.153011,
+-- 0.393551 - 0.345775 %i, 0.0914068 + 0.050841 %i]
+-- ]
+
+-- test 11:
+
+invdftsD := nagInverseDFT dftsD ;
+invdftsD :: List Vector Complex Float
+
+-- [[0.3854,0.6772,0.1138,0.6751,0.6362,0.1424],
+-- [0.5417,0.2983,0.1181,0.7255,0.8638,0.8723],
+-- [0.9172,0.0644,0.6037,0.643,0.0428,0.4815]]
+
+-- test 12:
+
+dftsE := nagDFT seqsE;
+dftsE :: List Vector Float
+
+-- [[1.0788,0.662291,- 0.239146,- 0.578284,0.459192,- 0.438816],
+-- [0.857321,1.22614,0.353348,- 0.222169,0.341327,- 1.22908],
+-- [1.18245,0.262509,0.674406,0.552278,0.0539906,- 0.478963]]
+
+-- test 13:
+
+invdftsE := nagInverseDFT dftsE;
+invdftsE :: List Vector Complex Float
+
+-- [
+-- [0.3854, 0.6772 + 0.1424 %i, 0.1138 + 0.6362 %i, 0.6751,
+-- 0.1138 - 0.6362 %i, 0.6772 - 0.1424 %i]
+-- ,
+
+-- [0.5417, 0.2983 + 0.8723 %i, 0.1181 + 0.8638 %i, 0.7255,
+-- 0.1181 - 0.8638 %i, 0.2983 - 0.8723 %i]
+-- ,
+
+-- [0.9172, 0.0644 + 0.4815 %i, 0.6037 + 0.0428 %i, 0.643,
+-- 0.6037 - 0.0428 %i, 0.0644 - 0.4815 %i]
+-- ]
+
+-- test 14:
+
+hdftsD := nagHermitianDFT seqsD;
+map(expand,hdftsD) :: List Vector Complex Float
+
+-- [
+-- [1.07373, - 0.104062 - 0.00438406 %i, 0.112554 - 0.373777 %i, - 0.146684,
+-- 0.112554 + 0.373777 %i, - 0.104062 + 0.00438406 %i]
+-- ,
+
+-- [1.39609, - 0.0365178 + 0.466584 %i, 0.077955 - 0.0607051 %i, - 0.152072,
+-- 0.077955 + 0.0607051 %i, - 0.0365178 - 0.466584 %i]
+-- ,
+
+-- [1.12374, 0.0914068 - 0.050841 %i, 0.393551 + 0.345775 %i, 0.153011,
+-- 0.393551 - 0.345775 %i, 0.0914068 + 0.050841 %i]
+-- ]
+
+-- test 15:
+
+(nagInverseDFT hdftsD) :: List Vector Float
+
+-- [[0.3854,0.6772,0.1138,0.6751,0.6362,0.1424],
+-- [0.5417,0.2983,0.1181,0.7255,0.8638,0.8723],
+-- [0.9172,0.0644,0.6037,0.643,0.0428,0.4815]]
+
+-- test 16:
+
+dftsF := nagDFT seqsF;
+dftsF :: List Vector Complex Float
+
+-- [
+-- [1.07373 + 1.39609 %i, - 0.570647 - 0.0409019 %i, 0.173259 - 0.295822 %i,
+-- - 0.146684 - 0.152072 %i, 0.0518489 + 0.451732 %i,
+-- 0.362522 - 0.0321337 %i]
+-- ,
+
+-- [1.12374 + 1.06765 %i, 0.172759 + 0.0385858 %i, 0.418548 + 0.748083 %i,
+-- 0.153011 + 0.17522 %i, 0.368555 + 0.0565331 %i, 0.0100542 + 0.140268 %i]
+-- ,
+
+-- [0.909985 + 1.76167 %i, - 0.305418 + 0.0624335 %i,
+-- 0.407884 - 0.0694786 %i, - 0.078547 + 0.0725049 %i,
+-- - 0.119334 + 0.128511 %i, - 0.531409 - 0.433531 %i]
+-- ]
+
+-- test 17:
+
+invdftsF := nagInverseDFT dftsF ;
+invdftsF :: List Vector Complex Float
+
+-- [
+-- [0.3854 + 0.5417 %i, 0.6772 + 0.2983 %i, 0.1138 + 0.1181 %i,
+-- 0.6751 + 0.7255 %i, 0.6362 + 0.8638 %i, 0.1424 + 0.8723 %i]
+-- ,
+
+-- [0.9172 + 0.9089 %i, 0.0644 + 0.3118 %i, 0.6037 + 0.3465 %i,
+-- 0.643 + 0.6198 %i, 0.0428 + 0.2668 %i, 0.4815 + 0.1614 %i]
+-- ,
+
+-- [0.1156 + 0.6214 %i, 0.0685 + 0.8681 %i, 0.206 + 0.706 %i,
+-- 0.863 + 0.8652 %i, 0.6967 + 0.919 %i, 0.2792 + 0.3355 %i]
+-- ]
+
+-- test 18:
+
+nagHermitianInverseDFT dftsE
+
+-- [
+-- [0.38540000000000013, 0.67720000000000025, 0.11380000000000001,
+-- 0.67510000000000014, 0.63620000000000021, 0.14240000000000003]
+-- ,
+
+-- [0.54170000000000018, 0.29830000000000012, 0.1181, 0.72550000000000014,
+-- 0.86380000000000023, 0.87230000000000019]
+-- ,
+
+-- [0.91720000000000035, 0.064399999999999999, 0.60370000000000024,
+-- 0.64300000000000013, 0.042799999999999991, 0.48150000000000015]
+-- ]
+
+-- error tests:
+
+-- test 19:
+
+nagDFT [vector [0.3854 + 0.5417*%i, 0.6772 + 0.2983*%i, _
+ 0.1138 + 0.1181*%i, 0.6751 + 0.7255*%i, _
+ 0.6362 + 0.8638*%i, 0.1424 + 0.8723*%i], _
+ vector [0.1156 + 0.6214*%i, 0.0685 + 0.8681*%i, _
+ 0.6967 + 0.9190*%i, 0.2792 + 0.3355*%i]]
+
+-- Error signalled from user code:
+-- The data sequences in nagDFT must all have the same length. The
+-- length of sequence 1 is 6 that of sequence 2 is 4.
+
+-- test 20:
+
+nagHermitianDFT [vector [0.3854, 0.6751, 0.6362, 0.1424], _
+ vector [0.5417, 0.7255, 0.8638, 0.8723], _
+ vector [0.9172, 0.0428, 0.4815]]
+
+-- Error signalled from user code:
+-- The data sequences in nagHermitianDFT must all have the same
+-- length. The length of sequence 1 is 4 that of sequence 3 is 3.
+
+-- test 21:
+
+badSeqs : List PackedHermitianSequence DoubleFloat
+badSeqs := [pHS [0.3854, 0.1138, 0.6751, 0.6362, 0.1424], _
+ pHS [0.5417, 0.2983, 0.1181, 0.7255, 0.8638, 0.8723], _
+ pHS [0.9172, 0.0644, 0.6037, 0.6430, 0.0428, 0.4815]];
+
+nagDFT badSeqs
+
+-- Error signalled from user code:
+-- The data sequences in nagDFT must all have the same length. The
+-- length of sequence 1 is 5 that of sequence 2 is 6.
+
+outputGeneral()
+
+output "End of tests"
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/negfloats.input.pamphlet b/src/input/negfloats.input.pamphlet
new file mode 100644
index 00000000..94701a41
--- /dev/null
+++ b/src/input/negfloats.input.pamphlet
@@ -0,0 +1,29 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input float.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- check results of rounding, truncation etc. on negative floats
+)cl all
+truncate(-9.6571)
+fractionPart(-3.432)
+round(-9.6571)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/nepip.input.pamphlet b/src/input/nepip.input.pamphlet
new file mode 100644
index 00000000..f92484d8
--- /dev/null
+++ b/src/input/nepip.input.pamphlet
@@ -0,0 +1,154 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input nepip.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+-- Note that the conversions of results from DoubleFloat to Float
+-- will become unnecessary if outputGeneral is extended to apply to
+-- DoubleFloat quantities.
+
+outputGeneral 5
+
+mA1 := matrix [[ 0.5 , 1.5 , 6.6 , 4.8], _
+ [ 1.5 , 6.5 , 16.2 , 8.6], _
+ [ 6.6 , 16.2 , 37.6 , 9.8], _
+ [ 4.8 , 8.6 , 9.8 , -17.1]];
+
+mB1 := matrix[[ 1 , 3 , 4 , 1], _
+ [ 3 , 13 , 16 , 11], _
+ [ 4 , 16 , 24 , 18], _
+ [ 1 , 11 , 18 , 27]];
+
+mA2 := matrix [[ 3.9 , 12.5 , -34.5 , -0.5], _
+ [ 4.3 , 21.5 , -47.5 , 7.5], _
+ [ 4.3 , 21.5 , -43.5 , 3.5], _
+ [ 4.4 , 26.0 , -46.0 , 6.0]];
+
+mB2 := matrix[[ 1 , 2 , -3 , 1], _
+ [ 1 , 3 , -5 , 4], _
+ [ 1 , 3 , -4 , 3], _
+ [ 1 , 3 , -4 , 4]];
+
+nagEigenvalues(mA1,mB1) :: List Float
+
+-- [- 3.0,- 1.0,2.0,4.0]
+
+vv1 := nagEigenvectors(mA1,mB1);
+(vv1.eigenvalues) :: List Float
+
+-- [- 3.0,- 1.0,2.0,4.0]
+
+(vv1.eigenvectors) :: List Vector Complex Float
+
+-- [[- 4.35,0.05,1.0,- 0.5], [- 2.05,0.15,0.5,- 0.5], [- 3.95,0.85,0.5,- 0.5],
+-- [2.65,0.05,- 1.0,0.5]]
+
+nagEigenvalues(mA2,mB2)
+
+-- all components are O(1) or more so:
+
+% :: List Complex Float
+
+-- [2.0,3.0 + 4.0 %i,3.0 - 4.0 %i,4.0]
+
+vv2 := nagEigenvectors(mA2,mB2);
+vv2.eigenvalues
+
+-- all components are O(1) or more so:
+
+% :: List Complex Float
+
+-- [2.0,3.0 + 4.0 %i,3.0 - 4.0 %i,4.0]
+
+vv2.eigenvectors :: List Vector Complex Float
+
+-- [[0.99606,0.0056917,0.062609,0.062609],
+--
+-- [0.94491, 0.18898 + 0.26077 E -14 %i, 0.11339 - 0.15119 %i,
+-- 0.11339 - 0.15119 %i]
+-- ,
+--
+-- [0.94491, 0.18898 - 0.26077 E -14 %i, 0.11339 + 0.15119 %i,
+-- 0.11339 + 0.15119 %i]
+-- ,
+-- [0.98752,0.010972,- 0.032917,0.15361]]
+
+-- The same call with eps=0.0001:
+
+vv2a := nagEigenvectors(mA2,mB2,0.0001);
+vv2a.eigenvalues :: List Complex Float
+
+-- [1.9989,3.0003 + 3.9994 %i,3.0003 - 3.9994 %i,4.0]
+
+vv2a.eigenvectors :: List Vector Complex Float
+
+-- [[0.99605,0.0057355,0.062656,0.062656],
+--
+-- [0.94491, 0.18899 - 0.000048882 %i, 0.11336 - 0.15119 %i,
+-- 0.11336 - 0.15119 %i]
+-- ,
+--
+-- [0.94491, 0.18899 + 0.000048882 %i, 0.11336 + 0.15119 %i,
+-- 0.11336 + 0.15119 %i]
+-- ,
+-- [0.98751,0.011031,- 0.032912,0.15367]]
+
+mB1(1,1) := -1;
+
+-- The next test should fail on F02ADF then call F02BJF:
+
+nagEigenvalues(mA1,mB1)
+
+-- all components are O(1) or more so:
+
+% :: List Complex Float
+
+-- [3.5016,- 1.5471,0.041212 + 0.21738 %i,0.041212 - 0.21738 %i]
+
+-- Similarly, this should fail on F02AEF then call F02BJF:
+
+vv3 := nagEigenvectors(mA1,mB1);
+vv3.eigenvalues
+
+-- all components are O(1) or more so:
+
+% :: List Complex Float
+
+-- [3.5016,- 1.5471,0.041212 + 0.21738 %i,0.041212 - 0.21738 %i]
+
+vv3.eigenvectors :: List Vector Complex Float
+
+-- [[- 0.034577,0.63045,- 0.75202,0.1892],
+-- [0.17876,- 0.73845,0.047413,0.64845],
+--
+-- [0.80838, - 0.00095133 + 0.47557 %i, - 0.20354 - 0.21737 %i,
+-- 0.15404 + 0.089179 %i]
+-- ,
+--
+-- [0.80838, - 0.00095133 - 0.47557 %i, - 0.20354 + 0.21737 %i,
+-- 0.15404 - 0.089179 %i]
+-- ]
+
+outputGeneral()
+
+output "End of tests"
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/newlodo.input.pamphlet b/src/input/newlodo.input.pamphlet
new file mode 100644
index 00000000..c4657e4e
--- /dev/null
+++ b/src/input/newlodo.input.pamphlet
@@ -0,0 +1,112 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input herm.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-------------------------------- newlodo.input ---------------------------
+
+-- LODO2(M,A) is the domain of linear ordinary differential operators over
+-- an A-module M, where A is a differential ring. This includes the
+-- cases of operators which are polynomials in D acting upon scalars or
+-- vectors depending on a single variable. The coefficients of the
+-- operator polynomials can be integers, rational functions, matrices
+-- or elements of other domains.
+
+------------------------------------------------------------------------
+-- Differential operators with constant coefficients
+------------------------------------------------------------------------
+)clear all
+RN:=FRAC INT
+Dx: LODO2(RN, UP(x,RN))
+Dx := D() -- definition of an operator
+a := Dx + 1
+b := a + 1/2*Dx**2 - 1/2
+p: UP(x,RN) := 4*x**2 + 2/3 -- something to work on
+a p -- application of an operator to a polynomial
+(a*b) p = a b p -- multiplication is defined by this identity
+c := (1/9)*b*(a + b)**2 -- exponentiation follows from multiplication
+(a**2 - 3/4*b + c) (p + 1) -- general application of operator expressions
+------------------------------------------------------------------------
+-- Differential operators with rational function coefficients
+------------------------------------------------------------------------
+)clear all
+RFZ := FRAC UP(x,INT)
+(Dx, a, b): LODO1 RFZ
+Dx := D()
+b := 3*x**2*Dx**2 + 2*Dx + 1/x
+a := b*(5*x*Dx + 7)
+p: RFZ := x**2 + 1/x**2
+(a*b - b*a) p -- operator multiplication is not commutative
+-- When the coefficients of the operator polynomials come from a field
+-- it is possible to define left and right division of the operators.
+-- This allows the computation of left and right gcd's via remainder
+-- sequences, and also the computation of left and right lcm's.
+leftDivide(a,b) -- result is the quotient/remainder pair
+a - (b * %.quotient + %.remainder)
+rightDivide(a,b)
+a - (%.quotient * b + %.remainder)
+-- A GCD doesn't necessarily divide a and b on both sides.
+e := leftGcd(a,b)
+leftRemainder(a, e) -- remainder from left division
+rightRemainder(a, e) -- remainder from right division
+-- An LCM is not necessarily divisible from both sides.
+f := rightLcm(a,b)
+leftRemainder(f, b)
+rightRemainder(f, b) -- the remainder is non-zero
+------------------------------------------------------------------------
+--
+-- Problem: find the first few coefficients of exp(x)/x**i in
+-- Dop phi
+-- where
+-- Dop := D**3 + G/x**2 * D + H/x**3 - 1
+-- phi := sum(s[i]*exp(x)/x**i, i = 0..)
+------------------------------------------------------------------------
+)clear all
+Dx: LODO(EXPR INT, f +-> D(f, x))
+Dx := D()
+Dop:= Dx**3 + G/x**2*Dx + H/x**3 - 1
+n == 3
+phi == reduce(+,[subscript(s,[i])*exp(x)/x**i for i in 0..n])
+phi1 == Dop(phi) / exp x
+phi2 == phi1 *x**(n+3)
+phi3 == retract(phi2)@(POLY INT)
+pans == phi3 ::UP(x,POLY INT)
+pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1]
+leq == solve(pans1,[subscript(s,[i]) for i in 1..n])
+leq
+n==4
+leq
+n==7
+leq
+------------------------------------------------------------------------
+-- Differential operators with matrix coefficients acting on vectors.
+------------------------------------------------------------------------
+)clear all
+PZ := UP(x,INT); Vect := DPMM(3, PZ, SQMATRIX(3,PZ), PZ);
+Modo := LODO2(SQMATRIX(3,PZ), Vect);
+p := directProduct([3*x**2 + 1, 2*x, 7*x**3 + 2*x]::(VECTOR(PZ)))@Vect
+m := [[x**2, 1, 0], [1, x**4, 0], [0, 0, 4*x**2]]::(SQMATRIX(3,PZ))
+-- Vect is a left SM(3,PZ)-module
+q: Vect := m * p
+-- Operator combination and application
+Dx: Modo := D()
+a: Modo := 1*Dx + m
+b: Modo := m*Dx + 1
+a*b
+a p
+b p
+(a+b) (p + q)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/newton.input.pamphlet b/src/input/newton.input.pamphlet
new file mode 100644
index 00000000..8a3df52c
--- /dev/null
+++ b/src/input/newton.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input newton.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Newton's Iteration function
+
+-- newtonStep(f) returns a newton's iteration function for the
+-- expression f.
+
+newtonStep(f) ==
+ fun := complexNumericFunction f
+ deriv := complexDerivativeFunction(f,1)
+ (b:Complex DoubleFloat):Complex DoubleFloat +->
+ b - fun(b)/deriv(b)
+
+-- create complex numeric functions from an expression
+
+complexFunPack := MakeUnaryCompiledFunction(EXPR INT, Complex DoubleFloat, Complex DoubleFloat)
+
+-- create a complex numeric function from an expression
+complexNumericFunction x ==
+ v := theVariable x
+ compiledFunction(x, v)$complexFunPack
+
+-- create a complex numeric derivatiave function from an expression
+complexDerivativeFunction(x,n) ==
+ v := theVariable x
+ df := differentiate(x,v,n)
+ compiledFunction(df, v)$complexFunPack
+
+-- return the unique variable in x, or an error if it is multivariate
+theVariable x ==
+ vl := variables x
+ nv := # vl
+ nv > 1 => error "Expression is not univariate."
+ nv = 0 => 'x
+ first vl
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/nlode.input.pamphlet b/src/input/nlode.input.pamphlet
new file mode 100644
index 00000000..fc088d79
--- /dev/null
+++ b/src/input/nlode.input.pamphlet
@@ -0,0 +1,64 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input nlode.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-------------------------- nlode.input --------------------------------
+)cl all
+-- this will be the unknown
+y := operator y
+
+-- some non-linear non-exact 1st order equations
+
+deq := (sin y x - x / y(x)) * differentiate(y x, x) = 1
+-- the result with no initial condition is a first integral
+-- when equated to any constant
+solve(deq, y, x)
+
+deq := differentiate(y x, x) = y(x) / (x + y(x) * log y x)
+solve(deq, y, x)
+-- same with initial condition y(1) = 1
+-- the result is a first integral if equated to 0
+solve(deq, y, x = 1, [1])
+
+deq := (exp(- 2 * y x) - 2 * x * y x) * differentiate(y x, x) = y x
+solve(deq, y, x)
+
+-- this one has an independent parameter w, initial condition y(0) = 0
+deq := differentiate(y x, x) = w + y(x) / (1 - y x)
+solve(deq, y, x = 0, [0])
+
+-- Bernoulli equation: the result is a first integral when equated to
+-- any constant, but it can be explicitly solved for y(x)
+deq := x**2 * differentiate(y x, x) + 2 * x * y x - y(x)**3
+solve(deq, y, x)
+
+-- Riccati equation: the result is a first integral when equated to
+-- any constant, but it can be explicitly solved for y(x)
+deq := differentiate(y x,x) = 1 + x**2 - 2 * x * y x + y(x)**2
+solve(deq, y, x)
+
+-- Riccati equation: the result is a first integral when equated to
+-- any constant, but it can be explicitly solved for y(x)
+deq := x**2 * differentiate(y x,x) = -1 - x * y x + x**2 * y(x)**2
+solve(deq, y, x)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/none.input.pamphlet b/src/input/none.input.pamphlet
new file mode 100644
index 00000000..73af3d09
--- /dev/null
+++ b/src/input/none.input.pamphlet
@@ -0,0 +1,25 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input NONE.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from NoneXmpPage
+)clear all
+
+[]
+[] :: List Float
+[]$List(NonNegativeInteger)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/noonburg.input.pamphlet b/src/input/noonburg.input.pamphlet
new file mode 100644
index 00000000..4287c812
--- /dev/null
+++ b/src/input/noonburg.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input noonburg.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+--
+-- example of Noonburg
+--
+RN := Fraction Integer
+dmp0 := DMP([x,y,z,c],RN)
+
+px : dmp0 := 1-c*x +x*(y**2 + z**2)
+py : dmp0 := 1-c*y +y*(z**2 + x**2)
+pz : dmp0 := 1-c*z +z*(x**2 + y**2)
+gb0 := groebnerFactorize [px,py,pz]
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/noptip.input.pamphlet b/src/input/noptip.input.pamphlet
new file mode 100644
index 00000000..613a4429
--- /dev/null
+++ b/src/input/noptip.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input noptip.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- Note that the conversions of results from DoubleFloat to Float
+-- will become unnecessary if outputGeneral is extended to apply to
+-- DoubleFloat quantities.
+
+
+outputGeneral 5
+
+f := %e^x*(4*x^2 + 2*y^2 + 4*x*y + 2*y + 1);
+start := [x=-1.0, y=1.0];
+nagMin(f,start) :: List Equation Polynomial Float
+
+-- [x= 0.5,y= - 1.0]
+
+outputGeneral()
+
+output "End of tests"
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/nqip.input.pamphlet b/src/input/nqip.input.pamphlet
new file mode 100644
index 00000000..0136c3ac
--- /dev/null
+++ b/src/input/nqip.input.pamphlet
@@ -0,0 +1,73 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input nqip.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+-- Note that the conversions of results from DoubleFloat to Float
+-- will become unnecessary if outputGeneral is extended to apply to
+-- DoubleFloat quantities.
+
+
+outputGeneral 5
+
+xvals := [0.00,0.04,0.08,0.12,0.22,0.26,0.30,0.38,0.39,0.42,0.45,
+ 0.46,0.60,0.68,0.72,0.73,0.83,0.85,0.88,0.90,1.00];
+
+yvals := [4.0000,3.9936,3.9746,3.9432,3.8135,3.7467,3.6697,3.4943,
+ 3.4719,3.4002,3.3264,3.3017,2.9412,2.7352,2.6344,
+ 2.6094,2.3684,2.3222,2.2543,2.2099,2.0000];
+
+result := nagPolygonIntegrate(xvals,yvals);
+result.integral :: Float
+
+-- 3.1414
+
+result.errorEstimate :: Float
+
+-- - 0.000025627
+
+coords := transpose matrix [xvals, yvals];
+result := nagPolygonIntegrate coords;
+result.integral :: Float
+
+-- 3.1414
+
+result.errorEstimate :: Float
+
+-- - 0.000025627
+
+nagPolygonIntegrate([1,2,3],[1,2,3,4])
+
+-- Error signalled from user code:
+-- The lists supplied to nagPolygonIntegrate are of different
+-- lengths: 3 and 4.
+
+nagPolygonIntegrate([[1,2,3],[4,5,6]])
+
+-- Error signalled from user code:
+-- Please supply the coordinate matrix in nagPolygonIntegrate with
+-- each row consisting of single a x-y pair.
+
+outputGeneral()
+
+output "End of tests"
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/nsfip.input.pamphlet b/src/input/nsfip.input.pamphlet
new file mode 100644
index 00000000..87c68a44
--- /dev/null
+++ b/src/input/nsfip.input.pamphlet
@@ -0,0 +1,701 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input nsfip.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+-- Note that the conversions of Results from DoubleFloat to Float
+-- will become unnecessary if outputGeneral is extended to apply to
+-- DoubleFloat quantities.
+
+
+outputGeneral 4
+
+-- DF here means DoubleFloat.
+-- Results converted to Float as outputGeneral not working on DF.
+
+-- nagExpInt : DF -> DF ;
+
+nagExpInt(2) :: Float
+
+-- 0.0489
+
+nagExpInt(-1) :: Float
+
+-- ** ABNORMAL EXIT from NAG Library routine S13AAF: IFAIL = 1
+-- ** NAG soft failure - control returned
+--
+-- Error signalled from user code:
+-- An error was detected when calling the NAG Library routine
+-- S13AAF. The error number (IFAIL value) is 1, please consult the
+-- NAG manual via the Browser for diagnostic information.
+
+-- nagSinInt : DF -> DF ;
+
+nagSinInt(0) :: Float
+
+-- 0.0
+
+nagSinInt(0.2) :: Float
+
+-- 0.1996
+
+nagSinInt(0.4) :: Float
+
+-- 0.3965
+
+nagSinInt(0.6) :: Float
+
+-- 0.5881
+
+nagSinInt(0.8) :: Float
+
+-- 0.7721
+
+nagSinInt(1) :: Float
+
+-- 0.9461
+
+-- nagCosInt : DF -> DF ;
+
+nagCosInt(0.2) :: Float
+
+-- - 1.042
+
+nagCosInt(0.4) :: Float
+
+-- - 0.3788
+
+nagCosInt(0.6) :: Float
+
+-- - 0.02227
+
+nagCosInt(0.8) :: Float
+
+-- 0.1983
+
+nagCosInt(1) :: Float
+
+-- 0.3374
+
+-- nagIncompleteGammaP : (DF, DF) -> DF ; (to machine precision)
+
+nagIncompleteGammaP(2,3) :: Float
+
+-- 0.8009
+
+nagIncompleteGammaP(7,1) :: Float
+
+-- 0.00008324
+
+nagIncompleteGammaP(0.5,99) :: Float
+
+-- 1.0
+
+nagIncompleteGammaP(20,21) :: Float
+
+-- 0.6157
+
+nagIncompleteGammaP(21,20) :: Float
+
+-- 0.4409
+
+-- nagIncompleteGammaP : (DF, DF, DF) -> DF ; (to specified precision)
+
+nagIncompleteGammaP(7,1,0.1) :: Float
+
+-- 0.00008313
+
+-- nagIncompleteGammaQ : (DF, DF) -> DF ; (to machine precision)
+
+nagIncompleteGammaQ(2,3) :: Float
+
+-- 0.1991
+
+nagIncompleteGammaQ(7,1) :: Float
+
+-- 0.9999
+
+nagIncompleteGammaQ(0.5,99) :: Float
+
+-- 0.5705 E -44
+
+nagIncompleteGammaQ(20,21) :: Float
+
+-- 0.3843
+
+nagIncompleteGammaQ(21,20) :: Float
+
+-- 0.5591
+
+nagIncompleteGammaQ(25,14) :: Float
+
+-- 0.995
+
+-- nagIncompleteGammaQ : (DF, DF, DF) -> DF ; (to specified precision)
+
+nagIncompleteGammaQ(25,14,0.1) :: Float
+
+-- 0.9953
+
+-- nagErf : DF -> DF ;
+
+nagErf(-6) :: Float
+
+-- - 1.0
+
+nagErf(-4.5) :: Float
+
+-- - 1.0
+
+nagErf(-1) :: Float
+
+-- - 0.8427
+
+nagErf(1) :: Float
+
+-- 0.8427
+
+nagErf(4.5) :: Float
+
+-- 1.0
+
+nagErf(6) :: Float
+
+-- 1.0
+
+-- nagErfC : DF -> DF ;
+
+nagErfC(-10) :: Float
+
+-- 2.0
+
+nagErfC(-1) :: Float
+
+-- 1.843
+
+nagErfC(0) :: Float
+
+-- 1.0
+
+nagErfC(1) :: Float
+
+-- 0.1573
+
+nagErfC(15) :: Float
+
+-- 0.7213 E -99
+
+-- nagDAiryAi : DF -> DF ;
+
+nagDAiryAi(-10) :: Float
+
+-- 0.9963
+
+nagDAiryAi(-1) :: Float
+
+-- - 0.01016
+
+nagDAiryAi(0) :: Float
+
+-- - 0.2588
+
+nagDAiryAi(1) :: Float
+
+-- - 0.1591
+
+nagDAiryAi(5) :: Float
+
+-- - 0.0002474
+
+nagDAiryAi(10) :: Float
+
+-- - 0.3521 E -9
+
+nagDAiryAi(20) :: Float
+
+-- - 0.7586 E -26
+
+-- nagDAiryAi : CDF -> CDF ;
+
+nagDAiryAi(0.3+0.4*%i) :: Complex Float
+
+-- - 0.2612 + 0.03848 %i
+
+-- nagDAiryBi : DF -> DF ;
+
+nagDAiryBi(-10) :: Float
+
+-- 0.1194
+
+nagDAiryBi(-1) :: Float
+
+-- 0.5924
+
+nagDAiryBi(0) :: Float
+
+-- 0.4483
+
+nagDAiryBi(1) :: Float
+
+-- 0.9324
+
+nagDAiryBi(5) :: Float
+
+-- 1436.0
+
+nagDAiryBi(10) :: Float
+
+-- 0.1429 E 10
+
+nagDAiryBi(20) :: Float
+
+-- 0.9382 E 26
+
+-- nagDAiryBi : CDF -> CDF ;
+
+nagDAiryBi(0.3+0.4*%i) :: Complex Float
+
+-- 0.4093 + 0.07966 %i
+
+-- nagScaledDAiryAi : CDF -> CDF ;
+
+nagScaledDAiryAi(0.3+0.4*%i) :: Complex Float
+
+-- - 0.2744 - 0.02356 %i
+
+-- nagScaledDAiryBi : CDF -> CDF ;
+
+nagScaledDAiryBi(0.3+0.4*%i) :: Complex Float
+
+-- 0.3924 + 0.07638 %i
+
+-- nagHankelH1 : (DF, CDF, Int) -> List CDF ;
+
+nagHankelH1(0,0.3+0.4*%i,2) :: Matrix Complex Float
+
+-- [0.3466 - 0.5588 %i - 0.7912 - 0.8178 %i]
+
+nagHankelH1(2.3,2,2) :: Matrix Complex Float
+
+-- [0.2721 - 0.7398 %i 0.08902 - 1.412 %i]
+
+nagHankelH1(2.12,-1,2) :: Matrix Complex Float
+
+-- [- 0.7722 - 1.693 %i 2.601 + 6.527 %i]
+
+-- nagHankelH2 : (DF, CDF, Int) -> List CDF ;
+
+nagHankelH2(6,3.1-1.6*%i,2) :: Matrix Complex Float
+
+-- [- 1.371 - 1.28 %i - 1.491 - 5.993 %i]
+
+-- nagScaledHankelH1 : (DF, CDF, Int) -> List CDF ;
+
+nagScaledHankelH1(0,0.3+0.4*%i,2) :: Matrix Complex Float
+
+-- [0.2477 - 0.9492 %i - 1.488 - 0.8166 %i]
+
+-- nagScaledHankelH2 : (DF, CDF, Int) -> List CDF ;
+
+nagScaledHankelH2(6,3.1-1.6*%i,2) :: Matrix Complex Float
+
+-- [7.05 + 6.052 %i 8.614 + 29.35 %i]
+
+-- nagKelvinBer : DF -> DF ;
+
+nagKelvinBer(0.1) :: Float
+
+-- 1.0
+
+nagKelvinBer(1) :: Float
+
+-- 0.9844
+
+nagKelvinBer(2.5) :: Float
+
+-- 0.4
+
+nagKelvinBer(5) :: Float
+
+-- - 6.23
+
+nagKelvinBer(10) :: Float
+
+-- 138.8
+
+nagKelvinBer(15) :: Float
+
+-- - 2967.0
+
+nagKelvinBer(60) :: Float
+
+-- ** ABNORMAL EXIT from NAG Library routine S19AAF: IFAIL = 1
+-- ** NAG soft failure - control returned
+--
+-- Error signalled from user code:
+-- An error was detected when calling the NAG Library routine
+-- S19AAF. The error number (IFAIL value) is 1, please consult the
+-- NAG manual via the Browser for diagnostic information.
+
+nagKelvinBer(-1) :: Float
+
+-- 0.9844
+
+-- nagKelvinBei : DF -> DF ;
+
+nagKelvinBei(0.1) :: Float
+
+-- 0.0025
+
+nagKelvinBei(1) :: Float
+
+-- 0.2496
+
+nagKelvinBei(2.5) :: Float
+
+-- 1.457
+
+nagKelvinBei(5) :: Float
+
+-- 0.116
+
+nagKelvinBei(10) :: Float
+
+-- 56.37
+
+nagKelvinBei(15) :: Float
+
+-- - 2953.0
+
+nagKelvinBei(60) :: Float
+
+-- ** ABNORMAL EXIT from NAG Library routine S19ABF: IFAIL = 1
+-- ** NAG soft failure - control returned
+--
+-- Error signalled from user code:
+-- An error was detected when calling the NAG Library routine
+-- S19ABF. The error number (IFAIL value) is 1, please consult the
+-- NAG manual via the Browser for diagnostic information.
+
+nagKelvinBei(-1) :: Float
+
+-- 0.2496
+
+-- nagKelvinKer : DF -> DF ;
+
+nagKelvinKer(0) :: Float
+
+-- ** ABNORMAL EXIT from NAG Library routine S19ACF: IFAIL = 2
+-- ** NAG soft failure - control returned
+--
+-- Error signalled from user code:
+-- An error was detected when calling the NAG Library routine
+-- S19ACF. The error number (IFAIL value) is 2, please consult the
+-- NAG manual via the Browser for diagnostic information.
+
+nagKelvinKer(0.1) :: Float
+
+-- 2.42
+
+nagKelvinKer(1) :: Float
+
+-- 0.2867
+
+nagKelvinKer(2.5) :: Float
+
+-- - 0.06969
+
+nagKelvinKer(5) :: Float
+
+-- - 0.01151
+
+nagKelvinKer(10) :: Float
+
+-- 0.0001295
+
+nagKelvinKer(15) :: Float
+
+-- - 0.1514 E -7
+
+nagKelvinKer(1100) :: Float
+
+-- ** ABNORMAL EXIT from NAG Library routine S19ACF: IFAIL = 1
+-- ** NAG soft failure - control returned
+--
+-- Error signalled from user code:
+-- An error was detected when calling the NAG Library routine
+-- S19ACF. The error number (IFAIL value) is 1, please consult the
+-- NAG manual via the Browser for diagnostic information.
+
+nagKelvinKer(-1) :: Float
+
+-- ** ABNORMAL EXIT from NAG Library routine S19ACF: IFAIL = 2
+-- ** NAG soft failure - control returned
+--
+-- Error signalled from user code:
+-- An error was detected when calling the NAG Library routine
+-- S19ACF. The error number (IFAIL value) is 2, please consult the
+-- NAG manual via the Browser for diagnostic information.
+
+-- nagKelvinKei : DF -> DF ;
+
+nagKelvinKei(0) :: Float
+
+-- - 0.7854
+
+nagKelvinKei(0.1) :: Float
+
+-- - 0.7769
+
+nagKelvinKei(1) :: Float
+
+-- - 0.495
+
+nagKelvinKei(2.5) :: Float
+
+-- - 0.1107
+
+nagKelvinKei(5) :: Float
+
+-- 0.01119
+
+nagKelvinKei(10) :: Float
+
+-- - 0.0003075
+
+nagKelvinKei(15) :: Float
+
+-- 0.000007963
+
+nagKelvinKei(1100) :: Float
+
+-- ** ABNORMAL EXIT from NAG Library routine S19ADF: IFAIL = 1
+-- ** NAG soft failure - control returned
+--
+-- Error signalled from user code:
+-- An error was detected when calling the NAG Library routine
+-- S19ADF. The error number (IFAIL value) is 1, please consult the
+-- NAG manual via the Browser for diagnostic information.
+
+nagKelvinKei(-1) :: Float
+
+-- ** ABNORMAL EXIT from NAG Library routine S19ADF: IFAIL = 2
+-- ** NAG soft failure - control returned
+--
+-- Error signalled from user code:
+-- An error was detected when calling the NAG Library routine
+-- S19ADF. The error number (IFAIL value) is 2, please consult the
+-- NAG manual via the Browser for diagnostic information.
+
+
+-- nagFresnelS : DF -> DF ;
+
+nagFresnelS(0) :: Float
+
+-- 0.0
+
+nagFresnelS(0.5) :: Float
+
+-- 0.06473
+
+nagFresnelS(1) :: Float
+
+-- 0.4383
+
+nagFresnelS(2) :: Float
+
+-- 0.3434
+
+nagFresnelS(4) :: Float
+
+-- 0.4205
+
+nagFresnelS(5) :: Float
+
+-- 0.4992
+
+nagFresnelS(6) :: Float
+
+-- 0.447
+
+nagFresnelS(8) :: Float
+
+-- 0.4602
+
+nagFresnelS(10) :: Float
+
+-- 0.4682
+
+nagFresnelS(-1) :: Float
+
+-- - 0.4383
+
+nagFresnelS(1000) :: Float
+
+-- 0.4997
+
+-- nagFresnelC : DF -> DF ;
+
+nagFresnelC(0) :: Float
+
+-- 0.0
+
+nagFresnelC(0.5) :: Float
+
+-- 0.4923
+
+nagFresnelC(1) :: Float
+
+-- 0.7799
+
+nagFresnelC(2) :: Float
+
+-- 0.4883
+
+nagFresnelC(4) :: Float
+
+-- 0.4984
+
+nagFresnelC(5) :: Float
+
+-- 0.5636
+
+nagFresnelC(6) :: Float
+
+-- 0.4995
+
+nagFresnelC(8) :: Float
+
+-- 0.4998
+
+nagFresnelC(10) :: Float
+
+-- 0.4999
+
+nagFresnelC(-1) :: Float
+
+-- - 0.7799
+
+nagFresnelC(1000) :: Float
+
+-- 0.5
+
+-- nagEllipticIntegralRC : (DF, DF) -> DF ;
+
+nagEllipticIntegralRC(0.5,1) :: Float
+
+-- 1.111
+
+nagEllipticIntegralRC(1,1) :: Float
+
+-- 1.0
+
+nagEllipticIntegralRC(1.5,1) :: Float
+
+-- 0.9312
+
+-- nagEllipticIntegralRD : (DF, DF, DF) -> DF ;
+
+nagEllipticIntegralRD(0.5,0.5,1) :: Float
+
+-- 1.479
+
+nagEllipticIntegralRD(0.5,1,1) :: Float
+
+-- 1.211
+
+nagEllipticIntegralRD(0.5,1.5,1) :: Float
+
+-- 1.061
+
+nagEllipticIntegralRD(1,1,1) :: Float
+
+-- 1.0
+
+nagEllipticIntegralRD(1,1.5,1) :: Float
+
+-- 0.8805
+
+nagEllipticIntegralRD(1.5,1.5,1) :: Float
+
+-- 0.7775
+
+-- nagEllipticIntegralRF : (DF, DF, DF) -> DF ;
+
+nagEllipticIntegralRF(0.5,1,1.5) :: Float
+
+-- 1.028
+
+nagEllipticIntegralRF(1,1.5,2) :: Float
+
+-- 0.826
+
+nagEllipticIntegralRF(1.5,2,2.5) :: Float
+
+-- 0.7116
+
+-- nagEllipticIntegralRJ : (DF, DF, DF, DF) -> DF ;
+
+nagEllipticIntegralRJ(0.5,0.5,0.5,2) :: Float
+
+-- 1.118
+
+nagEllipticIntegralRJ(0.5,0.5,1,2) :: Float
+
+-- 0.9221
+
+nagEllipticIntegralRJ(0.5,0.5,1.5,2) :: Float
+
+-- 0.8115
+
+nagEllipticIntegralRJ(0.5,1,1,2) :: Float
+
+-- 0.7671
+
+nagEllipticIntegralRJ(0.5,1,1.5,2) :: Float
+
+-- 0.6784
+
+nagEllipticIntegralRJ(0.5,1.5,1.5,2) :: Float
+
+-- 0.6017
+
+nagEllipticIntegralRJ(1,1,1,2) :: Float
+
+-- 0.6438
+
+nagEllipticIntegralRJ(1,1,1.5,2) :: Float
+
+-- 0.5722
+
+nagEllipticIntegralRJ(1,1.5,1.5,2) :: Float
+
+-- 0.5101
+
+nagEllipticIntegralRJ(1.5,1.5,1.5,2) :: Float
+
+-- 0.4561
+
+outputGeneral()
+
+output "End of tests"
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ntube.input.pamphlet b/src/input/ntube.input.pamphlet
new file mode 100644
index 00000000..fbe5db3d
--- /dev/null
+++ b/src/input/ntube.input.pamphlet
@@ -0,0 +1,100 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ntube.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- ntube.input
+-- Generalized tubes.
+-- The functions in this file draw a 2-d curve in the normal
+-- planes around a 3-d curve. The computations are all done
+-- numerically in machine-precision floating point for efficiency.
+
+R3 := Point DoubleFloat -- Points in 3-Space
+R2 := Point DoubleFloat -- Points in 2-Space
+S := Segment Float -- Draw ranges
+ThreeCurve := DoubleFloat -> R3 -- type of a space curve function
+TwoCurve := (DoubleFloat, DoubleFloat) -> R2 -- type of a plane curve function
+Surface := (DoubleFloat, DoubleFloat) -> R3 -- type of a parameterized surface function
+
+-- Frenet frames define a coordinate system around a point on a space curve
+FrenetFrame := Record(value: R3, tagent: R3, normal: R3, binormal: R3)
+
+-- Holds current Frenet frame for a point on a curve
+frame: FrenetFrame
+
+-- compile, don't interpret functions
+)set fun compile on
+
+-- Draw a generalized tube.
+-- ntubeDraw(spaceCurve, planeCurve, u0..u1, t0..t1)
+-- draws planeCurve int the normal planes of spaceCurve. u0..u1 specifies
+-- the paramter range of the planeCurve and t0..t1 specifies the parameter
+-- range of the spaceCurve. Additionally the plane curve function takes
+-- as a second parameter the current parameter of the spaceCurve. This
+-- allows the plane curve to evolve as it goes around the space curve.
+-- see "page5.input" for an example of this.
+ntubeDraw: (ThreeCurve, TwoCurve, S, S) -> VIEW3D
+ntubeDraw(spaceCurve, planeCurve, uRange, tRange) ==
+ ntubeDrawOpt(spaceCurve, planeCurve, uRange, tRange, []$List DROPT)
+
+-- ntuberDrawOpt is the same as ntuberDraw, but takes optional
+-- parameters which it passes to the draw command.
+ntubeDrawOpt: (ThreeCurve, TwoCurve, S, S, List DROPT) -> VIEW3D
+ntubeDrawOpt(spaceCurve, planeCurve, uRange, tRange, l) ==
+ delT:DoubleFloat := (hi(tRange) - lo(tRange))/10000
+ oldT:DoubleFloat := lo(tRange) - 1
+ fun := ngeneralTube(spaceCurve, planeCurve, delT, oldT)
+ draw(fun, uRange, tRange, l)
+
+-- nfrenetFrame(c, t, delT) numerically computes the Frenet Frame
+-- about the curve c at t. delT is a small number used to
+-- compute derivatives.
+nfrenetFrame(c, t, delT) ==
+ f0 := c(t)
+ f1 := c(t+delT)
+ t0 := f1 - f0 -- the tangent
+ n0 := f1 + f0
+ b := cross(t0, n0) -- the binormal
+ n := cross(b,t0) -- the normal
+ ln := length n
+ lb := length b
+ ln = 0 or lb = 0 => error "Frenet Frame not well defined"
+ n := (1/ln)*n -- make into unit length vectors
+ b := (1/lb)*b
+ [f0, t0, n, b]$FrenetFrame
+
+-- nGeneralTube(spaceCurve, planeCurve, delT, oltT)
+-- creates a function which can be passed to the system draw command.
+-- The function is a parameterized surface for the general tube
+-- around the spaceCurve. delT is a small number used to compute
+-- derivatives, and oldT is used to hold the current value of the
+-- t parameter for the spaceCurve. This is an efficiency measure
+-- to ensure that frames are only computed once for every value of t.
+ngeneralTube: (ThreeCurve, TwoCurve, DoubleFloat, DoubleFloat) -> Surface
+ngeneralTube(spaceCurve, planeCurve, delT, oldT) ==
+ free frame
+ (v:DoubleFloat, t: DoubleFloat): R3 +->
+ if (t ~= oldT) then
+ frame := nfrenetFrame(spaceCurve, t, delT)
+ oldT := t
+ p := planeCurve(v, t)
+ frame.value + p.1*frame.normal + p.2*frame.binormal
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/numbers.input.pamphlet b/src/input/numbers.input.pamphlet
new file mode 100644
index 00000000..73188530
--- /dev/null
+++ b/src/input/numbers.input.pamphlet
@@ -0,0 +1,142 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input numbers.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page IntegerPage
+)clear all
+
+x := factorial(200)
+y := 2**90 - 1
+x + y
+x - y
+x * y
+factor(x)
+factor(y)
+
+-- Input for page FloatIntroductionPage
+)clear all
+
+sqrt(2.0)
+numeric %pi
+exp(1.0)
+exp(sqrt(163.0) * %pi)
+sin(%pi/6.)
+
+-- Input for page FractionPage
+)clear all
+
+1/4 - 1/5
+f := (x**2 + 1)/(x - 1)
+g := (x**2 - 3*x + 2)/(x + 2)
+f * g
+
+-- Input for page FloatPrecisionAnswerPage
+)clear all
+
+numeric(%pi, 500)
+digits 500
+numeric %pi
+
+-- Input for page FiniteFieldPage
+)clear all
+
+F7 := PF 7
+F49 := FF(7,2)
+definingPolynomial()$F49
+e := random()$F49
+norm e
+trace e
+order e
+allElts := [index(i)$F49 for i in 1..48]
+reduce(+,allElts)
+[order e for e in allElts]
+u:UP(x, F7) := x**2 + 1
+factor u
+u2:UP(x, F49) := u
+factor u2
+
+-- Input for page IntegerProblemAnswerPage1
+)clear all
+
+f: NNI -> INT
+f(n) == 2**n - 1
+factor f(7)
+ints := [n for n in 1..]
+primes := [x for x in ints | prime? x]
+primes.25
+numbers := [f(n) for n in primes]
+factors := [factor n for n in numbers]
+nums := [x for x in numbers | not prime? x]
+
+-- Input for page IntegerProblemAnswerPage2
+)clear all
+
+numbers := [n**2 - n + 41 for n in 0..40]
+[factor n for n in numbers]
+
+-- Input for page RomanNumeralPage
+)clear all
+
+f := operator 'f
+differentiate(f x,x,7)
+a := roman(1978 - 1965)
+x : UTS(ROMAN,'x,0) := x
+recip(1 - x - x**2)
+m : MATRIX FRAC ROMAN
+m := matrix [[1/(i + j) for i in 1..3] for j in 1..3]
+inverse m
+y := factorial 20
+roman y
+
+-- Input for page IntegerExamplePage
+)clear all
+
+f: NNI -> INT
+f(n) == 2**(2**n) + 1
+factor f(1)
+factor f(2)
+for n in 1..6 repeat output factor f(n)
+
+-- Input for page FloatPrecisionPage
+)clear all
+
+exp(%pi * sqrt(163.0))
+digits 40
+x := exp(%pi * sqrt(163.0))
+numeric(1/3, 5)
+numeric(1/3, 60)
+numeric(1/3)
+
+-- Input for page RationalNumberPage
+)clear all
+
+61657 ** 10 / 999983 ** 12
+x := 104348/33215
+numeric x
+numer(x)
+denom(x)
+factor(numer x) / factor(denom x)
+
+-- Input for page RepeatingDecimalPage
+)clear all
+
+x := 2/7 :: DECIMAL
+y := 13/17 :: DECIMAL
+x - y
+x + y
+x * y
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/oct.input.pamphlet b/src/input/oct.input.pamphlet
new file mode 100644
index 00000000..da5b0663
--- /dev/null
+++ b/src/input/oct.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input OCT.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from OctonionXmpPage
+)clear all
+
+oci1 := octon(1,2,3,4,5,6,7,8)
+oci2 := octon(7,2,3,-4,5,6,-7,0)
+oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0))
+(oci1 * oci2) * oci3 - oci1 * (oci2 * oci3)
+[real oci1, imagi oci1, imagj oci1, imagk oci1, imagE oci1, imagI oci1, imagJ oci1, imagK oci1]
+q : Quaternion Polynomial Integer := quatern(q1, qi, qj, qk)
+E : Octonion Polynomial Integer:= octon(0,0,0,0,1,0,0,0)
+q * E
+E * q
+q * 1$(Octonion Polynomial Integer)
+1$(Octonion Polynomial Integer) * q
+o : Octonion Polynomial Integer := octon(o1, oi, oj, ok, oE, oI, oJ, oK)
+norm o
+p : Octonion Polynomial Integer := octon(p1, pi, pj, pk, pE, pI, pJ, pK)
+norm(o*p)-norm(p)*norm(p)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/octonion.input.pamphlet b/src/input/octonion.input.pamphlet
new file mode 100644
index 00000000..4deb8e82
--- /dev/null
+++ b/src/input/octonion.input.pamphlet
@@ -0,0 +1,86 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input octonion.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+
+-- the octonions build a non-associative algebra:
+
+oci1 := octon(1,2,3,4,5,6,7,8)
+oci2 := octon(7,2,3,-4,5,6,-7,0)
+oci3 := octon(-7,-12,3,-10,5,6,9,0)
+
+oci := oci1 * oci2 * oci3
+(oci1 * oci2) * oci3 - oci1 * (oci2 * oci3)
+
+-- the following elements, together with 1, build a basis over the ground ring
+
+octon(1,0,0,0,0,0,0,0)
+i := octon(0,1,0,0,0,0,0,0)
+j := octon(0,0,1,0,0,0,0,0)
+octon(0,0,0,1,0,0,0,0)
+octon(0,0,0,0,1,0,0,0)
+octon(0,0,0,0,0,1,0,0)
+J := octon(0,0,0,0,0,0,1,0)
+octon(0,0,0,0,0,0,0,1)
+
+i*(j*J)
+(i*j)*J
+
+-- we can extract the coefficient w.r.t. a basis element:
+imagi oci
+imagE oci
+
+-- 1 and E build a basis with respect to the quaternions:
+-- but what are the commuting rules?
+
+qs := Quaternion Polynomial Integer
+os := Octonion Polynomial Integer
+
+-- a general quaternion:
+
+q : qs := quatern(q1,qi,qj,qk)
+E := octon(0,0,0,0,1,0,0,0)$os
+
+q * E
+E * q
+q * 1$os
+1$os * q
+
+
+-- two general octonions:
+
+
+o : os := octon(o1,oi,oj,ok,oE,oI,oJ,oK)
+p : os := octon(p1,pi,pj,pk,pE,pI,pJ,pK)
+
+
+-- the norm of an octonion is defined as the sum of the squares of the
+-- coefficients:
+
+
+norm o
+
+-- and the norm is multiplicative:
+
+norm(o*p)-norm(p*o)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ode.input.pamphlet b/src/input/ode.input.pamphlet
new file mode 100644
index 00000000..703fd348
--- /dev/null
+++ b/src/input/ode.input.pamphlet
@@ -0,0 +1,60 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ode.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+
+--A bug when one one uses a diff.eq. with a free variable other than x.
+)set break resume
+y:=operator 'y
+deqx:= differentiate(y x,x,2)+differentiate(y x,x) +y x
+solve(deqx,y,x) --OK
+solve(deqx,y,x=0,[1]) --OK
+deqt:= differentiate(y t,t,2)+differentiate(y t,t) +y t
+solve(deqt,y,t) --OK
+solve(deqt,y,t=0,[1]) -- BUG!
+deqz:= differentiate(y z,z,2)+differentiate(y z,z) +y z
+solve(deqz,y,z) --OK
+solve(deqz,y,z=0,[1]) -- BUG!
+
+
+--I think the bug is in
+-- file odeef.spad
+-- constructor ODEEF
+-- function solve(diffeq:F,y:OP,center:EQ,y0:List F)
+
+--the second line of the body was
+
+-- kx:K:=kernel x
+
+--which uses uninitialised x. I think it should be
+
+-- kx:K:=kernel(retract(lhs(center))@SY)
+
+--as the line immediately below it. That change certainly fixes THIS bug!
+
+--Also, maybe a check should be made that this kx is indeed to be found
+--in the diffeq -- my system reports segmenttion violation if I do
+
+
+solve(deqt,y,x=0,[1])
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/odpol.input.pamphlet b/src/input/odpol.input.pamphlet
new file mode 100644
index 00000000..3ae98766
--- /dev/null
+++ b/src/input/odpol.input.pamphlet
@@ -0,0 +1,58 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ODPOL.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from OrderlyDifferentialPolynomialXmpPage
+)clear all
+
+dpol:= ODPOL(FRAC INT)
+w := makeVariable('w)$dpol
+z := makeVariable('z)$dpol
+w.5
+w 0
+[z.i for i in 1..5]
+f:= w.4 - w.1 * w.1 * z.3
+g:=(z.1)**3 * (z.2)**2 - w.2
+D(f)
+D(f,4)
+df:=makeVariable(f)$dpol
+df.4
+order(g)
+order(g, 'w)
+differentialVariables(g)
+degree(g)
+degree(g, 'w)
+weights(g)
+weights(g,'w)
+weight(g)
+isobaric?(g)
+eval(g,['w::Symbol],[f])
+eval(g,variables(w.0),[f])
+monomials(g)
+variables(g)
+gcd(f,g)
+groebner([f,g])
+lg:=leader(g)
+sg:=separant(g)
+ig:=initial(g)
+g1 := D g
+lg1:= leader g1
+pdf:=D(f, lg1)
+prf:=sg * f- pdf * g1
+lcf:=leadingCoefficient univariate(prf, lg)
+ig * prf - lcf * g * lg
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/op.input.pamphlet b/src/input/op.input.pamphlet
new file mode 100644
index 00000000..ba4dcd64
--- /dev/null
+++ b/src/input/op.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input op.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+abs(x)
+eval(%,x=-3.4)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/op1.input.pamphlet b/src/input/op1.input.pamphlet
new file mode 100644
index 00000000..640068b9
--- /dev/null
+++ b/src/input/op1.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input OP.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from OperatorXmpPage
+)clear all
+
+R := SQMATRIX(2, INT)
+t := operator("tilde") :: OP(R)
+)set expose add constructor Operator
+evaluate(t, m +-> transpose m)
+s : R := matrix [[0, 1], [1, 0]]
+rho := t * s
+z := rho**4 - 1
+m:R := matrix [[1, 2], [3, 4]]
+z m
+rho m
+rho rho m
+(rho**3) m
+b := t * s - s * t
+b m
+L n ==
+ n = 0 => 1
+ n = 1 => x
+ (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2)
+dx := operator("D") :: OP(POLY FRAC INT)
+evaluate(dx, p +-> D(p, 'x))
+E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1)
+L 15
+E 15
+(E 15)(L 15)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/opalg.input.pamphlet b/src/input/opalg.input.pamphlet
new file mode 100644
index 00000000..cf38ff57
--- /dev/null
+++ b/src/input/opalg.input.pamphlet
@@ -0,0 +1,44 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input opalg.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991, 1995.
+@
+<<*>>=
+<<license>>
+
+)cl all
+-- This is the recursive definition of the Legendre polynomials
+L n ==
+ n = 0 => 1
+ n = 1 => x
+ (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2)
+
+L 5
+
+-- Create the differential operator d/dx on Q[x]
+dx := operator("D")::OP(POLY FRAC INT)
+-- and attach the map d/dx to it:
+evaluate(dx, p +-> differentiate(p, 'x))$OP(POLY FRAC INT)
+
+-- This is the differential equation satisfied by the nth Legendre poly:
+E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1)
+E 5
+[L i for i in 1..10]
+[E i for i in 1..10]
+[(E i)(L i) for i in 1..10]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/operator.input.pamphlet b/src/input/operator.input.pamphlet
new file mode 100644
index 00000000..a789eb3c
--- /dev/null
+++ b/src/input/operator.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input operator.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991, 1995.
+@
+<<*>>=
+<<license>>
+)clear all
+L n ==
+ n = 0 => 1
+ n = 1 => x
+ (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2)
+dx := operator("D") :: OP(POLY FRAC INT)
+evaluate(dx, p +-> differentiate(p, 'x))$OP(POLY FRAC INT)
+E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1)
+L 15
+E 15
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ovar.input.pamphlet b/src/input/ovar.input.pamphlet
new file mode 100644
index 00000000..1dfe66e1
--- /dev/null
+++ b/src/input/ovar.input.pamphlet
@@ -0,0 +1,27 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input OVAR.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from OrderedVariableListXmpPage
+)clear all
+
+ls:List Symbol:=['x,'a,'z]
+Z:=OVAR ls
+size()$Z
+lv:=[index(i::PI)$Z for i in 1..size()$Z]
+sorted?(>,lv)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/padic.input.pamphlet b/src/input/padic.input.pamphlet
new file mode 100644
index 00000000..f563f222
--- /dev/null
+++ b/src/input/padic.input.pamphlet
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input padic.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited MCMXCIV.
+@
+<<*>>=
+<<license>>
+
+-- Author: Clifton J. Williamson
+
+root2 : PADIC 7 := sqrt(2,3)
+extend(root2,20)
+
+broot2 : BPADIC 7 := sqrt(2,3)
+extend(broot2,20)
+
+xx : SUP INT := monomial(1,1)
+
+pp := xx^6 - 1
+
+r1 : PADIC 7 := root(pp,1)
+r2 : PADIC 7 := root(pp,2)
+r3 : PADIC 7 := root(pp,3)
+r4 : PADIC 7 := root(pp,4)
+r5 : PADIC 7 := root(pp,5)
+r6 : PADIC 7 := root(pp,6)
+
+(x - r1) * (x - r2) * (x - r3) * (x - r4) * (x - r5) * (x - r6)
+
+rr1 : BPADIC 7 := root(pp,1)
+rr2 : BPADIC 7 := root(pp,2)
+rr3 : BPADIC 7 := root(pp,3)
+rr4 : BPADIC 7 := root(pp,4)
+rr5 : BPADIC 7 := root(pp,5)
+rr6 : BPADIC 7 := root(pp,6)
+
+(x - rr1) * (x - rr2) * (x - rr3) * (x - rr4) * (x - rr5) * (x - rr6)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/palette.input.pamphlet b/src/input/palette.input.pamphlet
new file mode 100644
index 00000000..e980f47f
--- /dev/null
+++ b/src/input/palette.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input palette.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- test for Palette domain
+
+dark blue()
+dim blue()
+bright blue()
+pastel blue()
+light blue()
+
+draw(x**2,x=-1..1,curveColor == hue dark blue())
+
+shade bright blue()
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/parabola.input.pamphlet b/src/input/parabola.input.pamphlet
new file mode 100644
index 00000000..4f847fec
--- /dev/null
+++ b/src/input/parabola.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input parabola.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)parabola.input 1.1 89/09/07 20:55:08
+draw(curve(t**2 + 2*t - 1,t**2 + t - 2),t = -4..3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/parpcurv.input.pamphlet b/src/input/parpcurv.input.pamphlet
new file mode 100644
index 00000000..176b97e3
--- /dev/null
+++ b/src/input/parpcurv.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input parpcurv.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- test for ParametricPlaneCurve domain
+
+draw(curve(sin(3*t),cos(3*t)),t = -5*%pi..5*%pi)
+draw(curve(sin(tan(t)),tan(sin(t))),t = -5*%pi..5*%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/parscurv.input.pamphlet b/src/input/parscurv.input.pamphlet
new file mode 100644
index 00000000..3380ca29
--- /dev/null
+++ b/src/input/parscurv.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input parscurv.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- test for ParametricSpaceCurve domain
+
+draw(curve(tan(cos(t)),sin(t),cos(t)),t=-12..12)
+draw(curve(sin(t),cos(t),sin(t)*cos(t)),t=-12..12)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/parsurf.input.pamphlet b/src/input/parsurf.input.pamphlet
new file mode 100644
index 00000000..31da59de
--- /dev/null
+++ b/src/input/parsurf.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input parsurf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- test for ParametricSurface domain
+
+)clear all
+
+f1(u:DFLOAT,v:DFLOAT):DFLOAT == u*cos(v)
+f2(u:DFLOAT,v:DFLOAT):DFLOAT == u*sin(v)
+f3(u:DFLOAT,v:DFLOAT):DFLOAT == cos(u+v)
+draw(surface(f1,f2,f3),0..2*%pi,-%pi..%pi)
+f4(u:DFLOAT,v:DFLOAT):DFLOAT == v*cos(u+v)
+draw(surface(f1,f2,f4),0..2*%pi,-%pi..%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pascal.input.pamphlet b/src/input/pascal.input.pamphlet
new file mode 100644
index 00000000..2b47c10d
--- /dev/null
+++ b/src/input/pascal.input.pamphlet
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input pascal.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- this file shows some computations involving Pascal's triangle
+)set fun cache all
+p(m,n | m=1)==1
+p(m,n | m=n)==1
+p(i,n | 1 < i and i < n) == p(i-1,n-1) + p(i,n-1)
+p(2,3)
+pn(n) == [p(i,n) for i in 1..n]
+pn(50)
+pk n == [pn(i) for i in 1..n]
+pk 10
+-- reset
+)set fun cache 10
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pascal1.input.pamphlet b/src/input/pascal1.input.pamphlet
new file mode 100644
index 00000000..bdbf3084
--- /dev/null
+++ b/src/input/pascal1.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input pascal1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- this file shows some computations involving Pascal's triangle
+)set fun cache all
+p(m,n | m = 1) == 1
+p(m,n | m = n) == 1
+p(i,n | 1 < i and i < n) == p(i-1,n-1)+p(i,n-1)
+p(2,3)
+pr(n) == [p(i,n) for i in 1..n]
+l := [center blankSeparate [p(i,n)::OUTFORM for i in 1..n] for n in 1..10] ;
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pat.input.pamphlet b/src/input/pat.input.pamphlet
new file mode 100644
index 00000000..2f6535ba
--- /dev/null
+++ b/src/input/pat.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input pat.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page PatternMatching
+)clear all
+
+rule square(x) == x*x
+fact(n | n > 0) == n * fact(n - 1)
+fact(0) == 1
+f('A) == 1
+f(0) == 0 otherwise
+binary(true) == 1
+binary(false) == 0
+sinValues == rules
+ sin(%pi) == 0
+ sin(%pi/4) == sqrt(2)/2
+integrate(log(1 + tan(x)),x,0,%pi/4) == %pi/8*log(2)
+powerOf(x,x) == 1
+powerOf(x,x**n) == n
+powerOf(x,y) == 0 otherwise
+powerOf(x,x**n%) == n%
+powerOf(x,y) == 0 otherwise
+linearExponent?(exp(%a*x+%b | freeOf?(%a,x) and freeOf?(%b,x)),x) == true
+linearExponent?(exp(a) | freeOf?(a,x),x) == true
+linearExponent?(u,x) == false
+linearExponent?(exp(x),x) == true
+linearExponent?(exp(a*x) | freeOf?(a,x),x) == true
+linearExponent?(exp(x+b) | freeOf?(b,x),x) == true
+linearExponent?(exp(a*x+b,x) | freeOf?(a,x) and freeOf?(b,x)) == true
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/patmatch.input.pamphlet b/src/input/patmatch.input.pamphlet
new file mode 100644
index 00000000..b80a0a18
--- /dev/null
+++ b/src/input/patmatch.input.pamphlet
@@ -0,0 +1,56 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input patmatch.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+p := 3 * n ** 2 + 1
+q := 3 * n% ** 2 + 1
+a := roman 49
+b := roman IV
+c := a - 1
+Is(a, p)
+Is(a, q)
+Is(b, p)
+Is(b, q)
+Is(c, p)
+Is(c, q)
+ab := a / b
+pq := p / q
+Is(ab, pq)
+ab := rational ab
+a := rational a
+--Is([ab, a], [pq, _:l, p])
+--Is([ab, a], [pq, _:l%, p])
+--Is([ab, 1, 2, a], [pq, _:l, p])
+-- foo?(x:LIST FRAC INT):BOOLEAN == odd? _# x
+-- qq := suchThat(_:l%, foo?)
+-- Is([ab, 1, 2, a], [pq, qq, p])
+-- Is([ab, 1, 2, 3, a], [pq, qq, p])
+-- creating streams using pattern matching
+-- want the streams of all primes of the form m**2+1
+bar?(n:INT):BOOLEAN == prime? n and is?(n, m**2 + 1)
+myprimes := [i for i in 1.. | bar? i]
+p := x**2 + 3*x + 1
+Is(p, n * y**2 + (2*n+1)*y + 1)
+Is(p, n% * y**2 + (2*n%+1)*y + 1)
+Is(3*x**2 + 9*x + 1, n * y**2 + n**2 * y + 1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pdecomp0.as.pamphlet b/src/input/pdecomp0.as.pamphlet
new file mode 100644
index 00000000..267a59bf
--- /dev/null
+++ b/src/input/pdecomp0.as.pamphlet
@@ -0,0 +1,143 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input pdecomp0.as}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+-- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+@
+<<*>>=
+#pile
+#include "axiom.as"
+<<license>>
+
+--% Polynomial composition and decomposition functions
+-- If f = g o h then g = leftFactor(f, h) & h = rightFactor(f, g)
+-- SMW Dec 86
+
+--% PolynomialComposition
+--)abbrev package PCOMP PolynomialComposition
+--)abbrev package PDECOMP PolynomialDecomposition
+
+PolynomialComposition(UP: UnivariatePolynomialCategory(R), R: Ring): with
+ compose: (UP, UP) -> UP
+
+ == add
+ compose(g:UP, h:UP):UP ==
+ r: UP := 0
+ while g ~= 0 repeat
+ r := leadingCoefficient(g)*h**degree(g) + r
+ g := reductum g
+ r
+
+
+-- Ref: Kozen and Landau, Cornell University TR 86-773
+
+--% PolynomialDecomposition
+
+
+PolynomialDecomposition(UP:UPC F, F:Field): PDcat == PDdef where
+ UPC ==> UnivariatePolynomialCategory
+ NNI ==> NonNegativeInteger
+ LR ==> Record(left: UP, right: UP)
+
+ PDcat ==> with
+ decompose: UP -> List UP
+ decompose: (UP, NNI, NNI) -> Union(value1:LR, failed:'failed')
+ leftFactor: (UP, UP) -> Union(value1:UP, failed:'failed')
+ rightFactorCandidate: (UP, NNI) -> UP
+ PDdef ==> add
+
+ import from F
+ import from LR
+ import from Union(value1:UP, failed:'failed')
+ import from Float
+ import from NNI
+ import from UniversalSegment NNI
+ import from Record(quotient:UP, remainder:UP);
+
+ leftFactor(f:UP, h:UP):Union(value1:UP, failed:'failed') ==
+ g: UP := 0
+ for i in 0.. while f ~= 0 repeat
+ fr := divide(f, h)
+ f := fr.quotient
+ r := fr.remainder
+ degree r > 0 => return [failed]
+ g := g + r * monomial(1, i)
+ [g]
+
+ decompose(f:UP, dg:NNI, dh:NNI):Union(value1:LR, failed:'failed') ==
+ df := degree f
+ dg*dh ~= df => [failed]
+ h := rightFactorCandidate(f, dh)
+ g:Union(value1:UP, failed:'failed') := leftFactor(f, h)
+ g case failed => [failed]
+ [[g.value1, h]]
+
+ decompose(f:UP):List UP ==
+ df := degree f
+ for dh in 2..df-1 | df rem dh = 0 repeat
+ h := rightFactorCandidate(f, dh)
+ g := leftFactor(f, h)
+ g case value1 => return
+ append(decompose(g.value1), decompose h)
+ [f]
+
+
+ rightFactorCandidate(f:UP, dh:NNI):UP ==
+ f := f / leadingCoefficient f
+ df := degree f
+ dg := df quo dh
+ h := monomial(1, dh)
+ for k in 1..dh repeat
+ hdg:= h**dg
+ c := (coefficient(f,df-k)-coefficient(hdg,df-k))/
+ (dg::Integer::F)
+ h := h + monomial(c, dh-k)
+ h - monomial(coefficient(h, 0), 0) -- drop constant term
+
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/perm.input.pamphlet b/src/input/perm.input.pamphlet
new file mode 100644
index 00000000..503c5c91
--- /dev/null
+++ b/src/input/perm.input.pamphlet
@@ -0,0 +1,185 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input perm.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+
+-- This file demonstrates some of the new routines for permutations
+-- in AXIOM. ( Last change: 05/16/89 by HWG )
+-- (J. Grabmeier: adjusted to new concept: 08/07/89)
+-- (M. Weller : adjusted to 1..: 03/29/90)
+-- (J. Grabmeier : adjusted to new algebra 05/14/90)
+
+-- Permutations can act on every set, finite or infinite.
+-- Usually permutations are given as a product of cycles,
+-- so the following generates a permutation acting on some
+-- elements of GF(29):
+
+x : List List PrimeField 29 :=
+ [[23,19,7,9,12,11,15],[22,4,14,18,2,5,8],[21,20,10,16,13,6,17]]
+px : PERM PrimeField 29 := x
+
+-- If the permutation consists of just one cycle, you can use the
+-- function "cycle" instead of "coerce":
+
+w : List PrimeField 29 :=
+ [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
+pw : PERM PrimeField 29 := cycle w
+
+-- For a product of cycles there is also the function "cycles":
+
+k : List List PrimeField 29 :=
+ [[23,24],[22,16],[21,9],[20,19],[18,12],[17,14],[15,7],[10,6]]
+pk : PERM PrimeField 29 := cycles k
+
+-- Since these permutations generate a group, you can
+-- perform various operations on px, pw and pk.
+-- You may have to be careful, because permutations are viewed
+-- as mappings acting on the left, so (pw*pk)(7) = pw(pk(7)).
+-- Here are some examples:
+
+pw*pk
+px**3
+
+-- You can ask for inverses:
+
+inv px
+
+-- or for the image of some element under a special permutation:
+
+eval(px,17::PrimeField(29))
+
+-- you may try to build commutators:
+
+commutator(pk,pw)
+
+-- which is the same as inv(pk) * inv(pw) * pk * pw
+
+-- You can also ask for the orbit of some element under a permutation:
+
+orbit(px,11::PrimeField(29))
+
+-- or for the elements of the underlying set, which are permuted
+-- by a given permutation:
+
+movedPoints(pk)
+
+-- Now we take a short look on permutation groups.
+-- They are represented as a list of generating permutations:
+
+gp1 : PERMGRP PrimeField 29 := [ px , pk ]
+gp2 : PERMGRP PrimeField 29 := [ pw , px ]
+gp3 : PERMGRP PrimeField 29 := [ pw , pk ]
+
+-- and we can ask for their orders:
+
+order gp1
+order gp2
+order gp3
+
+-- In fact these are the Mathieu-groups M_22, M_23 and M_24.
+
+-- now a more sophisticated example
+-- The following matrices generate the general linear group GL(3,2):
+
+(m1,m2,m3,m4): Matrix PrimeField 2
+m1 := [[1,1,0],[0,1,0],[0,0,1]]
+m2 := [[1,0,0],[0,1,1],[0,0,1]]
+m3 := [[1,0,0],[1,1,0],[0,0,1]]
+m4 := [[1,0,0],[0,1,0],[0,1,1]]
+
+-- and these matrices act on the non-zero vectors of the
+-- corresponding vector space
+
+vl : List Vector PrimeField 2
+vl := [[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]]
+
+-- Now we can write down the action of our matrices on this list vl
+-- as a list of pairs
+
+ll1 : List List Vector PrimeField 2 :=
+ [ [ vl.i , m1*(vl.i) ] for i in 1..7 ]
+ll2 : List List Vector PrimeField 2 :=
+ [ [ vl.i , m2*(vl.i) ] for i in 1..7 ]
+ll3 : List List Vector PrimeField 2 :=
+ [ [ vl.i , m3*(vl.i) ] for i in 1..7 ]
+ll4 : List List Vector PrimeField 2 :=
+ [ [ vl.i , m4*(vl.i) ] for i in 1..7 ]
+
+-- and we can coerce these lists to permutations
+
+el1 : PERM Vector PrimeField 2 := coerceListOfPairs ll1
+el2 : PERM Vector PrimeField 2 := coerceListOfPairs ll2
+el3 : PERM Vector PrimeField 2 := coerceListOfPairs ll3
+el4 : PERM Vector PrimeField 2 := coerceListOfPairs ll4
+
+-- Now we can do the same operations as before, e.g.
+
+eval ( el3 , vl.5 )
+el2 * el1
+movedPoints el4
+
+-- Let's built the general linear group now
+
+gl : PERMGRP Vector PrimeField 2 := [ el1 , el2 , el3 , el4 ]
+
+-- and ask for its order
+
+order gl
+
+-- We can also ask for the orbit of the unordered set of vectors
+
+setOfVectors : Set Vector PrimeField 2 := brace [ vl.2 , vl.4 , vl.6 ]
+
+-- under gl
+
+orbit ( gl, setOfVectors )
+
+-- and also for the orbit of the ordered list
+
+listOfVectors : List Vector PrimeField 2 := parts setOfVectors
+orbit ( gl, listOfVectors )
+
+-- Now Rubik's cube.
+
+f : PERM INT := cycles [[11,13,15,17],[12,14,16,18],[51,31,21,41],[53,33,23,43],_
+ [52,32,22,42]]
+
+r : PERM INT := cycles [[21,23,25,27],[22,24,26,28],[13,37,67,43],[15,31,61,45],_
+ [14,38,68,44]]
+
+-- Some calculation in Rubik's group:
+
+(f**2*r**2)**3
+
+rc := rubiksGroup()
+
+order rc
+
+orbits rc
+
+-- Can we interchange just two pieces with two visible faces on the cube
+-- and leave everything else fixed?
+
+member? (cycles([[12,14],[32,22]])$(PERM INT),rc)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/perman.input.pamphlet b/src/input/perman.input.pamphlet
new file mode 100644
index 00000000..0046235c
--- /dev/null
+++ b/src/input/perman.input.pamphlet
@@ -0,0 +1,29 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input PERMAN.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from PermanentXmpPage
+)clear all
+
+kn n ==
+ r : MATRIX INT := new(n,n,1)
+ for i in 1..n repeat
+ r.i.i := 0
+ r
+permanent(kn(5) :: SQMATRIX(5,INT))
+[permanent(kn(n) :: SQMATRIX(n,INT)) for n in 1..13]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pfr.input.pamphlet b/src/input/pfr.input.pamphlet
new file mode 100644
index 00000000..b1ef7d1f
--- /dev/null
+++ b/src/input/pfr.input.pamphlet
@@ -0,0 +1,123 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input pfr.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{Partial Fractions}
+A {\it partial fraction} is a decomposition of a quotient into a
+sum of quotients where the denominators of the summands are
+powers of primes.
+For example, the rational number $1 \over 6$ can be decomposed
+into ${{1 \over 2} + {-1 \over 3}}.$ It is possible to compute
+partial fractions of quotients of objects belonging to domains
+belonging to the category {\sf EuclideanDomain}.
+For example, {\sf Integer, Gaussian(Integer)} and {\sf
+UnivariatePoly(x, RationalNumber)} all belong to {\sf
+EuclideanDomain}.
+In the examples below, we'll demonstrate how to decompose
+quotients of each of these kind of objects into partial fractions.
+
+It is necessary that we know how to factor the denominator when
+we want to compute a partial fraction. Although the interpreter
+can often do this automatically, it is easier if you just include
+a call to {\em factor}. The main function for computing partial
+fractions is called {\em partialFraction} and we'll use this to
+compute a decomposition of $1 \over {10!}$.
+The first argument to {\em partialFraction} is the numerator of
+the quotient and the second argument is the factored denominator.
+<<code>>=
+partialFraction(1,factor factorial 10)
+@
+Since the denominators are powers of primes, it may be possible to
+further expand the numerators with respect to those primes. Use the
+function {\em padicFraction} to do this. The function
+{\em compactFraction} returns an expanded fraction into the usual
+form. The compacted version is used internally for computational
+efficiency.
+<<code>>=
+f := padicFraction %
+compactFraction %
+@
+Given a partial fraction, it is possible to add, subtract, multiply
+and divide them. In addition, it is possible to extract the parts
+of the decomposition. The number of terms in fractional part is
+computed by {\em numberOfFractionalTerms}.
+<<code>>=
+numberOfFractionalTerms f
+@
+This does {\it not} include the whole part of the fraction, though
+it can be gotten by calling {\em wholePart}.
+<<code>>=
+wholePart f
+@
+Individual terms can be extracted with {\em nthFractionalTerm}.
+<<code>>=
+t3 := nthFractionalTerm(f,3)
+@
+The numerator and denominator of the first fractional term are gotten
+by calling {\em firstNumer} and {\em firstDenom}, respectively.
+<<code>>=
+firstNumer t3
+firstDenom t3
+@
+Given two gaussian integers (see \S \ref{gaussz}), it is possible
+to decompose their quotient into a partial fraction.
+<<code>>=
+g := - 13 + 14 * %i
+1/g
+partialFraction(1,factor g)
+@
+To convert back to a quotient, simply use a coercion.
+<<code>>=
+% :: FRAC COMPLEX INT
+@
+Also, since {\sf QF G I} is {\it isomorphic} to
+{\sf G RN} is further possible to
+coerce the last result to a gaussian with rational number real and
+imaginary parts.
+<<code>>=
+% :: COMPLEX FRAC INT
+
+)clear all
+@
+To conclude this section, we'll compute the decomposition of
+$$
+1 \over {\prod_{i=1}^{4} {{(x+1)}^i}}
+$$
+The polynomials in this object will be of type
+{\sf UnivariatePoly(x, RationalNumber)}, though it is easier to write
+as {\sf P[x] RN}.
+We'll use the {\em prfac} function (see \S \ref{factobj}) to
+directly compute the denominator in factored form.
+<<code>>=
+u : FR UP(x,FRAC INT) := reduce(*,[primeFactor(x+i,i) for i in 0..4])
+@
+The compact and expanded partial fractions for the quotient are
+<<code>>=
+partialFraction(1,u)
+padicFraction %
+@
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)set out len 57
+)time off
+)clear all
+
+<<code>>
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pfr1.input.pamphlet b/src/input/pfr1.input.pamphlet
new file mode 100644
index 00000000..78094f62
--- /dev/null
+++ b/src/input/pfr1.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input PFR.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from PartialFractionXmpPage
+)clear all
+
+partialFraction(1,factorial 10)
+f := padicFraction(%)
+compactFraction(f)
+numberOfFractionalTerms(f)
+nthFractionalTerm(f,3)
+partialFraction(1,- 13 + 14 * %i)
+% :: Fraction Complex Integer
+u : FR UP(x, FRAC INT) := reduce(*,[primeFactor(x+i,i) for i in 1..4])
+partialFraction(1,u)
+padicFraction %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pinch.input.pamphlet b/src/input/pinch.input.pamphlet
new file mode 100644
index 00000000..5273dc8c
--- /dev/null
+++ b/src/input/pinch.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input pinch.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)pinch.input 1.1 89/09/07 20:55:10
+draw((x**2 - y**2)/(x**2 + y**2),x = -1..1,y = -1..1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/plotfile.input.pamphlet b/src/input/plotfile.input.pamphlet
new file mode 100644
index 00000000..e99d78a5
--- /dev/null
+++ b/src/input/plotfile.input.pamphlet
@@ -0,0 +1,84 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input plotfile.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+--Here is an input file which will plot a list of 2d data from a file.
+
+)clear all
+
+g := graphImage()$GRIMAGE
+p1 := point [0,0]$(Point DoubleFloat)
+p2 := point [.25,.25]$(Point DoubleFloat)
+p3 := point [.5,.5]$(Point DoubleFloat)
+p4 := point [.75,.75]$(Point DoubleFloat)
+p5 := point [1,1]$(Point DoubleFloat)
+component(g,p1)$GRIMAGE
+component(g,p2)$GRIMAGE
+appendPoint(g,p3)$GRIMAGE
+appendPoint(g,p4)$GRIMAGE
+appendPoint(g,p5)$GRIMAGE
+g1 := makeGraphImage(g)$GRIMAGE
+makeViewport2D(g1,[title("Graph Points")])$VIEW2D
+
+-- This line is equivalent to using component(g2,pi) for each point
+g2 := coerce([[p1],[p2],[p3],[p4],[p5]])$GRIMAGE
+v := viewport2D()$VIEW2D
+options(v,[title("Just Points")])
+putGraph(v,g2,1)
+makeViewport2D(v)$VIEW2D
+
+---------------------------------------------
+-- Create a 2d viewport of a list of points from a file
+---------------------------------------------
+
+drawList(lp:List Point DoubleFloat):VIEW2D ==
+ n := #lp
+ g := graphImage()$GRIMAGE
+ for p in lp repeat
+ point(g,p,pointColorDefault())$GRIMAGE
+-- component(g,p,pointColorDefault(),lineColorDefault(),pointSizeDefault())$GRIMAGE
+ gi := makeGraphImage(g)$GRIMAGE
+ makeViewport2D(gi,[title("Points")])$VIEW2D
+
+plotData2D(name, title) ==
+ f:File(DoubleFloat) := open(name,"input")
+ lp:LIST(Point DoubleFloat) := empty()
+ while ((x := readIfCan!(f)) case DoubleFloat) repeat
+ y : DoubleFloat := read!(f)
+ lp := cons(point [x,y]$(Point DoubleFloat), lp)
+ lp
+ close!(f)
+ drawList(lp)
+
+--plotData(``file.data'', ``2D Data Plot'')
+
+)clear all
+
+drawFun(f:DoubleFloat->DoubleFloat):VIEW2D ==
+ g := graphImage()$GRIMAGE
+ lp : LIST(Point DoubleFloat) := empty()
+ for i in 1..10 repeat
+ lp := cons(point [i, f(i)]$(Point DoubleFloat), lp)
+ component(g, lp, pointColorDefault(), lineColorDefault(), pointSizeDefault())
+ gi := makeGraphImage(g)$GRIMAGE
+ makeViewport2D(gi, [title("Points")])$VIEW2D
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/plotlist.input.pamphlet b/src/input/plotlist.input.pamphlet
new file mode 100644
index 00000000..7dd581ef
--- /dev/null
+++ b/src/input/plotlist.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input plotlist.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+)clear all
+<<license>>
+
+--draws x**i for i in 1..5, x=-1..1
+
+makePoint(x:DoubleFloat,y:DoubleFloat):(Point DoubleFloat) ==
+ point(l :List DoubleFloat := [x,y])$(Point DoubleFloat)
+
+drawFun(fn:DoubleFloat->DoubleFloat, seg:Segment Float):List(List(Point DoubleFloat)) ==
+ fp := (t:DoubleFloat):Point DoubleFloat +-> makePoint(t, fn(t))
+ plot := pointPlot(fp, segment(convert(lo seg)@DoubleFloat, convert(hi seg)@DoubleFloat))$PLOT
+ lp := listBranches(plot)$PLOT
+
+drawFuns(fl:List(DoubleFloat->DoubleFloat), seg:SegmentBinding Float):VIEW2D ==
+ v := viewport2D()$VIEW2D
+ i : PositiveInteger := 1
+ for f in fl repeat
+ g := graphImage()$GRIMAGE
+ s : Segment Float := segment seg
+ llp : List(List(Point DoubleFloat)) := drawFun(f, s)
+ g :GRIMAGE := graphCurves(llp)$VIEW
+ putGraph(v,g,i)$VIEW2D
+ i := i + 1
+ makeViewport2D(v)$VIEW2D
+
+makeListFuns(fl:List(Expression Integer),_
+ seg:SegmentBinding Float):List(DoubleFloat->DoubleFloat) ==
+ lfuns:List(DoubleFloat->DoubleFloat) := empty()
+ for f in fl repeat
+ ff : (DoubleFloat->DoubleFloat) := makeFloatFunction(f, variable seg)$MakeFloatCompiledFunction(Expression Integer)
+ lfuns := cons(ff, lfuns)
+ lfuns
+
+drawFuns(makeListFuns([x**i for i in 1..5], x=-1..1), x=-1..1)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pmint.input.pamphlet b/src/input/pmint.input.pamphlet
new file mode 100644
index 00000000..35d8542b
--- /dev/null
+++ b/src/input/pmint.input.pamphlet
@@ -0,0 +1,548 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input pmint.input}
+\author{Manuel Bronstein}
+\maketitle
+\begin{abstract}
+pmint is a very short (95 lines) Maple program for integrating
+transcendental elementary or special functions. It is based on recent
+improvements to a powerful heuristic called parallel
+integration. While it is not meant to be as complete as the large
+commercial integrators based on the Risch algorithm, its very small
+size makes it easy to port to any computer algebra system or library
+capable of factoring multivariate polynomials. Because it is
+applicable to special functions (such as Airy, Bessel, Whittaker,
+Lambert), it is able to compute integrals not handled by the existing
+integrators.
+
+pmint is not meant as a replacement for existing integrators, but
+either as an extension, or as a cheap and powerful alternative for any
+computer algebra project.
+
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{pmint}
+These come from Manuel Bronstein's pages at
+http://www-sop.inria.fr/cafe/Manuel.Bronstein/pmint/examples
+
+\section{The Maple Code}
+The maple code is:
+\begin{verbatim}
+
+# The Poor Man's Integrator, a parallel integration heuristic
+# Version 1.1 --- May 10, 2005 (c) M.Bronstein and INRIA 2004-2005
+pmint := proc(f,x)
+ local ff, si, li, lin, lout, ld, q, d, l, vars, dx, ls, fint, lc;
+ ff := eval(convert(f, tan)); # convert trigs to tan
+ si := select(proc(d) diff(d,x) <> 0 end, indets(ff));
+ si := select(proc(d) diff(d,x) <> 0 end, indets(map(diff, si, x))) union si;
+ li := [op(si)]; # list of terms in integrand and its derivative
+ lin := [seq(d=`tools/genglobal`(x), d=li)]; # substitution terms->indets
+ lout := [seq(rhs(d)=lhs(d), d=lin)]; # substitution indets->terms
+ ld := subs(lin, map(diff, li, x)); # derivatives of all the terms
+ q := lcm(seq(denom(d), d=ld)); # denominator of the total derivation
+ l := [seq(normal(q * d), d=ld)]; # q * derivatives of all the terms
+ vars := map(lhs, lout);
+ dx := totalDerivation(vars, l); # vector field dx = q * d/dx
+ ls := [seq(getSpecial(d, lin), d=li)]; # list of known Darboux for dx
+ fint := subs(lout, pmIntegrate(subs(lin, ff), dx, q, vars, ls));
+ lc := select(proc(d) convert(d,string)[1]="_"; end, indets(fint, name));
+ subs({seq(d = 0, d=lc minus si)}, fint);
+end;
+
+getSpecial := proc(f, l) local p; # return known Darboux polys
+ p := op(0,f);
+ if p = `tan` then [1+subs(l,f)^2, false];
+ elif p = `tanh` then [1 + subs(l,f), false], [1 - subs(l,f), false];
+ elif p = `LambertW` then [subs(l,f), true];
+ else NULL; fi;
+end;
+
+totalDerivation := proc(lv, ld)
+ proc(f) local fp, i;
+ fp := 0; for i to nops(ld) do fp := fp + ld[i] * diff(f, lv[i]); od;
+ fp;
+ end;
+end;
+
+pmIntegrate := proc(f, d, q, vars)
+ local ls, splq, s, ff, df, spl, cden, dg, monomials, cand, lunk, sol, i;
+ if nargs = 5 then ls := args[5]; else ls := []; fi;
+ splq := splitFactor(q, d);
+ s := splq[1]; for i to nops(ls) do if ls[i][2] then s := s*ls[i][1]; fi; od;
+ ff := normal(f); df := denom(ff); spl := splitFactor(df, d);
+ cden := s * spl[1] * deflation(spl[2], d);
+ dg := 1 + degree(s) + max(degree(numer(ff)), degree(denom(ff)));
+ monomials := [op(enumerateMonoms(vars, dg))];
+ cand := add('_A'[i] * monomials[i], i = 1..nops(monomials)) / cden;
+ lunk := { seq('_A'[i], i = 1..nops(monomials)) };
+ sol:= tryIntegral(f, d, q, vars, cand, lunk, spl[1], spl[2], splq[1], ls, 0);
+ if sol[1] then sol := tryIntegral(f, d, q, vars, cand, lunk,
+ spl[1], spl[2], splq[1], ls, I); fi;
+ if sol[1] then Int(f); else sol[2]; fi;
+end;
+
+tryIntegral := proc(f, d, q, vars, cand, lunk, l1, l2, l3, ls, K)
+ local candlog, p, candidate, i, sol;
+ candlog := [op({ myfactors(l1, K), myfactors(l2, K), myfactors(l3, K) }
+ union { seq(p[1], p=ls) })];
+ candidate := cand + add('_B'[i] * log(candlog[i]), i = 1..nops(candlog));
+ sol := solve({coeffs(numer(normal(f - d(candidate)/q)), {op(vars)})},
+ lunk union { seq('_B'[i], i = 1..nops(candlog)) });
+ [evalb(sol=NULL), subs(sol,candidate)];
+end;
+
+myfactors := proc(p, K) local l, fact;
+ if K = 0 then l := factors(p); else l := factors(p, K); fi;
+ seq(fact[1], fact=l[2]);
+end;
+
+enumerateMonoms := proc(vars, d) local n, x, i, v, s, w;
+ n := nops(vars);
+ if n = 0 then {1}; else
+ x := vars[n];
+ v := [seq(vars[i], i = 1..n-1)];
+ s := enumerateMonoms(v, d);
+ for i to d do s := s union {seq(x^i*w,w=enumerateMonoms(v,d-i))}; od;
+ s;
+ fi;
+end;
+
+splitFactor := proc(p, d) local si, x, c, q, spl, s, splh;
+ si := select(proc(z) d(z) <> 0 end, indets(p,name));
+ if si = {} then RETURN([1,p]) fi;
+ x := si[1];
+ c := content(p, x, 'q');
+ spl := splitFactor(c, d);
+ s := normal(gcd(q, d(q)) / gcd(q, diff(q, x)));
+ if degree(s) = 0 then RETURN([spl[1], q * spl[2]]); fi;
+ splh := splitFactor(normal(q / s), d);
+ [spl[1] * splh[1] * s, spl[2] * splh[2]];
+end;
+
+deflation := proc(p, d) local si, x, c, q;
+ si := select(proc(z) d(z) <> 0 end, indets(p,name));
+ if si = {} then RETURN(p) fi;
+ x := si[1];
+ c := content(p, x, 'q');
+ deflation(c, d) * gcd(q, diff(q, x));
+end;
+
+\end{verbatim}
+\section{rational functions}
+<<rational functions>>=
+)clear all
+-- Rational Functions
+
+f:=(x^7-24*x^4-4*x^2+8*x-8)/(x^8+6*x^6+12*x^4+8*x^2)
+-- should be:
+-- 7 4 2
+-- x - 24x - 4x + 8x - 8
+-- (1) ------------------------
+-- 8 6 4 2
+-- x + 6x + 12x + 8x
+-- Type: Fraction Polynomial Integer
+
+g:=integrate(f,x)
+-- should be:
+-- 5 3 3 2
+-- (x + 4x + 4x)log(x) + 3x + 8x + 6x + 4
+-- (2) ------------------------------------------
+-- 5 3
+-- x + 4x + 4x
+-- Type: Union(Expression Integer,...)
+
+differentiate(g,x)
+-- should be:
+-- 7 4 2
+-- x - 24x - 4x + 8x - 8
+-- (3) ------------------------
+-- 8 6 4 2
+-- x + 6x + 12x + 8x
+-- Type: Expression Integer
+
+@
+\section{trigonometric functions}
+<<trigonometric functions>>=
+)clear all
+-- Trigonometric Functions
+
+f:=(x-tan(x))/tan(x)^2 + tan(x)
+-- should be:
+-- 3
+-- tan(x) - tan(x) + x
+-- (1) --------------------
+-- 2
+-- tan(x)
+-- Type: Expression Integer
+
+g:=integrate(f,x)
+-- should be:
+-- 2 2
+-- tan(x)log(tan(x) + 1) - x tan(x) - 2x
+-- (2) --------------------------------------
+-- 2tan(x)
+-- Type: Union(Expression Integer,...)
+
+differentiate(g,x)
+-- should be:
+-- 3
+-- tan(x) - tan(x) + x
+-- (3) --------------------
+-- 2
+-- tan(x)
+-- Type: Expression Integer
+
+@
+\section{log-exp functions}
+<<log-exp functions>>=
+)clear all
+-- Log-Exp Functions
+
+f:=(1+x+x*exp(x))*(x+log(x)+exp(x)-1)/(x+log(x)+exp(x))^2/x
+-- should be:
+-- x x 2 2 x 2
+-- (x %e + x + 1)log(x) + x (%e ) + (x + 1)%e + x - 1
+-- (1) ---------------------------------------------------------
+-- 2 x 2 x 2 2 x 3
+-- x log(x) + (2x %e + 2x )log(x) + x (%e ) + 2x %e + x
+-- Type: Expression Integer
+
+g:=integrate(f,x)
+-- should be:
+-- x x
+-- (log(x) + %e + x)log(log(x) + %e + x) + 1
+-- (2) -------------------------------------------
+-- x
+-- log(x) + %e + x
+-- Type: Union(Expression Integer,...)
+
+differentiate(g,x)
+-- should be:
+-- x x 2 2 x 2
+-- (x %e + x + 1)log(x) + x (%e ) + (x + 1)%e + x - 1
+-- (3) ---------------------------------------------------------
+-- 2 x 2 x 2 2 x 3
+-- x log(x) + (2x %e + 2x )log(x) + x (%e ) + 2x %e + x
+-- Type: Expression Integer
+
+@
+\section{liouvillian functions}
+<<liouvillian functions>>=
+)clear all
+-- Liouvillian special functions
+
+f:=exp(-x^2)+erf(x)/(erf(x)^3-erf(x)^2-erf(x)+1)
+-- should be:
+-- 2
+-- 3 2 - x
+-- (erf(x) - erf(x) - erf(x) + 1)%e + erf(x)
+-- (4) -----------------------------------------------
+-- 3 2
+-- erf(x) - erf(x) - erf(x) + 1
+-- Type: Expression Integer
+
+--
+-- 2
+-- x 3 2 - %G
+-- ++ (erf(%G) - erf(%G) - erf(%G) + 1)%e + erf(%G)
+-- (2) | ---------------------------------------------------- d%G
+-- ++ 3 2
+-- erf(%G) - erf(%G) - erf(%G) + 1
+-- Type: Union(Expression Integer,...)
+
+
+
+f:=(exp(-x^2)+erf(x))/(erf(x)^3-erf(x)^2-erf(x)+1)
+-- should be:
+-- 2
+-- - x
+-- %e + erf(x)
+-- (3) ------------------------------
+-- 3 2
+-- erf(x) - erf(x) - erf(x) + 1
+-- Type: Expression Integer
+
+integrate(f,x)
+-- should be:
+-- 1 sqrt(%pi) 1 1
+-- - - ------------ - - sqrt(%pi) log(erf(x)+1) + - sqrt(%pi) log(erf(x)-1)
+-- 4 erf(x) - 1 8 8
+
+-- but axiom cannot do this and gives:
+-- 2
+-- x - %G
+-- ++ %e + erf(%G)
+-- (4) | --------------------------------- d%G
+-- ++ 3 2
+-- erf(%G) - erf(%G) - erf(%G) + 1
+-- Type: Union(Expression Integer,...)
+
+@
+\section{airy functions}
+<<airy functions>>=
+)clear all
+-- Airy Functions
+
+-- f:=(x-airyAi(x)*airyAi(1,x))/(x^2-airyAi(x)^2)
+-- Axiom does not have a 2 argument form of the airyAi function
+
+-- integrate(f,x)
+-- should be:
+-- 1 1
+-- - log(x+airyAi(x)) + - log(x-airyAi(x))
+-- 2 2
+
+f:=x^2*airyAi(x)
+-- should be:
+-- 2
+-- (1) x airyAi(x)
+-- Type: Expression Integer
+
+g:=integrate(f,x)
+-- should be:
+-- -airyAi(x) + airyAi(1,x) x
+-- but Axiom cannot integrate this and gives:
+--
+-- x
+-- ++ 2
+-- (2) | %H airyAi(%H)d%H
+-- ++
+-- Type: Union(Expression Integer,...)
+
+@
+\section{bessel functions}
+<<bessel functions>>=
+)clear all
+-- Bessel functions
+
+f:=besselJ(y+1,x)/besselJ(y,x)
+-- should be:
+-- besselJ(y + 1,x)
+-- (1) ----------------
+-- besselJ(y,x)
+-- Type: Expression Integer
+
+g:=integrate(f,x)
+-- should be:
+-- y log(x) - log(besselJ(y,x))
+-- but Axiom cannot integrate it and gives:
+--
+-- x
+-- ++ besselJ(y + 1,%H)
+-- (2) | ----------------- d%H
+-- ++ besselJ(y,%H)
+-- Type: Union(Expression Integer,...)
+
+-- f:=normal(y*besselJ(y,x)/x = besselJ(y+1,x))
+-- Axiom does not have Maple's normal function
+-- should be:
+-- besselJ(y+1,x) x - y besselJ(y,x)
+-- - ---------------------------------
+-- x
+--
+
+@
+\section{whittaker functions}
+<<whittaker functions>>=
+)clear all
+-- Whittaker functions
+
+-- f:=WhittakerW(u+1,n,x)/(WhittakerW(u,n,x)*x)
+-- Axiom does not implement WhittakerW
+-- should be:
+-- Whittaker(u+1,n,x)
+-- ------------------
+-- Whittaker(u,n,x) x
+
+-- integrate(f,x)
+-- should be:
+-- x
+-- - - u log(x) - log(WhattakerW(u,n,x))
+-- 2
+
+@
+\section{lambertW function}
+<<lambertW function>>=
+)clear all
+-- The Lambert W function
+
+-- f:=LambertW(x)
+-- Axiom does not implement LambertW
+
+-- g:=integrate(f,x)
+-- should be:
+-- 2 2 2 2
+-- x + LambertW(x) x - LambertW(x) x
+-- ------------------------------------
+-- x LambertW(x)
+
+--integrate(sin(LambertW(x)),x)
+--should be:
+-- +- -+
+-- | 2 |
+-- | +- -+ |
+-- | 1 | 1 | 2 |
+-- | - LambertW(x) tan | - LambertW(x) | x + |
+-- | 2 | 2 | |
+-- | +- -+ |
+-- | |
+-- | +- -+ |
+-- | | 1 | 2 |
+-- | LambertW(x) tan | - LambertW(x) | x + |
+-- | | 2 | |
+-- | +- -+ |
+-- | |
+-- | +- -+ |
+-- | | 1 | 2 1 2 |
+-- | tan | - LambertW(x) | x - - LambertW(x) x |
+-- | | 2 | 2 |
+-- | +- -+ |
+-- +- -+
+-- ------------------------------------------------------
+-- +- 2 -+
+-- | +- -+ |
+-- | | 1 | |
+-- x LambertW(x) | 1 + tan | - LambertW(x) | |
+-- | | 2 | |
+-- | +- -+ |
+-- +- -+
+
+-- f:=((x^2+2)*LambertW(x^2)^2+x^2*(2*LambertW(x^2)+1))/(x*(1+LambertW(x^2)^3))
+--should be:
+-- 2
+-- 2 2 2 2
+-- (x + 2) LambertW(x ) + x (2 LambertW(x ) + 1)
+-- ------------------------------------------------
+-- 3
+-- 2
+-- x (1 + LambertW(x ))
+
+--integrate(f,x)
+--should be:
+-- 2 4
+--1 4 2 4 2 x 2 2 2 2
+--- x LambertW(x ) + x LambertW(x ) + -- + LambertW(x ) x + x LambertW(x )
+--2 2
+-----------------------------------------------------------------------------
+-- 2
+-- 2 2 2
+-- x LambertW(x ) (1 + LambertW(x ))
+--
+-- +
+-- 2
+-- log(1 + LambertW(x ))
+
+--f:=(2*LambertW(x^2)*cos(LambertW(x^2))*(a*x+LambertW(x^2))+a*x*(1+LambertW(x^2)) + 2*LambertW(x^2))/((1+LambertW(x^2))*(a*x+LambertW(x^2))*x)
+--+- -+
+--| |
+--| 2 2 2 |
+--| 2 LambertW(x ) cos(LambertW(x )) (a x + LambertW(x )) + |
+--| |
+--| 2 2 |
+--| a x (1 + LambertW(x )) + 2 LambertW(x ) |
+--| |
+--+- -+
+-------------------------------------------------------------
+-- 2 2
+-- (1 + LambertW(x ))(a x+LambertW(x )) x
+--
+
+--integrate(f,x)
+--
+-- +- -+
+-- | 1 2 |
+-- 2 tan | - LambertW(x ) |
+-- | 2 |
+-- +- -+ 2
+-- --------------------------- + log(a x + LambertW(x ))
+-- 2
+-- +- -+
+-- | 1 2 |
+-- 1 + tan | - LambertW(x ) |
+-- | 2 |
+-- +- -+
+--
+--
+
+@
+wright omega function}
+<<wright omega function>>=
+)clear all
+-- The Wright omega function
+
+-- omega:=proc(z) LambertW(exp(z)); end;
+-- should be (in Maple notation)
+--
+-- proc(z) LambertW(exp(z)) end proc
+--
+--normal(integrate(omega(x),x))
+--
+-- 1 x x
+-- - LambertW(%e )(LambertW(%e )+2)
+-- 2
+--
+--f:=(1+LambertW(%e^x)*(2+cos(LambertW(%e^x))*(x+LambertW(%e^x))))/((1+LambertW(%e^x))*(x+LambertW(%e^x)))
+--
+--integrate(f,x)
+--
+-- +- -+
+-- | 1 x |
+-- 2 tan | - LambertW(%e ) |
+-- | 2 |
+-- +- -+ x
+-- ---------------------------- + log(x + LambertW(%e ))
+-- 2
+-- +- -+
+-- | 1 x |
+-- 1 + tan | - LambertW(%e ) |
+-- | 2 |
+-- +- -+
+--
+
+@
+\section{License}
+<<license>>=
+--Version 1.1 --- May 10, 2005 (c) M.Bronstein and INRIA 2004-2005
+@
+<<*>>=
+<<license>>
+<<rational functions>>
+<<trigonometric functions>>
+<<log-exp functions>>
+<<liouvillian functions>>
+<<airy functions>>
+<<bessel functions>>
+<<whittaker functions>>
+<<lambertW function>>
+<<wright omega function>>
+@
+\section{\eject
+\begin{thebibliography}{99}
+\bibitem{1} J.H.Davenport (1982):
+On the Parallel Risch Algorithm (I),
+Proceedings of EUROCAM'82, LNCS 144, Springer, 144-157.
+\bibitem{2} J.H.Davenport (1982):
+On the Parallel Risch Algorithm (III): Use of Tangents,
+SIGSAM Bulletin 16, 3-6.
+\bibitem{3} J.H.Davenport, B.M.Trager (1985):
+On the Parallel Risch Algorithm (II),
+ACM Transactions on Mathematical Software 11, 356-362.
+\bibitem{4} J.Fitch (1981):
+User-based integration software,
+Proceedings of SYMSAC'81, ACM Press, 245-248.
+\bibitem{5} K.Geddes, L.Stefanus (1989):
+On the Risch-Norman Integration Method and its Implementation in Maple,
+Proceedings of ISSAC'89, ACM Press, 212-217.
+\bibitem{6} S.H.Harrington (1979):
+A new symbolic integration system in reduce,
+The Computer Journal 22, 127-131.
+\bibitem{7} A.C.Norman, P.M.A.Moore (1977):
+Implementing the new Risch Integration Algorithm,
+Proceedings of the 4th International Colloquium on Advanced Computing
+Methods in Theoretical Physics, 99-110.
+\end{thebibliography}
+\end{document}
diff --git a/src/input/pollevel.input.pamphlet b/src/input/pollevel.input.pamphlet
new file mode 100644
index 00000000..b317de86
--- /dev/null
+++ b/src/input/pollevel.input.pamphlet
@@ -0,0 +1,47 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input pollevel.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+-- This file tests variables moving to the correct level within
+-- polynomial towers.
+
+)clear all
+
+f(y : UP(x, POLY INT)): UP(x, POLY INT) == x * y
+f(x)
+
+)clear all
+
+y := operator 'y
+
+eq1 := D(y x,x,2) - x*y(x)=0
+seriesSolve(eq1,y,x=0,[0,a])
+
+eq2 := D(y x,x) - x*cos(y x) - exp(x)
+seriesSolve(eq2,y,x=0,y(0) = 0)
+
+)clear all
+
+p : UP(x, POLY INT) := x
+u := (z*x)
+u * p
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/poly.input.pamphlet b/src/input/poly.input.pamphlet
new file mode 100644
index 00000000..37fdb61d
--- /dev/null
+++ b/src/input/poly.input.pamphlet
@@ -0,0 +1,96 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input poly.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page PolynomialSingleRootPage
+)clear all
+
+a := rootOf(a**4+1,a)
+definingPolynomial a
+b := rootOf(b**2-a-1,b)
+a + b
+% ** 5
+rootOf(c**2+c+1,c)
+zeroOf(d**2+d+1,d)
+rootOf(e**5-2,e)
+zeroOf(f**5-2,f)
+
+-- Input for page PolynomialGCDPage
+)clear all
+
+p := 3*x**8 + 2*x**7 + 6*x**2 + 7*x + 2
+q := 2*x**13 + 9*x**7 + 2*x**6 + 10*x + 5
+gcd(p,q)
+resultant(p,q,x)
+
+-- Input for page PolynomialSubstitutionPage
+)clear all
+
+p := x**2 + y**2
+eval(p,x=5)
+eval(p,[x = a + b,y = c + d])
+q := x**3 + 5*x - y**4
+eval(q,[x=y,y=x])
+px := eval(p, y = sin(2.0))
+eval(px, x = cos(2.0))
+
+-- Input for page PolynomialFactorizationPage
+)clear all
+
+factor(x**3 - 3*x + 2)
+factor(x**2/4 + x*y + y**2)
+p := x**3 + x*y + 2*x**2*y**2 + 2*y**3 + 3*x**2*z + 6*x*y**2*z
+factors := factor p
+nthFactor(factors,1)
+nthFactor(factors,2)
+
+-- Input for page PolynomialBasicPage
+)clear all
+
+p := a*x**2 + b*x*y + c*y**2
+q := 13*x**2 + 3*z
+p + q
+p - 3*q
+p**2 + p*q
+r := (p + q)**2
+setVariableOrder [a,b,c,x,y,z]
+p
+q
+r
+resetVariableOrder()
+p
+coefficient(q,x,2)
+coefficient(r,x,3)
+c := coefficient(r,z,1)
+coefficient(c,x,2)
+coefficient(q**2, [x,z], [2,1])
+coefficient(r, [x,y], [2,2])
+
+-- Input for page PolynomialRootsPage
+)clear all
+
+l := rootsOf(x**4+1,x)
+x0**5
+definingPolynomial x0
+definingPolynomial x1
+definingPolynomial x2
+x3 := last l
+x0 + x1 + x2 + x3
+x0 * x1 * x2 * x3
+zerosOf(y**4+1,y)
+definingPolynomial y1
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/poly1.input.pamphlet b/src/input/poly1.input.pamphlet
new file mode 100644
index 00000000..a2b4fcf8
--- /dev/null
+++ b/src/input/poly1.input.pamphlet
@@ -0,0 +1,68 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input POLY.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from PolynomialXmpPage
+)clear all
+
+x + 1
+z - 2.3
+y**2 - z + 3/4
+y **2 + x*y + y
+% :: DMP([y,x],INT)
+p := (y-1)**2 * x * z
+q := (y-1) * x * (z+5)
+factor(q)
+p - q**2
+gcd(p,q)
+factor %
+lcm(p,q)
+content p
+resultant(p,q,z)
+resultant(p,q,x)
+mainVariable p
+mainVariable(1 :: POLY INT)
+ground? p
+ground?(1 :: POLY INT)
+variables p
+degree(p,x)
+degree(p,y)
+degree(p,z)
+degree(p,[x,y,z])
+minimumDegree(p,z)
+totalDegree p
+leadingMonomial p
+reductum p
+p - leadingMonomial p - reductum p
+leadingCoefficient p
+p
+eval(p,x,w)
+eval(p,x,1)
+eval(p,x,y**2 - 1)
+D(p,x)
+D(p,y)
+D(p,z)
+integrate(p,y)
+qr := monicDivide(p,x+1,x)
+qr.remainder
+p - ((x+1) * qr.quotient + qr.remainder)
+p/q
+(2/3) * x**2 - y + 4/5
+% :: FRAC POLY INT
+% :: POLY FRAC INT
+map(numeric,%)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/polycoer.input.pamphlet b/src/input/polycoer.input.pamphlet
new file mode 100644
index 00000000..dd2c598b
--- /dev/null
+++ b/src/input/polycoer.input.pamphlet
@@ -0,0 +1,71 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input polycoer.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- This file demonstrates the capabilities of the interpreter to
+-- perform coercions among different polynomial types.
+)clear all
+u : UP(x,COMPLEX INT)
+u := (2+3*%i)*x**5 - 7*x**4 +x**2 + 89
+m : MPOLY([x,y,z],COMPLEX INT)
+m := u
+m := m*y - z**2
+m1 : MPOLY([r,z,t,x,s,y],COMPLEX INT)
+m1 := m
+v : DMP([x,y,z],COMPLEX INT)
+v := u
+u := v
+v1 : DMP([r,z,t,x,s,y],COMPLEX INT)
+v1 := v
+v := m
+v1 := m1
+)clear all
+u : DMP([x,y],INT)
+f : UP(x,UP(y,INT))
+u := x + y
+f := u
+u := x**2*y**9 - x**2*y**2
+f := u
+)clear all
+u : DMP([z,x,y],INT)
+f : UP(x,DMP([y,z],INT))
+u := x + y + z
+f := u
+u := x**2*y - z*x**2 + y*z - x**3*y*z + 3
+f := x**2*y - z*x**2 + y*z - x**3*y*z + 3
+f := u
+)clear all
+u : DMP([x,y,z,w],INT)
+f : UP(w,DMP([y,z],INT))
+u := y**2 - w**5*y**2 - z*w + 3
+f := y**2 - w**5*y**2 - z*w + 3
+f := u
+)clear all
+(x1,x2,x3) : DMP([a,b,c,d,e,f],Fraction INT)
+x1 := 2*a + 3*b - c
+x2 := 3 - 3*e + f
+x3 := a + b + c + d + e + f
+l1 : List DMP([a,b,c,d,e,f],Fraction INT)
+l2 : List UP(f,DMP([a,b,c,d,e],Fraction INT))
+l1 := [x1,x2,x3]
+l2 := l1
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/psgenfcn.input.pamphlet b/src/input/psgenfcn.input.pamphlet
new file mode 100644
index 00000000..70096a21
--- /dev/null
+++ b/src/input/psgenfcn.input.pamphlet
@@ -0,0 +1,80 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input psgenfcn.input}
+\author{Clifton J. Williamson}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+--% Power Series Generating Functions
+-- We obtain Fibonacci numbers, Bernoulli numbers and polynomials, and
+-- Euler numbers and polynomials as power series coefficients
+-- Author: Clifton J. Williamson
+-- Date Created: 1 June 1990
+-- Date Last Updated: 1 June 1990
+-- Keywords: Fibonacci, Bernoulli, Euler
+-- References:
+
+-- We will compute power series in two different ways, then test equality
+-- of coefficients up to a specified order. The function that tests
+-- 'approximate equality' will return an error message if the test fails.
+
+)cl all
+
+ORD := 20
+
+approximateEquality(series1,series2) ==
+ -- tests that 2 series are equal to order ORD
+ uts1 := series1 :: UTS(EXPR INT,'t,0)
+ uts2 := series2 :: UTS(EXPR INT,'t,0)
+ flag := (order(uts1 - uts2,ORD) = ORD) :: Boolean
+ flag => true
+ error "series do not agree to specified order"
+
+bernoulliPolynomial(n) ==
+ -- returns the nth Bernoulli polynomial as an EXPR INT
+ sup := bernoulli(n)$(PNTHEORY)
+ p : POLY FRAC INT := multivariate(sup,'x)
+ p :: (EXPR INT)
+
+eulerPolynomial(n) ==
+ -- returns the nth Euler polynomial as an EXPR INT
+ sup := euler(n)$(PNTHEORY)
+ p : POLY FRAC INT := multivariate(sup,'x)
+ p :: (EXPR INT)
+
+f1 := taylor(t/(1 - t - t**2))
+f2 := taylor(n +-> fibonacci(n),t = 0)
+approximateEquality(f1,f2)
+
+g1 := taylor(t/(exp(t) - 1))
+g2 := taylor(n +-> bernoulli(n)/factorial(n),t = 0)
+approximateEquality(g1,g2)
+
+gg1 := taylor(t*exp(t*x)/(exp(t) - 1),t = 0)
+gg2 := taylor(n +-> bernoulliPolynomial(n)/factorial(n),t = 0)
+approximateEquality(gg1,gg2)
+
+h1 := taylor(2*exp(t/2)/(exp(t) + 1))
+h2 := taylor(n +-> euler(n)/(2**n * factorial(n)),t = 0)
+approximateEquality(h1,h2)
+
+hh1 := taylor(2*exp(t*x)/(exp(t) + 1),t = 0)
+hh2 := taylor(n +-> eulerPolynomial(n)/factorial(n),t = 0)
+approximateEquality(hh1,hh2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/quat.input.pamphlet b/src/input/quat.input.pamphlet
new file mode 100644
index 00000000..93c35fee
--- /dev/null
+++ b/src/input/quat.input.pamphlet
@@ -0,0 +1,73 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input quat.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- This file demonstrates some operations with quaternions.
+
+)clear all
+
+-- The basic function for creating quaternions is "quatern". This is
+-- a quaternion over the rational numbers.
+q := quatern(2/11,-8,3/4,1)
+
+-- The four arguments are the real part, the i imaginary part, the
+-- j imaginary part and the k imaginary part, respectively. These are
+-- extracted with the following functions.
+
+real q
+imagI q
+imagJ q
+imagK q
+
+-- Because q is over the rationals (and nonzero), you can invert it ...
+inv q
+
+-- in addition to the normal arithmetic (ring) operations.
+q**6
+r := quatern(-2,3,23/9,-89)
+q + r
+q - r
+
+-- In general, multiplication is not commutative.
+q * r
+r * q
+
+-- There are no predefined constants for the imaginary i, j and k but
+-- you can easily define them.
+
+i := quatern(0,1,0,0)
+j := quatern(0,0,1,0)
+k := quatern(0,0,0,1)
+
+i*i
+j*j
+k*k
+i*j
+j*k
+k*i
+q * i
+
+-- The norm is the quaternion times its conjugate
+norm q
+conjugate q
+q * %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/quat1.input.pamphlet b/src/input/quat1.input.pamphlet
new file mode 100644
index 00000000..91cd0205
--- /dev/null
+++ b/src/input/quat1.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input QUAT.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from QuaternionXmpPage
+)clear all
+
+q := quatern(2/11,-8,3/4,1)
+[real q, imagI q, imagJ q, imagK q]
+inv q
+q**6
+r := quatern(-2,3,23/9,-89); q + r
+q * r - r * q
+i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1)
+[i*i, j*j, k*k, i*j, j*k, k*i, q*i]
+norm q
+conjugate q
+q * %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/r20abugs.input.pamphlet b/src/input/r20abugs.input.pamphlet
new file mode 100644
index 00000000..3c020e99
--- /dev/null
+++ b/src/input/r20abugs.input.pamphlet
@@ -0,0 +1,104 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input r20abugs.input}
+\author{Mike Dewar}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+
+-- This file tests bugs fixed/additions made since release 2.0a.
+-- Created by Mike Dewar, 17.5.95
+
+-- Added eval for aggregates
+)clear completely
+m : Matrix Expression Integer := matrix [[i*x^j for i in 1..3] for j in 1..3]
+eval(m,x=0)
+
+-- Added seed function
+)clear completely
+s:= seed();
+r1 := randnum();
+for i in 1..10 repeat randnum();
+reseed s;
+r2 := randnum();
+r1 - r2
+
+-- Fixed some problems with %e etc in rules
+)clear completely
+r3:=rule(3==%pi) -- biblical approximation
+numeric(%pi)
+numeric(r3(3))
+
+)clear completely
+-- Added some extra simplifications
+sin(atan(sqrt 3)/2)
+
+)clear completely
+-- Fix to poly from Quitte
+R := IntegerMod(4)
+PolR := UP('X, R)
+X : PolR := monomial(1, 1)
+a : PolR := 2 * X**2
+b : PolR := X**2 + 2*X + 1
+-- Used to give a 0 remainder!
+qr := monicDivide(a, b)
+a - (qr.quotient * b + qr.remainder)
+
+)clear completely
+-- This used not to return 0
+limit(%e^(1/x^2)/(%e^(1/x^2) + %e^(1/x^4)), x=0)
+
+)clear completely
+-- This used to crash because we generated tan(%pi/2)
+integrate((sin(t))*sin((%pi-t)/6),t)
+
+)clear completely
+-- This used not to return 1.0!
+(x+1.0)/(x+1.0)
+
+)clear completely
+-- This used to return a formal integral
+b := D(Ci(x),x)
+integrate(b,x)
+-- This used to return -Si(x) rather than log(x) - Si(x)
+integrate((1 - sin x)/x,x)
+
+)clear completely
+-- This used to return "failed"
+limit(erf(x),x=c)
+
+-- Used only to do structural equality for algebraic numbers, now try
+-- to do true mathematical equality
+(sqrt(2)*sqrt(3)=sqrt(6))@Boolean
+
+-- New case we couldn't handle before
+integrate((a + b*x)*exp(-x^2),x)
+
+-- This used to give an infinite recursion
+laplace(sin(t)^2/t^(3/2),t,s)
+
+)clear completely
+-- The following used to fail
+P:=x^4+x^3+x^2+x+1
+Q:=x^5+x^4+2*x^3+2*x^2+2*x-2+4*sqrt(-1+sqrt(3))
+int := P/Q
+int2 := int pretend FRAC POLY IAN
+ans:=integrate(int2,x)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/r20bugs.input.pamphlet b/src/input/r20bugs.input.pamphlet
new file mode 100644
index 00000000..d9ad5acd
--- /dev/null
+++ b/src/input/r20bugs.input.pamphlet
@@ -0,0 +1,82 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input r20bugs.input}
+\author{Mike Dewar}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+--Copyright The Numerical Algorithms Group Limited 1996.
+-- This file tests bugs fixed at release 2.0a.
+-- Mike Dewar 17-5-95
+
+)clear completely
+x := operator 'x
+sum( (x i - mu)**2, i=1..N )
+D(%,mu)
+
+)clear completely
+z := log(x+.3*%i)
+z1 : EXPR Complex Float := z
+complexForm(z1)$CTRIGMNP(Float, EXPR Complex Float)
+
+)clear completely
+acot(-1)
+
+)clear completely
+sqrt(-1.0::COMPLEX FLOAT)
+log(x+%i)::EXPR COMPLEX FLOAT
+
+)clear completely
+positiveRemainder(-1,-5)
+
+)clear completely
+f:POLY FRAC COMPLEX INT := x^2+y^2
+factor f
+
+)clear completely
+acot(-y)
+
+)clear completely
+a:=matrix [[1,2],[2,-1]]
+eigenMatrix a
+
+)clear completely
+positiveRemainder(-1::SINT,-5::SINT)
+
+)clear completely
+complexRoots([u**2-v+1,v**2-4],[u,v],0.01)
+complexRoots([u**2-v+1,v**2-4],[v,u],0.01)
+
+)clear completely
+R := Record(key:Symbol,entry:Integer)
+tab := table([[a,1]$R,[b,2]$R,[c,3]$R])$Table(Symbol,Integer)
+remove!(b::Symbol,tab)
+
+)clear completely
+limit((x^a-a^x)/(x^x-a^a),x=a)
+
+)clear completely
+(4*x^6+16*x^4+16*x^2)*y^2+(-4*x^6+16*x^2)*y-8*x^6-16*x^4
+eval(%,x,z)
+exquo(%,expand factor %)
+
+)clear completely
+log exp z
+normalize %
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/r21bugs.input.pamphlet b/src/input/r21bugs.input.pamphlet
new file mode 100644
index 00000000..5ae72489
--- /dev/null
+++ b/src/input/r21bugs.input.pamphlet
@@ -0,0 +1,184 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input r21bugs.input}
+\author{Mike Dewar}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+
+-- This file tests bugs fixed since release 2.1.
+-- Mike Dewar 19-11-96
+
+)clear completely
+-- This bug, spotted by Claude Quitte, meant that we generated incorrect
+-- expressions for Chebyshev polynomials of the second kind, so that they
+-- did not satisfy the recurrence relation:
+-- U_n(x) - x U_{n-1}(x) = T_n(x)
+
+)set expose add constructor PolynomialNumberTheoryFunctions
+X : UP('x, Integer) := x
+[chebyshevU(n) - X*chebyshevU(n-1) - chebyshevT(n) for n in 1 .. ]
+
+)clear completely
+Fp:=PF 2
+poly:=createIrreduciblePoly(4)$FFPOLY(Fp)
+Fq:=FFP(Fp, poly) -- Field with 16 elements
+R:=DMP([X,Y,Z],Fq)
+Q:=FRAC R
+F:=X**4+X*Z**3
+G:=X**4+X**2*Y**2+Z**4
+h:Q:=F/G
+
+)clear completely
+
+squareFree ((c^15*e^8+c^23*d^4)::POLY PF 2)
+
+)clear completely
+FiniteFieldExtensionByPolynomial(FF(3,3),1+2*x**2+x**3)
+
+)clear completely
+Field has Ring
+
+)clear completely
+-- from bmt
+y:=operator y
+u:=operator u
+eval(y x, y, c[1]*x,x)
+eval(y x, y, D(u t,t),t)
+eval(y x ,y, integral(u t,t),t)
+eval(y x ,y, integral(u z,z=z0..t),t)
+eval(y x+D(y x,x), y, u t+ D(u t,t),t)
+eval(D(y x,x)+y(x),y,D(u x,x)+u(x),x)
+
+
+)clear completely
+-- from bmt
+ps:=x::TS FRAC INT
+D(ps,x) -- fails to find function
+D(ps,[x]) -- works
+D(ps,[y]) -- causes ccl to disappear (at least under windows)
+
+
+)clear completely
+-- from bmt
+T1:=3
+a | a^2+1
+--gets an error while trying to display the type of the expression
+--since it uses fortran code generation stuff which wants to use
+-- the variable name T1 for some other purpose
+
+)clear completely
+-- from bmt
+u1 := operator 'u1
+u2 := operator 'u2
+eq1 := D(u1(t),t,2) + 5*u1(t) = 2*u2(t)
+eq2 := D(u2(t),t,2) + 2*u2(t) = 2*u1(t)
+eq1/2
+_rule(rhs %, lhs %)
+%(lhs eq2)
+eval(%,t=0)
+
+)clear completely
+-- from bmt
+bug := [exp(sqrt(-5))]
+complexForm(bug.1) -- works
+map(complexForm,bug::List EXPR COMPLEX INT) -- works
+map(complexForm,bug) -- fails
+
+
+)clear completely
+-- from bmt
+f x == c[1]*exp(x)
+f x -- works
+g(x:EXPR(INT)):EXPR(INT) == c[1]*exp(x)
+g x -- fails
+g(x:EXPR(INT)):EXPR(INT) == (c[1]::EXPR INT)*exp(x)
+g x -- fails
+
+)clear completely
+-- from bmt
+a | a**8+a**4+a**3+a**2+(1::PF 2)
+tt:Matrix SAEa:=[_
+[0,0,0,1,1,1,0,1],_
+[1,0,0,0,0,0,0,0],_
+[0,1,0,0,0,0,0,0],_
+[0,0,1,0,0,0,0,0],_
+[0,0,0,1,0,0,0,0],_
+[0,0,0,0,1,0,0,0],_
+[0,0,0,0,0,1,0,0],_
+[0,0,0,0,0,0,1,0]];
+T:=transpose tt
+T0:=T**91
+T1:=T**95
+
+)clear completely
+-- from bmt
+u1:=operator 'u1
+u2:=operator 'u2
+eq1 := D(u1(t),t,2) + 5*u1(t) = 2*u2(t)
+eq2 := D(u2(t),t,2) + 2*u2(t) = 2*u1(t)
+eq1/2
+_rule(rhs %, lhs %)
+%(lhs eq2)=%(rhs eq2)
+rightZero %
+-2*%
+eval(lhs %,u1,exp(r*t),t)
+%/exp(r*t)
+solve(%,r)
+[eval(exp(r*t),eq) for eq in %]
+map(complexForm, %::List EXPR COMPLEX INT)
+[real %(1), imag %(1), real %(3), imag %(3)]
+gform:= u1(t)=reduce(+, [c[i]*%.i for i in 1..#%])
+_rule(lhs %, rhs %)
+%(lhs eq1)=rhs eq1
+%/2
+--part c
+inits := [u1(0)=1, eval(D(u1 t,t),t=0)=0, u2(0)=2, eval(D(u2 t,t),t=0)=0]
+eqq := eq1-5*u1(t)
+eval(eqq,t=0)
+eval(%,inits)
+inits:=cons(%,inits)
+D(eqq,t)
+eval(%,t=0)
+
+
+)clear completely
+-- from bmt
+u:=operator 'u
+exp:=D(u t,t)
+k:=kernels(exp).1
+l:=argument %
+difop:=operator k
+l2:=[l.1+l.2,l.2,l.3]
+bug:=evaluate(difop,l2)
+kernels(bug).1
+argument %
+eval(bug,t=0)
+
+)clear completely
+R := Polynomial(PrimeField(3)) ;
+A := UP('X, R)
+X : A := monomial(1, 1) ;
+f : A := a*X^3 + b*X^2 + c*X + d
+discriminant(f)
+s := differentiate f
+resultant(f,s)
+exquo(%,leadingCoefficient(f))
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/r21bugsbig.input.pamphlet b/src/input/r21bugsbig.input.pamphlet
new file mode 100644
index 00000000..9affe00e
--- /dev/null
+++ b/src/input/r21bugsbig.input.pamphlet
@@ -0,0 +1,63 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input r21bugsbig.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- takes a long time
+)clear completely
+)set expose add constructor CyclotomicPolynomialPackage
+)set message type off
+)set message time off
+n : PositiveInteger := 5
+UZn : List(PositiveInteger) := [i for i in 1 .. n-1 | gcd(i,n) = 1]
+-- K = Q(t), corps des fractions rationnelles a Phi(n) indeterminees sur Q
+vars : List(Symbol) := [concat("t", i::String)::Symbol for i in 0 ..#UZn-1] ;
+Zt := DistributedMultivariatePolynomial(vars, Integer) ; K :=Fraction(Zt) ;
+t : List(K) := [v::K for v in vars]
+-- ATTENTION : on specialise certains des indeterminees
+t(#t) := 0 ; t
+Zn := IntegerMod(n) ;
+rapport(i : Integer, j : Integer) : Integer == -- returns <i/j> modulo n
+ k : Zn := i * recip(j::Zn)::Zn
+ return convert(k)
+Phi : UP('xi, K) := map(coerce, cyclotomic(n))
+-- E est l'extension cyclotomique de K par les racines n-iemes de l'unite
+E := SimpleAlgebraicExtension(K, UP('xi, K), Phi) ;
+xi : E := generator()$E ;
+bList : List(E) := [reduce(+, [t(i+1) * xi**(i*j) for i in 0 .. #UZn-1]) for j in UZn]
+-- delta(j) = delta(j, 1) avec les nouvelles notations
+delta : List(E) :=
+ [reduce(*, [b**((j*rapport(1,k)) quo n) for b in bList for k in UZn]) for j in UZn] ;
+-- verification en introduisant la liste B des Bj
+B : List(E) := [reduce(*, [b**rapport(j,i) for b in bList for i in UZn]) for j in UZn] ;
+[B(1)**j - b * d**n for b in B for d in delta for j in UZn]
+L := SimpleAlgebraicExtension(E, UP('C1, E), C1**n - B(1)) ; C1 : L := generator()$L ;
+-- retracter de L sur Zt : Zt < K < E < L
+retraction(z : L) : Zt ==
+ zE : E := retract(z)
+ zK : K := retract(zE)
+ zt : Zt := retract(zK)
+ return zt
+)set message time on
+C : List(L) := [C1**j / d for j in UZn for d in delta] ;
+-- en principe [c**n for c in C] = B
+r : List(L) := [reduce(+, [c * xi**(k*j) for j in UZn for c in C]) for k in 0 .. n-1] ;
+LX := UP('X, L) ; X : LX := monomial(1, 1) ;
+g : LX := reduce(*, [X - rho for rho in r]) ;
+f : UP('X, Zt) := map(retraction, g)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/radff.input.pamphlet b/src/input/radff.input.pamphlet
new file mode 100644
index 00000000..8beeb1a7
--- /dev/null
+++ b/src/input/radff.input.pamphlet
@@ -0,0 +1,53 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input radff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+P0 := UP(x, INT)
+P1 := UP(y, FRAC P0)
+-- curve given by x^20 + y^20 = 1
+R := RADFF(INT, P0, P1, 1 - x**20, 20)
+definingPolynomial()$R
+genus()$R
+rank()$R
+numberOfComponents()$R
+integralBasisAtInfinity()$R
+branchPoint?(0)$R
+branchPoint?(1)$R
+y := generator()$R
+norm y
+trace y
+-- curve given by y^4 = 2 x^2
+R2 := RADFF(INT, P0, P1, 2 * x**2, 4)
+definingPolynomial()$R2
+rank()$R2
+absolutelyIrreducible?()$R2
+numberOfComponents()$R2
+genus()$R2
+integralBasis()$R2
+y := generator()$R2
+integralCoordinates(y**3)
+integralRepresents(%.num, %.den)$R2
+norm y
+trace y
+regularRepresentation y
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/radix.input.pamphlet b/src/input/radix.input.pamphlet
new file mode 100644
index 00000000..0b08b6ee
--- /dev/null
+++ b/src/input/radix.input.pamphlet
@@ -0,0 +1,39 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input RADIX.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from RadixExpansionXmpPage
+)clear all
+
+111::RadixExpansion(5)
+(5/24)::RadixExpansion(2)
+(5/24)::RadixExpansion(3)
+(5/24)::RadixExpansion(8)
+(5/24)::RadixExpansion(10)
+(5/24)::RadixExpansion(12)
+(5/24)::RadixExpansion(16)
+(5/24)::RadixExpansion(36)
+(5/24)::RadixExpansion(38)
+a := (76543/210)::RadixExpansion(8)
+w := wholeRagits a
+f0 := prefixRagits a
+f1 := cycleRagits a
+u:RadixExpansion(8):=wholeRadix(w)+fractRadix(f0,f1)
+v: RadixExpansion(12) := fractRadix([1,2,3,11], [0])
+fractRagits(u)
+a :: Fraction(Integer)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/realclos.input.pamphlet b/src/input/realclos.input.pamphlet
new file mode 100644
index 00000000..e56da691
--- /dev/null
+++ b/src/input/realclos.input.pamphlet
@@ -0,0 +1,67 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input realclos.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)clear all
+
+-- computing without a table manipulation when creating objects
+Ran := RECLOS(FRAC INT)
+-- Some simple signs for square roots, these correspond to an extension
+-- of degree 16 of the rational numbers.
+
+fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran ==
+ sqrt(a)+sqrt(b) - sqrt(c)-sqrt(d)
+
+
+
+squareDiff := fourSquares(73,548,60,586)
+recip(squareDiff)
+sign(squareDiff)
+squareDiff := fourSquares(165,778,86,990)
+recip(squareDiff)
+sign(squareDiff)
+squareDiff := fourSquares(217,708,226,692)
+recip(squareDiff)
+sign(squareDiff)
+squareDiff := fourSquares(155,836,162,820)
+recip(squareDiff)
+sign(squareDiff)
+squareDiff := fourSquares(591,772,552,818)
+recip(squareDiff)
+sign(squareDiff)
+squareDiff := fourSquares(434,1053,412,1088)
+recip(squareDiff)
+sign(squareDiff)
+squareDiff := fourSquares(514,1049,446,1152)
+recip(squareDiff)
+sign(squareDiff)
+
+squareDiff := fourSquares(190,1751,208,1698)
+recip(squareDiff)
+sign(squareDiff)
+)cl prop s2 s5 s10 l
+
+-- a more complicated test that involve an extension of degree 256
+(s2, s5, s10) := (sqrt(2)$Ran, sqrt(5)$Ran, sqrt(10)$Ran);
+sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10)
+%::Boolean
+
+-- the sum of these 4 numbers is 0
+l := allRootsOf((x^2-2)^2-2)$Ran
+l.1+l.2+l.3+l.4
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/reclos.input.pamphlet b/src/input/reclos.input.pamphlet
new file mode 100644
index 00000000..43634594
--- /dev/null
+++ b/src/input/reclos.input.pamphlet
@@ -0,0 +1,122 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input RECLOS.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+This input file was updated by Renaud Rioboo in January 2004
+<<*>>=
+
+-- Input generated from RealClosureXmpPage
+)clear all
+Ran := RECLOS(FRAC INT)
+--
+-- Some simple signs for square roots, these correspond to an extension
+-- of degree 16 of the rational numbers.
+-- these examples were given to me by J. Abbot
+--
+fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran == sqrt(a)+sqrt(b) - sqrt(c)-sqrt(d)
+squareDiff1 := fourSquares(73,548,60,586)
+recip(squareDiff1)
+sign(squareDiff1)
+squareDiff2 := fourSquares(165,778,86,990)
+recip(squareDiff2)
+sign(squareDiff2)
+squareDiff3 := fourSquares(217,708,226,692)
+recip(squareDiff3)
+sign(squareDiff3)
+squareDiff4 := fourSquares(155,836,162,820)
+recip(squareDiff4)
+sign(squareDiff4)
+squareDiff5 := fourSquares(591,772,552,818)
+recip(squareDiff5)
+sign(squareDiff5)
+squareDiff6 := fourSquares(434,1053,412,1088)
+recip(squareDiff6)
+sign(squareDiff6)
+squareDiff7 := fourSquares(514,1049,446,1152)
+recip(squareDiff7)
+sign(squareDiff7)
+squareDiff8 := fourSquares(190,1751,208,1698)
+recip(squareDiff8)
+sign(squareDiff8)
+relativeApprox(squareDiff8,10**(-3))::Float
+--
+-- test the Renaud Rioboo fix (Jan 2004)
+--
+allRootsOf((x-2)*(x-3)*(x-4))$RECLOS(FRAC INT)
+--
+-- check out if the sum of all roots is null
+-- example from P.V. Koseleff
+--
+l := allRootsOf((x**2-2)**2-2)$Ran
+l.1+l.2+l.3+l.4
+removeDuplicates map(mainDefiningPolynomial,l)
+map(mainCharacterization,l)
+[reduce(+,l),reduce(*,l)-2]
+--
+-- a more complicated test that involve an extension of degree 256
+-- example by prof Kahan at ISSAC'92
+--
+)cl prop s2 s5 10
+(s2, s5, s10) := (sqrt(2)$Ran, sqrt(5)$Ran, sqrt(10)$Ran)
+eq1:=sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10)
+eq1::Boolean
+--
+-- analogous one by [rr]
+--
+eq2:=sqrt(s5+2)*sqrt(s2+1) - sqrt(s5-2)*sqrt(s2-1) = sqrt(2*s10+2)
+eq2::Boolean
+--
+-- these came from J.M. Arnaudies
+--
+)cl prop s4 s7 e1 e2
+s3 := sqrt(3)$Ran
+s7:= sqrt(7)$Ran
+e1 := sqrt(2*s7-3*s3,3)
+e2 := sqrt(2*s7+3*s3,3)
+-- this should be null
+ee1:=e2-e1=s3
+ee1::Boolean
+)cl prop pol r1 alpha beta
+pol : UP(x,Ran) := x**4+(7/3)*x**2+30*x-(100/3)
+r1 := sqrt(7633)$Ran
+-- cubic roots
+alpha := sqrt(5*r1-436,3)/3
+beta := -sqrt(5*r1+436,3)/3
+-- this should be null
+pol.(alpha+beta-1/3)
+)cl prop qol r2 alpha beta
+r2 := sqrt(153)$Ran
+-- roots of order 5
+alpha2 := sqrt(r2-11,5)
+beta2 := -sqrt(r2+11,5)
+qol : UP(x,Ran) := x**5+10*x**3+20*x+22
+qol(alpha2+beta2)
+dst1:=sqrt(9+4*s2)=1+2*s2
+dst1::Boolean
+s6:Ran:=sqrt 6
+dst2:=sqrt(5+2*s6)+sqrt(5-2*s6) = 2*s3
+dst2::Boolean
+s29:Ran:=sqrt 29
+dst4:=sqrt(16-2*s29+2*sqrt(55-10*s29)) = sqrt(22+2*s5)-sqrt(11+2*s29)+s5
+dst4::Boolean
+dst6:=sqrt((112+70*s2)+(46+34*s2)*s5) = (5+4*s2)+(3+s2)*s5
+dst6::Boolean
+f3:Ran:=sqrt(3,5)
+f25:Ran:=sqrt(1/25,5)
+f32:Ran:=sqrt(32/5,5)
+f27:Ran:=sqrt(27/5,5)
+dst5:=sqrt((f32-f27,3)) = f25*(1+f3-f3**2)
+dst5::Boolean
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/reductio.input.pamphlet b/src/input/reductio.input.pamphlet
new file mode 100644
index 00000000..ea487ed5
--- /dev/null
+++ b/src/input/reductio.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input reductio.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input for page Reductions
+)clear all
+
+u := [30,2,5]
+reduce(+,u)
+reduce(*,u)
+u := [30,2,5]
+reduce(max,u)
+reduce(min,u)
+reduce(gcd,u)
+u := []; v := [1]
+reduce(max,u,0)
+reduce(min,v,0)
+u := [1, 7, 5, -12, 15, 3]
+reduce(or,[u.i < 0 for i in 0..])
+reduce(or,[x < 0 for x in u])
+reduce(min,[i for i in 0.. while u.i > 0])
+reduce(and,[x > 0 for x in u])
+v := [1, 1, 0, 1, 0]
+reduce(+,[v.(n - i) * 2**i for i in 0..(n := maxIndex v)])
+reduce(+,[x * y for x in u for y in v])
+reduce(+,[r for x in u for y in v | (r := y/x) > 0])
+reduce(max,[x for x in u for y in v | y = 1])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/regset.input.pamphlet b/src/input/regset.input.pamphlet
new file mode 100644
index 00000000..1e52bfb7
--- /dev/null
+++ b/src/input/regset.input.pamphlet
@@ -0,0 +1,56 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input REGSET.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from RegularTriangularSetXmpPage
+)clear all
+
+R := Integer
+ls : List Symbol := [x,y,z,t]
+V := OVAR(ls)
+E := IndexedExponents V
+P := NSMP(R, V)
+x: P := 'x
+y: P := 'y
+z: P := 'z
+t: P := 't
+T := REGSET(R,E,V,P)
+p1 := x ** 31 - x ** 6 - x - y
+p2 := x ** 8 - z
+p3 := x ** 10 - t
+lp := [p1, p2, p3]
+zeroSetSplit(lp)$T
+lts := zeroSetSplit(lp,false)$T
+[coHeight(ts) for ts in lts]
+f1 := y**2*z+2*x*y*t-2*x-z
+f2 := -x**3*z+ 4*x*y**2*z+ 4*x**2*y*t+ 2*y**3*t+ 4*x**2- 10*y**2+ 4*x*z- 10*y*t+ 2
+f3 := 2*y*z*t+x*t**2-x-2*z
+f4 := -x*z**3+ 4*y*z**2*t+ 4*x*z*t**2+ 2*y*t**3+ 4*x*z+ 4*z**2-10*y*t- 10*t**2+2
+lf := [f1, f2, f3, f4]
+zeroSetSplit(lf)$T
+lts2 := zeroSetSplit(lf,false)$T
+[coHeight(ts) for ts in lts2]
+degrees := [degree(ts) for ts in lts2]
+reduce(+,degrees)
+u : R := 2
+q1 := 2*(u-1)**2+ 2*(x-z*x+z**2)+ y**2*(x-1)**2- 2*u*x+ 2*y*t*(1-x)*(x-z)+ 2*u*z*t*(t-y)+ u**2*t**2*(1-2*z)+ 2*u*t**2*(z-x)+ 2*u*t*y*(z-1)+ 2*u*z*x*(y+1)+ (u**2-2*u)*z**2*t**2+ 2*u**2*z**2+ 4*u*(1-u)*z+ t**2*(z-x)**2
+q2 := t*(2*z+1)*(x-z)+ y*(z+2)*(1-x)+ u*(u-2)*t+ u*(1-2*u)*z*t+ u*y*(x+u-z*x-1)+ u*(u+1)*z**2*t
+q3 := -u**2*(z-1)**2+ 2*z*(z-x)-2*(x-1)
+q4 := u**2+4*(z-x**2)+3*y**2*(x-1)**2- 3*t**2*(z-x)**2 +3*u**2*t**2*(z-1)**2+u**2*z*(z-2)+6*u*t*y*(z+x+z*x-1)
+lq := [q1, q2, q3, q4]
+zeroSetSplit(lq,true,true)$T
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/repa6.input.pamphlet b/src/input/repa6.input.pamphlet
new file mode 100644
index 00000000..769c6d65
--- /dev/null
+++ b/src/input/repa6.input.pamphlet
@@ -0,0 +1,163 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input repa6.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cls
+
+-- This file demonstrates Representation Theory in Scratchpad
+-- using the packages REP1, REP2, IRSN and SGCF, which are the
+-- abbreviations for RepresentationPackage1, RepresentationPackage2
+-- IrrRepSymNatPackage and SymmetricGroupCombinatoricFunctions.
+
+-- authors: Holger Gollan, Johannes Grabmeier
+-- release 1.0 09/30/87
+-- release 2.0 11/10/88: J. Grabmeier: add functions from IRSN
+-- release 2.1 08/04/89: J. Grabmeier: adjusting to new PERM
+-- and modified REP1
+-- release 2.2 06/05/89: J. Grabmeier: adjusting to new algebra
+-- release 2.3 08/20/89: J. Grabmeier: minor adjustments
+
+-- In the sequel we show how to get all 2-modular irreducible
+-- representations of the alternating group A6.
+
+-- We generate A6 by the permutations threecycle x=(1,2,3)
+-- and the 5-cycle y=(2,3,4,5,6)
+
+genA6 : List PERM INT := [cycle [1,2,3], cycle [2,3,4,5,6]]
+
+-- pRA6 is the permutation representation over the Integers...
+
+pRA6 := permutationRepresentation (genA6, 6)
+
+-- ... and pRA6m2 is the permutation representation over PrimeField 2:
+
+pRA6m2 : List Matrix PrimeField 2 := pRA6
+
+-- Now try to split pRA6m2:
+
+sp0 := meatAxe pRA6m2
+
+-- We have found the trivial module as a factormodule
+-- and a 5-dimensional submodule.
+
+dA6d1 := sp0.2
+
+-- Try to split again...
+
+sp1 := meatAxe sp0.1
+
+-- ... and find a 4-dimensional submodule, say dA6d4a, and the
+-- trivial one again.
+
+dA6d4a := sp1.2
+
+-- Now we want to test, whether dA6d4a is absolutely irreducible...
+
+isAbsolutelyIrreducible? dA6d4a
+
+-- ...and see: dA6d4a is absolutely irreducible.
+-- So we have found a second irreducible representation.
+
+-- Now construct a representation from reducing an irreducible one
+-- of the symmetric group S_6 over the integers taken mod 2
+-- What is the degree of the representation belonging to partition
+-- [2,2,1,1]?
+
+
+-- lambda : PRTITION := partition [2,2,1,1]
+lambda := [2,2,1,1]
+dimIrrRepSym lambda
+
+-- now create the restriction to A6:
+
+d2211 := irrRepSymNat(lambda, genA6)
+
+-- ... and d2211m2 is the representation over PrimeField 2:
+
+d2211m2 : List Matrix PrimeField 2 := d2211
+
+-- and split it:
+
+sp2 := meatAxe d2211m2
+
+-- A 5 and a 4-dimensional one.
+
+-- we take the 4-dimensional one, say dA6d4b:
+
+dA6d4b := sp2.1
+
+-- This is absolutely irreducible, too ...
+
+isAbsolutelyIrreducible? dA6d4b
+
+-- ... and dA6d4a and dA6d4b are not equivalent:
+
+areEquivalent? ( dA6d4a , dA6d4b )
+
+-- So the third irreducible representation is found.
+
+-- Now construct a new representation with the help of the tensorproduct
+
+dA6d16 := tensorProduct ( dA6d4a , dA6d4b )
+
+-- and try to split it...
+
+sp3 := meatAxe dA6d16
+
+-- The representation is irreducible, but may be not
+-- absolutely irreducible.
+
+isAbsolutelyIrreducible? dA6d16
+
+-- So let's try the same over the field with 4 elements:
+
+gf4 := FiniteField(2,2)
+
+dA6d16gf4 : List Matrix gf4 := dA6d16
+sp4 := meatAxe dA6d16gf4
+
+-- Now we find two 8-dimensional ones, dA6d8a and dA6d8b.
+
+dA6d8a : List Matrix gf4 := sp4.1
+dA6d8b : List Matrix gf4 := sp4.2
+
+-- Both are absolutely irreducible...
+
+isAbsolutelyIrreducible? dA6d8a
+isAbsolutelyIrreducible? dA6d8b
+
+-- and they are not equivalent...
+
+areEquivalent? ( dA6d8a, dA6d8b )
+
+-- So we have found five absolutely irreducible representations of A6
+-- in characteristic 2.
+
+-- The theory tells us that there are no more irreducible ones.
+-- Here again are all absolutely irreducible 2-modular
+-- representations of A6
+
+dA6d1
+dA6d4a
+dA6d4b
+dA6d8a
+dA6d8b
+
+-- And here again is the irreducible, but not absolutely irreducible
+-- representations of A6 over PrimeField 2
+
+dA6d16
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ribbon.input.pamphlet b/src/input/ribbon.input.pamphlet
new file mode 100644
index 00000000..d5fc4853
--- /dev/null
+++ b/src/input/ribbon.input.pamphlet
@@ -0,0 +1,39 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ribbon.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+--the first attempt
+drawRibbons(flist,xrange) ==
+ sp := createThreeSpace()
+ y0 := 0
+ for f in flist repeat
+ makeObject(f,xrange,y=y0..y0+1,
+ space==sp, var2Steps ==1)
+ y0 := y0+1
+ vp:=makeViewport3D(sp,"Ribbons")
+ drawStyle(vp,"shade")
+ outlineRender(vp,"on")
+ showRegion(vp,"on")
+ n := # flist
+ zoom(vp,n,1,n)
+ rotate(vp,0,75)
+ vp
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ribbons.input.pamphlet b/src/input/ribbons.input.pamphlet
new file mode 100644
index 00000000..2fe8dd03
--- /dev/null
+++ b/src/input/ribbons.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ribbons.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+--the second attempt
+drawRibbons(flist, xrange, yrange) ==
+ sp := createThreeSpace()
+ num := # flist
+ yVar := variable yrange
+ y0:Float := lo segment yrange
+ width:Float := (hi segment yrange - y0)/num
+ for f in flist for color in 1..num repeat
+ makeObject(f, xrange, yVar = y0..y0+width,
+ var2Steps == 1, colorFunction == (x,y) +-> color,
+ space ==sp)
+ y0:= y0 + width
+ vp := makeViewport3D(sp, "Ribbons")
+ drawStyle(vp, "shade")
+ outlineRender(vp, "on")
+ showRegion(vp, "on")
+ vp
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ribbonsNew.input.pamphlet b/src/input/ribbonsNew.input.pamphlet
new file mode 100644
index 00000000..444c7632
--- /dev/null
+++ b/src/input/ribbonsNew.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ribbonsNew.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+drawRibbons(flist, xrange, yrange) ==
+ sp := createThreeSpace()
+ num := # flist
+ yVar := variable yrange
+ y0:Float := lo segment yrange
+ width:Float := (hi segment yrange - y0)/num
+ for f in flist for color in 1..num repeat
+ makeObject(f, xrange, yVar = y0..y0+width,
+ var2Steps == 1, colorFunction == (x,y) +-> color,
+ space ==sp)
+ y0:= y0 + width
+ vp := makeViewport3D(sp, "Ribbons")
+ drawStyle(vp, "shade")
+ outlineRender(vp, "on")
+ showRegion(vp, "on")
+ vp
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/rk4draw.input.pamphlet b/src/input/rk4draw.input.pamphlet
new file mode 100644
index 00000000..209ebb90
--- /dev/null
+++ b/src/input/rk4draw.input.pamphlet
@@ -0,0 +1,85 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input rk4draw.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Two scripts which can be combined to show how accurate the Runge-Kutta
+-- method is for simple problems.
+
+-- The first script finds the exact solution for y'= cos(y)/(2+x) given
+-- the initial value condition. This is then plotted.
+
+)clear all
+y := operator y
+deq := D(y x,x) = cos(y x)/(2+x)
+solve(deq,y,x=3,[0])
+eval (%,y(x)=z)
+solve(%,z)
+%.1
+rhs %
+draw(%,x=3..4)
+
+-- The second script uses rk4 to solve the same equation form x=3..4
+-- Each point is merged into a list which is then plotted.
+-- The two graphs can then be superimposed using the pick and drop facilities.
+
+)clear all
+y:Vector Float :=[0.0]
+x1:=3.0
+p0 := point[x1::SF,(y.1)::SF]$(Point SF)
+n:=1
+h:=0.1
+der(d:Vector Float,y:Vector Float,x:Float):Void == setelt(d,1,cos(y.1)/(2+x))
+rk4(y,n,x1,h,der)
+y
+x1:=x1+h
+p1 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p2 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p3 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p4 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p5 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p6 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p7 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p8 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p9 := point[x1::SF,(y.1)::SF]$(Point SF)
+rk4(y,n,x1,h,der);x1:=x1+h;y
+p10 := point[x1::SF,(y.1)::SF]$(Point SF)
+llp := [[p0,p1],[p1,p2],[p2,p3],[p3,p4],[p4,p5],_
+ [p5,p6],[p6,p7],[p7,p8],[p8,p9],[p9,p10]]
+pc2 := dim green()
+lpc := [pc2, pc2, pc2, pc2, pc2, pc2, pc2, pc2, pc2, pc2]
+lc := [pastel blue(), light yellow(), dim green(),_
+ bright red(), light green(),dim yellow(), _
+ bright blue(),dark red(), pastel red(), light blue()]
+size1 := 4::PositiveInteger
+lsize := [size1, size1, size1, size1, size1, size1, size1, size1, size1, size1]
+g:= makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE
+makeViewport2D(g,[title("RK4")])$VIEW2D
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/robidoux.input.pamphlet b/src/input/robidoux.input.pamphlet
new file mode 100644
index 00000000..70c286f3
--- /dev/null
+++ b/src/input/robidoux.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input robidoux.input}
+\author{Nicolas Robidoux}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+-- from the paper:
+-- Does Axiom Solve Systems of O.D.E.'s Like Mathematica?
+-- Nicolas Robidoux University of New Mexico 24 June 1993
+X1:=operator 'X1
+deq1:=D(X1 t,t)=(1+ cos t /(2+sin t)) * X1 t
+solve(deq1,X1,t)
+C1*%.basis.1
+function(%,'x1,'t)
+x1
+X2:=operator 'X2
+deq2:=D(X2 t,t)=x1 t - X2 t
+solve(deq2,X2,t)
+%.particular
+simplify %
+%+C2*%%(-3).basis.1
+function(%,'x2,'t)
+x2
+-- we can stop here because the answer is improved over the
+-- one given in the paper.
+x1 t
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/roman.input.pamphlet b/src/input/roman.input.pamphlet
new file mode 100644
index 00000000..9e62c652
--- /dev/null
+++ b/src/input/roman.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ROMAN.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from RomanNumeralXmpPage
+)clear all
+
+f := operator 'f
+D(f x,x,7)
+a := roman(1978 - 1965)
+x : UTS(ROMAN,'x,0) := x
+recip(1 - x - x**2)
+m : MATRIX FRAC ROMAN
+m := matrix [[1/(i + j) for i in 1..3] for j in 1..3]
+inverse m
+y := factorial 10
+roman y
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/romnum.as.pamphlet b/src/input/romnum.as.pamphlet
new file mode 100644
index 00000000..b70f027d
--- /dev/null
+++ b/src/input/romnum.as.pamphlet
@@ -0,0 +1,68 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input romnum.as}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+-- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+@
+<<*>>=
+<<license>>
+#pile
+#include "axiom.as"
+
+RomanNumber : IntegerNumberSystem == Integer add
+ import from NumberFormats
+ coerce(r:%):OutputForm ==
+ import from Integer
+ n := convert(r)@Integer
+ -- okay, we stretch it
+ zero? n => n::OutputForm
+ negative? n => - ((-r)::OutputForm)
+ import from PositiveInteger
+ message FormatRoman(n::PositiveInteger)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/roots.input.pamphlet b/src/input/roots.input.pamphlet
new file mode 100644
index 00000000..16889aa0
--- /dev/null
+++ b/src/input/roots.input.pamphlet
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input roots.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl completely
+-- This will compute all the roots of x**4 + 1 = 0
+lr:=rootsOf(x**4+1,x)
+-- the new expressions satisfy
+definingPolynomial %x0
+definingPolynomial %x1
+--the product of the first three is a root
+lr.1 * lr.2 * lr.3
+%**4
+-- so is the sum
+lr.1 + lr.2 + lr.3
+%**4
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/rules.input.pamphlet b/src/input/rules.input.pamphlet
new file mode 100644
index 00000000..ab7e6981
--- /dev/null
+++ b/src/input/rules.input.pamphlet
@@ -0,0 +1,66 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input rules.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+-- first a single rule
+logrule := rule log(x) + log(y) == log(x * y)
+f := log sin x + log x
+logrule f
+
+-- now a pile of several rules
+logrules := rule
+ log(x) + log(y) == log(x * y)
+ y * log x == log(x ** y)
+f := a * log(sin x) - 2 * log x
+logrules f
+
+-- example of a predicate attached to a pattern variable
+logrules2 := rule
+ log(x) + log(y) == log(x * y)
+ (y | integer? y) * log x == log(x ** y)
+logrules2 f
+
+-- rules for linearizing sines and cosines
+trigLinearize := rule
+ sin(x) * sin(y) == cos(x-y)/2 - cos(x+y)/2
+ cos(x) * cos(y) == cos(x+y)/2 + cos(x-y)/2
+ sin(x) * cos(y) == sin(x+y)/2 + sin(x-y)/2
+ sin(x) ** (n | integer? n and n > 1) == (1-cos(2*x))/2 * sin(x)**(n-2)
+ cos(x) ** (n | integer? n and n > 1) == (1+cos(2*x))/2 * cos(x)**(n-2)
+g := sin(a)*cos(b) + sin(a)*cos(a) + cos(2*a)*cos(3*a)
+trigLinearize g
+
+-- here we show the use of ? to indicate an 'optional' pattern variables
+eirule := rule integral((?y + exp x)/x,x) == integral(y/x,x) + Ei x
+eirule integral(exp u/u, u)
+eirule integral(sin u + exp u/u, u)
+
+-- here we show the use of : to indicate a 'multiple' pattern variables
+u := operator u
+v := operator v
+myrule := rule u(x + y) == u x + v y
+h := u(a + b + c + d)
+myrule h
+myrule2 := rule u(:x + y) == u x + v y
+myrule2 h
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/ruleset.input.pamphlet b/src/input/ruleset.input.pamphlet
new file mode 100644
index 00000000..626cb51b
--- /dev/null
+++ b/src/input/ruleset.input.pamphlet
@@ -0,0 +1,51 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ruleset.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)cl all
+-- This is the example from "Programming in Mathematica", p.139
+
+TrigLinearRules := rule
+ sin(x) * sin(y) == cos(x-y)/2 - cos(x+y)/2
+ cos(x) * cos(y) == cos(x+y)/2 + cos(x-y)/2
+ sin(x) * cos(y) == sin(x+y)/2 + sin(x-y)/2
+ sin(x)**(n | integer? n and n > 0) == (1-cos(2*x))/2 * sin(x)**(n-2)
+ cos(x)**(n | integer? n and n > 0) == (1+cos(2*x))/2 * cos(x)**(n-2)
+
+sin(a)*cos(b) + sin(a)*cos(a) + cos(2*a)*cos(3*a)
+TrigLinearRules %
+
+sin(a) * sin(2*a) * sin(3*a) * sin(4*a)
+TrigLinearRules %
+
+-- Defining an operator to be linear w.r.t. its 2nd argument
+
+f := operator 'f
+
+FLinearRules := rule
+ f(a + b, x) == f(a, x) + f(b, x)
+ f(c * a, x | freeOf?(c, x)) == c * f(a, x)
+
+f(2*x + a * log(x) + x * log(x), x)
+FLinearRules %
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s01eaf.input.pamphlet b/src/input/s01eaf.input.pamphlet
new file mode 100644
index 00000000..e7a2ed7a
--- /dev/null
+++ b/src/input/s01eaf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s01eaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s01eaf(complex(-0.5,2.0),-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s13aaf.input.pamphlet b/src/input/s13aaf.input.pamphlet
new file mode 100644
index 00000000..0301868e
--- /dev/null
+++ b/src/input/s13aaf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s13aaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s13aaf(2.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s13acf.input.pamphlet b/src/input/s13acf.input.pamphlet
new file mode 100644
index 00000000..d6e16be3
--- /dev/null
+++ b/src/input/s13acf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s13acf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s13acf(0.2,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s13adf.input.pamphlet b/src/input/s13adf.input.pamphlet
new file mode 100644
index 00000000..22479b54
--- /dev/null
+++ b/src/input/s13adf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s13adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s13adf(0.2,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s14aaf.input.pamphlet b/src/input/s14aaf.input.pamphlet
new file mode 100644
index 00000000..8feeafa7
--- /dev/null
+++ b/src/input/s14aaf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s14aaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s14aaf(1.25,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s14abf.input.pamphlet b/src/input/s14abf.input.pamphlet
new file mode 100644
index 00000000..e2090cc1
--- /dev/null
+++ b/src/input/s14abf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s14abf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s14abf(1.25,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s14baf.input.pamphlet b/src/input/s14baf.input.pamphlet
new file mode 100644
index 00000000..49128dee
--- /dev/null
+++ b/src/input/s14baf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s14baf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s14baf(2.0,3.0,1.1102230246251600E-16,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s15adf.input.pamphlet b/src/input/s15adf.input.pamphlet
new file mode 100644
index 00000000..594ba5c0
--- /dev/null
+++ b/src/input/s15adf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s15adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s15adf(-10.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s15aef.input.pamphlet b/src/input/s15aef.input.pamphlet
new file mode 100644
index 00000000..be8c8bd4
--- /dev/null
+++ b/src/input/s15aef.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s15aef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s15aef(-6.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17acf.input.pamphlet b/src/input/s17acf.input.pamphlet
new file mode 100644
index 00000000..f7f6ac24
--- /dev/null
+++ b/src/input/s17acf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17acf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17acf(0.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17adf.input.pamphlet b/src/input/s17adf.input.pamphlet
new file mode 100644
index 00000000..c8f15270
--- /dev/null
+++ b/src/input/s17adf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17adf(0.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17aef.input.pamphlet b/src/input/s17aef.input.pamphlet
new file mode 100644
index 00000000..2a1a878e
--- /dev/null
+++ b/src/input/s17aef.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17aef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17aef(0.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17aff.input.pamphlet b/src/input/s17aff.input.pamphlet
new file mode 100644
index 00000000..c0fe8cee
--- /dev/null
+++ b/src/input/s17aff.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17aff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17aff(0.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17agf.input.pamphlet b/src/input/s17agf.input.pamphlet
new file mode 100644
index 00000000..8e806e48
--- /dev/null
+++ b/src/input/s17agf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17agf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17agf(-10.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17ahf.input.pamphlet b/src/input/s17ahf.input.pamphlet
new file mode 100644
index 00000000..294a5d11
--- /dev/null
+++ b/src/input/s17ahf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17ahf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17ahf(-10.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17ajf.input.pamphlet b/src/input/s17ajf.input.pamphlet
new file mode 100644
index 00000000..abeb9e99
--- /dev/null
+++ b/src/input/s17ajf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17ajf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17ajf(-10.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17akf.input.pamphlet b/src/input/s17akf.input.pamphlet
new file mode 100644
index 00000000..dd6db245
--- /dev/null
+++ b/src/input/s17akf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17akf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17akf(-10.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17dcf.input.pamphlet b/src/input/s17dcf.input.pamphlet
new file mode 100644
index 00000000..a8768b8a
--- /dev/null
+++ b/src/input/s17dcf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17dcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17dcf(0.0,complex(0.3,0.4),2,"u", -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17def.input.pamphlet b/src/input/s17def.input.pamphlet
new file mode 100644
index 00000000..3ee0374c
--- /dev/null
+++ b/src/input/s17def.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17def.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17def(0.0,complex(0.3,0.4),2,"u", -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17dgf.input.pamphlet b/src/input/s17dgf.input.pamphlet
new file mode 100644
index 00000000..d66dd143
--- /dev/null
+++ b/src/input/s17dgf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17dgf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17dgf("f",complex(0.3,0.4),"u", -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17dhf.input.pamphlet b/src/input/s17dhf.input.pamphlet
new file mode 100644
index 00000000..ce488594
--- /dev/null
+++ b/src/input/s17dhf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17dhf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17dhf("f",complex(0.3,0.4),"u", -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s17dlf.input.pamphlet b/src/input/s17dlf.input.pamphlet
new file mode 100644
index 00000000..91919c93
--- /dev/null
+++ b/src/input/s17dlf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s17dlf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s17dlf(1, 0.0,complex(0.3,0.4),2,"u", -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s18acf.input.pamphlet b/src/input/s18acf.input.pamphlet
new file mode 100644
index 00000000..ccd38919
--- /dev/null
+++ b/src/input/s18acf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s18acf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s18acf(0.4,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s18adf.input.pamphlet b/src/input/s18adf.input.pamphlet
new file mode 100644
index 00000000..07cfcac4
--- /dev/null
+++ b/src/input/s18adf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s18adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s18adf(0.4,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s18aef.input.pamphlet b/src/input/s18aef.input.pamphlet
new file mode 100644
index 00000000..8819c03e
--- /dev/null
+++ b/src/input/s18aef.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s18aef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s18aef(0.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s18aff.input.pamphlet b/src/input/s18aff.input.pamphlet
new file mode 100644
index 00000000..34ddbd2f
--- /dev/null
+++ b/src/input/s18aff.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s18aff.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s18aff(0.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s18dcf.input.pamphlet b/src/input/s18dcf.input.pamphlet
new file mode 100644
index 00000000..8f8b2f5b
--- /dev/null
+++ b/src/input/s18dcf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s18dcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s18dcf(0.0,complex(0.3,0.4),2,"u", -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s18def.input.pamphlet b/src/input/s18def.input.pamphlet
new file mode 100644
index 00000000..5f575d18
--- /dev/null
+++ b/src/input/s18def.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s18def.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s18def(0.0,complex(0.3,-0.4),2,"u", -1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s19aaf.input.pamphlet b/src/input/s19aaf.input.pamphlet
new file mode 100644
index 00000000..708326c4
--- /dev/null
+++ b/src/input/s19aaf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s19aaf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s19aaf(1.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s19abf.input.pamphlet b/src/input/s19abf.input.pamphlet
new file mode 100644
index 00000000..dc6e2bf1
--- /dev/null
+++ b/src/input/s19abf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s19abf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s19abf(0.1,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s19acf.input.pamphlet b/src/input/s19acf.input.pamphlet
new file mode 100644
index 00000000..1b8ce288
--- /dev/null
+++ b/src/input/s19acf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s19acf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s19acf(0.1,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s19adf.input.pamphlet b/src/input/s19adf.input.pamphlet
new file mode 100644
index 00000000..23128508
--- /dev/null
+++ b/src/input/s19adf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s19adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s19adf(0.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s20acf.input.pamphlet b/src/input/s20acf.input.pamphlet
new file mode 100644
index 00000000..f6ba0530
--- /dev/null
+++ b/src/input/s20acf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s20acf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s20acf(0.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s20adf.input.pamphlet b/src/input/s20adf.input.pamphlet
new file mode 100644
index 00000000..47433371
--- /dev/null
+++ b/src/input/s20adf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s20adf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s20adf(0.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s21baf.input.pamphlet b/src/input/s21baf.input.pamphlet
new file mode 100644
index 00000000..f2c39d0c
--- /dev/null
+++ b/src/input/s21baf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s21baf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s21baf(0.5,1.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s21bbf.input.pamphlet b/src/input/s21bbf.input.pamphlet
new file mode 100644
index 00000000..5654738b
--- /dev/null
+++ b/src/input/s21bbf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s21bbf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s21bbf(0.5,1.0,1.5,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s21bcf.input.pamphlet b/src/input/s21bcf.input.pamphlet
new file mode 100644
index 00000000..a63aee56
--- /dev/null
+++ b/src/input/s21bcf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s21bcf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s21bcf(0.5,0.5,1.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/s21bdf.input.pamphlet b/src/input/s21bdf.input.pamphlet
new file mode 100644
index 00000000..64b3ddf4
--- /dev/null
+++ b/src/input/s21bdf.input.pamphlet
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input s21bdf.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+showArrayValues true
+showScalarValues true
+result:=s21bdf(0.5,0.5,0.5,2.0,-1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/saddle.input.pamphlet b/src/input/saddle.input.pamphlet
new file mode 100644
index 00000000..a280c629
--- /dev/null
+++ b/src/input/saddle.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input saddle.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)saddle.input 1.1 89/09/07 20:55:18
+draw(x**2 - y**2,x = -2..2, y = -2..2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/scherk.input.pamphlet b/src/input/scherk.input.pamphlet
new file mode 100644
index 00000000..11ae1bbb
--- /dev/null
+++ b/src/input/scherk.input.pamphlet
@@ -0,0 +1,74 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input scherk.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Scherk's minimal surface.
+-- Defined by:
+-- exp(z) * cos(x) = cos(y)
+-- See: A comprehensive Introduction to Differential Geometry, Vol. 3,
+-- by Michael Spivak, Publish Or Persih, Berkeley, 1979, pp 249-252.
+
+-- Off set for a single piece of Scherk's minimal surface
+(xOffset, yOffset):DoubleFloat
+
+-- DrawScherk's minimal surface on an m by n patch.
+drawScherk(m,n) ==
+ free xOffset, yOffset
+ space := create3Space()$ThreeSpace(DoubleFloat)
+ for i in 0..m-1 repeat
+ xOffset := i*%pi
+ for j in 0 .. n-1 repeat
+ rem(i+j, 2) = 0 => 'iter
+ yOffset := j*%pi
+ drawOneScherk(space)
+ makeViewport3D(space, "Scherk's Minimal Surface")
+
+-- The four patches which make up a single piece of Scherk's minimal surface.
+scherk1(u,v) ==
+ x := cos(u)/exp(v)
+ point [xOffset + acos(x), yOffset + u, v, abs(v)]
+
+scherk2(u,v) ==
+ x := cos(u)/exp(v)
+ point [xOffset - acos(x), yOffset + u, v, abs(v)]
+
+scherk3(u,v) ==
+ x := exp(v) * cos(u)
+ point [xOffset + u, yOffset + acos(x), v, abs(v)]
+
+scherk4(u,v) ==
+ x := exp(v) * cos(u)
+ point [xOffset + u, yOffset - acos(x), v, abs(v)]
+
+
+-- We draw the surface by breaking it into 4 patches, and drawing them
+-- into a single space.
+drawOneScherk(s) ==
+ makeObject(scherk1, -%pi/2..%pi/2, 0..%pi/2, space == s, _
+ var1Steps == 28, var2Steps == 28)
+ makeObject(scherk2, -%pi/2..%pi/2, 0..%pi/2, space == s, _
+ var1Steps == 28, var2Steps == 28)
+ makeObject(scherk3, -%pi/2..%pi/2, -%pi/2..0, space == s, _
+ var1Steps == 28, var2Steps == 28)
+ makeObject(scherk4, -%pi/2..%pi/2, -%pi/2..0, space == s, _
+ var1Steps == 28, var2Steps == 28)
+ void()
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/scope.input.pamphlet b/src/input/scope.input.pamphlet
new file mode 100644
index 00000000..40043aeb
--- /dev/null
+++ b/src/input/scope.input.pamphlet
@@ -0,0 +1,41 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input scope.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+
+showbug1():Void ==
+ for i in 1..1 repeat
+ z:="I'm OK"
+ print(z)
+ showbug2()
+ print(z)
+
+showbug2():Void ==
+ for i in 1..1 repeat
+ z:="I'm nasty"
+
+-- used to print:
+-- I'm OK
+-- I'm nasty
+
+showbug1()
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/seg.input.pamphlet b/src/input/seg.input.pamphlet
new file mode 100644
index 00000000..98a1daa4
--- /dev/null
+++ b/src/input/seg.input.pamphlet
@@ -0,0 +1,32 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input SEG.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from SegmentXmpPage
+)clear all
+
+s := 3..10
+lo s
+hi s
+t := 10..3 by -2
+incr s
+incr t
+l := [1..3, 5, 9, 15..11 by -1]
+expand s
+expand t
+expand l
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/segbind.input.pamphlet b/src/input/segbind.input.pamphlet
new file mode 100644
index 00000000..907f5ef0
--- /dev/null
+++ b/src/input/segbind.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input SEGBING.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from SegmentBindingXmpPage
+)clear all
+
+x = a..b
+sum(i**2, i = 0..n)
+draw(x**2, x = -2..2)
+sb := y = 1/2..3/2
+variable(sb)
+segment(sb)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/series.input.pamphlet b/src/input/series.input.pamphlet
new file mode 100644
index 00000000..a9df6050
--- /dev/null
+++ b/src/input/series.input.pamphlet
@@ -0,0 +1,56 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input series.input}
+\author{Clifton J. Williamson}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+--% Expression To Power Series
+-- We compute series expansions of various functions using EXPR2UPS.
+-- Author: Clifton J. Williamson
+-- Date Created: 1 June 1990
+-- Date Last Updated: 1 June 1990
+-- Keywords: Taylor, Laurent, Puiseux, series
+-- References:
+
+)clear all
+
+-- Test functions in EXPR2UPS:
+
+xT := taylor(x)
+sin(tan(xT))
+taylor(asec(2+x))
+sec %
+taylor(sin(x),x = %pi/4)
+
+xL := laurent(x)
+1/xL - cot(xL)
+laurent(csc(x))
+laurent(1/log(x),x = 1)
+
+xP := puiseux(x)
+sqrt(xP) - sqrt(sin(xP))
+puiseux(sqrt(1 - cos(x))/x)
+puiseux(sqrt(1 - tan(x)),x = %pi/2)
+
+xS := series(x)
+sin(xS)**(1/3) - sin(xS**(1/3))
+series(log(tan(x)))
+series(log(cot(x)),x = %pi/2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/series2.input.pamphlet b/src/input/series2.input.pamphlet
new file mode 100644
index 00000000..4239789b
--- /dev/null
+++ b/src/input/series2.input.pamphlet
@@ -0,0 +1,95 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input series2.input}
+\author{Clifton J. Williamson}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+--% Expression To Power Series
+-- We compute series expansions of various functions using EXPR2UPS and STTF.
+-- Author: Clifton J. Williamson
+-- Date Created: 12 August 1992
+-- Date Last Updated: 12 August 1992
+-- Keywords: Taylor series
+-- References:
+
+-- Power series expansions around branch points
+-- (Well not really, since we have x**2, not x. Otherwise, our series
+-- expansions would have fractional powers.)
+
+f1 := taylor(1 - x**2,x = 0)
+
+asin f1
+sin %
+
+acos f1
+cos %
+
+f2 := taylor(1 + x**2,x = 0)
+
+acsc f2
+csc %
+
+asec f2
+sec %
+
+f3 := taylor(1 - (x - a)**2,x = a)
+
+asin f3
+sin %
+
+acos f3
+cos %
+
+f4 := taylor(1 + (x - a)**2,x = a)
+
+acsc f4
+csc %
+
+asec f4
+sec %
+
+f5 := taylor(%i + x**2,x = 0)
+
+asinh f5
+map(normalize,sinh %)
+
+acosh f1
+map(normalize,cosh %)
+
+asech f2
+sech %
+
+acsch f1
+map(normalize,csch %)
+
+f6 := taylor(%i + (x - a)**2,x = a)
+
+asinh f6
+map(normalize,sinh %)
+
+acosh f3
+map(normalize,cosh %)
+
+asech f4
+sech %
+
+acsch f3
+map(normalize,csch %)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/sersolve.input.pamphlet b/src/input/sersolve.input.pamphlet
new file mode 100644
index 00000000..cb0ecd92
--- /dev/null
+++ b/src/input/sersolve.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input sersolve.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+
+y := operator 'y
+eq := D(y x,x) - x*cos(y x) - exp(x)
+seriesSolve(eq,y,x=0,y(0) = 0)
+)set streams calculate 10
+R := EXPR INT
+uts := UTS(R,'x,0)
+foo: uts -> uts
+foo y ==
+ xx := monomial(1,1)$uts
+ xx * cos(y) + exp(xx)
+y := ode1(foo,0)$UTSODE(R,uts)
+x : uts := x
+x * cos(y) + exp(x)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/set.input.pamphlet b/src/input/set.input.pamphlet
new file mode 100644
index 00000000..85e582ec
--- /dev/null
+++ b/src/input/set.input.pamphlet
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input SET.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from SetXmpPage
+)clear all
+
+s := set [x**2-1, y**2-1, z**2-1]
+t := set [x**i - i+1 for i in 2..10 | prime? i]
+i := intersect(s,t)
+u := union(s,t)
+difference(s,t)
+symmetricDifference(s,t)
+member?(y, s)
+member?((y+1)*(y-1), s)
+subset?(i, s)
+subset?(u, s)
+gs := set [g for i in 1..11 | primitive?(g := i::PF 11)]
+complement gs
+a := set [i**2 for i in 1..5]
+insert!(32, a)
+remove!(25, a)
+a
+b := b0 := set [i**2 for i in 1..5]
+b := union(b, {32})
+b := difference(b, {25})
+b0
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/sinCosEx.input.pamphlet b/src/input/sinCosEx.input.pamphlet
new file mode 100644
index 00000000..a3355075
--- /dev/null
+++ b/src/input/sinCosEx.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input sinCosEx.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+sinCosExpand := rule
+ sin(-x) == - sin(x)
+ cos(-x) == cos(x)
+ sin(x + y) == sin(x) * cos(y) + sin(y) * cos(x)
+ cos(x + y) == cos(x) * cos(y) - sin(x) * sin(y)
+ sin((n | integer? n and n > 1) * x) ==_
+ sin(x) * cos((n-1)*x) + sin((n-1)*x) * cos(x)
+ cos((n | integer? n and n > 1) * x) ==_
+ cos(x) * cos((n-1)*x) - sin(x) * sin((n-1)*x)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/sininv.input.pamphlet b/src/input/sininv.input.pamphlet
new file mode 100644
index 00000000..ed90c5d3
--- /dev/null
+++ b/src/input/sininv.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input sininv.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)sininv.input 1.1 89/09/07 20:55:20
+draw(sin inv x,x = -1.03..3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/sinsin.input.pamphlet b/src/input/sinsin.input.pamphlet
new file mode 100644
index 00000000..0cdcf039
--- /dev/null
+++ b/src/input/sinsin.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input sinsin.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)sinsin.input 1.1 89/09/07 20:55:22
+draw(sin(x) * sin(y),x = 0..2*%pi, y = 0..2*%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/sinsin2.input.pamphlet b/src/input/sinsin2.input.pamphlet
new file mode 100644
index 00000000..cecaf075
--- /dev/null
+++ b/src/input/sinsin2.input.pamphlet
@@ -0,0 +1,19 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input sinsin2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+draw(sin(x) * sin(y),x = 20*%pi..22*%pi, y = 20*%pi..22*%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/sint.input.pamphlet b/src/input/sint.input.pamphlet
new file mode 100644
index 00000000..d51fbb5d
--- /dev/null
+++ b/src/input/sint.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input SINT.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from SingleIntegerXmpPage
+)clear all
+
+min()$SingleInteger
+max()$SingleInteger
+a := 1234 :: SingleInteger
+b := 124$SingleInteger
+gcd(a,b)
+lcm(a,b)
+mulmod(5,6,13)$SingleInteger
+positiveRemainder(37,13)$SingleInteger
+And(3,4)$SingleInteger
+shift(1,4)$SingleInteger
+shift(31,-1)$SingleInteger
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/skew.input.pamphlet b/src/input/skew.input.pamphlet
new file mode 100644
index 00000000..4c86808f
--- /dev/null
+++ b/src/input/skew.input.pamphlet
@@ -0,0 +1,113 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input skew.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- make sure that LALG, EAB, ANTISYM are loaded
+--
+)cl all
+
+-- We will look at the deRham complex of Euclidean 3-space and use
+-- coordinates (x,y,z).
+lv:List Symbol := [x,y,z]
+
+-- Next is our ring of functions. We can have functions of any
+-- number of variables, but since we've chosen to work with ordinary
+-- Euclidean 3-space, an expression like f(x,t,r,y,u,z) will be treated
+-- as a parameterized function of (x,y,z) and will be considered to be
+-- constant in the variables t,r,u. We choose expressions with integer
+-- coefficients in this example.
+macro coefRing == Integer
+R := Expression coefRing
+
+-- The declaration for the deRham complex takes arguments a ring coefRing
+-- and a list of variables (lv is of type List Symbol).
+der := DERHAM(coefRing,lv)
+
+-- here are some functions chosen at random.
+f:R:=x**2*y*z-5*x**3*y**2*z**5
+g:R:=z**2*y*cos(z)-7*sin(x**3*y**2)*z**2
+h:R:=x*y*z-2*x**3*y*z**2
+
+-- The multiplicative basis elements for the exterior algebra over R are
+-- defined here.
+dx :der := generator(1)
+dy :der := generator(2)
+dz :der := generator(3)
+-- A nice alternate for the assignments above is
+[dx,dy,dz] := [generator(i)$der for i in 1..3]
+
+-- Now some 1-forms chosen at random.
+alpha:der := f*dx + g*dy + h*dz
+beta:der := cos(tan(x*y*z)+x*y*z)*dx + x*dy
+
+-- we know that exteriorDifferential^2 = 0, let's see that:
+exteriorDifferential alpha
+exteriorDifferential %
+
+-- exteriorDifferential is long, let's shorten that.
+macro exD == exteriorDifferential
+
+-- we know that exD is a (graded) derivation, let's see that:
+gamma := alpha * beta
+
+delta := exD gamma
+-- need the "-" because alpha is a 1-form and 1 is odd.
+epsilon := exD(alpha)*beta - alpha * exD(beta)
+
+delta - epsilon
+
+-- We define some operators.
+a:BOP := operator('a)
+b:BOP := operator('b)
+c:BOP := operator('c)
+
+-- Now some indeterminate one and two forms.
+alpha := a(x,y,z) * dx + b(x,y,z) * dy + c(x,y,z) * dz
+beta := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz
+
+-- the "gradient".
+totalDifferential(a(x,y,z))$der
+-- the "curl".
+exD alpha
+-- the "divergence".
+exD beta
+
+-- Note that the deRham complex is an algebra with 1.
+id:der := 1
+
+-- Now some parameterized functions (and fomrs -- left as an exercise).
+-- Note how the system keeps track of where your coordinate functions
+-- are located in expressions. By multiplying the expressions below by
+-- 1 in the deRham complex, we automatically convert them to 0-forms,
+-- i.e., functions on our space.
+g1:der := a([x,t,y,u,v,z,e]) * id
+h1:der := a([x,y,x,t,x,z,y,r,u,x]) * id
+
+exD g1
+exD h1
+
+-- Now note that we can find the coefficient of some basis term in
+-- any form (the basis in this case consists of the 8 forms
+-- 1, dx, dx, dz, dx dy, dx dz, dy dz, dx dy dz.
+coefficient(gamma, dx*dy)
+coefficient(gamma, id)
+coefficient(g1,id)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/slowint.input.pamphlet b/src/input/slowint.input.pamphlet
new file mode 100644
index 00000000..64078f9b
--- /dev/null
+++ b/src/input/slowint.input.pamphlet
@@ -0,0 +1,29 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input slowint.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- test intalg.spad
+k := 7/5
+mu := sqrt ( ((k-1)*m**2 + 2)/(2*k*m**2 -(k-1)))
+km := 2/ ( (1+(2/(k+1)) * (1-mu**2)/mu)*(2*mu + 1 + 1/(m**2)))
+f := - 2*m / ((m**2-1)*km)
+integrate(f,m)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/solvetra.input.pamphlet b/src/input/solvetra.input.pamphlet
new file mode 100644
index 00000000..adc05633
--- /dev/null
+++ b/src/input/solvetra.input.pamphlet
@@ -0,0 +1,62 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input solvetra.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+solve(sin(x)-8=0)
+solve(sin(x)-8=0,x)
+solve(sin(x)-8)
+solve(sin(x)-8,x)
+solve(sin(x**2)-2,x)
+solve(sin(x**2)-3,x)
+solve(sin(x**2)**2-3,x)
+solve(sin(x+2)-2,x)
+solve(sin(x**2+2)-2,x)
+solve(sin(x)*cos(8)*tan(88)*567-y*3+3,x)
+solve(sin(x-77)*cos(8)*tan(88)*567-y*3+3,x)
+solve(sin(x**2-77)*cos(8)*tan(88)*567-y*3+3,x)
+solve(sin(x)*cos(x)-2,x)
+solve(sin(x**3-77)*cos(8)*tan(88)*567-y*3+3,x)
+solve(cos(x)+cos(3*x)+cos(5*x) ,x)
+solve(3*tan(3*x)-tan(x)+2,x)
+solve(3*sech(x)**2+4*tanh(x)+1,x)
+solve(cosh(x)-3*sinh(x),x)
+solve(2*sinh(x)+6*cosh(x)-5,x)
+solve(exp(3*x)-4*exp(x)+3*exp(-x),x)
+solve(log(x+1)+log(x-1)-3,x)
+solve(sin(x)*cos(x)-2,x)
+solve(- cos(- x + a)*sin(x) + 2*cos(x)*sin(- x + a),x)
+solve(sin(x)+cos(x)=2,x)
+solve(- cos(- x )*sin(x),x)
+solve(- cos(- x + a)*sin(x),x)
+solve(log(sqrt(sqrt(sqrt(x+1)+4)+7))+5,x)
+solve(2**x-6,x)
+solve(sqrt(x+1)+sqrt(x+7)+1,x)
+solve(sqrt(sin(x))+1,x)
+solve(sqrt(sin(x))+sqrt(cos(x))+1,x)
+solve(sqrt(sin(x)+1)+(sin(x)+1)**(1/3)+7,x)
+solve(sqrt(sqrt(sqrt(1+x)+7)+1)+8-2,x)
+solve(sqrt(sin(x)+1)+(sin(x)+5)**(1/3)+7,x)
+solve(sqrt(sin(x+1))+sqrt(sin(x+7))+1,x)
+solve(asin(x)+acot(x)-2,x)
+solve(asinh(x)+acoth(x)-2,x)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/space3.input.pamphlet b/src/input/space3.input.pamphlet
new file mode 100644
index 00000000..7974fee7
--- /dev/null
+++ b/src/input/space3.input.pamphlet
@@ -0,0 +1,283 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input space3.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+-- test for ThreeSpace domain
+
+)clear all
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+closedCurve(space,[p0,p1,p2,p3])
+
+closedCurve(space,[[1,1,1],[1,0,0],[0,0,0],[0,1,1]])
+
+cspace := closedCurve([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)
+
+closedCurve cspace
+
+)clear all
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+closedCurve(space,[p0,p1,p2,p3])
+closedCurve? space
+
+curve(space,[p0,p1,p2,p3])
+point(space,p0)
+components(space)
+
+space1 := create3Space()$(ThreeSpace DoubleFloat)
+curve(space1,[p0,p1,p2,p3])
+point(space1,p0)
+space2 := point(p0)$(ThreeSpace DoubleFloat)
+space3 := curve[p0,p1,p2]$(ThreeSpace DoubleFloat)
+composite [space1,space2,space3]
+
+curve(space,[p0,p1,p2,p3])
+point(space,p0)
+point(space,p1)
+closedCurve(space,[p0,p1,p2])
+composite [space1,space2,space3]
+composites(space)
+
+curve(space,[p0,p1,p2,p3])
+point(space,p0)
+space4 := copy space
+
+curve(space,[p0,p1,p2])
+point(space,p0)
+sub := subspace(space)
+spNew := create3Space(sub)$(ThreeSpace DoubleFloat)
+
+curve(space,[p0,p1,p2,p3])
+
+curve(space,[[1,1,1],[1,0,0],[0,0,0],[0,1,1]])
+
+cspace := curve([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)
+
+curve cspace
+
+)clear all
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+curve(space,[p0,p1,p2,p3])
+curve? space
+
+)clear all
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+closedCurve(space,[p0,p1,p2,p3])
+curve(space,[p0,p1,p2,p3])
+point(space,p0)
+point(space,p3)
+polygon(space,[p0,p1,p3])
+polygon(space,[p0,p2,p3])
+lllip(space)
+
+closedCurve(space,[p0,p1,p2,p3])
+curve(space,[p0,p1,p2,p3])
+point(space,p0)
+polygon(space,[p0,p1,p3])
+llprop(space)
+lprop(space)
+
+closedCurve(space,[p0,p1,p2,p3])
+curve(space,[p0,p1,p2,p3])
+point(space,p0)
+polygon(space,[p0,p1,p3])
+lp(space)
+
+enterPointData(space,[p0,p1,p2,p3])
+
+)clear all
+
+space1 := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+curve(space1,[p0,p1,p2,p3])
+space2 := copy space1
+point(space1,p3)
+space3 := copy space1
+curve(space3,[p0,p1,p2])
+newSpace1 := merge [space1,space2,space3]
+newSpace2 := merge(space2,space3)
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+prop := new()$SubSpaceComponentProperty()
+lprop := [prop, prop, prop]
+mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],lprop,prop)
+
+mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],lprop,prop)
+
+mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],closed?(prop),closed?(prop))
+b := close(prop,true)
+mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],b,b)
+
+mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],closed?(prop),closed?(prop))
+mesh(space,[[[1,1,1],[1,0,0],[0,0,0]],[[1,0,0],[0,0,0],[0,1,1]],[[1,1,1],[0,0,0],[0,1,1]]],closed?(prop),closed?(prop))
+
+mesh(space,[[[1,1,1],[1,0,0],[0,0,0]],[[1,0,0],[0,0,0],[0,1,1]],[[1,1,1],[0,0,0],[0,1,1]]],b,b)
+
+)clear all
+
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+
+space := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]])$(ThreeSpace DoubleFloat)
+space1 := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],false,false)$(ThreeSpace DoubleFloat)
+
+)clear all
+
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+space := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]])$(ThreeSpace DoubleFloat)
+mesh(space)
+s := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]])$(ThreeSpace DoubleFloat)
+mesh(s)
+
+space2 := create3Space()$(ThreeSpace DoubleFloat)
+curve(space2,[p0,p1,p2,p3])
+mesh?(space2)
+s1 := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]])$(ThreeSpace DoubleFloat)
+mesh?(s1)
+
+i := enterPointData(space2,[p0,p1,p2,p3])::NNI
+modifyPointData(space2,i,p2)
+
+point(space2,p0)
+curve(space2,[p0,p1,p2,p3])
+numberOfComponents(space2)
+
+)clear all
+
+space1 := create3Space()$(ThreeSpace DoubleFloat)
+numberOfComposites(space1)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+curve(space1,[p0,p1,p2,p3])
+point(space1,p0)
+space2 := point(p0)$(ThreeSpace DoubleFloat)
+space3 := curve [p0,p1,p2]$(ThreeSpace DoubleFloat)
+s := composite [space1,space2,space3]
+numberOfComposites(s)
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+point(space,p0)
+curve(space,[p0,p1,p2,p3])
+closedCurve(space,[p0,p1,p2])
+objects space
+
+)clear all
+
+s := create3Space()$(ThreeSpace DoubleFloat)
+p := point [1,1,1]$(Point DoubleFloat)
+point(s,p)
+
+point(s,[1,1,1])
+
+p0 := point [1,0,0]$(Point DoubleFloat)
+point(s,p)
+i := enterPointData(s,[p0])::NNI
+point(s,i)
+
+p := point [1,1,1]$(Point DoubleFloat)
+space := point(p)$(ThreeSpace DoubleFloat)
+
+)clear all
+
+s := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+curve(s,[p0,p0])
+space1 := point(p0)$(ThreeSpace DoubleFloat)
+point(space1)
+
+)clear all
+
+s := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+curve(s,[p0,p0,p0])
+point? s
+space := point(p0)$(ThreeSpace DoubleFloat)
+point? space
+
+)clear all
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+polygon(space,[p0,p1,p2,p3])
+
+polygon(space,[[1,1,1],[0,0,-1],[1,0,1]])
+
+s := polygon([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)
+
+)clear all
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+curve(space,[p0,p1,p2,p3])
+s := polygon([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)
+polygon s
+
+)clear all
+
+space := create3Space()$(ThreeSpace DoubleFloat)
+p0 := point [1,1,1]$(Point DoubleFloat)
+p1 := point [1,0,0]$(Point DoubleFloat)
+p2 := point [0,0,0]$(Point DoubleFloat)
+p3 := point [0,1,1]$(Point DoubleFloat)
+curve(space,[p0,p1,p2,p3])
+polygon? space
+s := polygon([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)
+polygon s
+
+space1 := create3Space()$(ThreeSpace DoubleFloat)
+sub := subspace(space1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/spadprof.input.pamphlet b/src/input/spadprof.input.pamphlet
new file mode 100644
index 00000000..d1ff6eb9
--- /dev/null
+++ b/src/input/spadprof.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input spadprof.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- This file is read on start-up by the Scratchpad system. It is
+-- most commonly used to customize the user's environment via the
+-- )set system commands. This version is for AIX.
+
+-- read the system synonym file for system commands, if it exists
+)read "synonym.input" )ifthere )quiet
+-- read the user's synonym file for system commands, if it exists
+)read "mysyns.input" )ifthere )quiet
+
+-- do not enter lisp break on error
+)set break nobreak
+
+-- start up the workspace history facility
+)set history on
+
+-- use the simple character set
+)set output char plain
+
+-- everyone uses this
+)set userlevel development
+
+-- make the highlighting characters go away
+)set mess high off
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/spiral.input.pamphlet b/src/input/spiral.input.pamphlet
new file mode 100644
index 00000000..6c1cdddb
--- /dev/null
+++ b/src/input/spiral.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input spiral.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)spiral.input 1.1 89/09/07 20:55:24
+draw(t/100,t = 0..100,[coordinates polar])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/sqmatrix.input.pamphlet b/src/input/sqmatrix.input.pamphlet
new file mode 100644
index 00000000..b9ce36fd
--- /dev/null
+++ b/src/input/sqmatrix.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input SQMATRIX.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from SquareMatrixXmpPage
+)clear all
+
+)set expose add constructor SquareMatrix
+m := squareMatrix [[1,-%i],[%i,4]]
+m*m - m
+mm := squareMatrix [[m, 1], [1-m, m**2]]
+p := (x + m)**2
+p::SquareMatrix(2, ?)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/sregset.input.pamphlet b/src/input/sregset.input.pamphlet
new file mode 100644
index 00000000..d87c7439
--- /dev/null
+++ b/src/input/sregset.input.pamphlet
@@ -0,0 +1,45 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input SREGSET.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from SquareFreeRegularTriangularSetXmpPage
+)clear all
+
+R := Integer
+ls : List Symbol := [x,y,z,t]
+V := OVAR(ls)
+E := IndexedExponents V
+P := NSMP(R, V)
+x: P := 'x
+y: P := 'y
+z: P := 'z
+t: P := 't
+ST := SREGSET(R,E,V,P)
+p1 := x ** 31 - x ** 6 - x - y
+p2 := x ** 8 - z
+p3 := x ** 10 - t
+lp := [p1, p2, p3]
+zeroSetSplit(lp)$ST
+zeroSetSplit(lp,false)$ST
+T := REGSET(R,E,V,P)
+lts := zeroSetSplit(lp,false)$T
+ts := lts.2
+pol := select(ts,'y)$T
+tower := collectUnder(ts,'y)$T
+pack := RegularTriangularSetGcdPackage(R,E,V,P,T)
+toseSquareFreePart(pol,tower)$pack
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/stbl.input.pamphlet b/src/input/stbl.input.pamphlet
new file mode 100644
index 00000000..5765b6b9
--- /dev/null
+++ b/src/input/stbl.input.pamphlet
@@ -0,0 +1,29 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input STBL.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from SparseTableXmpPage
+)clear all
+
+t: SparseTable(Integer, String, "Try again!") := table()
+t.3 := "Number three"
+t.4 := "Number four"
+t.3
+t.2
+keys t
+entries t
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/stream.input.pamphlet b/src/input/stream.input.pamphlet
new file mode 100644
index 00000000..46f8edd5
--- /dev/null
+++ b/src/input/stream.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input STREAM.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from StreamXmpPage
+)clear all
+
+ints := [i for i in 0..]
+f : List INT -> List INT
+f x == [x.1 + x.2, x.1]
+fibs := [i.2 for i in [generate(f,[1,1])]]
+[i for i in ints | odd? i]
+odds := [2*i+1 for i in ints]
+scan(0,+,odds)
+[i*j for i in ints for j in odds]
+map(*,ints,odds)
+first ints
+rest ints
+fibs 20
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/stream2.input.pamphlet b/src/input/stream2.input.pamphlet
new file mode 100644
index 00000000..1cf80cc8
--- /dev/null
+++ b/src/input/stream2.input.pamphlet
@@ -0,0 +1,102 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input stream2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{compiler bug fix}
+<<compiler bug fix>>=
+)set functions compile on
+@
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+)set stream calculate 20
+)set functions cache all
+<<compiler bug fix>>
+u==[i+j for i in (-4)..10 | i < 5 for j in 4.. | j < 10]
+u
+reduce(0::Integer,+,u)
+)clear all
+u(m,n)==[i for i in m..n]
+u(3,6)
+reduce(+,u(3,6))
+reduce(+,u(3,8))
+)clear all
+n==10
+u:=[i for i in 0..n]
+v==[i for i in 0..n]
+v
+n==15
+u
+v
+)clear all
+n:=2
+m:=3
+u:=[[i*j for j in 1..n] for i in 1..m]
+n:=10
+u
+)clear all
+u==[i for i in m..n]
+)set mes test off
+u
+)set mes test on
+n:=7
+m:=3
+u
+reduce(+,u)
+n:=2
+u
+reduce(+,u)
+m:=-3
+u
+reduce(+,u)
+)clear all
+u==[[i+j for i in 0..j] for j in 0..n]
+)set mes test off
+u
+)set mes test on
+n:=5
+u
+n:=10
+u
+n:=1
+u
+n:= 0
+u
+n:=-1
+u
+)clear all
+)set streams calculate 10
+u==[[i+j for i in 0..] for j in 0..]
+u
+)clear all
+u(m,n)==[[i+j for j in 1..m] for i in 1..n]
+u(3,6)
+reduce(append,u(3,6))
+)clear all
+u(m,n)==[[i*j for j in m..] for i in n..]
+u(3,6)
+)clear all
+)set streams calculate 3
+[[[i+j+k for i in 0..] for j in 0..] for k in 0..]
+n:=5
+[[[i+j+k for i in 0..] for j in 0..] for k in 0..n]
+[[[i+j+k for i in 0..j] for j in 0..k] for k in 0..]
+[[[i+j+k for i in 0..j] for j in 0..k] for k in 0..n]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/streams.input.pamphlet b/src/input/streams.input.pamphlet
new file mode 100644
index 00000000..bb141791
--- /dev/null
+++ b/src/input/streams.input.pamphlet
@@ -0,0 +1,70 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input streams.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)clear all
+)set streams calculate 5
+)set streams showall on
+--at least 5 stream elements will be evaluated
+--the stream of integers starting at 1
+a := [i for i in 1..]
+b := [i+1 for i in a]
+--select the 20th element
+b.20
+--the first 20 elements of b (and a) are evaluated
+b
+a
+--the first 10 elements of a
+first(a,10)
+--all except the first 10 elements of a
+rest(a,10)
+--the stream of odd integers
+[i for i in a | odd? i]
+--combining two streams
+c := [[i,j] for i in a for j in b]
+-- selecting the first from each pair
+[first i for i in c]
+)set streams calculate 10
+--concat(a,b) concatenates streams a and b, better if a is finite
+concat([i for i in a while i<7],a)
+concat(a,a)
+upto:NNI->STREAM INT
+upto n == first(a,n)
+d := [upto n for n in a]
+--concat flattens a stream of streams into a one level stream
+concat d
+--the sum of a finite stream
+reduce(0,_+$INT,first(a,10))
+--a stream of cumulative sums
+scan(0,_+$INT,a)
+scan(0,_+$INT,[2*i-1 for i in a])
+ff:(LIST INT)->(LIST INT)
+ff(x)==[x.1+x.2,x.1]
+--generate(f,x) operates on an A->A function f and an initial A, x
+--to produce the stream x,f x,f(f x),...
+fibs := generate(ff,[1,1])
+--first([first i for i in fibs], 100)
+mt:SQMATRIX(2,INT) := matrix [[1,2],[3,4]]
+mplm:SQMATRIX(2,INT)->SQMATRIX(2,INT)
+mplm x == x*mt
+generate(mplm,mt)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/string.input.pamphlet b/src/input/string.input.pamphlet
new file mode 100644
index 00000000..6e494146
--- /dev/null
+++ b/src/input/string.input.pamphlet
@@ -0,0 +1,57 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input STRING.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from StringXmpPage
+)clear all
+
+hello := "Hello, I'm AXIOM!"
+said := "Jane said, _"Look!_""
+saw := "She saw exactly one underscore: __."
+gasp: String := new(32, char "x")
+#gasp
+hello.2
+hello 2
+hello(2)
+hullo := copy hello
+hullo.2 := char "u"; [hello, hullo]
+saidsaw := concat ["alpha","---","omega"]
+concat("hello ","goodbye")
+"This " "is " "several " "strings " "concatenated."
+hello(1..5)
+hello(8..)
+split(hello, char " ")
+other := complement alphanumeric();
+split(saidsaw, other)
+trim ("## ++ relax ++ ##", char "#")
+trim ("## ++ relax ++ ##", other)
+leftTrim ("## ++ relax ++ ##", other)
+rightTrim("## ++ relax ++ ##", other)
+upperCase hello
+lowerCase hello
+prefix?("He", "Hello")
+prefix?("Her", "Hello")
+suffix?("", "Hello")
+suffix?("LO", "Hello")
+substring?("ll", "Hello", 3)
+substring?("ll", "Hello", 4)
+n := position("nd", "underground", 1)
+n := position("nd", "underground", n+1)
+n := position("nd", "underground", n+1)
+position(char "d", "underground", 1)
+position(hexDigit(), "underground", 1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/strtbl.input.pamphlet b/src/input/strtbl.input.pamphlet
new file mode 100644
index 00000000..d44af9a5
--- /dev/null
+++ b/src/input/strtbl.input.pamphlet
@@ -0,0 +1,27 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input STRTBL.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from StringTableXmpPage
+)clear all
+
+t: StringTable(Integer) := table()
+for s in split("My name is Ian Watt.",char " ")
+ repeat
+ t.s := #s
+for key in keys t repeat output [key, t.key]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/symbol.input.pamphlet b/src/input/symbol.input.pamphlet
new file mode 100644
index 00000000..a4c025fa
--- /dev/null
+++ b/src/input/symbol.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input SYMBOL.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from SymbolXmpPage
+)clear all
+
+X: Symbol := 'x
+XX: Symbol := x
+A := 'a
+B := b
+x**2 + 1
+"Hello"::Symbol
+new()$Symbol
+new()$Symbol
+new("xyz")$Symbol
+X[i,j]
+U := subscript(u, [1,2,1,2])
+V := superscript(v, [n])
+P := argscript(p, [t])
+scripted? U
+scripted? X
+string X
+name U
+scripts U
+name X
+scripts X
+M := script(Mammoth, [[i,j],[k,l],[0,1],[2],[u,v,w]])
+scripts M
+N := script(Nut, [[i,j],[k,l],[0,1]])
+scripts N
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/synonym.input.pamphlet b/src/input/synonym.input.pamphlet
new file mode 100644
index 00000000..e8b01cc8
--- /dev/null
+++ b/src/input/synonym.input.pamphlet
@@ -0,0 +1,82 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input synonym.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991-94.
+@
+<<*>>=
+<<license>>
+
+-- This file contains the standard system defined system command
+-- synonyms for the Axiom system. It is normally read into
+-- the system by adding the line
+-- )read synonym input )ifthere )quiet
+-- to the start-up profile axiom.input.
+
+-- If you wish to have a private list of synonyms, it is suggested
+-- that you create a file mysyns.input.
+-- This will also automatically be read into the system by the start-up
+-- profile by the line
+-- )read mysyns input )ifthere )quiet
+
+-- The following synonyms are redefined in the system
+
+-- )synonym ? what commands
+-- )synonym ap what things
+-- )synonym apr what things
+-- )synonym apropos what things
+-- )synonym cache set functions cache
+-- )synonym cl clear
+-- )synonym cls zsystemdevelopment )cls
+-- )synonym cms system
+-- )synonym co compiler
+-- )synonym d display
+-- )synonym dep display dependents
+-- )synonym dependents display dependents
+-- )synonym disc system cp disc
+-- )synonym e edit
+-- )synonym expose set expose add constructor
+-- )synonym fc zsystemdevelopment )c
+-- )synonym fd zsystemdevelopment )d
+-- )synonym fct zsystemdevelopment )ct
+-- )synonym fctl zsystemdevelopment )ctl
+-- )synonym fe zsystemdevelopment )e
+-- )synonym fec zsystemdevelopment )ec
+-- )synonym fect zsystemdevelopment )ect
+-- )synonym fns exec spadfn
+-- )synonym fortran set output fortran
+-- )synonym h help
+-- )synonym hd system hypertex &
+-- )synonym kclam boot clearClams ( )
+-- )synonym killcaches boot clearConstructorAndLisplibCaches ( )
+-- )synonym patch zsystemdevelopment )patch
+-- )synonym pause zsystemdevelopment )pause
+-- )synonym prompt set message prompt
+-- )synonym recurrence set functions recurrence
+-- )synonym restore history )restore
+-- )synonym save history )save
+-- )synonym time set message time
+-- )synonym type set message type
+-- )synonym unexpose set expose drop constructor
+-- )synonym up zsystemdevelopment )update
+-- )synonym version lisp *yearweek*
+-- )synonym w what
+-- )synonym wc what categories
+-- )synonym wd what domains
+-- )synonym wp what packages
+-- )synonym ws what synonyms
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/synonym2.input.pamphlet b/src/input/synonym2.input.pamphlet
new file mode 100644
index 00000000..72d86ab2
--- /dev/null
+++ b/src/input/synonym2.input.pamphlet
@@ -0,0 +1,89 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input synonym2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- This file contains the standard system defined system command
+-- synonyms for the Scratchpad II system. It is normally read into
+-- the system by adding the line
+-- )read synonym input )ifthere )quiet
+-- to the start-up profile SPADPROF INPUT (on CMS) or spadprof.input
+-- (on AIX).
+
+-- If you wish to have a private list of synonyms, it is suggested
+-- that you create a file MYSYNS INPUT (on CMS) or mysyns.input (on AIX).
+-- This will also automatically be read into the system by the start-up
+-- profile by the line
+-- )read mysyns input )ifthere )quiet
+
+)synonym ? what commands
+)synonym ap what things
+)synonym apr what things
+)synonym apropos what things
+--)synonym bug system spadnote
+)synonym cache set functions cache
+)synonym cl clear
+)synonym cls zsystemdevelopment )cls
+)synonym cms system
+--)synonym CMS system
+--)synonym cp system cp
+--)synonym CP system cp
+)synonym co compiler
+)synonym d display
+)synonym dep display dependents
+)synonym dependents display dependents
+)synonym disc system cp disc
+)synonym e edit
+--)synonym exec system exec
+)synonym fc zsystemdevelopment )c
+)synonym fct zsystemdevelopment )ct
+)synonym fe zsystemdevelopment )e
+)synonym fec zsystemdevelopment )ec
+)synonym fect zsystemdevelopment )ect
+)synonym fns exec spadfn
+)synonym fortran set output fortran
+--)synonym glos system exec getgloss
+)synonym h help
+)synonym ht system hypertex &
+)synonym include compile
+)synonym kclam boot clearClams ( )
+)synonym killcaches boot clearConstructorAndLisplibCaches ( )
+--)synonym logoff system cp logoff
+--)synonym note system note
+)synonym patch zsystemdevelopment )patch
+)synonym pause zsystemdevelopment )pause
+--)synonym peek system conpeek
+)synonym prompt set message prompt
+--)synonym rdr system checkrdr
+)synonym recurrence set functions recurrence
+)synonym restore history )restore
+)synonym save history )save
+)synonym seq set streams
+)synonym sequence set streams
+)synonym storage set message storage
+)synonym str set streams
+)synonym streams set streams
+--)synonym tell system tell
+)synonym time set message time
+)synonym type set message type
+)synonym up zsystemdevelopment )update
+)synonym version zsystemdevelopment )version
+)synonym w what
+)synonym wc what categories
+)synonym wd what domains
+)synonym wp what packages
+)synonym ws what synonyms
+--)synonym x system editarb
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/t111293.input.pamphlet b/src/input/t111293.input.pamphlet
new file mode 100644
index 00000000..b1b32200
--- /dev/null
+++ b/src/input/t111293.input.pamphlet
@@ -0,0 +1,54 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input t111293.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+
+-- This file tests things fixed on or about Nov 12, 1993
+
+)clear all
+
+-- unions and records in function position
+
+y := operator y
+deq := differentiate(y x, x, 2) + differentiate(y x, x) + y x
+solve(deq, y, x).basis
+
+)clear all
+
+-- other objects in function position
+
+f := sin
+f 5
+f 5.6
+g(f,x) == f x
+g(cos, x)
+g(f, x)
+g(log, 8.38)
+
+)clear all
+
+-- still more
+
+sin := [1,2,3,4,5,6,7]
+sin 4
+sin(4)$Expression(Integer)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/table.input.pamphlet b/src/input/table.input.pamphlet
new file mode 100644
index 00000000..34b6e39e
--- /dev/null
+++ b/src/input/table.input.pamphlet
@@ -0,0 +1,40 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input TABLE.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from TableXmpPage
+)clear all
+
+t: Table(Polynomial Integer, String) := table()
+setelt(t, x**2 - 1, "Easy to factor")
+t(x**3 + 1) := "Harder to factor"
+t(x) := "The easiest to factor"
+elt(t, x)
+t.x
+t x
+t.(x**2 - 1)
+t (x**3 + 1)
+keys t
+search(x, t)
+search(x**2, t)
+search(x**2, t) case "failed"
+remove!(x**2-1, t)
+remove!(x-1, t)
+#t
+members t
+count(s: String +-> prefix?("Hard", s), t)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tanatan.input.pamphlet b/src/input/tanatan.input.pamphlet
new file mode 100644
index 00000000..93faadef
--- /dev/null
+++ b/src/input/tanatan.input.pamphlet
@@ -0,0 +1,61 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tanatan.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)clear all
+--Here's an equation
+eq:=2*tan(x)+2*tan(2*x)
+--
+-- Solve it
+--
+thesols:=solve(eq,x)
+--
+-- Verify the solutions
+--
+theproofs:=[eval(eq,i) for i in thesols]
+--
+-- Problem with simplification of tan(n*atan(y))
+-- Get the tower for each expression
+--
+thetowers:=[tower i for i in theproofs];
+thesubs:LIST Record (a:LIST KERNEL EXPR INT ,b:LIST EXPR INT)
+thetans:LIST LIST Record(i:INT,k:KERNEL EXPR INT,z:List Equation EXPR INT)
+--
+-- apply pattern-matching to find tan(n*atan(y))
+-- and construct the structures needed
+--
+thetans:=_
+ [[construct(j,i.j,Is(argument(i.j).1,n * atan(y))) for j in 1..#i_
+ |is?(i.j,tan) and is?(argument(i.j).1,n * atan(y))] _
+ for i in thetowers] ;
+--
+-- Construct the evaluation rules for tan(n*atan(y)) -> tanNa(a,n)
+--
+thesubs:=_
+ [construct([j.k for j in thetans.i],_
+ [tanNa(rhs(j.z.2),rhs(j.z.1) ::INT)$TangentExpansions(EXPR INT)_
+ for j in thetans.i]) _
+ for i in 1..#theproofs];
+--
+-- Apply the evaluation rules
+--
+thezeros:=[eval(i,j.a,j.b) for i in theproofs for j in thesubs]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/test.input.pamphlet b/src/input/test.input.pamphlet
new file mode 100644
index 00000000..49460a96
--- /dev/null
+++ b/src/input/test.input.pamphlet
@@ -0,0 +1,654 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input test.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+
+
+-- File of recently fixed interpreter bugs
+
+--- eval a polynomial with EXPR substitution values
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+
+eq1:= A*x**2 + B*x*y + C*y**2 +D*x + E*y + F
+
+eq2:= eval(eq1,[x= xdot*cos(t) - ydot*sin(t), y=xdot*sin(t) + ydot*cos(t)])
+
+-- UTS coercions. Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+taylor exp x
+
+s := %
+
+s::(UTS(EXPR FLOAT, x, 0))
+s::(UTS(FLOAT, x, 0))
+
+eval(s,1)
+%::(Stream Float)
+
+-- Another bug, fixed by adding UPXS2 package,
+
+s := series(sin(a*x),x=0)
+eval(s, 1.0)
+
+s - a*x
+
+
+-- grand finale, just fixed on 3/23/91
+eval(s, 1.0)
+
+-- generalized resolve
+-- Fixed (enhanced) by SCM in 3/23/91
+
+)cl all
+
+v := vector [1,2,3]
+(1/2)*v
+
+eval(x**2, x=1/2)
+eval(x**2, x=0.5)
+eval(3**x, x=0.5)
+
+-- overloading interpreter maps on arity
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+f(x) == x+1
+f(x,y) == x+y
+
+f 3
+f(3,4)
+f(5)
+f(1,x)
+
+-- targetted function requiring a coercion
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+series(n +-> bernoulli(n)/factorial(n), t=0)
+
+-- in-homogeneous list mapping
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+l := [1,2,-1]
+f : INT -> FRAC INT
+f x == x
+map(f, l)
+
+-- Function args to interpreter functions
+--- Fixed by SCM, verified on 10/30/90
+
+)cl all
+f: INT -> INT
+f x == x+1
+u g == g 3
+u f
+
+-- category modemap requiring a field to be constructed
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+
+groebner [x**2 - y, y**3+1]
+
+-- operations requiring polynomials, passed variables
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+factor x
+draw(x, x=-1..1)
+
+-- bracket parsing and empty-set types
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+brace [] -- {}
+--{}$(List INT)
+brace [1] -- {1}
+-- The following still doesn't work
+union(brace [], brace [1,2]) -- union({}, {1,2})
+
+-- Shouldn't work, but no longer bombs the interpreter
+--- Fixed by SCM, verified on 10/30/90
+
+)clear all
+)set mes test off
+map(variable, [x,y])
+)set mes test on
+
+-- Recursive map type analysis bug
+--- Fixed by SCM, verified on 10/30/90
+)set fun recur off
+)clear all
+
+p(n,x) == if n=0 then 1 else (x+n-1)*p(n-1,x)
+pp(n,x) == if n=0 then 1 else if n<0 then (-1)**n/p(-n,1-x) else p(n,x)
+pp(-1,x) -- should be 1/(x-1)
+
+-- interpret-code mode for iterators is broken
+
+)cl all
+f n ==
+ for i in 1..n repeat
+ j:=2*i
+ m:SQMATRIX(j,?):=1
+ print m
+g n ==
+ j:=2*n
+ m:SQMATRIX(j,?):=1
+ print m
+
+g 3
+f 3
+
+-- Test interpreter list destructuring
+
+)clear all
+mp(x,l) ==
+ l is [a,:b] =>
+ a*x**(#b)+ mp(x,b)
+ 0
+
+mp(x, [1,3,4, 2])
+mp(x, [1,2,-3, 4])
+
+-- Tests compilation of recursive functions
+
+)clear all
+
+f1 n ==
+ if n=0 then 1 else if n=1 then 1 else f1(n-1)+f1(n-2)
+
+f2 n ==
+ m:=n
+ if n=0 then 1 else if n=1 then 1 else f2(n-1)+f2(n-2)
+
+f3 n ==
+ n=0 => 1
+ n=1 => 1
+ f3(n-1)+f3(n-2)
+
+f4 n ==
+ m:=n
+ n=0 => 1
+ n=1 => 1
+ m:=n
+ f4(n-1)+f4(n-2)
+
+f5 n == if n=0 or n=1 then 1 else f5(n-1)+f5(n-2)
+
+[f1 3,f2 3, f3 3,f4 3,f5 3]
+
+-- Input of GDMP types
+-- Fixed by SCM on 1/22/91
+
+)cl all
+
+g: GDMP([x,y], INT, DIRPROD(2, NNI)) := x**2 + y
+
+-- has test with variables
+-- Fixed by SCM on 1/22/91
+
+)cl all
+
+i := INT
+i has Algebra(i)
+
+-- returns in functions
+-- Fixed by SCM on 1/22/91
+
+)cl all
+
+f x == if x<0 then return x else x+1
+
+f 2 -- should be 3
+f(-2) -- should be -2
+
+-- resolveTT not returning Any
+-- Fixed by SCM 1/30/91
+
+)cl all
+
+m = [[1,2],[2,3]] -- Should return type EQ POLY SQMATRIX(2, INT)
+
+[1, "asd"] -- Should be of type List Any
+
+)set mes test off
+1+"asd" -- These should both fail in the same way
+1/"asd"
+)set mes test on
+
+-- Passing type variables to )show
+
+)cl all
+
+t := MPOLY([x,y], INT)
+)show t
+
+-- caching nullary functions
+
+)set fun cache all
+
+u == 1
+
+u
+)set fun cache 0
+
+-- Interpreter Only mode on collects
+-- Fixed by SCM on 3/1/91
+
+factorp: (UP(x,INT),PositiveInteger,PositiveInteger) -> List(UP(x,INT))
+factorp(poly,p,e) ==
+ ppoly:UP(x,PF p):=poly
+ pl := [rec.factor for rec in factors factor ppoly]
+ facl:=pl::List(UP(x,INT))
+
+factorp(x**2+x+5,7,1)
+
+
+-- using "by" with segments
+-- Fixed by SCM on 2/14/91
+
+)cl all
+
+b:= 1..10
+for i in b by 2 repeat output i
+
+-- DMP resolve bug
+-- Fixed by SCM 3/7/91
+
+)cl all
+
+macro RN == FRAC INT
+a51:=x+y+z+t+u;
+a52:=x*y+y*z+z*t+x*u+t*u;
+a53:=x*y*z+y*z*t+x*y*u+x*t*u+z*t*u;
+a54:=x*y*z*t+x*y*z*u+x*y*t*u+x*z*t*u+y*z*t*u;
+a55:=x*y*z*t*u-1;
+
+arnborg5: List HDMP([x,y,z,t,u],RN):=[a51,a52,a53,a54,a55];
+arnborg5l: List DMP([x,y,z,t,u],RN):=[a51,a52,a53,a54,a55];
+
+-- construct in interpret-only mode
+-- Fixed by SCM on 3/7/91
+
+)cl all
+
+factorp(poly,p,e) ==
+ [rec.factor for rec in factors factor (poly::UP(x, PF p))]::List UP(x, INT)
+
+factorp(x**2+x+5,7,1)
+
+-- return in interpret-only mode
+-- fixed by SCM 3/11/91
+
+)cl all
+
+f (x) ==
+ y: PF x := 1
+ x = 3 => return x
+ x = 4 => return(-x)
+ (x+1)
+
+f 3
+
+-- incorrect handling of type of returns
+-- fixed by SCM 3/11/91
+
+)cl all
+
+f (x) ==
+ x = 3 => return x
+ x = 4 => return(-x)
+ return (x+1)
+
+f 3
+
+-- SquareMatrix coercion bug
+-- Fixed by SCM on 4/3/91
+
+)cl all
+
+s:SQMATRIX(2, INT) := matrix [[1,2],[2,3]]
+s::SQMATRIX(2, FRAC INT)
+
+
+-- SquareMatric resolve bug
+
+)cl all
+Mat := SquareMatrix(2, Polynomial Integer)
+s:Mat := matrix [[ 2*x + 1, x], [x, 1]]
+s**3
+%::Polynomial(?)
+
+-- parsing bug
+-- Fixed by BURGE on 4/18/91
+
+)cl all
+-2**2 -- Should return -4
+
+-- # in constructor arguemnt list bug
+-- Fixed by SCM on 4/9/91
+
+)cl all
+f: DMP([x,y], INT) := x**2-y**2
+coefficient(f, degree f)
+
+-- retract from EXPR to POLY
+-- fixed by SCM and SUTOR on 5/1/91
+
+)cl all
+x+1::EXPR INT
+%::POLY INT
+
+-- fixed by SCM in May
+
+)cl all
+solve([[1,2],[2,3]],[-2,3])
+
+
+-- fixed by several people over a period of time
+)cl all
+
+eval(m**2, m=[[1,2],[2,3]])
+
+-- filtering various illegal declarations
+
+)cl all
+
+)set mes test off
+r: Ring
+w: RF INT
+)set mes test on
+
+-- Correct representation of length 1 records
+
+)cl all
+
+r:Record(a: INT) := [1]
+
+-- Fast generation of POLY FLOAT graphics code
+
+)time on
+p: POLY FLOAT := (x-1)**30
+draw(p, x=-1..1)
+
+)time )off
+
+-- Case broken in interpreter
+-- fixed by SCM in early 1991
+
+)cl all
+
+sayBranch x == _
+ if x case INT then output "Integer Branch" _
+ else if x case STRING then output "String Branch" _
+ else if x case FLOAT then output "Float Branch" _
+ else output "don't know"
+
+x:Union(INT,STRING,FLOAT)
+x:=3
+sayBranch(x)
+
+-- bug in evaluateType
+-- fixed by SCM in May 1991
+
+)cl all
+
+RFI := FRAC POLY INT
+g:DMP([x,y], RFI) := a**2*x**2/b**2 - c**2*y**2/d**2
+factor g
+
+-- bug in resolveTTSpecial
+-- Fixed by SCM 6/2/91
+
+)cl all
+
+f(u:DoubleFloat, v:DoubleFloat):DoubleFloat == u+v
+g(u:DoubleFloat, v:DoubleFloat):DoubleFloat == sin(u+v)
+h(u:DoubleFloat, v:DoubleFloat):DoubleFloat == u+cos(v)
+draw(surface(f,g,h), 0..4, 0..2*%pi)
+
+-- check for package calling from categories
+-- fixed by SCM 6/4/91
+
+)cl all
+
+)set mes test off
+(1+1)$Ring
+)set mes test on
+
+-- UnivariateSeries coercions
+-- Fixed by SCM 6/20/91
+
+)cl all
+
+s := series(sin(a*x), x=0)
+s - a*x
+s - sin(a*x)
+
+-- Complex & AlgebraicNumber coercions
+-- fixed by SCM 6/91
+
+)cl all
+
+sin %i
+sin sqrt 2
+%i*sqrt(2)
+sin(%i*sqrt 2)
+%i * sin(x)
+sin(x/sqrt(2))
+
+-- bug in resolve
+-- fixed by SCM 8/12/91
+
+)cl all
+
+)set test msg off
+primaryDecomp xx
+)set test msg on
+
+
+-- functions with ADEFs were broken
+-- fixwd by SCM 8/9/91
+
+)cl all
+
+f l ==
+ reduce((x,y) +-> l.1 + x + y, l)
+
+f [10,2,53]
+
+g l ==
+ (x:INT):INT +-> l.x
+
+w := g [23,1,341,12] ;
+
+w(1) + w(3)
+-- w(-1) removed tpd; causes testing to crash
+
+-- coerces RN to PF and POLY to EXPR
+-- fixed by SCM 8/9/91
+
+)cl all
+
+a := 2/3
+)set mes test off
+a::PF 3
+)set mes test on
+
+b := x+1
+b:: EXPR FLOAT
+
+-- minivector use in coercion functions
+
+)cl all
+
+symbol(s:Symbol,i:Integer):Symbol ==
+ st0:String:= convert(i)
+ st0:= concat(string(s),st0)
+ st0::Symbol
+
+f(a,b) == symbol(a,b)
+
+f('abc,3)
+
+-- coercing undeclared maps to Mapping types
+-- fixed by SCM 9/3/91
+)cl all
+
+f := operator 'f
+y := f(x)
+foo(u) == sin(u)
+eval(y, 'f, foo)
+
+-- package calling constants
+-- fixed by SCM 9/3/91
+
+)cl all
+
+init()$(PF 3)
+
+-- passing ADEFs to functions which require specific mapping types
+
+draw((x,y) +-> x**2 - y**2, -1..1, -1..1)
+
+-- DP bug. Don't know where this came from, but its fixed
+-- DP makes problems:
+
+
+dmp := DMP([u1,u2,u3],Fraction INT)
+p : dmp := 2*u1**4*u2*u3
+e1 := degree p
+-- the following doesn't work
+e2 : DirectProduct(3,NonNegativeInteger) := e1
+sup(e1,e1)
+-- if you give to many infos to the Interpreter it has problems
+sup(e1,e1)$DirectProduct(3,NonNegativeInteger)
+
+-- Some other bug.
+)clear all
+
+sum:=0
+m:=matrix [[1,2],[3,4]]
+lastcol:=ncols(m)
+for r in 1..nrows(m) repeat
+ -- interpreter having a value for "row" would cause it to hide
+ -- the system function
+ Row:=row(m,r)
+ for c in 1..lastcol repeat
+ sum:=sum+Row.c
+sum
+
+
+-- interpOnly mode left things in an incosistent state if it failed twice
+-- fixed by SCM
+
+)cl all
+
+splitPoly(f,var) ==
+ map(g +-> multivariate(g,var),monomials univariate(f,var))
+
+g:=sin(x)+cos(x)
+k:=kernels(g).1
+
+)set mes test off
+splitPoly([g],k) -- this is an incorrect call
+)set mes test on
+splitPoly(numer g,k) -- this is a correct call
+
+-- scoping of lambda variables
+-- fixed by SCM in March, 1992
+
+)cl all
+f x ==
+ g := (y:DoubleFloat):DoubleFloat +-> y+x
+ output(y+1)
+ g(x)
+
+f 3
+
+-- coercing undeclared interpreter function to mapping type with
+-- target which need to be coerced.
+-- fixed by SCM in March, 1992
+
+)cl all
+
+f x == 1/factorial(x)
+
+series(f, x=0)
+
+-- rule dependencies with dependencies on the operator postion
+
+)cl all
+node_a == i1+i2+i3-i5+i6=0
+node_b == -i2-i3+i4-i6=0
+i1 == va/r1
+i2 == (va-vb)/r2
+i3 == (va-vb)/r3
+i4 == vb/r4
+node_a
+node_b
+ans == solve([node_a,node_b],[va,vb]) -- (*)
+x1 == rhs(ans.1.1)
+x2 == rhs(ans.1.2)
+x1 -- (**)
+r1 == 2 -- (***)
+x1 -- (****)
+
+-- look for immediate data in operator position
+-- fixed in March 1992 by SCM and RSS
+
+"asd" "sdfsdf" "dfgdfg"
+
+-- global variables that change type in a loop.
+-- fixed by SCM
+)clear all
+s := 3.4
+while s > 1.0 repeat (s := 1/2; print s)
+s
+
+)cl all
+
+f x ==
+ free s
+ s := x
+ while s > 1.0 repeat (s := 1/2; print s)
+ s
+
+f(3.4)
+
+-- returns in sequences
+-- fixed by SCM
+
+t x ==
+ if x = 1 then (1; return [x])
+ return [2]
+
+t 1
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tetra.input.pamphlet b/src/input/tetra.input.pamphlet
new file mode 100644
index 00000000..5b37429e
--- /dev/null
+++ b/src/input/tetra.input.pamphlet
@@ -0,0 +1,85 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tetra.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Sierpinsky's Tetrahedron
+
+-- Bring DH matrices into the environment
+)set expose add con DenavitHartenbergMatrix
+
+)read dhtri
+
+-- set up the coordinates of the corners of a tetrahedron
+x1:DoubleFloat := sqrt(2.0@DoubleFloat/3.0@DoubleFloat)
+x2:DoubleFloat := sqrt(3.0@DoubleFloat)/6
+
+p1 := point [-0.5@DoubleFloat, -x2, 0.0@DoubleFloat]
+p2 := point [0.5@DoubleFloat, -x2, 0.0@DoubleFloat]
+p3 := point [0.0@DoubleFloat, 2*x2, 0.0@DoubleFloat]
+p4 := point [0.0@DoubleFloat, 0.0@DoubleFloat, x1]
+
+-- The base of the tetrahedron
+baseTriangle := [p2, p1, p3]
+
+-- The "middle triangle" inscribed in the base of the tetrahedon
+mt := [0.5@DoubleFloat*(p2+p1), 0.5@DoubleFloat*(p1+p3), 0.5@DoubleFloat*(p3+p2)]
+
+-- The bases of the triangles of the subdivided tetrahedon
+bt1 := [mt.1, p1, mt.2]
+bt2 := [p2, mt.1, mt.3]
+bt3 := [mt.2, p3, mt.3]
+bt4 := [0.5@DoubleFloat*(p2+p4), 0.5@DoubleFloat*(p1+p4), 0.5@DoubleFloat*(p3+p4)]
+
+-- create the transformations which bring the base of the tetrahedron
+-- to the bases of the subdivided tetrahedron
+tt1 := tri2tri(baseTriangle, bt1)
+tt2 := tri2tri(baseTriangle, bt2)
+tt3 := tri2tri(baseTriangle, bt3)
+tt4 := tri2tri(baseTriangle, bt4)
+
+-- Draw a Sierpinsky tetrahedron with n levels of recursive subdivision
+drawPyramid(n) ==
+ s := create3Space()$ThreeSpace DoubleFloat
+ dh := rotatex(0.0@DoubleFloat)
+ drawPyramidInner(s, n, dh)
+ makeViewport3D(s, "Sierpinsky Tetrahedron")$VIEW3D
+
+-- Recursively draw a Sierpinsky tetrahedron
+drawPyramidInner(s, n, dh) ==
+ n = 0 => makeTetrahedron(s, dh, n)
+ -- draw the 4 recursive pyramids
+ drawPyramidInner(s, n-1, dh * tt1)
+ drawPyramidInner(s, n-1, dh * tt2)
+ drawPyramidInner(s, n-1, dh * tt3)
+ drawPyramidInner(s, n-1, dh * tt4)
+
+-- draw a tetrahedron into the given space, with the given color,
+-- transforming it by the given DH matrix
+makeTetrahedron(sp, dh, color) ==
+ w1 := dh*p1
+ w2 := dh*p2
+ w3 := dh*p3
+ w4 := dh*p4
+ polygon(sp, [w1, w2, w4])
+ polygon(sp, [w1, w3, w4])
+ polygon(sp, [w2, w3, w4])
+ void()
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/textfile.input.pamphlet b/src/input/textfile.input.pamphlet
new file mode 100644
index 00000000..1a81e924
--- /dev/null
+++ b/src/input/textfile.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input TEXTFILE.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from TextFileXmpPage
+)clear all
+
+f1: TextFile := open("/etc/group", "input")
+f2: TextFile := open("/tmp/MOTD", "output")
+l := readLine! f1
+writeLine!(f2, upperCase l)
+while not endOfFile? f1 repeat
+ s := readLine! f1
+ writeLine!(f2, upperCase s)
+close! f1
+write!(f2, "-The-")
+write!(f2, "-End-")
+writeLine! f2
+close! f2
+)system rm /tmp/MOTD
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tknot.input.pamphlet b/src/input/tknot.input.pamphlet
new file mode 100644
index 00000000..707a4265
--- /dev/null
+++ b/src/input/tknot.input.pamphlet
@@ -0,0 +1,52 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tknot.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- Create a (p,q) torus-knot with radius r around the curve.
+-- The formula was derived by Larry Lambe.
+
+-- To produce a trefoil knot:
+-- torusKnot(2, 3, 0.5, 10, 200)
+
+-- compile, don't interpret functions
+)set function compile on
+
+-- read in the numeric generalized tube program
+)read ntube
+
+-- Create a (p,q) torus-knot with radius r around the curve.
+-- The formula was derived by Larry Lambe.
+-- To produce a trefoil knot:
+-- torusKnot(2, 3, 0.5)
+torusKnot(p:DFLOAT, q:DFLOAT, r:DFLOAT, uSteps:PI, tSteps:PI):VIEW3D ==
+ -- equation for the torus knot
+ knot := (t:DFLOAT):Point DFLOAT +->
+ fac := 4/(2.2@DFLOAT-sin(q*t))
+ fac * point [cos(p*t), sin(p*t), cos(q*t)]
+ -- equation for the cross section of the tube
+ circle := (u:DFLOAT, t:DFLOAT):Point DFLOAT +->
+ r * point [cos u, sin u]
+ -- draw the tube around the knot
+ ntubeDrawOpt(knot, circle, 0..2*%pi, 0..2*%pi, var1Steps == uSteps,
+ var2Steps == tSteps)
+
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/torus.input.pamphlet b/src/input/torus.input.pamphlet
new file mode 100644
index 00000000..81ea7b79
--- /dev/null
+++ b/src/input/torus.input.pamphlet
@@ -0,0 +1,22 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input torus.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+f(x:SF):SF == x
+torus : TUBE := tubePlot(sin t,cos t,0,f,0..2*%pi,0.5::SF,12,"closed")
+makeViewport3D(torus,"torus")$VIEW3D
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tree.input.pamphlet b/src/input/tree.input.pamphlet
new file mode 100644
index 00000000..45a67188
--- /dev/null
+++ b/src/input/tree.input.pamphlet
@@ -0,0 +1,78 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tree.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+)cl all
+)load TREE BTREE
+bt := BinaryTree INT
+ebtree:=empty()$(BTREE INT)
+insleaf:(INT,bt)->bt
+insleaf(x,t)==
+ empty? t=> binaryTree(x)$(BTREE INT)
+ x> value t => binaryTree(left t,value t,insleaf(x,right t))
+ binaryTree(insleaf(x,left t),value t,right t)
+b:bt:=reduce(insleaf,[8,3,5,4,6,2,1,5,7],ebtree)
+bleaf x == reduce(insleaf,x,ebtree)
+fln:bt-> List INT
+fln t==
+ empty? t => empty()$(List INT)
+ concat(fln left t,concat(value t,fln right t))
+fln b
+split:(INT,bt)->List bt
+split(x,t)==
+ empty? t=> [ebtree,ebtree]
+ x> value t =>
+ a:=split(x,right t)
+ [binaryTree(left t,value t,a.1),a.2]
+ a:=split(x,left t)
+ [a.1,binaryTree(a.2,value t,right t)]
+split(3,b)
+insroot:(INT,bt)->bt
+insroot(x,t)==
+ a:=split(x,t)
+ binaryTree(a.1,x,a.2)
+broot x == reduce(insroot,x,ebtree)
+a:List INT:=[8,3,9,4,6,2,1,5,7]
+l1:=bleaf a
+r1:=broot reverse a
+(l1=r1)::Boolean
+broot a
+bleaf reverse a
+mg:(bt,bt)->bt
+mg(x,y)==
+ empty? x => y
+ empty? y => x
+ value x > value y => binaryTree(mg(y,left x),value x,right x)
+ binaryTree(left y,value y,mg(x,right y))
+mg1:(INT,bt)->bt
+mg1(x,t)==mg(binaryTree x,t)
+btourn:List INT-> bt
+btourn x == reduce(mg1,x,ebtree)
+btourn a
+cmp:(List INT,List INT)-> Boolean
+cmp(x,y)== x.2<y.2
+sort2 : List List INT -> List List INT
+sort2 x== sort(cmp,x)
+invert x==[i.1 for i in sort2 [[k,l]
+ for k in 1..#x for l in x]]
+broot a
+btourn invert a
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/triglim.input.pamphlet b/src/input/triglim.input.pamphlet
new file mode 100644
index 00000000..88aed759
--- /dev/null
+++ b/src/input/triglim.input.pamphlet
@@ -0,0 +1,52 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input triglim.input}
+\author{Clifton J. Williamson}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited MCMXCII.
+@
+<<*>>=
+<<license>>
+
+--% Limits involving trig and inverse trig functions
+-- Some of these limits were taken from bug reports submitted before
+-- changes were made to limit and related series packages.
+-- Author: Clifton J. Williamson
+-- Date Created: 27 August 1992
+-- Date Last Updated: 27 August 1992
+-- Keywords: limit, trigonometric function, inverse trigonometric function
+-- References:
+
+)clear all
+
+-- in each case, the argument to 'atan' has a pole and the left-hand
+-- and right-hand limits differ
+
+limit(atan(1/sin(x)),x = 0)
+
+limit(atan(sqrt(1 - x**2)/x),x = 0)
+
+limit(atan(-sin(x)/(cos(x) + a)),x = acos(-a))
+
+limit(atan(sin(x)/(cos(x) + a)),x = acos(-a))
+
+-- we'll get these next two if sqrt(1 - a**2) is considered to be
+-- positive by SIGNEF
+
+limit(atan(1/(cos(x) + a)),x = acos(-a))
+
+limit(atan(1/(sin(x) + a)),x = asin(-a))
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tschirn.input.pamphlet b/src/input/tschirn.input.pamphlet
new file mode 100644
index 00000000..8ad71ab4
--- /dev/null
+++ b/src/input/tschirn.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tschirn.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)tschirn.input 1.1 89/09/07 20:55:26
+draw(curve(3*(t**2-3),t*(t**2-3)),t = -3..3, [title "Tschirnhausen's Cubic"])
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tsetcatbutcher.input.pamphlet b/src/input/tsetcatbutcher.input.pamphlet
new file mode 100644
index 00000000..d3ed9451
--- /dev/null
+++ b/src/input/tsetcatbutcher.input.pamphlet
@@ -0,0 +1,81 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input TSETCATButcher.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [b1,x,y,z,t,v,u,w];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+b1: P := 'b1;
+x: P := 'x;
+y: P := 'y;
+z: P := 'z;
+t: P := 't;
+u: P := 'u;
+v: P := 'v;
+w: P := 'w;
+
+f0 := b1 + y + z - t - w;
+f1 := 2*z*u + 2*y*v + 2*t*w - 2*w**2 - w - 1 ;
+f2 := 3*z*u**2 + 3*y*v**2 - 3*t*w**2 + 3*w**3 + 3*w**2 - t + 4*w ;
+f3 := 6*x*z*v - 6*t*w**2 + 6*w**3 - 3*t*w + 6*w**2 - t + 4*w ;
+f4 := 4*z*u**3+ 4*y*v**3+ 4*t*w**3- 4*w**4 - 6*w**3+ 4*t*w- 10*w**2- w- 1 ;
+f5 := 8*x*z*u*v +8*t*w**3 -8*w**4 +4*t*w**2 -12*w**3 +4*t*w -14*w**2 -3*w -1 ;
+f6 := 12*x*z*v**2+12*t*w**3 -12*w**4 +12*t*w**2 -18*w**3 +8*t*w -14*w**2 -w -1;
+f7 := -24*t*w**3 + 24*w**4 - 24*t*w**2 + 36*w**3 - 8*t*w + 26*w**2 + 7*w + 1 ;
+
+lp := [f0,f1,f2,f3,f4,f5,f6,f7];
+
+-----------------------------------------------------------------------------
+--% Computations
+-----------------------------------------------------------------------------
+
+T := WUTSET(R,E,V,P);
+
+medialSet(lp)$T
+
+characteristicSet(lp)$T
+
+characteristicSerie(lp)$T
+
+zeroSetSplit(lp)$T
+
+
+T := REGSET(R,E,V,P)
+
+zeroSetSplit(lp)$T
+
+ST := SREGSET(R,E,V,P)
+
+zeroSetSplit(lp)$ST
+
+lmpack := LAZM3PK(R,E,V,P,T,ST);
+
+zeroSetSplit(lp,false)$lmpack
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tsetcatchemical.input.pamphlet b/src/input/tsetcatchemical.input.pamphlet
new file mode 100644
index 00000000..c452f68d
--- /dev/null
+++ b/src/input/tsetcatchemical.input.pamphlet
@@ -0,0 +1,70 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input TSETCATChemical.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [x4,x3,x2,x1,t];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x1: P := 'x1;
+x2: P := 'x2;
+x3: P := 'x3;
+x4: P := 'x4;
+t: P := 't;
+
+
+p1 := 2 - 7 * x1 + x1 ** 2 * x2 + t * (x3 - x1) ;
+p2 := 6 * x1 - x1 ** 2 * x2 + 10 * t * (x4 - x2) ;
+p3 := 2 - 7 * x3 + x3 ** 2 * x4 + t * (x1 - x3) ;
+p4 := 6 * x3 - x3 **2 * x4 + 1 - t * (x2 - x4) ;
+
+lp := [p1,p2,p3,p4];
+
+
+-----------------------------------------------------------------------------
+--% Computations
+-----------------------------------------------------------------------------
+
+T := WUTSET(R,E,V,P)
+
+medialSet(lp)$T
+
+characteristicSet(lp)$T
+
+characteristicSerie(lp)$T
+
+zeroSetSplit(lp)$T
+
+
+T := REGSET(R,E,V,P)
+
+zeroSetSplit(lp)$T
+
+zeroSetSplit(lp,false)$T
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tsetcatvermeer.input.pamphlet b/src/input/tsetcatvermeer.input.pamphlet
new file mode 100644
index 00000000..87cf897b
--- /dev/null
+++ b/src/input/tsetcatvermeer.input.pamphlet
@@ -0,0 +1,55 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input TSETCATVermeer.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-----------------------------------------------------------------------------
+--% Domains Definitions
+-----------------------------------------------------------------------------
+
+)clear all
+ls : List Symbol := [w,v,u,y,x];
+V := OVAR(ls);
+R := Integer;
+E := IndexedExponents V;
+P := NSMP(R, V);
+LP := List(P);
+
+-----------------------------------------------------------------------------
+--% Initialisations
+-----------------------------------------------------------------------------
+
+x: P := 'x;
+y: P := 'y;
+u: P := 'u;
+v: P := 'v;
+w: P := 'w;
+
+p1 := (x - u) ** 2 + (y - v) ** 2 - 1 ;
+p2 := v ** 2 - u ** 3 ;
+p3 := 2 * v * (x - u) + 3 * u ** 2 * (y - v) ;
+f1 := (3 * w * u ** 2 - 1) ;
+f2 := (2 * w * v - 1) ;
+p4 := f1 * f2 ;
+
+lp := [p1,p2,p3,p4] ;
+
+
+T := REGSET(R,E,V,P)
+
+zeroSetSplit(lp)$T
+
+zeroSetSplit(lp,false)$T
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tutchap1.input.pamphlet b/src/input/tutchap1.input.pamphlet
new file mode 100644
index 00000000..dab8ee0e
--- /dev/null
+++ b/src/input/tutchap1.input.pamphlet
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tutChap1.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+1+1
+123^45
+2^(3+4)
+4/3
+2/2
+a := 2
+b := a
+a := 3
+b
+i : Integer
+i := 2/3
+i := 4/2
+c : PositiveInteger := 3
+(j, k, l) : Integer
+)display names
+)clear properties c i
+%%(1)
+1 + %%(-3)
+1 _
+ +_
+ 2
+7 * 8 -- In the next chapter we shall move beyond elementary arithmetic.
+-- Commenting alone doesn't increment the command count.
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tutchap2.input.pamphlet b/src/input/tutchap2.input.pamphlet
new file mode 100644
index 00000000..ae81f5f3
--- /dev/null
+++ b/src/input/tutchap2.input.pamphlet
@@ -0,0 +1,113 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tutChap2.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+solve(3*x=x+2)
+x
+solve(3*x - 1 = 0)
+solve(3*x - 1)
+solve(3*x^2 - 7*x + 2)
+solve(x^2 - 2)
+solve(x^4 - 8*x^3 + 23*x^2 - 28*x + 12)
+factor(x^4 - 8*x^3 + 23*x^2 - 28*x + 12)
+radicalSolve(x^2 - 2)
+radicalSolve(x^5+x^2+1)
+solve(x^2 - 2, 0.00001)
+outputGeneral 6
+%%(11)
+solve(x^2 - 2, 1/100000)
+solve(x^2-2*x+3,0.00001)
+complexSolve(x^2-2*x+3,0.00001)
+solve((x^2 - 1.21) :: Polynomial Fraction Integer,0.00001)
+radicalSolve(a*x^2 + b*x + c, x)
+qs := %; -- the semicolon (;) inhibits AXIOM's output display
+qs1 := qs.1
+x1 := rhs %
+numeric rhs %%(9).1
+xs := map(rhs, qs)
+xs.1 + xs.2
+xs.1 * xs.2
+solve [x + 2*y + z = 5, 2*x - y - z = 6, x + y + 2*z = 0]
+solve [x^2 + y + 1, x + y^2 - 1]
+solve([x^2 + y + 1, x + y^2 - 1], 0.00001)
+complexSolve([x^2 + y + 1, x + y^2 - 1], 0.00001)
+solve([x^2-y^2, (x^2 -1)/(x+y)])
+a := (x + y)/2
+a :: Fraction Polynomial Integer
+a
+a := a :: Fraction Polynomial Integer
+a
+a := (x + y)/2;
+b : Fraction Polynomial Integer := a
+a : Fraction Polynomial Integer := a
+y := x^2 + 3*x + 2
+y := y :: Factored Polynomial Integer
+)clear p y -- since y has a value
+P := (y + z)*x^2 + z*x + c
+P :: UP(x, POLY INT)
+P :: UP(x, UP(y, POLY INT))
+P := P :: UP(x, UP(y, UP(z, UP(c, INT))))
+)clear p all
+sum(1/((3*r-2)*(3*r+1)*(3*r+4)), r=1..n)
+limit(%, n=%plusInfinity)
+SA := sum(a + (r-1)*b, r = 1..n)
+SA :: UP(a, Polynomial Fraction Integer)
+SA :: UP(a, UP(b, FRAC FR POLY INT))
+SG := sum(a*b^(r-1), r=1..n)
+)set stream calculate 5
+series((1 + x)^n, x=0)
+taylor((1 + x)^n, x=0)
+%.6
+xPositive? == (x :: Float > 0)
+x := 17-sqrt(300);
+xPositive?
+x := 18-sqrt(300);
+xPositive?
+)clear p x
+x
+xPositive?
+halfSum(x, y) == (x + y)/2
+halfSum(1, 3)
+halfSum(1.5, 2.5)
+halfSum(2, 4)
+f(n)==#((2^n)::String)
+f(20)
+f(n) == (local length; length := #((2^n)::String); _
+ if length > 120 then "Too long!" else length)
+f 100
+f 1000
+f(n : PositiveInteger) : Any == _
+ (local length; length := #((2^n)::String); _
+ if length > 120 then "Too long!" else length)
+f 0
+g1(x) == 2*x
+g2(x) == %
+G := 2*x
+g3(x) == G
+g1(1)
+g2(2)
+g3(3)
+l1 := [1,2,3,4,5]
+l2 := map(x +-> x^2,l1)
+BE(n) == taylor((1+x)^n, x=0)
+BE(5)
+BE(6)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tutchap3.input.pamphlet b/src/input/tutchap3.input.pamphlet
new file mode 100644
index 00000000..7ddc0bff
--- /dev/null
+++ b/src/input/tutchap3.input.pamphlet
@@ -0,0 +1,103 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tutChap3.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+D(x^2,x)
+D(sin x,x)
+D(sin(log(x/tan(x))),x)
+D(tan x,x,2)
+D(tan x,x,3)
+D(sin(x*y),x)
+D(sin(x*y),[y,x,x])
+dalembert := operator _[_]
+dalembert u
+J0 := operator script(J,[[0]]::List List OutputForm)
+symbol[sub1,sub2]
+f := operator 'f; g := operator 'g;
+D(f(x)*g(x),x)
+D(f(x)/g(x),x)
+D(f(g(x)),x)
+r := operator 'r; theta := operator 'theta ;
+x(t) == r(t)*cos theta t
+y(t) == r(t)*sin theta t
+D(x(t),t)
+D(y(t),t)
+)clear all
+r := operator 'r; theta := operator 'theta;
+r := r(t); theta := theta(t);
+x == r*cos theta; y == r*sin theta;
+ax := D(x,t,2); ay := D(y,t,2);
+eval(ax,theta=0)
+eval(ay,theta=0)
+f := operator 'f
+D(f(r,theta),t)
+D(f(r,theta),t,2)
+)clear p x -- since x has a value
+integrate(x^2,x)
+integrate(%e^x,x)
+integrate(1/x,x)
+integrate(sin x,x)
+I ==> integrate
+I(x^3,x)
+I(sin sin x,x)
+I(x^n,x)
+% - 1/(n + 1)
+limit(%,n=-1)
+In := %% 17
+limit(%,n=-1)
+)set stream calculate 5
+series(In,n=-1) -- expand In in powers of (n+1)
+In2 := In - x*%e^(-log(x))*(n+1)^(-1)
+limit(In2,n=-1)
+limit(x^(n+1)/(n+1),n=-1)
+limit(x^(n+1)/(n+1)-1/(n+1),n=-1)
+I(1/(a+x^2),x)
+series(second %, a=0)
+second %% 27
+(rule atan A == acot(1/A)) %
+I(atan x - acot(1/x),x)
+atanRule := rule atan(A) == acot(1/A)
+atanRule atan x
+rSimp := rule(sqrt(x^(2*(n|even? n))) == x^n)
+rSimp(sqrt(x^4))
+rSimp(sqrt(x^6))
+f := operator 'f; g := operator 'g; dprod := D(f(x)*g(x),x)
+(rule f x == sin x)%
+(rule g x == exp x)%
+(rule (f x == sin x; g x == cos x))dprod
+substitutions := (rule (f x == sec x; g x == csc x))
+substitutions dprod
+I(cot x, x)
+normalize %
+simplify %
+(rule N*log A + M*log B == log(A^N*B^M)) %
+(rule log(A^N) == N*log A)%
+ii:=I(1/(x^3 + x + 1),x)
+T0:= (tower ii).2 ::EXPR INT
+f:=definingPolynomial T0
+outputGeneral 5
+solve((numerator f) :: POLY INT,0.00001)
+eval(ii :: EXPR COMPLEX FLOAT,T0= rhs first %)
+solve((numerator f) :: POLY INT,1/100000)
+eval(ii,T0=rhs first %) :: EXPR Complex Integer
+complexForm %
+% :: EXPR Float
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tutchap4.input.pamphlet b/src/input/tutchap4.input.pamphlet
new file mode 100644
index 00000000..98cc4d3b
--- /dev/null
+++ b/src/input/tutchap4.input.pamphlet
@@ -0,0 +1,43 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tutChap4.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+s := operator 's
+solve(D(s(t),t,2) = -k^2*s(t), s, t)
+solve(D(s(t),t,2) = -k^2*s(t), s, t=0, [A, 0])
+DE := D(s(t),t,2) = -k^2*s(t) - c*D(s(t),t)
+S := solve(DE, s, t=0, [A, 0])
+S1 == eval(S,[A=1,k=1,c=3])
+draw(S1, t=0..100)
+S
+kernels S
+k3 := %.3
+eval(S,k3,%i*sqrt(4*k^2 - c^2))
+ST := trigs %
+S2 == eval(ST,[A=1,k=1,c=0.1])
+draw(S2::EXPR FLOAT,t=0..100)
+S3==eval(S,[A=1,k=1,c=0.1])
+draw(S3,t=0..100)
+function(S1,'s1,'t)
+s1(1)
+function(S2,'s2,'t)
+s2(0.1)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/tutchap67.input.pamphlet b/src/input/tutchap67.input.pamphlet
new file mode 100644
index 00000000..f730cf8f
--- /dev/null
+++ b/src/input/tutchap67.input.pamphlet
@@ -0,0 +1,170 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input tutChap67.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+(vecA,vecB) : Vector Integer
+vecA := vector [3,0,4]
+vecB := vector [2,4,-2]
+vecA + vecB
+vecA - vecB
+5*vecA
+vecB*7
+vecB/2
+1/2 * vecB
+vecA * (1/2)
+dot(vecA,vecB)
+sqrt dot(vecA,vecA)
+magnitude vecA
+direction x == 1/magnitude x * x
+direction vecA
+magnitude direction vecB
+p := vector [u1*t,u2*t,u3*t-1/2*g*t^2]
+D(p,t)
+DV(s,t) == map(x+->D(x,t),s)
+v := DV(p,t) -- the velocity,
+a := DV(v,t) -- acceleration
+j := DV(a,t) -- and jerk
+)clear properties all
+s := operator 's;
+sSol := solve(D(s(t),t,2) - aF + r/m*D(s(t),t),s,t=0,[0,u])
+u := vector [ux,uy]
+aF := vector [0,-g]
+function(sSol ,'s,'t)
+s t
+function(numerator sSol,'n,'t)
+function(1/denominator sSol*n(t),'s,'t)
+s t
+outputGeneral 6
+map(x+->eval(x,[m=1,ux=20,uy=10,r=0.1,g=9.8]),s t)
+draw(curve(%.1,%.2),t=0..2)
+map(x+->eval(x,[m=1,ux=20,uy=10,r=0,g=9.8]),s t)
+map(x+->limit(x,r=0),s t)
+map(x+->eval(x,[m=1,ux=20,uy=10,g=9.8]),%::Vector Expression Integer)
+draw(curve(%.1,%.2),t=0..2)
+Integer has Ring
+PositiveInteger has Ring
+has(Fraction Integer,DivisionRing)
+has(Integer,DivisionRing)
+List has Group
+List ? has Group
+Field has Ring
+Group has Ring
+vecC := vector [0,x +-> x,[a,b,c]]
+matA := matrix [[x,0],[7.3,%i]]
+vecC(1)
+vecC.2
+vecC 3
+vecD : Vector Integer := [1,2,3,4,5,6]
+matB : Matrix Integer := [[1,2,3],[4,5,6]]
+vector [1,2,3] :: Matrix Integer
+matA(1,2)
+matrix [[matA]]
+matrix [[matA::SquareMatrix(2,Polynomial Complex Float)]]
+matrix [[squareMatrix matA]]
+matC := matrix [[a,b,c],[d,e,f]]
+lvec := vector [2,3]
+rvec := vector [4,5,6]
+lvec * matC
+matC * rvec
+lrvec := vector [1,2]
+lrvec * ((matrix [[a,b],[c,d]] * lrvec) :: Matrix Polynomial Integer)
+vecD := new(5,0)
+new(3,3,0)$Matrix Integer
+Z3 := %;
+I3 := Z3; I3(1,1) := 1; I3(2,2) := 1; I3(3,3) := 1;
+I3
+I3 := Z3; for k in [1,2,3] repeat I3(k,k) := 1
+I3
+I3 := Z3; for k in 1..3 repeat I3(k,k) := 1
+I3
+expand(-7/2..7/3)
+for i in 11..20 repeat _
+ ( print i; _
+ if prime? i then messagePrint(" (That was prime.)")$OutputForm )
+poly := 0;
+for i in [1,2,3,4] for c in ['a,'b,'c,'d] repeat poly := poly + i*c
+poly
+vecC := vector [n^2 for n in 1..3]
+hilbert3 := matrix [[1/(i+j) for i in 1..3] for j in 1..3]
+I3 := matrix [[((m,n)+->if m=n then 1 else 0)(i,j) _
+ for i in 1..3] for j in 1..3]
+diagonalMatrix [1,1,1]
+inverse hilbert3
+% * hilbert3
+matC := matrix [[a,b],[c,d]]
+inverse matC
+determinant matC
+(x-a)^2 + (y-b)^2 - r^2 = 0
+row1 := [1,x,y,x^2+y^2]
+row2 := [eval(row1.i,[x,y],[0,1]) for i in 1..4]
+row3 := [eval(row1.i,[x,y],[1,0]) for i in 1..4];
+row4 := [eval(row1.i,[x,y],[-1,-1]) for i in 1..4];
+determinant [row1,row2,row3,row4] = 0
+solve([[1/(i+j) for i in 1..3] for j in 1..3],[3,5,7])
+matD := matrix [[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]]
+c := vector [5,6,7,8]
+solve(matD,c)
+horizConcat(matD,c)
+rank %
+rank matD
+solve([[2,3,4,5],[3,4,5,6],[4,5,6,7]],[5,6,7])
+subMatrix(matD,1,3,1,4)
+rank horizConcat(matD,vector [5,6,7,9])
+solve(matD,[5,6,7,9])
+hilbert3 :: Matrix DoubleFloat -- continuing the previous session
+% * inverse %
+matrix [[1/(i+j) for i in 1..11] for j in 1..11]::Matrix DoubleFloat;
+badUnit := % * inverse %;
+diagEls := set [%(i,i) for i in 1..11];
+min diagEls
+max diagEls
+offDiags := empty()$Set DoubleFloat
+for i in 1..11 repeat _
+ for j in 1..11 | i ~= j repeat _
+ offDiags := union(offDiags,badUnit(i,j))
+min offDiags
+max offDiags
+hilbert11 := matrix [[1/(i+j) for i in 1..11] for j in 1..11];
+% * inverse %
+detHilbert3 := determinant hilbert3
+detHilbert11 := determinant hilbert11
+% :: DoubleFloat
+determinant(hilbert11::Matrix DoubleFloat)
+test3 := hilbert3 :: Matrix Polynomial Fraction Integer;
+test3(1,1) := (1 + eps)/2;
+determinant test3
+(% - detHilbert3)/detHilbert3
+for i in 1..3 repeat for j in 1..3 repeat _
+ test3(i,j) := hilbert3(i,j) + (2*randnum(2) - 1)*eps
+test3
+(determinant test3 - detHilbert3)/detHilbert3
+error3 := matrix [[eps[i,j] for i in 1..3] for j in 1..3]
+test3 := hilbert3 + t*error3;
+detErr := (determinant test3 - detHilbert3)/detHilbert3;
+detErrReduced := coefficient(%,'t,1)
+coefficient(detErr,'t,0)
+epses := variables detErrReduced
+coefs := coefficients detErrReduced
+index := first sort((i,j)+->abs coefs.i > abs coefs.j, expand(1..9))
+epses.5
+coefs.5
+sort((i,j)+->abs i > abs j, coefs).2
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/typo.input.pamphlet b/src/input/typo.input.pamphlet
new file mode 100644
index 00000000..a3283fe3
--- /dev/null
+++ b/src/input/typo.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input typo.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)typo.input 1.1 89/09/07 20:55:28
+draw(curve(cos(7*t)*sin(t),sin(7*t)*cos(t)), t = 0..2*%pi)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/uniseg.input.pamphlet b/src/input/uniseg.input.pamphlet
new file mode 100644
index 00000000..ed266a5d
--- /dev/null
+++ b/src/input/uniseg.input.pamphlet
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input UNISEG.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from UniversalSegmentXmpPage
+)clear all
+
+pints := 1..
+nevens := (0..) by -2
+useg: UniversalSegment(Integer) := 3..10
+hasHi pints
+hasHi nevens
+hasHi useg
+expand pints
+expand nevens
+expand [1, 3, 10..15, 100..]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/up.input.pamphlet b/src/input/up.input.pamphlet
new file mode 100644
index 00000000..4a4a4283
--- /dev/null
+++ b/src/input/up.input.pamphlet
@@ -0,0 +1,58 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input UP.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from UnivariatePolynomialXmpPage
+)clear all
+
+(p,q) : UP(x,INT)
+p := (3*x-1)**2 * (2*x + 8)
+q := (1 - 6*x + 9*x**2)**2
+p**2 + p*q
+leadingCoefficient p
+degree p
+reductum p
+gcd(p,q)
+lcm(p,q)
+resultant(p,q)
+D p
+p(2)
+p(q)
+q(p)
+l := coefficients p
+reduce(gcd,l)
+content p
+ux := (x**4+2*x+3)::UP(x,INT)
+vectorise(ux,5)
+squareTerms(p) ==
+ reduce(+,[t**2 for t in monomials p])
+p
+squareTerms p
+(r,s) : UP(a1,FRAC INT)
+r := a1**2 - 2/3
+s := a1 + 4
+r quo s
+r rem s
+d := divide(r, s)
+r - (d.quotient * s + d.remainder)
+integrate r
+integrate s
+t : UP(a1,FRAC POLY INT)
+t := a1**2 - a1/b2 + (b1**2-b1)/(b2+3)
+u : FRAC POLY INT := t
+u :: UP(b1,?)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/vector.input.pamphlet b/src/input/vector.input.pamphlet
new file mode 100644
index 00000000..b1730695
--- /dev/null
+++ b/src/input/vector.input.pamphlet
@@ -0,0 +1,33 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input VECTOR.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from VectorXmpPage
+)clear all
+
+u : VECTOR INT := new(5,12)
+v : VECTOR INT := vector([1,2,3,4,5])
+#(v)
+v.2
+v.3 := 99
+v
+5 * v
+v * 7
+w : VECTOR INT := vector([2,3,4,5,6])
+v + w
+v - w
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/vectors.input.pamphlet b/src/input/vectors.input.pamphlet
new file mode 100644
index 00000000..fc6acef8
--- /dev/null
+++ b/src/input/vectors.input.pamphlet
@@ -0,0 +1,71 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input vectors.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1991.
+@
+<<*>>=
+<<license>>
+
+)r arrows
+clipValue :SF := 6
+clipFun(x) == min(max(x,-clipValue),clipValue)
+realSteps :INT := 25
+imagSteps :INT := 25
+C := Complex SF
+S := Segment SF
+drawComplexVectorField :(C -> C, S, S) -> VIEW3D
+drawComplexVectorField(f,realRange,imagRange) ==
+ delReal := (hi realRange - lo realRange)/realSteps
+ delImag := (hi imagRange - lo imagRange)/imagSteps
+ sp := create3Space()$ThreeSpace SF
+ real := lo realRange
+ for i in 1..realSteps + 1 repeat
+ imag := lo imagRange
+ for j in 1..imagSteps + 1 repeat
+ z := f complex(real, imag)
+ arg := argument z
+ len := clipFun sqrt norm z
+ p1 := point[real, imag, 0.0@SF, arg]
+ scaleLen := delReal * len
+ p2 := point[p1.1 + scaleLen * cos(arg),
+ p1.2 + scaleLen * sin(arg), 0.0@SF, arg]
+ arrow := makeArrow(p1, p2)
+ for a in arrow repeat curve(sp, a)
+ imag := imag + delImag
+ real := real + delReal
+ makeViewport3D(sp, "Complex Vector Field")$VIEW3D
+
+drawComplex :(C->C, S, S) -> VIEW3D
+drawComplex(f, realRange, imagRange) ==
+ deltaReal :SF := (hi realRange - lo realRange)/realSteps
+ deltaImag :SF := (hi imagRange - lo imagRange)/imagSteps
+ llp:List List Point SF := []
+ real :SF := lo realRange
+ for i in 1..realSteps + 1 repeat
+ imag :SF := lo imagRange
+ lp := []$(List Point SF)
+ for j in 1..imagSteps + 1 repeat
+ z :COMPLEX SF := f(complex(real, imag))
+ pt :Point SF := point[real, imag, clipFun sqrt norm z, argument z]
+ lp := cons(pt, lp)
+ imag := imag + deltaImag
+ real := real + deltaReal
+ llp := cons(reverse! lp, llp)
+ llp := reverse! llp
+ makeViewport3D(mesh(llp), "Complex Function")$VIEW3D
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/viewdef.input.pamphlet b/src/input/viewdef.input.pamphlet
new file mode 100644
index 00000000..d9fc38ab
--- /dev/null
+++ b/src/input/viewdef.input.pamphlet
@@ -0,0 +1,88 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input viewdef.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1994.
+@
+<<*>>=
+<<license>>
+-- test for ViewDefaultsPackage package
+
+--Operations to set 2D graph defaults:
+
+axesColorDefault dark blue()
+
+lineColorDefault pastel yellow()
+
+pointColorDefault bright red()
+
+pointSizeDefault(5)
+
+unitsColorDefault dim green()
+
+viewDefaults()
+
+
+--Operations which return 2D graph default information:
+
+axesColorDefault()
+
+lineColorDefault()
+
+pointColorDefault()
+
+pointColorDefault()
+
+unitsColorDefault()
+
+
+--Operations to set 3D graph defaults:
+
+tubePointsDefault(6)
+
+tubeRadiusDefault(.2)
+
+var1StepsDefault(35)
+
+var2StepsDefault(35)
+
+--Operations which return 3D graph default information:
+
+tubePointsDefault()
+
+tubeRadiusDefault()
+
+var1StepsDefault()
+
+var2StepsDefault()
+
+--Operations on viewport/output characteristics:
+
+viewPosDefault([100,100])
+
+viewPosDefault()
+
+viewSizeDefault([200,200])
+
+viewSizeDefault()
+
+viewWriteAvailable()
+
+viewWriteDefault(["PIXMAP","POSTSCRIPT"])
+
+viewWriteDefault()
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/void.input.pamphlet b/src/input/void.input.pamphlet
new file mode 100644
index 00000000..07059693
--- /dev/null
+++ b/src/input/void.input.pamphlet
@@ -0,0 +1,28 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input VOID.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from VoidXmpPage
+)clear all
+
+a : Integer
+)set message void on
+b : Fraction Integer
+)set message void off
+3::Void
+% :: PositiveInteger
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/wester.input.pamphlet b/src/input/wester.input.pamphlet
new file mode 100644
index 00000000..5e08228b
--- /dev/null
+++ b/src/input/wester.input.pamphlet
@@ -0,0 +1,395 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input wester.input}
+\author{Michael Wester}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+
+-- ----------[ A x i o m ]----------
+-- ---------- Initialization ----------
+)set messages autoload off
+)set messages time on
+)set quit unprotected
+)set streams calculate 7
+-- ---------- Numbers ----------
+-- Let's begin by playing with numbers: infinite precision integers
+factorial(50)
+factor(%)
+-- Infinite precision rational numbers
+1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8 + 1/9 + 1/10
+-- Arbitrary precision floating point numbers
+digits(50);
+-- This number is nearly an integer
+exp(sqrt(163.)*%pi)
+digits(20);
+-- Special functions
+besselJ(2, 1 + %i)
+-- Complete decimal expansion of a rational number
+decimal(1/7)
+-- Continued fractions
+continuedFraction(%pi)
+-- Simplify an expression with nested square roots
+s1:=sqrt(2*sqrt(3) + 4)
+p:POLY FRAC INT:= (ratPoly(s1::Expression Integer)::SUP FRAC INT).'z
+solp:=radicalSolve p
+rhs select (z+-> real abs (complexNumeric rhs z - complexNumeric s1) < 1.E-19,solp).1
+simplify(s1)
+-- Try a more complicated example (from the Putnam exam)
+s1:=sqrt(14 + 3*sqrt(3 + 2*sqrt(5 - 12*sqrt(3 - 2*sqrt(2)))))
+p:POLY FRAC INT:= (ratPoly(s1::Expression Integer)::SUP FRAC INT).'z
+solp:=radicalSolve p
+rhs select (z+-> real abs (complexNumeric rhs z - complexNumeric s1) < 1.E-19,solp).1
+simplify(s1)
+-- Cardinal numbers
+2*Aleph(0) - 3
+-- ---------- Statistics ----------
+-- ---------- Algebra ----------
+-- Numbers are nice, but symbols allow for variability---try some high school
+-- algebra: rational simplification
+(x**2 - 4)/(x**2 + 4*x + 4)
+-- This example requires more sophistication
+(%e**x - 1)/(%e**(x/2) + 1)
+normalize(%)
+-- Expand and factor polynomials
+(x + 1)**20
+D(%, x)
+factor(%)
+x**100 - 1
+factor(%)
+-- Factor polynomials over finite fields and field extensions
+p:= x**4 - 3*x**2 + 1
+factor(p)
+phi:= rootOf(phi**2 - phi - 1);
+factor(p, [phi])
+factor(p :: Polynomial(PrimeField(5)))
+expand(%)
+-- Partial fraction decomposition
+(x**2 + 2*x + 3)/(x**3 + 4*x**2 + 5*x + 2)
+padicFraction(
+ partialFraction(numerator(%) :: UnivariatePolynomial(x, Fraction Integer),
+ factor(denominator(%) :: Polynomial Integer) ::
+ Factored UnivariatePolynomial(x, Fraction Integer)))
+-- ---------- Inequalities ----------
+-- ---------- Trigonometry ----------
+-- Trigonometric manipulations---these are typically difficult for students
+r:= cos(3*x)/cos(x)
+real(complexNormalize(%))
+real(normalize(simplify(complexNormalize(r))))
+-- Use rewrite rules
+sincosAngles:= rule _
+ (cos((n | integer?(n)) * x) == _
+ cos((n - 1)*x) * cos(x) - sin((n - 1)*x) * sin(x); _
+ sin((n | integer?(n)) * x) == _
+ sin((n - 1)*x) * cos(x) + cos((n - 1)*x) * sin(x) )
+sincosAngles r
+-- ---------- Determining Zero Equivalence ----------
+-- The following expressions are all equal to zero
+sqrt(997) - (997**3)**(1/6)
+sqrt(999983) - (999983**3)**(1/6)
+s1:=(2**(1/3) + 4**(1/3))**3 - 6*(2**(1/3) + 4**(1/3)) - 6
+simplify(%)
+p:POLY FRAC INT:= (ratPoly(s1::Expression Integer)::SUP FRAC INT).'z
+solp:=radicalSolve p
+rhs select (z+-> real abs (complexNumeric rhs z - complexNumeric s1) < 1.E-19,solp).1
+-- This expression is zero for x, y > 0 and n not equal to zero
+x**(1/n)*y**(1/n) - (x*y)**(1/n)
+normalize(%)
+-- See Joel Moses, ``Algebraic Simplification: A Guide for the Perplexed'',
+-- CACM, Volume 14, Number 8, August 1971
+expr:= log(tan(1/2*x + %pi/4)) - asinh(tan(x))
+complexNormalize(%)
+-- Use a roundabout method---show that expr is a constant equal to zero
+D(expr, x)
+normalize(rootSimp(expand(simplify(%))))
+normalize(eval(expr, x = 0))
+expr:=log((2*sqrt(r) + 1)/sqrt(4*r + 4*sqrt(r) + 1))
+D(expr, x)
+eval(expr, x = 0)
+(4*r + 4*sqrt(r) + 1)**(sqrt(r)/(2*sqrt(r) + 1)) _
+ * (2*sqrt(r) + 1)**(1/(2*sqrt(r) + 1)) - 2*sqrt(r) - 1
+normalize(%)
+-- ---------- The Complex Domain ----------
+-- Complex functions---separate into their real and imaginary parts
+rectform(z) == real(z) + %i*imag(z)
+rectform(log(3 + 4*%i))
+simplify(rectform(tan(x + %i*y)))
+-- Check for branch abuse. See David R. Stoutemyer, ``Crimes and Misdemeanors
+-- in the Computer Algebra Trade'', Notices of the AMS, Volume 38, Number 7,
+-- September 1991. This first expression can simplify to sqrt(x y)/sqrt(x),
+-- but no further in general (consider what happens when x, y = -1).
+sqrt(x*y*abs(z)**2) / (sqrt(x)*abs(z))
+rootSimp %
+-- If z = -1, sqrt(1/z) is not equal to 1/sqrt(z)
+sqrt(1/z) - 1/sqrt(z)
+-- If z = 3 pi i, log(exp(z)) is not equal to z
+log(%e**z)
+normalize(%)
+-- The principal value of this expression is (10 - 4 pi) i
+log(%e**(10*%i))
+normalize(%)
+-- If z = pi, arctan(tan(z)) is not equal to z
+atan(tan(z))
+-- If z = 2 pi i, sqrt(exp(z)) is not equal to exp(z/2)
+sqrt(%e**z) - %e**(z/2)
+-- ---------- Equations ----------
+-- Manipulate an equation using a natural syntax
+(x = 0)/2 + 1
+-- Solve various nonlinear equations---this cubic polynomial has all real roots
+radicalSolve(3*x**3 - 18*x**2 + 33*x - 19 = 0, x)
+map(e +-> lhs(e) = rectform(rhs(e)), %)
+-- Some simple seeming problems can have messy answers
+eqn:= x**4 + x**3 + x**2 + x + 1 = 0
+radicalSolve(eqn, x)
+-- Check one of the answers
+eval(eqn, %.1)
+%e**(2*x) + 2*%e**x + 1 = z
+solve(%, x)
+-- This equation is already factored and so *should* be easy to solve
+(x + 1) * (sin(x)**2 + 1)**2 * cos(3*x)**3 = 0
+solve(%, x)
+-- The following equations have an infinite number of solutions (let n be an
+-- arbitrary integer): z = 0 [+ n 2 pi i]
+solve(%e**z = 1, z)
+-- x = pi/4 [+ n pi]
+solve(sin(x) = cos(x), x)
+solve(tan(x) = 1, x)
+-- x = 0, 0 [+ n pi, + n 2 pi]
+solve(sin(x) = tan(x), x)
+-- This equation has no solutions
+solve(sqrt(x**2 + 1) = x - 2, x)
+-- Solve a system of linear equations
+eq1:= x + y + z = 6
+eq2:= 2*x + y + 2*z = 10
+eq3:= x + 3*y + z = 10
+-- Note that the solution is parametric
+solve([eq1, eq2, eq3], [x, y, z])
+-- Solve a system of nonlinear equations
+eq1:= x**2*y + 3*y*z - 4 = 0
+eq2:= -3*x**2*z + 2*y**2 + 1 = 0
+eq3:= 2*y*z**2 - z**2 - 1 = 0
+-- Solving this by hand would be a nightmare
+solve([eq1, eq2, eq3], [x, y, z])
+-- ---------- Matrix Algebra ----------
+m:= matrix([[a, b], [1, a*b]])
+-- Invert the matrix
+minv:= inverse(m)
+m * minv
+-- Define a Vandermonde matrix (useful for doing polynomial interpolations)
+matrix([[1, 1, 1, 1 ], _
+ [w, x, y, z ], _
+ [w**2, x**2, y**2, z**2], _
+ [w**3, x**3, y**3, z**3]])
+determinant(%)
+-- The following formula implies a general result
+factor(%)
+-- Compute the eigenvalues of a matrix from its characteristic polynomial
+m:= matrix([[ 5, -3, -7], _
+ [-2, 1, 2], _
+ [ 2, -3, -4]])
+characteristicPolynomial(m, lambda)
+solve(% = 0, lambda)
+-- ---------- Tensors ----------
+-- ---------- Sums and Products ----------
+-- Sums: finite and infinite
+summation(k**3, k = 1..n)
+sum(k**3, k = 1..n)
+limit(sum(1/k**2 + 1/k**3, k = 1..n), n = %plusInfinity)
+-- Products
+product(k, k = 1..n)
+-- ---------- Calculus ----------
+-- Limits---start with a famous example
+limit((1 + 1/n)**n, n = %plusInfinity)
+limit((1 - cos(x))/x**2, x = 0)
+-- Apply the chain rule---this is important for PDEs and many other
+-- applications
+y:= operator('y);
+x:= operator('x);
+D(y(x(t)), t, 2)
+)clear properties x y
+-- ---------- Indefinite Integrals ----------
+1/(x**3 + 2)
+-- This would be very difficult to do by hand
+integrate(%, x)
+D(%, x)
+-- This example involves several symbolic parameters
+integrate(1/(a + b*cos(x)), x)
+map(simplify, map(f +-> D(f, x), %))
+-- Calculus on a non-smooth (but well defined) function
+D(abs(x), x)
+integrate(abs(x), x)
+-- Calculus on a piecewise defined function
+a(x) == if x < 0 then -x else x
+D(a(x), x)
+integrate(a(x), x)
+)clear properties a
+-- The following two integrals should be equivalent. The correct solution is
+-- [(1 + x)^(3/2) + (1 - x)^(3/2)] / 3
+integrate(x/(sqrt(1 + x) + sqrt(1 - x)), x)
+integrate((sqrt(1 + x) - sqrt(1 - x))/2, x)
+-- ---------- Definite Integrals ----------
+-- The following two functions have a pole at zero
+integrate(1/x, x = -1..1)
+integrate(1/x**2, x = -1..1)
+-- Different branches of the square root need to be chosen in the intervals
+-- [0, 1] and [1, 2]. The correct results are 4/3, [4 - sqrt(8)]/3,
+-- [8 - sqrt(8)]/3, respectively.
+integrate(sqrt(x + 1/x - 2), x = 0..1)
+integrate(sqrt(x + 1/x - 2), x = 0..1, "noPole")
+integrate(sqrt(x + 1/x - 2), x = 1..2)
+integrate(sqrt(x + 1/x - 2), x = 1..2, "noPole")
+integrate(sqrt(x + 1/x - 2), x = 0..2)
+integrate(sqrt(x + 1/x - 2), x = 0..2, "noPole")
+-- Contour integrals
+integrate(cos(x)/(x**2 + a**2), x = %minusInfinity..%plusInfinity)
+integrate(cos(x)/(x**2 + a**2), x = %minusInfinity..%plusInfinity, "noPole")
+-- Integrand with a branch point
+integrate(t**(a - 1)/(1 + t), t = 0..%plusInfinity)
+integrate(t**(a - 1)/(1 + t), t = 0..%plusInfinity, "noPole")
+-- Multiple integrals: volume of a tetrahedron
+integrate(integrate(integrate(1, z = 0..c*(1 - x/a - y/b)), _
+ y = 0..b*(1 - x/a)), _
+ x = 0..a)
+-- ---------- Series ----------
+-- Taylor series---this first example comes from special relativity
+1/sqrt(1 - (v/c)**2)
+series(%, v = 0)
+1/%**2
+tsin:= series(sin(x), x = 0)
+tcos:= series(cos(x), x = 0)
+-- Note that additional terms will be computed as needed
+tsin/tcos
+series(tan(x), x = 0)
+-- Look at the Taylor series around x = 1
+)set streams calculate 1
+log(x)**a*exp(-b*x)
+series(%, x = 1)
+)set streams calculate 7
+-- Compare the Taylor series of two different formulations of a function
+taylor(log(sinh(z)) + log(cosh(z + w)), z = 0)
+% - taylor(log(sinh(z) * cosh(z + w)), z = 0)
+series(log(sinh(z)) + log(cosh(z + w)), z = 0)
+% - series(log(sinh(z) * cosh(z + w)), z = 0)
+-- Power series (compute the general formula)
+log(sin(x)/x)
+series(%, x = 0)
+exp(-x)*sin(x)
+series(%, x = 0)
+-- Derive an explicit Taylor series solution of y as a function of x from the
+-- following implicit relation
+y:= operator('y);
+x = sin(y(x)) + cos(y(x))
+seriesSolve(%, y, x = 1, 0)
+)clear properties y
+-- Pade (rational function) approximation
+pade(1, 1, taylor(exp(-x), x = 0))
+-- ---------- Transforms ----------
+-- Laplace and inverse Laplace transforms
+laplace(cos((w - 1)*t), t, s)
+inverseLaplace(%, s, t)
+-- ---------- Difference and Differential Equations ----------
+-- Second order linear recurrence equation
+r:= operator('r);
+r(n + 2) - 2 * r(n + 1) + r(n) = 2
+[%, r(0) = 1, r(1) = m]
+)clear properties r
+-- Second order ODE with initial conditions---solve first using Laplace
+-- transforms
+f:= operator('f);
+ode:= D(f(t), t, 2) + 4*f(t) = sin(2*t)
+map(e +-> laplace(e, t, s), %)
+-- Now, solve the ODE directly
+solve(ode, f, t = 0, [0, 0])
+-- First order linear ODE
+y:= operator('y);
+x**2 * D(y(x), x) + 3*x*y(x) = sin(x)/x
+solve(%, y, x)
+-- Nonlinear ODE
+D(y(x), x, 2) + y(x)*D(y(x), x)**3 = 0
+solve(%, y, x)
+-- A simple parametric ODE
+D(y(x, a), x) = a*y(x, a)
+solve(%, y, x)
+D(y(x), x) = a*y(x)
+solve(%, y, x)
+-- ODE with boundary conditions. This problem has nontrivial solutions
+-- y(x) = A sin([pi/2 + n pi] x) for n an arbitrary integer.
+solve(D(y(x), x, 2) + k**2*y(x) = 0, y, x)
+-- bc(%, x = 0, y = 0, x = 1, D(y(x), x) = 0)
+-- System of two linear, constant coefficient ODEs
+x:= operator('x);
+system:= [D(x(t), t) = x(t) - y(t), D(y(t), t) = x(t) + y(t)]
+solve(system,[x,y],t)
+-- Check the answer
+-- Triangular system of two ODEs
+system:= [D(x(t), t) = x(t) * (1 + cos(t)/(2 + sin(t))), _
+ D(y(t), t) = x(t) - y(t)]
+-- Try solving this system one equation at a time
+solve(system.1, x, t)
+genericx:=C1*%.basis.1
+eval(lhs rightZero system.2,x,genericx,t)
+solve(%,y,t)
+genericy:=simplify (%.particular)+K1*(%.basis.1)
+eval(lhs rightZero system.1,x,genericx,t)
+eval(lhs rightZero system.2,[x,y],[genericx,genericy],t)
+)clear properties x y
+-- ---------- Operators ----------
+-- Linear differential operator
+DD:= operator("D") :: Operator(Expression Integer)
+evaluate(DD, e +-> D(e, x))$Operator(Expression Integer)
+L:= (DD - 1) * (DD + 2)
+g:= operator('g)
+L(f(x))
+subst(L(subst(g(y), y = x)), x = y)
+subst(L(subst(A * sin(z**2), z = x)), x = z)
+-- Truncated Taylor series operator
+T:= (f, xx, a) +-> subst((DD**0)(f(x)), x = a)/factorial(0) * (xx - a)**0 + _
+ subst((DD**1)(f(x)), x = a)/factorial(1) * (xx - a)**1 + _
+ subst((DD**2)(f(x)), x = a)/factorial(2) * (xx - a)**2
+T(f, x, a)
+T(g, y, b)
+Sin:= operator("sin") :: Operator(Expression Integer)
+evaluate(Sin, x +-> sin(x))$Operator(Expression Integer)
+T(Sin, z, c)
+-- ---------- Programming ----------
+-- Write a simple program to compute Legendre polynomials
+)clear properties p
+p(n, x) == 1/(2**n*factorial(n)) * D((x**2 - 1)**n, x, n)
+for i in 0..4 repeat { output(""); output(concat(["p(", string(i), ", x) = "])); output(p(i, x))}
+eval(p(4, x), x = 1)
+-- Now, perform the same computation using a recursive definition
+pp(0, x) == 1
+pp(1, x) == x
+pp(n, x) == ((2*n - 1)*x*pp(n - 1, x) - (n - 1)*pp(n - 2, x))/n
+for i in 0..4 repeat { output(""); output(concat(["pp(", string(i), ", x) = "])); output(pp(i, x))}
+)clear properties p pp
+-- ---------- Translation ----------
+-- Horner's rule---this is important for numerical algorithms
+a:= operator('a)
+sum(a(i)*x**i, i = 1..5)
+p:= factor(%)
+-- Convert the result into FORTRAN syntax
+)set fortran ints2floats off
+outputAsFortran('p = p)
+-- ---------- Boolean Logic ----------
+-- Simplify logical expressions
+true and false
+x or (not x)
+--x or y or (x and y)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/wiggle.input.pamphlet b/src/input/wiggle.input.pamphlet
new file mode 100644
index 00000000..0ffb8f04
--- /dev/null
+++ b/src/input/wiggle.input.pamphlet
@@ -0,0 +1,20 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input wiggle.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+-- @(#)wiggle.input 1.1 89/09/07 20:55:30
+draw(cos(x*y),x = -3..3, y = -3..3)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/wutset.input.pamphlet b/src/input/wutset.input.pamphlet
new file mode 100644
index 00000000..bdbafb04
--- /dev/null
+++ b/src/input/wutset.input.pamphlet
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input WUTSET.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from WuWenTsunTriangularSetXmpPage
+)clear all
+
+R := Integer
+ls : List Symbol := [x,y,z,t]
+V := OVAR(ls)
+E := IndexedExponents V
+P := NSMP(R, V)
+x: P := 'x
+y: P := 'y
+z: P := 'z
+t: P := 't
+T := WUTSET(R,E,V,P)
+p1 := x ** 31 - x ** 6 - x - y
+p2 := x ** 8 - z
+p3 := x ** 10 - t
+lp := [p1, p2, p3]
+characteristicSet(lp)$T
+zeroSetSplit(lp)$T
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/xpbwpoly.input.pamphlet b/src/input/xpbwpoly.input.pamphlet
new file mode 100644
index 00000000..f838d248
--- /dev/null
+++ b/src/input/xpbwpoly.input.pamphlet
@@ -0,0 +1,59 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input XPBWPOLY.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+a:Symbol := 'a
+b:Symbol := 'b
+RN := Fraction(Integer)
+word := OrderedFreeMonoid Symbol
+lword := LyndonWord(Symbol)
+base := PoincareBirkhoffWittLyndonBasis Symbol
+dpoly := XDistributedPolynomial(Symbol, RN)
+rpoly := XRecursivePolynomial(Symbol, RN)
+lpoly := LiePolynomial(Symbol, RN)
+poly := XPBWPolynomial(Symbol, RN)
+liste : List lword := LyndonWordsList([a,b], 6)
+0$poly
+1$poly
+p : poly := a
+q : poly := b
+pq: poly := p*q
+pq :: dpoly
+mirror pq
+ListOfTerms pq
+reductum pq
+leadingMonomial pq
+coefficients pq
+leadingTerm pq
+degree pq
+pq4:=exp(pq,4)
+log(pq4,4) - pq
+lp1 :lpoly := LiePoly liste.10
+lp2 :lpoly := LiePoly liste.11
+lp :lpoly := [lp1, lp2]
+lpd1: dpoly := lp1
+lpd2: dpoly := lp2
+lpd : dpoly := lpd1 * lpd2 - lpd2 * lpd1
+lp :: dpoly - lpd
+p := 3 * lp
+q := lp1
+pq:= p * q
+pr:rpoly := p :: rpoly
+qr:rpoly := q :: rpoly
+pq :: rpoly - pr*qr
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/xpoly.input.pamphlet b/src/input/xpoly.input.pamphlet
new file mode 100644
index 00000000..6a3353fc
--- /dev/null
+++ b/src/input/xpoly.input.pamphlet
@@ -0,0 +1,34 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input XPOLY.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+poly := XPolynomial(Integer)
+pr: poly := 2*x + 3*y-5
+pr2: poly := pr*pr
+pd := expand pr
+pd2 := pd*pd
+expand(pr2) - pd2
+qr := pr**3
+qd := pd**3
+ trunc(qd,2)
+trunc(qr,2)
+Word := OrderedFreeMonoid Symbol
+w: Word := x*y**2
+rquo(qr,w)
+sh(pr,w::poly)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/xpr.input.pamphlet b/src/input/xpr.input.pamphlet
new file mode 100644
index 00000000..0f95be1f
--- /dev/null
+++ b/src/input/xpr.input.pamphlet
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input XPR.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+)cl all
+
+Word := OrderedFreeMonoid(Symbol)
+poly:= XPR(Integer,Word)
+p:poly := 2 * x - 3 * y + 1
+q:poly := 2 * x + 1
+p + q
+p * q
+(p +q)^2 -p^2 -q^2 - 2*p*q
+M := SquareMatrix(2,Fraction Integer)
+poly1:= XPR(M,Word)
+m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]
+m2:M := m1 - 5/4
+m3: M := m2**2
+pm:poly1 := m1*x + m2*y + m3*z - 2/3
+qm:poly1 := pm - m1*x
+qm**3
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/zdsolve.input.pamphlet b/src/input/zdsolve.input.pamphlet
new file mode 100644
index 00000000..a1466210
--- /dev/null
+++ b/src/input/zdsolve.input.pamphlet
@@ -0,0 +1,47 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ZDSOLVE.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+R := Integer
+ls : List Symbol := [x,y,z,t]
+ls2 : List Symbol := [x,y,z,t,new()$Symbol]
+pack := ZDSOLVE(R,ls,ls2)
+p1 := x**2*y*z + x*y**2*z + x*y*z**2 + x*y*z + x*y + x*z + y*z
+p2 := x**2*y**2*z + x*y**2*z**2 + x**2*y*z + x*y*z + y*z + x + z
+p3 := x**2*y**2*z**2 + x**2*y**2*z + x*y**2*z + x*y*z + x*z + z + 1
+lp := [p1, p2, p3]
+triangSolve(lp)$pack
+univariateSolve(lp)$pack
+lr := realSolve(lp)$pack
+# lr
+[[approximate(r,1/1000000) for r in point] for point in lr]
+lpr := positiveSolve(lp)$pack
+f0 := x**3 + y + z + t- 1
+f1 := x + y**3 + z + t -1
+f2 := x + y + z**3 + t-1
+f3 := x + y + z + t**3 -1
+lf := [f0, f1, f2, f3]
+lts := triangSolve(lf)$pack
+univariateSolve(lf)$pack
+ts := lts.1
+univariateSolve(ts)$pack
+realSolve(ts)$pack
+lr2 := realSolve(lf)$pack
+#lr2
+lpr2 := positiveSolve(lf)$pack
+[approximate(r,1/10**21)::Float for r in lpr2.1]
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/zimmer.input.pamphlet b/src/input/zimmer.input.pamphlet
new file mode 100644
index 00000000..3cfc0661
--- /dev/null
+++ b/src/input/zimmer.input.pamphlet
@@ -0,0 +1,393 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input zimmer.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+These examples come from Postel & Zimmermann's paper in the 5th Rhine
+Conference on Computer Algebra.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+)set break resume
+
+-- First Order Equations
+
+-- 1
+
+u := operator 'u
+ode := (x^4-x^3)*D(u x,x) + 2*x^4*u(x) = x^3/3 + C
+solve(ode,u,x)
+
+-- 2
+)clear all
+
+u := operator 'u
+ode := -D(u x,x)/2 + u(x) = sin(x)
+solve(ode,u,x)
+
+-- 3
+)clear all
+
+y := operator 'y
+ode := D(y x,x) = y(x)/(y(x)*log(y(x)) + x)
+solve(ode,y,x)
+
+-- 4
+)clear all
+
+y := operator 'y
+ode := 2*y(x)*D(y x,x)^2 -2*x*D(y x,x)-y(x) = 0
+solve(ode,y,x)
+
+-- 5
+)clear all
+
+y := operator 'y
+ode := D(y x,x) + y(x) = y(x)^3*sin(x)
+solve(ode,y,x)
+
+-- 6
+)clear all
+
+y := operator 'y
+P := operator 'P
+Q := operator 'Q
+ode := D(y x,x) + P(x)*y(x) = Q(x)*y(x)^n
+solve(ode,y,x)
+solve(eval(ode,n=1),y,x)
+solve(eval(ode,n=2),y,x)
+solve(eval(ode,n=%pi),y,x)
+solve(eval(ode,n=%e),y,x)
+solve(eval(ode,n=sqrt(2)),y,x)
+
+-- 7
+)clear all
+
+y := operator 'y
+ode := (x^2-1)*D(y x,x)^2 - 2*x*y(x)*D(y x,x)+(y x)^2 - 1 = 0
+solve(ode,y,x)
+
+-- 8
+)clear all
+
+y := operator 'y
+f := operator 'f
+g := operator 'g
+ode := f(x*D(y x,x) - y(x)) = g(D(y x,x))
+solve(ode,y,x)
+
+-- 9
+)clear all
+
+y := operator 'y
+ode := D(y x,x) = (3*x^2-y(x)^2-7)/(exp(y(x))+2*x*y(x)+1)
+solve(ode,y,x)
+
+-- 10
+)clear all
+
+y := operator 'y
+ode := D(y x,x) = (2*x^3*y(x) - (y x)^4)/(x^4 - 2*x*(y x)^3)
+solve(ode,y,x)
+
+-- 11
+)clear all
+
+y := operator 'y
+ode := D(y x,x)*(D(y x,x) + y(x)) = x*(x + y(x))
+solve(ode,y,x)
+
+-- 12
+)clear all
+
+y := operator 'y
+ode := D(y x,x) = x/(x^2*(y x)^2 + (y x)^5)
+solve(ode,y,x)
+
+-- 13
+)clear all
+
+y := operator 'y
+ode := y(x) = 2*x*D(y x,x) - a*D(y x,x)^3
+solve(ode,y,x)
+
+-- 14
+)clear all
+
+y := operator 'y
+ode := y(x) = 2*x*D(y x,x) - D(y x,x)^3
+solve(ode,y,x)
+
+-- 15
+)clear all
+
+y := operator 'y
+ode := D(y x,x) = exp(x)*(y x)^2 - y(x) + exp(-x)
+solve(ode,y,x)
+
+-- 16
+)clear all
+
+y := operator 'y
+ode := D(y x,x) = (y x)^2 - x*y(x) + 1
+solve(ode,y,x)
+
+-- 17
+)clear all
+
+y := operator 'y
+ode := D(y x,x) = (9*x^8 + 1)/((y x)^2 +1)
+solve(ode,y,x)
+
+-- 18
+)clear all
+
+y := operator 'y
+ode := y(x)=2*x*D(y x,x) + y(x)*D(y x,x)^2
+solve(ode,y,x)
+
+-- 19
+)clear all
+y := operator 'y
+ode := x = y(x)*D(y x,x) - x*D(y x,x)^2
+solve(ode,y,x)
+
+-- Second Order Equations
+
+-- 20
+)clear all
+y := operator 'y
+ode := D(y x,x,2)*(a*x+b)^2+4*D(y x,x)*(a*x+b)*a+2*y(x)*a^2=0
+solve(ode,y,x)
+
+-- 21
+)clear all
+u := operator 'u
+ode := (x^2 - x)*D(u x,x,2) + (2*x^2+4*x-3)*D(u x,x) + 8*x*u(x)=1
+solve(ode,u,x)
+
+-- 22
+)clear all
+w := operator 'w
+ode := (x^2 - x)*D(w x,x,2) + (1-2*x^2)*D(w x,x) + (4*x - 2)*w(x) = 0
+solve(ode,w,x)
+
+-- 23
+)clear all
+y := operator 'y
+ode := D(y x,x,2) - D(y x,x) = 2*y(x)*D(y x,x)
+solve(ode,y,x)
+
+-- 24
+)clear all
+y := operator 'y
+ode := D(y x,x,2)/y(x) - D(y x,x)^2/y(x)^2 -1 + y(x)^(-3) = 0
+solve(ode,y,x)
+
+-- 25
+)clear all
+y := operator 'y
+ode := D(y x,x,2) + 2*x*D(y x,x) = 2*x
+solve(ode,y,x)
+
+-- 26
+)clear all
+y := operator 'y
+ode := 2*y(x)*D(y x,x,2) - D(y x,x)^2 = (D(y x,x) - x*D(y x,x,2))^2/3
+solve(ode,y,x)
+
+-- 27
+)clear all
+y := operator 'y
+ode := x*D(y x,x,2) = 2*y(x)*D(y x,x)
+solve(ode,y,x)
+
+-- 28
+)clear all
+y := operator 'y
+ode := (1-x)*(y(x)*D(y x,x,2) - D(y x,x)^2) + x^2*y(x)^2 = 0
+solve(ode,y,x)
+
+-- 29
+)clear all
+y := operator 'y
+ode := x*y(x)*D(y x,x,2) + x*D(y x,x)^2 + y(x)*D(y x,x) = 0
+solve(ode,y,x)
+
+-- 30
+)clear all
+y := operator 'y
+ode := D(y x,x,2)^2 - 2*D(y x,x,2)*D(y x,x) + 2*y(x)*D(y x,x) -y(x)^2 = 0
+solve(ode,y,x)
+
+-- 31
+)clear all
+y := operator 'y
+ode := (x^3/2-x^2)*D(y x,x,2) + (2*x^2-3*x+1)*D(y x,x) + (x-1)*y(x) = 0
+solve(ode,y,x)
+
+-- 32
+)clear all
+y := operator 'y
+ode := D(y x,x,2) - 2*x*D(y x,x) + 2*y(x) = 3
+solve(ode,y,x)
+
+-- 33
+)clear all
+y := operator 'y
+ode := sqrt(x)*D(y x,x,2) + 2*x*D(y x,x) + 3*y(x) = 0
+solve(ode,y,x)
+
+-- 34
+)clear all
+y := operator 'y
+ode := x^2*D(y x,x,2) + 3*x*D(y x,x) = 1/(x^4*y(x)^3)
+solve(ode,y,x)
+
+-- 35
+)clear all
+y := operator 'y
+ode := D(y x,x,2) - 2/x^2*y(x) = 7*x^4 +3*x^3
+solve(ode,y,x)
+
+-- 36
+)clear all
+y := operator 'y
+ode := D(y x,x,2) +y(x) = csc(x)
+solve(ode,y,x)
+
+-- Higher Order Equations
+
+-- 37
+)clear all
+y := operator 'y
+ode := D(y x,x,7) - 14*D(y x,x,6) +80*D(y x,x,5) -242*D(y x,x,4) + _
+ 419*D(y x,x,3) - 416*D(y x,x,2) +220*D(y x,x) -48*y(x) = 0
+solve(ode,y,x)
+
+-- 38
+)clear all
+y := operator 'y
+ode := D(y x,x,4) -4/x^2*D(y x,x,2) + 8/x^3*D(y x,x) -8/x^4*D(y x,x) = 0
+solve(ode,y,x)
+
+-- 39
+)clear all
+y := operator 'y
+ode := (1+x+x^2)*D(y x,x,3) + (3+6*x)*D(y x,x,2) +6*D(y x,x) = 6*x
+solve(ode,y,x)
+
+-- 40
+)clear all
+y := operator 'y
+ode := (D(y x,x)^2 +1)*D(y x,x,3) - 3*D(y x,x)*D(y x,x,2) = 0
+solve(ode,y,x)
+
+-- 41
+)clear all
+y := operator 'y
+ode := 3*D(y x,x,2)*D(y x,x,4) - 5*D(y x,x,3)^2 = 0
+solve(ode,y,x)
+
+-- Special Equations
+
+-- 42
+)clear all
+y := operator 'y
+ode := D(y t,t) + a*y(t-1) = 0
+solve(ode,y,t)
+
+-- 43
+)clear all
+y := operator 'y
+ode := D(y(x,a),x) = a*y(x,a)
+solve(ode,y,x)
+
+-- 44
+)clear all
+y := operator 'y
+ode := D(y x,x,4) = sin(x)
+solve(ode,y,x=0,[0,0,0,0])
+
+-- 45
+)clear all
+y := operator 'y
+ode := x*D(y x,x,2) + D(y x,x) +2*x*y(x) =0
+solve(ode,y,x=0,[1,0])
+
+-- 46
+)clear all
+y := operator 'y
+ode := x*D(y x,x)^2 -(y x)^2 + 1 = 0
+solve(ode,y,x=0,[1])
+
+-- 47
+)clear all
+y := operator 'y
+ode := D(y x,x,2) + y(x)*D(y x,x)^3 = 0
+solve(ode,y,x=0,[0,2])
+
+-- Systems Of equations
+
+-- 48
+)clear all
+x := operator 'x
+y := operator 'y
+z := operator 'z
+odes := [D(x t,t) = -3*y(t)*z(t), D(y t,t) = 3*x(t)*z(t), D(z t,t) = -x(t)*y(t)]
+solve(odes,[x,y,z],t)
+
+-- 49
+)clear all
+x := operator 'x
+y := operator 'y
+a := operator 'a
+b := operator 'b
+odes := [D(x t,t) = a(t)*((y t)^2 - (x t)^2) + 2*b(t)*x(t)*y(t) + 2*c*x(t),
+ D(y t,t) = b(t)*((y t)^2 - (x t)^2) - 2*a(t)*x(t)*y(t) + 2*c*y(t)]
+solve(odes,[x,y],t)
+
+-- 50
+)clear all
+x := operator 'x
+y := operator 'y
+odes := [D(x t,t) = x(t)*(1+cos(t)/(2+sin(t))), D(y t,t) = x(t) - y(t)]
+solve(odes,[x,y],t)
+
+-- 51
+)clear all
+x := operator 'x
+y := operator 'y
+odes := [D(x t,t) = 9*x(t) + 2*y(t), D(y t,t) = x(t) + 8*y(t)]
+solve(odes,[x,y],t)
+
+-- 52
+)clear all
+x := operator 'x
+y := operator 'y
+odes := [D(x t,t) - x(t) - 2*y(t) = 0, D(x t,t,2) - 2*D(y t,t) = 2*t - cos(2*t)]
+solve(odes,[x,y],t)
+
+-- 53
+)clear all
+y1 := operator 'y1
+y2 := operator 'y2
+odes := [D(y1 x,x) = -1/(x*(x^2 + 1))*y1(x) + 1/(x^2*(x^2 + 1))*y2(x)+1/x,
+ D(y2 x,x) = -x^2/(x^2 + 1)*y1(x) + (2*x^2+1)/x/(x^2+1)*y2(x)+1]
+solve(odes,[y1,y2],x)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/input/zlindep.input.pamphlet b/src/input/zlindep.input.pamphlet
new file mode 100644
index 00000000..d088b7f6
--- /dev/null
+++ b/src/input/zlindep.input.pamphlet
@@ -0,0 +1,30 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input ZLINDEP.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+-- Input generated from IntegerLinearDependenceXmpPage
+)clear all
+
+M := SQMATRIX(2,INT)
+m1: M := squareMatrix matrix [[1, 2], [0, -1]]
+m2: M := squareMatrix matrix [[2, 3], [1, -2]]
+m3: M := squareMatrix matrix [[3, 4], [2, -3]]
+linearlyDependentOverZ? vector [m1, m2, m3]
+c := linearDependenceOverZ vector [m1, m2, m3]
+c.1 * m1 + c.2 * m2 + c.3 * m3
+solveLinearlyOverQ(vector [m1, m3], m2)
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}