function e1 (x) c july 1977 edition. w. fullerton, c3, los alamos scientific lab. dimension ae11cs(39), ae12cs(25), e11cs(19), e12cs(16), 1 ae13cs(25), ae14cs(26) external csevl, inits, r1mach c c series for ae11 on the interval -1.00000d-01 to 0. c with weighted error 1.76e-17 c log weighted error 16.75 c significant figures required 15.70 c decimal places required 17.55 c data ae11cs( 1) / .1215032397 1606579e0 / data ae11cs( 2) / -.0650887785 13550150e0 / data ae11cs( 3) / .0048976513 57459670e0 / data ae11cs( 4) / -.0006492378 43027216e0 / data ae11cs( 5) / .0000938404 34587471e0 / data ae11cs( 6) / .0000004202 36380882e0 / data ae11cs( 7) / -.0000081133 74735904e0 / data ae11cs( 8) / .0000028042 47688663e0 / data ae11cs( 9) / .0000000564 87164441e0 / data ae11cs(10) / -.0000003448 09174450e0 / data ae11cs(11) / .0000000582 09273578e0 / data ae11cs(12) / .0000000387 11426349e0 / data ae11cs(13) / -.0000000124 53235014e0 / data ae11cs(14) / -.0000000051 18504888e0 / data ae11cs(15) / .0000000021 48771527e0 / data ae11cs(16) / .0000000008 68459898e0 / data ae11cs(17) / -.0000000003 43650105e0 / data ae11cs(18) / -.0000000001 79796603e0 / data ae11cs(19) / .0000000000 47442060e0 / data ae11cs(20) / .0000000000 40423282e0 / data ae11cs(21) / -.0000000000 03543928e0 / data ae11cs(22) / -.0000000000 08853444e0 / data ae11cs(23) / -.0000000000 00960151e0 / data ae11cs(24) / .0000000000 01692921e0 / data ae11cs(25) / .0000000000 00607990e0 / data ae11cs(26) / -.0000000000 00224338e0 / data ae11cs(27) / -.0000000000 00200327e0 / data ae11cs(28) / -.0000000000 00006246e0 / data ae11cs(29) / .0000000000 00045571e0 / data ae11cs(30) / .0000000000 00016383e0 / data ae11cs(31) / -.0000000000 00005561e0 / data ae11cs(32) / -.0000000000 00006074e0 / data ae11cs(33) / -.0000000000 00000862e0 / data ae11cs(34) / .0000000000 00001223e0 / data ae11cs(35) / .0000000000 00000716e0 / data ae11cs(36) / -.0000000000 00000024e0 / data ae11cs(37) / -.0000000000 00000201e0 / data ae11cs(38) / -.0000000000 00000082e0 / data ae11cs(39) / .0000000000 00000017e0 / c c series for ae12 on the interval -2.50000d-01 to -1.00000d-01 c with weighted error 5.83e-17 c log weighted error 16.23 c significant figures required 15.76 c decimal places required 16.93 c data ae12cs( 1) / .5824174951 3472674e0 / data ae12cs( 2) / -.1583488509 0578275e0 / data ae12cs( 3) / -.0067642755 90323141e0 / data ae12cs( 4) / .0051258439 50185725e0 / data ae12cs( 5) / .0004352324 92169391e0 / data ae12cs( 6) / -.0001436133 66305483e0 / data ae12cs( 7) / -.0000418013 20556301e0 / data ae12cs( 8) / -.0000027133 95758640e0 / data ae12cs( 9) / .0000011513 81913647e0 / data ae12cs(10) / .0000004206 50022012e0 / data ae12cs(11) / .0000000665 81901391e0 / data ae12cs(12) / .0000000006 62143777e0 / data ae12cs(13) / -.0000000028 44104870e0 / data ae12cs(14) / -.0000000009 40724197e0 / data ae12cs(15) / -.0000000001 77476602e0 / data ae12cs(16) / -.0000000000 15830222e0 / data ae12cs(17) / .0000000000 02905732e0 / data ae12cs(18) / .0000000000 01769356e0 / data ae12cs(19) / .0000000000 00492735e0 / data ae12cs(20) / .0000000000 00093709e0 / data ae12cs(21) / .0000000000 00010707e0 / data ae12cs(22) / -.0000000000 00000537e0 / data ae12cs(23) / -.0000000000 00000716e0 / data ae12cs(24) / -.0000000000 00000244e0 / data ae12cs(25) / -.0000000000 00000058e0 / c c series for e11 on the interval -4.00000d+00 to -1.00000d+00 c with weighted error 1.08e-18 c log weighted error 17.97 c significant figures required 19.02 c decimal places required 18.61 c data e11 cs( 1) / -16.1134616555 71494026e0 / data e11 cs( 2) / 7.7940727787 426802769e0 / data e11 cs( 3) / -1.9554058188 631419507e0 / data e11 cs( 4) / .3733729386 6277945612e0 / data e11 cs( 5) / -.0569250319 1092901938e0 / data e11 cs( 6) / .0072110777 6966009185e0 / data e11 cs( 7) / -.0007810490 1449841593e0 / data e11 cs( 8) / .0000738809 3356262168e0 / data e11 cs( 9) / -.0000062028 6187580820e0 / data e11 cs(10) / .0000004681 6002303176e0 / data e11 cs(11) / -.0000000320 9288853329e0 / data e11 cs(12) / .0000000020 1519974874e0 / data e11 cs(13) / -.0000000001 1673686816e0 / data e11 cs(14) / .0000000000 0627627066e0 / data e11 cs(15) / -.0000000000 0031481541e0 / data e11 cs(16) / .0000000000 0001479904e0 / data e11 cs(17) / -.0000000000 0000065457e0 / data e11 cs(18) / .0000000000 0000002733e0 / data e11 cs(19) / -.0000000000 0000000108e0 / c c series for e12 on the interval -1.00000d+00 to 1.00000d+00 c with weighted error 3.15e-18 c log weighted error 17.50 c approx significant figures required 15.8 c decimal places required 18.10 c data e12 cs( 1) / -0.0373902147 92202795e0 / data e12 cs( 2) / 0.0427239860 62209577e0 / data e12 cs( 3) / -.1303182079 849700544e0 / data e12 cs( 4) / .0144191240 2469889073e0 / data e12 cs( 5) / -.0013461707 8051068022e0 / data e12 cs( 6) / .0001073102 9253063780e0 / data e12 cs( 7) / -.0000074299 9951611943e0 / data e12 cs( 8) / .0000004537 7325690753e0 / data e12 cs( 9) / -.0000000247 6417211390e0 / data e12 cs(10) / .0000000012 2076581374e0 / data e12 cs(11) / -.0000000000 5485141480e0 / data e12 cs(12) / .0000000000 0226362142e0 / data e12 cs(13) / -.0000000000 0008635897e0 / data e12 cs(14) / .0000000000 0000306291e0 / data e12 cs(15) / -.0000000000 0000010148e0 / data e12 cs(16) / .0000000000 0000000315e0 / c c series for ae13 on the interval 2.50000d-01 to 1.00000d+00 c with weighted error 2.34e-17 c log weighted error 16.63 c significant figures required 16.14 c decimal places required 17.33 c data ae13cs( 1) / -.6057732466 4060346e0 / data ae13cs( 2) / -.1125352434 8366090e0 / data ae13cs( 3) / .0134322662 47902779e0 / data ae13cs( 4) / -.0019268451 87381145e0 / data ae13cs( 5) / .0003091183 37720603e0 / data ae13cs( 6) / -.0000535641 32129618e0 / data ae13cs( 7) / .0000098278 12880247e0 / data ae13cs( 8) / -.0000018853 68984916e0 / data ae13cs( 9) / .0000003749 43193568e0 / data ae13cs(10) / -.0000000768 23455870e0 / data ae13cs(11) / .0000000161 43270567e0 / data ae13cs(12) / -.0000000034 66802211e0 / data ae13cs(13) / .0000000007 58754209e0 / data ae13cs(14) / -.0000000001 68864333e0 / data ae13cs(15) / .0000000000 38145706e0 / data ae13cs(16) / -.0000000000 08733026e0 / data ae13cs(17) / .0000000000 02023672e0 / data ae13cs(18) / -.0000000000 00474132e0 / data ae13cs(19) / .0000000000 00112211e0 / data ae13cs(20) / -.0000000000 00026804e0 / data ae13cs(21) / .0000000000 00006457e0 / data ae13cs(22) / -.0000000000 00001568e0 / data ae13cs(23) / .0000000000 00000383e0 / data ae13cs(24) / -.0000000000 00000094e0 / data ae13cs(25) / .0000000000 00000023e0 / c c series for ae14 on the interval 0. to 2.50000d-01 c with weighted error 5.41e-17 c log weighted error 16.27 c significant figures required 15.38 c decimal places required 16.97 c data ae14cs( 1) / -.1892918000 753017e0 / data ae14cs( 2) / -.0864811785 5259871e0 / data ae14cs( 3) / .0072241015 4374659e0 / data ae14cs( 4) / -.0008097559 4575573e0 / data ae14cs( 5) / .0001099913 4432661e0 / data ae14cs( 6) / -.0000171733 2998937e0 / data ae14cs( 7) / .0000029856 2751447e0 / data ae14cs( 8) / -.0000005659 6491457e0 / data ae14cs( 9) / .0000001152 6808397e0 / data ae14cs(10) / -.0000000249 5030440e0 / data ae14cs(11) / .0000000056 9232420e0 / data ae14cs(12) / -.0000000013 5995766e0 / data ae14cs(13) / .0000000003 3846628e0 / data ae14cs(14) / -.0000000000 8737853e0 / data ae14cs(15) / .0000000000 2331588e0 / data ae14cs(16) / -.0000000000 0641148e0 / data ae14cs(17) / .0000000000 0181224e0 / data ae14cs(18) / -.0000000000 0052538e0 / data ae14cs(19) / .0000000000 0015592e0 / data ae14cs(20) / -.0000000000 0004729e0 / data ae14cs(21) / .0000000000 0001463e0 / data ae14cs(22) / -.0000000000 0000461e0 / data ae14cs(23) / .0000000000 0000148e0 / data ae14cs(24) / -.0000000000 0000048e0 / data ae14cs(25) / .0000000000 0000016e0 / data ae14cs(26) / -.0000000000 0000005e0 / c data ntae11, ntae12, nte11, nte12, ntae13, ntae14 /6*0/ data xmax /0./ c if (ntae11.ne.0) go to 10 eta = 0.1*r1mach(3) ntae11 = inits (ae11cs, 39, eta) ntae12 = inits (ae12cs, 25, eta) nte11 = inits (e11cs, 19, eta) nte12 = inits (e12cs, 16, eta) ntae13 = inits (ae13cs, 25, eta) ntae14 = inits (ae14cs, 26, eta) c xmax = -alog (r1mach(1)) xmax = xmax - alog(xmax) c 10 if (x.gt.(-10.)) go to 20 c c e1(x) = -ei(-x) for x .le. -10. c e1 = exp(-x)/x * (1.+csevl (20./x+1., ae11cs, ntae11)) return c 20 if (x.gt.(-4.0)) go to 30 c c e1(x) = -ei(-x) for -10. .lt. x .le. -4. c e1 = exp(-x)/x * (1.+csevl ((40./x+7.)/3., ae12cs, ntae12)) return c 30 if (x.gt.(-1.0)) go to 40 c c e1(x) = -ei(-x) for -4. .lt. x .le. -1. c e1 = -alog(abs(x)) + csevl ((2.*x+5.)/3., e11cs, nte11) return c 40 if (x.gt.1.) go to 50 if (x.eq.0.) call seteru (14he1 x is 0, 14, 2, 2) c c e1(x) = -ei(-x) for -1. .lt. x .le. 1., x .ne. 0. c e1 = (-alog(abs(x)) - 0.6875 + x) + csevl (x, e12cs, nte12) return c 50 if (x.gt.4.) go to 60 c c e1(x) = -ei(-x) for 1. .lt. x .le. 4. c e1 = exp(-x)/x * (1.+csevl ((8./x-5.)/3., ae13cs, ntae13)) return c 60 if (x.gt.xmax) go to 70 c c e1(x) = -ei(-x) for 4. .lt. x .le. xmax c e1 = exp(-x)/x * (1. + csevl (8./x-1., ae14cs, ntae14)) return c c e1(x) = -ei(-x) for x .gt. xmax c 70 call seteru (30he1 x so big e1 underflows, 30, 1, 0) e1 = 0. return c end