Blame view

fvn_fnlib/e1.f 11.4 KB
38581db0c   daniau   git-svn-id: https...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
        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