1/*******************************************************************************
2
3  Test file for the Exponential Integrals
4
5  by Dieter Kaiser (2008)
6*******************************************************************************/
7
8kill(all);
9done;
10
11/* Define a test function for single values */
12
13closeto(e,tol):=block([numer:true,abse],abse:abs(e),if(abse<tol) then true else abse);
14closeto(e,tol):=block([numer:true,abse],abse:abs(e),if(abse<tol) then true else abse);
15
16(test_value(actual, ref, digits) := closeto(realpart(actual)-realpart(ref), 10^(-digits)) and closeto(imagpart(actual)-imagpart(ref), 10^(-digits)), done);
17done;
18
19/*******************************************************************************
20 At first we check the special values of the Exponential Integrals
21*******************************************************************************/
22
23errcatch(expintegral_e(0,0));
24[];
25errcatch(expintegral_e(0,0.0));
26[];
27errcatch(expintegral_e(0,0.0b0));
28[];
29
30errcatch(expintegral_ei(0));
31[];
32errcatch(expintegral_ei(0.0));
33[];
34errcatch(expintegral_ei(0.0b0));
35[];
36
37expintegral_li(0);
380;
39expintegral_li(0.0);
400.0;
41expintegral_li(0.0b0);
420.0b0;
43
44errcatch(expintegral_li(1));
45[];
46errcatch(expintegral_li(1.0));
47[];
48errcatch(expintegral_li(1.0b0));
49[];
50
51expintegral_si(0);
520;
53expintegral_si(0.0);
540.0;
55expintegral_si(0.0b0);
560.0b0;
57
58expintegral_shi(0);
590;
60expintegral_shi(0.0);
610.0;
62expintegral_shi(0.0b0);
630.0b0;
64
65errcatch(expintegral_ci(0));
66[];
67errcatch(expintegral_ci(0.0));
68[];
69errcatch(expintegral_ci(0.0b0));
70[];
71
72errcatch(expintegral_chi(0));
73[];
74errcatch(expintegral_chi(0.0));
75[];
76errcatch(expintegral_chi(0.0b0));
77[];
78
79/*******************************************************************************
80   Simplifications for the Exponential Integrals
81*******************************************************************************/
82
83expintegral_e(-1,z);
84%e^(-z)*(z+1)/z^2;
85
86expintegral_e(-1,10);
8711*%e^-10/100;
88
89expintegral_e(-1,10+%i);
90(%i+11)*%e^(-%i-10)/(%i+10)^2;
91
92expintegral_e(0,z);
93%e^(-z)/z;
94
95expintegral_e(0,10);
96%e^-10/10;
97
98expintegral_e(0,10+%i);
99%e^(-10-%i)/(10+%i);
100
101/* The case Ev(0) simplifies to 1/(v-1) only for Re(v)>1  */
102
103(assume(v>1), expintegral_e(v,0));
1041/(v-1);
105
106expintegral_e(3/2+%i,0);
1071/(%i+1/2);
108
109errcatch(expintegral_e(1/2+%i,0));
110[];
111
112/* We don't simplify for infinities as an argument */
113
114expintegral_e(-1,inf);
115expintegral_e(-1,inf);
116
117expintegral_e(v,infinity);
118expintegral_e(v,infinity);
119
120expintegral_e(minf,z);
121expintegral_e(minf,z);
122
123/* Realpart and imagpart for expintegral_e */
124
125(assume(x_pos>0),done);
126done;
127
128/* a positive real value */
129realpart(expintegral_e(v,x_pos));
130expintegral_e(v,x_pos);
131imagpart(expintegral_e(v,x_pos));
1320;
133
134/* a complex value */
135realpart(expintegral_e(v,1+%i));
1361/2*(expintegral_e(v,1-%i)+expintegral_e(v,1+%i));
137imagpart(expintegral_e(v,1+%i));
1381/2*%i*(expintegral_e(v,1-%i)-expintegral_e(v,1+%i));
139
140/* Realpart and imagpart for expintegral_ei */
141
142/* a real value */
143realpart(expintegral_ei(x));
144expintegral_ei(x);
145imagpart(expintegral_ei(x));
1460;
147
148/* a complex value */
149realpart(expintegral_ei(1+%i));
1501/2*(expintegral_ei(1-%i)+expintegral_ei(1+%i));
151imagpart(expintegral_ei(1+%i));
1521/2*%i*(expintegral_ei(1-%i)-expintegral_ei(1+%i));
153
154/* Realpart and imagpart for expintegral_si
155   expintegral_si has in addition reflection symmetry and
156   for a pure imaginary argument the result is pure imaginary */
157
158/* a real value */
159realpart(expintegral_si(x));
160expintegral_si(x);
161imagpart(expintegral_si(x));
1620;
163
164/* an imaginary value */
165realpart(expintegral_si(%i));
1660;
167imagpart(expintegral_si(%i));
168-%i*expintegral_si(%i);
169
170/* a complex value */
171realpart(expintegral_si(1+%i));
1721/2*(expintegral_si(1-%i)+expintegral_si(1+%i));
173imagpart(expintegral_si(1+%i));
1741/2*%i*(expintegral_si(1-%i)-expintegral_si(1+%i));
175
176/* Limits of expintegral_si */
177
178limit(expintegral_si(x),x,inf);
179%pi/2;
180
181limit(expintegral_si(x),x,minf);
182-%pi/2;
183
184/* Limits of expintegral_shi */
185
186limit(expintegral_shi(x),x,inf);
187inf;
188
189limit(expintegral_shi(x),x,minf);
190minf;
191
192/* Limits of expintegral_chi */
193
194limit(expintegral_chi(x),x,inf);
195inf;
196
197limit(expintegral_chi(x),x,minf);
198inf;
199
200/*******************************************************************************
201   For a negative integer parameter we expand in a series
202*******************************************************************************/
203
204expintegral_e(-5,z);
205120*(z^5/120+z^4/24+z^3/6+z^2/2+z+1)*%e^-z/z^6;
206
207/*******************************************************************************
208   For a half integral parameter we can expand in terms of the
209   Erfc or Erf function using the flag expintexpand.
210*******************************************************************************/
211
212expintexpand:true;
213true;
214
215expintegral_e(1/2,z);
216sqrt(%pi)/sqrt(z)*erfc(sqrt(z));
217
218expintegral_e(-1/2,z);
219sqrt(%pi)/(2*z^(3/2))*erfc(sqrt(z))+%e^(-z)/z;
220
221/* Expansion in terms of Erf for z = 1/2
222   We test the Expansion against a pure numerical evaluation.
223   The expansion works for complex argument too.
224   Attention: We have no support for Complex arguments of the Erf function. */
225
226expintexpand:erf;
227erf;
228
229expintegral_e(5/2,1/2);
2302*sqrt(%pi)*(1-erf(1/sqrt(2)))/(3*sqrt(2));
231
232/* We test the expansion against a pure numerical evaluation */
233test_value(%,expintegral_e(2.5,0.5),15),numer;
234true;
235
236expintegral_e(-5/2,1/2);
237/*
2388*sqrt(2)*(15*sqrt(%pi)*(1-erf(1/sqrt(2)))/8+21/(4*sqrt(2)*sqrt(%e)));
239*/
240
2412^(7/2)*(15*sqrt(%pi)*(1-erf(1/sqrt(2)))/8+(5/sqrt(2)+1/2^(5/2))/sqrt(%e));
242
243test_value(%,expintegral_e(-2.5,0.5),13),numer;
244true;
245
246/*******************************************************************************
247   For a parameter which is a positive integer we can expand
248   the function in terms of the Exponential Integral Ei.
249*******************************************************************************/
250
251expintegral_e(3,z);
252-z^2*(log(z)+(log(-1/z)-log(-z))/2+expintegral_ei(-z))/2-(z/2-1/2)*%e^-z;
253
254/* We compare this with numerical values */
255
256ratsimp(expintegral_e(3,1/2));
257(sqrt(%e)*(2*log(2)+log(-1/2)-2*expintegral_ei(-1/2)-log(-2))+4)/(16*sqrt(%e));
258
259test_value(%,expintegral_e(3,0.5),15),numer;
260true;
261
262(expand:expintegral_e(10,1/2),done);
263done;
264
265test_value(expand,expintegral_e(10,0.5),15),numer;
266true;
267
268(expand:expintegral_e(100,1/2),done);
269done;
270
271test_value(expand,expintegral_e(100,0.5),15),numer;
272true;
273
274expintexpand:false;
275false;
276
277/*******************************************************************************
278   Do tests for additional float evaluation
279*******************************************************************************/
280
281test_value(
282  expintegral_e(1,-1.700598-0.612828*%i),
283  1.229787425764198*%i-3.675726471068782,15);
284true;
285
286test_value(
287  expintegral_e(1,-1.5-%i*18.0),
288  0.181696882955049 + 0.16898654452488*%i,15);
289true;
290
291test_value(
292  expintegral_e(1,-1.5-%i*180.0),
293  .01998793885396577-.01484463667769751*%i,15);
294true;
295
296test_value(
297  expintegral_e(1,-15.0-%i*50.0),
298  62936.65453487506*%i-462.2396897671588,10);
299true;
300
301test_value(
302  expintegral_e(1,-15.0-%i*180.0),
303  15302.16784585461-9678.322938932864*%i,10);
304true;
305
306test_value(
307  expintegral_e(1,-150.0-%i*540.0),
308  2.479041623323267e+62*%i+2.105063890337474e+61,13-62);
309true;
310
311test_value(
312  expintegral_e(1,1.5+%i*18),
313  .01021327940204757-.006754558125326895*%i,15);
314true;
315
316test_value(
317  expintegral_e(1,15.0+%i*180.0),
318  1.129118870333903e-9*%i+1.261123517801268e-9,15);
319true;
320
321test_value(
322  expintegral_e(1,150.0+%i*540.0),
323  7.503677061484707e-69-1.036533879419174e-68*%i,15-69);
324true;
325
326
327
328
329
330/*******************************************************************************
331   Do tests for Bigfloat evaluation (values from functions.wolfram.com)
332*******************************************************************************/
333
334/* Remember actual fpprec */
335(oldfpprec:fpprec, fpprec:64, done);
336done;
337
338test_value(
339  expintegral_e(1,0.25b0),
340  1.044282634443738194536438161232282251891528374744802718635140468b0,
341  63);
342true;
343
344test_value(
345  expintegral_e(1,0.50b0),
346  0.5597735947761608117467959393150852352268468903163535152482932191b0,
347  63);
348true;
349
350test_value(
351  expintegral_e(1,1.50b0),
352  0.1000195824066326519019093399116669782617300061403505850505670604b0,
353  63);
354true;
355
356test_value(
357  expintegral_e(1,2.50b0),
358  0.02491491787026973549562801227460963594584838471142737701193454450b0,
359  64);
360true;
361
362test_value(
363  expintegral_e(1,0.5b0+%i),
364  - 0.0713947110424527235558849799368449390033695834555289289265924760b0 +
365  - 0.3574937736521626512548586934573247791553769710980144511429423771b0*%i,
366  62);
367true;
368
369test_value(
370  expintegral_ei(-0.5b0),
371  -0.5597735947761608117467959393150852352268468903163535152482932191b0,
372  63);
373true;
374
375test_value(
376  expintegral_ei(0.5b0),
377  0.4542199048631735799205238126628023652814055543526420451628177867b0,
378  63);
379true;
380
381test_value(
382  expintegral_ei(1.5b0),
383  3.301285449129797837957411316134742787656606985453422100762913970b0,
384  63);
385true;
386
387test_value(
388  expintegral_ei(1.5b0+%i),
389  2.799671509755731161198928033788660326920401659332834224954077897b0 +
390  2.737079221508684508327603325281307039723914975958035767630503279b0*%i,
391  63);
392true;
393
394test_value(
395  expintegral_li(-0.5b0),
396  0.058454819131659372625658464865614145649609292000300491927658936b0 +
397  3.265670174417890088883763125722547571780846521093778812746639381b0*%i,
398  63);
399true;
400
401test_value(
402  expintegral_li(0.5b0),
403  -0.3786710430610879767272071846365609805512340409782139969444209417b0,
404  63);
405true;
406
407test_value(
408  expintegral_li(1.5b0),
409  0.1250649863152963559943500047955129365420883239309922910956161087b0,
410  63);
411true;
412
413test_value(
414  expintegral_li(1.5b0+%i),
415  0.955549209862142878221358892328220253212569406502554250070344843b0 +
416  1.567751569664112401647194996566519972267813732803503976674771406b0*%i,
417  62);
418true;
419
420test_value(
421  expintegral_si(-0.5b0),
422  -0.4931074180430666891616267075727646536413371384287211316602426140b0,
423  63);
424true;
425
426test_value(
427  expintegral_si(0.5b0),
428  0.4931074180430666891616267075727646536413371384287211316602426140b0,
429  63);
430true;
431
432test_value(
433  expintegral_si(1.5b0),
434  1.324683531172119680370472846875214042814140454625112248480722201b0,
435  62.3b0);
436true;
437
438test_value(
439  expintegral_si(1.5b0+%i),
440  1.5324237219775529809013400344036774093828247429181012177841253510b0 +
441  0.6883092845662321107998443833405013522538814097236134325126725862b0*%i,
442  63);
443true;
444
445test_value(
446  expintegral_ci(-0.5b0),
447  -0.177784078806612901335810271070569078090519474812621968666825358b0 +
448  3.141592653589793238462643383279502884197169399375105820974944592b0*%i,
449  63);
450true;
451
452test_value(
453  expintegral_ci(0.5b0),
454   -0.1777840788066129013358102710705690780905194748126219686668253576b0,
455  63);
456true;
457
458test_value(
459  expintegral_ci(1.5b0),
460  0.4703563171953998866750821522365605516152327005730752953941674282b0,
461  62.2b0);
462true;
463
464test_value(
465  expintegral_ci(1.5b0+%i),
466  0.7839176551092182755417770543442248219437012644680041434724902541b0 -
467  0.0812194103150585766889706525256841552731980806778019973545925276b0*%i,
468  63);
469true;
470
471test_value(
472  expintegral_shi(-0.5b0),
473  -0.5069967498196671958336598759889438002541262223344977802055555029b0,
474  63);
475true;
476
477test_value(
478  expintegral_shi(0.5b0),
479  0.5069967498196671958336598759889438002541262223344977802055555029b0,
480  63);
481true;
482
483test_value(
484  expintegral_shi(1.5b0),
485  1.700652515768215244929660328023204882959168495796886342906740515b0,
486  63);
487true;
488
489test_value(
490  expintegral_shi(1.5b0+%i),
491  1.405456250564077987167827011345745730833834776665624179949753110b0 +
492  1.324296049597592107364382165946694647067190542728881672301521998b0*%i,
493  63);
494true;
495
496test_value(
497  expintegral_chi(-0.5b0),
498  -0.052776844956493615913136063326141434972720667981855735042737716b0 +
499  3.141592653589793238462643383279502884197169399375105820974944592b0*%i,
500  63);
501true;
502
503test_value(
504  expintegral_chi(0.5b0),
505  -0.05277684495649361591313606332614143497272066798185573504273771621b0,
506  63);
507true;
508
509test_value(
510  expintegral_chi(1.5b0),
511  1.600632933361582593027750988111537904697438489656535757856173455b0,
512  63);
513true;
514
515test_value(
516  expintegral_chi(1.5b0+%i),
517  1.394215259191653174031101022442914596086566882667210045004324787b0 +
518  1.412783171911092400963221159334612392656724433229154095328981281b0*%i,
519  63);
520true;
521
522
523/* restore fpprec */
524(fpprec:oldfpprec, done);
525done;
526
527/*******************************************************************************
528   Do tests for additional big float evaluation
529*******************************************************************************/
530
531/* Remember actual fpprec */
532(oldfpprec:fpprec, fpprec:64, done);
533done;
534
535test_value(
536  expintegral_e(1,-1.5B0-%i*18.0B0),
537  1.689865445248795461022355866185975300284302677290211138169639712b-1*%i
538 +1.816968829550486868009237590887639256845378383882275967782801257b-1,63);
539true;
540
541test_value(
542  expintegral_e(1,-15.0B0-%i*50.0B0),
543  6.293665453487508854049428479450922789578087068032898765875144175b4*%i
544 -4.62239689767167158016168999268727094583699040537958778438547305b2,59);
545true;
546
547test_value(
548  expintegral_e(1,-1.5B0-%i*180.0B0),
549  1.998793885396577954161433015440646790143523658773070463290940391b-2
550 -1.48446366776975235341069111717359420933661819609933627048078479b-2*%i,64);
551true;
552
553test_value(
554  expintegral_e(1,-15.0B0-%i*180.0B0),
555  1.530216784585460659290957316900806622008438558612666623998533076b4
556 -9.678322938932862392009065659301165442754946683378713459319981218b3*%i,59);
557true;
558
559test_value(
560  expintegral_e(1,-150.0B0-%i*540.0B0),
561  2.47904162332326778788226522449358779416653162097669293288256403b62*%i
562 +2.105063890337477483794346786409993155624883726578689067616685218b61,1);
563true;
564
565test_value(
566  expintegral_e(1,1.5B0+%i*18.0B0),
567  1.021327940204755864240745590773899499558121729025330486880547885b-2
568 -6.754558125326884112691473105665013998699325818242672495399974279b-3*%i,65);
569true;
570
571test_value(
572  expintegral_e(1,15.0B0+%i*180.0B0),
573  1.129118870333903101943908390287222351537018836722867882019975027b-9*%i
574 +1.261123517801267593713906360450736314138456246082714062225342743b-9,72);
575true;
576
577test_value(
578  expintegral_e(1,150.0B0+%i*540.0B0),
579  7.50367706148470796758191535417179842322266910293477644515984948b-69
580 -1.03653387941917390868865781356557208741441722016128718318801276b-68*%i,-64-69);
581true;
582
583
584/* restore fpprec */
585(fpprec:oldfpprec, done);
586done;
587
588/*******************************************************************************
589   Do tests for a parameter not an positive integer (double float arithmetic)
590*******************************************************************************/
591
592test_value(
593  expintegral_e(0.5,0.5),
594  0.7953794908467029,
595  15);
596true;
597
598/* functions.wolfram.com get a small imaginary part.
599   Our algorithm gives a pure real result. That's correct. */
600
601test_value(
602  expintegral_e(1.5,0.5),
603  0.4176818285785640 + 0.10d-16*%i,
604  15);
605true;
606
607test_value(
608  expintegral_e(1.5,1.5),
609  0.08475846798926254 + 0.10d-17*%i,
610  15);
611true;
612
613/* The algorithm works for an Complex parameter (not Bigfloat) too */
614
615test_value(
616  expintegral_e(-0.25+%i,0.5),
617  0.7029675553348383 - 1.0854583859408265*%i,
618  15);
619true;
620
621test_value(
622  expintegral_e(0.5+%i,0.5),
623  0.5037890474837921 - 0.4713445822591324*%i,
624  15);
625true;
626
627test_value(
628  expintegral_e(0.5+%i,1.5),
629  0.10617497621984483 - 0.04370294969886679*%i,
630  15);
631true;
632
633/* For a negative integer as parameter the function will be expanded in a
634   finite series. We compare this result with the direct numerically
635   evaluation of the function. */
636
637test_value(expintegral_e(-3,0.5)-expintegral_e(-3.0,0.5),0.0,13);
638true;
639
640/*******************************************************************************
641   Do tests for a parameter not an integer (Bigfloat arithmetic)
642*******************************************************************************/
643
644/* Remember actual fpprec */
645(oldfpprec:fpprec, fpprec:64, done);
646done;
647
648test_value(
649  expintegral_e(0.5,0.5b0),
650  0.7953794908467028960691560442509551305541581704269437959894550131b0,
651  61);
652true;
653
654/* functions.wolfram.com get a small imaginary part.
655   Our algorithm gives a pure real result. That's correct. */
656
657test_value(
658  expintegral_e(1.5,0.5b0),
659  0.4176818285785639511384430257314057763296781005474301153763293043b0 +
660  0.10b-64*%i,
661  62);
662true;
663
664test_value(
665  expintegral_e(1.5,1.5b0),
666  0.08475846798926253566550159750486026149596073485977905694436004042b0 +
667  0.10b-65*%i,
668  63);
669true;
670
671/* restore fpprec */
672(fpprec:oldfpprec, done);
673done;
674
675/*******************************************************************************
676   We check the transformation to another representation
677*******************************************************************************/
678
679/* to prevent the simplification of 1/2*(log(z)-log(1/z))=0 which is wrong
680   for z a negative and real value we switch of logexpand */
681
682(oldlogexpand:logexpand, logexpand:false);
683false;
684
685expintrep:gamma_incomplete;
686gamma_incomplete;
687
688expintegral_e(n,z);
689gamma_incomplete(1-n,z)*z^(n-1);
690
691expintegral_e(n,z);
692z^(n-1)*gamma_incomplete(1-n,z);
693
694expintegral_e1(z);
695gamma_incomplete(0,z);
696
697expintegral_ei(z);
698(log(z)-log(1/z))/2-log(-z)-gamma_incomplete(0,-z);
699
700expintegral_li(z);
701(log(log(z))-log(1/log(z)))/2-log(-log(z))-gamma_incomplete(0,-log(z));
702
703expintegral_si(z);
704%i*(-log(%i*z)+log(-%i*z)-gamma_incomplete(0,%i*z)+gamma_incomplete(0,-%i*z))/2;
705
706expintegral_ci(z);
707log(z)-(log(%i*z)+log(-%i*z)+gamma_incomplete(0,%i*z)+gamma_incomplete(0,-%i*z))/2;
708
709expintegral_shi(z);
710(log(z)-log(-z)+gamma_incomplete(0,z)-gamma_incomplete(0,-z))/2;
711
712expintegral_chi(z);
713(-log(z)+log(-z)+gamma_incomplete(0,z)+gamma_incomplete(0,-z))/-2;
714
715expintrep:false;
716false;
717
718(logexpand:oldlogexpand,done);
719done;
720
721/* Do the functions have the appropriate symmetrie?
722
723   With the exception of exponential_ci we get for all tests a double float
724   zero or a Bigfloat zero. Because we use numercial evaluation this is not
725   natural and perhaps an effect only true with the GCL Compiler.
726   For the function expintegral_ci we get a small imaginary contribution which
727   is nearby zero.
728
729   Can this be verified by other Compilers?
730*/
731
732z:0.5+%i;
7330.5+%i;
734
735expintegral_e(1,z) - conjugate(expintegral_e(1,conjugate(z)));
7360.0;
737
738expintegral_e(2,z) - conjugate(expintegral_e(2,conjugate(z)));
7390.0;
740
741expintegral_e(5,z) - conjugate(expintegral_e(5,conjugate(z)));
7420.0;
743
744expintegral_e(10,z) - conjugate(expintegral_e(10,conjugate(z)));
7450.0;
746
747expintegral_e1(z) - conjugate(expintegral_e1(conjugate(z)));
7480.0;
749
750expintegral_ei(z) - conjugate(expintegral_ei(conjugate(z)));
7510.0;
752
753expintegral_li(z) - conjugate(expintegral_li(conjugate(z)));
7540.0;
755
756expintegral_si(z) - conjugate(expintegral_si(conjugate(z)));
7570.0;
758
759test_value(
760  expintegral_ci(z) - conjugate(expintegral_ci(conjugate(z))),
761  0.0,15);
762true;
763
764expintegral_shi(z) - conjugate(expintegral_shi(conjugate(z)));
7650.0;
766
767expintegral_chi(z) - conjugate(expintegral_chi(conjugate(z)));
7680.0;
769
770/* The same for Bigfloats */
771
772z:0.5b0+%i;
7730.5b0+%i;
774
775expintegral_e(1,z) - conjugate(expintegral_e(1,conjugate(z)));
7760.0b0;
777
778expintegral_e(2,z) - conjugate(expintegral_e(2,conjugate(z)));
7790.0b0;
780
781expintegral_e(5,z) - conjugate(expintegral_e(5,conjugate(z)));
7820.0b0;
783
784expintegral_e(10,z) - conjugate(expintegral_e(10,conjugate(z)));
7850.0b0;
786
787expintegral_e1(z) - conjugate(expintegral_e1(conjugate(z)));
7880.0b0;
789
790expintegral_ei(z) - conjugate(expintegral_ei(conjugate(z)));
7910.0b0;
792
793expintegral_li(z) - conjugate(expintegral_li(conjugate(z)));
7940.0b0;
795
796expintegral_si(z) - conjugate(expintegral_si(conjugate(z)));
7970.0b0;
798
799expintegral_ci(z) - conjugate(expintegral_ci(conjugate(z)));
8000.0b0;
801
802expintegral_shi(z) - conjugate(expintegral_shi(conjugate(z)));
8030.0b0;
804
805expintegral_chi(z) - conjugate(expintegral_chi(conjugate(z)));
8060.0b0;
807
808kill(z);
809done;
810
811/******************************************************************************
812
813   Define test functions to do the tests with the numerical data
814   of the tables of A&S.
815
816   This routine is based on the algorithm to test the Wronskians in the
817   file rtest14.mac which was implemented by Raymond Toy.
818
819******************************************************************************/
820
821(test_table(func,table,rows,eps) :=
822block([badpoints : [],
823       abserr    : 0,
824       maxerr    : -1,
825       numer     : true],
826  for i:1 thru rows step 1 do
827  (
828    z      : table[i,0],
829    result : rectform(func(z)),
830    answer : table[i,1],
831    abserr : abs(result-answer),
832    maxerr : max(maxerr,abserr),
833    if abserr > eps then
834    (
835      badpoints : cons ([z,result,answer,abserr],badpoints)
836    )
837  ),
838  if badpoints # [] then
839    cons(maxerr,badpoints)
840  else
841    badpoints
842),done);
843done;
844
845/* Test function for a table with Complex values */
846
847(test_complex_table(func,table,rows,eps) :=
848block([badpoints : [],
849       abserr    : 0,
850       maxerr    : -1,
851       numer     : true],
852  for i:1 thru rows step 1 do
853  (
854    z      : table[i,0]+%i*table[i,1],
855    result : rectform(func(z)),
856    answer : (table[i,2]+%i*table[i,3]),
857    abserr : abs(result-answer),
858    maxerr : max(maxerr,abserr),
859    if abserr > eps then
860    (
861      badpoints : cons ([z,result,answer,abserr],badpoints)
862    )
863  ),
864  if badpoints # [] then
865    cons(maxerr,badpoints)
866  else
867    badpoints
868),done);
869done;
870
871/*****************************************************************************/
872
873/* Values for E[-2](z), E[-3](z) and E[-4](z) */
874
875block(
876em2 : make_array(flonum,5,2),
877fillarray(em2,[
8780.0,0.0,               /* the first entry isn't tested */
8790.5,15.7697971525285,
8801.0,1.83939720585721
881]),done);
882done;
883
884block(
885em3 : make_array(flonum,5,2),
886fillarray(em3,[
8870.0,   0.0,               /* the first entry isn't tested */
8880.5,  95.8318442345961,
8891.0,  5.88607105874308
890]),done);
891done;
892
893block(
894em4 : make_array(flonum,5,2),
895fillarray(em4,[
8960.0,   0.0,               /* the first entry isn't tested */
8970.5, 767.8678151961939,
8981.0, 23.91216367614375
899]),done);
900done;
901
902/* Values for E2(z) from wolfram.functions.com */
903
904block(
905e2 : make_array(flonum,20,4),
906fillarray(e2,[
9070.0, 0.0,   0.0,                0.0,
9080.5, 0.0,   0.326643862324553,  0.0,
9091.0, 0.0,   0.148495506775922,  0.0,
9101.5, 0.0,   0.0731007865384809, 0.0,
911
912-1.5, 0.0, -0.47023910335663,   -4.71238898038469,
913-1.0, 0.0,  0.82316401210311,   -3.14159265358979,
914-0.5, 0.0,  1.42161131826854,   -1.57079632679490,
915
9160.5, 1.0,   0.005913495891524,  -0.260236353676039,
9171.0, 1.0,   0.0191599508550726, -0.1305169650657347,
9181.5, 1.0,   0.0152091306647864, -0.0662678635026173,
919
920-1.5, 1.0,  -2.18255375782701,  -1.57830995398609,
921-1.0, 1.0,  -1.04975484772724,  -1.27655210369426,
922-0.5, 1.0,  -0.386354424417090, -0.872308287488887
923]),done);
924done;
925
926/* Do the tests with the above test data */
927
928test_table(lambda([z],expintegral_e(-2,z)),'em2,2,3.5e-14);
929[];
930
931test_table(lambda([z],expintegral_e(-3,z)),'em3,2,2.9e-14);
932[];
933
934test_table(lambda([z],expintegral_e(-4,z)),'em4,2,1.0e-15);
935[];
936
937test_complex_table(lambda([z],expintegral_e(2,z)),'e2,12,3.9e-15);
938[];
939
940/*****************************************************************************
941   A&S Table 5.1 p. 238, values for Si(x)/x from 0.00 through 0.50
942******************************************************************************/
943
944block(
945si_1 : make_array(flonum,51,2),
946fillarray(si_1,[   /* We start the loop for the test with i=1. */
9470.00,1.0000000000, /* Therefore we don't do the the test for the first value */
9480.01,0.9999944444,
9490.02,0.9999777781,
9500.03,0.9999500014,
9510.04,0.9999111154,
9520.05,0.9998611215,
9530.06,0.9998000216,
9540.07,0.9997278178,
9550.08,0.9996445127,
9560.09,0.9995501094,
9570.10,0.9994446111,
9580.11,0.9993280218,
9590.12,0.9992003455,
9600.13,0.9990615870,
9610.14,0.9989117512,
9620.15,0.9987508435,
9630.16,0.9985788696,
9640.17,0.9983958357,
9650.18,0.9982017486,
9660.19,0.9979966151,
9670.20,0.9977804427,
9680.21,0.9975532390,
9690.22,0.9973150122,
9700.23,0.9970657709,
9710.24,0.9968055242,
9720.25,0.9965342813,
9730.26,0.9962520519,
9740.27,0.9959588464,
9750.28,0.9956546750,
9760.29,0.9953395489,
9770.30,0.9950134793,
9780.31,0.9946764779,
9790.32,0.9943285570,
9800.33,0.9939697288,
9810.34,0.9936000064,
9820.35,0.9932194028,
983
9840.36,0.9928279320,
9850.37,0.9924256078,
9860.38,0.9920124449,
9870.39,0.9915884579,
9880.40,0.9911536619,
9890.41,0.9907080728,
9900.42,0.9902517063,
9910.43,0.9897845790,
9920.44,0.9893067074,
9930.45,0.9888181089,
9940.46,0.9883188008,
9950.47,0.9878088010,
9960.48,0.9872881278,
9970.49,0.9867567998,
9980.50,0.9862148361
999]),done);
1000done;
1001
1002test_table(lambda([z],expintegral_si(z)/z),'si_1,50,1.25e-10);
1003[];
1004
1005/******************************************************************************
1006   A&S Table 5.1 p. 239-243, values for Si(x) from 0.50 through 10.0
1007******************************************************************************/
1008
1009block(
1010si_2 : make_array(flonum,231,2),
1011fillarray(si_2,[
1012
10130.50,0.4931074180,
10140.51,0.5026877506,
10150.52,0.5122515212,
10160.53,0.5217984228,
10170.54,0.5313281492,
10180.55,0.5408403951,
10190.56,0.5503348563,
10200.57,0.5598112298,
10210.58,0.5692692137,
10220.59,0.5787085069,
10230.60,0.5881288096,
10240.61,0.5975298233,
10250.62,0.6069112503,
10260.63,0.6162727944,
10270.64,0.6256141603,
10280.65,0.6349350541,
10290.66,0.6442351831,
10300.67,0.6535142557,
10310.68,0.6627719817,
10320.69,0.6720080721,
10330.70,0.6812222391,
10340.71,0.6904141965,
10350.72,0.6995836590,
10360.73,0.7087303430,
10370.74,0.7178539660,
10380.75,0.7269542472,
10390.76,0.7360309067,
10400.77,0.7450836664,
10410.78,0.7541122494,
10420.79,0.7631163804,
10430.80,0.7720957855,
10440.81,0.7810501921,
10450.82,0.7899793293,
10460.83,0.7988829277,
10470.84,0.8077607191,
10480.85,0.8166124372,
10490.86,0.8254378170,
10500.87,0.8342365953,
10510.88,0.8430085102,
10520.89,0.8517533016,
10530.90,0.8604707107,
10540.91,0.8691604808,
10550.92,0.8778223564,
10560.93,0.8864560839,
10570.94,0.8950614112,
10580.95,0.9036380880,
10590.96,0.9121858656,
10600.97,0.9207044970,
10610.98,0.9291937370,
10620.99,0.9376533420,
1063
10641.00,0.9460830704,
10651.01,0.9544826820,
10661.02,0.9628519387,
10671.03,0.9711906039,
10681.04,0.9794984431,
10691.05,0.9877752233,
10701.06,0.9960207135,
10711.07,1.0042346846,
10721.08,1.0124169091,
10731.09,1.0205671617,
10741.10,1.0286852187,
10751.11,1.0367708583,
10761.12,1.0448238608,
10771.13,1.0528440082,
10781.14,1.0608310845,
10791.15,1.0687848757,
10801.16,1.0767051696,
10811.17,1.0845917561,
10821.18,1.0924444270,
10831.19,1.1002629760,
10841.20,1.1080471990,
10851.21,1.1157968937,
10861.22,1.1235118599,
10871.23,1.1311918994,
10881.24,1.1388368160,
10891.25,1.1464464157,
10901.26,1.1540205063,
10911.27,1.1615588978,
10921.28,1.1690614023,
10931.29,1.1765278340,
10941.30,1.1839580091,
10951.31,1.1913517459,
10961.32,1.1987088649,
10971.33,1.2060291886,
10981.34,1.2133125418,
10991.35,1.2205587513,
11001.36,1.2277676460,
11011.37,1.2349390571,
11021.38,1.2420728180,
11031.39,1.2491687640,
11041.40,1.2562267328,
11051.41,1.2632465642,
11061.42,1.2702281004,
11071.43,1.2771711854,
11081.44,1.2840756658,
11091.45,1.2909413902,
11101.46,1.2977682094,
11111.47,1.3045559767,
11121.48,1.3113045473,
11131.49,1.3180137788,
1114
11151.50,1.3246835312,
11161.51,1.3313136664,
11171.52,1.3379040489,
11181.53,1.3444545453,
11191.54,1.3509650245,
11201.55,1.3574353577,
11211.56,1.3638654183,
11221.57,1.3702550823,
11231.58,1.3766042276,
11241.59,1.3829127345,
11251.60,1.3891804859,
11261.61,1.3954073666,
11271.62,1.4015932640,
11281.63,1.4077380678,
11291.64,1.4138416698,
11301.65,1.4199039644,
11311.66,1.4259248482,
11321.67,1.4319042202,
11331.68,1.4378419816,
11341.69,1.4437380361,
11351.70,1.4495922897,
11361.71,1.4554046507,
11371.72,1.4611750299,
11381.73,1.4669033404,
11391.74,1.4725894974,
11401.75,1.4782334189,
11411.76,1.4838350249,
11421.77,1.4893942379,
11431.78,1.4949109830,
11441.79,1.5003851872,
11451.80,1.5058167803,
11461.81,1.5112056942,
11471.82,1.5165518633,
11481.83,1.5218552243,
11491.84,1.5271157165,
11501.85,1.5323332813,
11511.86,1.5375078626,
11521.87,1.5426394066,
11531.88,1.5477278621,
11541.89,1.5527731800,
11551.90,1.5577753137,
11561.91,1.5627342192,
11571.92,1.5676498545,
11581.93,1.5725221801,
11591.94,1.5773511591,
11601.95,1.5821367567,
11611.96,1.5868789407,
11621.97,1.5915776810,
11631.98,1.5962329502,
11641.99,1.6008447231,
1165
11662.0,1.6054129768,
11672.1,1.6486986362,
11682.2,1.6876248272,
11692.3,1.7222074818,
11702.4,1.7524855008,
11712.5,1.7785201734,
11722.6,1.8003944505,
11732.7,1.8182120765,
11742.8,1.8320965891,
11752.9,1.8421901946,
11763.0,1.8486525280,
11773.1,1.8516593077,
11783.2,1.8514008970,
11793.3,1.8480807828,
11803.4,1.8419139833,
11813.5,1.8331253987,
11823.6,1.8219481156,
11833.7,1.8086216809,
11843.8,1.7933903548,
11853.9,1.7765013604,
11864.0,1.7582031389,
11874.1,1.7387436265,
11884.2,1.7183685637,
11894.3,1.6973198507,
11904.4,1.6758339594,
11914.5,1.6541404144,
11924.6,1.6324603525,
11934.7,1.6110051718,
11944.8,1.5899752782,
11954.9,1.5695589381,
11965.0,1.5499312449,
11975.1,1.5312532047,
11985.2,1.5136709468,
11995.3,1.4973150636,
12005.4,1.4823000826,
12015.5,1.4687240727,
12025.6,1.4566683847,
12035.7,1.4461975285,
12045.8,1.4373591823,
12055.9,1.4301843341,
12066.0,1.4246875513,
12076.1,1.4208673734,
12086.2,1.4187068241,
12096.3,1.4181740348,
12106.4,1.4192229740,
12116.5,1.4217942744,
12126.6,1.4258161486,
12136.7,1.4312053853,
12146.8,1.4378684161,
12156.9,1.4457024427,
1216
12177.0,1.4545966142,
12187.1,1.4644332441,
12197.2,1.4750890554,
12207.3,1.4864364451,
12217.4,1.4983447533,
12227.5,1.5106815309,
12237.6,1.5233137914,
12247.7,1.5361092381,
12257.8,1.5489374581,
12267.9,1.5616710702,
12278.0,1.5741868217,
12288.1,1.5863666225,
12298.2,1.5980985106,
12308.3,1.6092775419,
12318.4,1.6198065968,
12328.5,1.6295970994,
12338.6,1.6385696454,
12348.7,1.6466545309,
12358.8,1.6537921861,
12368.9,1.6599335052,
12379.0,1.6650400758,
12389.1,1.6690843056,
12399.2,1.6720494480,
12409.3,1.6739295283,
12419.4,1.6747291725,
12429.5,1.6744633423,
12439.6,1.6731569803,
12449.7,1.6708445697,
12459.8,1.6675696169,
12469.9,1.6633840566,
124710.,1.6583475942
1248]),done);
1249done;
1250
1251test_table(lambda([z],expintegral_si(z)),'si_2,230,1.95e-10);
1252[];
1253
1254/******************************************************************************
1255   A&S Table 5.1 p. 238, values for (Ci(x)-log(x)-%gamma)/x
1256                         from 0.00 through 0.50
1257******************************************************************************/
1258
1259block(
1260ci_1 : make_array(flonum,55,2),
1261fillarray(ci_1,[
12620.00,-0.2500000000,
12630.01,-0.2499989583,
12640.02,-0.2499958333,
12650.03,-0.2499906250,
12660.04,-0.2499833339,
12670.05,-0.2499739598,
12680.06,-0.2499625030,
12690.07,-0.2499489639,
12700.08,-0.2499333429,
12710.09,-0.2499156402,
12720.10,-0.2498958564,
12730.11,-0.2498739923,
12740.12,-0.2498500480,
12750.13,-0.2498240244,
12760.14,-0.2497959223,
12770.15,-0.2497657422,
12780.16,-0.2497334850,
12790.17,-0.2496991516,
12800.18,-0.2496627429,
12810.19,-0.2496242598,
12820.20,-0.2495837035,
12830.21,-0.2495410749,
12840.22,-0.2494963752,
12850.23,-0.2494496056,
12860.24,-0.2494007674,
12870.25,-0.2493498618,
12880.26,-0.2492968902,
12890.27,-0.2492418540,
12900.28,-0.2491847546,
12910.29,-0.2491255938,
12920.30,-0.2490643727,
12930.31,-0.2490010933,
12940.32,-0.2489357573,
12950.33,-0.2488683662,
12960.34,-0.2487989219,
12970.35,-0.2487274263,
12980.36,-0.2486538813,
12990.37,-0.2485782887,
13000.38,-0.2485006507,
13010.39,-0.2484209693,
13020.40,-0.2483392466,
13030.41,-0.2482554849,
13040.42,-0.2481696860,
13050.43,-0.2480818528,
13060.44,-0.2479919870,
13070.45,-0.2479000913,
13080.46,-0.2478061685,
13090.47,-0.2477102206,
13100.48,-0.2476122500,
13110.49,-0.2475122600,
13120.50,-0.2474102526]), done);
1313done;
1314
1315test_table(
1316  lambda([z],(expintegral_ci(z)-log(z)-%gamma)/z^2),'ci_1,50,1.95e-10);
1317[];
1318
1319/******************************************************************************
1320   A&S Table 5.1 p. 239-243, values for Ci(x) from 0.50 through 10.0
1321******************************************************************************/
1322
1323block(
1324ci_2 : make_array(flonum,235,2),
1325fillarray(ci_2,[
1326
13270.50,-0.1777840788,
13280.51,-0.1604532390,
13290.52,-0.1435537358,
13300.53,-0.1270707938,
13310.54,-0.1109904567,
13320.55,-0.0952995274,
13330.56,-0.0799855129,
13340.57,-0.0650365744,
13350.58,-0.0504414815,
13360.59,-0.0361895707,
13370.60,-0.0222707070,
13380.61,-0.0086752486,
13390.62,+0.0046059849,
13400.63,+0.0175817424,
13410.64,+0.0302603686,
13420.65,+0.0426498293,
13430.66,+0.0547577343,
13440.67,+0.0665913594,
13450.68,+0.0781576659,
13460.69,+0.0894633195,
13470.70,+0.1005147070,
13480.71,+0.1113179525,
13490.72,+0.1218789322,
13500.73,+0.1322032879,
13510.74,+0.1422964404,
13520.75,+0.1521636010,
13530.76,+0.1618097827,
13540.77,+0.1712398110,
13550.78,+0.1804583335,
13560.79,+0.1894698290,
13570.80,+0.1982786160,
13580.81,+0.2068888610,
13590.82,+0.2153045859,
13600.83,+0.2235296752,
13610.84,+0.2315678824,
13620.85,+0.2394228368,
13630.86,+0.2470980486,
13640.87,+0.2545969153,
13650.88,+0.2619227264,
13660.89,+0.2690786687,
13670.90,+0.2760678305,
13680.91,+0.2828932065,
13690.92,+0.2895577018,
13700.93,+0.2960641358,
13710.94,+0.3024152458,
13720.95,+0.3086136908,
13730.96,+0.3146620547,
13740.97,+0.3205628495,
13750.98,+0.3263185183,
13760.99,+0.3319314382,
1377
13781.00,0.3374039229,
13791.01,0.3427382254,
13801.02,0.3479365405,
13811.03,0.3530010067,
13821.04,0.3579337091,
13831.05,0.3627366810,
13841.06,0.3674119060,
13851.07,0.3719613201,
13861.08,0.3763868132,
13871.09,0.3806902312,
13881.10,0.3848733774,
13891.11,0.3889380142,
13901.12,0.3928858645,
13911.13,0.3967186134,
13921.14,0.4004379090,
13931.15,0.4040453647,
13941.16,0.4075425593,
13951.17,0.4109310390,
13961.18,0.4142123185,
13971.19,0.4173878816,
13981.20,0.4204591829,
13991.21,0.4234276482,
14001.22,0.4262946760,
14011.23,0.4290616379,
14021.24,0.4317298802,
14031.25,0.4343007240,
14041.26,0.4367754665,
14051.27,0.4391553815,
14061.28,0.4414417205,
14071.29,0.4436357130,
14081.30,0.4457385675,
14091.31,0.4477514723,
14101.32,0.4496755955,
14111.33,0.4515120863,
14121.34,0.4532620753,
14131.35,0.4549266752,
14141.36,0.4565069811,
14151.37,0.4580040711,
14161.38,0.4594190071,
14171.39,0.4607528349,
14181.40,0.4620065851,
14191.41,0.4631812730,
14201.42,0.4642778995,
14211.43,0.4652974513,
14221.44,0.4662409014,
14231.45,0.4671092094,
14241.46,0.4679033219,
14251.47,0.4686241732,
14261.48,0.4692726848,
14271.49,0.4698497667,
1428
14291.50,0.4703563172,
14301.51,0.4707932232,
14311.52,0.4711613608,
14321.53,0.4714615952,
14331.54,0.4716947815,
14341.55,0.4718617642,
14351.56,0.4719633785,
14361.57,0.4720004495,
14371.58,0.4719737932,
14381.59,0.4718842164,
14391.60,0.4717325169,
14401.61,0.4715194840,
14411.62,0.4712458984,
14421.63,0.4709125325,
14431.64,0.4705201507,
14441.65,0.4700695096,
14451.66,0.4695613580,
14461.67,0.4689964372,
14471.68,0.4683754812,
14481.69,0.4676992169,
14491.70,0.4669683642,
14501.71,0.4661836359,
14511.72,0.4653457385,
14521.73,0.4644553716,
14531.74,0.4635132286,
14541.75,0.4625199967,
14551.76,0.4614763568,
14561.77,0.4603829839,
14571.78,0.4592405471,
14581.79,0.4580497097,
14591.80,0.4568111294,
14601.81,0.4555254585,
14611.82,0.4541933436,
14621.83,0.4528154262,
14631.84,0.4513923427,
14641.85,0.4499247241,
14651.86,0.4484131966,
14661.87,0.4468583813,
14671.88,0.4452608948,
14681.89,0.4436213486,
14691.90,0.4419403497,
14701.91,0.4402185005,
14711.92,0.4384563991,
14721.93,0.4366546388,
14731.94,0.4348138088,
14741.95,0.4329344941,
14751.96,0.4310172752,
14761.97,0.4290627288,
14771.98,0.4270714273,
14781.99,0.4250439391,
1479
14802.0,+0.4229808288,
14812.1,+0.4005119878,
14822.2,+0.3750745990,
14832.3,+0.3471756175,
14842.4,+0.3172916174,
14852.5,+0.2858711964,
14862.6,+0.2533366161,
14872.7,+0.2200848786,
14882.8,+0.1864883896,
14892.9,+0.1528953242,
14903.0,+0.1196297860,
14913.1,+0.0869918312,
14923.2,+0.0552574117,
14933.3,+0.0246782846,
14943.4,-0.0045180779,
14953.5,-0.0321285485,
14963.6,-0.0579743519,
14973.7,-0.0819010013,
14983.8,-0.1037781504,
14993.9,-0.1234993492,
15004.0,-0.1409816979,
15014.1,-0.1561653918,
15024.2,-0.1690131568,
15034.3,-0.1795095725,
15044.4,-0.1876602868,
15054.5,-0.1934911221,
15064.6,-0.1970470797,
15074.7,-0.1983912468,
15084.8,-0.1976036133,
15094.9,-0.1947798060,
15105.0,-0.1900297497,
15115.1,-0.1834762632,
15125.2,-0.1752536023,
15135.3,-0.1655059586,
15145.4,-0.1543859262,
15155.5,-0.1420529476,
15165.6,-0.1286717494,
15175.7,-0.1144107808,
15185.8,-0.0994406647,
15195.9,-0.0839326741,
15206.0,-0.0680572439,
15216.1,-0.0519825290,
15226.2,-0.0358730193,
15236.3,-0.0198882206,
15246.4,-0.0041814110,
15256.5,+0.0111015195,
15266.6,+0.0258231381,
15276.7,+0.0398554400,
15286.8,+0.0530807167,
15296.9,+0.0653923140,
1530
15317.0,+0.0766952785,
15327.1,+0.0869068881,
15337.2,+0.0959570643,
15347.3,+0.1037886664,
15357.4,+0.1103576658,
15367.5,+0.1156332032,
15377.6,+0.1195975293,
15387.7,+0.1222458319,
15397.8,+0.1235859542,
15407.9,+0.1236380071,
15418.0,+0.1224338825,
15428.1,+0.1200166733,
15438.2,+0.1164400055,
15448.3,+0.1117672931,
15458.4,+0.1060709196,
15468.5,+0.0994313586,
15478.6,+0.0919362396,
15488.7,+0.0836793696,
15498.8,+0.0747597196,
15508.9,+0.0652803850,
15519.0,+0.0553475313,
15529.1,+0.0450693325,
15539.2,+0.0345549134,
15549.3,+0.0239133045,
15559.4,+0.0132524187,
15569.5,+0.0026780588,
15579.6,-0.0077070361,
15589.7,-0.0178040977,
15599.8,-0.0275191811,
15609.9,-0.0367639563,
156110.,-0.0454564330
1562]),done);
1563done;
1564
1565test_table(lambda([z],expintegral_ci(z)),'ci_2,230,3.2e-8);
1566[];
1567
1568/******************************************************************************
1569   A&S Table 5.1 p. 238, values for (Ei(x)-log(x)-%gamma)/x
1570                         from 0.00 through 0.50
1571******************************************************************************/
1572
1573block(
1574ei_1 : make_array(flonum,200,2),
1575fillarray(ei_1,[
15760.00,1.000000000,
15770.01,1.002505566,
15780.02,1.005022306,
15790.03,1.007550283,
15800.04,1.010089560,
15810.05,1.012640202,
15820.06,1.015202272,
15830.07,1.017775836,
15840.08,1.020360958,
15850.09,1.022957705,
15860.10,1.025566141,
15870.11,1.028186335,
15880.12,1.030818352,
15890.13,1.033462259,
15900.14,1.036118125,
15910.15,1.038786018,
15920.16,1.041466006,
15930.17,1.044158158,
15940.18,1.046862544,
15950.19,1.049579234,
15960.20,1.052308298,
15970.21,1.055049807,
15980.22,1.057803833,
15990.23,1.060570446,
16000.24,1.063349719,
16010.25,1.066141726,
16020.26,1.068946539,
16030.27,1.071764232,
16040.28,1.074594879,
16050.29,1.077438555,
16060.30,1.080295334,
16070.31,1.083165293,
16080.32,1.086048507,
16090.33,1.088945053,
16100.34,1.091855008,
16110.35,1.094778451,
16120.36,1.097715458,
16130.37,1.100666108,
16140.38,1.103630481,
16150.39,1.106608656,
16160.40,1.109600714,
16170.41,1.112606735,
16180.42,1.115626800,
16190.43,1.118660991,
16200.44,1.121709391,
16210.45,1.124772082,
16220.46,1.127849147,
16230.47,1.130940671,
16240.48,1.134046738,
16250.49,1.137167432,
16260.50,1.140302841]),done);
1627done;
1628
1629test_table(lambda([z],(expintegral_ei(z)-log(z)-%gamma)/z),'ei_1,50,5.90e-10);
1630[];
1631
1632/******************************************************************************
1633   A&S Table 5.1 p. 239-241, values for Ei(x) from 0.50 through 2.00
1634******************************************************************************/
1635
1636block(
1637ei_2 : make_array(flonum,235,2),
1638fillarray(ei_2,[
1639
16400.50,0.454219905,
16410.51,0.487032167,
16420.52,0.519530633,
16430.53,0.551730445,
16440.54,0.583645931,
16450.55,0.615290657,
16460.56,0.646677490,
16470.57,0.677818642,
16480.58,0.708725720,
16490.59,0.739409764,
16500.60,0.769881290,
16510.61,0.800150320,
16520.62,0.830226417,
16530.63,0.860118716,
16540.64,0.889835949,
16550.65,0.919386468,
16560.66,0.948778277,
16570.67,0.978019042,
16580.68,1.007116121,
16590.69,1.036076576,
16600.70,1.064907195,
16610.71,1.093614501,
16620.72,1.122204777,
16630.73,1.150684069,
16640.74,1.179058208,
16650.75,1.207332816,
16660.76,1.235513319,
16670.77,1.263604960,
16680.78,1.291612805,
16690.79,1.319541753,
16700.80,1.347396548,
16710.81,1.375181783,
16720.82,1.402901910,
16730.83,1.430561245,
16740.84,1.458163978,
16750.85,1.485714176,
16760.86,1.513215791,
16770.87,1.540672664,
16780.88,1.568088534,
16790.89,1.595467036,
16800.90,1.622811714,
16810.91,1.650126019,
16820.92,1.677413317,
16830.93,1.704676891,
16840.94,1.731919946,
16850.95,1.759145612,
16860.96,1.786356947,
16870.97,1.813556941,
16880.98,1.840748519,
16890.99,1.867934543,
1690
16911.00,1.895117816,
16921.01,1.922301085,
16931.02,1.949487042,
16941.03,1.976678325,
16951.04,2.003877525,
16961.05,2.031087184,
16971.06,2.058309800,
16981.07,2.085547825,
16991.08,2.112803672,
17001.09,2.140079712,
17011.10,2.167378280,
17021.11,2.194701672,
17031.12,2.222052152,
17041.13,2.249431949,
17051.14,2.276843260,
17061.15,2.304288252,
17071.16,2.331769062,
17081.17,2.359287800,
17091.18,2.386846549,
17101.19,2.414447367,
17111.20,2.442092285,
17121.21,2.469783315,
17131.22,2.497522442,
17141.23,2.525311634,
17151.24,2.553152836,
17161.25,2.581047974,
17171.26,2.608998956,
17181.27,2.637007673,
17191.28,2.665075997,
17201.29,2.693205785,
17211.30,2.721398880,
17221.31,2.749657110,
17231.32,2.777982287,
17241.33,2.806376214,
17251.34,2.834840677,
17261.35,2.863377453,
17271.36,2.891988308,
17281.37,2.920674997,
17291.38,2.949439263,
17301.39,2.978282844,
17311.40,3.007207464,
17321.41,3.036214843,
17331.42,3.065306691,
17341.43,3.094484712,
17351.44,3.123750601,
17361.45,3.153106049,
17371.46,3.182552741,
17381.47,3.212092355,
17391.48,3.241726566,
17401.49,3.271457042,
1741
17421.50,3.301285449,
17431.51,3.331213449,
17441.52,3.361242701,
17451.53,3.391374858,
17461.54,3.421611576,
17471.55,3.451954503,
17481.56,3.482405289,
17491.57,3.512965580,
17501.58,3.543637024,
17511.59,3.574421266,
17521.60,3.605319949,
17531.61,3.636334719,
17541.62,3.667467221,
17551.63,3.698719099,
17561.64,3.730091999,
17571.65,3.761587569,
17581.66,3.793207456,
17591.67,3.824953310,
17601.68,3.856826782,
17611.69,3.888829528,
17621.70,3.920963201,
17631.71,3.953229462,
17641.72,3.985629972,
17651.73,4.018166395,
17661.74,4.050840400,
17671.75,4.083653659,
17681.76,4.116607847,
17691.77,4.149704645,
17701.78,4.182945736,
17711.79,4.216332809,
17721.80,4.249867557,
17731.81,4.283551681,
17741.82,4.317386883,
17751.83,4.351374872,
17761.84,4.385517364,
17771.85,4.419816080,
17781.86,4.454272746,
17791.87,4.488889097,
17801.88,4.523666872,
17811.89,4.558607817,
17821.90,4.593713687,
17831.91,4.628986242,
17841.92,4.664427249,
17851.93,4.700038485,
17861.94,4.735821734,
17871.95,4.771778785,
17881.96,4.807911438,
17891.97,4.844221501,
17901.98,4.880710791,
17911.99,4.917381131,
17922.00,4.954234356
1793]),done);
1794done;
1795
1796test_table(lambda([z],expintegral_ei(z)),'ei_2,150,5.70e-10);
1797[];
1798
1799/******************************************************************************
1800  A&S Table 5.1 p. 242-243, values for x*%e^(-x)*Ei(x) from 2.00 through 10.0
1801******************************************************************************/
1802
1803block(
1804ei_3 : make_array(flonum,235,2),
1805fillarray(ei_3,[
1806
18072.0,1.340965420,
18082.1,1.371486802,
18092.2,1.397421992,
18102.3,1.419171534,
18112.4,1.437118315,
18122.5,1.451625159,
18132.6,1.463033397,
18142.7,1.471662153,
18152.8,1.477808187,
18162.9,1.481746162,
18173.0,1.483729204,
18183.1,1.483989691,
18193.2,1.482740191,
18203.3,1.480174491,
18213.4,1.476468706,
18223.5,1.471782389,
18233.6,1.466259659,
18243.7,1.460030313,
18253.8,1.453210902,
18263.9,1.445905765,
18274.0,1.438208032,
18284.1,1.430200557,
18294.2,1.421956813,
18304.3,1.413541719,
18314.4,1.405012424,
18324.5,1.396419030,
18334.6,1.387805263,
18344.7,1.379209093,
18354.8,1.370663313,
18364.9,1.362196054,
18375.0,1.353831278,
18385.1,1.345589212,
18395.2,1.337486755,
18405.3,1.329537845,
18415.4,1.321753788,
18425.5,1.314143566,
18435.6,1.306714107,
18445.7,1.299470536,
18455.8,1.292416395,
18465.9,1.285553849,
18476.0,1.278883860,
18486.1,1.272406357,
18496.2,1.266120373,
18506.3,1.260024184,
18516.4,1.254115417,
18526.5,1.248391155,
18536.6,1.242848032,
18546.7,1.237482309,
18556.8,1.232289952,
18566.9,1.227266684,
18577.0,1.222408053,
18587.1,1.217709472,
18597.2,1.213166264,
18607.3,1.208773699,
18617.4,1.204527026,
18627.5,1.200421500,
18637.6,1.196452401,
18647.7,1.192615063,
18657.8,1.188904881,
18667.9,1.185317334,
18678.0,1.181847987,
18688.1,1.178492509,
18698.2,1.175246676,
18708.3,1.172106376,
18718.4,1.169067617,
18728.5,1.166126526,
18738.6,1.163279354,
18748.7,1.160522476,
18758.8,1.157852390,
18768.9,1.155265719,
18779.0,1.152759209,
18789.1,1.150329724,
18799.2,1.147974251,
18809.3,1.145689889,
18819.4,1.143473855,
18829.5,1.141323476,
18839.6,1.139236185,
18849.7,1.137209523,
18859.8,1.135241130,
18869.9,1.133328746,
188710.,1.131470205
1888]),done);
1889done;
1890
1891test_table(lambda([z],z*%e^(-z)*expintegral_ei(z)),'ei_3,80,8.95e-10);
1892[];
1893
1894/******************************************************************************
1895   A&S Table 5.1 p. 238, values for (E1(x)-log(x)-%gamma)/x
1896                         from 0.00 through 0.50
1897******************************************************************************/
1898
1899block(
1900e1_1 : make_array(flonum,200,2),
1901fillarray(e1_1,[
1902
19030.00,1.0000000000,
19040.01,0.9975055452,
19050.02,0.9950221392,
19060.03,0.9925497201,
19070.04,0.9900882265,
19080.05,0.9876375971,
19090.06,0.9851977714,
19100.07,0.9827686889,
19110.08,0.9803502898,
19120.09,0.9779425142,
19130.10,0.9755453033,
19140.11,0.9731585980,
19150.12,0.9707823399,
19160.13,0.9684164710,
19170.14,0.9660609336,
19180.15,0.9637156702,
19190.16,0.9613806240,
19200.17,0.9590557383,
19210.18,0.9567409569,
19220.19,0.9544362237,
19230.20,0.9521414833,
19240.21,0.9498566804,
19250.22,0.9475817603,
19260.23,0.9453166684,
19270.24,0.9430613506,
19280.25,0.9408157528,
19290.26,0.9385798221,
19300.27,0.9363535046,
19310.28,0.9341367481,
19320.29,0.9319294997,
19330.30,0.9297317075,
19340.31,0.9275433196,
19350.32,0.9253642845,
19360.33,0.9231945510,
19370.34,0.9210340684,
19380.35,0.9188827858,
19390.36,0.9167406533,
19400.37,0.9146076209,
19410.38,0.9124836388,
19420.39,0.9103686582,
19430.40,0.9082626297,
19440.41,0.9061655048,
19450.42,0.9040772350,
19460.43,0.9019977725,
19470.44,0.8999270693,
19480.45,0.8978650778,
19490.46,0.8958117511,
19500.47,0.8937670423,
19510.48,0.8917309048,
19520.49,0.8897032920,
19530.50,0.8876841584
1954]),done);
1955done;
1956
1957test_table(lambda([z],(expintegral_e1(z)+log(z)+%gamma)/z),'e1_1,50,1.65e-10);
1958[];
1959
1960/******************************************************************************
1961   A&S Table 5.1 p. 239-241, values for E1(x) from 0.50 through 2.00
1962******************************************************************************/
1963
1964block(
1965e1_2 : make_array(flonum,200,2),
1966fillarray(e1_2,[
1967
19680.50,0.559773595,
19690.51,0.547822352,
19700.52,0.536219798,
19710.53,0.524951510,
19720.54,0.514003886,
19730.55,0.503364081,
19740.56,0.493019959,
19750.57,0.482960034,
19760.58,0.473173433,
19770.59,0.463649849,
19780.60,0.454379503,
19790.61,0.445353112,
19800.62,0.436561854,
19810.63,0.427997338,
19820.64,0.419651581,
19830.65,0.411516976,
19840.66,0.403586275,
19850.67,0.395852563,
19860.68,0.388309243,
19870.69,0.380950010,
19880.70,0.373768843,
19890.71,0.366759981,
19900.72,0.359917914,
19910.73,0.353237364,
19920.74,0.346713279,
19930.75,0.340340813,
19940.76,0.334115321,
19950.77,0.328032346,
19960.78,0.322087610,
19970.79,0.316277004,
19980.80,0.310596579,
19990.81,0.305042539,
20000.82,0.299611236,
20010.83,0.294299155,
20020.84,0.289102918,
20030.85,0.284019269,
20040.86,0.279045070,
20050.87,0.274177301,
20060.88,0.269413046,
20070.89,0.264749496,
20080.90,0.260183939,
20090.91,0.255713758,
20100.92,0.251336425,
20110.93,0.247049501,
20120.94,0.242850627,
20130.95,0.238737524,
20140.96,0.234707988,
20150.97,0.230759890,
20160.98,0.226891167,
20170.99,0.223099826,
2018
20191.00,0.219383934,
20201.01,0.215741624,
20211.02,0.212171083,
20221.03,0.208670559,
20231.04,0.205238352,
20241.05,0.201872813,
20251.06,0.198572347,
20261.07,0.195335403,
20271.08,0.192160479,
20281.09,0.189046118,
20291.10,0.185990905,
20301.11,0.182993465,
20311.12,0.180052467,
20321.13,0.177166615,
20331.14,0.174334651,
20341.15,0.171555354,
20351.16,0.168827535,
20361.17,0.166150040,
20371.18,0.163521748,
20381.19,0.160941567,
20391.20,0.158408437,
20401.21,0.155921324,
20411.22,0.153479226,
20421.23,0.151081164,
20431.24,0.148726188,
20441.25,0.146413373,
20451.26,0.144141815,
20461.27,0.141910639,
20471.28,0.139718989,
20481.29,0.137566032,
20491.30,0.135450958,
20501.31,0.133372975,
20511.32,0.131331314,
20521.33,0.129325224,
20531.34,0.127353972,
20541.35,0.125416844,
20551.36,0.123513146,
20561.37,0.121642198,
20571.38,0.119803337,
20581.39,0.117995919,
20591.40,0.116219313,
20601.41,0.114472903,
20611.42,0.112756090,
20621.43,0.111068287,
20631.44,0.109408923,
20641.45,0.107777440,
20651.46,0.106173291,
20661.47,0.104595946,
20671.48,0.103044882,
20681.49,0.101519593,
2069
20701.50,0.100019582,
20711.51,0.098544365,
20721.52,0.097093466,
20731.53,0.095666424,
20741.54,0.094262786,
20751.55,0.092882108,
20761.56,0.091523960,
20771.57,0.090187917,
20781.58,0.088873566,
20791.59,0.087580504,
20801.60,0.086308334,
20811.61,0.085056670,
20821.62,0.083825133,
20831.63,0.082613354,
20841.64,0.081420970,
20851.65,0.080247627,
20861.66,0.079092978,
20871.67,0.077956684,
20881.68,0.076838412,
20891.69,0.075737839,
20901.70,0.074654644,
20911.71,0.073588518,
20921.72,0.072539154,
20931.73,0.071506255,
20941.74,0.070489527,
20951.75,0.069488685,
20961.76,0.068503447,
20971.77,0.067533539,
20981.78,0.066578691,
20991.79,0.065638641,
21001.80,0.064713129,
21011.81,0.063801903,
21021.82,0.062904715,
21031.83,0.062021320,
21041.84,0.061151482,
21051.85,0.060294967,
21061.86,0.059451545,
21071.87,0.058620994,
21081.88,0.057803091,
21091.89,0.056997623,
21101.90,0.056204378,
21111.91,0.055423149,
21121.92,0.054653731,
21131.93,0.053895927,
21141.94,0.053149540,
21151.95,0.052414380,
21161.96,0.051690257,
21171.97,0.050976988,
21181.98,0.050274392,
21191.99,0.049582291,
21202.00,0.048900511
2121]),done);
2122done;
2123
2124test_table(lambda([z],expintegral_e1(z)),'e1_2,150,5.35e-10);
2125[];
2126
2127/******************************************************************************
2128   A&S Table 5.1 p. 242-243, values for x*%e^x*E1(x) from 2.00 through 10.0
2129******************************************************************************/
2130
2131block(
2132e1_3 : make_array(flonum,200,2),
2133fillarray(e1_3,[
2134
21352.0,0.722657234,
21362.1,0.730791502,
21372.2,0.738431132,
21382.3,0.745622149,
21392.4,0.752404829,
21402.5,0.758814592,
21412.6,0.764882722,
21422.7,0.770636987,
21432.8,0.776102123,
21442.9,0.781300252,
21453.0,0.786251221,
21463.1,0.790972900,
21473.2,0.795481422,
21483.3,0.799791408,
21493.4,0.803916127,
21503.5,0.807867661,
21513.6,0.811657037,
21523.7,0.815294342,
21533.8,0.818788821,
21543.9,0.822148967,
21554.0,0.825382600,
21564.1,0.828496926,
21574.2,0.831498602,
21584.3,0.834393794,
21594.4,0.837188207,
21604.5,0.839887144,
21614.6,0.842495539,
21624.7,0.845017971,
21634.8,0.847458721,
21644.9,0.849821778,
21655.0,0.852110880,
21665.1,0.854329519,
21675.2,0.856480958,
21685.3,0.858568275,
21695.4,0.860594348,
21705.5,0.862561885,
21715.6,0.864473436,
21725.7,0.866331399,
21735.8,0.868138040,
21745.9,0.869895494,
21756.0,0.871605775,
21766.1,0.873270793,
21776.2,0.874892347,
21786.3,0.876472150,
21796.4,0.878011816,
21806.5,0.879512881,
21816.6,0.880976797,
21826.7,0.882404955,
21836.8,0.883798662,
21846.9,0.885159176,
21857.0,0.886487675,
21867.1,0.887785294,
21877.2,0.889053119,
21887.3,0.890292173,
21897.4,0.891503440,
21907.5,0.892687854,
21917.6,0.893846312,
21927.7,0.894979666,
21937.8,0.896088737,
21947.9,0.897174302,
21958.0,0.898237113,
21968.1,0.899277888,
21978.2,0.900297306,
21988.3,0.901296033,
21998.4,0.902274699,
22008.5,0.903233900,
22018.6,0.904174228,
22028.7,0.905096235,
22038.8,0.906000459,
22048.9,0.906887415,
22059.0,0.907757602,
22069.1,0.908611483,
22079.2,0.909449530,
22089.3,0.910272177,
22099.4,0.911079850,
22109.5,0.911872958,
22119.6,0.912651897,
22129.7,0.913417043,
22139.8,0.914168766,
22149.9,0.914907418,
221510.,0.915633339
2216]),done);
2217done;
2218
2219test_table(lambda([z],z*%e^z*expintegral_e1(z)),'e1_3,80,2.50e-8);
2220[];
2221
2222/******************************************************************************
2223   A&S Table 5.6 p. 249-251, values for z*%e^z*E1(z) for Complex values
2224                             from -19 through 20 for the Real part and
2225                             from 0 through 20 for the Complex part
2226******************************************************************************/
2227
2228block(
2229ec_1 : make_array(flonum,855,4),
2230fillarray(ec_1,[
2231
2232/* Table 5.6 p. 249 */
2233
2234-19,00,1.059305,0.000000,
2235-18,00,1.063087,0.000001,
2236-17,00,1.067394,0.000002,
2237-16,00,1.072345,0.000006,
2238-15,00,1.078103,0.000014,
2239
2240-19,01,1.059090,0.003539,
2241-18,01,1.062827,0.004010,
2242-17,01,1.067073,0.004584,
2243-16,01,1.071942,0.005296,
2244-15,01,1.077584,0.006195,
2245
2246-19,02,1.058456,0.007000,
2247-18,02,1.062061,0.007918,
2248-17,02,1.066135,0.009032,
2249-16,02,1.070774,0.010403,
2250-15,02,1.076102,0.012118,
2251
2252-19,03,1.057431,0.010310,
2253-18,03,1.060829,0.011633,
2254-17,03,1.064636,0.013226,
2255-16,03,1.068925,0.015172,
2256-15,03,1.073783,0.017579,
2257
2258-19,04,1.056058,0.013410,
2259-18,04,1.059190,0.015079,
2260-17,04,1.062657,0.017075,
2261-16,04,1.066508,0.019486,
2262-15,04,1.070793,0.022432,
2263
2264-19,05,1.054391,0.016252,
2265-18,05,1.057215,0.018202,
2266-17,05,1.060297,0.020512,
2267-16,05,1.063659,0.023272,
2268-15,05,1.067318,0.026598,
2269
2270-19,06,1.052490,0.018806,
2271-18,06,1.054981,0.020969,
2272-17,06,1.057655,0.023505,
2273-16,06,1.060510,0.026499,
2274-15,06,1.063538,0.030055,
2275
2276-19,07,1.050413,0.021055,
2277-18,07,1.052565,0.023364,
2278-17,07,1.054829,0.026044,
2279-16,07,1.057187,0.029167,
2280-15,07,1.059610,0.032823,
2281
2282-19,08,1.048217,0.022996,
2283-18,08,1.050037,0.025391,
2284-17,08,1.051905,0.028141,
2285-16,08,1.053795,0.031306,
2286-15,08,1.055664,0.034957,
2287
2288-19,09,1.045956,0.024637,
2289-18,09,1.047458,0.027066,
2290-17,09,1.048958,0.029824,
2291-16,09,1.050421,0.032960,
2292-15,09,1.051797,0.036527,
2293
2294-19,10,1.043672,0.025993,
2295-18,10,1.044880,0.028412,
2296-17,10,1.046045,0.031130,
2297-16,10,1.047129,0.034183,
2298-15,10,1.048081,0.037609,
2299
2300-19,11,1.041402,0.027086,
2301-18,11,1.042345,0.029461,
2302-17,11,1.043212,0.032102,
2303-16,11,1.043967,0.035034,
2304-15,11,1.044559,0.038282,
2305
2306-19,12,1.039177,0.027940,
2307-18,12,1.039882,0.030245,
2308-17,12,1.040490,0.032781,
2309-16,12,1.040965,0.035567,
2310-15,12,1.041259,0.038616,
2311
2312-19,13,1.037018,0.028581,
2313-18,13,1.037515,0.030796,
2314-17,13,1.037901,0.033211,
2315-16,13,1.038140,0.035836,
2316-15,13,1.038192,0.038677,
2317
2318-19,14,1.034942,0.029034,
2319-18,14,1.035259,0.031148,
2320-17,14,1.035456,0.033431,
2321-16,14,1.035501,0.035888,
2322-15,14,1.035359,0.038520,
2323
2324-19,15,1.032959,0.029326,
2325-18,15,1.033123,0.031330,
2326-17,15,1.033162,0.033476,
2327-16,15,1.033049,0.035765,
2328-15,15,1.032754,0.038193,
2329
2330-19,16,1.031076,0.029477,
2331-18,16,1.031110,0.031368,
2332-17,16,1.031019,0.033377,
2333-16,16,1.030780,0.035502,
2334-15,16,1.030365,0.037735,
2335
2336-19,17,1.029296,0.029511,
2337-18,17,1.029222,0.031288,
2338-17,17,1.029025,0.033162,
2339-16,17,1.028685,0.035129,
2340-15,17,1.028180,0.037179,
2341
2342-19,18,1.027620,0.029445,
2343-18,18,1.027456,0.031110,
2344-17,18,1.027174,0.032855,
2345-16,18,1.026756,0.034672,
2346-15,18,1.026183,0.036552,
2347
2348-19,19,1.026046,0.029296,
2349-18,19,1.025809,0.030854,
2350-17,19,1.025459,0.032474,
2351-16,19,1.024981,0.034150,
2352-15,19,1.024360,0.035873,
2353
2354-19,20,1.024570,0.029080,
2355-18,20,1.024275,0.030534,
2356-17,20,1.023872,0.032037,
2357-16,20,1.023349,0.033582,
2358-15,20,1.022695,0.035160,
2359
2360-14,00,1.084892,0.000037,
2361-13,00,1.093027,0.000092,
2362-12,00,1.102975,0.000232,
2363-11,00,1.115431,0.000577,
2364-10,00,1.131470,0.001426,
2365
2366-14,01,1.084200,0.007359,
2367-13,01,1.092067,0.008913,
2368-12,01,1.101566,0.011063,
2369-11,01,1.113230,0.014169,
2370-10,01,1.127796,0.018879,
2371
2372-14,02,1.082276,0.014306,
2373-13,02,1.089498,0.017161,
2374-12,02,1.098025,0.020981,
2375-11,02,1.108170,0.026241,
2376-10,02,1.120286,0.033700,
2377
2378-14,03,1.079313,0.020604,
2379-13,03,1.085635,0.024471,
2380-12,03,1.092873,0.029507,
2381-11,03,1.101137,0.036189,
2382-10,03,1.110462,0.045218,
2383
2384-14,04,1.075560,0.026075,
2385-13,04,1.080853,0.030637,
2386-12,04,1.086686,0.036422,
2387-11,04,1.093013,0.043843,
2388-10,04,1.099666,0.053451,
2389
2390-14,05,1.071279,0.030642,
2391-13,05,1.075522,0.035599,
2392-12,05,1.079985,0.041724,
2393-11,05,1.084526,0.049336,
2394-10,05,1.088877,0.058817,
2395
2396-14,06,1.066708,0.034303,
2397-13,06,1.069960,0.039405,
2398-12,06,1.073185,0.045552,
2399-11,06,1.076197,0.052967,
2400-10,06,1.078701,0.061886,
2401
2402-14,07,1.062046,0.037117,
2403-13,07,1.064412,0.042169,
2404-12,07,1.066578,0.048115,
2405-11,07,1.068350,0.055093,
2406-10,07,1.069450,0.063225,
2407
2408-14,08,1.057448,0.039174,
2409-13,08,1.059054,0.044041,
2410-12,08,1.060352,0.049644,
2411-11,08,1.061159,0.056057,
2412-10,08,1.061235,0.063322,
2413
2414-14,09,1.053021,0.040580,
2415-13,09,1.053997,0.045176,
2416-12,09,1.054606,0.050359,
2417-11,09,1.054687,0.056158,
2418-10,09,1.054046,0.062566,
2419
2420-14,10,1.048834,0.041444,
2421-13,10,1.049303,0.045719,
2422-12,10,1.049380,0.050452,
2423-11,10,1.048933,0.055640,
2424-10,10,1.047807,0.061249,
2425
2426-14,11,1.044928,0.041867,
2427-13,11,1.044997,0.045801,
2428-12,11,1.044674,0.050084,
2429-11,11,1.043853,0.054695,
2430-10,11,1.042417,0.059584,
2431
2432-14,12,1.041320,0.041938,
2433-13,12,1.041080,0.045531,
2434-12,12,1.040464,0.049384,
2435-11,12,1.039389,0.053465,
2436-10,12,1.037766,0.057719,
2437
2438-14,13,1.038010,0.041734,
2439-13,13,1.037537,0.044999,
2440-12,13,1.036713,0.048452,
2441-11,13,1.035473,0.052056,
2442-10,13,1.033752,0.055758,
2443
2444-14,14,1.034989,0.041321,
2445-13,14,1.034344,0.044277,
2446-12,14,1.033378,0.047365,
2447-11,14,1.032040,0.050547,
2448-10,14,1.030282,0.053773,
2449
2450-14,15,1.032241,0.040751,
2451-13,15,1.031474,0.043422,
2452-12,15,1.030414,0.046180,
2453-11,15,1.029026,0.048991,
2454-10,15,1.027274,0.051808,
2455
2456-14,16,1.029747,0.040066,
2457-13,16,1.028895,0.042477,
2458-12,16,1.027781,0.044941,
2459-11,16,1.026377,0.047428,
2460-10,16,1.024658,0.049894,
2461
2462-14,17,1.027486,0.039301,
2463-13,17,1.026579,0.041475,
2464-12,17,1.025438,0.043679,
2465-11,17,1.024043,0.045883,
2466-10,17,1.022375,0.048049,
2467
2468-14,18,1.025437,0.038481,
2469-13,18,1.024499,0.040444,
2470-12,18,1.023352,0.042417,
2471-11,18,1.021981,0.044374,
2472-10,18,1.020375,0.046282,
2473
2474-14,19,1.023580,0.037629,
2475-13,19,1.022628,0.039401,
2476-12,19,1.021489,0.041170,
2477-11,19,1.020155,0.042912,
2478-10,19,1.018617,0.044599,
2479
2480-14,20,1.021896,0.036759,
2481-13,20,1.020942,0.038361,
2482-12,20,1.019824,0.039950,
2483-11,20,1.018533,0.041505,
2484-10,20,1.017066,0.043001,
2485
2486-09,00,1.152759,0.003489,
2487-08,00,1.181848,0.008431,
2488-07,00,1.222408,0.020053,
2489-06,00,1.278884,0.046723,
2490-05,00,1.353831,0.105839,
2491
2492-09,01,1.146232,0.026376,
2493-08,01,1.169677,0.038841,
2494-07,01,1.199049,0.060219,
2495-06,01,1.233798,0.097331,
2496-05,01,1.268723,0.160826,
2497
2498-09,02,1.134679,0.044579,
2499-08,02,1.151385,0.060814,
2500-07,02,1.169639,0.085335,
2501-06,02,1.186778,0.122162,
2502-05,02,1.196351,0.175646,
2503
2504-09,03,1.120694,0.057595,
2505-08,03,1.131255,0.074701,
2506-07,03,1.140733,0.098259,
2507-06,03,1.146266,0.130005,
2508-05,03,1.142853,0.170672,
2509
2510-09,04,1.106249,0.065948,
2511-08,04,1.111968,0.082156,
2512-07,04,1.115404,0.102861,
2513-06,04,1.114273,0.128440,
2514-05,04,1.105376,0.158134,
2515
2516-09,05,1.092564,0.070592,
2517-08,05,1.094818,0.085055,
2518-07,05,1.094475,0.102411,
2519-06,05,1.089952,0.122397,
2520-05,05,1.079407,0.143879,
2521
2522-09,06,1.080246,0.072520,
2523-08,06,1.080188,0.084987,
2524-07,06,1.077672,0.099188,
2525-06,06,1.071684,0.114638,
2526-05,06,1.061236,0.130280,
2527
2528-09,07,1.069494,0.072580,
2529-08,07,1.067987,0.083120,
2530-07,07,1.064339,0.094618,
2531-06,07,1.057935,0.106568,
2532-05,07,1.048279,0.118116,
2533
2534-09,08,1.060276,0.071425,
2535-08,08,1.057920,0.080250,
2536-07,08,1.053778,0.089537,
2537-06,08,1.047493,0.098840,
2538-05,08,1.038838,0.107508,
2539
2540-09,09,1.052450,0.069523,
2541-08,09,1.049645,0.076885,
2542-07,09,1.045382,0.084405,
2543-06,09,1.039464,0.091717,
2544-05,09,1.031806,0.098337,
2545
2546-09,10,1.045832,0.067197,
2547-08,10,1.042834,0.073340,
2548-07,10,1.038659,0.079462,
2549-06,10,1.033205,0.085271,
2550-05,10,1.026459,0.090413,
2551
2552-09,11,1.040241,0.064664,
2553-08,11,1.037210,0.069803,
2554-07,11,1.033231,0.074821,
2555-06,11,1.028260,0.079488,
2556-05,11,1.022317,0.083544,
2557
2558-09,12,1.035508,0.062063,
2559-08,12,1.032539,0.066381,
2560-07,12,1.028808,0.070524,
2561-06,12,1.024300,0.074315,
2562-05,12,1.019052,0.077561,
2563
2564-09,13,1.031490,0.059482,
2565-08,13,1.028638,0.063128,
2566-07,13,1.025171,0.066576,
2567-06,13,1.021090,0.069688,
2568-05,13,1.016439,0.072320,
2569
2570-09,14,1.028065,0.056975,
2571-08,14,1.025359,0.060070,
2572-07,14,1.022152,0.062962,
2573-06,14,1.018458,0.065542,
2574-05,14,1.014319,0.067702,
2575
2576-09,15,1.025132,0.054573,
2577-08,15,1.022583,0.057215,
2578-07,15,1.019626,0.059658,
2579-06,15,1.016277,0.061817,
2580-05,15,1.012577,0.063610,
2581
2582-09,16,1.022608,0.052291,
2583-08,16,1.020219,0.054559,
2584-07,16,1.017494,0.056638,
2585-06,16,1.014452,0.058460,
2586-05,16,1.011130,0.059962,
2587
2588-09,17,1.020426,0.050135,
2589-08,17,1.018192,0.052094,
2590-07,17,1.015681,0.053874,
2591-06,17,1.012912,0.055424,
2592-05,17,1.009915,0.056694,
2593
2594-09,18,1.018530,0.048106,
2595-08,18,1.016444,0.049806,
2596-07,18,1.014129,0.051341,
2597-06,18,1.011600,0.052670,
2598-05,18,1.008887,0.053752,
2599
2600-09,19,1.016874,0.046201,
2601-08,19,1.014929,0.047684,
2602-07,19,1.012790,0.049015,
2603-06,19,1.010476,0.050161,
2604-05,19,1.008009,0.051092,
2605
2606-09,20,1.015422,0.044413,
2607-08,20,1.013607,0.045714,
2608-07,20,1.011629,0.046875,
2609-06,20,1.009505,0.047870,
2610-05,20,1.007254,0.048675,
2611
2612/* Table 5.6 p. 250 */
2613
2614-4,00,1.438208,0.230161,
2615-3,00,1.483729,0.469232,
2616-2,00,1.340965,0.850337,
2617-1,00,0.697175,1.155727,
2618/* -0,00,0.577216,0.000000, den Test auf Null verbessern */
2619
2620-4,01,1.287244,0.263705,
2621-3,01,1.251069,0.410413,
2622-2,01,1.098808,0.561916,
2623-1,01,0.813486,0.578697,
2624-0,01,0.621450,0.343378,
2625
2626-4,02,1.185758,0.247356,
2627-3,02,1.136171,0.328439,
2628-2,02,1.032990,0.388428,
2629-1,02,0.896419,0.378838,
2630-0,02,0.798042,0.289091,
2631
2632-4,03,1.123282,0.217835,
2633-3,03,1.080316,0.262814,
2634-2,03,1.013205,0.289366,
2635-1,03,0.936283,0.280906,
2636-0,03,0.875873,0.237665,
2637
2638-4,04,1.085153,0.189003,
2639-3,04,1.051401,0.215118,
2640-2,04,1.006122,0.228399,
2641-1,04,0.957446,0.222612,
2642-0,04,0.916770,0.198713,
2643
2644-4,05,1.061263,0.164466,
2645-3,05,1.035185,0.180487,
2646-2,05,1.003172,0.187857,
2647-1,05,0.969809,0.183963,
2648-0,05,0.940714,0.169481,
2649
2650-4,06,1.045719,0.144391,
2651-3,06,1.025396,0.154746,
2652-2,06,1.001788,0.159189,
2653-1,06,0.977582,0.156511,
2654-0,06,0.955833,0.147129,
2655
2656-4,07,1.035205,0.128073,
2657-3,07,1.019109,0.135079,
2658-2,07,1.001077,0.137939,
2659-1,07,0.982756,0.136042,
2660-0,07,0.965937,0.129646,
2661
2662-4,08,1.027834,0.114732,
2663-3,08,1.014861,0.119660,
2664-2,08,1.000684,0.121599,
2665-1,08,0.986356,0.120218,
2666-0,08,0.972994,0.115678,
2667
2668-4,09,1.022501,0.103711,
2669-3,09,1.011869,0.107294,
2670-2,09,1.000454,0.108665,
2671-1,09,0.988955,0.107634,
2672-0,09,0.978103,0.104303,
2673
2674-4,10,1.018534,0.094502,
2675-3,10,1.009688,0.097181,
2676-2,10,1.000312,0.098184,
2677-1,10,0.990887,0.097396,
2678-0,10,0.981910,0.094885,
2679
2680-4,11,1.015513,0.086718,
2681-3,11,1.008052,0.088770,
2682-2,11,1.000221,0.089525,
2683-1,11,0.992361,0.088911,
2684-0,11,0.984819,0.086975,
2685
2686-4,12,1.013163,0.080069,
2687-3,12,1.006795,0.081673,
2688-2,12,1.000161,0.082255,
2689-1,12,0.993508,0.081769,
2690-0,12,0.987088,0.080245,
2691
2692-4,13,1.011303,0.074333,
2693-3,13,1.005809,0.075609,
2694-2,13,1.000119,0.076067,
2695-1,13,0.994418,0.075676,
2696-0,13,0.988891,0.074457,
2697
2698-4,14,1.009806,0.069340,
2699-3,14,1.005022,0.070371,
2700-2,14,1.000090,0.070738,
2701-1,14,0.995151,0.070419,
2702-0,14,0.990345,0.069429,
2703
2704-4,15,1.008585,0.064959,
2705-3,15,1.004384,0.065803,
2706-2,15,1.000070,0.066102,
2707-1,15,0.995751,0.065838,
2708-0,15,0.991534,0.065024,
2709
2710-4,16,1.007577,0.061086,
2711-3,16,1.003859,0.061786,
2712-2,16,1.000055,0.062032,
2713-1,16,0.996246,0.061812,
2714-0,16,0.992518,0.061135,
2715
2716-4,17,1.006735,0.057640,
2717-3,17,1.003423,0.058227,
2718-2,17,1.000043,0.058432,
2719-1,17,0.996661,0.058246,
2720-0,17,0.993342,0.057677,
2721
2722-4,18,1.006025,0.054555,
2723-3,18,1.003057,0.055052,
2724-2,18,1.000035,0.055224,
2725-1,18,0.997011,0.055066,
2726-0,18,0.994038,0.054583,
2727
2728-4,19,1.005420,0.051779,
2729-3,19,1.002747,0.052202,
2730-2,19,1.000028,0.052349,
2731-1,19,0.997309,0.052214,
2732-0,19,0.994631,0.051801,
2733
2734-4,20,1.004902,0.049267,
2735-3,20,1.002481,0.049631,
2736-2,20,1.000023,0.049757,
2737-1,20,0.997565,0.049640,
2738-0,20,0.995140,0.049284,
2739
274001,00,0.596347,0.000000,
274102,00,0.722657,0.000000,
274203,00,0.786251,0.000000,
274304,00,0.825383,0.000000,
274405,00,0.852111,0.000000,
2745
274601,01,0.673321,0.147864,
274702,01,0.747012,0.075661,
274803,01,0.797036,0.045686,
274904,01,0.831126,0.030619,
275005,01,0.855544,0.021985,
2751
275201,02,0.777514,0.186570,
275302,02,0.796965,0.118228,
275403,02,0.823055,0.078753,
275504,02,0.846097,0.055494,
275605,02,0.864880,0.040999,
2757
275801,03,0.847468,0.181226,
275902,03,0.844361,0.132252,
276003,03,0.853176,0.096659,
276104,03,0.865521,0.072180,
276205,03,0.877860,0.055341,
2763
276401,04,0.891460,0.165207,
276502,04,0.881036,0.131686,
276603,04,0.880584,0.103403,
276704,04,0.885308,0.081408,
276805,04,0.892143,0.064825,
2769
277001,05,0.919826,0.148271,
277102,05,0.907873,0.125136,
277203,05,0.903152,0.103577,
277304,05,0.903231,0.085187,
277405,05,0.906058,0.070209,
2775
277601,06,0.938827,0.132986,
277702,06,0.927384,0.116656,
277803,06,0.921006,0.100357,
277904,06,0.918527,0.085460,
278005,06,0.918708,0.072544,
2781
278201,07,0.952032,0.119807,
278302,07,0.941722,0.107990,
278403,07,0.934958,0.095598,
278504,07,0.931209,0.083666,
278605,07,0.929765,0.072792,
2787
278801,08,0.961512,0.108589,
278902,08,0.952435,0.099830,
279003,08,0.945868,0.090303,
279104,08,0.941594,0.080755,
279205,08,0.939221,0.071700,
2793
279401,09,0.968512,0.099045,
279502,09,0.960582,0.092408,
279603,09,0.954457,0.084986,
279704,09,0.950072,0.077313,
279805,09,0.947219,0.069799,
2799
280001,10,0.973810,0.090888,
280102,10,0.966885,0.085758,
280203,10,0.961283,0.079898,
280304,10,0.957007,0.073688,
280405,10,0.953955,0.067447,
2805
280601,11,0.977904,0.083871,
280702,11,0.971842,0.079836,
280803,11,0.966766,0.075147,
280904,11,0.962708,0.070080,
281005,11,0.959626,0.064878,
2811
281201,12,0.981127,0.077790,
281302,12,0.975799,0.074567,
281403,12,0.971216,0.070769,
281504,12,0.967423,0.066599,
281605,12,0.964412,0.062242,
2817
281801,13,0.983706,0.072484,
281902,13,0.979000,0.069873,
282003,13,0.974865,0.066762,
282104,13,0.971351,0.063300,
282205,13,0.968464,0.059630,
2823
282401,14,0.985799,0.067822,
282502,14,0.981621,0.065679,
282603,14,0.977888,0.063104,
282704,14,0.974646,0.060206,
282805,14,0.971911,0.057096,
2829
283001,15,0.987519,0.063698,
283102,15,0.983791,0.061921,
283203,15,0.980414,0.059767,
283304,15,0.977430,0.057322,
283405,15,0.974858,0.054671,
2835
283601,16,0.988949,0.060029,
283702,16,0.985606,0.058539,
283803,16,0.982544,0.056723,
283904,16,0.979799,0.054644,
284005,16,0.977391,0.052371,
2841
284201,17,0.990149,0.056745,
284302,17,0.987138,0.055485,
284403,17,0.984353,0.053941,
284504,17,0.981827,0.052162,
284605,17,0.979579,0.050200,
2847
284801,18,0.991167,0.053792,
284902,18,0.988442,0.052717,
285003,18,0.985902,0.051394,
285104,18,0.983574,0.049861,
285205,18,0.981478,0.048160,
2853
285401,19,0.992036,0.051122,
285502,19,0.989561,0.050199,
285603,19,0.987237,0.049057,
285704,19,0.985089,0.047728,
285805,19,0.983135,0.046245,
2859
286001,20,0.992784,0.048699,
286102,20,0.990527,0.047900,
286203,20,0.988395,0.046909,
286304,20,0.986410,0.045749,
286405,20,0.984587,0.044449,
2865
286606,00,0.871606,0.000000,
286707,00,0.886488,0.000000,
286808,00,0.898237,0.000000,
286909,00,0.907758,0.000000,
287010,00,0.915633,0.000000,
2871
287206,01,0.873827,0.016570,
287307,01,0.888009,0.012947,
287408,01,0.899327,0.010401,
287509,01,0.908565,0.008543,
287610,01,0.916249,0.007143,
2877
287806,02,0.880023,0.031454,
287907,02,0.892327,0.024866,
288008,02,0.902453,0.020140,
288109,02,0.910901,0.016639,
288210,02,0.918040,0.013975,
2883
288406,03,0.889029,0.043517,
288507,03,0.898793,0.034995,
288608,03,0.907236,0.028693,
288709,03,0.914531,0.023921,
288810,03,0.920856,0.020230,
2889
289006,04,0.899484,0.052380,
289107,04,0.906591,0.042967,
289208,04,0.913167,0.035755,
289309,04,0.919127,0.030145,
289410,04,0.924479,0.025717,
2895
289606,05,0.910242,0.058259,
289707,05,0.914952,0.048780,
289808,05,0.919729,0.041242,
289909,05,0.924336,0.035208,
290010,05,0.928664,0.030334,
2901
290206,06,0.920534,0.061676,
290307,06,0.923283,0.052667,
290408,06,0.926481,0.045242,
290509,06,0.929836,0.039123,
290610,06,0.933175,0.034063,
2907
290806,07,0.929945,0.063220,
290907,07,0.931193,0.054971,
291008,07,0.933096,0.047942,
291109,07,0.935365,0.041986,
291210,07,0.937807,0.036944,
2913
291406,08,0.938313,0.063425,
291507,08,0.938469,0.056047,
291608,08,0.939359,0.049570,
291709,08,0.940731,0.043936,
291810,08,0.942398,0.039060,
2919
292006,09,0.945629,0.062714,
292107,09,0.945023,0.056211,
292208,09,0.945154,0.050349,
292309,09,0.945812,0.045128,
292410,09,0.946833,0.040514,
2925
292606,10,0.951965,0.061408,
292707,10,0.950850,0.055725,
292808,10,0.950427,0.050481,
292909,10,0.950535,0.045711,
293010,10,0.951035,0.041413,
2931
293206,11,0.957427,0.059735,
293307,11,0.955987,0.054790,
293408,11,0.955176,0.050135,
293509,11,0.954870,0.045818,
293610,11,0.954959,0.041861,
2937
293806,12,0.962128,0.057855,
293907,12,0.960495,0.053560,
294008,12,0.959421,0.049444,
294109,12,0.958814,0.045563,
294210,12,0.958586,0.041948,
2943
294406,13,0.966178,0.055877,
294507,13,0.964444,0.052146,
294608,13,0.963201,0.048514,
294709,13,0.962379,0.045038,
294810,13,0.961913,0.041755,
2949
295006,14,0.969673,0.053874,
295107,14,0.967903,0.050627,
295208,14,0.966559,0.047425,
295309,14,0.965591,0.044319,
295410,14,0.964949,0.041347,
2955
295606,15,0.972699,0.051894,
295707,15,0.970935,0.049062,
295808,15,0.969539,0.046236,
295909,15,0.968477,0.043463,
296010,15,0.967710,0.040780,
2961
296206,16,0.975326,0.049966,
296307,16,0.973597,0.047489,
296408,16,0.972185,0.044992,
296509,16,0.971067,0.042516,
296610,16,0.970214,0.040095,
2967
296806,17,0.977617,0.048109,
296907,17,0.975940,0.045935,
297008,17,0.974538,0.043724,
297109,17,0.973393,0.041512,
297210,17,0.972484,0.039329,
2973
297406,18,0.979622,0.046332,
297507,18,0.978009,0.044419,
297608,18,0.976632,0.042456,
297709,18,0.975481,0.040477,
297810,18,0.974540,0.038508,
2979
298006,19,0.981384,0.044641,
298107,19,0.979839,0.042951,
298208,19,0.978500,0.041205,
298309,19,0.977357,0.039431,
298410,19,0.976402,0.037653,
2985
298606,20,0.982938,0.043036,
298707,20,0.981465,0.041538,
298808,20,0.980169,0.039980,
298909,20,0.979047,0.038388,
299010,20,0.978090,0.036781,
2991
2992/* Table 5.6 p. 251 */
2993
299411,00,0.922260,0.000000,
299512,00,0.927914,0.000000,
299613,00,0.932796,0.000000,
299714,00,0.937055,0.000000,
299815,00,0.940804,0.000000,
2999
300011,01,0.922740,0.006063,
300112,01,0.928295,0.005212,
300213,01,0.933105,0.004528,
300314,01,0.937308,0.003972,
300415,01,0.941014,0.003512,
3005
300611,02,0.924143,0.011902,
300712,02,0.929416,0.010258,
300813,02,0.934013,0.008932,
300914,02,0.938055,0.007847,
301015,02,0.941636,0.006949,
3011
301211,03,0.926370,0.017321,
301312,03,0.931205,0.014991,
301413,03,0.935473,0.013098,
301514,03,0.939261,0.011540,
301615,03,0.942643,0.010242,
3017
301811,04,0.929270,0.022171,
301912,04,0.933560,0.019295,
302013,04,0.937408,0.016934,
302114,04,0.940870,0.014974,
302215,04,0.943994,0.013331,
3023
302411,05,0.932672,0.026361,
302512,05,0.936356,0.023091,
302613,05,0.939729,0.020373,
302714,05,0.942816,0.018095,
302815,05,0.945640,0.016169,
3029
303011,06,0.936400,0.029857,
303112,06,0.939462,0.026339,
303213,06,0.942338,0.023378,
303314,06,0.945024,0.020867,
303415,06,0.947522,0.018725,
3035
303611,07,0.940297,0.032670,
303712,07,0.942757,0.029036,
303813,07,0.945140,0.025934,
303914,07,0.947419,0.023273,
304015,07,0.949582,0.020980,
3041
304211,08,0.944229,0.034847,
304312,08,0.946132,0.031205,
304413,08,0.948047,0.028052,
304514,08,0.949933,0.025315,
304615,08,0.951765,0.022931,
3047
304811,09,0.948093,0.036453,
304912,09,0.949500,0.032887,
305013,09,0.950985,0.029756,
305114,09,0.952502,0.027004,
305215,09,0.954018,0.024582,
3053
305411,10,0.951816,0.037566,
305512,10,0.952792,0.034134,
305613,10,0.953895,0.031081,
305714,10,0.955075,0.028365,
305815,10,0.956296,0.025949,
3059
306011,11,0.955347,0.038261,
306112,11,0.955958,0.035004,
306213,11,0.956729,0.032068,
306314,11,0.957610,0.029426,
306415,11,0.958563,0.027052,
3065
306611,12,0.958659,0.038612,
306712,12,0.958968,0.035552,
306813,12,0.959454,0.032761,
306914,12,0.960073,0.030221,
307015,12,0.960787,0.027915,
3071
307211,13,0.961739,0.038684,
307312,13,0.961800,0.035833,
307413,13,0.962049,0.033201,
307514,13,0.962443,0.030781,
307615,13,0.962947,0.028564,
3077
307811,14,0.964583,0.038534,
307912,14,0.964447,0.035893,
308013,14,0.964499,0.033428,
308114,14,0.964702,0.031140,
308215,14,0.965026,0.029024,
3083
308411,15,0.967199,0.038211,
308512,15,0.966907,0.035775,
308613,15,0.966799,0.033479,
308714,15,0.966843,0.031327,
308815,15,0.967011,0.029320,
3089
309011,16,0.969597,0.037756,
309112,16,0.969184,0.035515,
309213,16,0.968947,0.033384,
309314,16,0.968860,0.031370,
309415,16,0.968897,0.029476,
3095
309611,17,0.971789,0.037200,
309712,17,0.971285,0.035144,
309813,17,0.970946,0.033172,
309914,17,0.970752,0.031293,
310015,17,0.970680,0.029512,
3101
310211,18,0.973792,0.036572,
310312,18,0.973220,0.034687,
310413,18,0.972802,0.032865,
310514,18,0.972521,0.031117,
310615,18,0.972359,0.029448,
3107
310811,19,0.975621,0.035893,
310912,19,0.974999,0.034166,
311013,19,0.974521,0.032485,
311114,19,0.974172,0.030862,
311215,19,0.973936,0.029301,
3113
311411,20,0.977290,0.035179,
311512,20,0.976634,0.033597,
311613,20,0.976112,0.032049,
311714,20,0.975709,0.030542,
311815,20,0.975414,0.029086,
3119
312016,00,0.944130,0.000000,
312117,00,0.947100,0.000000,
312218,00,0.949769,0.000000,
312319,00,0.952181,0.000000,
312420,00,0.954371,0.000000,
3125
312616,01,0.944306,0.003128,
312717,01,0.947250,0.002804,
312818,01,0.949897,0.002527,
312919,01,0.952291,0.002290,
313020,01,0.954467,0.002085,
3131
313216,02,0.944829,0.006196,
313317,02,0.947693,0.005560,
313418,02,0.950277,0.005016,
313519,02,0.952619,0.004549,
313620,02,0.954752,0.004144,
3137
313816,03,0.945678,0.009150,
313917,03,0.948416,0.008223,
314018,03,0.950898,0.007430,
314119,03,0.953156,0.006745,
314220,03,0.955219,0.006151,
3143
314416,04,0.946824,0.011940,
314517,04,0.949395,0.010754,
314618,04,0.951741,0.009735,
314719,04,0.953887,0.008853,
314820,04,0.955856,0.008084,
3149
315016,05,0.948226,0.014529,
315117,05,0.950600,0.013121,
315218,05,0.952782,0.011904,
315319,05,0.954793,0.010847,
315420,05,0.956650,0.009922,
3155
315616,06,0.949842,0.016886,
315717,06,0.951995,0.015296,
315818,06,0.953995,0.013916,
315919,06,0.955853,0.012709,
316020,06,0.957581,0.011649,
3161
316216,07,0.951624,0.018994,
316317,07,0.953545,0.017265,
316418,07,0.955349,0.015753,
316519,07,0.957043,0.014425,
316620,07,0.958631,0.013253,
3167
316816,08,0.953527,0.020847,
316917,08,0.955212,0.019019,
317018,08,0.956815,0.017409,
317119,08,0.958337,0.015986,
317220,08,0.959779,0.014723,
3173
317416,09,0.955509,0.022445,
317517,09,0.956960,0.020555,
317618,09,0.958363,0.018878,
317719,09,0.959712,0.017387,
317820,09,0.961004,0.016056,
3179
318016,10,0.957530,0.023797,
318117,10,0.958758,0.021878,
318218,10,0.959966,0.020163,
318319,10,0.961144,0.018628,
318420,10,0.962288,0.017250,
3185
318616,11,0.959559,0.024917,
318717,11,0.960576,0.022998,
318818,11,0.961598,0.021270,
318919,11,0.962612,0.019712,
319020,11,0.963611,0.018305,
3191
319216,12,0.961568,0.025823,
319317,12,0.962391,0.023927,
319418,12,0.963238,0.022207,
319519,12,0.964097,0.020645,
319620,12,0.964956,0.019227,
3197
319816,13,0.963534,0.026534,
319917,13,0.964181,0.024679,
320018,13,0.964868,0.022984,
320119,13,0.965582,0.021436,
320220,13,0.966310,0.020021,
3203
320416,14,0.965443,0.027070,
320517,14,0.965931,0.025271,
320618,14,0.966472,0.023616,
320719,14,0.967052,0.022094,
320820,14,0.967658,0.020694,
3209
321016,15,0.967280,0.027453,
321117,15,0.967628,0.025720,
321218,15,0.968039,0.024114,
321319,15,0.968496,0.022629,
321420,15,0.968990,0.021255,
3215
321616,16,0.969038,0.027700,
321717,16,0.969264,0.026041,
321818,16,0.969558,0.024493,
321919,16,0.969906,0.023052,
322020,16,0.970297,0.021712,
3221
322216,17,0.970712,0.027831,
322317,17,0.970832,0.026249,
322418,17,0.971023,0.024765,
322519,17,0.971273,0.023375,
322620,17,0.971571,0.022075,
3227
322816,18,0.972300,0.027862,
322917,18,0.972328,0.026361,
323018,18,0.972430,0.024943,
323119,18,0.972594,0.023607,
323220,18,0.972808,0.022352,
3233
323416,19,0.973800,0.027809,
323517,19,0.973751,0.026388,
323618,19,0.973775,0.025038,
323719,19,0.973863,0.023760,
323820,19,0.974004,0.022552,
3239
324016,20,0.975215,0.027685,
324117,20,0.975099,0.026343,
324218,20,0.975057,0.025062,
324319,20,0.975079,0.023842,
324420,20,0.975155,0.022684
3245]),done);
3246done;
3247
3248test_complex_table(lambda([z],z*%e^z*expintegral_e1(z)),'ec_1,838,1.25e-6);
3249[];
3250
3251kill(all);
3252done;
3253
3254/*****************************************************************************/
3255