1 /*******************************************************************************
3 Test file for the Exponential Integrals
5 by Dieter Kaiser (2008)
6 *******************************************************************************/
11 /* Define a test function for single values */
13 closeto(e,tol):=block([numer:true,abse],abse:abs(e),if(abse<tol) then true else abse);
14 closeto(e,tol):=block([numer:true,abse],abse:abs(e),if(abse<tol) then true else abse);
16 (test_value(actual, ref, digits) := closeto(realpart(actual)-realpart(ref), 10^(-digits)) and closeto(imagpart(actual)-imagpart(ref), 10^(-digits)), done);
19 /*******************************************************************************
20 At first we check the special values of the Exponential Integrals
21 *******************************************************************************/
23 errcatch(expintegral_e(0,0));
25 errcatch(expintegral_e(0,0.0));
27 errcatch(expintegral_e(0,0.0b0));
30 errcatch(expintegral_ei(0));
32 errcatch(expintegral_ei(0.0));
34 errcatch(expintegral_ei(0.0b0));
41 expintegral_li(0.0b0);
44 errcatch(expintegral_li(1));
46 errcatch(expintegral_li(1.0));
48 errcatch(expintegral_li(1.0b0));
55 expintegral_si(0.0b0);
62 expintegral_shi(0.0b0);
65 errcatch(expintegral_ci(0));
67 errcatch(expintegral_ci(0.0));
69 errcatch(expintegral_ci(0.0b0));
72 errcatch(expintegral_chi(0));
74 errcatch(expintegral_chi(0.0));
76 errcatch(expintegral_chi(0.0b0));
79 /*******************************************************************************
80 Simplifications for the Exponential Integrals
81 *******************************************************************************/
89 expintegral_e(-1,10+%i);
90 (%i+11)*%e^(-%i-10)/(%i+10)^2;
98 expintegral_e(0,10+%i);
101 /* The case Ev(0) simplifies to 1/(v-1) only for Re(v)>1 */
103 (assume(v>1), expintegral_e(v,0));
106 expintegral_e(3/2+%i,0);
109 errcatch(expintegral_e(1/2+%i,0));
112 /* We don't simplify for infinities as an argument */
114 expintegral_e(-1,inf);
115 expintegral_e(-1,inf);
117 expintegral_e(v,infinity);
118 expintegral_e(v,infinity);
120 expintegral_e(minf,z);
121 expintegral_e(minf,z);
123 /* Realpart and imagpart for expintegral_e */
125 (assume(x_pos>0),done);
128 /* a positive real value */
129 realpart(expintegral_e(v,x_pos));
130 expintegral_e(v,x_pos);
131 imagpart(expintegral_e(v,x_pos));
134 /* a complex value */
135 realpart(expintegral_e(v,1+%i));
136 1/2*(expintegral_e(v,1-%i)+expintegral_e(v,1+%i));
137 imagpart(expintegral_e(v,1+%i));
138 1/2*%i*(expintegral_e(v,1-%i)-expintegral_e(v,1+%i));
140 /* Realpart and imagpart for expintegral_ei */
143 realpart(expintegral_ei(x));
145 imagpart(expintegral_ei(x));
148 /* a complex value */
149 realpart(expintegral_ei(1+%i));
150 1/2*(expintegral_ei(1-%i)+expintegral_ei(1+%i));
151 imagpart(expintegral_ei(1+%i));
152 1/2*%i*(expintegral_ei(1-%i)-expintegral_ei(1+%i));
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 */
159 realpart(expintegral_si(x));
161 imagpart(expintegral_si(x));
164 /* an imaginary value */
165 realpart(expintegral_si(%i));
167 imagpart(expintegral_si(%i));
168 -%i*expintegral_si(%i);
170 /* a complex value */
171 realpart(expintegral_si(1+%i));
172 1/2*(expintegral_si(1-%i)+expintegral_si(1+%i));
173 imagpart(expintegral_si(1+%i));
174 1/2*%i*(expintegral_si(1-%i)-expintegral_si(1+%i));
176 /* Limits of expintegral_si */
178 limit(expintegral_si(x),x,inf);
181 limit(expintegral_si(x),x,minf);
184 /* Limits of expintegral_shi */
186 limit(expintegral_shi(x),x,inf);
189 limit(expintegral_shi(x),x,minf);
192 /* Limits of expintegral_chi */
194 limit(expintegral_chi(x),x,inf);
197 limit(expintegral_chi(x),x,minf);
200 /*******************************************************************************
201 For a negative integer parameter we expand in a series
202 *******************************************************************************/
205 120*(z^5/120+z^4/24+z^3/6+z^2/2+z+1)*%e^-z/z^6;
207 /*******************************************************************************
208 For a half integral parameter we can expand in terms of the
209 Erfc or Erf function using the flag expintexpand.
210 *******************************************************************************/
215 expintegral_e(1/2,z);
216 sqrt(%pi)/sqrt(z)*erfc(sqrt(z));
218 expintegral_e(-1/2,z);
219 sqrt(%pi)/(2*z^(3/2))*erfc(sqrt(z))+%e^(-z)/z;
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. */
229 expintegral_e(5/2,1/2);
230 2*sqrt(%pi)*(1-erf(1/sqrt(2)))/(3*sqrt(2));
232 /* We test the expansion against a pure numerical evaluation */
233 test_value(%,expintegral_e(2.5,0.5),15),numer;
236 expintegral_e(-5/2,1/2);
238 8*sqrt(2)*(15*sqrt(%pi)*(1-erf(1/sqrt(2)))/8+21/(4*sqrt(2)*sqrt(%e)));
241 2^(7/2)*(15*sqrt(%pi)*(1-erf(1/sqrt(2)))/8+(5/sqrt(2)+1/2^(5/2))/sqrt(%e));
243 test_value(%,expintegral_e(-2.5,0.5),13),numer;
246 /*******************************************************************************
247 For a parameter which is a positive integer we can expand
248 the function in terms of the Exponential Integral Ei.
249 *******************************************************************************/
252 -z^2*(log(z)+(log(-1/z)-log(-z))/2+expintegral_ei(-z))/2-(z/2-1/2)*%e^-z;
254 /* We compare this with numerical values */
256 ratsimp(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));
259 test_value(%,expintegral_e(3,0.5),15),numer;
262 (expand:expintegral_e(10,1/2),done);
265 test_value(expand,expintegral_e(10,0.5),15),numer;
268 (expand:expintegral_e(100,1/2),done);
271 test_value(expand,expintegral_e(100,0.5),15),numer;
277 /*******************************************************************************
278 Do tests for additional float evaluation
279 *******************************************************************************/
282 expintegral_e(1,-1.700598-0.612828*%i),
283 1.229787425764198*%i-3.675726471068782,15);
287 expintegral_e(1,-1.5-%i*18.0),
288 0.181696882955049 + 0.16898654452488*%i,15);
292 expintegral_e(1,-1.5-%i*180.0),
293 .01998793885396577-.01484463667769751*%i,15);
297 expintegral_e(1,-15.0-%i*50.0),
298 62936.65453487506*%i-462.2396897671588,10);
302 expintegral_e(1,-15.0-%i*180.0),
303 15302.16784585461-9678.322938932864*%i,10);
307 expintegral_e(1,-150.0-%i*540.0),
308 2.479041623323267e+62*%i+2.105063890337474e+61,13-62);
312 expintegral_e(1,1.5+%i*18),
313 .01021327940204757-.006754558125326895*%i,15);
317 expintegral_e(1,15.0+%i*180.0),
318 1.129118870333903e-9*%i+1.261123517801268e-9,15);
322 expintegral_e(1,150.0+%i*540.0),
323 7.503677061484707e-69-1.036533879419174e-68*%i,15-69);
330 /*******************************************************************************
331 Do tests for Bigfloat evaluation (values from functions.wolfram.com)
332 *******************************************************************************/
334 /* Remember actual fpprec */
335 (oldfpprec:fpprec, fpprec:64, done);
339 expintegral_e(1,0.25b0),
340 1.044282634443738194536438161232282251891528374744802718635140468b0,
345 expintegral_e(1,0.50b0),
346 0.5597735947761608117467959393150852352268468903163535152482932191b0,
351 expintegral_e(1,1.50b0),
352 0.1000195824066326519019093399116669782617300061403505850505670604b0,
357 expintegral_e(1,2.50b0),
358 0.02491491787026973549562801227460963594584838471142737701193454450b0,
363 expintegral_e(1,0.5b0+%i),
364 - 0.0713947110424527235558849799368449390033695834555289289265924760b0 +
365 - 0.3574937736521626512548586934573247791553769710980144511429423771b0*%i,
370 expintegral_ei(-0.5b0),
371 -0.5597735947761608117467959393150852352268468903163535152482932191b0,
376 expintegral_ei(0.5b0),
377 0.4542199048631735799205238126628023652814055543526420451628177867b0,
382 expintegral_ei(1.5b0),
383 3.301285449129797837957411316134742787656606985453422100762913970b0,
388 expintegral_ei(1.5b0+%i),
389 2.799671509755731161198928033788660326920401659332834224954077897b0 +
390 2.737079221508684508327603325281307039723914975958035767630503279b0*%i,
395 expintegral_li(-0.5b0),
396 0.058454819131659372625658464865614145649609292000300491927658936b0 +
397 3.265670174417890088883763125722547571780846521093778812746639381b0*%i,
402 expintegral_li(0.5b0),
403 -0.3786710430610879767272071846365609805512340409782139969444209417b0,
408 expintegral_li(1.5b0),
409 0.1250649863152963559943500047955129365420883239309922910956161087b0,
414 expintegral_li(1.5b0+%i),
415 0.955549209862142878221358892328220253212569406502554250070344843b0 +
416 1.567751569664112401647194996566519972267813732803503976674771406b0*%i,
421 expintegral_si(-0.5b0),
422 -0.4931074180430666891616267075727646536413371384287211316602426140b0,
427 expintegral_si(0.5b0),
428 0.4931074180430666891616267075727646536413371384287211316602426140b0,
433 expintegral_si(1.5b0),
434 1.324683531172119680370472846875214042814140454625112248480722201b0,
439 expintegral_si(1.5b0+%i),
440 1.5324237219775529809013400344036774093828247429181012177841253510b0 +
441 0.6883092845662321107998443833405013522538814097236134325126725862b0*%i,
446 expintegral_ci(-0.5b0),
447 -0.177784078806612901335810271070569078090519474812621968666825358b0 +
448 3.141592653589793238462643383279502884197169399375105820974944592b0*%i,
453 expintegral_ci(0.5b0),
454 -0.1777840788066129013358102710705690780905194748126219686668253576b0,
459 expintegral_ci(1.5b0),
460 0.4703563171953998866750821522365605516152327005730752953941674282b0,
465 expintegral_ci(1.5b0+%i),
466 0.7839176551092182755417770543442248219437012644680041434724902541b0 -
467 0.0812194103150585766889706525256841552731980806778019973545925276b0*%i,
472 expintegral_shi(-0.5b0),
473 -0.5069967498196671958336598759889438002541262223344977802055555029b0,
478 expintegral_shi(0.5b0),
479 0.5069967498196671958336598759889438002541262223344977802055555029b0,
484 expintegral_shi(1.5b0),
485 1.700652515768215244929660328023204882959168495796886342906740515b0,
490 expintegral_shi(1.5b0+%i),
491 1.405456250564077987167827011345745730833834776665624179949753110b0 +
492 1.324296049597592107364382165946694647067190542728881672301521998b0*%i,
497 expintegral_chi(-0.5b0),
498 -0.052776844956493615913136063326141434972720667981855735042737716b0 +
499 3.141592653589793238462643383279502884197169399375105820974944592b0*%i,
504 expintegral_chi(0.5b0),
505 -0.05277684495649361591313606332614143497272066798185573504273771621b0,
510 expintegral_chi(1.5b0),
511 1.600632933361582593027750988111537904697438489656535757856173455b0,
516 expintegral_chi(1.5b0+%i),
517 1.394215259191653174031101022442914596086566882667210045004324787b0 +
518 1.412783171911092400963221159334612392656724433229154095328981281b0*%i,
524 (fpprec:oldfpprec, done);
527 /*******************************************************************************
528 Do tests for additional big float evaluation
529 *******************************************************************************/
531 /* Remember actual fpprec */
532 (oldfpprec:fpprec, fpprec:64, done);
536 expintegral_e(1,-1.5B0-%i*18.0B0),
537 1.689865445248795461022355866185975300284302677290211138169639712b-1*%i
538 +1.816968829550486868009237590887639256845378383882275967782801257b-1,63);
542 expintegral_e(1,-15.0B0-%i*50.0B0),
543 6.293665453487508854049428479450922789578087068032898765875144175b4*%i
544 -4.62239689767167158016168999268727094583699040537958778438547305b2,59);
548 expintegral_e(1,-1.5B0-%i*180.0B0),
549 1.998793885396577954161433015440646790143523658773070463290940391b-2
550 -1.48446366776975235341069111717359420933661819609933627048078479b-2*%i,64);
554 expintegral_e(1,-15.0B0-%i*180.0B0),
555 1.530216784585460659290957316900806622008438558612666623998533076b4
556 -9.678322938932862392009065659301165442754946683378713459319981218b3*%i,59);
560 expintegral_e(1,-150.0B0-%i*540.0B0),
561 2.47904162332326778788226522449358779416653162097669293288256403b62*%i
562 +2.105063890337477483794346786409993155624883726578689067616685218b61,1);
566 expintegral_e(1,1.5B0+%i*18.0B0),
567 1.021327940204755864240745590773899499558121729025330486880547885b-2
568 -6.754558125326884112691473105665013998699325818242672495399974279b-3*%i,65);
572 expintegral_e(1,15.0B0+%i*180.0B0),
573 1.129118870333903101943908390287222351537018836722867882019975027b-9*%i
574 +1.261123517801267593713906360450736314138456246082714062225342743b-9,72);
578 expintegral_e(1,150.0B0+%i*540.0B0),
579 7.50367706148470796758191535417179842322266910293477644515984948b-69
580 -1.03653387941917390868865781356557208741441722016128718318801276b-68*%i,-64-69);
585 (fpprec:oldfpprec, done);
588 /*******************************************************************************
589 Do tests for a parameter not an positive integer (double float arithmetic)
590 *******************************************************************************/
593 expintegral_e(0.5,0.5),
598 /* functions.wolfram.com get a small imaginary part.
599 Our algorithm gives a pure real result. That's correct. */
602 expintegral_e(1.5,0.5),
603 0.4176818285785640 + 0.10d-16*%i,
608 expintegral_e(1.5,1.5),
609 0.08475846798926254 + 0.10d-17*%i,
613 /* The algorithm works for an Complex parameter (not Bigfloat) too */
616 expintegral_e(-0.25+%i,0.5),
617 0.7029675553348383 - 1.0854583859408265*%i,
622 expintegral_e(0.5+%i,0.5),
623 0.5037890474837921 - 0.4713445822591324*%i,
628 expintegral_e(0.5+%i,1.5),
629 0.10617497621984483 - 0.04370294969886679*%i,
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. */
637 test_value(expintegral_e(-3,0.5)-expintegral_e(-3.0,0.5),0.0,13);
640 /*******************************************************************************
641 Do tests for a parameter not an integer (Bigfloat arithmetic)
642 *******************************************************************************/
644 /* Remember actual fpprec */
645 (oldfpprec:fpprec, fpprec:64, done);
649 expintegral_e(0.5,0.5b0),
650 0.7953794908467028960691560442509551305541581704269437959894550131b0,
654 /* functions.wolfram.com get a small imaginary part.
655 Our algorithm gives a pure real result. That's correct. */
658 expintegral_e(1.5,0.5b0),
659 0.4176818285785639511384430257314057763296781005474301153763293043b0 +
665 expintegral_e(1.5,1.5b0),
666 0.08475846798926253566550159750486026149596073485977905694436004042b0 +
672 (fpprec:oldfpprec, done);
675 /*******************************************************************************
676 We check the transformation to another representation
677 *******************************************************************************/
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 */
682 (oldlogexpand:logexpand, logexpand:false);
685 expintrep:gamma_incomplete;
689 gamma_incomplete(1-n,z)*z^(n-1);
692 z^(n-1)*gamma_incomplete(1-n,z);
695 gamma_incomplete(0,z);
698 (log(z)-log(1/z))/2-log(-z)-gamma_incomplete(0,-z);
701 (log(log(z))-log(1/log(z)))/2-log(-log(z))-gamma_incomplete(0,-log(z));
704 %i*(-log(%i*z)+log(-%i*z)-gamma_incomplete(0,%i*z)+gamma_incomplete(0,-%i*z))/2;
707 log(z)-(log(%i*z)+log(-%i*z)+gamma_incomplete(0,%i*z)+gamma_incomplete(0,-%i*z))/2;
710 (log(z)-log(-z)+gamma_incomplete(0,z)-gamma_incomplete(0,-z))/2;
713 (-log(z)+log(-z)+gamma_incomplete(0,z)+gamma_incomplete(0,-z))/-2;
715 expintrep: expintegral_ei;
719 expintegral_ei(log(x));
724 (logexpand:oldlogexpand,done);
727 /* Do the functions have the appropriate symmetrie?
729 With the exception of exponential_ci we get for all tests a double float
730 zero or a Bigfloat zero. Because we use numercial evaluation this is not
731 natural and perhaps an effect only true with the GCL Compiler.
732 For the function expintegral_ci we get a small imaginary contribution which
735 Can this be verified by other Compilers?
741 expintegral_e(1,z) - conjugate(expintegral_e(1,conjugate(z)));
744 expintegral_e(2,z) - conjugate(expintegral_e(2,conjugate(z)));
747 expintegral_e(5,z) - conjugate(expintegral_e(5,conjugate(z)));
750 expintegral_e(10,z) - conjugate(expintegral_e(10,conjugate(z)));
753 expintegral_e1(z) - conjugate(expintegral_e1(conjugate(z)));
756 expintegral_ei(z) - conjugate(expintegral_ei(conjugate(z)));
759 expintegral_li(z) - conjugate(expintegral_li(conjugate(z)));
762 expintegral_si(z) - conjugate(expintegral_si(conjugate(z)));
766 expintegral_ci(z) - conjugate(expintegral_ci(conjugate(z))),
770 expintegral_shi(z) - conjugate(expintegral_shi(conjugate(z)));
773 expintegral_chi(z) - conjugate(expintegral_chi(conjugate(z)));
776 /* The same for Bigfloats */
781 expintegral_e(1,z) - conjugate(expintegral_e(1,conjugate(z)));
784 expintegral_e(2,z) - conjugate(expintegral_e(2,conjugate(z)));
787 expintegral_e(5,z) - conjugate(expintegral_e(5,conjugate(z)));
790 expintegral_e(10,z) - conjugate(expintegral_e(10,conjugate(z)));
793 expintegral_e1(z) - conjugate(expintegral_e1(conjugate(z)));
796 expintegral_ei(z) - conjugate(expintegral_ei(conjugate(z)));
799 expintegral_li(z) - conjugate(expintegral_li(conjugate(z)));
802 expintegral_si(z) - conjugate(expintegral_si(conjugate(z)));
805 expintegral_ci(z) - conjugate(expintegral_ci(conjugate(z)));
808 expintegral_shi(z) - conjugate(expintegral_shi(conjugate(z)));
811 expintegral_chi(z) - conjugate(expintegral_chi(conjugate(z)));
817 /******************************************************************************
819 Define test functions to do the tests with the numerical data
820 of the tables of A&S.
822 This routine is based on the algorithm to test the Wronskians in the
823 file rtest14.mac which was implemented by Raymond Toy.
825 ******************************************************************************/
827 (test_table(func,table,rows,eps) :=
828 block([badpoints : [],
832 for i:1 thru rows step 1 do
835 result : rectform(func(z)),
837 abserr : abs(result-answer),
838 maxerr : max(maxerr,abserr),
841 badpoints : cons ([z,result,answer,abserr],badpoints)
844 if badpoints # [] then
845 cons(maxerr,badpoints)
851 /* Test function for a table with Complex values */
853 (test_complex_table(func,table,rows,eps) :=
854 block([badpoints : [],
858 for i:1 thru rows step 1 do
860 z : table[i,0]+%i*table[i,1],
861 result : rectform(func(z)),
862 answer : (table[i,2]+%i*table[i,3]),
863 abserr : abs(result-answer),
864 maxerr : max(maxerr,abserr),
867 badpoints : cons ([z,result,answer,abserr],badpoints)
870 if badpoints # [] then
871 cons(maxerr,badpoints)
877 /*****************************************************************************/
879 /* Values for E[-2](z), E[-3](z) and E[-4](z) */
882 em2 : make_array(flonum,5,2),
884 0.0,0.0, /* the first entry isn't tested */
885 0.5,15.7697971525285,
891 em3 : make_array(flonum,5,2),
893 0.0, 0.0, /* the first entry isn't tested */
894 0.5, 95.8318442345961,
895 1.0, 5.88607105874308
900 em4 : make_array(flonum,5,2),
902 0.0, 0.0, /* the first entry isn't tested */
903 0.5, 767.8678151961939,
904 1.0, 23.91216367614375
908 /* Values for E2(z) from wolfram.functions.com */
911 e2 : make_array(flonum,20,4),
914 0.5, 0.0, 0.326643862324553, 0.0,
915 1.0, 0.0, 0.148495506775922, 0.0,
916 1.5, 0.0, 0.0731007865384809, 0.0,
918 -1.5, 0.0, -0.47023910335663, -4.71238898038469,
919 -1.0, 0.0, 0.82316401210311, -3.14159265358979,
920 -0.5, 0.0, 1.42161131826854, -1.57079632679490,
922 0.5, 1.0, 0.005913495891524, -0.260236353676039,
923 1.0, 1.0, 0.0191599508550726, -0.1305169650657347,
924 1.5, 1.0, 0.0152091306647864, -0.0662678635026173,
926 -1.5, 1.0, -2.18255375782701, -1.57830995398609,
927 -1.0, 1.0, -1.04975484772724, -1.27655210369426,
928 -0.5, 1.0, -0.386354424417090, -0.872308287488887
932 /* Do the tests with the above test data */
934 test_table(lambda([z],expintegral_e(-2,z)),'em2,2,3.5e-14);
937 test_table(lambda([z],expintegral_e(-3,z)),'em3,2,2.9e-14);
940 test_table(lambda([z],expintegral_e(-4,z)),'em4,2,1.0e-15);
943 test_complex_table(lambda([z],expintegral_e(2,z)),'e2,12,3.9e-15);
946 /*****************************************************************************
947 A&S Table 5.1 p. 238, values for Si(x)/x from 0.00 through 0.50
948 ******************************************************************************/
951 si_1 : make_array(flonum,51,2),
952 fillarray(si_1,[ /* We start the loop for the test with i=1. */
953 0.00,1.0000000000, /* Therefore we don't do the the test for the first value */
1008 test_table(lambda([z],expintegral_si(z)/z),'si_1,50,1.25e-10);
1011 /******************************************************************************
1012 A&S Table 5.1 p. 239-243, values for Si(x) from 0.50 through 10.0
1013 ******************************************************************************/
1016 si_2 : make_array(flonum,231,2),
1257 test_table(lambda([z],expintegral_si(z)),'si_2,230,1.95e-10);
1260 /******************************************************************************
1261 A&S Table 5.1 p. 238, values for (Ci(x)-log(x)-%gamma)/x
1262 from 0.00 through 0.50
1263 ******************************************************************************/
1266 ci_1 : make_array(flonum,55,2),
1318 0.50,-0.2474102526]), done);
1322 lambda([z],(expintegral_ci(z)-log(z)-%gamma)/z^2),'ci_1,50,1.95e-10);
1325 /******************************************************************************
1326 A&S Table 5.1 p. 239-243, values for Ci(x) from 0.50 through 10.0
1327 ******************************************************************************/
1330 ci_2 : make_array(flonum,235,2),
1571 test_table(lambda([z],expintegral_ci(z)),'ci_2,230,3.2e-8);
1574 /******************************************************************************
1575 A&S Table 5.1 p. 238, values for (Ei(x)-log(x)-%gamma)/x
1576 from 0.00 through 0.50
1577 ******************************************************************************/
1580 ei_1 : make_array(flonum,200,2),
1632 0.50,1.140302841]),done);
1635 test_table(lambda([z],(expintegral_ei(z)-log(z)-%gamma)/z),'ei_1,50,5.90e-10);
1638 /******************************************************************************
1639 A&S Table 5.1 p. 239-241, values for Ei(x) from 0.50 through 2.00
1640 ******************************************************************************/
1643 ei_2 : make_array(flonum,235,2),
1802 test_table(lambda([z],expintegral_ei(z)),'ei_2,150,5.70e-10);
1805 /******************************************************************************
1806 A&S Table 5.1 p. 242-243, values for x*%e^(-x)*Ei(x) from 2.00 through 10.0
1807 ******************************************************************************/
1810 ei_3 : make_array(flonum,235,2),
1897 test_table(lambda([z],z*%e^(-z)*expintegral_ei(z)),'ei_3,80,8.95e-10);
1900 /******************************************************************************
1901 A&S Table 5.1 p. 238, values for (E1(x)-log(x)-%gamma)/x
1902 from 0.00 through 0.50
1903 ******************************************************************************/
1906 e1_1 : make_array(flonum,200,2),
1963 test_table(lambda([z],(expintegral_e1(z)+log(z)+%gamma)/z),'e1_1,50,1.65e-10);
1966 /******************************************************************************
1967 A&S Table 5.1 p. 239-241, values for E1(x) from 0.50 through 2.00
1968 ******************************************************************************/
1971 e1_2 : make_array(flonum,200,2),
2130 test_table(lambda([z],expintegral_e1(z)),'e1_2,150,5.35e-10);
2133 /******************************************************************************
2134 A&S Table 5.1 p. 242-243, values for x*%e^x*E1(x) from 2.00 through 10.0
2135 ******************************************************************************/
2138 e1_3 : make_array(flonum,200,2),
2225 test_table(lambda([z],z*%e^z*expintegral_e1(z)),'e1_3,80,2.50e-8);
2228 /******************************************************************************
2229 A&S Table 5.6 p. 249-251, values for z*%e^z*E1(z) for Complex values
2230 from -19 through 20 for the Real part and
2231 from 0 through 20 for the Complex part
2232 ******************************************************************************/
2235 ec_1 : make_array(flonum,855,4),
2238 /* Table 5.6 p. 249 */
2240 -19,00,1.059305,0.000000,
2241 -18,00,1.063087,0.000001,
2242 -17,00,1.067394,0.000002,
2243 -16,00,1.072345,0.000006,
2244 -15,00,1.078103,0.000014,
2246 -19,01,1.059090,0.003539,
2247 -18,01,1.062827,0.004010,
2248 -17,01,1.067073,0.004584,
2249 -16,01,1.071942,0.005296,
2250 -15,01,1.077584,0.006195,
2252 -19,02,1.058456,0.007000,
2253 -18,02,1.062061,0.007918,
2254 -17,02,1.066135,0.009032,
2255 -16,02,1.070774,0.010403,
2256 -15,02,1.076102,0.012118,
2258 -19,03,1.057431,0.010310,
2259 -18,03,1.060829,0.011633,
2260 -17,03,1.064636,0.013226,
2261 -16,03,1.068925,0.015172,
2262 -15,03,1.073783,0.017579,
2264 -19,04,1.056058,0.013410,
2265 -18,04,1.059190,0.015079,
2266 -17,04,1.062657,0.017075,
2267 -16,04,1.066508,0.019486,
2268 -15,04,1.070793,0.022432,
2270 -19,05,1.054391,0.016252,
2271 -18,05,1.057215,0.018202,
2272 -17,05,1.060297,0.020512,
2273 -16,05,1.063659,0.023272,
2274 -15,05,1.067318,0.026598,
2276 -19,06,1.052490,0.018806,
2277 -18,06,1.054981,0.020969,
2278 -17,06,1.057655,0.023505,
2279 -16,06,1.060510,0.026499,
2280 -15,06,1.063538,0.030055,
2282 -19,07,1.050413,0.021055,
2283 -18,07,1.052565,0.023364,
2284 -17,07,1.054829,0.026044,
2285 -16,07,1.057187,0.029167,
2286 -15,07,1.059610,0.032823,
2288 -19,08,1.048217,0.022996,
2289 -18,08,1.050037,0.025391,
2290 -17,08,1.051905,0.028141,
2291 -16,08,1.053795,0.031306,
2292 -15,08,1.055664,0.034957,
2294 -19,09,1.045956,0.024637,
2295 -18,09,1.047458,0.027066,
2296 -17,09,1.048958,0.029824,
2297 -16,09,1.050421,0.032960,
2298 -15,09,1.051797,0.036527,
2300 -19,10,1.043672,0.025993,
2301 -18,10,1.044880,0.028412,
2302 -17,10,1.046045,0.031130,
2303 -16,10,1.047129,0.034183,
2304 -15,10,1.048081,0.037609,
2306 -19,11,1.041402,0.027086,
2307 -18,11,1.042345,0.029461,
2308 -17,11,1.043212,0.032102,
2309 -16,11,1.043967,0.035034,
2310 -15,11,1.044559,0.038282,
2312 -19,12,1.039177,0.027940,
2313 -18,12,1.039882,0.030245,
2314 -17,12,1.040490,0.032781,
2315 -16,12,1.040965,0.035567,
2316 -15,12,1.041259,0.038616,
2318 -19,13,1.037018,0.028581,
2319 -18,13,1.037515,0.030796,
2320 -17,13,1.037901,0.033211,
2321 -16,13,1.038140,0.035836,
2322 -15,13,1.038192,0.038677,
2324 -19,14,1.034942,0.029034,
2325 -18,14,1.035259,0.031148,
2326 -17,14,1.035456,0.033431,
2327 -16,14,1.035501,0.035888,
2328 -15,14,1.035359,0.038520,
2330 -19,15,1.032959,0.029326,
2331 -18,15,1.033123,0.031330,
2332 -17,15,1.033162,0.033476,
2333 -16,15,1.033049,0.035765,
2334 -15,15,1.032754,0.038193,
2336 -19,16,1.031076,0.029477,
2337 -18,16,1.031110,0.031368,
2338 -17,16,1.031019,0.033377,
2339 -16,16,1.030780,0.035502,
2340 -15,16,1.030365,0.037735,
2342 -19,17,1.029296,0.029511,
2343 -18,17,1.029222,0.031288,
2344 -17,17,1.029025,0.033162,
2345 -16,17,1.028685,0.035129,
2346 -15,17,1.028180,0.037179,
2348 -19,18,1.027620,0.029445,
2349 -18,18,1.027456,0.031110,
2350 -17,18,1.027174,0.032855,
2351 -16,18,1.026756,0.034672,
2352 -15,18,1.026183,0.036552,
2354 -19,19,1.026046,0.029296,
2355 -18,19,1.025809,0.030854,
2356 -17,19,1.025459,0.032474,
2357 -16,19,1.024981,0.034150,
2358 -15,19,1.024360,0.035873,
2360 -19,20,1.024570,0.029080,
2361 -18,20,1.024275,0.030534,
2362 -17,20,1.023872,0.032037,
2363 -16,20,1.023349,0.033582,
2364 -15,20,1.022695,0.035160,
2366 -14,00,1.084892,0.000037,
2367 -13,00,1.093027,0.000092,
2368 -12,00,1.102975,0.000232,
2369 -11,00,1.115431,0.000577,
2370 -10,00,1.131470,0.001426,
2372 -14,01,1.084200,0.007359,
2373 -13,01,1.092067,0.008913,
2374 -12,01,1.101566,0.011063,
2375 -11,01,1.113230,0.014169,
2376 -10,01,1.127796,0.018879,
2378 -14,02,1.082276,0.014306,
2379 -13,02,1.089498,0.017161,
2380 -12,02,1.098025,0.020981,
2381 -11,02,1.108170,0.026241,
2382 -10,02,1.120286,0.033700,
2384 -14,03,1.079313,0.020604,
2385 -13,03,1.085635,0.024471,
2386 -12,03,1.092873,0.029507,
2387 -11,03,1.101137,0.036189,
2388 -10,03,1.110462,0.045218,
2390 -14,04,1.075560,0.026075,
2391 -13,04,1.080853,0.030637,
2392 -12,04,1.086686,0.036422,
2393 -11,04,1.093013,0.043843,
2394 -10,04,1.099666,0.053451,
2396 -14,05,1.071279,0.030642,
2397 -13,05,1.075522,0.035599,
2398 -12,05,1.079985,0.041724,
2399 -11,05,1.084526,0.049336,
2400 -10,05,1.088877,0.058817,
2402 -14,06,1.066708,0.034303,
2403 -13,06,1.069960,0.039405,
2404 -12,06,1.073185,0.045552,
2405 -11,06,1.076197,0.052967,
2406 -10,06,1.078701,0.061886,
2408 -14,07,1.062046,0.037117,
2409 -13,07,1.064412,0.042169,
2410 -12,07,1.066578,0.048115,
2411 -11,07,1.068350,0.055093,
2412 -10,07,1.069450,0.063225,
2414 -14,08,1.057448,0.039174,
2415 -13,08,1.059054,0.044041,
2416 -12,08,1.060352,0.049644,
2417 -11,08,1.061159,0.056057,
2418 -10,08,1.061235,0.063322,
2420 -14,09,1.053021,0.040580,
2421 -13,09,1.053997,0.045176,
2422 -12,09,1.054606,0.050359,
2423 -11,09,1.054687,0.056158,
2424 -10,09,1.054046,0.062566,
2426 -14,10,1.048834,0.041444,
2427 -13,10,1.049303,0.045719,
2428 -12,10,1.049380,0.050452,
2429 -11,10,1.048933,0.055640,
2430 -10,10,1.047807,0.061249,
2432 -14,11,1.044928,0.041867,
2433 -13,11,1.044997,0.045801,
2434 -12,11,1.044674,0.050084,
2435 -11,11,1.043853,0.054695,
2436 -10,11,1.042417,0.059584,
2438 -14,12,1.041320,0.041938,
2439 -13,12,1.041080,0.045531,
2440 -12,12,1.040464,0.049384,
2441 -11,12,1.039389,0.053465,
2442 -10,12,1.037766,0.057719,
2444 -14,13,1.038010,0.041734,
2445 -13,13,1.037537,0.044999,
2446 -12,13,1.036713,0.048452,
2447 -11,13,1.035473,0.052056,
2448 -10,13,1.033752,0.055758,
2450 -14,14,1.034989,0.041321,
2451 -13,14,1.034344,0.044277,
2452 -12,14,1.033378,0.047365,
2453 -11,14,1.032040,0.050547,
2454 -10,14,1.030282,0.053773,
2456 -14,15,1.032241,0.040751,
2457 -13,15,1.031474,0.043422,
2458 -12,15,1.030414,0.046180,
2459 -11,15,1.029026,0.048991,
2460 -10,15,1.027274,0.051808,
2462 -14,16,1.029747,0.040066,
2463 -13,16,1.028895,0.042477,
2464 -12,16,1.027781,0.044941,
2465 -11,16,1.026377,0.047428,
2466 -10,16,1.024658,0.049894,
2468 -14,17,1.027486,0.039301,
2469 -13,17,1.026579,0.041475,
2470 -12,17,1.025438,0.043679,
2471 -11,17,1.024043,0.045883,
2472 -10,17,1.022375,0.048049,
2474 -14,18,1.025437,0.038481,
2475 -13,18,1.024499,0.040444,
2476 -12,18,1.023352,0.042417,
2477 -11,18,1.021981,0.044374,
2478 -10,18,1.020375,0.046282,
2480 -14,19,1.023580,0.037629,
2481 -13,19,1.022628,0.039401,
2482 -12,19,1.021489,0.041170,
2483 -11,19,1.020155,0.042912,
2484 -10,19,1.018617,0.044599,
2486 -14,20,1.021896,0.036759,
2487 -13,20,1.020942,0.038361,
2488 -12,20,1.019824,0.039950,
2489 -11,20,1.018533,0.041505,
2490 -10,20,1.017066,0.043001,
2492 -09,00,1.152759,0.003489,
2493 -08,00,1.181848,0.008431,
2494 -07,00,1.222408,0.020053,
2495 -06,00,1.278884,0.046723,
2496 -05,00,1.353831,0.105839,
2498 -09,01,1.146232,0.026376,
2499 -08,01,1.169677,0.038841,
2500 -07,01,1.199049,0.060219,
2501 -06,01,1.233798,0.097331,
2502 -05,01,1.268723,0.160826,
2504 -09,02,1.134679,0.044579,
2505 -08,02,1.151385,0.060814,
2506 -07,02,1.169639,0.085335,
2507 -06,02,1.186778,0.122162,
2508 -05,02,1.196351,0.175646,
2510 -09,03,1.120694,0.057595,
2511 -08,03,1.131255,0.074701,
2512 -07,03,1.140733,0.098259,
2513 -06,03,1.146266,0.130005,
2514 -05,03,1.142853,0.170672,
2516 -09,04,1.106249,0.065948,
2517 -08,04,1.111968,0.082156,
2518 -07,04,1.115404,0.102861,
2519 -06,04,1.114273,0.128440,
2520 -05,04,1.105376,0.158134,
2522 -09,05,1.092564,0.070592,
2523 -08,05,1.094818,0.085055,
2524 -07,05,1.094475,0.102411,
2525 -06,05,1.089952,0.122397,
2526 -05,05,1.079407,0.143879,
2528 -09,06,1.080246,0.072520,
2529 -08,06,1.080188,0.084987,
2530 -07,06,1.077672,0.099188,
2531 -06,06,1.071684,0.114638,
2532 -05,06,1.061236,0.130280,
2534 -09,07,1.069494,0.072580,
2535 -08,07,1.067987,0.083120,
2536 -07,07,1.064339,0.094618,
2537 -06,07,1.057935,0.106568,
2538 -05,07,1.048279,0.118116,
2540 -09,08,1.060276,0.071425,
2541 -08,08,1.057920,0.080250,
2542 -07,08,1.053778,0.089537,
2543 -06,08,1.047493,0.098840,
2544 -05,08,1.038838,0.107508,
2546 -09,09,1.052450,0.069523,
2547 -08,09,1.049645,0.076885,
2548 -07,09,1.045382,0.084405,
2549 -06,09,1.039464,0.091717,
2550 -05,09,1.031806,0.098337,
2552 -09,10,1.045832,0.067197,
2553 -08,10,1.042834,0.073340,
2554 -07,10,1.038659,0.079462,
2555 -06,10,1.033205,0.085271,
2556 -05,10,1.026459,0.090413,
2558 -09,11,1.040241,0.064664,
2559 -08,11,1.037210,0.069803,
2560 -07,11,1.033231,0.074821,
2561 -06,11,1.028260,0.079488,
2562 -05,11,1.022317,0.083544,
2564 -09,12,1.035508,0.062063,
2565 -08,12,1.032539,0.066381,
2566 -07,12,1.028808,0.070524,
2567 -06,12,1.024300,0.074315,
2568 -05,12,1.019052,0.077561,
2570 -09,13,1.031490,0.059482,
2571 -08,13,1.028638,0.063128,
2572 -07,13,1.025171,0.066576,
2573 -06,13,1.021090,0.069688,
2574 -05,13,1.016439,0.072320,
2576 -09,14,1.028065,0.056975,
2577 -08,14,1.025359,0.060070,
2578 -07,14,1.022152,0.062962,
2579 -06,14,1.018458,0.065542,
2580 -05,14,1.014319,0.067702,
2582 -09,15,1.025132,0.054573,
2583 -08,15,1.022583,0.057215,
2584 -07,15,1.019626,0.059658,
2585 -06,15,1.016277,0.061817,
2586 -05,15,1.012577,0.063610,
2588 -09,16,1.022608,0.052291,
2589 -08,16,1.020219,0.054559,
2590 -07,16,1.017494,0.056638,
2591 -06,16,1.014452,0.058460,
2592 -05,16,1.011130,0.059962,
2594 -09,17,1.020426,0.050135,
2595 -08,17,1.018192,0.052094,
2596 -07,17,1.015681,0.053874,
2597 -06,17,1.012912,0.055424,
2598 -05,17,1.009915,0.056694,
2600 -09,18,1.018530,0.048106,
2601 -08,18,1.016444,0.049806,
2602 -07,18,1.014129,0.051341,
2603 -06,18,1.011600,0.052670,
2604 -05,18,1.008887,0.053752,
2606 -09,19,1.016874,0.046201,
2607 -08,19,1.014929,0.047684,
2608 -07,19,1.012790,0.049015,
2609 -06,19,1.010476,0.050161,
2610 -05,19,1.008009,0.051092,
2612 -09,20,1.015422,0.044413,
2613 -08,20,1.013607,0.045714,
2614 -07,20,1.011629,0.046875,
2615 -06,20,1.009505,0.047870,
2616 -05,20,1.007254,0.048675,
2618 /* Table 5.6 p. 250 */
2620 -4,00,1.438208,0.230161,
2621 -3,00,1.483729,0.469232,
2622 -2,00,1.340965,0.850337,
2623 -1,00,0.697175,1.155727,
2624 /* -0,00,0.577216,0.000000, den Test auf Null verbessern */
2626 -4,01,1.287244,0.263705,
2627 -3,01,1.251069,0.410413,
2628 -2,01,1.098808,0.561916,
2629 -1,01,0.813486,0.578697,
2630 -0,01,0.621450,0.343378,
2632 -4,02,1.185758,0.247356,
2633 -3,02,1.136171,0.328439,
2634 -2,02,1.032990,0.388428,
2635 -1,02,0.896419,0.378838,
2636 -0,02,0.798042,0.289091,
2638 -4,03,1.123282,0.217835,
2639 -3,03,1.080316,0.262814,
2640 -2,03,1.013205,0.289366,
2641 -1,03,0.936283,0.280906,
2642 -0,03,0.875873,0.237665,
2644 -4,04,1.085153,0.189003,
2645 -3,04,1.051401,0.215118,
2646 -2,04,1.006122,0.228399,
2647 -1,04,0.957446,0.222612,
2648 -0,04,0.916770,0.198713,
2650 -4,05,1.061263,0.164466,
2651 -3,05,1.035185,0.180487,
2652 -2,05,1.003172,0.187857,
2653 -1,05,0.969809,0.183963,
2654 -0,05,0.940714,0.169481,
2656 -4,06,1.045719,0.144391,
2657 -3,06,1.025396,0.154746,
2658 -2,06,1.001788,0.159189,
2659 -1,06,0.977582,0.156511,
2660 -0,06,0.955833,0.147129,
2662 -4,07,1.035205,0.128073,
2663 -3,07,1.019109,0.135079,
2664 -2,07,1.001077,0.137939,
2665 -1,07,0.982756,0.136042,
2666 -0,07,0.965937,0.129646,
2668 -4,08,1.027834,0.114732,
2669 -3,08,1.014861,0.119660,
2670 -2,08,1.000684,0.121599,
2671 -1,08,0.986356,0.120218,
2672 -0,08,0.972994,0.115678,
2674 -4,09,1.022501,0.103711,
2675 -3,09,1.011869,0.107294,
2676 -2,09,1.000454,0.108665,
2677 -1,09,0.988955,0.107634,
2678 -0,09,0.978103,0.104303,
2680 -4,10,1.018534,0.094502,
2681 -3,10,1.009688,0.097181,
2682 -2,10,1.000312,0.098184,
2683 -1,10,0.990887,0.097396,
2684 -0,10,0.981910,0.094885,
2686 -4,11,1.015513,0.086718,
2687 -3,11,1.008052,0.088770,
2688 -2,11,1.000221,0.089525,
2689 -1,11,0.992361,0.088911,
2690 -0,11,0.984819,0.086975,
2692 -4,12,1.013163,0.080069,
2693 -3,12,1.006795,0.081673,
2694 -2,12,1.000161,0.082255,
2695 -1,12,0.993508,0.081769,
2696 -0,12,0.987088,0.080245,
2698 -4,13,1.011303,0.074333,
2699 -3,13,1.005809,0.075609,
2700 -2,13,1.000119,0.076067,
2701 -1,13,0.994418,0.075676,
2702 -0,13,0.988891,0.074457,
2704 -4,14,1.009806,0.069340,
2705 -3,14,1.005022,0.070371,
2706 -2,14,1.000090,0.070738,
2707 -1,14,0.995151,0.070419,
2708 -0,14,0.990345,0.069429,
2710 -4,15,1.008585,0.064959,
2711 -3,15,1.004384,0.065803,
2712 -2,15,1.000070,0.066102,
2713 -1,15,0.995751,0.065838,
2714 -0,15,0.991534,0.065024,
2716 -4,16,1.007577,0.061086,
2717 -3,16,1.003859,0.061786,
2718 -2,16,1.000055,0.062032,
2719 -1,16,0.996246,0.061812,
2720 -0,16,0.992518,0.061135,
2722 -4,17,1.006735,0.057640,
2723 -3,17,1.003423,0.058227,
2724 -2,17,1.000043,0.058432,
2725 -1,17,0.996661,0.058246,
2726 -0,17,0.993342,0.057677,
2728 -4,18,1.006025,0.054555,
2729 -3,18,1.003057,0.055052,
2730 -2,18,1.000035,0.055224,
2731 -1,18,0.997011,0.055066,
2732 -0,18,0.994038,0.054583,
2734 -4,19,1.005420,0.051779,
2735 -3,19,1.002747,0.052202,
2736 -2,19,1.000028,0.052349,
2737 -1,19,0.997309,0.052214,
2738 -0,19,0.994631,0.051801,
2740 -4,20,1.004902,0.049267,
2741 -3,20,1.002481,0.049631,
2742 -2,20,1.000023,0.049757,
2743 -1,20,0.997565,0.049640,
2744 -0,20,0.995140,0.049284,
2746 01,00,0.596347,0.000000,
2747 02,00,0.722657,0.000000,
2748 03,00,0.786251,0.000000,
2749 04,00,0.825383,0.000000,
2750 05,00,0.852111,0.000000,
2752 01,01,0.673321,0.147864,
2753 02,01,0.747012,0.075661,
2754 03,01,0.797036,0.045686,
2755 04,01,0.831126,0.030619,
2756 05,01,0.855544,0.021985,
2758 01,02,0.777514,0.186570,
2759 02,02,0.796965,0.118228,
2760 03,02,0.823055,0.078753,
2761 04,02,0.846097,0.055494,
2762 05,02,0.864880,0.040999,
2764 01,03,0.847468,0.181226,
2765 02,03,0.844361,0.132252,
2766 03,03,0.853176,0.096659,
2767 04,03,0.865521,0.072180,
2768 05,03,0.877860,0.055341,
2770 01,04,0.891460,0.165207,
2771 02,04,0.881036,0.131686,
2772 03,04,0.880584,0.103403,
2773 04,04,0.885308,0.081408,
2774 05,04,0.892143,0.064825,
2776 01,05,0.919826,0.148271,
2777 02,05,0.907873,0.125136,
2778 03,05,0.903152,0.103577,
2779 04,05,0.903231,0.085187,
2780 05,05,0.906058,0.070209,
2782 01,06,0.938827,0.132986,
2783 02,06,0.927384,0.116656,
2784 03,06,0.921006,0.100357,
2785 04,06,0.918527,0.085460,
2786 05,06,0.918708,0.072544,
2788 01,07,0.952032,0.119807,
2789 02,07,0.941722,0.107990,
2790 03,07,0.934958,0.095598,
2791 04,07,0.931209,0.083666,
2792 05,07,0.929765,0.072792,
2794 01,08,0.961512,0.108589,
2795 02,08,0.952435,0.099830,
2796 03,08,0.945868,0.090303,
2797 04,08,0.941594,0.080755,
2798 05,08,0.939221,0.071700,
2800 01,09,0.968512,0.099045,
2801 02,09,0.960582,0.092408,
2802 03,09,0.954457,0.084986,
2803 04,09,0.950072,0.077313,
2804 05,09,0.947219,0.069799,
2806 01,10,0.973810,0.090888,
2807 02,10,0.966885,0.085758,
2808 03,10,0.961283,0.079898,
2809 04,10,0.957007,0.073688,
2810 05,10,0.953955,0.067447,
2812 01,11,0.977904,0.083871,
2813 02,11,0.971842,0.079836,
2814 03,11,0.966766,0.075147,
2815 04,11,0.962708,0.070080,
2816 05,11,0.959626,0.064878,
2818 01,12,0.981127,0.077790,
2819 02,12,0.975799,0.074567,
2820 03,12,0.971216,0.070769,
2821 04,12,0.967423,0.066599,
2822 05,12,0.964412,0.062242,
2824 01,13,0.983706,0.072484,
2825 02,13,0.979000,0.069873,
2826 03,13,0.974865,0.066762,
2827 04,13,0.971351,0.063300,
2828 05,13,0.968464,0.059630,
2830 01,14,0.985799,0.067822,
2831 02,14,0.981621,0.065679,
2832 03,14,0.977888,0.063104,
2833 04,14,0.974646,0.060206,
2834 05,14,0.971911,0.057096,
2836 01,15,0.987519,0.063698,
2837 02,15,0.983791,0.061921,
2838 03,15,0.980414,0.059767,
2839 04,15,0.977430,0.057322,
2840 05,15,0.974858,0.054671,
2842 01,16,0.988949,0.060029,
2843 02,16,0.985606,0.058539,
2844 03,16,0.982544,0.056723,
2845 04,16,0.979799,0.054644,
2846 05,16,0.977391,0.052371,
2848 01,17,0.990149,0.056745,
2849 02,17,0.987138,0.055485,
2850 03,17,0.984353,0.053941,
2851 04,17,0.981827,0.052162,
2852 05,17,0.979579,0.050200,
2854 01,18,0.991167,0.053792,
2855 02,18,0.988442,0.052717,
2856 03,18,0.985902,0.051394,
2857 04,18,0.983574,0.049861,
2858 05,18,0.981478,0.048160,
2860 01,19,0.992036,0.051122,
2861 02,19,0.989561,0.050199,
2862 03,19,0.987237,0.049057,
2863 04,19,0.985089,0.047728,
2864 05,19,0.983135,0.046245,
2866 01,20,0.992784,0.048699,
2867 02,20,0.990527,0.047900,
2868 03,20,0.988395,0.046909,
2869 04,20,0.986410,0.045749,
2870 05,20,0.984587,0.044449,
2872 06,00,0.871606,0.000000,
2873 07,00,0.886488,0.000000,
2874 08,00,0.898237,0.000000,
2875 09,00,0.907758,0.000000,
2876 10,00,0.915633,0.000000,
2878 06,01,0.873827,0.016570,
2879 07,01,0.888009,0.012947,
2880 08,01,0.899327,0.010401,
2881 09,01,0.908565,0.008543,
2882 10,01,0.916249,0.007143,
2884 06,02,0.880023,0.031454,
2885 07,02,0.892327,0.024866,
2886 08,02,0.902453,0.020140,
2887 09,02,0.910901,0.016639,
2888 10,02,0.918040,0.013975,
2890 06,03,0.889029,0.043517,
2891 07,03,0.898793,0.034995,
2892 08,03,0.907236,0.028693,
2893 09,03,0.914531,0.023921,
2894 10,03,0.920856,0.020230,
2896 06,04,0.899484,0.052380,
2897 07,04,0.906591,0.042967,
2898 08,04,0.913167,0.035755,
2899 09,04,0.919127,0.030145,
2900 10,04,0.924479,0.025717,
2902 06,05,0.910242,0.058259,
2903 07,05,0.914952,0.048780,
2904 08,05,0.919729,0.041242,
2905 09,05,0.924336,0.035208,
2906 10,05,0.928664,0.030334,
2908 06,06,0.920534,0.061676,
2909 07,06,0.923283,0.052667,
2910 08,06,0.926481,0.045242,
2911 09,06,0.929836,0.039123,
2912 10,06,0.933175,0.034063,
2914 06,07,0.929945,0.063220,
2915 07,07,0.931193,0.054971,
2916 08,07,0.933096,0.047942,
2917 09,07,0.935365,0.041986,
2918 10,07,0.937807,0.036944,
2920 06,08,0.938313,0.063425,
2921 07,08,0.938469,0.056047,
2922 08,08,0.939359,0.049570,
2923 09,08,0.940731,0.043936,
2924 10,08,0.942398,0.039060,
2926 06,09,0.945629,0.062714,
2927 07,09,0.945023,0.056211,
2928 08,09,0.945154,0.050349,
2929 09,09,0.945812,0.045128,
2930 10,09,0.946833,0.040514,
2932 06,10,0.951965,0.061408,
2933 07,10,0.950850,0.055725,
2934 08,10,0.950427,0.050481,
2935 09,10,0.950535,0.045711,
2936 10,10,0.951035,0.041413,
2938 06,11,0.957427,0.059735,
2939 07,11,0.955987,0.054790,
2940 08,11,0.955176,0.050135,
2941 09,11,0.954870,0.045818,
2942 10,11,0.954959,0.041861,
2944 06,12,0.962128,0.057855,
2945 07,12,0.960495,0.053560,
2946 08,12,0.959421,0.049444,
2947 09,12,0.958814,0.045563,
2948 10,12,0.958586,0.041948,
2950 06,13,0.966178,0.055877,
2951 07,13,0.964444,0.052146,
2952 08,13,0.963201,0.048514,
2953 09,13,0.962379,0.045038,
2954 10,13,0.961913,0.041755,
2956 06,14,0.969673,0.053874,
2957 07,14,0.967903,0.050627,
2958 08,14,0.966559,0.047425,
2959 09,14,0.965591,0.044319,
2960 10,14,0.964949,0.041347,
2962 06,15,0.972699,0.051894,
2963 07,15,0.970935,0.049062,
2964 08,15,0.969539,0.046236,
2965 09,15,0.968477,0.043463,
2966 10,15,0.967710,0.040780,
2968 06,16,0.975326,0.049966,
2969 07,16,0.973597,0.047489,
2970 08,16,0.972185,0.044992,
2971 09,16,0.971067,0.042516,
2972 10,16,0.970214,0.040095,
2974 06,17,0.977617,0.048109,
2975 07,17,0.975940,0.045935,
2976 08,17,0.974538,0.043724,
2977 09,17,0.973393,0.041512,
2978 10,17,0.972484,0.039329,
2980 06,18,0.979622,0.046332,
2981 07,18,0.978009,0.044419,
2982 08,18,0.976632,0.042456,
2983 09,18,0.975481,0.040477,
2984 10,18,0.974540,0.038508,
2986 06,19,0.981384,0.044641,
2987 07,19,0.979839,0.042951,
2988 08,19,0.978500,0.041205,
2989 09,19,0.977357,0.039431,
2990 10,19,0.976402,0.037653,
2992 06,20,0.982938,0.043036,
2993 07,20,0.981465,0.041538,
2994 08,20,0.980169,0.039980,
2995 09,20,0.979047,0.038388,
2996 10,20,0.978090,0.036781,
2998 /* Table 5.6 p. 251 */
3000 11,00,0.922260,0.000000,
3001 12,00,0.927914,0.000000,
3002 13,00,0.932796,0.000000,
3003 14,00,0.937055,0.000000,
3004 15,00,0.940804,0.000000,
3006 11,01,0.922740,0.006063,
3007 12,01,0.928295,0.005212,
3008 13,01,0.933105,0.004528,
3009 14,01,0.937308,0.003972,
3010 15,01,0.941014,0.003512,
3012 11,02,0.924143,0.011902,
3013 12,02,0.929416,0.010258,
3014 13,02,0.934013,0.008932,
3015 14,02,0.938055,0.007847,
3016 15,02,0.941636,0.006949,
3018 11,03,0.926370,0.017321,
3019 12,03,0.931205,0.014991,
3020 13,03,0.935473,0.013098,
3021 14,03,0.939261,0.011540,
3022 15,03,0.942643,0.010242,
3024 11,04,0.929270,0.022171,
3025 12,04,0.933560,0.019295,
3026 13,04,0.937408,0.016934,
3027 14,04,0.940870,0.014974,
3028 15,04,0.943994,0.013331,
3030 11,05,0.932672,0.026361,
3031 12,05,0.936356,0.023091,
3032 13,05,0.939729,0.020373,
3033 14,05,0.942816,0.018095,
3034 15,05,0.945640,0.016169,
3036 11,06,0.936400,0.029857,
3037 12,06,0.939462,0.026339,
3038 13,06,0.942338,0.023378,
3039 14,06,0.945024,0.020867,
3040 15,06,0.947522,0.018725,
3042 11,07,0.940297,0.032670,
3043 12,07,0.942757,0.029036,
3044 13,07,0.945140,0.025934,
3045 14,07,0.947419,0.023273,
3046 15,07,0.949582,0.020980,
3048 11,08,0.944229,0.034847,
3049 12,08,0.946132,0.031205,
3050 13,08,0.948047,0.028052,
3051 14,08,0.949933,0.025315,
3052 15,08,0.951765,0.022931,
3054 11,09,0.948093,0.036453,
3055 12,09,0.949500,0.032887,
3056 13,09,0.950985,0.029756,
3057 14,09,0.952502,0.027004,
3058 15,09,0.954018,0.024582,
3060 11,10,0.951816,0.037566,
3061 12,10,0.952792,0.034134,
3062 13,10,0.953895,0.031081,
3063 14,10,0.955075,0.028365,
3064 15,10,0.956296,0.025949,
3066 11,11,0.955347,0.038261,
3067 12,11,0.955958,0.035004,
3068 13,11,0.956729,0.032068,
3069 14,11,0.957610,0.029426,
3070 15,11,0.958563,0.027052,
3072 11,12,0.958659,0.038612,
3073 12,12,0.958968,0.035552,
3074 13,12,0.959454,0.032761,
3075 14,12,0.960073,0.030221,
3076 15,12,0.960787,0.027915,
3078 11,13,0.961739,0.038684,
3079 12,13,0.961800,0.035833,
3080 13,13,0.962049,0.033201,
3081 14,13,0.962443,0.030781,
3082 15,13,0.962947,0.028564,
3084 11,14,0.964583,0.038534,
3085 12,14,0.964447,0.035893,
3086 13,14,0.964499,0.033428,
3087 14,14,0.964702,0.031140,
3088 15,14,0.965026,0.029024,
3090 11,15,0.967199,0.038211,
3091 12,15,0.966907,0.035775,
3092 13,15,0.966799,0.033479,
3093 14,15,0.966843,0.031327,
3094 15,15,0.967011,0.029320,
3096 11,16,0.969597,0.037756,
3097 12,16,0.969184,0.035515,
3098 13,16,0.968947,0.033384,
3099 14,16,0.968860,0.031370,
3100 15,16,0.968897,0.029476,
3102 11,17,0.971789,0.037200,
3103 12,17,0.971285,0.035144,
3104 13,17,0.970946,0.033172,
3105 14,17,0.970752,0.031293,
3106 15,17,0.970680,0.029512,
3108 11,18,0.973792,0.036572,
3109 12,18,0.973220,0.034687,
3110 13,18,0.972802,0.032865,
3111 14,18,0.972521,0.031117,
3112 15,18,0.972359,0.029448,
3114 11,19,0.975621,0.035893,
3115 12,19,0.974999,0.034166,
3116 13,19,0.974521,0.032485,
3117 14,19,0.974172,0.030862,
3118 15,19,0.973936,0.029301,
3120 11,20,0.977290,0.035179,
3121 12,20,0.976634,0.033597,
3122 13,20,0.976112,0.032049,
3123 14,20,0.975709,0.030542,
3124 15,20,0.975414,0.029086,
3126 16,00,0.944130,0.000000,
3127 17,00,0.947100,0.000000,
3128 18,00,0.949769,0.000000,
3129 19,00,0.952181,0.000000,
3130 20,00,0.954371,0.000000,
3132 16,01,0.944306,0.003128,
3133 17,01,0.947250,0.002804,
3134 18,01,0.949897,0.002527,
3135 19,01,0.952291,0.002290,
3136 20,01,0.954467,0.002085,
3138 16,02,0.944829,0.006196,
3139 17,02,0.947693,0.005560,
3140 18,02,0.950277,0.005016,
3141 19,02,0.952619,0.004549,
3142 20,02,0.954752,0.004144,
3144 16,03,0.945678,0.009150,
3145 17,03,0.948416,0.008223,
3146 18,03,0.950898,0.007430,
3147 19,03,0.953156,0.006745,
3148 20,03,0.955219,0.006151,
3150 16,04,0.946824,0.011940,
3151 17,04,0.949395,0.010754,
3152 18,04,0.951741,0.009735,
3153 19,04,0.953887,0.008853,
3154 20,04,0.955856,0.008084,
3156 16,05,0.948226,0.014529,
3157 17,05,0.950600,0.013121,
3158 18,05,0.952782,0.011904,
3159 19,05,0.954793,0.010847,
3160 20,05,0.956650,0.009922,
3162 16,06,0.949842,0.016886,
3163 17,06,0.951995,0.015296,
3164 18,06,0.953995,0.013916,
3165 19,06,0.955853,0.012709,
3166 20,06,0.957581,0.011649,
3168 16,07,0.951624,0.018994,
3169 17,07,0.953545,0.017265,
3170 18,07,0.955349,0.015753,
3171 19,07,0.957043,0.014425,
3172 20,07,0.958631,0.013253,
3174 16,08,0.953527,0.020847,
3175 17,08,0.955212,0.019019,
3176 18,08,0.956815,0.017409,
3177 19,08,0.958337,0.015986,
3178 20,08,0.959779,0.014723,
3180 16,09,0.955509,0.022445,
3181 17,09,0.956960,0.020555,
3182 18,09,0.958363,0.018878,
3183 19,09,0.959712,0.017387,
3184 20,09,0.961004,0.016056,
3186 16,10,0.957530,0.023797,
3187 17,10,0.958758,0.021878,
3188 18,10,0.959966,0.020163,
3189 19,10,0.961144,0.018628,
3190 20,10,0.962288,0.017250,
3192 16,11,0.959559,0.024917,
3193 17,11,0.960576,0.022998,
3194 18,11,0.961598,0.021270,
3195 19,11,0.962612,0.019712,
3196 20,11,0.963611,0.018305,
3198 16,12,0.961568,0.025823,
3199 17,12,0.962391,0.023927,
3200 18,12,0.963238,0.022207,
3201 19,12,0.964097,0.020645,
3202 20,12,0.964956,0.019227,
3204 16,13,0.963534,0.026534,
3205 17,13,0.964181,0.024679,
3206 18,13,0.964868,0.022984,
3207 19,13,0.965582,0.021436,
3208 20,13,0.966310,0.020021,
3210 16,14,0.965443,0.027070,
3211 17,14,0.965931,0.025271,
3212 18,14,0.966472,0.023616,
3213 19,14,0.967052,0.022094,
3214 20,14,0.967658,0.020694,
3216 16,15,0.967280,0.027453,
3217 17,15,0.967628,0.025720,
3218 18,15,0.968039,0.024114,
3219 19,15,0.968496,0.022629,
3220 20,15,0.968990,0.021255,
3222 16,16,0.969038,0.027700,
3223 17,16,0.969264,0.026041,
3224 18,16,0.969558,0.024493,
3225 19,16,0.969906,0.023052,
3226 20,16,0.970297,0.021712,
3228 16,17,0.970712,0.027831,
3229 17,17,0.970832,0.026249,
3230 18,17,0.971023,0.024765,
3231 19,17,0.971273,0.023375,
3232 20,17,0.971571,0.022075,
3234 16,18,0.972300,0.027862,
3235 17,18,0.972328,0.026361,
3236 18,18,0.972430,0.024943,
3237 19,18,0.972594,0.023607,
3238 20,18,0.972808,0.022352,
3240 16,19,0.973800,0.027809,
3241 17,19,0.973751,0.026388,
3242 18,19,0.973775,0.025038,
3243 19,19,0.973863,0.023760,
3244 20,19,0.974004,0.022552,
3246 16,20,0.975215,0.027685,
3247 17,20,0.975099,0.026343,
3248 18,20,0.975057,0.025062,
3249 19,20,0.975079,0.023842,
3250 20,20,0.975155,0.022684
3254 test_complex_table(lambda([z],z*%e^z*expintegral_e1(z)),'ec_1,838,1.25e-6);
3260 /*****************************************************************************/