1COMMENT
2
3                 THE REDUCE INTEGRATION TEST PACKAGE
4
5                              Edited By
6
7                           Anthony C. Hearn
8			 The RAND Corporation
9
10
11This file is designed to provide a set of representative tests of the
12Reduce integration package.  Not all examples go through, even when an
13integral exists, since some of the arguments are outside the domain of
14applicability of the current package.  However, future improvements to
15the package will result in more closed-form evaluations in later
16releases.  We would appreciate any additional contributions to this test
17file either because they illustrate some feature (good or bad) of the
18current package, or suggest domains which future versions should handle.
19Any suggestions for improved organization of this test file (e.g., in a
20way which corresponds more directly to the organization of a standard
21integration table book such as Gradshteyn and Ryznik) are welcome.
22
23Acknowledgments:
24
25The examples in this file have been contributed by the following.
26Any omissions to this list should be reported to the Editor.
27
28David M. Dahm
29James H. Davenport
30John P. Fitch
31Steven Harrington
32Anthony C. Hearn
33K. Siegfried Koelbig
34Ernst Krupnikov
35Arthur C. Norman
36Herbert Stoyan
37;
38
39
40Comment we first set up a suitable testing functions;
41
42
43fluid '(gcknt!*);
44
45
46
47global '(faillist!* gcnumber!* inittime number!-of!-integrals
48         unintlist!*);
49
50
51
52symbolic operator time;
53
54
55
56symbolic procedure initialize!-integral!-test;
57   begin
58      faillist!* := unintlist!* := nil;
59      number!-of!-integrals := 0;
60      gcnumber!* := gcknt!*;
61      inittime := time()
62   end;
63
64
65initialize!-integral!-test
66
67
68symbolic procedure summarize!-integral!-test;
69   begin scalar totaltime;
70      totaltime := time()-inittime;
71      prin2t
72   "                *****     SUMMARY OF INTEGRAL TESTS     *****";
73      terpri();
74      prin2 "Number of integrals tested: ";
75      prin2t number!-of!-integrals;
76      terpri();
77      prin2 "Total time taken: ";
78      prin2 totaltime;
79      prin2t " ms";
80      terpri();
81      if gcnumber!*
82        then <<prin2 "Number of garbage collections: ";
83               prin2t (gcknt!* - gcnumber!*);
84               terpri()>>;
85      prin2 "Number of incorrect integrals: ";
86            prin2t length faillist!*;
87      terpri();
88      prin2 "Number of unevaluated integrals: ";
89      prin2t length unintlist!*;
90      terpri();
91      if faillist!*
92        then <<prin2t "Integrands of incorrect integrals are:";
93               for each x in reverse faillist!* do mathprint car x>>;
94      if unintlist!*
95        then <<prin2t "Integrands of unevaluated integrals are:";
96               terpri();
97               for each x in reverse unintlist!* do mathprint car x>>
98   end;
99
100
101summarize!-integral!-test
102
103
104procedure testint(a,b);
105  begin scalar der,diffce,res,tt;
106      tt:=time();
107      symbolic (number!-of!-integrals := number!-of!-integrals + 1);
108      res:=int(a,b);
109%     write "time for integral:  ",time()-tt," ms";
110      der := df(res,b);
111      diffce := der-a;
112      if diffce neq 0
113	then  begin for all x let cot x=cos x/sin x,
114				  sec x=1/cos x,
115				  sin x**2=1-cos x**2,
116				  tan(x/2)=sin x/(1+cos x),
117				  tan x=sin x/cos x,
118		    		  tanh x=
119				     (e**(x)-e**(-x))/(e**x+e**(-x)),
120				  coth x= 1/tanh x;
121	       	    diffce := diffce;
122		    for all x clear cot x,sec x,sin x**2,tan x,tan(x/2),
123				    tanh x,coth x
124	      end;
125	%hopefully, difference appeared non-zero due to absence of
126	%above transformations;
127      if diffce neq 0
128	then <<on combineexpt; diffce := diffce; off combineexpt>>;
129      if diffce neq 0
130	then begin scalar !*reduced;
131		symbolic(!*reduced := t);
132		for all x let cos(2x)= 1-2sin x**2, sin x**2=1-cos x**2;
133		diffce := diffce;
134	       for all x clear cos(2x),sin x**2
135	     end;
136      if diffce neq 0
137	then <<write
138       "     ***** DERIVATIVE OF INTEGRAL NOT EQUAL TO INTEGRAND *****";
139	       symbolic(faillist!* := list(a,b,res,der) . faillist!*)>>;
140               symbolic if smemq('int,res)
141                    then unintlist!* := list(a,b,res) . unintlist!*;
142    return res
143  end;
144
145
146testint
147
148
149symbolic initialize!-integral!-test();
150
151
152
153% References are to Gradshteyn and Ryznik.
154
155testint(1+x+x**2,x);
156
157
158       2
159 x*(2*x  + 3*x + 6)
160--------------------
161         6
162
163testint(x**2*(2*x**2+x)**2,x);
164
165
166  5      2
167 x *(60*x  + 70*x + 21)
168------------------------
169          105
170
171testint(x*(x**2+2*x+1),x);
172
173
174  2     2
175 x *(3*x  + 8*x + 6)
176---------------------
177         12
178
179testint(1/x,x);
180
181
182log(x)
183                        % 2.01 #2
184testint((x+1)**3/(x-1)**4,x);
185
186
187               3                 2                                      3
188 3*log(x - 1)*x  - 9*log(x - 1)*x  + 9*log(x - 1)*x - 3*log(x - 1) - 6*x  - 2
189------------------------------------------------------------------------------
190                               3      2
191                           3*(x  - 3*x  + 3*x - 1)
192
193testint(1/(x*(x-1)*(x+1)**2),x);
194
195
196(log(x - 1)*x + log(x - 1) + 3*log(x + 1)*x + 3*log(x + 1) - 4*log(x)*x
197
198  - 4*log(x) + 2*x)/(4*(x + 1))
199
200testint((a*x+b)/((x-p)*(x-q)),x);
201
202
203 log(p - x)*a*p + log(p - x)*b - log(q - x)*a*q - log(q - x)*b
204---------------------------------------------------------------
205                             p - q
206
207testint(1/(a*x**2+b*x+c),x);
208
209
210                 2           2*a*x + b
211 2*sqrt(4*a*c - b )*atan(------------------)
212                                        2
213                          sqrt(4*a*c - b )
214---------------------------------------------
215                          2
216                 4*a*c - b
217
218testint((a*x+b)/(1+x**2),x);
219
220
221                    2
222 2*atan(x)*b + log(x  + 1)*a
223-----------------------------
224              2
225
226testint(1/(x**2-2*x+3),x);
227
228
229                x - 1
230 sqrt(2)*atan(---------)
231               sqrt(2)
232-------------------------
233            2
234
235
236% Rational function examples from Hardy, Pure Mathematics, p 253 et seq.
237
238testint(1/((x-1)*(x**2+1))**2,x);
239
240
241          3            2                              2       3        2       2
242(atan(x)*x  - atan(x)*x  + atan(x)*x - atan(x) + log(x  + 1)*x  - log(x  + 1)*x
243
244         2               2                      3                 2
245  + log(x  + 1)*x - log(x  + 1) - 2*log(x - 1)*x  + 2*log(x - 1)*x
246
247                                     3                 3    2
248  - 2*log(x - 1)*x + 2*log(x - 1) - x  - 2*x + 1)/(4*(x  - x  + x - 1))
249
250testint(x/((x-a)*(x-b)*(x-c)),x);
251
252
253(log(a - x)*a*b - log(a - x)*a*c - log(b - x)*a*b + log(b - x)*b*c
254
255                                       2      2        2      2    2        2
256  + log(c - x)*a*c - log(c - x)*b*c)/(a *b - a *c - a*b  + a*c  + b *c - b*c )
257
258testint(x/((x**2+a**2)*(x**2+b**2)),x);
259
260
261         2    2         2    2
262  - log(a  + x ) + log(b  + x )
263--------------------------------
264              2    2
265          2*(a  - b )
266
267testint(x**2/((x**2+a**2)*(x**2+b**2)),x);
268
269
270       x             x
271 atan(---)*a - atan(---)*b
272       a             b
273---------------------------
274           2    2
275          a  - b
276
277testint(x/((x-1)*(x**2+1)),x);
278
279
280                  2
281 2*atan(x) - log(x  + 1) + 2*log(x - 1)
282----------------------------------------
283                   4
284
285testint(x/(1+x**3),x);
286
287
288                 2*x - 1          2
289 2*sqrt(3)*atan(---------) + log(x  - x + 1) - 2*log(x + 1)
290                 sqrt(3)
291------------------------------------------------------------
292                             6
293
294testint(x**3/((x-1)**2*(x**3+1)),x);
295
296
297           2                     2
298( - 4*log(x  - x + 1)*x + 4*log(x  - x + 1) + 9*log(x - 1)*x - 9*log(x - 1)
299
300  - log(x + 1)*x + log(x + 1) - 6*x)/(12*(x - 1))
301
302testint(1/(1+x**4),x);
303
304
305                     sqrt(2) - 2*x             sqrt(2) + 2*x
306(sqrt(2)*( - 2*atan(---------------) + 2*atan(---------------)
307                        sqrt(2)                   sqrt(2)
308
309                                 2                         2
310           - log( - sqrt(2)*x + x  + 1) + log(sqrt(2)*x + x  + 1)))/8
311
312testint(x**2/(1+x**4),x);
313
314
315                     sqrt(2) - 2*x             sqrt(2) + 2*x
316(sqrt(2)*( - 2*atan(---------------) + 2*atan(---------------)
317                        sqrt(2)                   sqrt(2)
318
319                                 2                         2
320           + log( - sqrt(2)*x + x  + 1) - log(sqrt(2)*x + x  + 1)))/8
321
322testint(1/(1+x**2+x**4),x);
323
324
325                 2*x - 1                     2*x + 1            2
326(2*sqrt(3)*atan(---------) + 2*sqrt(3)*atan(---------) - 3*log(x  - x + 1)
327                 sqrt(3)                     sqrt(3)
328
329           2
330  + 3*log(x  + x + 1))/12
331
332
333% Examples involving a+b*x.
334
335z := a+b*x;
336
337
338z := a + b*x
339
340
341testint(z**p,x);
342
343
344          p
345 (a + b*x) *(a + b*x)
346----------------------
347      b*(p + 1)
348
349testint(x*z**p,x);
350
351
352          p      2              2    2    2  2
353 (a + b*x) *( - a  + a*b*p*x + b *p*x  + b *x )
354------------------------------------------------
355                2   2
356               b *(p  + 3*p + 2)
357
358testint(x**2*z**p,x);
359
360
361          p
362((a + b*x)
363
364      3      2            2  2  2      2    2    3  2  3      3    3      3  3
365 *(2*a  - 2*a *b*p*x + a*b *p *x  + a*b *p*x  + b *p *x  + 3*b *p*x  + 2*b *x ))
366
367   3   3      2
368/(b *(p  + 6*p  + 11*p + 6))
369
370testint(1/z,x);
371
372
373 log(a + b*x)
374--------------
375      b
376
377testint(1/z**2,x);
378
379
380      x
381-------------
382 a*(a + b*x)
383
384testint(x/z,x);
385
386
387  - log(a + b*x)*a + b*x
388-------------------------
389            2
390           b
391
392testint(x**2/z,x);
393
394
395                 2              2  2
396 2*log(a + b*x)*a  - 2*a*b*x + b *x
397-------------------------------------
398                   3
399                2*b
400
401testint(1/(x*z),x);
402
403
404  - log(a + b*x) + log(x)
405--------------------------
406            a
407
408testint(1/(x**2*z),x);
409
410
411 log(a + b*x)*b*x - log(x)*b*x - a
412-----------------------------------
413                2
414               a *x
415
416testint(1/(x*z)**2,x);
417
418
419                                        2  2                              2  2
420(2*log(a + b*x)*a*b*x + 2*log(a + b*x)*b *x  - 2*log(x)*a*b*x - 2*log(x)*b *x
421
422     2      2  2    3
423  - a  + 2*b *x )/(a *x*(a + b*x))
424
425testint(1/(c**2+x**2),x);
426
427
428       x
429 atan(---)
430       c
431-----------
432     c
433
434testint(1/(c**2-x**2),x);
435
436
437 log( - c - x) - log(c - x)
438----------------------------
439            2*c
440
441
442% More complicated rational function examples, mostly contributed
443% by David M. Dahm, who also developed the code to integrate them.
444
445testint(1/(2*x**3-1),x);
446
447
448                             1/3
449  2/3                     2*2   *x + 1          2/3  2    1/3
450(2   *( - 2*sqrt(3)*atan(--------------) - log(2   *x  + 2   *x + 1)
451                            sqrt(3)
452
453                 1/3
454        + 2*log(2   *x - 1)))/12
455
456testint(1/(x**3-2),x);
457
458
459                            1/3
460  1/3                      2    + 2*x           2/3    1/3      2
461(2   *( - 2*sqrt(3)*atan(--------------) - log(2    + 2   *x + x )
462                           1/3
463                          2   *sqrt(3)
464
465                    1/3
466        + 2*log( - 2    + x)))/12
467
468testint(1/(a*x**3-b),x);
469
470
471                             1/3      1/3
472  1/3                     2*a   *x + b             2/3  2    1/3  1/3      2/3
473(b   *( - 2*sqrt(3)*atan(-----------------) - log(a   *x  + b   *a   *x + b   )
474                            1/3
475                           b   *sqrt(3)
476
477                 1/3      1/3        1/3
478        + 2*log(a   *x - b   )))/(6*a   *b)
479
480testint(1/(x**4-2),x);
481
482
483  1/4              x            1/4                1/4
484 2   *( - 2*atan(------) - log(2    + x) + log( - 2    + x))
485                   1/4
486                  2
487-------------------------------------------------------------
488                              8
489
490testint(1/(5*x**4-1),x);
491
492
493          1/4             sqrt(5)*x          1/4               1/4
494 sqrt(5)*5   *( - 2*atan(-----------) + log(5   *x - 1) - log(5   *x + 1))
495                             1/4
496                            5
497---------------------------------------------------------------------------
498                                    20
499
500testint(1/(3*x**4+7),x);
501
502
503                                     1/4
504           1/4             sqrt(2)*21    - 2*sqrt(3)*x
505(sqrt(6)*21   *( - 2*atan(-----------------------------)
506                                            1/4
507                                  sqrt(2)*21
508
509                                     1/4
510                           sqrt(2)*21    + 2*sqrt(3)*x
511                 + 2*atan(-----------------------------)
512                                            1/4
513                                  sqrt(2)*21
514
515                                    1/4                        2
516                 - log( - sqrt(2)*21   *x + sqrt(7) + sqrt(3)*x )
517
518                                 1/4                        2
519                 + log(sqrt(2)*21   *x + sqrt(7) + sqrt(3)*x )))/168
520
521testint(1/(x**4+3*x**2-1),x);
522
523
524                                                         2*x
525(sqrt(2)*(6*sqrt(sqrt(13) + 3)*sqrt(13)*atan(----------------------------)
526                                              sqrt(sqrt(13) + 3)*sqrt(2)
527
528                                                    2*x
529           - 26*sqrt(sqrt(13) + 3)*atan(----------------------------) + 3
530                                         sqrt(sqrt(13) + 3)*sqrt(2)
531
532          *sqrt(sqrt(13) - 3)*sqrt(13)*log( - sqrt(sqrt(13) - 3) + sqrt(2)*x)
533
534           - 3*sqrt(sqrt(13) - 3)*sqrt(13)*log(sqrt(sqrt(13) - 3) + sqrt(2)*x)
535
536           + 13*sqrt(sqrt(13) - 3)*log( - sqrt(sqrt(13) - 3) + sqrt(2)*x)
537
538           - 13*sqrt(sqrt(13) - 3)*log(sqrt(sqrt(13) - 3) + sqrt(2)*x)))/104
539
540testint(1/(x**4-3*x**2-1),x);
541
542
543                                                            2*x
544(sqrt(2)*( - 6*sqrt(sqrt(13) - 3)*sqrt(13)*atan(----------------------------)
545                                                 sqrt(sqrt(13) - 3)*sqrt(2)
546
547                                                    2*x
548           - 26*sqrt(sqrt(13) - 3)*atan(----------------------------) - 3
549                                         sqrt(sqrt(13) - 3)*sqrt(2)
550
551          *sqrt(sqrt(13) + 3)*sqrt(13)*log( - sqrt(sqrt(13) + 3) + sqrt(2)*x)
552
553           + 3*sqrt(sqrt(13) + 3)*sqrt(13)*log(sqrt(sqrt(13) + 3) + sqrt(2)*x)
554
555           + 13*sqrt(sqrt(13) + 3)*log( - sqrt(sqrt(13) + 3) + sqrt(2)*x)
556
557           - 13*sqrt(sqrt(13) + 3)*log(sqrt(sqrt(13) + 3) + sqrt(2)*x)))/104
558
559testint(1/(x**4-3*x**2+1),x);
560
561
562( - sqrt(5)*log( - sqrt(5) + 2*x - 1) - sqrt(5)*log( - sqrt(5) + 2*x + 1)
563
564  + sqrt(5)*log(sqrt(5) + 2*x - 1) + sqrt(5)*log(sqrt(5) + 2*x + 1)
565
566  + 5*log( - sqrt(5) + 2*x - 1) - 5*log( - sqrt(5) + 2*x + 1)
567
568  + 5*log(sqrt(5) + 2*x - 1) - 5*log(sqrt(5) + 2*x + 1))/20
569
570testint(1/(x**4-4*x**2+1),x);
571
572
573                                  2*x                            2*x
574(sqrt(2)*(2*sqrt(3)*atanh(-------------------) + 6*atanh(-------------------)
575                           sqrt(6) - sqrt(2)              sqrt(6) - sqrt(2)
576
577                           - sqrt(6) - sqrt(2) + 2*x
578           - sqrt(3)*log(----------------------------)
579                                      2
580
581                          sqrt(6) + sqrt(2) + 2*x
582           + sqrt(3)*log(-------------------------)
583                                     2
584
585                     - sqrt(6) - sqrt(2) + 2*x
586           + 3*log(----------------------------)
587                                2
588
589                    sqrt(6) + sqrt(2) + 2*x
590           - 3*log(-------------------------)))/24
591                               2
592
593testint(1/(x**4+4*x**2+1),x);
594
595
596                                 2*x                           2*x
597(sqrt(2)*(2*sqrt(3)*atan(-------------------) - 6*atan(-------------------)
598                          sqrt(6) + sqrt(2)             sqrt(6) + sqrt(2)
599
600                           - sqrt(6)*i + sqrt(2)*i + 2*x
601           - sqrt(3)*log(--------------------------------)*i
602                                        2
603
604                          sqrt(6)*i - sqrt(2)*i + 2*x
605           + sqrt(3)*log(-----------------------------)*i
606                                       2
607
608                     - sqrt(6)*i + sqrt(2)*i + 2*x
609           - 3*log(--------------------------------)*i
610                                  2
611
612                    sqrt(6)*i - sqrt(2)*i + 2*x
613           + 3*log(-----------------------------)*i))/24
614                                 2
615
616testint(1/(x**4+x**2+2),x);
617
618
619                                     sqrt(2*sqrt(2) - 1) - 2*x
620(2*sqrt(2*sqrt(2) + 1)*sqrt(2)*atan(---------------------------)
621                                        sqrt(2*sqrt(2) + 1)
622
623                                sqrt(2*sqrt(2) - 1) - 2*x
624  - 8*sqrt(2*sqrt(2) + 1)*atan(---------------------------)
625                                   sqrt(2*sqrt(2) + 1)
626
627                                        sqrt(2*sqrt(2) - 1) + 2*x
628  - 2*sqrt(2*sqrt(2) + 1)*sqrt(2)*atan(---------------------------)
629                                           sqrt(2*sqrt(2) + 1)
630
631                                sqrt(2*sqrt(2) - 1) + 2*x
632  + 8*sqrt(2*sqrt(2) + 1)*atan(---------------------------)
633                                   sqrt(2*sqrt(2) + 1)
634
635                                                                          2
636  - sqrt(2*sqrt(2) - 1)*sqrt(2)*log( - sqrt(2*sqrt(2) - 1)*x + sqrt(2) + x )
637
638                                                                       2
639  + sqrt(2*sqrt(2) - 1)*sqrt(2)*log(sqrt(2*sqrt(2) - 1)*x + sqrt(2) + x )
640
641                                                                    2
642  - 4*sqrt(2*sqrt(2) - 1)*log( - sqrt(2*sqrt(2) - 1)*x + sqrt(2) + x )
643
644                                                                 2
645  + 4*sqrt(2*sqrt(2) - 1)*log(sqrt(2*sqrt(2) - 1)*x + sqrt(2) + x ))/56
646
647testint(1/(x**4-x**2+2),x);
648
649
650                                        sqrt(2*sqrt(2) + 1) - 2*x
651( - 2*sqrt(2*sqrt(2) - 1)*sqrt(2)*atan(---------------------------)
652                                           sqrt(2*sqrt(2) - 1)
653
654                                sqrt(2*sqrt(2) + 1) - 2*x
655  - 8*sqrt(2*sqrt(2) - 1)*atan(---------------------------)
656                                   sqrt(2*sqrt(2) - 1)
657
658                                        sqrt(2*sqrt(2) + 1) + 2*x
659  + 2*sqrt(2*sqrt(2) - 1)*sqrt(2)*atan(---------------------------)
660                                           sqrt(2*sqrt(2) - 1)
661
662                                sqrt(2*sqrt(2) + 1) + 2*x
663  + 8*sqrt(2*sqrt(2) - 1)*atan(---------------------------)
664                                   sqrt(2*sqrt(2) - 1)
665
666                                                                          2
667  + sqrt(2*sqrt(2) + 1)*sqrt(2)*log( - sqrt(2*sqrt(2) + 1)*x + sqrt(2) + x )
668
669                                                                       2
670  - sqrt(2*sqrt(2) + 1)*sqrt(2)*log(sqrt(2*sqrt(2) + 1)*x + sqrt(2) + x )
671
672                                                                    2
673  - 4*sqrt(2*sqrt(2) + 1)*log( - sqrt(2*sqrt(2) + 1)*x + sqrt(2) + x )
674
675                                                                 2
676  + 4*sqrt(2*sqrt(2) + 1)*log(sqrt(2*sqrt(2) + 1)*x + sqrt(2) + x ))/56
677
678testint(1/(x**6-1),x);
679
680
681                    2*x - 1                     2*x + 1          2
682( - 2*sqrt(3)*atan(---------) - 2*sqrt(3)*atan(---------) + log(x  - x + 1)
683                    sqrt(3)                     sqrt(3)
684
685         2
686  - log(x  + x + 1) + 2*log(x - 1) - 2*log(x + 1))/12
687
688testint(1/(x**6-2),x);
689
690
691                         1/6                              1/6
692  1/6                   2    - 2*x                       2    + 2*x
693(2   *(2*sqrt(3)*atan(--------------) - 2*sqrt(3)*atan(--------------)
694                        1/6                              1/6
695                       2   *sqrt(3)                     2   *sqrt(3)
696
697                 1/6                  1/6                1/6      1/3    2
698        - 2*log(2    + x) + 2*log( - 2    + x) + log( - 2   *x + 2    + x )
699
700               1/6      1/3    2
701        - log(2   *x + 2    + x )))/24
702
703testint(1/(x**6+2),x);
704
705
706                   1/6                            1/6
707  1/6             2   *sqrt(3) - 2*x             2   *sqrt(3) + 2*x
708(2   *( - 2*atan(--------------------) + 2*atan(--------------------)
709                          1/6                            1/6
710                         2                              2
711
712                   x                       1/6              1/3    2
713        + 4*atan(------) - sqrt(3)*log( - 2   *sqrt(3)*x + 2    + x )
714                   1/6
715                  2
716
717                       1/6              1/3    2
718        + sqrt(3)*log(2   *sqrt(3)*x + 2    + x )))/24
719
720testint(1/(x**8+1),x);
721
722
723                              sqrt( - sqrt(2) + 2) - 2*x
724( - 2*sqrt(sqrt(2) + 2)*atan(----------------------------)
725                                  sqrt(sqrt(2) + 2)
726
727                              sqrt( - sqrt(2) + 2) + 2*x
728  + 2*sqrt(sqrt(2) + 2)*atan(----------------------------)
729                                  sqrt(sqrt(2) + 2)
730
731                                 sqrt(sqrt(2) + 2) - 2*x
732  - 2*sqrt( - sqrt(2) + 2)*atan(-------------------------)
733                                  sqrt( - sqrt(2) + 2)
734
735                                 sqrt(sqrt(2) + 2) + 2*x
736  + 2*sqrt( - sqrt(2) + 2)*atan(-------------------------)
737                                  sqrt( - sqrt(2) + 2)
738
739                                                          2
740  - sqrt( - sqrt(2) + 2)*log( - sqrt( - sqrt(2) + 2)*x + x  + 1)
741
742                                                       2
743  + sqrt( - sqrt(2) + 2)*log(sqrt( - sqrt(2) + 2)*x + x  + 1)
744
745                                                    2
746  - sqrt(sqrt(2) + 2)*log( - sqrt(sqrt(2) + 2)*x + x  + 1)
747
748                                                 2
749  + sqrt(sqrt(2) + 2)*log(sqrt(sqrt(2) + 2)*x + x  + 1))/16
750
751testint(1/(x**8-1),x);
752
753
754                 sqrt(2) - 2*x                     sqrt(2) + 2*x
755(2*sqrt(2)*atan(---------------) - 2*sqrt(2)*atan(---------------) - 4*atan(x)
756                    sqrt(2)                           sqrt(2)
757
758                                2                                 2
759  + sqrt(2)*log( - sqrt(2)*x + x  + 1) - sqrt(2)*log(sqrt(2)*x + x  + 1)
760
761  + 2*log(x - 1) - 2*log(x + 1))/16
762
763testint(1/(x**8-x**4+1),x);
764
765
766                                         sqrt(6) + sqrt(2) - 4*x
767( - 2*sqrt( - sqrt(3) + 2)*sqrt(3)*atan(-------------------------)
768                                         2*sqrt( - sqrt(3) + 2)
769
770                                 sqrt(6) + sqrt(2) - 4*x
771  - 6*sqrt( - sqrt(3) + 2)*atan(-------------------------)
772                                 2*sqrt( - sqrt(3) + 2)
773
774                                         sqrt(6) + sqrt(2) + 4*x
775  + 2*sqrt( - sqrt(3) + 2)*sqrt(3)*atan(-------------------------)
776                                         2*sqrt( - sqrt(3) + 2)
777
778                                 sqrt(6) + sqrt(2) + 4*x
779  + 6*sqrt( - sqrt(3) + 2)*atan(-------------------------)
780                                 2*sqrt( - sqrt(3) + 2)
781
782                    2*sqrt( - sqrt(3) + 2) - 4*x
783  - 2*sqrt(6)*atan(------------------------------)
784                         sqrt(6) + sqrt(2)
785
786                    2*sqrt( - sqrt(3) + 2) + 4*x
787  + 2*sqrt(6)*atan(------------------------------)
788                         sqrt(6) + sqrt(2)
789
790                                                                  2
791  - sqrt( - sqrt(3) + 2)*sqrt(3)*log( - sqrt( - sqrt(3) + 2)*x + x  + 1)
792
793                                                               2
794  + sqrt( - sqrt(3) + 2)*sqrt(3)*log(sqrt( - sqrt(3) + 2)*x + x  + 1)
795
796                                                            2
797  - 3*sqrt( - sqrt(3) + 2)*log( - sqrt( - sqrt(3) + 2)*x + x  + 1)
798
799                                                         2
800  + 3*sqrt( - sqrt(3) + 2)*log(sqrt( - sqrt(3) + 2)*x + x  + 1)
801
802                                               2
803                  - sqrt(6)*x - sqrt(2)*x + 2*x  + 2
804  - sqrt(6)*log(-------------------------------------)
805                                  2
806
807                                            2
808                 sqrt(6)*x + sqrt(2)*x + 2*x  + 2
809  + sqrt(6)*log(----------------------------------))/24
810                                2
811
812testint(x**7/(x**12+1),x);
813
814
815                                       sqrt(6) + sqrt(2) - 4*x
816( - sqrt( - sqrt(3) + 2)*sqrt(6)*atan(-------------------------)
817                                       2*sqrt( - sqrt(3) + 2)
818
819                                         sqrt(6) + sqrt(2) - 4*x
820  - 3*sqrt( - sqrt(3) + 2)*sqrt(2)*atan(-------------------------)
821                                         2*sqrt( - sqrt(3) + 2)
822
823                                       sqrt(6) + sqrt(2) + 4*x
824  - sqrt( - sqrt(3) + 2)*sqrt(6)*atan(-------------------------)
825                                       2*sqrt( - sqrt(3) + 2)
826
827                                         sqrt(6) + sqrt(2) + 4*x
828  - 3*sqrt( - sqrt(3) + 2)*sqrt(2)*atan(-------------------------)
829                                         2*sqrt( - sqrt(3) + 2)
830
831                                       2*sqrt( - sqrt(3) + 2) - 4*x
832  + sqrt( - sqrt(3) + 2)*sqrt(6)*atan(------------------------------)
833                                            sqrt(6) + sqrt(2)
834
835                                         2*sqrt( - sqrt(3) + 2) - 4*x
836  + 3*sqrt( - sqrt(3) + 2)*sqrt(2)*atan(------------------------------)
837                                              sqrt(6) + sqrt(2)
838
839                                       2*sqrt( - sqrt(3) + 2) + 4*x
840  + sqrt( - sqrt(3) + 2)*sqrt(6)*atan(------------------------------)
841                                            sqrt(6) + sqrt(2)
842
843                                         2*sqrt( - sqrt(3) + 2) + 4*x
844  + 3*sqrt( - sqrt(3) + 2)*sqrt(2)*atan(------------------------------)
845                                              sqrt(6) + sqrt(2)
846
847                                     2                              2
848  + log( - sqrt( - sqrt(3) + 2)*x + x  + 1) - 2*log( - sqrt(2)*x + x  + 1)
849
850                                  2                           2
851  + log(sqrt( - sqrt(3) + 2)*x + x  + 1) - 2*log(sqrt(2)*x + x  + 1)
852
853                                       2
854          - sqrt(6)*x - sqrt(2)*x + 2*x  + 2
855  + log(-------------------------------------)
856                          2
857
858                                    2
859         sqrt(6)*x + sqrt(2)*x + 2*x  + 2
860  + log(----------------------------------))/24
861                        2
862
863
864% Examples involving logarithms.
865
866testint(log x,x);
867
868
869x*(log(x) - 1)
870
871testint(x*log x,x);
872
873
874  2
875 x *(2*log(x) - 1)
876-------------------
877         4
878
879testint(x**2*log x,x);
880
881
882  3
883 x *(3*log(x) - 1)
884-------------------
885         9
886
887testint(x**p*log x,x);
888
889
890  p
891 x *x*(log(x)*p + log(x) - 1)
892------------------------------
893          2
894         p  + 2*p + 1
895
896testint((log x)**2,x);
897
898
899         2
900x*(log(x)  - 2*log(x) + 2)
901
902testint(x**9*log x**11,x);
903
904
905  10                 11                  10                  9
906(x  *(15625000*log(x)   - 17187500*log(x)   + 17187500*log(x)
907
908                        8                  7                 6                 5
909       - 15468750*log(x)  + 12375000*log(x)  - 8662500*log(x)  + 5197500*log(x)
910
911                       4                 3                2
912       - 2598750*log(x)  + 1039500*log(x)  - 311850*log(x)  + 62370*log(x)
913
914       - 6237))/156250000
915
916testint(log x**2/x,x);
917
918
919       3
920 log(x)
921---------
922    3
923
924testint(1/log x,x);
925
926
927ei(log(x))
928
929testint(1/log(x+1),x);
930
931
932ei(log(x + 1))
933
934testint(1/(x*log x),x);
935
936
937log(log(x))
938
939testint(1/(x*log x)**2,x);
940
941
942  - (ei( - log(x))*log(x)*x + 1)
943---------------------------------
944            log(x)*x
945
946testint((log x)**p/x,x);
947
948
949       p
950 log(x) *log(x)
951----------------
952     p + 1
953
954testint(log x *(a*x+b),x);
955
956
957 x*(2*log(x)*a*x + 4*log(x)*b - a*x - 4*b)
958-------------------------------------------
959                     4
960
961testint((a*x+b)**2*log x,x);
962
963
964              2  2                                2      2  2                 2
965(x*(6*log(x)*a *x  + 18*log(x)*a*b*x + 18*log(x)*b  - 2*a *x  - 9*a*b*x - 18*b )
966
967 )/18
968
969testint(log x/(a*x+b)**2,x);
970
971
972  - log(a*x + b)*a*x - log(a*x + b)*b + log(x)*a*x
973---------------------------------------------------
974                   a*b*(a*x + b)
975
976testint(x*log (a*x+b),x);
977
978
979                 2  2                   2    2  2
980 2*log(a*x + b)*a *x  - 2*log(a*x + b)*b  - a *x  + 2*a*b*x
981------------------------------------------------------------
982                               2
983                            4*a
984
985testint(x**2*log(a*x+b),x);
986
987
988                 3  3                   3      3  3      2    2        2
989 6*log(a*x + b)*a *x  + 6*log(a*x + b)*b  - 2*a *x  + 3*a *b*x  - 6*a*b *x
990---------------------------------------------------------------------------
991                                       3
992                                   18*a
993
994testint(log(x**2+a**2),x);
995
996
997        x            2    2
9982*atan(---)*a + log(a  + x )*x - 2*x
999        a
1000
1001testint(x*log(x**2+a**2),x);
1002
1003
1004      2    2   2        2    2   2    2
1005 log(a  + x )*a  + log(a  + x )*x  - x
1006----------------------------------------
1007                   2
1008
1009testint(x**2*log(x**2+a**2),x);
1010
1011
1012            x    3          2    2   3      2        3
1013  - 6*atan(---)*a  + 3*log(a  + x )*x  + 6*a *x - 2*x
1014            a
1015-------------------------------------------------------
1016                           9
1017
1018testint(x**4*log(x**2+a**2),x);
1019
1020
1021          x    5           2    2   5       4         2  3      5
1022 30*atan(---)*a  + 15*log(a  + x )*x  - 30*a *x + 10*a *x  - 6*x
1023          a
1024------------------------------------------------------------------
1025                                75
1026
1027testint(log(x**2-a**2),x);
1028
1029
1030           2    2              2    2
1031 - log( - a  + x )*a + log( - a  + x )*x + 2*log( - a - x)*a - 2*x
1032
1033testint(log(log(log(log(x)))),x);
1034
1035
1036                         1
1037 - int(-------------------------------------,x) + log(log(log(log(x))))*x
1038        log(log(log(x)))*log(log(x))*log(x)
1039
1040
1041% Examples involving circular functions.
1042
1043testint(sin x,x);
1044
1045
1046 - cos(x)
1047                % 2.01 #5
1048testint(cos x,x);
1049
1050
1051sin(x)
1052                %     #6
1053testint(tan x,x);
1054
1055
1056           2
1057 log(tan(x)  + 1)
1058------------------
1059        2
1060                %     #11
1061testint(1/tan(x),x);
1062
1063
1064              2
1065  - log(tan(x)  + 1) + 2*log(tan(x))
1066-------------------------------------
1067                  2
1068             % 2.01 #12
1069testint(1/(1+tan(x))**2,x);
1070
1071
1072              2                         2
1073( - log(tan(x)  + 1)*tan(x) - log(tan(x)  + 1) + 2*log(tan(x) + 1)*tan(x)
1074
1075  + 2*log(tan(x) + 1) + 2*tan(x))/(4*(tan(x) + 1))
1076
1077testint(1/cos x,x);
1078
1079
1080            x                   x
1081 - log(tan(---) - 1) + log(tan(---) + 1)
1082            2                   2
1083
1084testint(1/sin x,x);
1085
1086
1087         x
1088log(tan(---))
1089         2
1090
1091testint(sin x**2,x);
1092
1093
1094  - cos(x)*sin(x) + x
1095----------------------
1096          2
1097
1098testint(x**3*sin(x**2),x);
1099
1100
1101         2   2        2
1102  - cos(x )*x  + sin(x )
1103-------------------------
1104            2
1105
1106testint(sin x**3,x);
1107
1108
1109                 2
1110  - cos(x)*sin(x)  - 2*cos(x) + 2
1111----------------------------------
1112                3
1113
1114testint(sin x**p,x);
1115
1116
1117          p
1118int(sin(x) ,x)
1119
1120testint((sin x**2+1)**2*cos x,x);
1121
1122
1123                 4            2
1124 sin(x)*(3*sin(x)  + 10*sin(x)  + 15)
1125--------------------------------------
1126                  15
1127
1128testint(cos x**2,x);
1129
1130
1131 cos(x)*sin(x) + x
1132-------------------
1133         2
1134
1135testint(cos x**3,x);
1136
1137
1138                  2
1139 sin(x)*( - sin(x)  + 3)
1140-------------------------
1141            3
1142
1143testint(sin(a*x+b),x);
1144
1145
1146  - cos(a*x + b)
1147-----------------
1148        a
1149
1150testint(1/cos x**2,x);
1151
1152
1153 sin(x)
1154--------
1155 cos(x)
1156
1157testint(sin x*sin(2*x),x);
1158
1159
1160  - 2*cos(2*x)*sin(x) + cos(x)*sin(2*x)
1161----------------------------------------
1162                   3
1163
1164testint(x*sin x,x);
1165
1166
1167 - cos(x)*x + sin(x)
1168
1169testint(x**2*sin x,x);
1170
1171
1172           2
1173 - cos(x)*x  + 2*cos(x) + 2*sin(x)*x
1174
1175testint(x*sin x**2,x);
1176
1177
1178                              2    2
1179  - 2*cos(x)*sin(x)*x + sin(x)  + x  - 2
1180-----------------------------------------
1181                    4
1182
1183testint(x**2*sin x**2,x);
1184
1185
1186                     2                             2        3
1187  - 6*cos(x)*sin(x)*x  + 3*cos(x)*sin(x) + 6*sin(x) *x + 2*x  - 3*x
1188--------------------------------------------------------------------
1189                                 12
1190
1191testint(x*sin x**3,x);
1192
1193
1194                   2                        3
1195  - 3*cos(x)*sin(x) *x - 6*cos(x)*x + sin(x)  + 6*sin(x)
1196---------------------------------------------------------
1197                            9
1198
1199testint(x*cos x,x);
1200
1201
1202cos(x) + sin(x)*x
1203
1204testint(x**2*cos x,x);
1205
1206
1207                     2
12082*cos(x)*x + sin(x)*x  - 2*sin(x)
1209
1210testint(x*cos x**2,x);
1211
1212
1213                           2    2
1214 2*cos(x)*sin(x)*x - sin(x)  + x  + 2
1215--------------------------------------
1216                  4
1217
1218testint(x**2*cos x**2,x);
1219
1220
1221                  2                             2        3
1222 6*cos(x)*sin(x)*x  - 3*cos(x)*sin(x) - 6*sin(x) *x + 2*x  + 3*x
1223-----------------------------------------------------------------
1224                               12
1225
1226testint(x*cos x**3,x);
1227
1228
1229                 2                      3
1230  - cos(x)*sin(x)  + 7*cos(x) - 3*sin(x) *x + 9*sin(x)*x + 1
1231-------------------------------------------------------------
1232                              9
1233
1234testint(sin x/x,x);
1235
1236
1237si(x)
1238
1239testint(cos x/x,x);
1240
1241
1242ci(x)
1243
1244testint(sin x/x**2,x);
1245
1246
1247 ci(x)*x - sin(x)
1248------------------
1249        x
1250
1251testint(sin x**2/x,x);
1252
1253
1254  - ci(2*x) + log(x)
1255---------------------
1256          2
1257
1258testint(tan x**3,x);
1259
1260
1261              2              2
1262  - log(tan(x)  + 1) + tan(x)
1263-------------------------------
1264               2
1265
1266% z := a+b*x;
1267testint(sin z,x);
1268
1269
1270  - cos(a + b*x)
1271-----------------
1272        b
1273
1274testint(cos z,x);
1275
1276
1277 sin(a + b*x)
1278--------------
1279      b
1280
1281testint(tan z,x);
1282
1283
1284                 2
1285 log(tan(a + b*x)  + 1)
1286------------------------
1287          2*b
1288
1289testint(1/tan z,x);
1290
1291
1292                    2
1293  - log(tan(a + b*x)  + 1) + 2*log(tan(a + b*x))
1294-------------------------------------------------
1295                       2*b
1296
1297testint(1/sin z,x);
1298
1299
1300          a + b*x
1301 log(tan(---------))
1302             2
1303---------------------
1304          b
1305
1306testint(1/cos z,x);
1307
1308
1309             a + b*x                   a + b*x
1310  - log(tan(---------) - 1) + log(tan(---------) + 1)
1311                2                         2
1312------------------------------------------------------
1313                          b
1314
1315testint(sin z**2,x);
1316
1317
1318  - cos(a + b*x)*sin(a + b*x) + b*x
1319------------------------------------
1320                2*b
1321
1322testint(sin z**3,x);
1323
1324
1325                             2
1326  - cos(a + b*x)*sin(a + b*x)  - 2*cos(a + b*x) + 2
1327----------------------------------------------------
1328                        3*b
1329
1330testint(cos z**2,x);
1331
1332
1333 cos(a + b*x)*sin(a + b*x) + b*x
1334---------------------------------
1335               2*b
1336
1337testint(cos z**3,x);
1338
1339
1340                              2
1341 sin(a + b*x)*( - sin(a + b*x)  + 3)
1342-------------------------------------
1343                 3*b
1344
1345testint(1/cos z**2,x);
1346
1347
1348  sin(a + b*x)
1349----------------
1350 cos(a + b*x)*b
1351
1352testint(1/(1+cos x),x);
1353
1354
1355     x
1356tan(---)
1357     2
1358
1359testint(1/(1-cos x),x);
1360
1361
1362    - 1
1363----------
1364      x
1365 tan(---)
1366      2
1367
1368testint(1/(1+sin x),x);
1369
1370
1371         x
1372  2*tan(---)
1373         2
1374--------------
1375      x
1376 tan(---) + 1
1377      2
1378
1379testint(1/(1-sin x),x);
1380
1381
1382           x
1383  - 2*tan(---)
1384           2
1385---------------
1386      x
1387 tan(---) - 1
1388      2
1389
1390testint(1/(a+b*sin x),x);
1391
1392
1393                            x
1394                       tan(---)*a + b
1395         2    2             2
1396 2*sqrt(a  - b )*atan(----------------)
1397                             2    2
1398                       sqrt(a  - b )
1399----------------------------------------
1400                 2    2
1401                a  - b
1402
1403testint(1/(a+b*sin x+cos x),x);
1404
1405
1406                                x            x
1407                           tan(---)*a - tan(---) + b
1408         2    2                 2            2
1409 2*sqrt(a  - b  - 1)*atan(---------------------------)
1410                                     2    2
1411                               sqrt(a  - b  - 1)
1412-------------------------------------------------------
1413                       2    2
1414                      a  - b  - 1
1415
1416testint(x**2*sin z**2,x);
1417
1418
1419                                 2  2
1420( - 6*cos(a + b*x)*sin(a + b*x)*b *x  + 3*cos(a + b*x)*sin(a + b*x)
1421
1422                  2                3  3               3
1423  + 6*sin(a + b*x) *b*x + 9*a + 2*b *x  - 3*b*x)/(12*b )
1424
1425testint(cos x*cos(2*x),x);
1426
1427
1428  - cos(2*x)*sin(x) + 2*cos(x)*sin(2*x)
1429----------------------------------------
1430                   3
1431
1432testint(x**2*cos z**2,x);
1433
1434
1435                              2  2
1436(6*cos(a + b*x)*sin(a + b*x)*b *x  - 3*cos(a + b*x)*sin(a + b*x)
1437
1438                  2          3  3               3
1439  - 6*sin(a + b*x) *b*x + 2*b *x  + 3*b*x)/(12*b )
1440
1441testint(1/tan x**3,x);
1442
1443
1444           2            2                       2
1445 log(tan(x)  + 1)*tan(x)  - 2*log(tan(x))*tan(x)  - 1
1446------------------------------------------------------
1447                              2
1448                      2*tan(x)
1449
1450testint(x**3*tan(x)**4,x);
1451
1452
1453                2                  2                3  3           2  2
1454(48*int(tan(x)*x ,x) - 6*log(tan(x)  + 1) + 4*tan(x) *x  - 6*tan(x) *x
1455
1456               3                    4      2
1457  - 12*tan(x)*x  + 12*tan(x)*x + 3*x  - 6*x )/12
1458
1459testint(x**3*tan(x)**6,x);
1460
1461
1462                    2                   2                 5  3           4  2
1463( - 276*int(tan(x)*x ,x) + 60*log(tan(x)  + 1) + 12*tan(x) *x  - 9*tan(x) *x
1464
1465             3  3           3              2  2           2              3
1466  - 20*tan(x) *x  + 6*tan(x) *x + 48*tan(x) *x  - 3*tan(x)  + 60*tan(x)*x
1467
1468                       4       2
1469  - 114*tan(x)*x - 15*x  + 57*x )/60
1470
1471testint(x*tan(x)**2,x);
1472
1473
1474              2                      2
1475  - log(tan(x)  + 1) + 2*tan(x)*x - x
1476---------------------------------------
1477                   2
1478
1479testint(sin(2*x)*cos(3*x),x);
1480
1481
1482 2*cos(3*x)*cos(2*x) + 3*sin(3*x)*sin(2*x)
1483-------------------------------------------
1484                     5
1485
1486testint(sin x**2*cos x**2,x);
1487
1488
1489                3
1490 2*cos(x)*sin(x)  - cos(x)*sin(x) + x
1491--------------------------------------
1492                  8
1493
1494testint(1/(sin x**2*cos x**2),x);
1495
1496
1497         2
1498 2*sin(x)  - 1
1499---------------
1500 cos(x)*sin(x)
1501
1502testint(d**x*sin x,x);
1503
1504
1505  x
1506 d *( - cos(x) + log(d)*sin(x))
1507--------------------------------
1508                2
1509          log(d)  + 1
1510
1511testint(d**x*cos x,x);
1512
1513
1514  x
1515 d *(cos(x)*log(d) + sin(x))
1516-----------------------------
1517               2
1518         log(d)  + 1
1519
1520testint(x*d**x*sin x,x);
1521
1522
1523  x                  2                                        3
1524(d *( - cos(x)*log(d) *x + 2*cos(x)*log(d) - cos(x)*x + log(d) *sin(x)*x
1525
1526              2                                            4           2
1527      - log(d) *sin(x) + log(d)*sin(x)*x + sin(x)))/(log(d)  + 2*log(d)  + 1)
1528
1529testint(x*d**x*cos x,x);
1530
1531
1532  x               3                  2
1533(d *(cos(x)*log(d) *x - cos(x)*log(d)  + cos(x)*log(d)*x + cos(x)
1534
1535              2                                                4           2
1536      + log(d) *sin(x)*x - 2*log(d)*sin(x) + sin(x)*x))/(log(d)  + 2*log(d)  + 1
1537
1538   )
1539
1540testint(x**2*d**x*sin x,x);
1541
1542
1543  x                  4  2                  3                    2  2
1544(d *( - cos(x)*log(d) *x  + 4*cos(x)*log(d) *x - 2*cos(x)*log(d) *x
1545
1546                       2                               2
1547      - 6*cos(x)*log(d)  + 4*cos(x)*log(d)*x - cos(x)*x  + 2*cos(x)
1548
1549              5         2           4                    3         2
1550      + log(d) *sin(x)*x  - 2*log(d) *sin(x)*x + 2*log(d) *sin(x)*x
1551
1552                3                         2
1553      + 2*log(d) *sin(x) + log(d)*sin(x)*x  - 6*log(d)*sin(x) + 2*sin(x)*x))/(
1554
1555         6           4           2
1556   log(d)  + 3*log(d)  + 3*log(d)  + 1)
1557
1558testint(x**2*d**x*cos x,x);
1559
1560
1561  x               5  2                  4                    3  2
1562(d *(cos(x)*log(d) *x  - 2*cos(x)*log(d) *x + 2*cos(x)*log(d) *x
1563
1564                       3                  2
1565      + 2*cos(x)*log(d)  + cos(x)*log(d)*x  - 6*cos(x)*log(d) + 2*cos(x)*x
1566
1567              4         2           3                    2         2
1568      + log(d) *sin(x)*x  - 4*log(d) *sin(x)*x + 2*log(d) *sin(x)*x
1569
1570                2                                      2                     6
1571      + 6*log(d) *sin(x) - 4*log(d)*sin(x)*x + sin(x)*x  - 2*sin(x)))/(log(d)
1572
1573              4           2
1574    + 3*log(d)  + 3*log(d)  + 1)
1575
1576testint(x**3*d**x*sin x,x);
1577
1578
1579  x                  6  3                  5  2                  4  3
1580(d *( - cos(x)*log(d) *x  + 6*cos(x)*log(d) *x  - 3*cos(x)*log(d) *x
1581
1582                        4                     3  2                   3
1583      - 18*cos(x)*log(d) *x + 12*cos(x)*log(d) *x  + 24*cos(x)*log(d)
1584
1585                       2  3                   2                      2
1586      - 3*cos(x)*log(d) *x  - 12*cos(x)*log(d) *x + 6*cos(x)*log(d)*x
1587
1588                                   3                      7         3
1589      - 24*cos(x)*log(d) - cos(x)*x  + 6*cos(x)*x + log(d) *sin(x)*x
1590
1591                6         2           5         3           5
1592      - 3*log(d) *sin(x)*x  + 3*log(d) *sin(x)*x  + 6*log(d) *sin(x)*x
1593
1594                4         2           4                  3         3
1595      - 3*log(d) *sin(x)*x  - 6*log(d) *sin(x) + 3*log(d) *sin(x)*x
1596
1597                 3                    2         2            2
1598      - 12*log(d) *sin(x)*x + 3*log(d) *sin(x)*x  + 36*log(d) *sin(x)
1599
1600                       3                                  2
1601      + log(d)*sin(x)*x  - 18*log(d)*sin(x)*x + 3*sin(x)*x  - 6*sin(x)))/(
1602
1603         8           6           4           2
1604   log(d)  + 4*log(d)  + 6*log(d)  + 4*log(d)  + 1)
1605
1606testint(x**3*d**x*cos x,x);
1607
1608
1609  x               7  3                  6  2                  5  3
1610(d *(cos(x)*log(d) *x  - 3*cos(x)*log(d) *x  + 3*cos(x)*log(d) *x
1611
1612                       5                    4  2                  4
1613      + 6*cos(x)*log(d) *x - 3*cos(x)*log(d) *x  - 6*cos(x)*log(d)
1614
1615                       3  3                   3                    2  2
1616      + 3*cos(x)*log(d) *x  - 12*cos(x)*log(d) *x + 3*cos(x)*log(d) *x
1617
1618                        2                  3                                  2
1619      + 36*cos(x)*log(d)  + cos(x)*log(d)*x  - 18*cos(x)*log(d)*x + 3*cos(x)*x
1620
1621                         6         3           5         2           4         3
1622      - 6*cos(x) + log(d) *sin(x)*x  - 6*log(d) *sin(x)*x  + 3*log(d) *sin(x)*x
1623
1624                 4                     3         2            3
1625      + 18*log(d) *sin(x)*x - 12*log(d) *sin(x)*x  - 24*log(d) *sin(x)
1626
1627                2         3            2                             2
1628      + 3*log(d) *sin(x)*x  + 12*log(d) *sin(x)*x - 6*log(d)*sin(x)*x
1629
1630                                   3                       8           6
1631      + 24*log(d)*sin(x) + sin(x)*x  - 6*sin(x)*x))/(log(d)  + 4*log(d)
1632
1633              4           2
1634    + 6*log(d)  + 4*log(d)  + 1)
1635
1636testint(sin x*sin(2*x)*sin(3*x),x);
1637
1638
1639( - cos(3*x)*cos(2*x)*cos(x) + 6*cos(3*x)*cos(2*x)*sin(x)*x
1640
1641  + 6*cos(3*x)*cos(x)*sin(2*x)*x - 8*cos(3*x)*sin(2*x)*sin(x)
1642
1643  - 6*cos(2*x)*cos(x)*sin(3*x)*x + 3*cos(2*x)*sin(3*x)*sin(x)
1644
1645  + 6*sin(3*x)*sin(2*x)*sin(x)*x)/24
1646
1647testint(cos x*cos(2*x)*cos(3*x),x);
1648
1649
1650(6*cos(3*x)*cos(2*x)*cos(x)*x + 8*cos(3*x)*cos(2*x)*sin(x)
1651
1652  + 5*cos(3*x)*cos(x)*sin(2*x) - 6*cos(3*x)*sin(2*x)*sin(x)*x
1653
1654  + 6*cos(2*x)*sin(3*x)*sin(x)*x + 6*cos(x)*sin(3*x)*sin(2*x)*x
1655
1656  + 9*sin(3*x)*sin(2*x)*sin(x))/24
1657
1658testint(sin(x*kx)**3*x**2,x);
1659
1660
1661                         2   2  2                        2                  2  2
1662( - 9*cos(kx*x)*sin(kx*x) *kx *x  + 2*cos(kx*x)*sin(kx*x)  - 18*cos(kx*x)*kx *x
1663
1664                              3                                      3
1665  + 40*cos(kx*x) + 6*sin(kx*x) *kx*x + 36*sin(kx*x)*kx*x + 16)/(27*kx )
1666
1667testint(x*cos(xi/sin(x))*cos(x)/sin(x)**2,x);
1668
1669
1670            xi
1671     cos(--------)*cos(x)*x
1672          sin(x)
1673int(------------------------,x)
1674                  2
1675            sin(x)
1676
1677
1678% Mixed angles and half angles.
1679
1680int(cos(x)/(sin(x)*tan(x/2)),x);
1681
1682
1683          x
1684  - (tan(---)*x + 1)
1685          2
1686---------------------
1687           x
1688      tan(---)
1689           2
1690
1691
1692% This integral produces a messy result because the code for
1693% converting half angle tans to sin and cos is not effective enough.
1694
1695testint(sin(a*x)/(b+c*sin(a*x))**2,x);
1696
1697
1698                               a*x
1699                          tan(-----)*b + c
1700            2    2              2                      2
1701( - 2*sqrt(b  - c )*atan(------------------)*sin(a*x)*c
1702                                 2    2
1703                           sqrt(b  - c )
1704
1705                               a*x
1706                          tan(-----)*b + c
1707            2    2              2                            3               2
1708  - 2*sqrt(b  - c )*atan(------------------)*b*c - cos(a*x)*b  + cos(a*x)*b*c )/
1709                                 2    2
1710                           sqrt(b  - c )
1711
1712              4                 2  3             5    5      3  2      4
1713(a*(sin(a*x)*b *c - 2*sin(a*x)*b *c  + sin(a*x)*c  + b  - 2*b *c  + b*c ))
1714
1715
1716% Examples involving logarithms and circular functions.
1717
1718testint(sin log x,x);
1719
1720
1721 x*( - cos(log(x)) + sin(log(x)))
1722----------------------------------
1723                2
1724
1725testint(cos log x,x);
1726
1727
1728 x*(cos(log(x)) + sin(log(x)))
1729-------------------------------
1730               2
1731
1732
1733% Examples involving exponentials.
1734
1735testint(e**x,x);
1736
1737
1738 x
1739e
1740                % 2.01 #3
1741testint(a**x,x);
1742
1743
1744    x
1745   a
1746--------
1747 log(a)
1748                % 2.01 #4
1749testint(e**(a*x),x);
1750
1751
1752  a*x
1753 e
1754------
1755  a
1756
1757testint(e**(a*x)/x,x);
1758
1759
1760ei(a*x)
1761
1762testint(1/(a+b*e**(m*x)),x);
1763
1764
1765         m*x
1766  - log(e   *b + a) + m*x
1767--------------------------
1768           a*m
1769
1770testint(e**(2*x)/(1+e**x),x);
1771
1772
1773 x        x
1774e  - log(e  + 1)
1775
1776testint(e**(2*x)*e**(a*x),x);
1777
1778
1779  a*x + 2*x
1780 e
1781------------
1782   a + 2
1783
1784testint(1/(a*e**(m*x)+b*e**(-m*x)),x);
1785
1786
1787                            m*x
1788                           e   *a
1789 sqrt(b)*sqrt(a)*atan(-----------------)
1790                       sqrt(b)*sqrt(a)
1791-----------------------------------------
1792                  a*b*m
1793
1794testint(x*e**(a*x),x);
1795
1796
1797  a*x
1798 e   *(a*x - 1)
1799----------------
1800        2
1801       a
1802
1803testint(x**20*e**x,x);
1804
1805
1806 x   20       19        18         17           16            15             14
1807e *(x   - 20*x   + 380*x   - 6840*x   + 116280*x   - 1860480*x   + 27907200*x
1808
1809                  13               12                11                 10
1810     - 390700800*x   + 5079110400*x   - 60949324800*x   + 670442572800*x
1811
1812                      9                   8                    7
1813     - 6704425728000*x  + 60339831552000*x  - 482718652416000*x
1814
1815                         6                      5                       4
1816     + 3379030566912000*x  - 20274183401472000*x  + 101370917007360000*x
1817
1818                           3                        2
1819     - 405483668029440000*x  + 1216451004088320000*x  - 2432902008176640000*x
1820
1821     + 2432902008176640000)
1822
1823testint(a**x/b**x,x);
1824
1825
1826           x
1827          a
1828----------------------
1829  x
1830 b *(log(a) - log(b))
1831
1832testint(a**x*b**x,x);
1833
1834
1835       x  x
1836      b *a
1837-----------------
1838 log(a) + log(b)
1839
1840testint(a**x/x**2,x);
1841
1842
1843                          x
1844 ei(log(a)*x)*log(a)*x - a
1845----------------------------
1846             x
1847
1848testint(x*a**x/(1+b*x)**2,x);
1849
1850
1851                                x
1852                               a *x
1853int(-----------------------------------------------------------,x)*(log(a) - b)
1854             2  2                            3  2      2
1855     log(a)*b *x  + 2*log(a)*b*x + log(a) - b *x  - 2*b *x - b
1856
1857testint(x*e**(a*x)/(1+a*x)**2,x);
1858
1859
1860      a*x
1861     e
1862--------------
1863  2
1864 a *(a*x + 1)
1865
1866testint(x*k**(x**2),x);
1867
1868
1869     2
1870    x
1871   k
1872----------
1873 2*log(k)
1874
1875testint(e**(x**2),x);
1876
1877
1878  - sqrt(pi)*erf(i*x)*i
1879------------------------
1880           2
1881
1882testint(x*e**(x**2),x);
1883
1884
1885   2
1886  x
1887 e
1888-----
1889  2
1890
1891testint((x+1)*e**(1/x)/x**4,x);
1892
1893
1894  1/x      2
1895 e   *( - x  + x - 1)
1896----------------------
1897           2
1898          x
1899
1900testint((2*x**3+x)*(e**(x**2))**2*e**(1-x*e**(x**2))/(1-x*e**(x**2))**2,
1901	x);
1902
1903
1904         - e
1905--------------------
1906    2
1907   x       2
1908  e  *x   x
1909 e     *(e  *x - 1)
1910
1911testint(e**(e**(e**(e**x))),x);
1912
1913
1914        x
1915       e
1916      e
1917     e
1918int(e    ,x)
1919
1920
1921% Examples involving exponentials and logarithms.
1922
1923testint(e**x*log x,x);
1924
1925
1926            x
1927 - ei(x) + e *log(x)
1928
1929testint(x*e**x*log x,x);
1930
1931
1932         x             x           x
1933ei(x) + e *log(x)*x - e *log(x) - e
1934
1935testint(e**(2*x)*log(e**x),x);
1936
1937
1938  2*x
1939 e   *(2*x - 1)
1940----------------
1941       4
1942
1943
1944% Examples involving square roots.
1945
1946testint(sqrt(2)*x**2 + 2*x,x);
1947
1948
1949  2
1950 x *(sqrt(2)*x + 3)
1951--------------------
1952         3
1953
1954testint(log x/sqrt(a*x+b),x);
1955
1956
1957(2*(sqrt(a*x + b)*log(x) - 2*sqrt(a*x + b)
1958
1959     - 2*sqrt(b)*log(sqrt(a*x + b) - sqrt(b)) + sqrt(b)*log(x)))/a
1960
1961u:=sqrt(a+b*x);
1962
1963
1964u := sqrt(a + b*x)
1965
1966v:=sqrt(c+d*x);
1967
1968
1969v := sqrt(c + d*x)
1970
1971testint(u*v,x);
1972
1973
1974                                  2                                2
1975(sqrt(c + d*x)*sqrt(a + b*x)*a*b*d  + sqrt(c + d*x)*sqrt(a + b*x)*b *c*d
1976
1977                                   2  2
1978  + 2*sqrt(c + d*x)*sqrt(a + b*x)*b *d *x
1979
1980                         sqrt(d)*sqrt(a + b*x) + sqrt(b)*sqrt(c + d*x)    2  2
1981  - sqrt(d)*sqrt(b)*log(-----------------------------------------------)*a *d  +
1982                                        sqrt(a*d - b*c)
1983
1984                         sqrt(d)*sqrt(a + b*x) + sqrt(b)*sqrt(c + d*x)
1985  2*sqrt(d)*sqrt(b)*log(-----------------------------------------------)*a*b*c*d
1986                                        sqrt(a*d - b*c)
1987
1988                         sqrt(d)*sqrt(a + b*x) + sqrt(b)*sqrt(c + d*x)    2  2
1989  - sqrt(d)*sqrt(b)*log(-----------------------------------------------)*b *c )/
1990                                        sqrt(a*d - b*c)
1991
1992    2  2
1993(4*b *d )
1994
1995testint(u,x);
1996
1997
1998 2*sqrt(a + b*x)*(a + b*x)
1999---------------------------
2000            3*b
2001
2002testint(x*u,x);
2003
2004
2005                        2              2  2
2006 2*sqrt(a + b*x)*( - 2*a  + a*b*x + 3*b *x )
2007---------------------------------------------
2008                        2
2009                    15*b
2010
2011testint(x**2*u,x);
2012
2013
2014                     3      2            2  2       3  3
2015 2*sqrt(a + b*x)*(8*a  - 4*a *b*x + 3*a*b *x  + 15*b *x )
2016----------------------------------------------------------
2017                               3
2018                          105*b
2019
2020testint(u/x,x);
2021
2022
20232*sqrt(a + b*x) + sqrt(a)*log(sqrt(a + b*x) - sqrt(a))
2024
2025 - sqrt(a)*log(sqrt(a + b*x) + sqrt(a))
2026
2027testint(u/x**2,x);
2028
2029
2030( - 2*sqrt(a + b*x)*a + sqrt(a)*log(sqrt(a + b*x) - sqrt(a))*b*x
2031
2032  - sqrt(a)*log(sqrt(a + b*x) + sqrt(a))*b*x)/(2*a*x)
2033
2034testint(1/u,x);
2035
2036
2037 2*sqrt(a + b*x)
2038-----------------
2039        b
2040
2041testint(x/u,x);
2042
2043
2044 2*sqrt(a + b*x)*( - 2*a + b*x)
2045--------------------------------
2046                 2
2047              3*b
2048
2049testint(x**2/u,x);
2050
2051
2052                     2                2  2
2053 2*sqrt(a + b*x)*(8*a  - 4*a*b*x + 3*b *x )
2054--------------------------------------------
2055                       3
2056                   15*b
2057
2058testint(1/(x*u),x);
2059
2060
2061 sqrt(a)*(log(sqrt(a + b*x) - sqrt(a)) - log(sqrt(a + b*x) + sqrt(a)))
2062-----------------------------------------------------------------------
2063                                   a
2064
2065testint(1/(x**2*u),x);
2066
2067
2068( - 2*sqrt(a + b*x)*a - sqrt(a)*log(sqrt(a + b*x) - sqrt(a))*b*x
2069
2070                                                  2
2071  + sqrt(a)*log(sqrt(a + b*x) + sqrt(a))*b*x)/(2*a *x)
2072
2073testint(u**p,x);
2074
2075
2076            p/2
2077 2*(a + b*x)   *(a + b*x)
2078--------------------------
2079        b*(p + 2)
2080
2081testint(x*u**p,x);
2082
2083
2084            p/2        2              2    2      2  2
2085 2*(a + b*x)   *( - 2*a  + a*b*p*x + b *p*x  + 2*b *x )
2086--------------------------------------------------------
2087                    2   2
2088                   b *(p  + 6*p + 8)
2089
2090testint(atan((-sqrt(2)+2*x)/sqrt(2)),x);
2091
2092
2093                 sqrt(2) - 2*x             sqrt(2) - 2*x
2094(2*sqrt(2)*atan(---------------) - 4*atan(---------------)*x
2095                    sqrt(2)                   sqrt(2)
2096
2097                                2
2098  - sqrt(2)*log( - sqrt(2)*x + x  + 1))/4
2099
2100testint(1/sqrt(x**2-1),x);
2101
2102
2103          2
2104log(sqrt(x  - 1) + x)
2105
2106testint(sqrt(x+1)*sqrt x,x);
2107
2108
2109 2*sqrt(x)*sqrt(x + 1)*x + sqrt(x)*sqrt(x + 1) - log(sqrt(x + 1) + sqrt(x))
2110----------------------------------------------------------------------------
2111                                     4
2112
2113
2114testint(sin(sqrt x),x);
2115
2116
21172*( - sqrt(x)*cos(sqrt(x)) + sin(sqrt(x)))
2118
2119testint(x*(1-x^2)^(-9/4),x);
2120
2121
2122              2     1/4
2123     - 2*( - x  + 1)
2124----------------------------
2125            2        2
2126 5*sqrt( - x  + 1)*(x  - 1)
2127
2128testint(x/sqrt(1-x^4),x);
2129
2130
2131       2
2132 asin(x )
2133----------
2134    2
2135
2136testint(1/(x*sqrt(1+x^4)),x);
2137
2138
2139           4         2                  4         2
2140 log(sqrt(x  + 1) + x  - 1) - log(sqrt(x  + 1) + x  + 1)
2141---------------------------------------------------------
2142                            2
2143
2144testint(x/sqrt(1+x^2+x^4),x);
2145
2146
2147              4    2           2
2148      2*sqrt(x  + x  + 1) + 2*x  + 1
2149 log(--------------------------------)
2150                 sqrt(3)
2151---------------------------------------
2152                   2
2153
2154testint(1/(x*sqrt(x^2-1-x^4)),x);
2155
2156
2157               1
2158int(------------------------,x)
2159              4    2
2160     sqrt( - x  + x  - 1)*x
2161
2162
2163% Examples from James Davenport's thesis:
2164
2165testint(1/sqrt(x**2-1)+10/sqrt(x**2-4),x);
2166
2167
2168                                      2
2169          2                     sqrt(x  - 4) + x
2170log(sqrt(x  - 1) + x) + 10*log(------------------)
2171                                       2
2172      % p. 173
2173testint(sqrt(x+sqrt(x**2+a**2))/x,x);
2174
2175
2176                                 2    2             2    2
2177sqrt(a)*atan((sqrt(a)*sqrt(sqrt(a  + x ) + x)*sqrt(a  + x )
2178
2179                                    2    2
2180               - sqrt(a)*sqrt(sqrt(a  + x ) + x)*a
2181
2182                                    2    2              2
2183               - sqrt(a)*sqrt(sqrt(a  + x ) + x)*x)/(2*a ))
2184
2185                2    2                                2    2
2186 + 2*sqrt(sqrt(a  + x ) + x) + sqrt(a)*log(sqrt(sqrt(a  + x ) + x) - sqrt(a))
2187
2188                          2    2
2189 - sqrt(a)*log(sqrt(sqrt(a  + x ) + x) + sqrt(a))
2190
2191
2192% Examples generated by differentiating various functions.
2193
2194testint(df(sqrt(1+x**2)/(1-x),x),x);
2195
2196
2197          2
2198  - sqrt(x  + 1)
2199-----------------
2200      x - 1
2201
2202testint(df(log(x+sqrt(1+x**2)),x),x);
2203
2204
2205          2
2206log(sqrt(x  + 1) + x)
2207
2208testint(df(sqrt(x)+sqrt(x+1)+sqrt(x+2),x),x);
2209
2210
2211sqrt(x + 2) + sqrt(x + 1) + sqrt(x)
2212
2213testint(df(sqrt(x**5-2*x+1)-sqrt(x**3+1),x),x);
2214
2215
2216      5                    3
2217sqrt(x  - 2*x + 1) - sqrt(x  + 1)
2218
2219
2220% Another such example from James Davenport's thesis (p. 146).
2221% It contains a point of order 3, which is found by use of Mazur's
2222% bound on the torsion of elliptic curves over the rationals;
2223
2224testint(df(log(1+sqrt(x**3+1)),x),x);
2225
2226
2227              3                       3
2228  - log(sqrt(x  + 1) - 1) + log(sqrt(x  + 1) + 1) + 3*log(x)
2229-------------------------------------------------------------
2230                              2
2231
2232
2233% Examples quoted by Joel Moses:
2234
2235testint(1/sqrt(2*h*r**2-alpha**2),r);
2236
2237
2238                                   2        2
2239                      sqrt( - alpha  + 2*h*r ) + sqrt(h)*sqrt(2)*r
2240 sqrt(h)*sqrt(2)*log(----------------------------------------------)
2241                                         alpha
2242---------------------------------------------------------------------
2243                                 2*h
2244
2245testint(1/(r*sqrt(2*h*r**2-alpha**2-epsilon**2)),r);
2246
2247
2248             2          2
2249(2*sqrt(alpha  + epsilon )
2250
2251                     2          2        2
2252        sqrt( - alpha  - epsilon  + 2*h*r ) + sqrt(h)*sqrt(2)*r          2
2253 *atan(---------------------------------------------------------))/(alpha
2254                                  2          2
2255                        sqrt(alpha  + epsilon )
2256
2257             2
2258    + epsilon )
2259
2260testint(1/(r*sqrt(2*h*r**2-alpha**2-2*k*r)),r);
2261
2262
2263                              2        2
2264         sqrt(h)*sqrt( - alpha  + 2*h*r  - 2*k*r)*sqrt(2) + 2*h*r
2265 2*atan(----------------------------------------------------------)
2266                          sqrt(h)*sqrt(2)*alpha
2267--------------------------------------------------------------------
2268                               alpha
2269
2270testint(1/(r*sqrt(2*h*r**2-alpha**2-epsilon**2-2*k*r)),r);
2271
2272
2273             2          2
2274(2*sqrt(alpha  + epsilon )
2275
2276                             2          2        2
2277        sqrt(h)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r)*sqrt(2) + 2*h*r
2278 *atan(---------------------------------------------------------------------))/(
2279                                        2          2
2280                      sqrt(h)*sqrt(alpha  + epsilon )*sqrt(2)
2281
2282        2          2
2283   alpha  + epsilon )
2284
2285testint(r/sqrt(2*e*r**2-alpha**2),r);
2286
2287
2288              2        2
2289 sqrt( - alpha  + 2*e*r )
2290--------------------------
2291           2*e
2292
2293testint(r/sqrt(2*e*r**2-alpha**2-epsilon**2),r);
2294
2295
2296              2        2          2
2297 sqrt( - alpha  + 2*e*r  - epsilon )
2298-------------------------------------
2299                 2*e
2300
2301testint(r/sqrt(2*e*r**2-alpha**2-2*k*r**4),r);
2302
2303
2304                                          2
2305                             e*i - 2*i*k*r
2306 sqrt(k)*sqrt(2)*asinh(--------------------------)*i
2307                                       2      2
2308                        sqrt( - 2*alpha *k + e )
2309-----------------------------------------------------
2310                         4*k
2311
2312testint(r/sqrt(2*e*r**2-alpha**2-2*k*r),r);
2313
2314
2315                2        2
2316(2*sqrt( - alpha  + 2*e*r  - 2*k*r)*e + sqrt(e)*sqrt(2)
2317
2318                            2        2
2319       sqrt(e)*sqrt( - alpha  + 2*e*r  - 2*k*r)*sqrt(2) + 2*e*r - k          2
2320 *log(--------------------------------------------------------------)*k)/(4*e )
2321                                      2      2
2322                          sqrt(2*alpha *e + k )
2323
2324testint(1/(r*sqrt(2*h*r**2-alpha**2-2*k*r**4)),r);
2325
2326
2327                                                        2      2
2328(i*(256*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*sqrt(2)*atan(
2329
2330                             2        2        4                 2      2    2
2331        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2332       ------------------------------------------------------------------------)
2333                                                          2      2
2334                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2335
2336          15  7                                                        2      2
2337    *alpha  *k  + 9856*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2338
2339    *sqrt(2)*atan(
2340
2341                             2        2        4                 2      2    2
2342        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2343       ------------------------------------------------------------------------)
2344                                                          2      2
2345                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2346
2347          13  2  6
2348    *alpha  *h *k  + 40768*sqrt(k)
2349
2350                                             2      2
2351    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*sqrt(2)*atan(
2352
2353                             2        2        4                 2      2    2
2354        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2355       ------------------------------------------------------------------------)
2356                                                          2      2
2357                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2358
2359          11  4  5
2360    *alpha  *h *k  + 32032*sqrt(k)
2361
2362                                             2      2
2363    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*sqrt(2)*atan(
2364
2365                             2        2        4                 2      2    2
2366        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2367       ------------------------------------------------------------------------)
2368                                                          2      2
2369                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2370
2371          9  6  4
2372    *alpha *h *k  - 6864*sqrt(k)
2373
2374                                             2      2
2375    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*sqrt(2)*atan(
2376
2377                             2        2        4                 2      2    2
2378        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2379       ------------------------------------------------------------------------)
2380                                                          2      2
2381                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2382
2383          7  8  3
2384    *alpha *h *k  - 8008*sqrt(k)
2385
2386                                             2      2
2387    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*sqrt(2)*atan(
2388
2389                             2        2        4                 2      2    2
2390        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2391       ------------------------------------------------------------------------)
2392                                                          2      2
2393                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2394
2395          5  10  2
2396    *alpha *h  *k  - 1092*sqrt(k)
2397
2398                                             2      2
2399    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*sqrt(2)*atan(
2400
2401                             2        2        4                 2      2    2
2402        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2403       ------------------------------------------------------------------------)
2404                                                          2      2
2405                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2406
2407          3  12                                                        2      2
2408    *alpha *h  *k - 26*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2409
2410    *sqrt(2)*atan(
2411
2412                             2        2        4                 2      2    2
2413        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2414       ------------------------------------------------------------------------)
2415                                                          2      2
2416                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2417
2418            14                                                2      2
2419    *alpha*h   - 3328*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*atan(
2420
2421                             2        2        4                 2      2    2
2422        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2423       ------------------------------------------------------------------------)
2424                                                          2      2
2425                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2426
2427          14    7                                                 2      2
2428    *alpha  *h*k  - 34944*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*atan
2429
2430                           2        2        4                 2      2    2
2431      sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2432    (------------------------------------------------------------------------)
2433                                                        2      2
2434                sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2435
2436          12  3  6                                                 2      2
2437    *alpha  *h *k  - 64064*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*
2438
2439                               2        2        4                 2      2    2
2440    atan((sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2441
2442                                                    2      2        10  5  5
2443          )/sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h ))*alpha  *h *k  -
2444
2445                                                  2      2
2446    13728*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*atan(
2447
2448                             2        2        4                 2      2    2
2449        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2450       ------------------------------------------------------------------------)
2451                                                          2      2
2452                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2453
2454          8  7  4                                                 2      2
2455    *alpha *h *k  + 16016*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*atan
2456
2457                           2        2        4                 2      2    2
2458      sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2459    (------------------------------------------------------------------------)
2460                                                        2      2
2461                sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2462
2463          6  9  3                                                2      2
2464    *alpha *h *k  + 5096*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*atan(
2465
2466                             2        2        4                 2      2    2
2467        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2468       ------------------------------------------------------------------------)
2469                                                          2      2
2470                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2471
2472          4  11  2                                               2      2
2473    *alpha *h  *k  + 308*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*atan(
2474
2475                             2        2        4                 2      2    2
2476        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2477       ------------------------------------------------------------------------)
2478                                                          2      2
2479                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2480
2481          2  13                                               2      2
2482    *alpha *h  *k + 2*sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )*atan(
2483
2484                             2        2        4                 2      2    2
2485        sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i  + 2*i *k*r
2486       ------------------------------------------------------------------------)
2487                                                          2      2
2488                  sqrt(2*sqrt(k)*sqrt(2)*alpha*h - 2*alpha *k - h )
2489
2490      15                                                       2      2
2491    *h   - 128*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)
2492
2493                              2        2        4
2494    *log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2495
2496                                                    2      2             2
2497          - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2498
2499          15  7                                                        2      2
2500    *alpha  *k  - 6720*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )
2501
2502                                      2        2        4
2503    *sqrt(2)*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2504
2505                                                            2      2
2506                  - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h
2507
2508                         2       13  2  6
2509                  - 2*k*r )*alpha  *h *k  - 43680*sqrt(k)
2510
2511                                             2      2
2512    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)*log(
2513
2514                            2        2        4
2515       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2516
2517                                                  2      2             2
2518        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2519
2520          11  4  5
2521    *alpha  *h *k  - 80080*sqrt(k)
2522
2523                                             2      2
2524    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)*log(
2525
2526                            2        2        4
2527       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2528
2529                                                  2      2             2       9
2530        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2531
2532      6  4                                                         2      2
2533    *h *k  - 51480*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )
2534
2535                                      2        2        4
2536    *sqrt(2)*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2537
2538                                                            2      2
2539                  - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h
2540
2541                         2       7  8  3
2542                  - 2*k*r )*alpha *h *k  - 12012*sqrt(k)
2543
2544                                             2      2
2545    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)*log(
2546
2547                            2        2        4
2548       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2549
2550                                                  2      2             2       5
2551        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2552
2553      10  2                                                       2      2
2554    *h  *k  - 910*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )
2555
2556                                      2        2        4
2557    *sqrt(2)*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2558
2559                                                            2      2
2560                  - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h
2561
2562                         2       3  12
2563                  - 2*k*r )*alpha *h  *k - 15*sqrt(k)
2564
2565                                             2      2
2566    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)*log(
2567
2568                            2        2        4
2569       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2570
2571                                                  2      2             2
2572        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2573
2574      14                                                       2      2
2575    *h   + 128*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)
2576
2577                              2        2        4
2578    *log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2579
2580                                                    2      2             2
2581          + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2582
2583          15  7                                                        2      2
2584    *alpha  *k  + 6720*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )
2585
2586                                      2        2        4
2587    *sqrt(2)*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2588
2589                                                            2      2
2590                  + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h
2591
2592                         2       13  2  6
2593                  - 2*k*r )*alpha  *h *k  + 43680*sqrt(k)
2594
2595                                             2      2
2596    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)*log(
2597
2598                            2        2        4
2599       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2600
2601                                                  2      2             2
2602        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2603
2604          11  4  5
2605    *alpha  *h *k  + 80080*sqrt(k)
2606
2607                                             2      2
2608    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)*log(
2609
2610                            2        2        4
2611       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2612
2613                                                  2      2             2       9
2614        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2615
2616      6  4                                                         2      2
2617    *h *k  + 51480*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )
2618
2619                                      2        2        4
2620    *sqrt(2)*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2621
2622                                                            2      2
2623                  + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h
2624
2625                         2       7  8  3
2626                  - 2*k*r )*alpha *h *k  + 12012*sqrt(k)
2627
2628                                             2      2
2629    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)*log(
2630
2631                            2        2        4
2632       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2633
2634                                                  2      2             2       5
2635        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2636
2637      10  2                                                       2      2
2638    *h  *k  + 910*sqrt(k)*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )
2639
2640                                      2        2        4
2641    *sqrt(2)*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2642
2643                                                            2      2
2644                  + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h
2645
2646                         2       3  12
2647                  - 2*k*r )*alpha *h  *k + 15*sqrt(k)
2648
2649                                             2      2
2650    *sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*sqrt(2)*log(
2651
2652                            2        2        4
2653       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2654
2655                                                  2      2             2
2656        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2657
2658      14                                                2      2
2659    *h   + 1920*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2660
2661                            2        2        4
2662       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2663
2664                                                  2      2             2
2665        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2666
2667          14    7                                                 2      2
2668    *alpha  *h*k  + 29120*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2669
2670                            2        2        4
2671       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2672
2673                                                  2      2             2
2674        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2675
2676          12  3  6                                                 2      2
2677    *alpha  *h *k  + 96096*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log
2678
2679                          2        2        4
2680    (sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2681
2682                                                2      2             2       10
2683      - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2684
2685      5  5                                                  2      2
2686    *h *k  + 102960*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2687
2688                            2        2        4
2689       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2690
2691                                                  2      2             2       8
2692        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2693
2694      7  4                                                 2      2
2695    *h *k  + 40040*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2696
2697                            2        2        4
2698       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2699
2700                                                  2      2             2       6
2701        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2702
2703      9  3                                                2      2
2704    *h *k  + 5460*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2705
2706                            2        2        4
2707       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2708
2709                                                  2      2             2       4
2710        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2711
2712      11  2                                               2      2
2713    *h  *k  + 210*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2714
2715                            2        2        4
2716       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2717
2718                                                  2      2             2       2
2719        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2720
2721      13                                             2      2
2722    *h  *k + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2723
2724                            2        2        4
2725       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2726
2727                                                  2      2             2   15
2728        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*h   -
2729
2730                                                 2      2
2731    1920*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2732
2733                            2        2        4
2734       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2735
2736                                                  2      2             2
2737        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2738
2739          14    7                                                 2      2
2740    *alpha  *h*k  - 29120*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2741
2742                            2        2        4
2743       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2744
2745                                                  2      2             2
2746        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2747
2748          12  3  6                                                 2      2
2749    *alpha  *h *k  - 96096*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log
2750
2751                          2        2        4
2752    (sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2753
2754                                                2      2             2       10
2755      + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2756
2757      5  5                                                  2      2
2758    *h *k  - 102960*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2759
2760                            2        2        4
2761       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2762
2763                                                  2      2             2       8
2764        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2765
2766      7  4                                                 2      2
2767    *h *k  - 40040*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2768
2769                            2        2        4
2770       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2771
2772                                                  2      2             2       6
2773        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2774
2775      9  3                                                2      2
2776    *h *k  - 5460*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2777
2778                            2        2        4
2779       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2780
2781                                                  2      2             2       4
2782        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2783
2784      11  2                                               2      2
2785    *h  *k  - 210*sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2786
2787                            2        2        4
2788       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2789
2790                                                  2      2             2       2
2791        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2792
2793      13                                             2      2
2794    *h  *k - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h )*log(
2795
2796                            2        2        4
2797       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2798
2799                                                  2      2             2   15
2800        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*h   +
2801
2802                                                  2        2        4
2803    1792*sqrt(k)*sqrt(2)*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2804
2805                                                  2      2             2
2806        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2807
2808          15    7
2809    *alpha  *h*k  + 22400*sqrt(k)*sqrt(2)*log(
2810
2811                            2        2        4
2812       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2813
2814                                                  2      2             2
2815        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2816
2817          13  3  6
2818    *alpha  *h *k  + 52416*sqrt(k)*sqrt(2)*log(
2819
2820                            2        2        4
2821       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2822
2823                                                  2      2             2
2824        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2825
2826          11  5  5
2827    *alpha  *h *k  + 22880*sqrt(k)*sqrt(2)*log(
2828
2829                            2        2        4
2830       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2831
2832                                                  2      2             2       9
2833        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2834
2835      7  4
2836    *h *k  - 11440*sqrt(k)*sqrt(2)*log(
2837
2838                            2        2        4
2839       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2840
2841                                                  2      2             2       7
2842        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2843
2844      9  3
2845    *h *k  - 6552*sqrt(k)*sqrt(2)*log(
2846
2847                            2        2        4
2848       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2849
2850                                                  2      2             2       5
2851        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2852
2853      11  2
2854    *h  *k  - 700*sqrt(k)*sqrt(2)*log(
2855
2856                            2        2        4
2857       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2858
2859                                                  2      2             2       3
2860        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2861
2862      13
2863    *h  *k - 14*sqrt(k)*sqrt(2)*log(
2864
2865                            2        2        4
2866       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2867
2868                                                  2      2             2
2869        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2870
2871      15
2872    *h   + 1792*sqrt(k)*sqrt(2)*log(
2873
2874                            2        2        4
2875       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2876
2877                                                  2      2             2
2878        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2879
2880          15    7
2881    *alpha  *h*k  + 22400*sqrt(k)*sqrt(2)*log(
2882
2883                            2        2        4
2884       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2885
2886                                                  2      2             2
2887        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2888
2889          13  3  6
2890    *alpha  *h *k  + 52416*sqrt(k)*sqrt(2)*log(
2891
2892                            2        2        4
2893       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2894
2895                                                  2      2             2
2896        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
2897
2898          11  5  5
2899    *alpha  *h *k  + 22880*sqrt(k)*sqrt(2)*log(
2900
2901                            2        2        4
2902       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2903
2904                                                  2      2             2       9
2905        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2906
2907      7  4
2908    *h *k  - 11440*sqrt(k)*sqrt(2)*log(
2909
2910                            2        2        4
2911       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2912
2913                                                  2      2             2       7
2914        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2915
2916      9  3
2917    *h *k  - 6552*sqrt(k)*sqrt(2)*log(
2918
2919                            2        2        4
2920       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2921
2922                                                  2      2             2       5
2923        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2924
2925      11  2
2926    *h  *k  - 700*sqrt(k)*sqrt(2)*log(
2927
2928                            2        2        4
2929       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2930
2931                                                  2      2             2       3
2932        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2933
2934      13
2935    *h  *k - 14*sqrt(k)*sqrt(2)*log(
2936
2937                            2        2        4
2938       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
2939
2940                                                  2      2             2
2941        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
2942
2943      15
2944    *h   - 1792*sqrt(k)*sqrt(2)*log(
2945
2946                              2        2        4
2947       2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
2948
2949                                 2        2        4               2
2950        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
2951
2952                                             2      2  4       15    7
2953        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha  *h*k  - 22400
2954
2955                                                2        2        4
2956    *sqrt(k)*sqrt(2)*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
2957
2958                                 2        2        4               2
2959        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
2960
2961                                             2      2  4       13  3  6
2962        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha  *h *k  - 52416
2963
2964                                                2        2        4
2965    *sqrt(k)*sqrt(2)*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
2966
2967                                 2        2        4               2
2968        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
2969
2970                                             2      2  4       11  5  5
2971        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha  *h *k  - 22880
2972
2973                                                2        2        4
2974    *sqrt(k)*sqrt(2)*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
2975
2976                                 2        2        4               2
2977        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
2978
2979                                             2      2  4       9  7  4
2980        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha *h *k  + 11440
2981
2982                                                2        2        4
2983    *sqrt(k)*sqrt(2)*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
2984
2985                                 2        2        4               2
2986        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
2987
2988                                             2      2  4       7  9  3
2989        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha *h *k  + 6552
2990
2991                                                2        2        4
2992    *sqrt(k)*sqrt(2)*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
2993
2994                                 2        2        4               2
2995        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
2996
2997                                             2      2  4       5  11  2
2998        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha *h  *k  + 700
2999
3000                                                2        2        4
3001    *sqrt(k)*sqrt(2)*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3002
3003                                 2        2        4               2
3004        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3005
3006                                             2      2  4       3  13
3007        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha *h  *k + 14
3008
3009                                                2        2        4
3010    *sqrt(k)*sqrt(2)*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3011
3012                                 2        2        4               2
3013        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3014
3015                                             2      2  4         15
3016        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha*h   - 256*log(
3017
3018                            2        2        4
3019       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3020
3021                                                  2      2             2
3022        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
3023
3024          16  8                                  2        2        4
3025    *alpha  *k  - 11520*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3026
3027                                                  2      2             2
3028        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
3029
3030          14  2  7
3031    *alpha  *h *k  - 58240*log(
3032
3033                            2        2        4
3034       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3035
3036                                                  2      2             2
3037        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
3038
3039          12  4  6
3040    *alpha  *h *k  - 64064*log(
3041
3042                            2        2        4
3043       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3044
3045                                                  2      2             2
3046        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
3047
3048          10  6  5
3049    *alpha  *h *k  + 16016*log(
3050
3051                            2        2        4
3052       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3053
3054                                                  2      2             2       6
3055        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
3056
3057      10  3                                 2        2        4
3058    *h  *k  + 3640*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3059
3060                                                  2      2             2       4
3061        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
3062
3063      12  2                                2        2        4
3064    *h  *k  + 180*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3065
3066                                                  2      2             2       2
3067        - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
3068
3069      14                              2        2        4
3070    *h  *k + log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3071
3072                                                            2      2
3073                  - sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h
3074
3075                         2   16
3076                  - 2*k*r )*h   - 256*log(
3077
3078                            2        2        4
3079       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3080
3081                                                  2      2             2
3082        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
3083
3084          16  8                                  2        2        4
3085    *alpha  *k  - 11520*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3086
3087                                                  2      2             2
3088        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
3089
3090          14  2  7
3091    *alpha  *h *k  - 58240*log(
3092
3093                            2        2        4
3094       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3095
3096                                                  2      2             2
3097        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
3098
3099          12  4  6
3100    *alpha  *h *k  - 64064*log(
3101
3102                            2        2        4
3103       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3104
3105                                                  2      2             2
3106        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )
3107
3108          10  6  5
3109    *alpha  *h *k  + 16016*log(
3110
3111                            2        2        4
3112       sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3113
3114                                                  2      2             2       6
3115        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
3116
3117      10  3                                 2        2        4
3118    *h  *k  + 3640*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3119
3120                                                  2      2             2       4
3121        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
3122
3123      12  2                                2        2        4
3124    *h  *k  + 180*log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3125
3126                                                  2      2             2       2
3127        + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h - 2*k*r )*alpha
3128
3129      14                              2        2        4
3130    *h  *k + log(sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i
3131
3132                                                            2      2
3133                  + sqrt(2*sqrt(k)*sqrt(2)*alpha*h + 2*alpha *k + h ) + h
3134
3135                         2   16
3136                  - 2*k*r )*h   + 256*log(
3137
3138                              2        2        4
3139       2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3140
3141                                 2        2        4               2
3142        - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3143
3144                                             2      2  4       16  8
3145        + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha  *k  + 11520*log
3146
3147                            2        2        4
3148    (2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3149
3150                               2        2        4               2
3151      - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3152
3153                                           2      2  4       14  2  7
3154      + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha  *h *k  + 58240*
3155
3156                               2        2        4
3157    log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3158
3159                                  2        2        4               2
3160         - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3161
3162                                              2      2  4       12  4  6
3163         + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha  *h *k  + 64064
3164
3165                                2        2        4
3166    *log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3167
3168                                   2        2        4               2
3169          - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3170
3171                                               2      2  4       10  6  5
3172          + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha  *h *k  -
3173
3174                                     2        2        4
3175    16016*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3176
3177                                        2        2        4               2
3178               - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3179
3180                                                    2      2  4       6  10  3
3181               + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha *h  *k  -
3182
3183                                     2        2        4
3184     3640*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3185
3186                                        2        2        4               2
3187               - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3188
3189                                                    2      2  4       4  12  2
3190               + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha *h  *k  -
3191
3192                                    2        2        4
3193     180*log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3194
3195                                       2        2        4               2
3196              - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3197
3198                                                   2      2  4       2  14
3199              + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*alpha *h  *k -
3200
3201                               2        2        4
3202    log(2*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3203
3204                                  2        2        4               2
3205         - 4*sqrt(k)*sqrt( - alpha  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3206
3207                                              2      2  4   16
3208         + 2*sqrt(k)*sqrt(2)*alpha*h - 8*h*k*r  + 8*k *r )*h  ))/(4*alpha*(
3209
3210                                15    7                              13  3  6
3211      1792*sqrt(k)*sqrt(2)*alpha  *h*k  + 22400*sqrt(k)*sqrt(2)*alpha  *h *k
3212
3213                                    11  5  5
3214       + 52416*sqrt(k)*sqrt(2)*alpha  *h *k
3215
3216                                    9  7  4                              7  9  3
3217       + 22880*sqrt(k)*sqrt(2)*alpha *h *k  - 11440*sqrt(k)*sqrt(2)*alpha *h *k
3218
3219                                   5  11  2                            3  13
3220       - 6552*sqrt(k)*sqrt(2)*alpha *h  *k  - 700*sqrt(k)*sqrt(2)*alpha *h  *k
3221
3222                                   15            16  8              14  2  7
3223       - 14*sqrt(k)*sqrt(2)*alpha*h   - 256*alpha  *k  - 11520*alpha  *h *k
3224
3225                    12  4  6              10  6  5              6  10  3
3226       - 58240*alpha  *h *k  - 64064*alpha  *h *k  + 16016*alpha *h  *k
3227
3228                   4  12  2            2  14      16
3229       + 3640*alpha *h  *k  + 180*alpha *h  *k + h  ))
3230
3231testint(1/(r*sqrt(2*h*r**2-alpha**2-epsilon**2-2*k*r**4)),r);
3232
3233
3234                                  2          2                     2
3235(i*( - 2*sqrt(2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h - 2*alpha *k
3236
3237                          2      2            2          2
3238               - 2*epsilon *k - h )*sqrt(alpha  + epsilon )*atan((
3239
3240                               2          2        2        4                 2
3241          sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i
3242
3243                2    2                           2          2
3244           + 2*i *k*r )/sqrt(2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h
3245
3246                    2              2      2
3247           - 2*alpha *k - 2*epsilon *k - h ))*h - 2*sqrt(k)*sqrt(
3248
3249                           2          2                     2              2
3250       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h - 2*alpha *k - 2*epsilon *k
3251
3252           2
3253        - h )*sqrt(2)*atan((
3254
3255                               2          2        2        4                 2
3256          sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i
3257
3258                2    2                           2          2
3259           + 2*i *k*r )/sqrt(2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h
3260
3261                    2              2      2        2
3262           - 2*alpha *k - 2*epsilon *k - h ))*alpha  - 2*sqrt(k)*sqrt(
3263
3264                           2          2                     2              2
3265       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h - 2*alpha *k - 2*epsilon *k
3266
3267           2
3268        - h )*sqrt(2)*atan((
3269
3270                               2          2        2        4                 2
3271          sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - h*i
3272
3273                2    2                           2          2
3274           + 2*i *k*r )/sqrt(2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h
3275
3276                    2              2      2          2
3277           - 2*alpha *k - 2*epsilon *k - h ))*epsilon  - sqrt(
3278
3279                           2          2                     2              2
3280       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k + 2*epsilon *k
3281
3282           2            2          2
3283        + h )*sqrt(alpha  + epsilon )*log(
3284
3285                            2          2        2        4
3286       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - sqrt(
3287
3288                              2          2                     2
3289          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3290
3291                      2      2             2
3292           + 2*epsilon *k + h ) + h - 2*k*r )*h + sqrt(
3293
3294                           2          2                     2              2
3295       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k + 2*epsilon *k
3296
3297           2            2          2
3298        + h )*sqrt(alpha  + epsilon )*log(
3299
3300                            2          2        2        4
3301       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i + sqrt(
3302
3303                              2          2                     2
3304          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3305
3306                      2      2             2                  2          2
3307           + 2*epsilon *k + h ) + h - 2*k*r )*h + 2*sqrt(alpha  + epsilon )*log(
3308
3309                            2          2        2        4
3310       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - sqrt(
3311
3312                              2          2                     2
3313          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3314
3315                      2      2             2       2
3316           + 2*epsilon *k + h ) + h - 2*k*r )*alpha *k + 2
3317
3318               2          2
3319    *sqrt(alpha  + epsilon )*log(
3320
3321                            2          2        2        4
3322       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - sqrt(
3323
3324                              2          2                     2
3325          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3326
3327                      2      2             2         2
3328           + 2*epsilon *k + h ) + h - 2*k*r )*epsilon *k -
3329
3330              2          2
3331    sqrt(alpha  + epsilon )*log(
3332
3333                            2          2        2        4
3334       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - sqrt(
3335
3336                              2          2                     2
3337          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3338
3339                      2      2             2   2               2          2
3340           + 2*epsilon *k + h ) + h - 2*k*r )*h  + 2*sqrt(alpha  + epsilon )*log
3341
3342                          2          2        2        4
3343    (sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i + sqrt(
3344
3345                            2          2                     2              2
3346        2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k + 2*epsilon *k
3347
3348            2             2       2                 2          2
3349         + h ) + h - 2*k*r )*alpha *k + 2*sqrt(alpha  + epsilon )*log(
3350
3351                            2          2        2        4
3352       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i + sqrt(
3353
3354                              2          2                     2
3355          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3356
3357                      2      2             2         2
3358           + 2*epsilon *k + h ) + h - 2*k*r )*epsilon *k -
3359
3360              2          2
3361    sqrt(alpha  + epsilon )*log(
3362
3363                            2          2        2        4
3364       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i + sqrt(
3365
3366                              2          2                     2
3367          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3368
3369                      2      2             2   2               2          2
3370           + 2*epsilon *k + h ) + h - 2*k*r )*h  - 2*sqrt(alpha  + epsilon )*log
3371
3372                         2          2
3373    (2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h
3374
3375                               2          2        2        4
3376      + 2*sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3377
3378                               2          2        2        4               2
3379      - 4*sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3380
3381               2      2  4       2                 2          2
3382      - 8*h*k*r  + 8*k *r )*alpha *k - 2*sqrt(alpha  + epsilon )*log(
3383
3384                           2          2
3385       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h
3386
3387                                 2          2        2        4
3388        + 2*sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3389
3390                                 2          2        2        4               2
3391        - 4*sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3392
3393                 2      2  4         2               2          2
3394        - 8*h*k*r  + 8*k *r )*epsilon *k + sqrt(alpha  + epsilon )*log(
3395
3396                           2          2
3397       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h
3398
3399                                 2          2        2        4
3400        + 2*sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*h*i
3401
3402                                 2          2        2        4               2
3403        - 4*sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i*k*r
3404
3405                 2      2  4   2
3406        - 8*h*k*r  + 8*k *r )*h  + sqrt(k)*sqrt(
3407
3408                           2          2                     2              2
3409       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k + 2*epsilon *k
3410
3411           2
3412        + h )*sqrt(2)*log(
3413
3414                            2          2        2        4
3415       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - sqrt(
3416
3417                              2          2                     2
3418          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3419
3420                      2      2             2       2
3421           + 2*epsilon *k + h ) + h - 2*k*r )*alpha  + sqrt(k)*sqrt(
3422
3423                           2          2                     2              2
3424       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k + 2*epsilon *k
3425
3426           2
3427        + h )*sqrt(2)*log(
3428
3429                            2          2        2        4
3430       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i - sqrt(
3431
3432                              2          2                     2
3433          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3434
3435                      2      2             2         2
3436           + 2*epsilon *k + h ) + h - 2*k*r )*epsilon  - sqrt(k)*sqrt(
3437
3438                           2          2                     2              2
3439       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k + 2*epsilon *k
3440
3441           2
3442        + h )*sqrt(2)*log(
3443
3444                            2          2        2        4
3445       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i + sqrt(
3446
3447                              2          2                     2
3448          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3449
3450                      2      2             2       2
3451           + 2*epsilon *k + h ) + h - 2*k*r )*alpha  - sqrt(k)*sqrt(
3452
3453                           2          2                     2              2
3454       2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k + 2*epsilon *k
3455
3456           2
3457        + h )*sqrt(2)*log(
3458
3459                            2          2        2        4
3460       sqrt(k)*sqrt( - alpha  - epsilon  + 2*h*r  - 2*k*r )*sqrt(2)*i + sqrt(
3461
3462                              2          2                     2
3463          2*sqrt(k)*sqrt(alpha  + epsilon )*sqrt(2)*h + 2*alpha *k
3464
3465                      2      2             2         2
3466           + 2*epsilon *k + h ) + h - 2*k*r )*epsilon ))/(4
3467
3468            4            2        2          2  2            4            2  2
3469   *(2*alpha *k + 4*alpha *epsilon *k - alpha *h  + 2*epsilon *k - epsilon *h ))
3470
3471
3472
3473Comment many of these integrals used to require Steve Harrington's
3474	code to evaluate. They originated in Novosibirsk as examples
3475	of using Analytik. There are still a few examples that could
3476	be evaluated using better heuristics;
3477
3478
3479testint(a*sin(3*x+5)**2*cos(3*x+5),x);
3480
3481
3482             3
3483 sin(3*x + 5) *a
3484-----------------
3485        9
3486
3487testint(log(x**2)/x**3,x);
3488
3489
3490          2
3491  - (log(x ) + 1)
3492------------------
3493          2
3494       2*x
3495
3496testint(x*sin(x+a),x);
3497
3498
3499 - cos(a + x)*x + sin(a + x)
3500
3501testint((log(x)*(1-x)-1)/(e**x*log(x)**2),x);
3502
3503
3504     x
3505-----------
3506  x
3507 e *log(x)
3508
3509testint(x**3*(a*x**2+b)**(-1),x);
3510
3511
3512           2             2
3513  - log(a*x  + b)*b + a*x
3514---------------------------
3515              2
3516           2*a
3517
3518testint(x**(1/2)*(x+1)**(-7/2),x);
3519
3520
3521                      2                                                2
3522(2*( - 2*sqrt(x + 1)*x  - 4*sqrt(x + 1)*x - 2*sqrt(x + 1) + 2*sqrt(x)*x
3523
3524                                       2
3525     + 5*sqrt(x)*x))/(15*sqrt(x + 1)*(x  + 2*x + 1))
3526
3527testint(x**(-1)*(x+1)**(-1),x);
3528
3529
3530 - log(x + 1) + log(x)
3531
3532testint(x**(-1/2)*(2*x-1)**(-1),x);
3533
3534
3535 sqrt(2)*(log(2*sqrt(x) - sqrt(2)) - log(2*sqrt(x) + sqrt(2)))
3536---------------------------------------------------------------
3537                               2
3538
3539testint((x**2+1)*x**(1/2),x);
3540
3541
3542                 2
3543 2*sqrt(x)*x*(3*x  + 7)
3544------------------------
3545           21
3546
3547testint(x**(-1)*(x-a)**(1/3),x);
3548
3549
3550                                1/6    1/6
3551                    2*( - a + x)    - a   *sqrt(3)
3552( - 2*sqrt(3)*atan(--------------------------------)*a
3553                                  1/6
3554                                 a
3555
3556                                1/6    1/6
3557                    2*( - a + x)    + a   *sqrt(3)          2/3           1/3
3558  + 2*sqrt(3)*atan(--------------------------------)*a + 6*a   *( - a + x)
3559                                  1/6
3560                                 a
3561
3562                    1/3    1/3
3563  - 2*log(( - a + x)    + a   )*a
3564
3565            1/6           1/6                     1/3    1/3
3566  + log( - a   *( - a + x)   *sqrt(3) + ( - a + x)    + a   )*a
3567
3568         1/6           1/6                     1/3    1/3         2/3
3569  + log(a   *( - a + x)   *sqrt(3) + ( - a + x)    + a   )*a)/(2*a   )
3570
3571testint(x*sinh(x),x);
3572
3573
3574cosh(x)*x - sinh(x)
3575
3576testint(x*cosh(x),x);
3577
3578
3579 - cosh(x) + sinh(x)*x
3580
3581testint(sinh(2*x)/cosh(2*x),x);
3582
3583
3584 log(cosh(2*x))
3585----------------
3586       2
3587
3588testint((i*eps*sinh x-1)/(eps*i*cosh x+i*a-x),x);
3589
3590
3591log(cosh(x)*eps*i + a*i - x)
3592
3593testint(sin(2*x+3)*cos(x)**2,x);
3594
3595
3596                                                          2
3597( - 4*cos(2*x + 3)*cos(x)*sin(x)*x + 2*cos(2*x + 3)*sin(x)  - 3*cos(2*x + 3)
3598
3599                         2
3600  - 4*sin(2*x + 3)*sin(x) *x + 2*sin(2*x + 3)*x + 3)/8
3601
3602testint(x*atan(x),x);
3603
3604
3605          2
3606 atan(x)*x  + atan(x) - x
3607--------------------------
3608            2
3609
3610testint(x*acot(x),x);
3611
3612
3613          2
3614 acot(x)*x  + acot(x) + x
3615--------------------------
3616            2
3617
3618testint(x*log(x**2+a),x);
3619
3620
3621          2               2   2    2
3622 log(a + x )*a + log(a + x )*x  - x
3623-------------------------------------
3624                  2
3625
3626testint(sin(x+a)*cos(x),x);
3627
3628
3629  - cos(a + x)*cos(x) - cos(a + x)*sin(x)*x + cos(x)*sin(a + x)*x
3630------------------------------------------------------------------
3631                                2
3632
3633testint(cos(x+a)*sin(x),x);
3634
3635
3636  - cos(a + x)*cos(x) + cos(a + x)*sin(x)*x - cos(x)*sin(a + x)*x
3637------------------------------------------------------------------
3638                                2
3639
3640testint((1+sin(x))**(1/2),x);
3641
3642
3643int(sqrt(sin(x) + 1),x)
3644
3645testint((1-sin(x))**(1/2),x);
3646
3647
3648int(sqrt( - sin(x) + 1),x)
3649
3650testint((1+cos(x))**(1/2),x);
3651
3652
3653int(sqrt(cos(x) + 1),x)
3654
3655testint((1-cos(x))**(1/2),x);
3656
3657
3658int(sqrt( - cos(x) + 1),x)
3659
3660testint(1/(x**(1/2)-(x-1)**(1/2)),x);
3661
3662
3663 2*(sqrt(x - 1)*x - sqrt(x - 1) + sqrt(x)*x)
3664---------------------------------------------
3665                      3
3666
3667testint(1/(1-(x+1)**(1/2)),x);
3668
3669
3670 - 2*(sqrt(x + 1) + log(sqrt(x + 1) - 1))
3671
3672testint(x/(x**4+36)**(1/2),x);
3673
3674
3675            4          2
3676      sqrt(x  + 36) + x
3677 log(--------------------)
3678              6
3679---------------------------
3680             2
3681
3682testint(1/(x**(1/3)+x**(1/2)),x);
3683
3684
3685   1/6      1/3                      1/6
36866*x    - 3*x    + 2*sqrt(x) - 6*log(x    + 1)
3687
3688testint(log(2+3*x**2),x);
3689
3690
3691                   3*x                2
3692 2*sqrt(6)*atan(---------) + 3*log(3*x  + 2)*x - 6*x
3693                 sqrt(6)
3694-----------------------------------------------------
3695                          3
3696
3697testint(cot(x),x);
3698
3699
3700            x  2                 x
3701 - log(tan(---)  + 1) + log(tan(---))
3702            2                    2
3703
3704testint(cot x**4,x);
3705
3706
3707          3
3708  - cot(x)  + 3*cot(x) + 3*x
3709-----------------------------
3710              3
3711
3712testint(tanh(x),x);
3713
3714
3715     2*x
3716log(e    + 1) - x
3717
3718testint(coth(x),x);
3719
3720
3721     x             x
3722log(e  - 1) + log(e  + 1) - x
3723
3724testint(b**x,x);
3725
3726
3727    x
3728   b
3729--------
3730 log(b)
3731
3732testint((x**4+x**(-4)+2)**(1/2),x);
3733
3734
3735  4
3736 x  - 3
3737--------
3738  3*x
3739
3740testint((2*x+1)/(3*x+2),x);
3741
3742
3743  - log(3*x + 2) + 6*x
3744-----------------------
3745           9
3746
3747testint(x*log(x+(x**2+1)**(1/2)),x);
3748
3749
3750          2                      2            2             2
3751  - sqrt(x  + 1)*x + 2*log(sqrt(x  + 1) + x)*x  + log(sqrt(x  + 1) + x)
3752------------------------------------------------------------------------
3753                                   4
3754
3755testint(x*(e**x*sin(x)+1)**2,x);
3756
3757
3758       2*x                    2*x                    x               x
3759( - 2*e   *cos(x)*sin(x)*x + e   *cos(x)*sin(x) - 8*e *cos(x)*x + 8*e *cos(x)
3760
3761       2*x       2      2*x      2*x      x               2
3762  + 2*e   *sin(x) *x + e   *x - e    + 8*e *sin(x)*x + 4*x )/8
3763
3764testint(x*e**x*cos(x),x);
3765
3766
3767  x
3768 e *(cos(x)*x + sin(x)*x - sin(x))
3769-----------------------------------
3770                 2
3771
3772
3773Comment the following set came from Herbert Stoyan;
3774
3775
3776testint(1/(x-3)**4,x);
3777
3778
3779            - 1
3780---------------------------
3781     3      2
3782 3*(x  - 9*x  + 27*x - 27)
3783
3784testint(x/(x**3-1),x);
3785
3786
3787                 2*x + 1          2
3788 2*sqrt(3)*atan(---------) - log(x  + x + 1) + 2*log(x - 1)
3789                 sqrt(3)
3790------------------------------------------------------------
3791                             6
3792
3793testint(x/(x**4-1),x);
3794
3795
3796         2
3797  - log(x  + 1) + log(x - 1) + log(x + 1)
3798------------------------------------------
3799                    4
3800
3801testint(log(x)*(x**3+1)/(x**4+2),x);
3802
3803
3804            log(x)               log(x)             2
3805  - 4*int(----------,x) + 2*int(--------,x) + log(x)
3806            5                     4
3807           x  + 2*x              x  + 2
3808------------------------------------------------------
3809                          2
3810
3811testint(log(x)+log(x+1)+log(x+2),x);
3812
3813
3814log(x + 2)*x + 2*log(x + 2) + log(x + 1)*x + log(x + 1) + log(x)*x - 3*x
3815
3816testint(1/(x**3+5),x);
3817
3818
3819                            1/3
3820  1/3                      5    - 2*x           2/3    1/3      2
3821(5   *( - 2*sqrt(3)*atan(--------------) - log(5    - 5   *x + x )
3822                                   1/3
3823                          sqrt(3)*5
3824
3825                 1/3
3826        + 2*log(5    + x)))/30
3827
3828testint(1/sqrt(1+x**2),x);
3829
3830
3831          2
3832log(sqrt(x  + 1) + x)
3833
3834testint(sqrt(x**2+3),x);
3835
3836
3837                               2
3838       2                 sqrt(x  + 3) + x
3839 sqrt(x  + 3)*x + 3*log(------------------)
3840                             sqrt(3)
3841--------------------------------------------
3842                     2
3843
3844testint(x/(x+1)**2,x);
3845
3846
3847 log(x + 1)*x + log(x + 1) - x
3848-------------------------------
3849             x + 1
3850
3851
3852COMMENT The following integrals were used among others as a test of
3853	Moses' SIN program;
3854
3855
3856testint(asin x,x);
3857
3858
3859                     2
3860asin(x)*x + sqrt( - x  + 1)
3861
3862testint(x**2*asin x,x);
3863
3864
3865            3            2       2              2
3866 3*asin(x)*x  + sqrt( - x  + 1)*x  + 2*sqrt( - x  + 1)
3867-------------------------------------------------------
3868                           9
3869
3870testint(sec x**2/(1+sec x**2-3*tan x),x);
3871
3872
3873                        x                                x
3874log( - sqrt(5) + 2*tan(---) + 1) - log( - sqrt(2) + tan(---) + 1)
3875                        2                                2
3876
3877                        x                             x
3878 + log(sqrt(5) + 2*tan(---) + 1) - log(sqrt(2) + tan(---) + 1)
3879                        2                             2
3880
3881testint(1/sec x**2,x);
3882
3883
3884 cos(x)*sin(x) + x
3885-------------------
3886         2
3887
3888testint((5*x**2-3*x-2)/(x**2*(x-2)),x);
3889
3890
3891 3*log(x - 2)*x + 2*log(x)*x - 1
3892---------------------------------
3893                x
3894
3895testint(1/(4*x**2+9)**(1/2),x);
3896
3897
3898              2
3899      sqrt(4*x  + 9) + 2*x
3900 log(----------------------)
3901               3
3902-----------------------------
3903              2
3904
3905testint((x**2+4)**(-1/2),x);
3906
3907
3908           2
3909     sqrt(x  + 4) + x
3910log(------------------)
3911            2
3912
3913testint(1/(9*x**2-12*x+10),x);
3914
3915
3916               3*x - 2
3917 sqrt(6)*atan(---------)
3918               sqrt(6)
3919-------------------------
3920           18
3921
3922testint(1/(x**8-2*x**7+2*x**6-2*x**5+x**4),x);
3923
3924
3925        2       4          2       3                  4                  3
3926(3*log(x  + 1)*x  - 3*log(x  + 1)*x  - 30*log(x - 1)*x  + 30*log(x - 1)*x
3927
3928               4              3       4       2                 3
3929  + 24*log(x)*x  - 24*log(x)*x  - 30*x  + 12*x  + 8*x + 4)/(12*x *(x - 1))
3930
3931testint((a*x**3+b*x**2+c*x+d)/((x+1)*x*(x-3)),x);
3932
3933
3934(27*log(x - 3)*a + 9*log(x - 3)*b + 3*log(x - 3)*c + log(x - 3)*d
3935
3936  - 3*log(x + 1)*a + 3*log(x + 1)*b - 3*log(x + 1)*c + 3*log(x + 1)*d
3937
3938  - 4*log(x)*d + 12*a*x)/12
3939
3940testint(1/(2-log(x**2+1))**5,x);
3941
3942
3943               2     5           2     4           2     3           2     2
3944 - int(1/(log(x  + 1)  - 10*log(x  + 1)  + 40*log(x  + 1)  - 80*log(x  + 1)
3945
3946                     2
3947           + 80*log(x  + 1) - 32),x)
3948
3949
3950% The next integral appeared in Risch's 1968 paper.
3951
3952testint(2*x*e**(x**2)*log(x)+e**(x**2)/x+(log(x)-2)/(log(x)**2+x)**2+
3953    ((2/x)*log(x)+(1/x)+1)/(log(x)**2+x),x);
3954
3955
3956   2             2
3957  x        3    x                       2            2             2
3958(e  *log(x)  + e  *log(x)*x + log(log(x)  + x)*log(x)  + log(log(x)  + x)*x
3959
3960                   2
3961  - log(x))/(log(x)  + x)
3962
3963
3964% The following integral would not evaluate in REDUCE 3.3.
3965
3966testint(exp(x*ze+x/2)*sin(pi*ze)**4*x**4,ze);
3967
3968
3969  (2*x*ze + x)/2  3                             3   3
3970(e              *x *( - 16*cos(pi*ze)*sin(pi*ze) *pi *x
3971
3972                              3     3                              3
3973     - 4*cos(pi*ze)*sin(pi*ze) *pi*x  - 24*cos(pi*ze)*sin(pi*ze)*pi *x
3974
3975                   4   2  2             4  4                2   2  2        4
3976     + 4*sin(pi*ze) *pi *x  + sin(pi*ze) *x  + 12*sin(pi*ze) *pi *x  + 24*pi ))/
3977
3978      4        2  2    4
3979(64*pi  + 20*pi *x  + x )
3980
3981
3982% This one evaluates:
3983
3984testint(erf(x),x);
3985
3986
3987   2
3988  x
3989 e  *erf(x)*pi*x + sqrt(pi)
3990----------------------------
3991             2
3992            x
3993           e  *pi
3994
3995
3996% So why not this one?
3997
3998testint(erf(x+a),x);
3999
4000
4001int(erf(a + x),x)
4002
4003
4004
4005Comment some interesting integrals of algebraic functions;
4006
4007
4008% The Chebyshev integral.
4009
4010testint((2*x**6+4*x**5+7*x**4-3*x**3-x*x-8*x-8)/
4011	((2*x**2-1)**2*sqrt(x**4+4*x**3+2*x**2+1)),x);
4012
4013
4014         4      3      2                4      3      2
4015(2*sqrt(x  + 4*x  + 2*x  + 1)*x + sqrt(x  + 4*x  + 2*x  + 1)
4016
4017           2             2          2
4018  - 4*log(x  + 4*x + 2)*x  + 2*log(x  + 4*x + 2) + 10*log(
4019
4020                4      3      2                         4      3      2
4021     - 16*sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2) - 13*sqrt(x  + 4*x  + 2*x  + 1)
4022
4023                   2                                  2               2
4024     + 28*sqrt(2)*x  + 32*sqrt(2)*x - 6*sqrt(2) + 35*x  + 26*x - 11)*x  - 5*log(
4025
4026                4      3      2                         4      3      2
4027     - 16*sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2) - 13*sqrt(x  + 4*x  + 2*x  + 1)
4028
4029                   2                                  2
4030     + 28*sqrt(2)*x  + 32*sqrt(2)*x - 6*sqrt(2) + 35*x  + 26*x - 11) + 4*log(
4031
4032               4      3      2                      4      3      2
4033     - 2*sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2) - sqrt(x  + 4*x  + 2*x  + 1)
4034
4035                  2                                  2              2
4036     + 4*sqrt(2)*x  + 16*sqrt(2)*x + 10*sqrt(2) - 5*x  - 20*x - 9)*x  - 2*log(
4037
4038               4      3      2                      4      3      2
4039     - 2*sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2) - sqrt(x  + 4*x  + 2*x  + 1)
4040
4041                  2                                  2
4042     + 4*sqrt(2)*x  + 16*sqrt(2)*x + 10*sqrt(2) - 5*x  - 20*x - 9)
4043
4044                          2
4045  - 2*log(sqrt(2) + 2*x)*x  + log(sqrt(2) + 2*x) + 2*log(
4046
4047          4      3      2                        4      3      2
4048    sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2) + 4*sqrt(x  + 4*x  + 2*x  + 1)
4049
4050                                         2
4051     - 2*sqrt(2)*x - 4*sqrt(2) - x - 2)*x  - log(
4052
4053          4      3      2                        4      3      2
4054    sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2) + 4*sqrt(x  + 4*x  + 2*x  + 1)
4055
4056     - 2*sqrt(2)*x - 4*sqrt(2) - x - 2) + 2*log(
4057
4058             4      3      2
4059    25*sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2)*x
4060
4061               4      3      2                         4      3      2
4062     + 6*sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2) + 44*sqrt(x  + 4*x  + 2*x  + 1)*x
4063
4064                4      3      2                   3               2
4065     + 38*sqrt(x  + 4*x  + 2*x  + 1) - 7*sqrt(2)*x  - 36*sqrt(2)*x
4066
4067                                       3        2              2
4068     - 21*sqrt(2)*x - 10*sqrt(2) - 28*x  - 130*x  - 84*x + 2)*x  - log(
4069
4070             4      3      2
4071    25*sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2)*x
4072
4073               4      3      2                         4      3      2
4074     + 6*sqrt(x  + 4*x  + 2*x  + 1)*sqrt(2) + 44*sqrt(x  + 4*x  + 2*x  + 1)*x
4075
4076                4      3      2                   3               2
4077     + 38*sqrt(x  + 4*x  + 2*x  + 1) - 7*sqrt(2)*x  - 36*sqrt(2)*x
4078
4079                                       3        2
4080     - 21*sqrt(2)*x - 10*sqrt(2) - 28*x  - 130*x  - 84*x + 2)
4081
4082              2       2            2
4083  - 10*log(2*x  - 1)*x  + 5*log(2*x  - 1)
4084
4085                                     2             2
4086  - 4*log(2*sqrt(2)*x + 4*sqrt(2) - x  - 4*x - 6)*x
4087
4088                                     2                    2
4089  + 2*log(2*sqrt(2)*x + 4*sqrt(2) - x  - 4*x - 6))/(2*(2*x  - 1))
4090
4091
4092% This integral came from Dr. G.S. Joyce of Imperial College London.
4093
4094testint((1+2*y)*sqrt(1-5*y-5*y**2)/(y*(1+y)*(2+y)*sqrt(1-y-y**2)),y);
4095
4096
4097           2                   2
4098( - 4*log(y  - 2*y + 1) - log(y  + 4*y + 4) + 2*log(
4099
4100                    2                     2
4101     - 3*sqrt( - 5*y  - 5*y + 1)*sqrt( - y  - y + 1)*i
4102
4103                    2                     2
4104     + 4*sqrt( - 5*y  - 5*y + 1)*sqrt( - y  - y + 1)
4105
4106                   2                           2
4107     - 15*sqrt( - y  - y + 1)*i*y + 3*sqrt( - y  - y + 1)*i
4108
4109                  2                         2
4110     - 5*sqrt( - y  - y + 1)*y - 4*sqrt( - y  - y + 1)
4111
4112                  2                               2
4113     - sqrt( - 5*y  - 5*y + 1)*i*y - 3*sqrt( - 5*y  - 5*y + 1)*i
4114
4115                    2                             2                   2
4116     - 7*sqrt( - 5*y  - 5*y + 1)*y + 4*sqrt( - 5*y  - 5*y + 1) - 5*i*y  + 11*i*y
4117
4118                 2
4119     + 3*i - 10*y  + 2*y - 4) + log(
4120
4121                    2                     2                         2
4122     - 2*sqrt( - 5*y  - 5*y + 1)*sqrt( - y  - y + 1)*i - 5*sqrt( - y  - y + 1)*y
4123
4124                  2                         2
4125     - 4*sqrt( - y  - y + 1) + 3*sqrt( - 5*y  - 5*y + 1)*y
4126
4127                    2                   2
4128     + 4*sqrt( - 5*y  - 5*y + 1) - 5*i*y  - 6*i*y + 2*i)
4129
4130                   2                       2
4131  + 2*log(sqrt( - y  - y + 1) - sqrt( - 5*y  - 5*y + 1) - 4*i*y - 4*i)
4132
4133                 2                         2
4134  + log(sqrt( - y  - y + 1)*i - sqrt( - 5*y  - 5*y + 1)*i + 2*y) + 2*log(
4135
4136                 2                     2
4137    6*sqrt( - 5*y  - 5*y + 1)*sqrt( - y  - y + 1)*i
4138
4139                    2                     2
4140     + 8*sqrt( - 5*y  - 5*y + 1)*sqrt( - y  - y + 1)
4141
4142                   2                           2
4143     - 20*sqrt( - y  - y + 1)*i*y - 4*sqrt( - y  - y + 1)*i
4144
4145                   2                         2
4146     + 15*sqrt( - y  - y + 1)*y + 3*sqrt( - y  - y + 1)
4147
4148                     2                               2
4149     - 12*sqrt( - 5*y  - 5*y + 1)*i*y + 4*sqrt( - 5*y  - 5*y + 1)*i
4150
4151                    2                             2                    2
4152     + 9*sqrt( - 5*y  - 5*y + 1)*y - 3*sqrt( - 5*y  - 5*y + 1) - 10*i*y
4153
4154                           2
4155     - 22*i*y + 14*i - 30*y  + 4*y + 2) + 2*log(
4156
4157                 2                     2                        2
4158    6*sqrt( - 5*y  - 5*y + 1)*sqrt( - y  - y + 1) - 15*sqrt( - y  - y + 1)*i*y
4159
4160                  2                           2
4161     - 3*sqrt( - y  - y + 1)*i - 9*sqrt( - 5*y  - 5*y + 1)*i*y
4162
4163                    2                    2
4164     + 3*sqrt( - 5*y  - 5*y + 1)*i - 10*y  - 22*y + 14)
4165
4166                     2                         2
4167  + 9*log(3*sqrt( - y  - y + 1)*i + sqrt( - 5*y  - 5*y + 1)*i - 2*y - 4)
4168
4169  - 2*log(y - 1) - 9*log(y + 2) - 2*log(y + 1) - 3*log(y))/2
4170
4171
4172% This one has a simple result.
4173
4174testint(x*(sqrt(x**2-1)*x**2-4*sqrt(x**2-1)+sqrt(x**2-4)*x**2
4175      -sqrt(x**2-4))/((1+sqrt(x**2-4)+sqrt(x**2-1))*(x**4-5*x**2+4)),x);
4176
4177
4178          2              2
4179log(sqrt(x  - 4) + sqrt(x  - 1) + 1)
4180
4181
4182% This used to reveal bugs in the integrator which have been fixed.
4183% Since it takes a long time and doesn't have a closed form result,
4184% it has been commented out.
4185
4186% testint(sqrt(-4*sqrt(2)+9)*x-sqrt(x**4+2*x**2+4*x+1)*sqrt(2),x);
4187
4188
4189Comment here is an example of using the integrator with pattern
4190	matching;
4191
4192
4193for all m,n let int(k1**m*log(k1)**n/(p**2-k1**2),k1)=foo(m,n),
4194		int(k1*log(k1)**n/(p**2-k1**2),k1)=foo(1,n),
4195		int(k1**m*log(k1)/(p**2-k1**2),k1)=foo(m,1),
4196		int(k1*log(k1)/(p**2-k1**2),k1)=foo(1,1),
4197		int(log(k1)**n/(k1*(p**2-k1**2)),k1)=foo(-1,n);
4198
4199
4200
4201int(k1**2*log(k1)/(p**2-k1**2),k1);
4202
4203
4204*** foo declared operator
4205
4206foo(2,1)
4207
4208
4209COMMENT It is interesting to see how much of this one can be done;
4210
4211
4212let f1s= (12*log(s/mc**2)*s**2*pi**2*mc**3*(-8*s-12*mc**2+3*mc)
4213	+ pi**2*(12*s**4*mc+3*s**4+176*s**3*mc**3-24*s**3*mc**2
4214	-144*s**2*mc**5-48*s*mc**7+24*s*mc**6+4*mc**9-3*mc**8))
4215	 /(384*e**(s/y)*s**2);
4216
4217
4218
4219int(f1s,s);
4220
4221
4222   2        s/y      - s     9        s/y      - s     8
4223(pi *( - 4*e   *ei(------)*mc *s + 3*e   *ei(------)*mc *s
4224                     y                         y
4225
4226             s/y      - s     7           s/y      - s     6
4227       - 48*e   *ei(------)*mc *s*y + 24*e   *ei(------)*mc *s*y
4228                      y                            y
4229
4230              s/y      - s     5    2       s/y      - s     4    2
4231       - 144*e   *ei(------)*mc *s*y  + 36*e   *ei(------)*mc *s*y
4232                       y                             y
4233
4234             s/y      - s     3    3             s      5    2
4235       - 96*e   *ei(------)*mc *s*y  + 144*log(-----)*mc *s*y
4236                      y                           2
4237                                                mc
4238
4239                  s      4    2            s      3  2  2
4240       - 36*log(-----)*mc *s*y  + 96*log(-----)*mc *s *y
4241                   2                        2
4242                 mc                       mc
4243
4244                  s      3    3       9         8           5    2
4245       + 96*log(-----)*mc *s*y  - 4*mc *y + 3*mc *y + 144*mc *s*y
4246                   2
4247                 mc
4248
4249               3  2  2        3    3        2  2  2        2    3          3  2
4250       - 176*mc *s *y  - 80*mc *s*y  + 24*mc *s *y  + 24*mc *s*y  - 12*mc*s *y
4251
4252                2  3            4      3  2      2  3        4         s/y
4253       - 24*mc*s *y  - 24*mc*s*y  - 3*s *y  - 6*s *y  - 6*s*y ))/(384*e   *s*y)
4254
4255
4256factor ei,log;
4257
4258
4259
4260ws;
4261
4262
4263  s/y      - s     3   2
4264(e   *ei(------)*mc *pi *s
4265           y
4266
4267          6       5        4          3           2  2          2       3
4268 *( - 4*mc  + 3*mc  - 48*mc *y + 24*mc *y - 144*mc *y  + 36*mc*y  - 96*y )
4269
4270             s      3   2    2       2                         2           9
4271  + 12*log(-----)*mc *pi *s*y *(12*mc  - 3*mc + 8*s + 8*y) + pi *y*( - 4*mc
4272              2
4273            mc
4274
4275           8         5             3  2          3    2        2  2
4276     + 3*mc  + 144*mc *s*y - 176*mc *s *y - 80*mc *s*y  + 24*mc *s *y
4277
4278            2    2          3            2  2            3      3        2  2
4279     + 24*mc *s*y  - 12*mc*s *y - 24*mc*s *y  - 24*mc*s*y  - 3*s *y - 6*s *y
4280
4281            3         s/y
4282     - 6*s*y ))/(384*e   *s*y)
4283
4284
4285Comment the following integrals reveal deficiencies in the current
4286integrator;
4287
4288
4289%high degree denominator;
4290%testint(1/(2-log(x**2+1))**5,x);
4291
4292%this example should evaluate;
4293testint(sin(2*x)/cos(x),x);
4294
4295
4296     sin(2*x)
4297int(----------,x)
4298      cos(x)
4299
4300
4301%this example, which appeared in Tobey's thesis, needs factorization
4302%over algebraic fields. It currently gives an ugly answer and so has
4303%been suppressed;
4304
4305% testint((7*x**13+10*x**8+4*x**7-7*x**6-4*x**3-4*x**2+3*x+3)/
4306%         (x**14-2*x**8-2*x**7-2*x**4-4*x**3-x**2+2*x+1),x);
4307
4308symbolic summarize!-integral!-test();
4309
4310                *****     SUMMARY OF INTEGRAL TESTS     *****
4311
4312Number of integrals tested: 281
4313
4314
4315Number of incorrect integrals: 0
4316
4317Number of unevaluated integrals: 16
4318
4319Integrands of unevaluated integrals are:
4320
4321
4322log(log(log(log(x))))
4323
4324
4325      p
4326sin(x)
4327
4328
4329      4  3
4330tan(x) *x
4331
4332
4333      6  3
4334tan(x) *x
4335
4336
4337        xi
4338 cos(--------)*cos(x)*x
4339      sin(x)
4340------------------------
4341              2
4342        sin(x)
4343
4344
4345        x
4346       a *x
4347-------------------
4348  2  2
4349 b *x  + 2*b*x + 1
4350
4351
4352    x
4353   e
4354  e
4355 e
4356e
4357
4358
4359           1
4360------------------------
4361          4    2
4362 sqrt( - x  + x  - 1)*x
4363
4364
4365sqrt(sin(x) + 1)
4366
4367
4368sqrt( - sin(x) + 1)
4369
4370
4371sqrt(cos(x) + 1)
4372
4373
4374sqrt( - cos(x) + 1)
4375
4376
4377         3
4378 log(x)*x  + log(x)
4379--------------------
4380        4
4381       x  + 2
4382
4383
4384             2     5           2     4           2     3           2     2
4385( - 1)/(log(x  + 1)  - 10*log(x  + 1)  + 40*log(x  + 1)  - 80*log(x  + 1)
4386
4387                   2
4388         + 80*log(x  + 1) - 32)
4389
4390
4391erf(a + x)
4392
4393
4394 sin(2*x)
4395----------
4396  cos(x)
4397
4398
4399
4400end;
4401
4402Tested on x86_64-pc-windows CSL
4403Time (counter 1): 671 ms  plus GC time: 15 ms
4404
4405End of Lisp run after 0.67+0.07 seconds
4406real 1.00
4407user 0.01
4408sys 0.07
4409