CYCLUS
pyne_decay.cc
Go to the documentation of this file.
1 #include "pyne.h"
2 #include "pyne_decay.h"
3 #ifndef PYNE_DECAY_IS_DUMMY
4 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6 // WARNING
7 // This file has been auto generated
8 // Do not modify directly. You have
9 // been warned. This is that warning
10 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12 
13 #ifndef PYNE_IS_AMALGAMATED
14 #include "decay.h"
15 #include "nucname.h"
16 #endif
17 
18 namespace pyne {
19 namespace decayers {
20 
21 void decay_h(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
22  //using std::exp2;
23  switch (nucname::id_to_state_id(it->first)) {
24  case 10010000: {
25  out[0] += it->second;
26  break;
27  } case 10020000: {
28  out[1] += it->second;
29  break;
30  } case 10030000: {
31  double b0 = exp2(-2.572085e-09*t);
32  out[2] += (it->second) * (b0);
33  out[4] += (it->second) * (-1.000000e+00*b0 + 1.0);
34  break;
35  } case 10060000: {
36  double b1 = exp2(-4.958882e+22*t);
37  out[3] += (it->second) * (b1);
38  break;
39  } default: {
40  outcomp.insert(*it);
41  break;
42  }
43  }
44 }
45 
46 void decay_he(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
47  //using std::exp2;
48  switch (nucname::id_to_state_id(it->first)) {
49  case 20030000: {
50  out[4] += it->second;
51  break;
52  } case 20040000: {
53  out[5] += it->second;
54  break;
55  } case 20050000: {
56  double b0 = exp2(-1.224415e+23*t);
57  out[6] += (it->second) * (b0);
58  break;
59  } case 20060000: {
60  double b1 = exp2(-1.239618e+00*t);
61  out[7] += (it->second) * (b1);
62  out[12] += (it->second) * (-1.000000e+00*b1 + 1.0);
63  break;
64  } case 20070000: {
65  double b2 = exp2(-5.289474e+17*t);
66  out[8] += (it->second) * (b2);
67  break;
68  } case 20080000: {
69  double b3 = exp2(-8.396306e+00*t);
70  double b4 = exp2(-1.190618e+00*t);
71  out[9] += (it->second) * (b3);
72  out[13] += (it->second) * (-1.600000e-01*b3 + 1.600000e-01);
73  out[14] += (it->second) * (-1.165233e+00*b3 + 1.165233e+00*b4);
74  out[5] += (it->second) * (1.652331e-01*b3 + -1.165233e+00*b4 + 0.84);
75  out[19] += (it->second) * (-9.739501e-17*b3 + 9.739501e-17*b4);
76  out[5] += (it->second) * (1.652331e-01*b3 + -1.165233e+00*b4 + 0.0);
77  break;
78  } case 20100000: {
79  double b5 = exp2(-2.644737e+17*t);
80  out[10] += (it->second) * (b5);
81  break;
82  } default: {
83  outcomp.insert(*it);
84  break;
85  }
86  }
87 }
88 
89 void decay_li(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
90  //using std::exp2;
91  switch (nucname::id_to_state_id(it->first)) {
92  case 30050000: {
93  double b0 = exp2(-6.450578e+22*t);
94  out[11] += (it->second) * (b0);
95  break;
96  } case 30060000: {
97  out[12] += it->second;
98  break;
99  } case 30070000: {
100  out[13] += it->second;
101  break;
102  } case 30080000: {
103  double b1 = exp2(-1.190618e+00*t);
104  double b2 = exp2(-1.424454e+16*t);
105  out[14] += (it->second) * (b1);
106  out[5] += (it->second) * (-1.000000e+00*b1 + 1.0);
107  out[19] += (it->second) * (8.358414e-17*b1 + -8.358414e-17*b2);
108  out[5] += (it->second) * (-1.000000e+00*b1 + 0.0);
109  break;
110  } case 30090000: {
111  double b3 = exp2(-5.608525e+00*t);
112  double b4 = exp2(-1.424454e+16*t);
113  out[15] += (it->second) * (b3);
114  out[19] += (it->second) * (2.000156e-16*b3 + -2.000156e-16*b4);
115  out[5] += (it->second) * (-5.080000e-01*b3 + 5.080000e-01);
116  out[20] += (it->second) * (-1.000000e+00*b3 + 0.492);
117  break;
118  } case 30110000: {
119  double b5 = exp2(-1.142857e+02*t);
120  double b6 = exp2(-7.267442e-02*t);
121  out[16] += (it->second) * (b5);
122  out[22] += (it->second) * (-1.000636e+00*b5 + 1.000636e+00*b6);
123  out[30] += (it->second) * (6.363058e-04*b5 + -1.000636e+00*b6 + 1.0);
124  out[13] += (it->second) * (1.972548e-05*b5 + -3.101973e-02*b6 + 0);
125  break;
126  } default: {
127  outcomp.insert(*it);
128  break;
129  }
130  }
131 }
132 
133 void decay_be(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
134  //using std::exp2;
135  switch (nucname::id_to_state_id(it->first)) {
136  case 40060000: {
137  double b0 = exp2(-8.624142e+17*t);
138  double b1 = exp2(-6.450578e+22*t);
139  out[17] += (it->second) * (b0);
140  out[11] += (it->second) * (1.336974e-05*b0 + -1.336974e-05*b1);
141  break;
142  } case 40070000: {
143  double b2 = exp2(-2.174760e-07*t);
144  out[18] += (it->second) * (b2);
145  out[13] += (it->second) * (-1.000000e+00*b2 + 1.0);
146  break;
147  } case 40080000: {
148  double b3 = exp2(-1.424454e+16*t);
149  out[19] += (it->second) * (b3);
150  out[5] += (it->second) * (-1.000000e+00*b3 + 1.0);
151  break;
152  } case 40090000: {
153  out[20] += it->second;
154  break;
155  } case 40100000: {
156  double b4 = exp2(-2.098549e-14*t);
157  out[21] += (it->second) * (b4);
158  out[29] += (it->second) * (-1.000000e+00*b4 + 1.0);
159  break;
160  } case 40110000: {
161  double b5 = exp2(-7.267442e-02*t);
162  out[22] += (it->second) * (b5);
163  out[30] += (it->second) * (-1.000000e+00*b5 + 1.0);
164  out[13] += (it->second) * (-3.100000e-02*b5 + 0);
165  break;
166  } case 40120000: {
167  double b6 = exp2(-4.694836e+01*t);
168  double b7 = exp2(-4.950495e+01*t);
169  out[23] += (it->second) * (b6);
170  out[31] += (it->second) * (1.836364e+01*b6 + -1.836364e+01*b7);
171  out[41] += (it->second) * (-1.936364e+01*b6 + 1.836364e+01*b7 + 1.0);
172  break;
173  } case 40130000: {
174  double b8 = exp2(-3.703704e+20*t);
175  out[24] += (it->second) * (b8);
176  break;
177  } case 40140000: {
178  double b9 = exp2(-2.298851e+02*t);
179  double b10 = exp2(-4.950495e+01*t);
180  double b11 = exp2(-5.770340e+01*t);
181  double b12 = exp2(-8.000000e+01*t);
182  double b13 = exp2(-5.559314e-12*t);
183  out[25] += (it->second) * (b9);
184  out[31] += (it->second) * (-6.372240e-02*b9 + 6.372240e-02*b10);
185  out[41] += (it->second) * (1.372240e-02*b9 + -6.372240e-02*b10 + 5.000000e-02);
186  out[32] += (it->second) * (-1.255023e+00*b9 + 1.255023e+00*b11);
187  out[42] += (it->second) * (3.150231e-01*b9 + -1.255023e+00*b11 + 9.400000e-01);
188  out[41] += (it->second) * (9.009661e-04*b9 + -3.589366e-03*b11 + 2.688400e-03);
189  out[33] += (it->second) * (-1.533742e+00*b9 + 1.533742e+00*b12);
190  out[43] += (it->second) * (5.337423e-01*b9 + -1.533742e+00*b12 + 1.000000e+00*b13);
191  out[53] += (it->second) * (-1.000000e+00*b13 + 0.0073116);
192  break;
193  } default: {
194  outcomp.insert(*it);
195  break;
196  }
197  }
198 }
199 
200 void decay_b(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
201  //using std::exp2;
202  switch (nucname::id_to_state_id(it->first)) {
203  case 50070000: {
204  double b0 = exp2(-9.905381e+16*t);
205  double b1 = exp2(-8.624142e+17*t);
206  double b2 = exp2(-6.450578e+22*t);
207  out[26] += (it->second) * (b0);
208  out[17] += (it->second) * (1.297602e-01*b0 + -1.297602e-01*b1);
209  out[11] += (it->second) * (1.734840e-06*b0 + -1.734861e-06*b1 + 2.053035e-11*b2);
210  break;
211  } case 50080000: {
212  double b3 = exp2(-1.298701e+00*t);
213  double b4 = exp2(-1.424454e+16*t);
214  out[27] += (it->second) * (b3);
215  out[5] += (it->second) * (-1.000000e+00*b3 + 1.0);
216  out[19] += (it->second) * (9.117185e-17*b3 + -9.117185e-17*b4);
217  out[5] += (it->second) * (-1.000000e+00*b3 + 0.0);
218  break;
219  } case 50090000: {
220  double b5 = exp2(-1.469298e+20*t);
221  double b6 = exp2(-1.424454e+16*t);
222  out[28] += (it->second) * (b5);
223  out[19] += (it->second) * (-1.000097e+00*b5 + 1.000097e+00*b6);
224  out[5] += (it->second) * (9.695734e-05*b5 + -1.000097e+00*b6 + 1.0);
225  break;
226  } case 50100000: {
227  out[29] += it->second;
228  break;
229  } case 50110000: {
230  out[30] += it->second;
231  break;
232  } case 50120000: {
233  double b7 = exp2(-4.950495e+01*t);
234  out[31] += (it->second) * (b7);
235  out[41] += (it->second) * (-1.000000e+00*b7 + 1.0);
236  break;
237  } case 50130000: {
238  double b8 = exp2(-5.770340e+01*t);
239  out[32] += (it->second) * (b8);
240  out[42] += (it->second) * (-1.000000e+00*b8 + 1.0);
241  out[41] += (it->second) * (-2.860000e-03*b8 + 0);
242  break;
243  } case 50140000: {
244  double b9 = exp2(-8.000000e+01*t);
245  double b10 = exp2(-5.559314e-12*t);
246  out[33] += (it->second) * (b9);
247  out[43] += (it->second) * (-1.000000e+00*b9 + 1.000000e+00*b10);
248  out[53] += (it->second) * (-1.000000e+00*b10 + 1.0);
249  break;
250  } case 50150000: {
251  double b11 = exp2(-1.007049e+02*t);
252  double b12 = exp2(-4.083299e-01*t);
253  out[34] += (it->second) * (b11);
254  out[44] += (it->second) * (-1.004071e+00*b11 + 1.004071e+00*b12);
255  out[54] += (it->second) * (4.071224e-03*b11 + -1.004071e+00*b12 + 1.0);
256  break;
257  } case 50160000: {
258  double b13 = exp2(-5.263158e+09*t);
259  out[35] += (it->second) * (b13);
260  break;
261  } case 50170000: {
262  double b14 = exp2(-1.968504e+02*t);
263  double b15 = exp2(-5.559314e-12*t);
264  double b16 = exp2(-5.181347e+00*t);
265  double b17 = exp2(-1.402525e-01*t);
266  double b18 = exp2(-2.396358e-01*t);
267  double b19 = exp2(-4.083299e-01*t);
268  double b20 = exp2(-1.338688e+00*t);
269  out[36] += (it->second) * (b14);
270  out[42] += (it->second) * (-4.000000e-03*b14 + 4.000000e-03);
271  out[43] += (it->second) * (-3.500000e-02*b14 + 3.500000e-02*b15);
272  out[53] += (it->second) * (-3.500000e-02*b15 + 3.500000e-02);
273  out[46] += (it->second) * (-1.027033e+00*b14 + 1.027033e+00*b16);
274  out[55] += (it->second) * (8.656657e-03*b14 + -3.377941e-01*b16 + 3.291375e-01*b17);
275  out[41] += (it->second) * (-7.401260e-11*b14 + 1.097239e-07*b16 + -3.949650e-06*b17 + 3.840000e-06);
276  out[68] += (it->second) * (-6.167717e-06*b14 + 9.143656e-03*b16 + -3.291375e-01*b17 + 3.200000e-01);
277  out[56] += (it->second) * (2.706573e-02*b14 + -1.076836e+00*b16 + 1.049770e+00*b18);
278  out[68] += (it->second) * (-3.133398e-05*b14 + 4.736298e-02*b16 + -9.983317e-01*b18 + 6.409962e-01);
279  out[69] += (it->second) * (-3.294845e-05*b14 + 4.980335e-02*b16 + -1.049770e+00*b18 + 0.0);
280  out[44] += (it->second) * (-1.102286e-01*b14 + 1.102286e-01*b19);
281  out[54] += (it->second) * (2.286491e-04*b14 + -1.102286e-01*b19 + 0);
282  out[45] += (it->second) * (-6.343137e-01*b14 + 6.343137e-01*b20);
283  out[54] += (it->second) * (4.270536e-03*b14 + -6.279705e-01*b20 + 0);
284  out[55] += (it->second) * (4.316748e-03*b14 + -7.085472e-01*b20 + 7.042304e-01*b17);
285  out[41] += (it->second) * (-3.690729e-11*b14 + 8.908018e-07*b20 + -8.450765e-06*b17 + 0);
286  out[68] += (it->second) * (-3.075607e-06*b14 + 7.423348e-02*b20 + -7.042304e-01*b17 + 0);
287  break;
288  } default: {
289  outcomp.insert(*it);
290  break;
291  }
292  }
293 }
294 
295 void decay_c(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
296  //using std::exp2;
297  switch (nucname::id_to_state_id(it->first)) {
298  case 60080000: {
299  double b0 = exp2(-3.449657e+17*t);
300  double b1 = exp2(-9.905381e+16*t);
301  double b2 = exp2(-8.624142e+17*t);
302  double b3 = exp2(-6.450578e+22*t);
303  out[37] += (it->second) * (b0);
304  out[26] += (it->second) * (-1.402802e+00*b0 + 1.402802e+00*b1);
305  out[17] += (it->second) * (-2.685347e-01*b0 + 1.820279e-01*b1 + 8.650682e-02*b2);
306  out[11] += (it->second) * (-3.590212e-06*b0 + 2.433638e-06*b1 + 1.156574e-06*b2 + -1.097933e-16*b3);
307  break;
308  } case 60090000: {
309  double b4 = exp2(-7.905138e+00*t);
310  double b5 = exp2(-6.450578e+22*t);
311  double b6 = exp2(-1.424454e+16*t);
312  double b7 = exp2(-1.469298e+20*t);
313  out[38] += (it->second) * (b4);
314  out[11] += (it->second) * (4.705893e-23*b4 + -4.705893e-23*b5);
315  out[19] += (it->second) * (3.418548e-16*b4 + -3.418548e-16*b6);
316  out[5] += (it->second) * (-6.160000e-01*b4 + 6.160000e-01);
317  out[28] += (it->second) * (5.380214e-20*b4 + -5.380214e-20*b7);
318  out[19] += (it->second) * (5.549591e-16*b4 + 5.380735e-20*b7 + -5.550129e-16*b6);
319  out[5] += (it->second) * (-1.000000e+00*b4 + 0.384);
320  break;
321  } case 60100000: {
322  double b8 = exp2(-5.184033e-02*t);
323  out[39] += (it->second) * (b8);
324  out[29] += (it->second) * (-1.000000e+00*b8 + 1.0);
325  break;
326  } case 60110000: {
327  double b9 = exp2(-8.184378e-04*t);
328  out[40] += (it->second) * (b9);
329  out[30] += (it->second) * (-1.000000e+00*b9 + 1.0);
330  break;
331  } case 60120000: {
332  out[41] += it->second;
333  break;
334  } case 60130000: {
335  out[42] += it->second;
336  break;
337  } case 60140000: {
338  double b10 = exp2(-5.559314e-12*t);
339  out[43] += (it->second) * (b10);
340  out[53] += (it->second) * (-1.000000e+00*b10 + 1.0);
341  break;
342  } case 60150000: {
343  double b11 = exp2(-4.083299e-01*t);
344  out[44] += (it->second) * (b11);
345  out[54] += (it->second) * (-1.000000e+00*b11 + 1.0);
346  break;
347  } case 60160000: {
348  double b12 = exp2(-1.338688e+00*t);
349  double b13 = exp2(-1.402525e-01*t);
350  out[45] += (it->second) * (b12);
351  out[54] += (it->second) * (-9.900000e-01*b12 + 9.900000e-01);
352  out[55] += (it->second) * (-1.117030e+00*b12 + 1.117030e+00*b13);
353  out[41] += (it->second) * (1.404355e-06*b12 + -1.340436e-05*b13 + 1.200000e-05);
354  out[68] += (it->second) * (1.170296e-01*b12 + -1.117030e+00*b13 + 0.009988);
355  break;
356  } case 60170000: {
357  double b14 = exp2(-5.181347e+00*t);
358  double b15 = exp2(-1.402525e-01*t);
359  double b16 = exp2(-2.396358e-01*t);
360  out[46] += (it->second) * (b14);
361  out[55] += (it->second) * (-3.289030e-01*b14 + 3.289030e-01*b15);
362  out[41] += (it->second) * (1.068358e-07*b14 + -3.946836e-06*b15 + 3.840000e-06);
363  out[68] += (it->second) * (8.902984e-03*b14 + -3.289030e-01*b15 + 3.200000e-01);
364  out[56] += (it->second) * (-1.048492e+00*b14 + 1.048492e+00*b16);
365  out[68] += (it->second) * (4.611633e-02*b14 + -9.971163e-01*b16 + 6.799962e-01);
366  out[69] += (it->second) * (4.849246e-02*b14 + -1.048492e+00*b16 + 0.0);
367  break;
368  } case 60180000: {
369  double b17 = exp2(-1.086957e+01*t);
370  double b18 = exp2(-2.396358e-01*t);
371  double b19 = exp2(-1.602564e+00*t);
372  double b20 = exp2(-5.559314e-12*t);
373  out[47] += (it->second) * (b17);
374  out[56] += (it->second) * (-4.427613e-01*b17 + 4.427613e-01*b18);
375  out[68] += (it->second) * (9.283028e-03*b17 + -4.210660e-01*b18 + 4.117830e-01);
376  out[69] += (it->second) * (9.761333e-03*b17 + -4.427613e-01*b18 + 4.330000e-01);
377  out[57] += (it->second) * (-1.172932e+00*b17 + 1.172932e+00*b19);
378  out[43] += (it->second) * (2.109774e-02*b17 + -1.430977e-01*b19 + 1.220000e-01*b20);
379  out[53] += (it->second) * (-1.220000e-01*b20 + 1.220000e-01);
380  out[69] += (it->second) * (2.472932e-02*b17 + -1.677293e-01*b19 + 3.321700e-02);
381  out[70] += (it->second) * (1.729323e-01*b17 + -1.172932e+00*b19 + 0.0);
382  break;
383  } case 60200000: {
384  double b21 = exp2(-7.142857e+01*t);
385  double b22 = exp2(-3.690037e+00*t);
386  double b23 = exp2(-3.720238e-02*t);
387  double b24 = exp2(-7.692308e+00*t);
388  double b25 = exp2(-7.401925e-02*t);
389  double b26 = exp2(-9.033424e-02*t);
390  out[48] += (it->second) * (b21);
391  out[58] += (it->second) * (-7.592218e-01*b21 + 7.592218e-01*b22);
392  out[70] += (it->second) * (1.639471e-02*b21 + -3.173547e-01*b22 + 3.009600e-01);
393  out[71] += (it->second) * (3.924223e-02*b21 + -7.669541e-01*b22 + 7.277119e-01*b23);
394  out[82] += (it->second) * (-2.043866e-05*b21 + 7.732313e-03*b22 + -7.277119e-01*b23 + 6.990400e-01);
395  out[59] += (it->second) * (-1.120690e+00*b21 + 1.120690e+00*b24);
396  out[71] += (it->second) * (5.180284e-02*b21 + -4.831123e-01*b24 + 4.313095e-01*b23);
397  out[82] += (it->second) * (-2.698065e-05*b21 + 2.336481e-03*b24 + -4.313095e-01*b23 + 0);
398  out[72] += (it->second) * (1.208149e-01*b21 + -1.131578e+00*b24 + 1.010763e+00*b25);
399  out[83] += (it->second) * (-1.253553e-04*b21 + 1.101800e-02*b24 + 4.585718e+00*b25 + -4.596610e+00*b26);
400  out[99] += (it->second) * (1.585342e-07*b21 + -1.293894e-04*b24 + -5.596481e+00*b25 + 4.596610e+00*b26 + 0.0);
401  break;
402  } case 60220000: {
403  double b27 = exp2(-1.639344e+02*t);
404  double b28 = exp2(-1.176471e+01*t);
405  double b29 = exp2(-7.401925e-02*t);
406  double b30 = exp2(-9.033424e-02*t);
407  double b31 = exp2(-2.923977e-01*t);
408  double b32 = exp2(-2.405002e-01*t);
409  double b33 = exp2(-4.166667e+01*t);
410  double b34 = exp2(-4.444444e-01*t);
411  double b35 = exp2(-2.364066e-01*t);
412  out[49] += (it->second) * (b27);
413  out[60] += (it->second) * (-6.571610e-01*b27 + 6.571610e-01*b28);
414  out[72] += (it->second) * (3.821764e-02*b27 + -5.356706e-01*b28 + 4.974530e-01*b29);
415  out[83] += (it->second) * (-1.726544e-05*b27 + 3.396323e-03*b28 + 2.256887e+00*b29 + -2.260266e+00*b30);
416  out[99] += (it->second) * (9.513929e-09*b27 + -2.607836e-05*b28 + -2.754340e+00*b29 + 2.260266e+00*b30 + 4.941000e-01);
417  out[73] += (it->second) * (4.724523e-02*b27 + -6.739102e-01*b28 + 6.266650e-01*b31);
418  out[84] += (it->second) * (-8.439162e-05*b27 + 1.709877e-02*b28 + -3.530722e+00*b31 + 3.513708e+00*b32);
419  out[100] += (it->second) * (1.238068e-07*b27 + -3.495420e-04*b28 + 2.904057e+00*b31 + -3.513708e+00*b32 + 5.059000e-01);
420  out[61] += (it->second) * (-1.340782e+00*b27 + 1.340782e+00*b33);
421  out[73] += (it->second) * (1.229008e-01*b27 + -4.860927e-01*b33 + 3.631920e-01*b31);
422  out[84] += (it->second) * (-2.195310e-04*b27 + 3.430981e-03*b33 + -2.046277e+00*b31 + 2.043065e+00*b32);
423  out[100] += (it->second) * (3.220633e-07*b27 + -1.980364e-05*b33 + 1.683085e+00*b31 + -2.043065e+00*b32 + 0);
424  out[74] += (it->second) * (3.417085e-01*b27 + -1.355238e+00*b33 + 1.013529e+00*b34);
425  out[85] += (it->second) * (-9.277477e-04*b27 + 1.453836e-02*b33 + -2.165267e+00*b34 + 2.151657e+00*b35);
426  out[101] += (it->second) * (1.337887e-06*b27 + -8.248714e-05*b33 + 1.151738e+00*b34 + -2.151657e+00*b35 + 0.0);
427  break;
428  } default: {
429  outcomp.insert(*it);
430  break;
431  }
432  }
433 }
434 
435 void decay_n(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
436  //using std::exp2;
437  switch (nucname::id_to_state_id(it->first)) {
438  case 70110000: {
439  double b0 = exp2(-9.559290e+16*t);
440  double b1 = exp2(-5.184033e-02*t);
441  out[50] += (it->second) * (b0);
442  out[39] += (it->second) * (-1.000000e+00*b0 + b1);
443  out[29] += (it->second) * (-1.000000e+00*b1 + 1.0);
444  break;
445  } case 70120000: {
446  double b2 = exp2(-9.090909e+01*t);
447  out[51] += (it->second) * (b2);
448  out[41] += (it->second) * (-1.000000e+00*b2 + 1.0);
449  break;
450  } case 70130000: {
451  double b3 = exp2(-1.672520e-03*t);
452  out[52] += (it->second) * (b3);
453  out[42] += (it->second) * (-1.000000e+00*b3 + 1.0);
454  break;
455  } case 70140000: {
456  out[53] += it->second;
457  break;
458  } case 70150000: {
459  out[54] += it->second;
460  break;
461  } case 70160000: {
462  double b4 = exp2(-1.402525e-01*t);
463  out[55] += (it->second) * (b4);
464  out[41] += (it->second) * (-1.200000e-05*b4 + 1.200000e-05);
465  out[68] += (it->second) * (-1.000000e+00*b4 + 0.999988);
466  break;
467  } case 70170000: {
468  double b5 = exp2(-2.396358e-01*t);
469  out[56] += (it->second) * (b5);
470  out[68] += (it->second) * (-9.510000e-01*b5 + 9.510000e-01);
471  out[69] += (it->second) * (-1.000000e+00*b5 + 0.049);
472  break;
473  } case 70180000: {
474  double b6 = exp2(-1.602564e+00*t);
475  double b7 = exp2(-5.559314e-12*t);
476  out[57] += (it->second) * (b6);
477  out[43] += (it->second) * (-1.220000e-01*b6 + 1.220000e-01*b7);
478  out[53] += (it->second) * (-1.220000e-01*b7 + 1.220000e-01);
479  out[69] += (it->second) * (-1.430000e-01*b6 + 1.430000e-01);
480  out[70] += (it->second) * (-1.000000e+00*b6 + 0.735);
481  break;
482  } case 70190000: {
483  double b8 = exp2(-3.690037e+00*t);
484  double b9 = exp2(-3.720238e-02*t);
485  out[58] += (it->second) * (b8);
486  out[70] += (it->second) * (-4.180000e-01*b8 + 4.180000e-01);
487  out[71] += (it->second) * (-1.010185e+00*b8 + 1.010185e+00*b9);
488  out[82] += (it->second) * (1.018452e-02*b8 + -1.010185e+00*b9 + 0.582);
489  break;
490  } case 70200000: {
491  double b10 = exp2(-7.692308e+00*t);
492  double b11 = exp2(-3.720238e-02*t);
493  double b12 = exp2(-7.401925e-02*t);
494  double b13 = exp2(-9.033424e-02*t);
495  out[59] += (it->second) * (b10);
496  out[71] += (it->second) * (-4.310849e-01*b10 + 4.310849e-01*b11);
497  out[82] += (it->second) * (2.084860e-03*b10 + -4.310849e-01*b11 + 4.290000e-01);
498  out[72] += (it->second) * (-1.009716e+00*b10 + 1.009716e+00*b12);
499  out[83] += (it->second) * (9.831449e-03*b10 + 4.580966e+00*b12 + -4.590797e+00*b13);
500  out[99] += (it->second) * (-1.154551e-04*b10 + -5.590682e+00*b12 + 4.590797e+00*b13 + 0.571);
501  break;
502  } case 70210000: {
503  double b14 = exp2(-1.176471e+01*t);
504  double b15 = exp2(-7.401925e-02*t);
505  double b16 = exp2(-9.033424e-02*t);
506  double b17 = exp2(-2.923977e-01*t);
507  double b18 = exp2(-2.405002e-01*t);
508  out[60] += (it->second) * (b14);
509  out[72] += (it->second) * (-8.151285e-01*b14 + 8.151285e-01*b15);
510  out[83] += (it->second) * (5.168175e-03*b14 + 3.698144e+00*b15 + -3.703313e+00*b16);
511  out[99] += (it->second) * (-3.968337e-05*b14 + -4.513273e+00*b15 + 3.703313e+00*b16 + 8.100000e-01);
512  out[73] += (it->second) * (-1.025487e+00*b14 + 1.025487e+00*b17);
513  out[84] += (it->second) * (2.601915e-02*b14 + -5.777745e+00*b17 + 5.751726e+00*b18);
514  out[100] += (it->second) * (-5.318971e-04*b14 + 4.752258e+00*b17 + -5.751726e+00*b18 + 0.19);
515  break;
516  } case 70220000: {
517  double b19 = exp2(-4.166667e+01*t);
518  double b20 = exp2(-2.923977e-01*t);
519  double b21 = exp2(-2.405002e-01*t);
520  double b22 = exp2(-4.444444e-01*t);
521  double b23 = exp2(-2.364066e-01*t);
522  out[61] += (it->second) * (b19);
523  out[73] += (it->second) * (-3.625442e-01*b19 + 3.625442e-01*b20);
524  out[84] += (it->second) * (2.558940e-03*b19 + -2.042627e+00*b20 + 2.040068e+00*b21);
525  out[100] += (it->second) * (-1.477022e-05*b19 + 1.680083e+00*b20 + -2.040068e+00*b21 + 3.600000e-01);
526  out[74] += (it->second) * (-1.010782e+00*b19 + 1.010782e+00*b22);
527  out[85] += (it->second) * (1.084319e-02*b19 + -2.159397e+00*b22 + 2.148554e+00*b23);
528  out[101] += (it->second) * (-6.152166e-05*b19 + 1.148616e+00*b22 + -2.148554e+00*b23 + 0.64);
529  break;
530  } case 70230000: {
531  double b24 = exp2(-7.092199e+01*t);
532  double b25 = exp2(-2.923977e-01*t);
533  double b26 = exp2(-2.405002e-01*t);
534  double b27 = exp2(-4.444444e-01*t);
535  double b28 = exp2(-2.364066e-01*t);
536  double b29 = exp2(-1.219512e+01*t);
537  double b30 = exp2(-4.484305e-01*t);
538  double b31 = exp2(-2.685285e-02*t);
539  out[62] += (it->second) * (b24);
540  out[73] += (it->second) * (-8.033119e-02*b24 + 8.033119e-02*b25);
541  out[84] += (it->second) * (3.323169e-04*b24 + -4.525977e-01*b25 + 4.522654e-01*b26);
542  out[100] += (it->second) * (-1.126904e-06*b24 + 3.722665e-01*b25 + -4.522654e-01*b26 + 8.000000e-02);
543  out[74] += (it->second) * (-4.226486e-01*b24 + 4.226486e-01*b27);
544  out[85] += (it->second) * (2.657456e-03*b24 + -9.029311e-01*b27 + 9.002736e-01*b28);
545  out[101] += (it->second) * (-8.858187e-06*b24 + 4.802825e-01*b27 + -9.002736e-01*b28 + 4.200000e-01);
546  out[75] += (it->second) * (-1.207658e+00*b24 + 1.207658e+00*b29);
547  out[85] += (it->second) * (6.458938e-02*b24 + -3.817749e-01*b29 + 3.171855e-01*b28);
548  out[101] += (it->second) * (-2.152979e-04*b24 + 7.400838e-03*b29 + -3.171855e-01*b28 + 3.100000e-01);
549  out[86] += (it->second) * (2.089797e-01*b24 + -1.253761e+00*b29 + 1.044781e+00*b30);
550  out[102] += (it->second) * (-1.321852e-03*b24 + 4.620415e-02*b29 + -1.111330e+00*b30 + 1.066447e+00*b31);
551  out[117] += (it->second) * (5.004863e-07*b24 + -1.017385e-04*b29 + 6.654847e-02*b30 + -1.066447e+00*b31 + 0.19);
552  break;
553  } case 70240000: {
554  double b32 = exp2(-1.923077e+07*t);
555  out[63] += (it->second) * (b32);
556  break;
557  } default: {
558  outcomp.insert(*it);
559  break;
560  }
561  }
562 }
563 
564 void decay_o(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
565  //using std::exp2;
566  switch (nucname::id_to_state_id(it->first)) {
567  case 80120000: {
568  double b0 = exp2(-1.983553e+23*t);
569  out[64] += (it->second) * (b0);
570  break;
571  } case 80130000: {
572  double b1 = exp2(-1.165501e+02*t);
573  double b2 = exp2(-1.672520e-03*t);
574  out[65] += (it->second) * (b1);
575  out[41] += (it->second) * (-1.000000e+00*b1 + 1.0);
576  out[52] += (it->second) * (-1.000014e+00*b1 + 1.000014e+00*b2);
577  out[42] += (it->second) * (1.435043e-05*b1 + -1.000014e+00*b2 + 0.0);
578  break;
579  } case 80140000: {
580  double b3 = exp2(-1.416310e-02*t);
581  out[66] += (it->second) * (b3);
582  out[53] += (it->second) * (-1.000000e+00*b3 + 1.0);
583  break;
584  } case 80150000: {
585  double b4 = exp2(-8.180628e-03*t);
586  out[67] += (it->second) * (b4);
587  out[54] += (it->second) * (-1.000000e+00*b4 + 1.0);
588  break;
589  } case 80160000: {
590  out[68] += it->second;
591  break;
592  } case 80170000: {
593  out[69] += it->second;
594  break;
595  } case 80180000: {
596  out[70] += it->second;
597  break;
598  } case 80190000: {
599  double b5 = exp2(-3.720238e-02*t);
600  out[71] += (it->second) * (b5);
601  out[82] += (it->second) * (-1.000000e+00*b5 + 1.0);
602  break;
603  } case 80200000: {
604  double b6 = exp2(-7.401925e-02*t);
605  double b7 = exp2(-9.033424e-02*t);
606  out[72] += (it->second) * (b6);
607  out[83] += (it->second) * (4.536885e+00*b6 + -4.536885e+00*b7);
608  out[99] += (it->second) * (-5.536885e+00*b6 + 4.536885e+00*b7 + 1.0);
609  break;
610  } case 80210000: {
611  double b8 = exp2(-2.923977e-01*t);
612  double b9 = exp2(-2.405002e-01*t);
613  out[73] += (it->second) * (b8);
614  out[84] += (it->second) * (-5.634146e+00*b8 + 5.634146e+00*b9);
615  out[100] += (it->second) * (4.634146e+00*b8 + -5.634146e+00*b9 + 1.0);
616  break;
617  } case 80220000: {
618  double b10 = exp2(-4.444444e-01*t);
619  double b11 = exp2(-2.364066e-01*t);
620  out[74] += (it->second) * (b10);
621  out[85] += (it->second) * (-2.136364e+00*b10 + 2.136364e+00*b11);
622  out[101] += (it->second) * (1.136364e+00*b10 + -2.136364e+00*b11 + 1.0);
623  break;
624  } case 80230000: {
625  double b12 = exp2(-1.219512e+01*t);
626  double b13 = exp2(-2.364066e-01*t);
627  double b14 = exp2(-4.484305e-01*t);
628  double b15 = exp2(-2.685285e-02*t);
629  out[75] += (it->second) * (b12);
630  out[85] += (it->second) * (-3.161283e-01*b12 + 3.161283e-01*b13);
631  out[101] += (it->second) * (6.128255e-03*b12 + -3.161283e-01*b13 + 3.100000e-01);
632  out[86] += (it->second) * (-1.038175e+00*b12 + 1.038175e+00*b14);
633  out[102] += (it->second) * (3.825929e-02*b12 + -1.104303e+00*b14 + 1.066043e+00*b15);
634  out[117] += (it->second) * (-8.424441e-05*b12 + 6.612769e-02*b14 + -1.066043e+00*b15 + 0.69);
635  break;
636  } case 80240000: {
637  double b16 = exp2(-1.538462e+01*t);
638  double b17 = exp2(-4.484305e-01*t);
639  double b18 = exp2(-2.685285e-02*t);
640  double b19 = exp2(-2.564103e+00*t);
641  double b20 = exp2(-4.930966e-03*t);
642  double b21 = exp2(-1.852222e-05*t);
643  out[76] += (it->second) * (b16);
644  out[86] += (it->second) * (-5.974134e-01*b16 + 5.974134e-01*b17);
645  out[102] += (it->second) * (1.744384e-02*b16 + -6.354663e-01*b17 + 6.180224e-01*b18);
646  out[117] += (it->second) * (-3.044709e-05*b16 + 3.805290e-02*b17 + -6.180224e-01*b18 + 5.800000e-01);
647  out[87] += (it->second) * (-1.200000e+00*b16 + 1.200000e+00*b19);
648  out[103] += (it->second) * (2.000641e-01*b16 + -1.202312e+00*b19 + 1.002248e+00*b20);
649  out[118] += (it->second) * (-6.412319e-05*b16 + 2.312155e-03*b19 + -1.006027e+00*b20 + 1.003779e+00*b21);
650  out[138] += (it->second) * (7.720077e-11*b16 + -1.670224e-08*b19 + 3.778946e-03*b20 + -1.003779e+00*b21 + 0.42);
651  break;
652  } default: {
653  outcomp.insert(*it);
654  break;
655  }
656  }
657 }
658 
659 void decay_f(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
660  //using std::exp2;
661  switch (nucname::id_to_state_id(it->first)) {
662  case 90140000: {
663  double b0 = exp2(-8.718913e+16*t);
664  out[77] += (it->second) * (b0);
665  break;
666  } case 90150000: {
667  double b1 = exp2(-7.934211e+22*t);
668  double b2 = exp2(-1.416310e-02*t);
669  out[78] += (it->second) * (b1);
670  out[66] += (it->second) * (-1.000000e+00*b1 + b2);
671  out[53] += (it->second) * (-1.000000e+00*b2 + 1.0);
672  break;
673  } case 90160000: {
674  double b3 = exp2(-1.983553e+18*t);
675  double b4 = exp2(-8.180628e-03*t);
676  out[79] += (it->second) * (b3);
677  out[67] += (it->second) * (-1.000000e+00*b3 + b4);
678  out[54] += (it->second) * (-1.000000e+00*b4 + 1.0);
679  break;
680  } case 90170000: {
681  double b5 = exp2(-1.550628e-02*t);
682  out[80] += (it->second) * (b5);
683  out[69] += (it->second) * (-1.000000e+00*b5 + 1.0);
684  break;
685  } case 90180000: {
686  double b6 = exp2(-1.518326e-04*t);
687  out[81] += (it->second) * (b6);
688  out[70] += (it->second) * (-1.000000e+00*b6 + 1.0);
689  break;
690  } case 90190000: {
691  out[82] += it->second;
692  break;
693  } case 90200000: {
694  double b7 = exp2(-9.033424e-02*t);
695  out[83] += (it->second) * (b7);
696  out[99] += (it->second) * (-1.000000e+00*b7 + 1.0);
697  break;
698  } case 90210000: {
699  double b8 = exp2(-2.405002e-01*t);
700  out[84] += (it->second) * (b8);
701  out[100] += (it->second) * (-1.000000e+00*b8 + 1.0);
702  break;
703  } case 90220000: {
704  double b9 = exp2(-2.364066e-01*t);
705  out[85] += (it->second) * (b9);
706  out[101] += (it->second) * (-1.000000e+00*b9 + 1.0);
707  break;
708  } case 90230000: {
709  double b10 = exp2(-4.484305e-01*t);
710  double b11 = exp2(-2.685285e-02*t);
711  out[86] += (it->second) * (b10);
712  out[102] += (it->second) * (-1.063696e+00*b10 + 1.063696e+00*b11);
713  out[117] += (it->second) * (6.369609e-02*b10 + -1.063696e+00*b11 + 1.0);
714  break;
715  } case 90240000: {
716  double b12 = exp2(-2.564103e+00*t);
717  double b13 = exp2(-4.930966e-03*t);
718  double b14 = exp2(-1.852222e-05*t);
719  out[87] += (it->second) * (b12);
720  out[103] += (it->second) * (-1.001927e+00*b12 + 1.001927e+00*b13);
721  out[118] += (it->second) * (1.926796e-03*b12 + -1.005705e+00*b13 + 1.003778e+00*b14);
722  out[138] += (it->second) * (-1.391853e-08*b12 + 3.777735e-03*b13 + -1.003778e+00*b14 + 1.0);
723  break;
724  } case 90250000: {
725  double b15 = exp2(-1.250000e+01*t);
726  double b16 = exp2(-4.930966e-03*t);
727  double b17 = exp2(-1.852222e-05*t);
728  double b18 = exp2(-1.661130e+00*t);
729  double b19 = exp2(-1.692047e-02*t);
730  out[88] += (it->second) * (b15);
731  out[103] += (it->second) * (-1.400552e-01*b15 + 1.400552e-01*b16);
732  out[118] += (it->second) * (5.524870e-05*b15 + -1.405833e-01*b16 + 1.405281e-01*b17);
733  out[138] += (it->second) * (-8.186630e-11*b15 + 5.280741e-04*b16 + -1.405281e-01*b17 + 1.400000e-01);
734  out[104] += (it->second) * (-1.153257e+00*b15 + 1.153257e+00*b18);
735  out[120] += (it->second) * (1.534644e-01*b15 + -1.165125e+00*b18 + 1.011660e+00*b19);
736  out[139] += (it->second) * (-2.077353e-04*b15 + 1.186811e-02*b18 + -1.011660e+00*b19 + 0.86);
737  break;
738  } case 90260000: {
739  double b20 = exp2(-1.030928e+02*t);
740  double b21 = exp2(-1.661130e+00*t);
741  double b22 = exp2(-1.692047e-02*t);
742  double b23 = exp2(-5.076142e+00*t);
743  double b24 = exp2(-9.285051e-01*t);
744  out[89] += (it->second) * (b20);
745  out[104] += (it->second) * (-1.118015e-01*b20 + 1.118015e-01*b21);
746  out[120] += (it->second) * (1.801748e-03*b20 + -1.129520e-01*b21 + 1.111502e-01*b22);
747  out[139] += (it->second) * (-2.957183e-07*b20 + 1.150543e-03*b21 + -1.111502e-01*b22 + 1.100000e-01);
748  out[105] += (it->second) * (-1.051789e+00*b20 + 1.051789e+00*b23);
749  out[120] += (it->second) * (6.733620e-05*b20 + -1.371898e-03*b23 + 1.304562e-03*b22);
750  out[139] += (it->second) * (-1.105180e-08*b20 + 4.572994e-06*b23 + -1.304562e-03*b22 + 1.300000e-03);
751  out[121] += (it->second) * (5.225925e-02*b20 + -1.287246e+00*b23 + 1.234987e+00*b24);
752  out[140] += (it->second) * (-4.706729e-04*b20 + 2.354572e-01*b23 + -1.234987e+00*b24 + 0.8887);
753  break;
754  } case 90270000: {
755  double b25 = exp2(-2.000000e+02*t);
756  double b26 = exp2(-5.076142e+00*t);
757  double b27 = exp2(-1.692047e-02*t);
758  double b28 = exp2(-9.285051e-01*t);
759  double b29 = exp2(-3.174603e+01*t);
760  double b30 = exp2(-3.322259e+00*t);
761  double b31 = exp2(-1.762177e-03*t);
762  out[90] += (it->second) * (b25);
763  out[105] += (it->second) * (-7.900521e-01*b25 + 7.900521e-01*b26);
764  out[120] += (it->second) * (2.606991e-05*b25 + -1.030503e-03*b26 + 1.004433e-03*b27);
765  out[139] += (it->second) * (-2.205576e-09*b25 + 3.435009e-06*b26 + -1.004433e-03*b27 + 1.001000e-03);
766  out[121] += (it->second) * (2.014561e-02*b25 + -9.669160e-01*b26 + 9.467704e-01*b28);
767  out[140] += (it->second) * (-9.352651e-05*b25 + 1.768639e-01*b26 + -9.467704e-01*b28 + 7.700000e-01);
768  out[106] += (it->second) * (-1.188679e+00*b25 + 1.188679e+00*b29);
769  out[121] += (it->second) * (3.791186e-03*b25 + -2.448986e-02*b29 + 2.069868e-02*b28);
770  out[140] += (it->second) * (-1.760068e-05*b25 + 7.162773e-04*b29 + -2.069868e-02*b28 + 2.000000e-02);
771  out[122] += (it->second) * (1.918664e-01*b25 + -1.327616e+00*b29 + 1.135749e+00*b30);
772  out[140] += (it->second) * (-4.143294e-06*b25 + 1.806175e-04*b29 + -1.476474e-03*b30 + 1.300000e-03);
773  out[141] += (it->second) * (-3.187177e-03*b25 + 1.389442e-01*b29 + -1.136352e+00*b30 + 1.000595e+00*b31);
774  out[163] += (it->second) * (2.808185e-08*b25 + -7.712596e-06*b29 + 6.027384e-04*b30 + -1.000595e+00*b31 + 0.207699);
775  break;
776  } case 90280000: {
777  double b32 = exp2(-2.173913e+19*t);
778  out[91] += (it->second) * (b32);
779  break;
780  } case 90290000: {
781  double b33 = exp2(-4.000000e+02*t);
782  double b34 = exp2(-5.000000e+01*t);
783  double b35 = exp2(-9.285051e-01*t);
784  double b36 = exp2(-3.322259e+00*t);
785  double b37 = exp2(-1.762177e-03*t);
786  double b38 = exp2(-3.278689e+01*t);
787  double b39 = exp2(-1.328127e-05*t);
788  double b40 = exp2(-7.423905e-03*t);
789  double b41 = exp2(-6.666667e+01*t);
790  double b42 = exp2(-2.267574e+01*t);
791  double b43 = exp2(-7.692308e-01*t);
792  double b44 = exp2(-2.540650e-03*t);
793  out[92] += (it->second) * (b33);
794  out[107] += (it->second) * (-1.142857e+00*b33 + 1.142857e+00*b34);
795  out[121] += (it->second) * (5.298012e-03*b33 + -4.308582e-02*b34 + 3.778781e-02*b35);
796  out[140] += (it->second) * (-1.229808e-05*b33 + 8.001081e-04*b34 + -3.778781e-02*b35 + 3.700000e-02);
797  out[122] += (it->second) * (1.728643e-02*b33 + -1.469039e-01*b34 + 1.296175e-01*b36);
798  out[140] += (it->second) * (-1.866475e-07*b33 + 1.268937e-05*b34 + -1.685027e-04*b36 + 1.560000e-04);
799  out[141] += (it->second) * (-1.435757e-04*b33 + 9.761401e-03*b34 + -1.296863e-01*b36 + 1.200684e-01*b37);
800  out[163] += (it->second) * (6.325141e-10*b33 + -3.440263e-07*b34 + 6.878756e-05*b36 + -1.200684e-01*b37 + 1.200000e-01);
801  out[123] += (it->second) * (1.556122e-01*b33 + -3.319728e+00*b34 + 3.164116e+00*b38);
802  out[141] += (it->second) * (-7.397992e-05*b33 + 1.262630e-02*b34 + -1.835286e-02*b38 + 5.800542e-03*b37);
803  out[163] += (it->second) * (3.259142e-10*b33 + -4.449953e-07*b34 + 9.863998e-07*b38 + -5.800542e-03*b37 + 5.800000e-03);
804  out[142] += (it->second) * (-1.275510e-02*b33 + 2.176871e+00*b34 + -3.164117e+00*b38 + 1.000001e+00*b39);
805  out[164] += (it->second) * (4.235178e-10*b33 + -5.783182e-07*b34 + 1.282007e-06*b38 + 1.792195e-03*b39 + -1.792899e-03*b40);
806  out[187] += (it->second) * (-7.860389e-15*b33 + 8.586759e-11*b34 + -2.902837e-10*b38 + -1.001793e+00*b39 + 1.792899e-03*b40 + 0.837044);
807  out[108] += (it->second) * (-1.200000e+00*b33 + 1.200000e+00*b41);
808  out[122] += (it->second) * (8.067002e-03*b33 + -5.051748e-02*b41 + 4.245048e-02*b36);
809  out[140] += (it->second) * (-8.710218e-08*b33 + 3.272727e-06*b41 + -5.518563e-05*b36 + 0);
810  out[141] += (it->second) * (-6.700197e-05*b33 + 2.517549e-03*b41 + -4.247301e-02*b36 + 4.002246e-02*b37);
811  out[163] += (it->second) * (2.951733e-10*b33 + -6.654549e-08*b41 + 2.252833e-05*b36 + -4.002246e-02*b37 + 0);
812  out[123] += (it->second) * (6.100000e-02*b33 + -6.611613e-01*b41 + 6.001613e-01*b38);
813  out[141] += (it->second) * (-2.900013e-05*b33 + 1.885985e-03*b41 + -3.481123e-03*b38 + 1.624137e-03*b37);
814  out[163] += (it->second) * (1.277584e-10*b33 + -4.985159e-08*b41 + 1.870978e-07*b38 + -1.624137e-03*b37 + 0);
815  out[142] += (it->second) * (-5.000000e-03*b33 + 3.251614e-01*b41 + -6.001615e-01*b38 + 2.800002e-01*b39);
816  out[164] += (it->second) * (1.660190e-10*b33 + -6.478555e-08*b41 + 2.431677e-07*b38 + 5.018145e-04*b39 + -5.019930e-04*b40);
817  out[187] += (it->second) * (-3.081273e-15*b33 + 7.214427e-12*b41 + -5.506025e-11*b38 + -2.805020e-01*b39 + 5.019930e-04*b40 + 0);
818  out[124] += (it->second) * (2.120192e-01*b33 + -1.818557e+00*b41 + 1.606537e+00*b42);
819  out[142] += (it->second) * (-2.584135e-03*b33 + 1.329897e-01*b41 + -3.454058e-01*b42 + 2.150002e-01*b39);
820  out[164] += (it->second) * (8.580307e-11*b33 + -2.649704e-08*b41 + 2.023718e-07*b42 + 3.853219e-04*b39 + -3.854979e-04*b40);
821  out[187] += (it->second) * (-1.592485e-15*b33 + 2.950672e-12*b41 + -6.625536e-11*b42 + -2.153855e-01*b39 + 3.854979e-04*b40 + 0);
822  out[143] += (it->second) * (-1.204239e-02*b33 + 6.257772e-01*b41 + -1.662950e+00*b42 + 1.049215e+00*b43);
823  out[165] += (it->second) * (2.315859e-05*b33 + -7.220781e-03*b41 + 5.641870e-02*b42 + -1.052692e+00*b43 + 1.003471e+00*b44);
824  out[188] += (it->second) * (-1.470947e-10*b33 + 2.751822e-07*b41 + -6.321302e-06*b42 + 3.476879e-03*b43 + -1.003471e+00*b44 + 0.0);
825  break;
826  } case 90310000: {
827  double b45 = exp2(-3.846154e+06*t);
828  out[93] += (it->second) * (b45);
829  break;
830  } default: {
831  outcomp.insert(*it);
832  break;
833  }
834  }
835 }
836 
837 void decay_ne(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
838  //using std::exp2;
839  switch (nucname::id_to_state_id(it->first)) {
840  case 100150000: {
841  double b0 = exp2(-1.344781e+23*t);
842  double b1 = exp2(-1.165501e+02*t);
843  double b2 = exp2(-1.672520e-03*t);
844  out[94] += (it->second) * (b0);
845  out[65] += (it->second) * (-1.000000e+00*b0 + b1);
846  out[41] += (it->second) * (-1.000000e+00*b1 + 1.0);
847  out[52] += (it->second) * (-1.000014e+00*b1 + 1.000014e+00*b2);
848  out[42] += (it->second) * (1.435043e-05*b1 + -1.000014e+00*b2 + 0.0);
849  break;
850  } case 100160000: {
851  double b3 = exp2(-6.503451e+17*t);
852  double b4 = exp2(-7.934211e+22*t);
853  double b5 = exp2(-1.416310e-02*t);
854  out[95] += (it->second) * (b3);
855  out[78] += (it->second) * (8.196788e-06*b3 + -8.196788e-06*b4);
856  out[66] += (it->second) * (-1.000008e+00*b3 + 8.196788e-06*b4 + b5);
857  out[53] += (it->second) * (-1.000000e+00*b5 + 1.0);
858  break;
859  } case 100170000: {
860  double b6 = exp2(-9.157509e+00*t);
861  double b7 = exp2(-1.550628e-02*t);
862  out[96] += (it->second) * (b6);
863  out[68] += (it->second) * (-1.000000e+00*b6 + 1.0);
864  out[80] += (it->second) * (-1.001696e+00*b6 + 1.001696e+00*b7);
865  out[69] += (it->second) * (1.696158e-03*b6 + -1.001696e+00*b7 + 0.0);
866  break;
867  } case 100180000: {
868  double b8 = exp2(-5.980861e-01*t);
869  double b9 = exp2(-1.518326e-04*t);
870  out[97] += (it->second) * (b8);
871  out[81] += (it->second) * (-1.000254e+00*b8 + 1.000254e+00*b9);
872  out[70] += (it->second) * (2.539286e-04*b8 + -1.000254e+00*b9 + 1.0);
873  break;
874  } case 100190000: {
875  double b10 = exp2(-5.807201e-02*t);
876  out[98] += (it->second) * (b10);
877  out[82] += (it->second) * (-1.000000e+00*b10 + 1.0);
878  break;
879  } case 100200000: {
880  out[99] += it->second;
881  break;
882  } case 100210000: {
883  out[100] += it->second;
884  break;
885  } case 100220000: {
886  out[101] += it->second;
887  break;
888  } case 100230000: {
889  double b11 = exp2(-2.685285e-02*t);
890  out[102] += (it->second) * (b11);
891  out[117] += (it->second) * (-1.000000e+00*b11 + 1.0);
892  break;
893  } case 100240000: {
894  double b12 = exp2(-4.930966e-03*t);
895  double b13 = exp2(-1.852222e-05*t);
896  out[103] += (it->second) * (b12);
897  out[118] += (it->second) * (-1.003770e+00*b12 + 1.003770e+00*b13);
898  out[138] += (it->second) * (3.770470e-03*b12 + -1.003770e+00*b13 + 1.0);
899  break;
900  } case 100250000: {
901  double b14 = exp2(-1.661130e+00*t);
902  double b15 = exp2(-1.692047e-02*t);
903  out[104] += (it->second) * (b14);
904  out[120] += (it->second) * (-1.010291e+00*b14 + 1.010291e+00*b15);
905  out[139] += (it->second) * (1.029095e-02*b14 + -1.010291e+00*b15 + 1.0);
906  break;
907  } case 100260000: {
908  double b16 = exp2(-5.076142e+00*t);
909  double b17 = exp2(-1.692047e-02*t);
910  double b18 = exp2(-9.285051e-01*t);
911  out[105] += (it->second) * (b16);
912  out[120] += (it->second) * (-1.304348e-03*b16 + 1.304348e-03*b17);
913  out[139] += (it->second) * (4.347826e-06*b16 + -1.304348e-03*b17 + 1.300000e-03);
914  out[121] += (it->second) * (-1.223864e+00*b16 + 1.223864e+00*b18);
915  out[140] += (it->second) * (2.238636e-01*b16 + -1.223864e+00*b18 + 0.9987);
916  break;
917  } case 100270000: {
918  double b19 = exp2(-3.174603e+01*t);
919  double b20 = exp2(-9.285051e-01*t);
920  double b21 = exp2(-3.322259e+00*t);
921  double b22 = exp2(-1.762177e-03*t);
922  out[106] += (it->second) * (b19);
923  out[121] += (it->second) * (-2.060258e-02*b19 + 2.060258e-02*b20);
924  out[140] += (it->second) * (6.025825e-04*b19 + -2.060258e-02*b20 + 2.000000e-02);
925  out[122] += (it->second) * (-1.116883e+00*b19 + 1.116883e+00*b21);
926  out[140] += (it->second) * (1.519481e-04*b19 + -1.451948e-03*b21 + 1.300000e-03);
927  out[141] += (it->second) * (1.168896e-01*b19 + -1.117476e+00*b21 + 1.000586e+00*b22);
928  out[163] += (it->second) * (-6.488374e-06*b19 + 5.927261e-04*b21 + -1.000586e+00*b22 + 0.9787);
929  break;
930  } case 100280000: {
931  double b23 = exp2(-5.000000e+01*t);
932  double b24 = exp2(-9.285051e-01*t);
933  double b25 = exp2(-3.322259e+00*t);
934  double b26 = exp2(-1.762177e-03*t);
935  double b27 = exp2(-3.278689e+01*t);
936  double b28 = exp2(-1.328127e-05*t);
937  double b29 = exp2(-7.423905e-03*t);
938  out[107] += (it->second) * (b23);
939  out[121] += (it->second) * (-3.770009e-02*b23 + 3.770009e-02*b24);
940  out[140] += (it->second) * (7.000946e-04*b23 + -3.770009e-02*b24 + 3.700000e-02);
941  out[122] += (it->second) * (-1.285409e-01*b23 + 1.285409e-01*b25);
942  out[140] += (it->second) * (1.110320e-05*b23 + -1.671032e-04*b25 + 1.560000e-04);
943  out[141] += (it->second) * (8.541226e-03*b23 + -1.286091e-01*b25 + 1.200679e-01*b26);
944  out[163] += (it->second) * (-3.010230e-07*b23 + 6.821624e-05*b25 + -1.200679e-01*b26 + 1.200000e-01);
945  out[123] += (it->second) * (-2.904762e+00*b23 + 2.904762e+00*b27);
946  out[141] += (it->second) * (1.104801e-02*b23 + -1.684852e-02*b27 + 5.800516e-03*b26);
947  out[163] += (it->second) * (-3.893708e-07*b23 + 9.055473e-07*b27 + -5.800516e-03*b26 + 5.800000e-03);
948  out[142] += (it->second) * (1.904762e+00*b23 + -2.904763e+00*b27 + 1.000001e+00*b28);
949  out[164] += (it->second) * (-5.060284e-07*b23 + 1.176924e-06*b27 + 1.792195e-03*b28 + -1.792865e-03*b29);
950  out[187] += (it->second) * (7.513414e-11*b23 + -2.664899e-10*b27 + -1.001793e+00*b28 + 1.792865e-03*b29 + 0.837044);
951  break;
952  } case 100290000: {
953  double b30 = exp2(-6.666667e+01*t);
954  double b31 = exp2(-3.322259e+00*t);
955  double b32 = exp2(-1.762177e-03*t);
956  double b33 = exp2(-3.278689e+01*t);
957  double b34 = exp2(-1.328127e-05*t);
958  double b35 = exp2(-7.423905e-03*t);
959  double b36 = exp2(-2.267574e+01*t);
960  double b37 = exp2(-7.692308e-01*t);
961  double b38 = exp2(-2.540650e-03*t);
962  out[108] += (it->second) * (b30);
963  out[122] += (it->second) * (-4.209790e-02*b30 + 4.209790e-02*b31);
964  out[140] += (it->second) * (2.727273e-06*b30 + -5.472727e-05*b31 + 5.200000e-05);
965  out[141] += (it->second) * (2.097958e-03*b30 + -4.212024e-02*b31 + 4.002229e-02*b32);
966  out[163] += (it->second) * (-5.545458e-08*b30 + 2.234122e-05*b31 + -4.002229e-02*b32 + 4.000000e-02);
967  out[123] += (it->second) * (-5.509677e-01*b30 + 5.509677e-01*b33);
968  out[141] += (it->second) * (1.571654e-03*b30 + -3.195785e-03*b33 + 1.624130e-03*b32);
969  out[163] += (it->second) * (-4.154299e-08*b30 + 1.717619e-07*b33 + -1.624130e-03*b32 + 1.624000e-03);
970  out[142] += (it->second) * (2.709678e-01*b30 + -5.509680e-01*b33 + 2.800002e-01*b34);
971  out[164] += (it->second) * (-5.398796e-08*b30 + 2.232360e-07*b33 + 5.018144e-04*b34 + -5.019837e-04*b35);
972  out[187] += (it->second) * (6.012022e-12*b30 + -5.054712e-11*b33 + -2.805020e-01*b34 + 5.019837e-04*b35 + 2.800000e-01);
973  out[124] += (it->second) * (-1.515464e+00*b30 + 1.515464e+00*b36);
974  out[142] += (it->second) * (1.108248e-01*b30 + -3.258249e-01*b36 + 2.150002e-01*b34);
975  out[164] += (it->second) * (-2.208086e-08*b30 + 1.908995e-07*b36 + 3.853219e-04*b34 + -3.854907e-04*b35);
976  out[187] += (it->second) * (2.458894e-12*b30 + -6.249938e-11*b36 + -2.153855e-01*b34 + 3.854907e-04*b35 + 2.150000e-01);
977  out[143] += (it->second) * (5.214810e-01*b30 + -1.568678e+00*b36 + 1.047197e+00*b37);
978  out[165] += (it->second) * (-6.017318e-03*b30 + 5.322036e-02*b36 + -1.050667e+00*b37 + 1.003464e+00*b38);
979  out[188] += (it->second) * (2.293185e-07*b30 + -5.962952e-06*b36 + 3.470192e-03*b37 + -1.003464e+00*b38 + 0.463324);
980  break;
981  } case 100300000: {
982  double b39 = exp2(-1.369863e+02*t);
983  double b40 = exp2(-3.278689e+01*t);
984  double b41 = exp2(-1.762177e-03*t);
985  double b42 = exp2(-1.328127e-05*t);
986  double b43 = exp2(-7.423905e-03*t);
987  double b44 = exp2(-2.267574e+01*t);
988  double b45 = exp2(-7.692308e-01*t);
989  double b46 = exp2(-2.540650e-03*t);
990  double b47 = exp2(-2.083333e+01*t);
991  double b48 = exp2(-5.076142e+00*t);
992  double b49 = exp2(-1.692047e-02*t);
993  double b50 = exp2(-9.285051e-01*t);
994  double b51 = exp2(-2.985075e+00*t);
995  double b52 = exp2(-2.762431e-01*t);
996  out[109] += (it->second) * (b39);
997  out[123] += (it->second) * (-1.170043e-01*b39 + 1.170043e-01*b40);
998  out[141] += (it->second) * (1.624271e-04*b39 + -6.786615e-04*b40 + 5.162344e-04*b41);
999  out[163] += (it->second) * (-2.089444e-09*b39 + 3.647560e-08*b40 + -5.162344e-04*b41 + 5.162000e-04);
1000  out[142] += (it->second) * (2.800431e-02*b39 + -1.170044e-01*b40 + 8.900004e-02*b42);
1001  out[164] += (it->second) * (-2.715257e-09*b39 + 4.740671e-08*b40 + 1.595053e-04*b42 + -1.595500e-04*b43);
1002  out[187] += (it->second) * (1.471520e-13*b39 + -1.073426e-11*b40 + -8.915955e-02*b42 + 1.595500e-04*b43 + 8.900000e-02);
1003  out[124] += (it->second) * (-1.557880e-01*b39 + 1.557880e-01*b44);
1004  out[142] += (it->second) * (5.544430e-03*b39 + -3.349445e-02*b44 + 2.795002e-02*b42);
1005  out[164] += (it->second) * (-5.375798e-10*b39 + 1.962426e-08*b44 + 5.009184e-05*b42 + -5.011093e-05*b43);
1006  out[187] += (it->second) * (2.913387e-14*b39 + -6.424869e-12*b44 + -2.800011e-02*b42 + 5.011093e-05*b43 + 2.795000e-02);
1007  out[143] += (it->second) * (2.593367e-02*b39 + -1.612584e-01*b44 + 1.353248e-01*b45);
1008  out[165] += (it->second) * (-1.456302e-04*b39 + 5.470995e-03*b44 + -1.357732e-01*b45 + 1.304478e-01*b46);
1009  out[188] += (it->second) * (2.700967e-09*b39 + -6.129850e-07*b44 + 4.484379e-04*b45 + -1.304478e-01*b46 + 1.300000e-01);
1010  out[125] += (it->second) * (-1.179361e+00*b39 + 1.179361e+00*b47);
1011  out[105] += (it->second) * (1.024448e-07*b39 + -8.576093e-07*b47 + 7.551645e-07*b48);
1012  out[120] += (it->second) * (-4.935642e-12*b39 + 2.718696e-10*b47 + -9.849971e-10*b48 + 7.180631e-10*b49);
1013  out[139] += (it->second) * (6.096479e-16*b39 + -2.208078e-13*b47 + 3.283324e-12*b48 + -7.180631e-10*b49 + 7.150000e-10);
1014  out[121] += (it->second) * (-3.822085e-09*b39 + 2.187081e-07*b47 + -9.242183e-07*b48 + 7.093323e-07*b50);
1015  out[140] += (it->second) * (2.590643e-11*b39 + -9.747435e-09*b47 + 1.690539e-07*b48 + -7.093323e-07*b50 + 5.500000e-07);
1016  out[142] += (it->second) * (2.062654e-03*b39 + -1.356266e-02*b47 + 1.150001e-02*b42);
1017  out[164] += (it->second) * (-1.999919e-10*b39 + 8.649293e-09*b47 + 2.061024e-05*b42 + -2.061869e-05*b43);
1018  out[187] += (it->second) * (1.083846e-14*b39 + -3.082153e-12*b47 + -1.152062e-02*b42 + 2.061869e-05*b43 + 1.150000e-02);
1019  out[143] += (it->second) * (5.411221e-02*b39 + -3.673729e-01*b47 + 3.132607e-01*b45);
1020  out[165] += (it->second) * (-3.038665e-04*b39 + 1.356619e-02*b47 + -3.142988e-01*b45 + 3.010364e-01*b46);
1021  out[188] += (it->second) * (5.635736e-09*b39 + -1.654414e-06*b47 + 1.038080e-03*b45 + -3.010364e-01*b46 + 3.000000e-01);
1022  out[144] += (it->second) * (1.833567e-01*b39 + -1.376606e+00*b47 + 1.193250e+00*b51);
1023  out[166] += (it->second) * (-4.003608e-03*b39 + 1.998956e-01*b47 + -1.314936e+00*b51 + 1.119044e+00*b52);
1024  out[189] += (it->second) * (8.073574e-06*b39 + -2.650550e-03*b47 + 1.216860e-01*b51 + -1.119044e+00*b52 + 0.441033249285);
1025  break;
1026  } case 100310000: {
1027  double b53 = exp2(-2.941176e+02*t);
1028  double b54 = exp2(-5.763689e+01*t);
1029  double b55 = exp2(-7.692308e-01*t);
1030  double b56 = exp2(-2.540650e-03*t);
1031  double b57 = exp2(-2.985075e+00*t);
1032  double b58 = exp2(-2.762431e-01*t);
1033  double b59 = exp2(-4.237288e+00*t);
1034  double b60 = exp2(-1.552795e+00*t);
1035  double b61 = exp2(-1.059143e-04*t);
1036  out[110] += (it->second) * (b53);
1037  out[126] += (it->second) * (-1.243728e+00*b53 + 1.243728e+00*b54);
1038  out[143] += (it->second) * (2.199300e-03*b53 + -1.134496e-02*b54 + 9.145660e-03*b55);
1039  out[165] += (it->second) * (-5.752066e-06*b53 + 1.514183e-04*b54 + -9.175966e-03*b55 + 9.030300e-03*b56);
1040  out[188] += (it->second) * (4.968756e-11*b53 + -6.674560e-09*b54 + 3.030680e-05*b55 + -9.030300e-03*b56 + 9.000000e-03);
1041  out[144] += (it->second) * (9.110385e-02*b53 + -4.853141e-01*b54 + 3.942103e-01*b57);
1042  out[166] += (it->second) * (-9.255053e-04*b53 + 2.525597e-02*b54 + -4.344113e-01*b57 + 4.100809e-01*b58);
1043  out[189] += (it->second) * (8.692591e-07*b53 + -1.210473e-04*b54 + 4.020105e-02*b57 + -4.100809e-01*b58 + 3.700000e-01);
1044  out[145] += (it->second) * (2.472903e-01*b53 + -1.342418e+00*b54 + 1.095128e+00*b59);
1045  out[166] += (it->second) * (-2.210923e-04*b53 + 6.148277e-03*b54 + -7.263312e-02*b59 + 6.670594e-02*b58);
1046  out[189] += (it->second) * (2.076558e-07*b53 + -2.946757e-05*b54 + 4.735198e-03*b59 + -6.670594e-02*b58 + 6.200000e-02);
1047  out[167] += (it->second) * (-3.581565e-03*b53 + 1.014229e-01*b54 + -1.728584e+00*b59 + 1.630743e+00*b60);
1048  out[190] += (it->second) * (1.890889e-05*b53 + -2.732439e-03*b54 + 6.334721e-01*b59 + -1.630854e+00*b60 + 1.000095e+00*b61);
1049  out[210] += (it->second) * (-6.809251e-12*b53 + 5.021164e-09*b54 + -1.583412e-05*b59 + 1.112386e-04*b60 + -1.000095e+00*b61 + 0.559);
1050  break;
1051  } case 100320000: {
1052  double b62 = exp2(-2.857143e+02*t);
1053  double b63 = exp2(-7.575758e+01*t);
1054  double b64 = exp2(-2.985075e+00*t);
1055  double b65 = exp2(-2.762431e-01*t);
1056  double b66 = exp2(-4.237288e+00*t);
1057  double b67 = exp2(-1.552795e+00*t);
1058  double b68 = exp2(-1.059143e-04*t);
1059  double b69 = exp2(-1.162791e+01*t);
1060  double b70 = exp2(-3.030303e+01*t);
1061  double b71 = exp2(-2.071117e-10*t);
1062  double b72 = exp2(-8.111911e-07*t);
1063  out[111] += (it->second) * (b62);
1064  out[127] += (it->second) * (-1.360825e+00*b62 + 1.360825e+00*b63);
1065  out[144] += (it->second) * (2.917075e-02*b62 + -1.133316e-01*b63 + 8.416083e-02*b64);
1066  out[166] += (it->second) * (-3.050640e-04*b62 + 4.481946e-03*b63 + -9.274345e-02*b64 + 8.856656e-02*b65);
1067  out[189] += (it->second) * (2.949513e-07*b62 + -1.634301e-05*b63 + 8.582612e-03*b64 + -8.856656e-02*b65 + 8.000000e-02);
1068  out[145] += (it->second) * (8.790156e-02*b62 + -3.459475e-01*b63 + 2.580460e-01*b66);
1069  out[166] += (it->second) * (-8.090296e-05*b62 + 1.204066e-03*b63 + -1.711461e-02*b66 + 1.599145e-02*b65);
1070  out[189] += (it->second) * (7.822110e-08*b62 + -4.390518e-06*b63 + 1.115759e-03*b66 + -1.599145e-02*b65 + 1.488000e-02);
1071  out[167] += (it->second) * (-1.310749e-03*b62 + 1.975451e-02*b63 + -4.073079e-01*b66 + 3.888641e-01*b67);
1072  out[190] += (it->second) * (7.123636e-06*b62 + -4.049068e-04*b63 + 1.492656e-01*b66 + -3.888906e-01*b67 + 2.400228e-01*b68);
1073  out[210] += (it->second) * (-2.640731e-12*b62 + 5.660872e-10*b63 + -3.731008e-06*b66 + 2.652576e-05*b67 + -2.400228e-01*b68 + 2.400000e-01);
1074  out[146] += (it->second) * (3.761325e-01*b62 + -1.607568e+00*b63 + 1.231435e+00*b69);
1075  out[167] += (it->second) * (-8.465251e-04*b62 + 1.385484e-02*b63 + -7.816745e-02*b69 + 6.515913e-02*b67);
1076  out[190] += (it->second) * (4.600681e-06*b62 + -2.839817e-04*b63 + 1.043861e-02*b69 + -6.516357e-02*b67 + 5.500435e-02*b68);
1077  out[210] += (it->second) * (-1.705472e-12*b62 + 3.970257e-10*b63 + -9.508135e-08*b69 + 4.444728e-06*b67 + -5.500435e-02*b68 + 5.500000e-02);
1078  out[168] += (it->second) * (-1.712389e-02*b62 + 4.112382e-01*b63 + 7.667427e-01*b69 + -1.160857e+00*b70);
1079  out[190] += (it->second) * (1.271319e-05*b62 + -1.151469e-03*b63 + -1.398737e-02*b69 + 8.126028e-03*b70 + 7.000101e-03*b68);
1080  out[210] += (it->second) * (-4.712779e-12*b62 + 1.609832e-09*b63 + 1.274057e-07*b69 + -2.840185e-08*b70 + -7.000101e-03*b68 + 7.000000e-03);
1081  out[191] += (it->second) * (1.816170e-03*b62 + -1.644953e-01*b63 + -1.998178e+00*b69 + 1.160857e+00*b70 + 1.000000e+00*b71);
1082  out[211] += (it->second) * (2.553832e-04*b71 + -2.553832e-04*b72);
1083  out[230] += (it->second) * (-1.000255e+00*b71 + 2.553832e-04*b72 + 0.60312);
1084  break;
1085  } case 100330000: {
1086  double b73 = exp2(-5.555556e+06*t);
1087  out[112] += (it->second) * (b73);
1088  break;
1089  } case 100340000: {
1090  double b74 = exp2(-1.666667e+07*t);
1091  out[113] += (it->second) * (b74);
1092  break;
1093  } default: {
1094  outcomp.insert(*it);
1095  break;
1096  }
1097  }
1098 }
1099 
1100 void decay_na(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
1101  //using std::exp2;
1102  switch (nucname::id_to_state_id(it->first)) {
1103  case 110200000: {
1104  double b0 = exp2(-2.232641e+00*t);
1105  out[114] += (it->second) * (b0);
1106  out[68] += (it->second) * (-2.005000e-01*b0 + 2.005000e-01);
1107  out[99] += (it->second) * (-1.000000e+00*b0 + 0.7995);
1108  break;
1109  } case 110210000: {
1110  double b1 = exp2(-4.446421e-02*t);
1111  out[115] += (it->second) * (b1);
1112  out[100] += (it->second) * (-1.000000e+00*b1 + 1.0);
1113  break;
1114  } case 110220000: {
1115  double b2 = exp2(-1.217508e-08*t);
1116  out[116] += (it->second) * (b2);
1117  out[101] += (it->second) * (-1.000000e+00*b2 + 1.0);
1118  break;
1119  } case 110230000: {
1120  out[117] += it->second;
1121  break;
1122  } case 110240000: {
1123  double b3 = exp2(-1.852222e-05*t);
1124  out[118] += (it->second) * (b3);
1125  out[138] += (it->second) * (-1.000000e+00*b3 + 1.0);
1126  break;
1127  } case 110240001: {
1128  double b4 = exp2(-4.955401e+01*t);
1129  double b5 = exp2(-1.852222e-05*t);
1130  out[119] += (it->second) * (b4);
1131  out[118] += (it->second) * (-9.995004e-01*b4 + 9.995004e-01*b5);
1132  out[138] += (it->second) * (3.735917e-07*b4 + -9.995004e-01*b5 + 9.995000e-01);
1133  out[138] += (it->second) * (-5.000000e-04*b4 + 5.000000e-04);
1134  break;
1135  } case 110250000: {
1136  double b6 = exp2(-1.692047e-02*t);
1137  out[120] += (it->second) * (b6);
1138  out[139] += (it->second) * (-1.000000e+00*b6 + 1.0);
1139  break;
1140  } case 110260000: {
1141  double b7 = exp2(-9.285051e-01*t);
1142  out[121] += (it->second) * (b7);
1143  out[140] += (it->second) * (-1.000000e+00*b7 + 1.0);
1144  break;
1145  } case 110270000: {
1146  double b8 = exp2(-3.322259e+00*t);
1147  double b9 = exp2(-1.762177e-03*t);
1148  out[122] += (it->second) * (b8);
1149  out[140] += (it->second) * (-1.300000e-03*b8 + 1.300000e-03);
1150  out[141] += (it->second) * (-1.000531e+00*b8 + 1.000531e+00*b9);
1151  out[163] += (it->second) * (5.306967e-04*b8 + -1.000531e+00*b9 + 0.9987);
1152  break;
1153  } case 110280000: {
1154  double b10 = exp2(-3.278689e+01*t);
1155  double b11 = exp2(-1.762177e-03*t);
1156  double b12 = exp2(-1.328127e-05*t);
1157  double b13 = exp2(-7.423905e-03*t);
1158  out[123] += (it->second) * (b10);
1159  out[141] += (it->second) * (-5.800312e-03*b10 + 5.800312e-03*b11);
1160  out[163] += (it->second) * (3.117458e-07*b10 + -5.800312e-03*b11 + 5.800000e-03);
1161  out[142] += (it->second) * (-1.000000e+00*b10 + 1.000000e+00*b12);
1162  out[164] += (it->second) * (4.051707e-07*b10 + 1.792194e-03*b12 + -1.792599e-03*b13);
1163  out[187] += (it->second) * (-9.174243e-11*b10 + -1.001793e+00*b12 + 1.792599e-03*b13 + 0.9942);
1164  break;
1165  } case 110290000: {
1166  double b14 = exp2(-2.267574e+01*t);
1167  double b15 = exp2(-1.328127e-05*t);
1168  double b16 = exp2(-7.423905e-03*t);
1169  double b17 = exp2(-7.692308e-01*t);
1170  double b18 = exp2(-2.540650e-03*t);
1171  out[124] += (it->second) * (b14);
1172  out[142] += (it->second) * (-2.150001e-01*b14 + 2.150001e-01*b15);
1173  out[164] += (it->second) * (1.259677e-07*b14 + 3.853218e-04*b15 + -3.854478e-04*b16);
1174  out[187] += (it->second) * (-4.124109e-11*b14 + -2.153854e-01*b15 + 3.854478e-04*b16 + 2.150000e-01);
1175  out[143] += (it->second) * (-1.035114e+00*b14 + 1.035114e+00*b17);
1176  out[165] += (it->second) * (3.511820e-02*b14 + -1.038544e+00*b17 + 1.003426e+00*b18);
1177  out[188] += (it->second) * (-3.934737e-06*b14 + 3.430152e-03*b17 + -1.003426e+00*b18 + 0.785);
1178  break;
1179  } case 110300000: {
1180  double b19 = exp2(-2.083333e+01*t);
1181  double b20 = exp2(-5.076142e+00*t);
1182  double b21 = exp2(-1.692047e-02*t);
1183  double b22 = exp2(-9.285051e-01*t);
1184  double b23 = exp2(-1.328127e-05*t);
1185  double b24 = exp2(-7.423905e-03*t);
1186  double b25 = exp2(-7.692308e-01*t);
1187  double b26 = exp2(-2.540650e-03*t);
1188  double b27 = exp2(-2.985075e+00*t);
1189  double b28 = exp2(-2.762431e-01*t);
1190  out[125] += (it->second) * (b19);
1191  out[105] += (it->second) * (-7.271812e-07*b19 + 7.271812e-07*b20);
1192  out[120] += (it->second) * (2.305228e-10*b19 + -9.484972e-10*b20 + 7.179744e-10*b21);
1193  out[139] += (it->second) * (-1.872266e-13*b19 + 3.161657e-12*b20 + -7.179744e-10*b21 + 7.150000e-10);
1194  out[121] += (it->second) * (1.854462e-07*b19 + -8.899706e-07*b20 + 7.045244e-07*b22);
1195  out[140] += (it->second) * (-8.265013e-09*b19 + 1.627894e-07*b20 + -7.045244e-07*b22 + 5.500000e-07);
1196  out[142] += (it->second) * (-1.150001e-02*b19 + 1.150001e-02*b23);
1197  out[164] += (it->second) * (7.333880e-09*b19 + 2.061024e-05*b23 + -2.061757e-05*b24);
1198  out[187] += (it->second) * (-2.613409e-12*b19 + -1.152062e-02*b23 + 2.061757e-05*b24 + 1.150000e-02);
1199  out[143] += (it->second) * (-3.115016e-01*b19 + 3.115016e-01*b25);
1200  out[165] += (it->second) * (1.150300e-02*b19 + -3.125338e-01*b25 + 3.010308e-01*b26);
1201  out[188] += (it->second) * (-1.402805e-06*b19 + 1.032251e-03*b25 + -3.010308e-01*b26 + 3.000000e-01);
1202  out[144] += (it->second) * (-1.167247e+00*b19 + 1.167247e+00*b27);
1203  out[166] += (it->second) * (1.694948e-01*b19 + -1.286282e+00*b27 + 1.116787e+00*b28);
1204  out[189] += (it->second) * (-2.247445e-03*b19 + 1.190344e-01*b27 + -1.116787e+00*b28 + 0.688499449285);
1205  break;
1206  } case 110310000: {
1207  double b29 = exp2(-5.763689e+01*t);
1208  double b30 = exp2(-7.692308e-01*t);
1209  double b31 = exp2(-2.540650e-03*t);
1210  double b32 = exp2(-2.985075e+00*t);
1211  double b33 = exp2(-2.762431e-01*t);
1212  double b34 = exp2(-4.237288e+00*t);
1213  double b35 = exp2(-1.552795e+00*t);
1214  double b36 = exp2(-1.059143e-04*t);
1215  out[126] += (it->second) * (b29);
1216  out[143] += (it->second) * (-9.121740e-03*b29 + 9.121740e-03*b30);
1217  out[165] += (it->second) * (1.217455e-04*b29 + -9.151968e-03*b30 + 9.030222e-03*b31);
1218  out[188] += (it->second) * (-5.366577e-09*b29 + 3.022754e-05*b30 + -9.030222e-03*b31 + 9.000000e-03);
1219  out[144] += (it->second) * (-3.902093e-01*b29 + 3.902093e-01*b32);
1220  out[166] += (it->second) * (2.030668e-02*b29 + -4.300024e-01*b32 + 4.096957e-01*b33);
1221  out[189] += (it->second) * (-9.732620e-05*b29 + 3.979304e-02*b32 + -4.096957e-01*b33 + 3.700000e-01);
1222  out[145] += (it->second) * (-1.079351e+00*b29 + 1.079351e+00*b34);
1223  out[166] += (it->second) * (4.943428e-03*b29 + -7.158671e-02*b34 + 6.664329e-02*b33);
1224  out[189] += (it->second) * (-2.369295e-05*b29 + 4.666979e-03*b34 + -6.664329e-02*b33 + 6.200000e-02);
1225  out[167] += (it->second) * (8.154753e-02*b29 + -1.703681e+00*b34 + 1.622133e+00*b35);
1226  out[190] += (it->second) * (-2.196976e-03*b29 + 6.243458e-01*b34 + -1.622244e+00*b35 + 1.000095e+00*b36);
1227  out[210] += (it->second) * (4.037189e-09*b29 + -1.560600e-05*b34 + 1.106513e-04*b35 + -1.000095e+00*b36 + 0.559);
1228  break;
1229  } case 110320000: {
1230  double b37 = exp2(-7.575758e+01*t);
1231  double b38 = exp2(-2.985075e+00*t);
1232  double b39 = exp2(-2.762431e-01*t);
1233  double b40 = exp2(-4.237288e+00*t);
1234  double b41 = exp2(-1.552795e+00*t);
1235  double b42 = exp2(-1.059143e-04*t);
1236  double b43 = exp2(-1.162791e+01*t);
1237  double b44 = exp2(-3.030303e+01*t);
1238  double b45 = exp2(-2.071117e-10*t);
1239  double b46 = exp2(-8.111911e-07*t);
1240  out[127] += (it->second) * (b37);
1241  out[144] += (it->second) * (-8.328154e-02*b37 + 8.328154e-02*b38);
1242  out[166] += (it->second) * (3.293551e-03*b37 + -9.177448e-02*b38 + 8.848093e-02*b39);
1243  out[189] += (it->second) * (-1.200963e-05*b37 + 8.492943e-03*b38 + -8.848093e-02*b39 + 8.000000e-02);
1244  out[145] += (it->second) * (-2.542190e-01*b37 + 2.542190e-01*b40);
1245  out[166] += (it->second) * (8.848063e-04*b37 + -1.686079e-02*b40 + 1.597599e-02*b39);
1246  out[189] += (it->second) * (-3.226365e-06*b37 + 1.099212e-03*b40 + -1.597599e-02*b39 + 1.488000e-02);
1247  out[167] += (it->second) * (1.451658e-02*b37 + -4.012673e-01*b40 + 3.867507e-01*b41);
1248  out[190] += (it->second) * (-2.975451e-04*b37 + 1.470519e-01*b40 + -3.867771e-01*b41 + 2.400227e-01*b42);
1249  out[210] += (it->second) * (4.159884e-10*b37 + -3.675675e-06*b40 + 2.638159e-05*b41 + -2.400227e-01*b42 + 2.400000e-01);
1250  out[146] += (it->second) * (-1.181319e+00*b37 + 1.181319e+00*b43);
1251  out[167] += (it->second) * (1.018121e-02*b37 + -7.498621e-02*b43 + 6.480500e-02*b41);
1252  out[190] += (it->second) * (-2.086835e-04*b37 + 1.001378e-02*b43 + -6.480942e-02*b41 + 5.500433e-02*b42);
1253  out[210] += (it->second) * (2.917537e-10*b37 + -9.121176e-08*b43 + 4.420572e-06*b41 + -5.500433e-02*b42 + 5.500000e-02);
1254  out[168] += (it->second) * (3.021978e-01*b37 + 7.355380e-01*b43 + -1.037736e+00*b44);
1255  out[190] += (it->second) * (-8.461550e-04*b37 + -1.341812e-02*b43 + 7.264176e-03*b44 + 7.000098e-03*b42);
1256  out[210] += (it->second) * (1.182982e-09*b37 + 1.222206e-07*b43 + -2.538953e-08*b44 + -7.000098e-03*b42 + 7.000000e-03);
1257  out[191] += (it->second) * (-1.208791e-01*b37 + -1.916857e+00*b43 + 1.037736e+00*b44 + 1.000000e+00*b45);
1258  out[211] += (it->second) * (2.553832e-04*b45 + -2.553832e-04*b46);
1259  out[230] += (it->second) * (-1.000255e+00*b45 + 2.553832e-04*b46 + 0.60312);
1260  break;
1261  } case 110330000: {
1262  double b47 = exp2(-1.250000e+02*t);
1263  double b48 = exp2(-4.237288e+00*t);
1264  double b49 = exp2(-2.762431e-01*t);
1265  double b50 = exp2(-1.552795e+00*t);
1266  double b51 = exp2(-1.059143e-04*t);
1267  double b52 = exp2(-1.162791e+01*t);
1268  double b53 = exp2(-3.030303e+01*t);
1269  double b54 = exp2(-2.071117e-10*t);
1270  double b55 = exp2(-8.111911e-07*t);
1271  double b56 = exp2(-1.104972e+01*t);
1272  double b57 = exp2(-2.398082e+01*t);
1273  double b58 = exp2(-1.636661e-01*t);
1274  double b59 = exp2(-4.565710e-07*t);
1275  out[128] += (it->second) * (b47);
1276  out[145] += (it->second) * (-1.345614e-01*b47 + 1.345614e-01*b48);
1277  out[166] += (it->second) * (2.834334e-04*b47 + -8.924634e-03*b48 + 8.641201e-03*b49);
1278  out[189] += (it->second) * (-6.263721e-07*b47 + 5.818270e-04*b48 + -8.641201e-03*b49 + 8.060000e-03);
1279  out[167] += (it->second) * (4.618780e-03*b47 + -2.123959e-01*b48 + 2.077772e-01*b50);
1280  out[190] += (it->second) * (-5.737619e-05*b47 + 7.783648e-02*b48 + -2.077913e-01*b50 + 1.300122e-01*b51);
1281  out[210] += (it->second) * (4.861565e-11*b47 + -1.945582e-06*b48 + 1.417319e-05*b50 + -1.300122e-01*b51 + 1.300000e-01);
1282  out[146] += (it->second) * (-5.182051e-01*b47 + 5.182051e-01*b52);
1283  out[167] += (it->second) * (2.684632e-03*b47 + -3.289395e-02*b52 + 3.020932e-02*b50);
1284  out[190] += (it->second) * (-3.334949e-05*b47 + 4.392711e-03*b52 + -3.021138e-02*b50 + 2.585202e-02*b51);
1285  out[210] += (it->second) * (2.825749e-11*b47 + -4.001156e-08*b52 + 2.060681e-06*b50 + -2.585202e-02*b51 + 2.585000e-02);
1286  out[168] += (it->second) * (6.363077e-02*b47 + 3.226560e-01*b52 + -3.862868e-01*b53);
1287  out[190] += (it->second) * (-1.079796e-04*b47 + -5.886082e-03*b52 + 2.704017e-03*b53 + 3.290044e-03*b51);
1288  out[210] += (it->second) * (9.149261e-11*b47 + 5.361411e-08*b52 + -9.451000e-09*b53 + -3.290044e-03*b51 + 3.290000e-03);
1289  out[191] += (it->second) * (-1.542564e-02*b47 + -8.408612e-01*b52 + 3.862868e-01*b53 + 4.700000e-01*b54);
1290  out[211] += (it->second) * (1.200301e-04*b54 + -1.200301e-04*b55);
1291  out[230] += (it->second) * (-4.701200e-01*b54 + 1.200301e-04*b55 + 4.700000e-01);
1292  out[147] += (it->second) * (-1.096970e+00*b47 + 1.096970e+00*b56);
1293  out[168] += (it->second) * (1.792000e-02*b47 + 8.813913e-02*b56 + -1.060591e-01*b53);
1294  out[190] += (it->second) * (-3.040972e-05*b47 + -1.692020e-03*b56 + 7.424165e-04*b53 + 9.800136e-04*b51);
1295  out[210] += (it->second) * (2.576658e-11*b47 + 1.621842e-08*b56 + -2.594872e-09*b53 + -9.800136e-04*b51 + 9.800000e-04);
1296  out[191] += (it->second) * (-4.344242e-03*b47 + -2.417149e-01*b56 + 1.060591e-01*b53 + 1.400000e-01*b54);
1297  out[211] += (it->second) * (3.575365e-05*b54 + -3.575365e-05*b55);
1298  out[230] += (it->second) * (-1.400358e-01*b54 + 3.575365e-05*b55 + 1.400000e-01);
1299  out[170] += (it->second) * (1.199892e-01*b47 + 9.373696e-01*b56 + -1.057359e+00*b57);
1300  out[191] += (it->second) * (-1.956659e-03*b47 + -1.729188e-01*b56 + 8.987550e-02*b57 + 8.500000e-02*b54);
1301  out[211] += (it->second) * (2.170757e-05*b54 + -2.170758e-05*b55);
1302  out[230] += (it->second) * (-8.502171e-02*b54 + 2.170758e-05*b55 + 8.500000e-02);
1303  out[192] += (it->second) * (-2.304969e-02*b47 + -2.064925e+00*b56 + 1.064625e+00*b57 + 1.023349e+00*b58);
1304  out[212] += (it->second) * (3.058522e-02*b56 + -7.265933e-03*b57 + -1.023352e+00*b58 + 1.000003e+00*b59);
1305  out[231] += (it->second) * (-1.263771e-09*b56 + 1.383362e-10*b57 + 2.854793e-06*b58 + -1.000003e+00*b59 + 0.13682);
1306  break;
1307  } case 110340000: {
1308  double b60 = exp2(-1.818182e+02*t);
1309  double b61 = exp2(-1.162791e+01*t);
1310  double b62 = exp2(-1.552795e+00*t);
1311  double b63 = exp2(-1.059143e-04*t);
1312  double b64 = exp2(-3.030303e+01*t);
1313  double b65 = exp2(-2.071117e-10*t);
1314  double b66 = exp2(-8.111911e-07*t);
1315  double b67 = exp2(-1.104972e+01*t);
1316  double b68 = exp2(-2.398082e+01*t);
1317  double b69 = exp2(-1.636661e-01*t);
1318  double b70 = exp2(-4.565710e-07*t);
1319  double b71 = exp2(-5.000000e+01*t);
1320  double b72 = exp2(-1.776199e+01*t);
1321  double b73 = exp2(-3.610108e-01*t);
1322  double b74 = exp2(-8.045052e-02*t);
1323  out[129] += (it->second) * (b60);
1324  out[146] += (it->second) * (-5.341615e-01*b60 + 5.341615e-01*b61);
1325  out[167] += (it->second) * (1.895067e-03*b60 + -3.390681e-02*b61 + 3.201174e-02*b62);
1326  out[190] += (it->second) * (-1.618458e-05*b60 + 4.527969e-03*b61 + -3.201393e-02*b62 + 2.750214e-02*b63);
1327  out[210] += (it->second) * (9.427980e-12*b60 + -4.124358e-08*b61 + 2.183631e-06*b62 + -2.750214e-02*b63 + 2.750000e-02);
1328  out[168] += (it->second) * (4.099379e-02*b60 + 3.325911e-01*b61 + -3.735849e-01*b64);
1329  out[190] += (it->second) * (-4.782611e-05*b60 + -6.067324e-03*b61 + 2.615103e-03*b64 + 3.500046e-03*b63);
1330  out[210] += (it->second) * (2.786007e-11*b60 + 5.526498e-08*b61 + -9.140232e-09*b64 + -3.500046e-03*b63 + 3.500000e-03);
1331  out[191] += (it->second) * (-6.832298e-03*b60 + -8.667526e-01*b61 + 3.735849e-01*b64 + 5.000000e-01*b65);
1332  out[211] += (it->second) * (1.276916e-04*b65 + -1.276916e-04*b66);
1333  out[230] += (it->second) * (-5.001277e-01*b65 + 1.276916e-04*b66 + 5.000000e-01);
1334  out[147] += (it->second) * (-1.597059e-01*b60 + 1.597059e-01*b67);
1335  out[168] += (it->second) * (1.630588e-03*b60 + 1.283202e-02*b67 + -1.446261e-02*b64);
1336  out[190] += (it->second) * (-1.902354e-06*b60 + -2.463383e-04*b67 + 1.012386e-04*b64 + 1.470020e-04*b63);
1337  out[210] += (it->second) * (1.108175e-12*b60 + 2.361211e-09*b67 + -3.538462e-10*b64 + -1.470020e-04*b63 + 1.470000e-04);
1338  out[191] += (it->second) * (-2.717647e-04*b60 + -3.519084e-02*b67 + 1.446261e-02*b64 + 2.100000e-02*b65);
1339  out[211] += (it->second) * (5.363047e-06*b65 + -5.363048e-06*b66);
1340  out[230] += (it->second) * (-2.100536e-02*b65 + 5.363048e-06*b66 + 2.100000e-02);
1341  out[170] += (it->second) * (1.118053e-02*b60 + 1.364700e-01*b67 + -1.476505e-01*b68);
1342  out[191] += (it->second) * (-1.253453e-04*b60 + -2.517495e-02*b67 + 1.255029e-02*b68 + 1.275000e-02*b65);
1343  out[211] += (it->second) * (3.256136e-06*b65 + -3.256136e-06*b66);
1344  out[230] += (it->second) * (-1.275326e-02*b65 + 3.256136e-06*b66 + 1.275000e-02);
1345  out[192] += (it->second) * (-1.475979e-03*b60 + -3.006287e-01*b67 + 1.486651e-01*b68 + 1.534396e-01*b69);
1346  out[212] += (it->second) * (4.452848e-03*b67 + -1.014621e-03*b68 + -1.534400e-01*b69 + 1.500004e-01*b70);
1347  out[231] += (it->second) * (-1.839902e-10*b67 + 1.931739e-11*b68 + 4.280436e-07*b69 + -1.500004e-01*b70 + 1.500000e-01);
1348  out[148] += (it->second) * (-1.379310e+00*b60 + 1.379310e+00*b71);
1349  out[171] += (it->second) * (4.203774e-01*b60 + -2.139261e+00*b71 + 1.718884e+00*b72);
1350  out[192] += (it->second) * (-1.068706e-02*b60 + 1.982360e-01*b71 + -4.510660e-01*b72 + 2.635170e-01*b69);
1351  out[212] += (it->second) * (4.156304e-03*b72 + -2.635178e-01*b69 + 2.600007e-01*b70);
1352  out[231] += (it->second) * (-1.068376e-10*b72 + 7.351220e-07*b69 + -2.600007e-01*b70 + 2.600000e-01);
1353  out[193] += (it->second) * (-4.114877e-02*b60 + 7.654775e-01*b71 + -1.754544e+00*b72 + 1.030216e+00*b73);
1354  out[213] += (it->second) * (8.173950e-05*b60 + -5.535821e-03*b71 + 3.582321e-02*b72 + -1.325630e+00*b73 + 1.295260e+00*b74);
1355  out[232] += (it->second) * (-3.616792e-08*b60 + 8.907193e-06*b71 + -1.622564e-04*b72 + 2.954138e-01*b73 + -1.295260e+00*b74 + 0.025103);
1356  break;
1357  } case 110350000: {
1358  double b75 = exp2(-6.666667e+02*t);
1359  double b76 = exp2(-1.428571e+01*t);
1360  double b77 = exp2(-1.776199e+01*t);
1361  double b78 = exp2(-1.636661e-01*t);
1362  double b79 = exp2(-4.565710e-07*t);
1363  double b80 = exp2(-3.610108e-01*t);
1364  double b81 = exp2(-8.045052e-02*t);
1365  double b82 = exp2(-2.688172e+01*t);
1366  double b83 = exp2(-1.282051e+00*t);
1367  double b84 = exp2(-2.114165e-02*t);
1368  double b85 = exp2(-1.324719e-07*t);
1369  out[130] += (it->second) * (b75);
1370  out[149] += (it->second) * (-1.021898e+00*b75 + 1.021898e+00*b76);
1371  out[171] += (it->second) * (1.169855e-02*b75 + 2.183728e+00*b76 + -2.195427e+00*b77);
1372  out[192] += (it->second) * (-8.105778e-05*b75 + -7.141113e-01*b76 + 5.761196e-01*b77 + 1.380727e-01*b78);
1373  out[212] += (it->second) * (8.181308e-03*b76 + -5.308598e-03*b77 + -1.380731e-01*b78 + 1.352004e-01*b79);
1374  out[231] += (it->second) * (-2.614743e-10*b76 + 1.364572e-10*b77 + 3.851755e-07*b78 + -1.352004e-01*b79 + 1.352000e-01);
1375  out[193] += (it->second) * (-3.118530e-04*b75 + -2.785507e+00*b76 + 2.240975e+00*b77 + 5.448444e-01*b80);
1376  out[213] += (it->second) * (1.688939e-07*b75 + 7.079054e-02*b76 + -4.575485e-02*b77 + -7.010783e-01*b80 + 6.760424e-01*b81);
1377  out[232] += (it->second) * (-2.038140e-11*b75 + -3.986595e-04*b76 + 2.072404e-04*b77 + 1.562339e-01*b80 + -6.760424e-01*b81 + 5.200000e-01);
1378  out[172] += (it->second) * (2.281789e-02*b75 + 1.158982e+00*b76 + -1.181800e+00*b82);
1379  out[193] += (it->second) * (-3.498183e-04*b75 + -8.502199e-01*b76 + 4.551969e-01*b82 + 3.953728e-01*b80);
1380  out[213] += (it->second) * (1.894552e-07*b75 + 2.160738e-02*b76 + -6.131464e-03*b82 + -5.087457e-01*b80 + 4.932696e-01*b81);
1381  out[232] += (it->second) * (-2.286265e-11*b75 + -1.216828e-04*b76 + 1.835000e-05*b82 + 1.133729e-01*b80 + -4.932696e-01*b81 + 3.448000e-01);
1382  out[194] += (it->second) * (-9.218488e-04*b75 + -2.395896e+00*b76 + 1.240985e+00*b82 + 1.155833e+00*b83);
1383  out[214] += (it->second) * (1.772842e-06*b75 + 2.153350e-01*b76 + -5.923202e-02*b82 + -1.175212e+00*b83 + 1.019108e+00*b84);
1384  out[233] += (it->second) * (1.937983e-02*b83 + -1.019114e+00*b84 + 1.000006e+00*b85);
1385  break;
1386  } case 110360000: {
1387  double b86 = exp2(-5.555556e+06*t);
1388  out[131] += (it->second) * (b86);
1389  break;
1390  } case 110370000: {
1391  double b87 = exp2(-1.666667e+07*t);
1392  out[132] += (it->second) * (b87);
1393  break;
1394  } default: {
1395  outcomp.insert(*it);
1396  break;
1397  }
1398  }
1399 }
1400 
1401 void decay_mg(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
1402  //using std::exp2;
1403  switch (nucname::id_to_state_id(it->first)) {
1404  case 120190000: {
1405  double b0 = exp2(-6.959834e+20*t);
1406  double b1 = exp2(-9.157509e+00*t);
1407  double b2 = exp2(-1.550628e-02*t);
1408  out[133] += (it->second) * (b0);
1409  out[96] += (it->second) * (-1.000000e+00*b0 + b1);
1410  out[68] += (it->second) * (-1.000000e+00*b1 + 1.0);
1411  out[80] += (it->second) * (-1.001696e+00*b1 + 1.001696e+00*b2);
1412  out[69] += (it->second) * (1.696158e-03*b1 + -1.001696e+00*b2 + 0.0);
1413  break;
1414  } case 120200000: {
1415  double b3 = exp2(-1.101322e+01*t);
1416  double b4 = exp2(-5.807201e-02*t);
1417  double b5 = exp2(-2.232641e+00*t);
1418  out[134] += (it->second) * (b3);
1419  out[98] += (it->second) * (-3.046062e-01*b3 + 3.046062e-01*b4);
1420  out[82] += (it->second) * (1.606170e-03*b3 + -3.046062e-01*b4 + 3.030000e-01);
1421  out[114] += (it->second) * (-1.254271e+00*b3 + 1.254271e+00*b5);
1422  out[68] += (it->second) * (5.098124e-02*b3 + -2.514812e-01*b5 + 2.005000e-01);
1423  out[99] += (it->second) * (2.542705e-01*b3 + -1.254271e+00*b5 + 0.4965);
1424  break;
1425  } case 120210000: {
1426  double b6 = exp2(-8.196721e+00*t);
1427  double b7 = exp2(-4.446421e-02*t);
1428  out[135] += (it->second) * (b6);
1429  out[99] += (it->second) * (-3.260000e-01*b6 + 3.260000e-01);
1430  out[115] += (it->second) * (-1.005454e+00*b6 + 1.005454e+00*b7);
1431  out[100] += (it->second) * (5.454220e-03*b6 + -1.005454e+00*b7 + 0.674);
1432  break;
1433  } case 120220000: {
1434  double b8 = exp2(-2.580312e-01*t);
1435  double b9 = exp2(-1.217508e-08*t);
1436  out[136] += (it->second) * (b8);
1437  out[116] += (it->second) * (-1.000000e+00*b8 + 1.000000e+00*b9);
1438  out[101] += (it->second) * (4.718454e-08*b8 + -1.000000e+00*b9 + 1.0);
1439  break;
1440  } case 120230000: {
1441  double b10 = exp2(-8.836264e-02*t);
1442  out[137] += (it->second) * (b10);
1443  out[117] += (it->second) * (-1.000000e+00*b10 + 1.0);
1444  break;
1445  } case 120240000: {
1446  out[138] += it->second;
1447  break;
1448  } case 120250000: {
1449  out[139] += it->second;
1450  break;
1451  } case 120260000: {
1452  out[140] += it->second;
1453  break;
1454  } case 120270000: {
1455  double b11 = exp2(-1.762177e-03*t);
1456  out[141] += (it->second) * (b11);
1457  out[163] += (it->second) * (-1.000000e+00*b11 + 1.0);
1458  break;
1459  } case 120280000: {
1460  double b12 = exp2(-1.328127e-05*t);
1461  double b13 = exp2(-7.423905e-03*t);
1462  out[142] += (it->second) * (b12);
1463  out[164] += (it->second) * (1.792193e-03*b12 + -1.792193e-03*b13);
1464  out[187] += (it->second) * (-1.001792e+00*b12 + 1.792193e-03*b13 + 1.0);
1465  break;
1466  } case 120290000: {
1467  double b14 = exp2(-7.692308e-01*t);
1468  double b15 = exp2(-2.540650e-03*t);
1469  out[143] += (it->second) * (b14);
1470  out[165] += (it->second) * (-1.003314e+00*b14 + 1.003314e+00*b15);
1471  out[188] += (it->second) * (3.313790e-03*b14 + -1.003314e+00*b15 + 1.0);
1472  break;
1473  } case 120300000: {
1474  double b16 = exp2(-2.985075e+00*t);
1475  double b17 = exp2(-2.762431e-01*t);
1476  out[144] += (it->second) * (b16);
1477  out[166] += (it->second) * (-1.101979e+00*b16 + 1.101979e+00*b17);
1478  out[189] += (it->second) * (1.019787e-01*b16 + -1.101979e+00*b17 + 1.0);
1479  break;
1480  } case 120310000: {
1481  double b18 = exp2(-4.237288e+00*t);
1482  double b19 = exp2(-2.762431e-01*t);
1483  double b20 = exp2(-1.552795e+00*t);
1484  double b21 = exp2(-1.059143e-04*t);
1485  out[145] += (it->second) * (b18);
1486  out[166] += (it->second) * (-6.632388e-02*b18 + 6.632388e-02*b19);
1487  out[189] += (it->second) * (4.323877e-03*b18 + -6.632388e-02*b19 + 6.200000e-02);
1488  out[167] += (it->second) * (-1.578431e+00*b18 + 1.578431e+00*b20);
1489  out[190] += (it->second) * (5.784458e-01*b18 + -1.578539e+00*b20 + 1.000093e+00*b21);
1490  out[210] += (it->second) * (-1.445870e-05*b18 + 1.076702e-04*b20 + -1.000093e+00*b21 + 0.938);
1491  break;
1492  } case 120320000: {
1493  double b22 = exp2(-1.162791e+01*t);
1494  double b23 = exp2(-1.552795e+00*t);
1495  double b24 = exp2(-1.059143e-04*t);
1496  double b25 = exp2(-3.030303e+01*t);
1497  double b26 = exp2(-2.071117e-10*t);
1498  double b27 = exp2(-8.111911e-07*t);
1499  out[146] += (it->second) * (b22);
1500  out[167] += (it->second) * (-6.347670e-02*b22 + 6.347670e-02*b23);
1501  out[190] += (it->second) * (8.476780e-03*b22 + -6.348103e-02*b23 + 5.500425e-02*b24);
1502  out[210] += (it->second) * (-7.721181e-08*b22 + 4.329964e-06*b23 + -5.500425e-02*b24 + 5.500000e-02);
1503  out[168] += (it->second) * (6.226415e-01*b22 + -6.226415e-01*b25);
1504  out[190] += (it->second) * (-1.135859e-02*b22 + 4.358506e-03*b25 + 7.000088e-03*b24);
1505  out[210] += (it->second) * (1.034612e-07*b22 + -1.523372e-08*b25 + -7.000088e-03*b24 + 7.000000e-03);
1506  out[191] += (it->second) * (-1.622642e+00*b22 + 6.226415e-01*b25 + 1.000000e+00*b26);
1507  out[211] += (it->second) * (2.553832e-04*b26 + -2.553832e-04*b27);
1508  out[230] += (it->second) * (-1.000255e+00*b26 + 2.553832e-04*b27 + 0.938);
1509  break;
1510  } case 120330000: {
1511  double b28 = exp2(-1.104972e+01*t);
1512  double b29 = exp2(-3.030303e+01*t);
1513  double b30 = exp2(-1.059143e-04*t);
1514  double b31 = exp2(-2.071117e-10*t);
1515  double b32 = exp2(-8.111911e-07*t);
1516  double b33 = exp2(-2.398082e+01*t);
1517  double b34 = exp2(-1.636661e-01*t);
1518  double b35 = exp2(-4.565710e-07*t);
1519  out[147] += (it->second) * (b28);
1520  out[168] += (it->second) * (8.034783e-02*b28 + -8.034783e-02*b29);
1521  out[190] += (it->second) * (-1.542450e-03*b28 + 5.624367e-04*b29 + 9.800128e-04*b30);
1522  out[210] += (it->second) * (1.478475e-08*b28 + -1.965812e-09*b29 + -9.800128e-04*b30 + 9.800000e-04);
1523  out[191] += (it->second) * (-2.203478e-01*b28 + 8.034783e-02*b29 + 1.400000e-01*b31);
1524  out[211] += (it->second) * (3.575365e-05*b31 + -3.575365e-05*b32);
1525  out[230] += (it->second) * (-1.400358e-01*b31 + 3.575365e-05*b32 + 1.400000e-01);
1526  out[170] += (it->second) * (8.545082e-01*b28 + -8.545082e-01*b33);
1527  out[191] += (it->second) * (-1.576332e-01*b28 + 7.263320e-02*b33 + 8.500000e-02*b31);
1528  out[211] += (it->second) * (2.170757e-05*b31 + -2.170758e-05*b32);
1529  out[230] += (it->second) * (-8.502171e-02*b31 + 2.170758e-05*b32 + 8.500000e-02);
1530  out[192] += (it->second) * (-1.882390e+00*b28 + 8.603802e-01*b33 + 1.022010e+00*b34);
1531  out[212] += (it->second) * (2.788155e-02*b28 + -5.871989e-03*b33 + -1.022012e+00*b34 + 1.000003e+00*b35);
1532  out[231] += (it->second) * (-1.152057e-09*b28 + 1.117969e-10*b33 + 2.851056e-06*b34 + -1.000003e+00*b35 + 0.77402);
1533  break;
1534  } case 120340000: {
1535  double b36 = exp2(-5.000000e+01*t);
1536  double b37 = exp2(-1.776199e+01*t);
1537  double b38 = exp2(-1.636661e-01*t);
1538  double b39 = exp2(-4.565710e-07*t);
1539  double b40 = exp2(-3.610108e-01*t);
1540  double b41 = exp2(-8.045052e-02*t);
1541  out[148] += (it->second) * (b36);
1542  out[171] += (it->second) * (-1.550964e+00*b36 + 1.550964e+00*b37);
1543  out[192] += (it->second) * (1.437211e-01*b36 + -4.070010e-01*b37 + 2.632798e-01*b38);
1544  out[212] += (it->second) * (3.750271e-03*b37 + -2.632806e-01*b38 + 2.600007e-01*b39);
1545  out[231] += (it->second) * (-9.640051e-11*b37 + 7.344603e-07*b38 + -2.600007e-01*b39 + 2.600000e-01);
1546  out[193] += (it->second) * (5.549712e-01*b36 + -1.583141e+00*b37 + 1.028170e+00*b40);
1547  out[213] += (it->second) * (-4.013470e-03*b36 + 3.232361e-02*b37 + -1.322997e+00*b40 + 1.294687e+00*b41);
1548  out[232] += (it->second) * (6.457715e-06*b36 + -1.464054e-04*b37 + 2.948273e-01*b40 + -1.294687e+00*b41 + 0.74);
1549  break;
1550  } case 120350000: {
1551  double b42 = exp2(-1.428571e+01*t);
1552  double b43 = exp2(-1.776199e+01*t);
1553  double b44 = exp2(-1.636661e-01*t);
1554  double b45 = exp2(-4.565710e-07*t);
1555  double b46 = exp2(-3.610108e-01*t);
1556  double b47 = exp2(-8.045052e-02*t);
1557  double b48 = exp2(-2.688172e+01*t);
1558  double b49 = exp2(-1.282051e+00*t);
1559  double b50 = exp2(-2.114165e-02*t);
1560  double b51 = exp2(-1.324719e-07*t);
1561  out[149] += (it->second) * (b42);
1562  out[171] += (it->second) * (2.136934e+00*b42 + -2.136934e+00*b43);
1563  out[192] += (it->second) * (-6.988089e-01*b42 + 5.607701e-01*b43 + 1.380388e-01*b44);
1564  out[212] += (it->second) * (8.005994e-03*b42 + -5.167161e-03*b43 + -1.380392e-01*b44 + 1.352004e-01*b45);
1565  out[231] += (it->second) * (-2.558713e-10*b42 + 1.328216e-10*b43 + 3.850809e-07*b44 + -1.352004e-01*b45 + 1.352000e-01);
1566  out[193] += (it->second) * (-2.725818e+00*b42 + 2.181268e+00*b43 + 5.445494e-01*b46);
1567  out[213] += (it->second) * (6.927360e-02*b42 + -4.453580e-02*b43 + -7.006987e-01*b46 + 6.759609e-01*b47);
1568  out[232] += (it->second) * (-3.901168e-04*b42 + 2.017189e-04*b43 + 1.561493e-01*b46 + -6.759609e-01*b47 + 5.200000e-01);
1569  out[172] += (it->second) * (1.134146e+00*b42 + -1.134146e+00*b48);
1570  out[193] += (it->second) * (-8.320009e-01*b42 + 4.368422e-01*b48 + 3.951587e-01*b46);
1571  out[213] += (it->second) * (2.114437e-02*b42 + -5.884228e-03*b48 + -5.084702e-01*b46 + 4.932101e-01*b47);
1572  out[232] += (it->second) * (-1.190753e-04*b42 + 1.761008e-05*b48 + 1.133115e-01*b46 + -4.932101e-01*b47 + 3.448000e-01);
1573  out[194] += (it->second) * (-2.344555e+00*b42 + 1.190945e+00*b48 + 1.153610e+00*b49);
1574  out[214] += (it->second) * (2.107206e-01*b42 + -5.684363e-02*b48 + -1.172952e+00*b49 + 1.019075e+00*b50);
1575  out[233] += (it->second) * (1.934256e-02*b49 + -1.019082e+00*b50 + 1.000006e+00*b51);
1576  break;
1577  } case 120360000: {
1578  double b52 = exp2(-2.564103e+02*t);
1579  double b53 = exp2(-1.111111e+01*t);
1580  double b54 = exp2(-2.222222e+00*t);
1581  double b55 = exp2(-1.785714e-01*t);
1582  out[150] += (it->second) * (b52);
1583  out[173] += (it->second) * (-1.045296e+00*b52 + 1.045296e+00*b53);
1584  out[195] += (it->second) * (4.569217e-02*b52 + -1.306620e+00*b53 + 1.260928e+00*b54);
1585  out[215] += (it->second) * (-3.962747e-04*b52 + 2.655925e-01*b53 + -1.371106e+00*b54 + 1.105910e+00*b55);
1586  out[234] += (it->second) * (2.759771e-07*b52 + -4.268451e-03*b53 + 1.101782e-01*b54 + -1.105910e+00*b55 + 1.0);
1587  break;
1588  } case 120370000: {
1589  double b56 = exp2(-1.250000e+02*t);
1590  out[151] += (it->second) * (b56);
1591  break;
1592  } case 120380000: {
1593  double b57 = exp2(-3.846154e+06*t);
1594  out[152] += (it->second) * (b57);
1595  break;
1596  } case 120390000: {
1597  double b58 = exp2(-5.555556e+06*t);
1598  out[153] += (it->second) * (b58);
1599  break;
1600  } case 120400000: {
1601  double b59 = exp2(-5.882353e+06*t);
1602  out[154] += (it->second) * (b59);
1603  break;
1604  } default: {
1605  outcomp.insert(*it);
1606  break;
1607  }
1608  }
1609 }
1610 
1611 void decay_al(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
1612  //using std::exp2;
1613  switch (nucname::id_to_state_id(it->first)) {
1614  case 130210000: {
1615  double b0 = exp2(-2.857143e+07*t);
1616  out[155] += (it->second) * (b0);
1617  break;
1618  } case 130220000: {
1619  double b1 = exp2(-1.694915e+01*t);
1620  double b2 = exp2(-5.980861e-01*t);
1621  double b3 = exp2(-1.518326e-04*t);
1622  double b4 = exp2(-4.446421e-02*t);
1623  double b5 = exp2(-2.580312e-01*t);
1624  double b6 = exp2(-1.217508e-08*t);
1625  out[156] += (it->second) * (b1);
1626  out[97] += (it->second) * (-3.213391e-03*b1 + 3.213391e-03*b2);
1627  out[81] += (it->second) * (1.133922e-04*b1 + -3.214207e-03*b2 + 3.100815e-03*b3);
1628  out[70] += (it->second) * (-1.015782e-09*b1 + 8.159719e-07*b2 + -3.100815e-03*b3 + 3.100000e-03);
1629  out[99] += (it->second) * (-9.000000e-03*b1 + 9.000000e-03);
1630  out[115] += (it->second) * (-6.015782e-01*b1 + 6.015782e-01*b4);
1631  out[100] += (it->second) * (1.578173e-03*b1 + -6.015782e-01*b4 + 6.000000e-01);
1632  out[136] += (it->second) * (-1.015459e+00*b1 + 1.015459e+00*b5);
1633  out[116] += (it->second) * (-1.015459e+00*b5 + 1.000000e+00*b6);
1634  out[101] += (it->second) * (4.791397e-08*b5 + -1.000000e+00*b6 + 0.3879);
1635  break;
1636  } case 130230000: {
1637  double b7 = exp2(-2.127660e+00*t);
1638  double b8 = exp2(-1.217508e-08*t);
1639  double b9 = exp2(-8.836264e-02*t);
1640  out[157] += (it->second) * (b7);
1641  out[116] += (it->second) * (-4.600000e-03*b7 + 4.600000e-03*b8);
1642  out[101] += (it->second) * (-4.600000e-03*b8 + 4.600000e-03);
1643  out[137] += (it->second) * (-1.043330e+00*b7 + 1.043330e+00*b9);
1644  out[117] += (it->second) * (4.332995e-02*b7 + -1.043330e+00*b9 + 0.9954);
1645  break;
1646  } case 130240000: {
1647  double b10 = exp2(-4.870921e-01*t);
1648  out[158] += (it->second) * (b10);
1649  out[99] += (it->second) * (-3.500000e-04*b10 + 3.500000e-04);
1650  out[117] += (it->second) * (-1.600000e-05*b10 + 1.600000e-05);
1651  out[138] += (it->second) * (-1.000000e+00*b10 + 0.999634);
1652  break;
1653  } case 130240001: {
1654  double b11 = exp2(-7.692308e+00*t);
1655  double b12 = exp2(-4.870921e-01*t);
1656  out[159] += (it->second) * (b11);
1657  out[99] += (it->second) * (-2.800000e-04*b11 + 2.800000e-04);
1658  out[138] += (it->second) * (-1.750000e-01*b11 + 1.750000e-01);
1659  out[158] += (it->second) * (-8.807722e-01*b11 + 8.807722e-01*b12);
1660  out[99] += (it->second) * (1.952028e-05*b11 + -3.082703e-04*b12 + 2.887500e-04);
1661  out[117] += (it->second) * (8.923557e-07*b11 + -1.409236e-05*b12 + 1.320000e-05);
1662  out[138] += (it->second) * (5.577223e-02*b11 + -8.807722e-01*b12 + 8.244181e-01);
1663  break;
1664  } case 130250000: {
1665  double b13 = exp2(-1.392176e-01*t);
1666  out[160] += (it->second) * (b13);
1667  out[139] += (it->second) * (-1.000000e+00*b13 + 1.0);
1668  break;
1669  } case 130260000: {
1670  double b14 = exp2(-4.419538e-14*t);
1671  out[161] += (it->second) * (b14);
1672  out[140] += (it->second) * (-1.000000e+00*b14 + 1.0);
1673  break;
1674  } case 130260001: {
1675  double b15 = exp2(-1.575994e-01*t);
1676  out[162] += (it->second) * (b15);
1677  out[140] += (it->second) * (-1.000000e+00*b15 + 1.0);
1678  break;
1679  } case 130270000: {
1680  out[163] += it->second;
1681  break;
1682  } case 130280000: {
1683  double b16 = exp2(-7.423905e-03*t);
1684  out[164] += (it->second) * (b16);
1685  out[187] += (it->second) * (-1.000000e+00*b16 + 1.0);
1686  break;
1687  } case 130290000: {
1688  double b17 = exp2(-2.540650e-03*t);
1689  out[165] += (it->second) * (b17);
1690  out[188] += (it->second) * (-1.000000e+00*b17 + 1.0);
1691  break;
1692  } case 130300000: {
1693  double b18 = exp2(-2.762431e-01*t);
1694  out[166] += (it->second) * (b18);
1695  out[189] += (it->second) * (-1.000000e+00*b18 + 1.0);
1696  break;
1697  } case 130310000: {
1698  double b19 = exp2(-1.552795e+00*t);
1699  double b20 = exp2(-1.059143e-04*t);
1700  out[167] += (it->second) * (b19);
1701  out[190] += (it->second) * (-1.000068e+00*b19 + 1.000068e+00*b20);
1702  out[210] += (it->second) * (6.821343e-05*b19 + -1.000068e+00*b20 + 1.0);
1703  break;
1704  } case 130320000: {
1705  double b21 = exp2(-3.030303e+01*t);
1706  double b22 = exp2(-1.059143e-04*t);
1707  double b23 = exp2(-2.071117e-10*t);
1708  double b24 = exp2(-8.111911e-07*t);
1709  out[168] += (it->second) * (b21);
1710  out[190] += (it->second) * (-7.000024e-03*b21 + 7.000024e-03*b22);
1711  out[210] += (it->second) * (2.446628e-08*b21 + -7.000024e-03*b22 + 7.000000e-03);
1712  out[191] += (it->second) * (-1.000000e+00*b21 + 1.000000e+00*b23);
1713  out[211] += (it->second) * (2.553832e-04*b23 + -2.553832e-04*b24);
1714  out[230] += (it->second) * (-1.000255e+00*b23 + 2.553832e-04*b24 + 0.993);
1715  break;
1716  } case 130320002: {
1717  double b25 = exp2(-5.000000e+06*t);
1718  double b26 = exp2(-3.030303e+01*t);
1719  double b27 = exp2(-1.059143e-04*t);
1720  double b28 = exp2(-2.071117e-10*t);
1721  double b29 = exp2(-8.111911e-07*t);
1722  out[169] += (it->second) * (b25);
1723  out[168] += (it->second) * (-1.000006e+00*b25 + 1.000006e+00*b26);
1724  out[190] += (it->second) * (-7.000067e-03*b26 + 7.000024e-03*b27);
1725  out[210] += (it->second) * (2.446643e-08*b26 + -7.000024e-03*b27 + 7.000000e-03);
1726  out[191] += (it->second) * (6.060643e-06*b25 + -1.000006e+00*b26 + 1.000000e+00*b28);
1727  out[211] += (it->second) * (2.553832e-04*b28 + -2.553832e-04*b29);
1728  out[230] += (it->second) * (-1.000255e+00*b28 + 2.553832e-04*b29 + 0.993);
1729  break;
1730  } case 130330000: {
1731  double b30 = exp2(-2.398082e+01*t);
1732  double b31 = exp2(-2.071117e-10*t);
1733  double b32 = exp2(-8.111911e-07*t);
1734  double b33 = exp2(-1.636661e-01*t);
1735  double b34 = exp2(-4.565710e-07*t);
1736  out[170] += (it->second) * (b30);
1737  out[191] += (it->second) * (-8.500000e-02*b30 + 8.500000e-02*b31);
1738  out[211] += (it->second) * (2.170757e-05*b31 + -2.170757e-05*b32);
1739  out[230] += (it->second) * (-8.502171e-02*b31 + 2.170757e-05*b32 + 8.500000e-02);
1740  out[192] += (it->second) * (-1.006872e+00*b30 + 1.006872e+00*b33);
1741  out[212] += (it->second) * (6.871776e-03*b30 + -1.006875e+00*b33 + 1.000003e+00*b34);
1742  out[231] += (it->second) * (-1.308318e-10*b30 + 2.808826e-06*b33 + -1.000003e+00*b34 + 0.915);
1743  break;
1744  } case 130340000: {
1745  double b35 = exp2(-1.776199e+01*t);
1746  double b36 = exp2(-1.636661e-01*t);
1747  double b37 = exp2(-4.565710e-07*t);
1748  double b38 = exp2(-3.610108e-01*t);
1749  double b39 = exp2(-8.045052e-02*t);
1750  out[171] += (it->second) * (b35);
1751  out[192] += (it->second) * (-2.624180e-01*b35 + 2.624180e-01*b36);
1752  out[212] += (it->second) * (2.418025e-03*b35 + -2.624188e-01*b36 + 2.600007e-01*b37);
1753  out[231] += (it->second) * (-6.215521e-11*b35 + 7.320561e-07*b36 + -2.600007e-01*b37 + 2.600000e-01);
1754  out[193] += (it->second) * (-1.020747e+00*b35 + 1.020747e+00*b38);
1755  out[213] += (it->second) * (2.084098e-02*b35 + -1.313445e+00*b38 + 1.292604e+00*b39);
1756  out[232] += (it->second) * (-9.439639e-05*b35 + 2.926986e-01*b38 + -1.292604e+00*b39 + 0.74);
1757  break;
1758  } case 130350000: {
1759  double b40 = exp2(-2.688172e+01*t);
1760  double b41 = exp2(-3.610108e-01*t);
1761  double b42 = exp2(-8.045052e-02*t);
1762  double b43 = exp2(-1.282051e+00*t);
1763  double b44 = exp2(-2.114165e-02*t);
1764  double b45 = exp2(-1.324719e-07*t);
1765  out[172] += (it->second) * (b40);
1766  out[193] += (it->second) * (-3.851727e-01*b40 + 3.851727e-01*b41);
1767  out[213] += (it->second) * (5.188244e-03*b40 + -4.956208e-01*b41 + 4.904325e-01*b42);
1768  out[232] += (it->second) * (-1.552717e-05*b40 + 1.104481e-01*b41 + -4.904325e-01*b42 + 3.800000e-01);
1769  out[194] += (it->second) * (-1.050081e+00*b40 + 1.050081e+00*b43);
1770  out[214] += (it->second) * (5.012019e-02*b40 + -1.067687e+00*b43 + 1.017567e+00*b44);
1771  out[233] += (it->second) * (1.760669e-02*b43 + -1.017574e+00*b44 + 1.000006e+00*b45);
1772  break;
1773  } case 130360000: {
1774  double b46 = exp2(-1.111111e+01*t);
1775  double b47 = exp2(-2.222222e+00*t);
1776  double b48 = exp2(-1.785714e-01*t);
1777  out[173] += (it->second) * (b46);
1778  out[195] += (it->second) * (-1.250000e+00*b46 + 1.250000e+00*b47);
1779  out[215] += (it->second) * (2.540835e-01*b46 + -1.359223e+00*b47 + 1.105140e+00*b48);
1780  out[234] += (it->second) * (-4.083485e-03*b46 + 1.092233e-01*b47 + -1.105140e+00*b48 + 1.0);
1781  break;
1782  } case 130370000: {
1783  double b49 = exp2(-9.345794e+01*t);
1784  double b50 = exp2(-1.111111e+01*t);
1785  double b51 = exp2(-1.785714e-01*t);
1786  double b52 = exp2(-4.329004e-01*t);
1787  double b53 = exp2(-3.300330e-03*t);
1788  out[174] += (it->second) * (b49);
1789  out[196] += (it->second) * (-1.134931e+00*b49 + 1.134931e+00*b50);
1790  out[215] += (it->second) * (2.298212e-02*b49 + -1.960897e-01*b50 + 1.731075e-01*b51);
1791  out[234] += (it->second) * (-4.391227e-05*b49 + 3.151441e-03*b50 + -1.731075e-01*b51 + 1.700000e-01);
1792  out[216] += (it->second) * (1.355586e-01*b49 + -1.180941e+00*b50 + 1.045383e+00*b52);
1793  out[235] += (it->second) * (-6.279341e-04*b49 + 4.602437e-02*b50 + -1.053414e+00*b52 + 1.008017e+00*b53);
1794  out[254] += (it->second) * (2.217457e-08*b49 + -1.367061e-05*b50 + 8.030976e-03*b52 + -1.008017e+00*b53 + 0.83);
1795  break;
1796  } case 130380000: {
1797  double b54 = exp2(-1.315789e+02*t);
1798  out[175] += (it->second) * (b54);
1799  break;
1800  } case 130390000: {
1801  double b55 = exp2(-1.315789e+02*t);
1802  out[176] += (it->second) * (b55);
1803  break;
1804  } case 130400000: {
1805  double b56 = exp2(-3.846154e+06*t);
1806  out[177] += (it->second) * (b56);
1807  break;
1808  } case 130410000: {
1809  double b57 = exp2(-3.846154e+06*t);
1810  out[178] += (it->second) * (b57);
1811  break;
1812  } case 130420000: {
1813  double b58 = exp2(-5.882353e+06*t);
1814  out[179] += (it->second) * (b58);
1815  break;
1816  } case 130430000: {
1817  double b59 = exp2(-5.882353e+06*t);
1818  out[180] += (it->second) * (b59);
1819  break;
1820  } default: {
1821  outcomp.insert(*it);
1822  break;
1823  }
1824  }
1825 }
1826 
1827 void decay_si(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
1828  //using std::exp2;
1829  switch (nucname::id_to_state_id(it->first)) {
1830  case 140220000: {
1831  double b0 = exp2(-3.448276e+01*t);
1832  double b1 = exp2(-8.196721e+00*t);
1833  double b2 = exp2(-4.446421e-02*t);
1834  double b3 = exp2(-1.694915e+01*t);
1835  double b4 = exp2(-5.980861e-01*t);
1836  double b5 = exp2(-1.518326e-04*t);
1837  double b6 = exp2(-2.580312e-01*t);
1838  double b7 = exp2(-1.217508e-08*t);
1839  out[181] += (it->second) * (b0);
1840  out[135] += (it->second) * (-4.197849e-01*b0 + 4.197849e-01*b1);
1841  out[99] += (it->second) * (3.252989e-02*b0 + -1.368499e-01*b1 + 1.043200e-01);
1842  out[115] += (it->second) * (9.991378e-02*b0 + -4.220745e-01*b1 + 3.221608e-01*b2);
1843  out[100] += (it->second) * (-1.288350e-04*b0 + 2.289600e-03*b1 + -3.221608e-01*b2 + 3.200000e-01);
1844  out[156] += (it->second) * (-1.966667e+00*b0 + 1.966667e+00*b3);
1845  out[97] += (it->second) * (3.049560e-03*b0 + -6.319669e-03*b3 + 3.270110e-03*b4);
1846  out[81] += (it->second) * (-5.289331e-05*b0 + 2.230047e-04*b3 + -3.270940e-03*b4 + 3.100829e-03*b5);
1847  out[70] += (it->second) * (2.328970e-10*b0 + -1.997704e-09*b3 + 8.303744e-07*b4 + -3.100829e-03*b5 + 3.100000e-03);
1848  out[99] += (it->second) * (8.700000e-03*b0 + -1.770000e-02*b3 + 9.000000e-03);
1849  out[115] += (it->second) * (5.807489e-01*b0 + -1.183104e+00*b3 + 6.023549e-01*b2);
1850  out[100] += (it->second) * (-7.488536e-04*b0 + 3.103740e-03*b3 + -6.023549e-01*b2 + 5.635800e-01);
1851  out[136] += (it->second) * (9.739547e-01*b0 + -1.997070e+00*b3 + 1.023115e+00*b6);
1852  out[116] += (it->second) * (-1.023115e+00*b6 + 1.000000e+00*b7);
1853  out[101] += (it->second) * (4.827521e-08*b6 + -1.000000e+00*b7 + 0.0);
1854  break;
1855  } case 140230000: {
1856  double b8 = exp2(-2.364066e+01*t);
1857  double b9 = exp2(-4.446421e-02*t);
1858  double b10 = exp2(-2.580312e-01*t);
1859  double b11 = exp2(-1.217508e-08*t);
1860  double b12 = exp2(-2.127660e+00*t);
1861  double b13 = exp2(-8.836264e-02*t);
1862  out[182] += (it->second) * (b8);
1863  out[115] += (it->second) * (-3.606784e-02*b8 + 3.606784e-02*b9);
1864  out[100] += (it->second) * (6.783768e-05*b8 + -3.606784e-02*b9 + 3.600000e-02);
1865  out[136] += (it->second) * (-7.178350e-01*b8 + 7.178350e-01*b10);
1866  out[116] += (it->second) * (-7.178350e-01*b10 + 7.100000e-01*b11);
1867  out[101] += (it->second) * (3.387071e-08*b10 + -7.100000e-01*b11 + 7.100000e-01);
1868  out[157] += (it->second) * (-1.098901e+00*b8 + 1.098901e+00*b12);
1869  out[116] += (it->second) * (4.549451e-04*b8 + -5.054945e-03*b12 + 4.600000e-03*b11);
1870  out[101] += (it->second) * (-4.600000e-03*b11 + 4.600000e-03);
1871  out[137] += (it->second) * (9.927215e-02*b8 + -1.146516e+00*b12 + 1.047244e+00*b13);
1872  out[117] += (it->second) * (-3.710535e-04*b8 + 4.761533e-02*b12 + -1.047244e+00*b13 + 0.2494);
1873  break;
1874  } case 140240000: {
1875  double b14 = exp2(-7.142857e+00*t);
1876  double b15 = exp2(-8.836264e-02*t);
1877  double b16 = exp2(-4.870921e-01*t);
1878  out[183] += (it->second) * (b14);
1879  out[137] += (it->second) * (-3.847598e-01*b14 + 3.847598e-01*b15);
1880  out[117] += (it->second) * (4.759775e-03*b14 + -3.847598e-01*b15 + 3.800000e-01);
1881  out[158] += (it->second) * (-1.073183e+00*b14 + 1.073183e+00*b16);
1882  out[99] += (it->second) * (2.561422e-05*b14 + -3.756142e-04*b16 + 3.500000e-04);
1883  out[117] += (it->second) * (1.170936e-06*b14 + -1.717094e-05*b16 + 1.600000e-05);
1884  out[138] += (it->second) * (7.318348e-02*b14 + -1.073183e+00*b16 + 0.619634);
1885  break;
1886  } case 140250000: {
1887  double b17 = exp2(-4.545455e+00*t);
1888  double b18 = exp2(-1.392176e-01*t);
1889  out[184] += (it->second) * (b17);
1890  out[138] += (it->second) * (-3.500000e-01*b17 + 3.500000e-01);
1891  out[160] += (it->second) * (-1.031596e+00*b17 + 1.031596e+00*b18);
1892  out[139] += (it->second) * (3.159558e-02*b17 + -1.031596e+00*b18 + 0.65);
1893  break;
1894  } case 140260000: {
1895  double b19 = exp2(-4.453748e-01*t);
1896  double b20 = exp2(-4.419538e-14*t);
1897  out[185] += (it->second) * (b19);
1898  out[161] += (it->second) * (-1.000000e+00*b19 + 1.000000e+00*b20);
1899  out[140] += (it->second) * (-1.000000e+00*b20 + 1.0);
1900  break;
1901  } case 140270000: {
1902  double b21 = exp2(-2.409639e-01*t);
1903  out[186] += (it->second) * (b21);
1904  out[163] += (it->second) * (-1.000000e+00*b21 + 1.0);
1905  break;
1906  } case 140280000: {
1907  out[187] += it->second;
1908  break;
1909  } case 140290000: {
1910  out[188] += it->second;
1911  break;
1912  } case 140300000: {
1913  out[189] += it->second;
1914  break;
1915  } case 140310000: {
1916  double b22 = exp2(-1.059143e-04*t);
1917  out[190] += (it->second) * (b22);
1918  out[210] += (it->second) * (-1.000000e+00*b22 + 1.0);
1919  break;
1920  } case 140320000: {
1921  double b23 = exp2(-2.071117e-10*t);
1922  double b24 = exp2(-8.111911e-07*t);
1923  out[191] += (it->second) * (b23);
1924  out[211] += (it->second) * (2.553832e-04*b23 + -2.553832e-04*b24);
1925  out[230] += (it->second) * (-1.000255e+00*b23 + 2.553832e-04*b24 + 1.0);
1926  break;
1927  } case 140330000: {
1928  double b25 = exp2(-1.636661e-01*t);
1929  double b26 = exp2(-4.565710e-07*t);
1930  out[192] += (it->second) * (b25);
1931  out[212] += (it->second) * (-1.000003e+00*b25 + 1.000003e+00*b26);
1932  out[231] += (it->second) * (2.789656e-06*b25 + -1.000003e+00*b26 + 1.0);
1933  break;
1934  } case 140340000: {
1935  double b27 = exp2(-3.610108e-01*t);
1936  double b28 = exp2(-8.045052e-02*t);
1937  out[193] += (it->second) * (b27);
1938  out[213] += (it->second) * (-1.286749e+00*b27 + 1.286749e+00*b28);
1939  out[232] += (it->second) * (2.867495e-01*b27 + -1.286749e+00*b28 + 1.0);
1940  break;
1941  } case 140350000: {
1942  double b29 = exp2(-1.282051e+00*t);
1943  double b30 = exp2(-2.114165e-02*t);
1944  double b31 = exp2(-1.324719e-07*t);
1945  out[194] += (it->second) * (b29);
1946  out[214] += (it->second) * (-1.016767e+00*b29 + 1.016767e+00*b30);
1947  out[233] += (it->second) * (1.676698e-02*b29 + -1.016773e+00*b30 + 1.000006e+00*b31);
1948  break;
1949  } case 140360000: {
1950  double b32 = exp2(-2.222222e+00*t);
1951  double b33 = exp2(-1.785714e-01*t);
1952  out[195] += (it->second) * (b32);
1953  out[215] += (it->second) * (-1.087379e+00*b32 + 1.087379e+00*b33);
1954  out[234] += (it->second) * (8.737864e-02*b32 + -1.087379e+00*b33 + 1.0);
1955  break;
1956  } case 140370000: {
1957  double b34 = exp2(-1.111111e+01*t);
1958  double b35 = exp2(-1.785714e-01*t);
1959  double b36 = exp2(-4.329004e-01*t);
1960  double b37 = exp2(-3.300330e-03*t);
1961  out[196] += (it->second) * (b34);
1962  out[215] += (it->second) * (-1.727768e-01*b34 + 1.727768e-01*b35);
1963  out[234] += (it->second) * (2.776770e-03*b34 + -1.727768e-01*b35 + 1.700000e-01);
1964  out[216] += (it->second) * (-1.040541e+00*b34 + 1.040541e+00*b36);
1965  out[235] += (it->second) * (4.055259e-02*b34 + -1.048534e+00*b36 + 1.007982e+00*b37);
1966  out[254] += (it->second) * (-1.204532e-05*b34 + 7.993776e-03*b36 + -1.007982e+00*b37 + 0.83);
1967  break;
1968  } case 140380000: {
1969  double b38 = exp2(-1.000000e+06*t);
1970  out[197] += (it->second) * (b38);
1971  break;
1972  } case 140390000: {
1973  double b39 = exp2(-2.105263e+01*t);
1974  out[198] += (it->second) * (b39);
1975  break;
1976  } case 140400000: {
1977  double b40 = exp2(-3.030303e+01*t);
1978  out[199] += (it->second) * (b40);
1979  break;
1980  } case 140410000: {
1981  double b41 = exp2(-5.000000e+06*t);
1982  out[200] += (it->second) * (b41);
1983  break;
1984  } case 140420000: {
1985  double b42 = exp2(-8.000000e+01*t);
1986  double b43 = exp2(-9.090909e+00*t);
1987  double b44 = exp2(-5.025126e-01*t);
1988  double b45 = exp2(-2.604167e-02*t);
1989  double b46 = exp2(-1.520543e-04*t);
1990  double b47 = exp2(-9.871668e-01*t);
1991  double b48 = exp2(-1.470588e-01*t);
1992  double b49 = exp2(-9.631638e-10*t);
1993  double b50 = exp2(-2.247393e-05*t);
1994  out[201] += (it->second) * (b42);
1995  out[221] += (it->second) * (-1.128205e+00*b42 + 1.128205e+00*b43);
1996  out[239] += (it->second) * (6.450776e-02*b42 + -5.971086e-01*b43 + 5.326008e-01*b44);
1997  out[259] += (it->second) * (-4.053315e-04*b42 + 3.310082e-02*b43 + -5.617103e-01*b44 + 5.290148e-01*b45);
1998  out[280] += (it->second) * (1.319441e-07*b42 + -9.482165e-05*b43 + 2.911828e-02*b44 + -5.321218e-01*b45 + 5.030982e-01*b46);
1999  out[303] += (it->second) * (-2.507832e-13*b42 + 1.585984e-09*b43 + -8.810840e-06*b44 + 3.106997e-03*b45 + -5.030982e-01*b46 + 5.000000e-01);
2000  out[240] += (it->second) * (1.298069e-01*b42 + -1.265639e+00*b43 + 1.135832e+00*b47);
2001  out[260] += (it->second) * (-1.604713e-03*b42 + 1.396934e-01*b43 + -1.334656e+00*b47 + 1.196568e+00*b48);
2002  out[281] += (it->second) * (2.949840e-06*b42 + -2.259746e-03*b43 + 1.988246e-01*b47 + -1.196568e+00*b48 + 1.000000e+00*b49);
2003  out[304] += (it->second) * (4.285877e-05*b49 + -4.286642e-05*b50);
2004  out[327] += (it->second) * (-1.000043e+00*b49 + 4.286642e-05*b50 + 0.5);
2005  break;
2006  } case 140430000: {
2007  double b51 = exp2(-1.666667e+07*t);
2008  out[202] += (it->second) * (b51);
2009  break;
2010  } case 140440000: {
2011  double b52 = exp2(-2.777778e+06*t);
2012  double b53 = exp2(-5.405405e+01*t);
2013  out[203] += (it->second) * (b52);
2014  out[223] += (it->second) * (-1.000019e+00*b52 + 1.000019e+00*b53);
2015  break;
2016  } default: {
2017  outcomp.insert(*it);
2018  break;
2019  }
2020  }
2021 }
2022 
2023 void decay_p(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
2024  //using std::exp2;
2025  switch (nucname::id_to_state_id(it->first)) {
2026  case 150250000: {
2027  double b0 = exp2(-3.333333e+07*t);
2028  double b1 = exp2(-7.142857e+00*t);
2029  double b2 = exp2(-8.836264e-02*t);
2030  double b3 = exp2(-4.870921e-01*t);
2031  out[204] += (it->second) * (b0);
2032  out[183] += (it->second) * (-1.000000e+00*b0 + 1.000000e+00*b1);
2033  out[137] += (it->second) * (-3.847599e-01*b1 + 3.847598e-01*b2);
2034  out[117] += (it->second) * (4.759776e-03*b1 + -3.847598e-01*b2 + 3.800000e-01);
2035  out[158] += (it->second) * (2.142858e-07*b0 + -1.073184e+00*b1 + 1.073183e+00*b3);
2036  out[99] += (it->second) * (-1.095957e-18*b0 + 2.561422e-05*b1 + -3.756142e-04*b3 + 3.500000e-04);
2037  out[117] += (it->second) * (-5.010091e-20*b0 + 1.170936e-06*b1 + -1.717094e-05*b3 + 1.600000e-05);
2038  out[138] += (it->second) * (-3.131307e-15*b0 + 7.318350e-02*b1 + -1.073183e+00*b3 + 0.619634);
2039  break;
2040  } case 150260000: {
2041  double b4 = exp2(-2.288330e+01*t);
2042  double b5 = exp2(-4.453748e-01*t);
2043  double b6 = exp2(-4.419538e-14*t);
2044  double b7 = exp2(-1.392176e-01*t);
2045  out[205] += (it->second) * (b4);
2046  out[138] += (it->second) * (-2.160000e-02*b4 + 2.160000e-02);
2047  out[185] += (it->second) * (-1.019849e+00*b4 + 1.019849e+00*b5);
2048  out[161] += (it->second) * (1.984920e-02*b4 + -1.019849e+00*b5 + 1.000000e+00*b6);
2049  out[140] += (it->second) * (-1.000000e+00*b6 + 0.9784);
2050  out[160] += (it->second) * (-3.702525e-01*b4 + 3.702525e-01*b7);
2051  out[139] += (it->second) * (2.252546e-03*b4 + -3.702525e-01*b7 + 0);
2052  break;
2053  } case 150270000: {
2054  double b8 = exp2(-3.846154e+00*t);
2055  double b9 = exp2(-4.419538e-14*t);
2056  double b10 = exp2(-2.409639e-01*t);
2057  out[206] += (it->second) * (b8);
2058  out[161] += (it->second) * (-7.000000e-04*b8 + 7.000000e-04*b9);
2059  out[140] += (it->second) * (-7.000000e-04*b9 + 7.000000e-04);
2060  out[186] += (it->second) * (-1.066838e+00*b8 + 1.066838e+00*b10);
2061  out[163] += (it->second) * (6.683805e-02*b8 + -1.066838e+00*b10 + 0.9993);
2062  break;
2063  } case 150280000: {
2064  double b11 = exp2(-3.699593e+00*t);
2065  out[207] += (it->second) * (b11);
2066  out[138] += (it->second) * (-8.600000e-06*b11 + 8.600000e-06);
2067  out[163] += (it->second) * (-1.300000e-05*b11 + 1.300000e-05);
2068  out[187] += (it->second) * (-1.000000e+00*b11 + 0.9999784);
2069  break;
2070  } case 150290000: {
2071  double b12 = exp2(-2.414293e-01*t);
2072  out[208] += (it->second) * (b12);
2073  out[188] += (it->second) * (-1.000000e+00*b12 + 1.0);
2074  break;
2075  } case 150300000: {
2076  double b13 = exp2(-6.672004e-03*t);
2077  out[209] += (it->second) * (b13);
2078  out[189] += (it->second) * (-1.000000e+00*b13 + 1.0);
2079  break;
2080  } case 150310000: {
2081  out[210] += it->second;
2082  break;
2083  } case 150320000: {
2084  double b14 = exp2(-8.111911e-07*t);
2085  out[211] += (it->second) * (b14);
2086  out[230] += (it->second) * (-1.000000e+00*b14 + 1.0);
2087  break;
2088  } case 150330000: {
2089  double b15 = exp2(-4.565710e-07*t);
2090  out[212] += (it->second) * (b15);
2091  out[231] += (it->second) * (-1.000000e+00*b15 + 1.0);
2092  break;
2093  } case 150340000: {
2094  double b16 = exp2(-8.045052e-02*t);
2095  out[213] += (it->second) * (b16);
2096  out[232] += (it->second) * (-1.000000e+00*b16 + 1.0);
2097  break;
2098  } case 150350000: {
2099  double b17 = exp2(-2.114165e-02*t);
2100  double b18 = exp2(-1.324719e-07*t);
2101  out[214] += (it->second) * (b17);
2102  out[233] += (it->second) * (-1.000006e+00*b17 + 1.000006e+00*b18);
2103  break;
2104  } case 150360000: {
2105  double b19 = exp2(-1.785714e-01*t);
2106  out[215] += (it->second) * (b19);
2107  out[234] += (it->second) * (-1.000000e+00*b19 + 1.0);
2108  break;
2109  } case 150370000: {
2110  double b20 = exp2(-4.329004e-01*t);
2111  double b21 = exp2(-3.300330e-03*t);
2112  out[216] += (it->second) * (b20);
2113  out[235] += (it->second) * (-1.007682e+00*b20 + 1.007682e+00*b21);
2114  out[254] += (it->second) * (7.682331e-03*b20 + -1.007682e+00*b21 + 1.0);
2115  break;
2116  } case 150380000: {
2117  double b22 = exp2(-1.562500e+00*t);
2118  double b23 = exp2(-3.300330e-03*t);
2119  double b24 = exp2(-9.786651e-05*t);
2120  double b25 = exp2(-4.475474e-04*t);
2121  out[217] += (it->second) * (b22);
2122  out[235] += (it->second) * (-1.202540e-01*b22 + 1.202540e-01*b23);
2123  out[254] += (it->second) * (2.540019e-04*b22 + -1.202540e-01*b23 + 1.200000e-01);
2124  out[236] += (it->second) * (-1.000063e+00*b22 + 1.000063e+00*b24);
2125  out[255] += (it->second) * (6.265644e-05*b22 + 2.798913e-01*b24 + -2.799539e-01*b25);
2126  out[277] += (it->second) * (-1.794671e-08*b22 + -1.279954e+00*b24 + 2.799539e-01*b25 + 0.88);
2127  break;
2128  } case 150390000: {
2129  double b26 = exp2(-3.571429e+00*t);
2130  double b27 = exp2(-9.786651e-05*t);
2131  double b28 = exp2(-4.475474e-04*t);
2132  double b29 = exp2(-8.695652e-02*t);
2133  double b30 = exp2(-2.965599e-04*t);
2134  double b31 = exp2(-1.177996e-10*t);
2135  out[218] += (it->second) * (b26);
2136  out[236] += (it->second) * (-2.600071e-01*b26 + 2.600071e-01*b27);
2137  out[255] += (it->second) * (7.125770e-06*b26 + 7.276917e-02*b27 + -7.277629e-02*b28);
2138  out[277] += (it->second) * (-8.929537e-10*b26 + -3.327763e-01*b27 + 7.277629e-02*b28 + 2.600000e-01);
2139  out[237] += (it->second) * (-1.024955e+00*b26 + 1.024955e+00*b29);
2140  out[257] += (it->second) * (2.495751e-02*b26 + -1.028463e+00*b29 + 1.003505e+00*b30);
2141  out[278] += (it->second) * (-1.003506e+00*b30 + 1.000000e+00*b31);
2142  out[301] += (it->second) * (3.986128e-07*b30 + -1.000000e+00*b31 + 0.74);
2143  break;
2144  } case 150400000: {
2145  double b32 = exp2(-6.666667e+00*t);
2146  double b33 = exp2(-8.695652e-02*t);
2147  double b34 = exp2(-2.965599e-04*t);
2148  double b35 = exp2(-1.177996e-10*t);
2149  double b36 = exp2(-1.136364e-01*t);
2150  double b37 = exp2(-1.234568e-02*t);
2151  out[219] += (it->second) * (b32);
2152  out[237] += (it->second) * (-1.600881e-01*b32 + 1.600881e-01*b33);
2153  out[257] += (it->second) * (2.088199e-03*b32 + -1.606359e-01*b33 + 1.585477e-01*b34);
2154  out[278] += (it->second) * (-1.585478e-01*b34 + 1.580001e-01*b35);
2155  out[301] += (it->second) * (6.297839e-08*b34 + -1.580001e-01*b35 + 1.580000e-01);
2156  out[238] += (it->second) * (-1.017341e+00*b32 + 1.017341e+00*b36);
2157  out[258] += (it->second) * (1.737321e-02*b32 + -1.141338e+00*b36 + 1.123965e+00*b37);
2158  out[279] += (it->second) * (-3.217262e-05*b32 + 1.239972e-01*b36 + -1.123965e+00*b37 + 0.842);
2159  break;
2160  } case 150410000: {
2161  double b38 = exp2(-1.000000e+01*t);
2162  double b39 = exp2(-1.136364e-01*t);
2163  double b40 = exp2(-1.234568e-02*t);
2164  double b41 = exp2(-5.025126e-01*t);
2165  double b42 = exp2(-2.604167e-02*t);
2166  double b43 = exp2(-1.520543e-04*t);
2167  out[220] += (it->second) * (b38);
2168  out[238] += (it->second) * (-3.034483e-01*b38 + 3.034483e-01*b39);
2169  out[258] += (it->second) * (3.452538e-03*b38 + -3.404337e-01*b39 + 3.369811e-01*b40);
2170  out[279] += (it->second) * (-4.262393e-06*b38 + 3.698539e-02*b39 + -3.369811e-01*b40 + 3.000000e-01);
2171  out[239] += (it->second) * (-1.052910e+00*b38 + 1.052910e+00*b41);
2172  out[259] += (it->second) * (5.304820e-02*b38 + -1.110457e+00*b41 + 1.057409e+00*b42);
2173  out[280] += (it->second) * (-1.381485e-04*b38 + 5.756455e-02*b41 + -1.063619e+00*b42 + 1.006193e+00*b43);
2174  out[303] += (it->second) * (2.100606e-09*b38 + -1.741834e-05*b41 + 6.210349e-03*b42 + -1.006193e+00*b43 + 0.7);
2175  break;
2176  } case 150420000: {
2177  double b44 = exp2(-9.090909e+00*t);
2178  double b45 = exp2(-5.025126e-01*t);
2179  double b46 = exp2(-2.604167e-02*t);
2180  double b47 = exp2(-1.520543e-04*t);
2181  double b48 = exp2(-9.871668e-01*t);
2182  double b49 = exp2(-1.470588e-01*t);
2183  double b50 = exp2(-9.631638e-10*t);
2184  double b51 = exp2(-2.247393e-05*t);
2185  out[221] += (it->second) * (b44);
2186  out[239] += (it->second) * (-5.292553e-01*b44 + 5.292553e-01*b45);
2187  out[259] += (it->second) * (2.933936e-02*b44 + -5.581819e-01*b45 + 5.288426e-01*b46);
2188  out[280] += (it->second) * (-8.404646e-05*b44 + 2.893537e-02*b45 + -5.319486e-01*b46 + 5.030972e-01*b47);
2189  out[303] += (it->second) * (1.405758e-09*b44 + -8.755495e-06*b45 + 3.105986e-03*b46 + -5.030972e-01*b47 + 5.000000e-01);
2190  out[240] += (it->second) * (-1.121816e+00*b44 + 1.121816e+00*b48);
2191  out[260] += (it->second) * (1.238191e-01*b44 + -1.318187e+00*b48 + 1.194368e+00*b49);
2192  out[281] += (it->second) * (-2.002956e-03*b44 + 1.963711e-01*b48 + -1.194368e+00*b49 + 1.000000e+00*b50);
2193  out[304] += (it->second) * (4.285877e-05*b50 + -4.286640e-05*b51);
2194  out[327] += (it->second) * (-1.000043e+00*b50 + 4.286640e-05*b51 + 0.5);
2195  break;
2196  } case 150430000: {
2197  double b52 = exp2(-2.739726e+01*t);
2198  double b53 = exp2(-9.871668e-01*t);
2199  double b54 = exp2(-1.470588e-01*t);
2200  double b55 = exp2(-9.631638e-10*t);
2201  double b56 = exp2(-2.247393e-05*t);
2202  double b57 = exp2(-4.545455e+00*t);
2203  double b58 = exp2(-3.194888e-01*t);
2204  double b59 = exp2(-3.103662e-03*t);
2205  double b60 = exp2(-1.245640e-05*t);
2206  out[222] += (it->second) * (b52);
2207  out[240] += (it->second) * (-1.037378e+00*b52 + 1.037378e+00*b53);
2208  out[260] += (it->second) * (3.758011e-02*b52 + -1.218969e+00*b53 + 1.181389e+00*b54);
2209  out[281] += (it->second) * (-2.017168e-04*b52 + 1.815905e-01*b53 + -1.181389e+00*b54 + 1.000000e+00*b55);
2210  out[304] += (it->second) * (4.285877e-05*b55 + -4.286633e-05*b56);
2211  out[327] += (it->second) * (-1.000043e+00*b55 + 4.286633e-05*b56 + 1.0);
2212  out[241] += (it->second) * (-1.198910e+00*b52 + 1.198910e+00*b57);
2213  out[260] += (it->second) * (7.999341e-02*b52 + -4.955981e-01*b57 + 4.156047e-01*b54);
2214  out[281] += (it->second) * (-4.293764e-04*b52 + 1.603406e-02*b57 + -4.156047e-01*b54 + 4.000000e-01*b55);
2215  out[304] += (it->second) * (1.714351e-05*b55 + -1.714623e-05*b56);
2216  out[327] += (it->second) * (-4.000171e-01*b55 + 1.714623e-05*b56 + 0);
2217  out[261] += (it->second) * (2.012570e-01*b52 + -1.289549e+00*b57 + 1.088292e+00*b58);
2218  out[282] += (it->second) * (-2.347193e-03*b52 + 9.070118e-02*b57 + -1.098968e+00*b58 + 1.010614e+00*b59);
2219  out[305] += (it->second) * (2.658987e-07*b52 + -6.193145e-05*b57 + 1.067630e-02*b58 + -1.014687e+00*b59 + 1.004072e+00*b60);
2220  out[328] += (it->second) * (-1.208932e-13*b52 + 1.697175e-10*b57 + -4.162534e-07*b58 + 4.072397e-03*b59 + -1.004072e+00*b60 + 0.0);
2221  break;
2222  } case 150440000: {
2223  double b61 = exp2(-5.405405e+01*t);
2224  out[223] += (it->second) * (b61);
2225  break;
2226  } case 150450000: {
2227  double b62 = exp2(-5.000000e+06*t);
2228  out[224] += (it->second) * (b62);
2229  break;
2230  } default: {
2231  outcomp.insert(*it);
2232  break;
2233  }
2234  }
2235 }
2236 
2237 void decay_s(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
2238  //using std::exp2;
2239  switch (nucname::id_to_state_id(it->first)) {
2240  case 160270000: {
2241  double b0 = exp2(-6.451613e+01*t);
2242  double b1 = exp2(-1.392176e-01*t);
2243  double b2 = exp2(-4.453748e-01*t);
2244  double b3 = exp2(-4.419538e-14*t);
2245  double b4 = exp2(-3.846154e+00*t);
2246  double b5 = exp2(-2.409639e-01*t);
2247  out[225] += (it->second) * (b0);
2248  out[160] += (it->second) * (-1.102379e-02*b0 + 1.102379e-02*b1);
2249  out[139] += (it->second) * (2.378793e-05*b0 + -1.102379e-02*b1 + 1.100000e-02);
2250  out[185] += (it->second) * (-2.315988e-02*b0 + 2.315988e-02*b2);
2251  out[161] += (it->second) * (1.598798e-04*b0 + -2.315988e-02*b2 + 2.300000e-02*b3);
2252  out[140] += (it->second) * (-2.300000e-02*b3 + 2.300000e-02);
2253  out[206] += (it->second) * (-1.063395e+00*b0 + 1.063395e+00*b4);
2254  out[161] += (it->second) * (4.437628e-05*b0 + -7.443763e-04*b4 + 7.000000e-04*b3);
2255  out[140] += (it->second) * (-7.000000e-04*b3 + 7.000000e-04);
2256  out[186] += (it->second) * (6.363235e-02*b0 + -1.134470e+00*b4 + 1.070838e+00*b5);
2257  out[163] += (it->second) * (-2.376630e-04*b0 + 7.107522e-02*b4 + -1.070838e+00*b5 + 0.9653);
2258  break;
2259  } case 160280000: {
2260  double b6 = exp2(-8.000000e+00*t);
2261  double b7 = exp2(-2.409639e-01*t);
2262  double b8 = exp2(-3.699593e+00*t);
2263  out[226] += (it->second) * (b6);
2264  out[186] += (it->second) * (-2.134286e-01*b6 + 2.134286e-01*b7);
2265  out[163] += (it->second) * (6.428571e-03*b6 + -2.134286e-01*b7 + 2.070000e-01);
2266  out[207] += (it->second) * (-1.860289e+00*b6 + 1.860289e+00*b8);
2267  out[138] += (it->second) * (7.398486e-06*b6 + -1.599849e-05*b8 + 8.600000e-06);
2268  out[163] += (it->second) * (1.118376e-05*b6 + -2.418376e-05*b8 + 1.300000e-05);
2269  out[187] += (it->second) * (8.602891e-01*b6 + -1.860289e+00*b8 + 0.7929784);
2270  break;
2271  } case 160290000: {
2272  double b9 = exp2(-5.319149e+00*t);
2273  double b10 = exp2(-2.414293e-01*t);
2274  out[227] += (it->second) * (b9);
2275  out[187] += (it->second) * (-4.700000e-01*b9 + 4.700000e-01);
2276  out[208] += (it->second) * (-1.047547e+00*b9 + 1.047547e+00*b10);
2277  out[188] += (it->second) * (4.754679e-02*b9 + -1.047547e+00*b10 + 0.53);
2278  break;
2279  } case 160300000: {
2280  double b11 = exp2(-8.488964e-01*t);
2281  double b12 = exp2(-6.672004e-03*t);
2282  out[228] += (it->second) * (b11);
2283  out[209] += (it->second) * (-1.007922e+00*b11 + 1.007922e+00*b12);
2284  out[189] += (it->second) * (7.921884e-03*b11 + -1.007922e+00*b12 + 1.0);
2285  break;
2286  } case 160310000: {
2287  double b13 = exp2(-3.916347e-01*t);
2288  out[229] += (it->second) * (b13);
2289  out[210] += (it->second) * (-1.000000e+00*b13 + 1.0);
2290  break;
2291  } case 160320000: {
2292  out[230] += it->second;
2293  break;
2294  } case 160330000: {
2295  out[231] += it->second;
2296  break;
2297  } case 160340000: {
2298  out[232] += it->second;
2299  break;
2300  } case 160350000: {
2301  double b14 = exp2(-1.324719e-07*t);
2302  out[233] += (it->second) * (b14);
2303  break;
2304  } case 160360000: {
2305  out[234] += it->second;
2306  break;
2307  } case 160370000: {
2308  double b15 = exp2(-3.300330e-03*t);
2309  out[235] += (it->second) * (b15);
2310  out[254] += (it->second) * (-1.000000e+00*b15 + 1.0);
2311  break;
2312  } case 160380000: {
2313  double b16 = exp2(-9.786651e-05*t);
2314  double b17 = exp2(-4.475474e-04*t);
2315  out[236] += (it->second) * (b16);
2316  out[255] += (it->second) * (2.798737e-01*b16 + -2.798737e-01*b17);
2317  out[277] += (it->second) * (-1.279874e+00*b16 + 2.798737e-01*b17 + 1.0);
2318  break;
2319  } case 160390000: {
2320  double b18 = exp2(-8.695652e-02*t);
2321  double b19 = exp2(-2.965599e-04*t);
2322  double b20 = exp2(-1.177996e-10*t);
2323  out[237] += (it->second) * (b18);
2324  out[257] += (it->second) * (-1.003422e+00*b18 + 1.003422e+00*b19);
2325  out[278] += (it->second) * (-1.003423e+00*b19 + 1.000000e+00*b20);
2326  out[301] += (it->second) * (3.985797e-07*b19 + -1.000000e+00*b20 + 1.0);
2327  break;
2328  } case 160400000: {
2329  double b21 = exp2(-1.136364e-01*t);
2330  double b22 = exp2(-1.234568e-02*t);
2331  out[238] += (it->second) * (b21);
2332  out[258] += (it->second) * (-1.121884e+00*b21 + 1.121884e+00*b22);
2333  out[279] += (it->second) * (1.218837e-01*b21 + -1.121884e+00*b22 + 1.0);
2334  break;
2335  } case 160410000: {
2336  double b23 = exp2(-5.025126e-01*t);
2337  double b24 = exp2(-2.604167e-02*t);
2338  double b25 = exp2(-1.520543e-04*t);
2339  out[239] += (it->second) * (b23);
2340  out[259] += (it->second) * (-1.054655e+00*b23 + 1.054655e+00*b24);
2341  out[280] += (it->second) * (5.467186e-02*b23 + -1.060849e+00*b24 + 1.006178e+00*b25);
2342  out[303] += (it->second) * (-1.654305e-05*b23 + 6.194176e-03*b24 + -1.006178e+00*b25 + 1.0);
2343  break;
2344  } case 160420000: {
2345  double b26 = exp2(-9.871668e-01*t);
2346  double b27 = exp2(-1.470588e-01*t);
2347  double b28 = exp2(-9.631638e-10*t);
2348  double b29 = exp2(-2.247393e-05*t);
2349  out[240] += (it->second) * (b26);
2350  out[260] += (it->second) * (-1.175048e+00*b26 + 1.175048e+00*b27);
2351  out[281] += (it->second) * (1.750475e-01*b26 + -1.175048e+00*b27 + 1.000000e+00*b28);
2352  out[304] += (it->second) * (4.285877e-05*b28 + -4.286630e-05*b29);
2353  out[327] += (it->second) * (-1.000043e+00*b28 + 4.286630e-05*b29 + 1.0);
2354  break;
2355  } case 160430000: {
2356  double b30 = exp2(-4.545455e+00*t);
2357  double b31 = exp2(-1.470588e-01*t);
2358  double b32 = exp2(-9.631638e-10*t);
2359  double b33 = exp2(-2.247393e-05*t);
2360  double b34 = exp2(-3.194888e-01*t);
2361  double b35 = exp2(-3.103662e-03*t);
2362  double b36 = exp2(-1.245640e-05*t);
2363  out[241] += (it->second) * (b30);
2364  out[260] += (it->second) * (-4.133739e-01*b30 + 4.133739e-01*b31);
2365  out[281] += (it->second) * (1.337386e-02*b30 + -4.133739e-01*b31 + 4.000000e-01*b32);
2366  out[304] += (it->second) * (1.714351e-05*b32 + -1.714621e-05*b33);
2367  out[327] += (it->second) * (-4.000171e-01*b32 + 1.714621e-05*b33 + 4.000000e-01);
2368  out[261] += (it->second) * (-1.075601e+00*b30 + 1.075601e+00*b34);
2369  out[282] += (it->second) * (7.565303e-02*b30 + -1.086153e+00*b34 + 1.010500e+00*b35);
2370  out[305] += (it->second) * (-5.165646e-05*b30 + 1.055180e-02*b34 + -1.014572e+00*b35 + 1.004072e+00*b36);
2371  out[328] += (it->second) * (1.415598e-10*b30 + -4.113994e-07*b34 + 4.071936e-03*b35 + -1.004072e+00*b36 + 0.6);
2372  break;
2373  } case 160440000: {
2374  double b37 = exp2(-1.000000e+01*t);
2375  double b38 = exp2(-3.194888e-01*t);
2376  double b39 = exp2(-3.103662e-03*t);
2377  double b40 = exp2(-1.245640e-05*t);
2378  double b41 = exp2(-1.785714e+00*t);
2379  double b42 = exp2(-1.404100e-03*t);
2380  double b43 = exp2(-7.531255e-04*t);
2381  out[242] += (it->second) * (b37);
2382  out[261] += (it->second) * (-1.859406e-01*b37 + 1.859406e-01*b38);
2383  out[282] += (it->second) * (5.942438e-03*b37 + -1.877646e-01*b38 + 1.818222e-01*b39);
2384  out[305] += (it->second) * (-1.844335e-06*b37 + 1.824104e-03*b38 + -1.825549e-01*b39 + 1.807326e-01*b40);
2385  out[328] += (it->second) * (2.297377e-12*b37 + -7.111914e-08*b38 + 7.326753e-04*b39 + -1.807326e-01*b40 + 1.800000e-01);
2386  out[262] += (it->second) * (-1.217391e+00*b37 + 1.217391e+00*b41);
2387  out[283] += (it->second) * (2.174218e-01*b37 + -1.218349e+00*b41 + 1.000927e+00*b42);
2388  out[306] += (it->second) * (-3.053050e-05*b37 + 9.583874e-04*b41 + -2.158921e+00*b42 + 2.157993e+00*b43);
2389  out[329] += (it->second) * (2.299330e-09*b37 + -4.042001e-07*b41 + 1.157993e+00*b42 + -2.157993e+00*b43 + 0.82);
2390  break;
2391  } case 160450000: {
2392  double b44 = exp2(-1.470588e+01*t);
2393  double b45 = exp2(-1.785714e+00*t);
2394  double b46 = exp2(-1.404100e-03*t);
2395  double b47 = exp2(-7.531255e-04*t);
2396  double b48 = exp2(-2.421308e+00*t);
2397  double b49 = exp2(-4.655493e-02*t);
2398  double b50 = exp2(-9.358039e-04*t);
2399  double b51 = exp2(-7.117689e-08*t);
2400  out[243] += (it->second) * (b44);
2401  out[262] += (it->second) * (-6.146341e-01*b44 + 6.146341e-01*b45);
2402  out[283] += (it->second) * (7.464127e-02*b44 + -6.151178e-01*b45 + 5.404765e-01*b46);
2403  out[306] += (it->second) * (-7.127024e-06*b44 + 4.838687e-04*b45 + -1.165765e+00*b46 + 1.165288e+00*b47);
2404  out[329] += (it->second) * (3.649929e-10*b44 + -2.040718e-07*b45 + 6.252882e-01*b46 + -1.165288e+00*b47 + 5.400000e-01);
2405  out[263] += (it->second) * (-1.197101e+00*b44 + 1.197101e+00*b48);
2406  out[283] += (it->second) * (4.730886e-02*b44 + -2.874711e-01*b48 + 2.401622e-01*b46);
2407  out[306] += (it->second) * (-4.517225e-06*b44 + 1.667544e-04*b48 + -5.180106e-01*b46 + 5.178484e-01*b47);
2408  out[329] += (it->second) * (2.313385e-10*b44 + -5.186743e-08*b48 + 2.778485e-01*b46 + -5.178484e-01*b47 + 2.400000e-01);
2409  out[284] += (it->second) * (1.977274e-01*b44 + -1.220570e+00*b48 + 1.022842e+00*b49);
2410  out[307] += (it->second) * (-6.259925e-04*b44 + 2.347719e-02*b48 + -1.043824e+00*b49 + 1.020973e+00*b50);
2411  out[330] += (it->second) * (-9.073630e-06*b48 + 2.098201e-02*b49 + -1.021051e+00*b50 + 1.000078e+00*b51);
2412  out[353] += (it->second) * (2.667289e-13*b48 + -3.207897e-08*b49 + 7.766073e-05*b50 + -1.000078e+00*b51 + 0.22);
2413  break;
2414  } case 160460000: {
2415  double b52 = exp2(-2.000000e+01*t);
2416  double b53 = exp2(-4.310345e+00*t);
2417  double b54 = exp2(-4.655493e-02*t);
2418  double b55 = exp2(-9.358039e-04*t);
2419  double b56 = exp2(-7.117689e-08*t);
2420  double b57 = exp2(-1.190476e-01*t);
2421  double b58 = exp2(-9.523810e-03*t);
2422  out[244] += (it->second) * (b52);
2423  out[264] += (it->second) * (-1.274725e+00*b52 + 1.274725e+00*b53);
2424  out[284] += (it->second) * (1.652198e-01*b52 + -7.731862e-01*b53 + 6.079664e-01*b54);
2425  out[307] += (it->second) * (-3.846077e-04*b52 + 8.352800e-03*b53 + -6.204379e-01*b54 + 6.124697e-01*b55);
2426  out[330] += (it->second) * (-1.813447e-06*b53 + 1.247148e-02*b54 + -6.125163e-01*b55 + 6.000466e-01*b56);
2427  out[353] += (it->second) * (2.994552e-14*b53 + -1.906739e-08*b54 + 4.658776e-05*b55 + -6.000466e-01*b56 + 6.000000e-01);
2428  out[285] += (it->second) * (2.763703e-01*b52 + -1.310932e+00*b53 + 1.034562e+00*b57);
2429  out[308] += (it->second) * (-1.645845e-03*b52 + 3.628687e-02*b53 + -1.124524e+00*b57 + 1.089882e+00*b58);
2430  out[331] += (it->second) * (7.837358e-07*b52 + -8.017670e-05*b53 + 8.996188e-02*b57 + -1.089882e+00*b58 + 0.4);
2431  break;
2432  } case 160480000: {
2433  double b59 = exp2(-5.000000e+06*t);
2434  out[245] += (it->second) * (b59);
2435  break;
2436  } default: {
2437  outcomp.insert(*it);
2438  break;
2439  }
2440  }
2441 }
2442 
2443 void decay_cl(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
2444  //using std::exp2;
2445  switch (nucname::id_to_state_id(it->first)) {
2446  case 170290000: {
2447  double b0 = exp2(-5.000000e+07*t);
2448  out[246] += (it->second) * (b0);
2449  break;
2450  } case 170300000: {
2451  double b1 = exp2(-3.333333e+07*t);
2452  out[247] += (it->second) * (b1);
2453  break;
2454  } case 170310000: {
2455  double b2 = exp2(-5.263158e+00*t);
2456  double b3 = exp2(-6.672004e-03*t);
2457  double b4 = exp2(-3.916347e-01*t);
2458  out[248] += (it->second) * (b2);
2459  out[209] += (it->second) * (-2.403046e-02*b2 + 2.403046e-02*b3);
2460  out[189] += (it->second) * (3.046296e-05*b2 + -2.403046e-02*b3 + 2.400000e-02);
2461  out[229] += (it->second) * (-1.080393e+00*b2 + 1.080393e+00*b4);
2462  out[210] += (it->second) * (8.039265e-02*b2 + -1.080393e+00*b4 + 0.976);
2463  break;
2464  } case 170320000: {
2465  double b5 = exp2(-3.355705e+00*t);
2466  out[249] += (it->second) * (b5);
2467  out[187] += (it->second) * (-5.400000e-04*b5 + 5.400000e-04);
2468  out[210] += (it->second) * (-2.600000e-04*b5 + 2.600000e-04);
2469  out[230] += (it->second) * (-1.000000e+00*b5 + 0.9992);
2470  break;
2471  } case 170330000: {
2472  double b6 = exp2(-3.982477e-01*t);
2473  out[250] += (it->second) * (b6);
2474  out[231] += (it->second) * (-1.000000e+00*b6 + 1.0);
2475  break;
2476  } case 170340000: {
2477  double b7 = exp2(-6.550504e-01*t);
2478  out[251] += (it->second) * (b7);
2479  out[232] += (it->second) * (-1.000000e+00*b7 + 1.0);
2480  break;
2481  } case 170340001: {
2482  double b8 = exp2(-5.209961e-04*t);
2483  double b9 = exp2(-6.550504e-01*t);
2484  out[252] += (it->second) * (b8);
2485  out[232] += (it->second) * (-5.540000e-01*b8 + 5.540000e-01);
2486  out[251] += (it->second) * (3.550097e-04*b8 + -3.550097e-04*b9);
2487  out[232] += (it->second) * (-4.463550e-01*b8 + 3.550097e-04*b9 + 4.460000e-01);
2488  break;
2489  } case 170360000: {
2490  double b10 = exp2(-1.051712e-13*t);
2491  out[253] += (it->second) * (b10);
2492  out[234] += (it->second) * (-1.900000e-02*b10 + 1.900000e-02);
2493  out[275] += (it->second) * (-9.810000e-01*b10 + 9.810000e-01);
2494  break;
2495  } case 170370000: {
2496  out[254] += it->second;
2497  break;
2498  } case 170380000: {
2499  double b11 = exp2(-4.475474e-04*t);
2500  out[255] += (it->second) * (b11);
2501  out[277] += (it->second) * (-1.000000e+00*b11 + 1.0);
2502  break;
2503  } case 170380001: {
2504  double b12 = exp2(-1.398601e+00*t);
2505  double b13 = exp2(-4.475474e-04*t);
2506  out[256] += (it->second) * (b12);
2507  out[255] += (it->second) * (-1.000320e+00*b12 + 1.000320e+00*b13);
2508  out[277] += (it->second) * (3.200989e-04*b12 + -1.000320e+00*b13 + 1.0);
2509  break;
2510  } case 170390000: {
2511  double b14 = exp2(-2.965599e-04*t);
2512  double b15 = exp2(-1.177996e-10*t);
2513  out[257] += (it->second) * (b14);
2514  out[278] += (it->second) * (-1.000000e+00*b14 + 1.000000e+00*b15);
2515  out[301] += (it->second) * (3.972204e-07*b14 + -1.000000e+00*b15 + 1.0);
2516  break;
2517  } case 170400000: {
2518  double b16 = exp2(-1.234568e-02*t);
2519  out[258] += (it->second) * (b16);
2520  out[279] += (it->second) * (-1.000000e+00*b16 + 1.0);
2521  break;
2522  } case 170410000: {
2523  double b17 = exp2(-2.604167e-02*t);
2524  double b18 = exp2(-1.520543e-04*t);
2525  out[259] += (it->second) * (b17);
2526  out[280] += (it->second) * (-1.005873e+00*b17 + 1.005873e+00*b18);
2527  out[303] += (it->second) * (5.873176e-03*b17 + -1.005873e+00*b18 + 1.0);
2528  break;
2529  } case 170420000: {
2530  double b19 = exp2(-1.470588e-01*t);
2531  double b20 = exp2(-9.631638e-10*t);
2532  double b21 = exp2(-2.247393e-05*t);
2533  out[260] += (it->second) * (b19);
2534  out[281] += (it->second) * (-1.000000e+00*b19 + 1.000000e+00*b20);
2535  out[304] += (it->second) * (4.285877e-05*b20 + -4.286532e-05*b21);
2536  out[327] += (it->second) * (-1.000043e+00*b20 + 4.286532e-05*b21 + 1.0);
2537  break;
2538  } case 170430000: {
2539  double b22 = exp2(-3.194888e-01*t);
2540  double b23 = exp2(-3.103662e-03*t);
2541  double b24 = exp2(-1.245640e-05*t);
2542  out[261] += (it->second) * (b22);
2543  out[282] += (it->second) * (-1.009810e+00*b22 + 1.009810e+00*b23);
2544  out[305] += (it->second) * (9.810142e-03*b22 + -1.013879e+00*b23 + 1.004069e+00*b24);
2545  out[328] += (it->second) * (-3.824831e-07*b22 + 4.069155e-03*b23 + -1.004069e+00*b24 + 1.0);
2546  break;
2547  } case 170440000: {
2548  double b25 = exp2(-1.785714e+00*t);
2549  double b26 = exp2(-1.404100e-03*t);
2550  double b27 = exp2(-7.531255e-04*t);
2551  out[262] += (it->second) * (b25);
2552  out[283] += (it->second) * (-1.000787e+00*b25 + 1.000787e+00*b26);
2553  out[306] += (it->second) * (7.872468e-04*b25 + -2.158617e+00*b26 + 2.157830e+00*b27);
2554  out[329] += (it->second) * (-3.320215e-07*b25 + 1.157830e+00*b26 + -2.157830e+00*b27 + 1.0);
2555  break;
2556  } case 170450000: {
2557  double b28 = exp2(-2.421308e+00*t);
2558  double b29 = exp2(-1.404100e-03*t);
2559  double b30 = exp2(-7.531255e-04*t);
2560  double b31 = exp2(-4.655493e-02*t);
2561  double b32 = exp2(-9.358039e-04*t);
2562  double b33 = exp2(-7.117689e-08*t);
2563  out[263] += (it->second) * (b28);
2564  out[283] += (it->second) * (-2.401393e-01*b28 + 2.401393e-01*b29);
2565  out[306] += (it->second) * (1.392985e-04*b28 + -5.179612e-01*b29 + 5.178219e-01*b30);
2566  out[329] += (it->second) * (-4.332751e-08*b28 + 2.778219e-01*b29 + -5.178219e-01*b30 + 2.400000e-01);
2567  out[284] += (it->second) * (-1.019604e+00*b28 + 1.019604e+00*b31);
2568  out[307] += (it->second) * (1.961170e-02*b28 + -1.040520e+00*b31 + 1.020908e+00*b32);
2569  out[330] += (it->second) * (-7.579667e-06*b28 + 2.091559e-02*b31 + -1.020986e+00*b32 + 1.000078e+00*b33);
2570  out[353] += (it->second) * (2.228123e-13*b28 + -3.197741e-08*b31 + 7.765578e-05*b32 + -1.000078e+00*b33 + 0.76);
2571  break;
2572  } case 170460000: {
2573  double b34 = exp2(-4.310345e+00*t);
2574  double b35 = exp2(-4.655493e-02*t);
2575  double b36 = exp2(-9.358039e-04*t);
2576  double b37 = exp2(-7.117689e-08*t);
2577  double b38 = exp2(-1.190476e-01*t);
2578  double b39 = exp2(-9.523810e-03*t);
2579  out[264] += (it->second) * (b34);
2580  out[284] += (it->second) * (-6.065512e-01*b34 + 6.065512e-01*b35);
2581  out[307] += (it->second) * (6.552627e-03*b34 + -6.189936e-01*b35 + 6.124410e-01*b36);
2582  out[330] += (it->second) * (-1.422618e-06*b34 + 1.244245e-02*b35 + -6.124876e-01*b36 + 6.000466e-01*b37);
2583  out[353] += (it->second) * (2.349175e-14*b34 + -1.902301e-08*b35 + 4.658558e-05*b36 + -6.000466e-01*b37 + 6.000000e-01);
2584  out[285] += (it->second) * (-1.028404e+00*b34 + 1.028404e+00*b38);
2585  out[308] += (it->second) * (2.846642e-02*b34 + -1.117830e+00*b38 + 1.089363e+00*b39);
2586  out[331] += (it->second) * (-6.289724e-05*b34 + 8.942639e-02*b38 + -1.089363e+00*b39 + 0.4);
2587  break;
2588  } case 170470000: {
2589  double b40 = exp2(-9.900990e+00*t);
2590  double b41 = exp2(-8.130081e-01*t);
2591  double b42 = exp2(-5.714286e-02*t);
2592  double b43 = exp2(-2.551604e-06*t);
2593  double b44 = exp2(-3.455773e-06*t);
2594  out[265] += (it->second) * (b40);
2595  out[286] += (it->second) * (-1.089460e+00*b40 + 1.089460e+00*b41);
2596  out[309] += (it->second) * (8.997901e-02*b40 + -1.171822e+00*b41 + 1.081843e+00*b42);
2597  out[332] += (it->second) * (-5.193075e-04*b40 + 8.236261e-02*b41 + -1.081891e+00*b42 + 1.000048e+00*b43);
2598  out[357] += (it->second) * (1.338318e-10*b40 + -2.584939e-07*b41 + 4.831269e-05*b42 + 2.822178e+00*b43 + -2.822226e+00*b44);
2599  out[382] += (it->second) * (-4.671173e-17*b40 + 1.098754e-12*b41 + -2.921759e-09*b42 + -3.822226e+00*b43 + 2.822226e+00*b44 + 1.0);
2600  break;
2601  } case 170480000: {
2602  double b45 = exp2(-5.000000e+06*t);
2603  out[266] += (it->second) * (b45);
2604  break;
2605  } case 170490000: {
2606  double b46 = exp2(-5.882353e+06*t);
2607  out[267] += (it->second) * (b46);
2608  break;
2609  } case 170500000: {
2610  double b47 = exp2(-1.612903e+06*t);
2611  out[268] += (it->second) * (b47);
2612  break;
2613  } case 170510000: {
2614  double b48 = exp2(-5.000000e+06*t);
2615  out[269] += (it->second) * (b48);
2616  break;
2617  } default: {
2618  outcomp.insert(*it);
2619  break;
2620  }
2621  }
2622 }
2623 
2624 void decay_ar(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
2625  //using std::exp2;
2626  switch (nucname::id_to_state_id(it->first)) {
2627  case 180310000: {
2628  double b0 = exp2(-6.944444e+01*t);
2629  double b1 = exp2(-8.488964e-01*t);
2630  double b2 = exp2(-6.672004e-03*t);
2631  double b3 = exp2(-5.263158e+00*t);
2632  double b4 = exp2(-3.916347e-01*t);
2633  out[270] += (it->second) * (b0);
2634  out[228] += (it->second) * (-6.377965e-01*b0 + 6.377965e-01*b1);
2635  out[209] += (it->second) * (7.797243e-03*b0 + -6.428490e-01*b1 + 6.350518e-01*b2);
2636  out[189] += (it->second) * (-7.491346e-07*b0 + 5.052550e-03*b1 + -6.350518e-01*b2 + 6.300000e-01);
2637  out[248] += (it->second) * (-1.082005e+00*b0 + 1.082005e+00*b3);
2638  out[209] += (it->second) * (1.968298e-03*b0 + -2.600107e-02*b3 + 2.403277e-02*b2);
2639  out[189] += (it->second) * (-1.891079e-07*b0 + 3.296106e-05*b3 + -2.403277e-02*b2 + 2.400000e-02);
2640  out[229] += (it->second) * (8.246965e-02*b0 + -1.168990e+00*b3 + 1.086520e+00*b4);
2641  out[210] += (it->second) * (-4.650908e-04*b0 + 8.698522e-02*b3 + -1.086520e+00*b4 + 0.346);
2642  break;
2643  } case 180320000: {
2644  double b5 = exp2(-1.020408e+01*t);
2645  double b6 = exp2(-3.916347e-01*t);
2646  double b7 = exp2(-3.355705e+00*t);
2647  out[271] += (it->second) * (b5);
2648  out[229] += (it->second) * (-3.700007e-01*b5 + 3.700007e-01*b6);
2649  out[210] += (it->second) * (1.420070e-02*b5 + -3.700007e-01*b6 + 3.558000e-01);
2650  out[249] += (it->second) * (-1.490000e+00*b5 + 1.490000e+00*b7);
2651  out[187] += (it->second) * (2.646000e-04*b5 + -8.046000e-04*b7 + 5.400000e-04);
2652  out[210] += (it->second) * (1.274000e-04*b5 + -3.874000e-04*b7 + 2.600000e-04);
2653  out[230] += (it->second) * (4.900000e-01*b5 + -1.490000e+00*b7 + 0.6434);
2654  break;
2655  } case 180330000: {
2656  double b8 = exp2(-5.780347e+00*t);
2657  double b9 = exp2(-3.982477e-01*t);
2658  out[272] += (it->second) * (b8);
2659  out[230] += (it->second) * (-3.880000e-01*b8 + 3.880000e-01);
2660  out[250] += (it->second) * (-1.073995e+00*b8 + 1.073995e+00*b9);
2661  out[231] += (it->second) * (7.399487e-02*b8 + -1.073995e+00*b9 + 0.612);
2662  break;
2663  } case 180340000: {
2664  double b10 = exp2(-1.185115e+00*t);
2665  double b11 = exp2(-6.550504e-01*t);
2666  out[273] += (it->second) * (b10);
2667  out[251] += (it->second) * (-2.235794e+00*b10 + 2.235794e+00*b11);
2668  out[232] += (it->second) * (1.235794e+00*b10 + -2.235794e+00*b11 + 1.0);
2669  break;
2670  } case 180350000: {
2671  double b12 = exp2(-5.631899e-01*t);
2672  out[274] += (it->second) * (b12);
2673  break;
2674  } case 180360000: {
2675  out[275] += it->second;
2676  break;
2677  } case 180370000: {
2678  double b13 = exp2(-3.305839e-07*t);
2679  out[276] += (it->second) * (b13);
2680  out[254] += (it->second) * (-1.000000e+00*b13 + 1.0);
2681  break;
2682  } case 180380000: {
2683  out[277] += it->second;
2684  break;
2685  } case 180390000: {
2686  double b14 = exp2(-1.177996e-10*t);
2687  out[278] += (it->second) * (b14);
2688  out[301] += (it->second) * (-1.000000e+00*b14 + 1.0);
2689  break;
2690  } case 180400000: {
2691  out[279] += it->second;
2692  break;
2693  } case 180410000: {
2694  double b15 = exp2(-1.520543e-04*t);
2695  out[280] += (it->second) * (b15);
2696  out[303] += (it->second) * (-1.000000e+00*b15 + 1.0);
2697  break;
2698  } case 180420000: {
2699  double b16 = exp2(-9.631638e-10*t);
2700  double b17 = exp2(-2.247393e-05*t);
2701  out[281] += (it->second) * (b16);
2702  out[304] += (it->second) * (4.285877e-05*b16 + -4.285877e-05*b17);
2703  out[327] += (it->second) * (-1.000043e+00*b16 + 4.285877e-05*b17 + 1.0);
2704  break;
2705  } case 180430000: {
2706  double b18 = exp2(-3.103662e-03*t);
2707  double b19 = exp2(-1.245640e-05*t);
2708  out[282] += (it->second) * (b18);
2709  out[305] += (it->second) * (-1.004030e+00*b18 + 1.004030e+00*b19);
2710  out[328] += (it->second) * (4.029626e-03*b18 + -1.004030e+00*b19 + 1.0);
2711  break;
2712  } case 180440000: {
2713  double b20 = exp2(-1.404100e-03*t);
2714  double b21 = exp2(-7.531255e-04*t);
2715  out[283] += (it->second) * (b20);
2716  out[306] += (it->second) * (-2.156920e+00*b20 + 2.156920e+00*b21);
2717  out[329] += (it->second) * (1.156920e+00*b20 + -2.156920e+00*b21 + 1.0);
2718  break;
2719  } case 180450000: {
2720  double b22 = exp2(-4.655493e-02*t);
2721  double b23 = exp2(-9.358039e-04*t);
2722  double b24 = exp2(-7.117689e-08*t);
2723  out[284] += (it->second) * (b22);
2724  out[307] += (it->second) * (-1.020513e+00*b22 + 1.020513e+00*b23);
2725  out[330] += (it->second) * (2.051344e-02*b22 + -1.020591e+00*b23 + 1.000078e+00*b24);
2726  out[353] += (it->second) * (-3.136258e-08*b22 + 7.762577e-05*b23 + -1.000078e+00*b24 + 1.0);
2727  break;
2728  } case 180460000: {
2729  double b25 = exp2(-1.190476e-01*t);
2730  double b26 = exp2(-9.523810e-03*t);
2731  out[285] += (it->second) * (b25);
2732  out[308] += (it->second) * (-1.086957e+00*b25 + 1.086957e+00*b26);
2733  out[331] += (it->second) * (8.695652e-02*b25 + -1.086957e+00*b26 + 1.0);
2734  break;
2735  } case 180470000: {
2736  double b27 = exp2(-8.130081e-01*t);
2737  double b28 = exp2(-5.714286e-02*t);
2738  double b29 = exp2(-2.551604e-06*t);
2739  double b30 = exp2(-3.455773e-06*t);
2740  out[286] += (it->second) * (b27);
2741  out[309] += (it->second) * (-1.075599e+00*b27 + 1.075599e+00*b28);
2742  out[332] += (it->second) * (7.559950e-02*b27 + -1.075647e+00*b28 + 1.000048e+00*b29);
2743  out[357] += (it->second) * (-2.372680e-07*b27 + 4.803385e-05*b28 + 2.822177e+00*b29 + -2.822225e+00*b30);
2744  out[382] += (it->second) * (1.008531e-12*b27 + -2.904896e-09*b28 + -3.822225e+00*b29 + 2.822225e+00*b30 + 1.0);
2745  break;
2746  } case 180480000: {
2747  double b31 = exp2(-2.105263e+00*t);
2748  double b32 = exp2(-1.470588e-01*t);
2749  double b33 = exp2(-2.551604e-06*t);
2750  double b34 = exp2(-3.455773e-06*t);
2751  double b35 = exp2(-1.667794e-27*t);
2752  double b36 = exp2(-6.360838e-06*t);
2753  out[287] += (it->second) * (b31);
2754  out[310] += (it->second) * (-1.075099e+00*b31 + 1.075099e+00*b32);
2755  out[332] += (it->second) * (8.561275e-04*b31 + -1.225634e-02*b32 + 1.140021e-02*b33);
2756  out[357] += (it->second) * (-1.037638e-09*b31 + 2.126636e-07*b32 + 3.217188e-02*b33 + -3.217209e-02*b34);
2757  out[382] += (it->second) * (1.703275e-15*b31 + -4.997435e-12*b32 + -4.357209e-02*b33 + 3.217209e-02*b34 + 1.140000e-02);
2758  out[333] += (it->second) * (7.509881e-02*b31 + -1.075099e+00*b32 + b35);
2759  out[358] += (it->second) * (-3.748098e-29*b31 + 7.681730e-27*b32 + 1.651843e-22*b35 + -1.651919e-22*b36);
2760  out[383] += (it->second) * (-6.300000e-01*b35 + 6.300000e-01);
2761  out[383] += (it->second) * (-6.900000e-01*b35 + 3.586000e-01);
2762  break;
2763  } case 180490000: {
2764  double b37 = exp2(-5.882353e+00*t);
2765  double b38 = exp2(-1.470588e-01*t);
2766  double b39 = exp2(-2.551604e-06*t);
2767  double b40 = exp2(-3.455773e-06*t);
2768  double b41 = exp2(-1.667794e-27*t);
2769  double b42 = exp2(-6.360838e-06*t);
2770  double b43 = exp2(-7.936508e-01*t);
2771  double b44 = exp2(-1.911753e-03*t);
2772  double b45 = exp2(-2.914772e-04*t);
2773  out[288] += (it->second) * (b37);
2774  out[310] += (it->second) * (-6.666667e-01*b37 + 6.666667e-01*b38);
2775  out[332] += (it->second) * (1.900001e-04*b37 + -7.600132e-03*b38 + 7.410132e-03*b39);
2776  out[357] += (it->second) * (-8.241688e-11*b37 + 1.318723e-07*b38 + 2.091171e-02*b39 + -2.091184e-02*b40);
2777  out[382] += (it->second) * (4.841838e-17*b37 + -3.098900e-12*b38 + -2.832184e-02*b39 + 2.091184e-02*b40 + 7.410000e-03);
2778  out[333] += (it->second) * (1.666667e-02*b37 + -6.666667e-01*b38 + 6.500000e-01*b41);
2779  out[358] += (it->second) * (-2.977016e-30*b37 + 4.763426e-27*b38 + 1.073698e-22*b41 + -1.073745e-22*b42);
2780  out[383] += (it->second) * (-4.095000e-01*b41 + 4.095000e-01);
2781  out[383] += (it->second) * (-4.485000e-01*b41 + 4.485000e-01);
2782  out[311] += (it->second) * (-1.155963e+00*b37 + 1.155963e+00*b43);
2783  out[333] += (it->second) * (1.341284e-01*b37 + -9.941284e-01*b43 + 8.600000e-01*b41);
2784  out[358] += (it->second) * (-2.395815e-29*b37 + 1.316132e-27*b43 + 1.420585e-22*b41 + -1.420598e-22*b42);
2785  out[383] += (it->second) * (-5.418000e-01*b41 + 1.345900e-01);
2786  out[383] += (it->second) * (-5.934000e-01*b41 + 0);
2787  out[334] += (it->second) * (1.560140e-01*b37 + -1.158755e+00*b43 + 1.002741e+00*b44);
2788  out[359] += (it->second) * (-5.070677e-05*b37 + 2.792244e-03*b43 + -1.183127e+00*b44 + 1.180386e+00*b45);
2789  out[384] += (it->second) * (2.512577e-09*b37 + -1.025483e-06*b43 + 1.803865e-01*b44 + -1.180386e+00*b45 + 0.0);
2790  break;
2791  } case 180500000: {
2792  double b46 = exp2(-1.176471e+01*t);
2793  double b47 = exp2(-7.936508e-01*t);
2794  double b48 = exp2(-1.667794e-27*t);
2795  double b49 = exp2(-6.360838e-06*t);
2796  double b50 = exp2(-1.911753e-03*t);
2797  double b51 = exp2(-2.914772e-04*t);
2798  double b52 = exp2(-2.118644e+00*t);
2799  double b53 = exp2(-7.194245e-02*t);
2800  double b54 = exp2(-9.756098e-03*t);
2801  out[289] += (it->second) * (b46);
2802  out[311] += (it->second) * (-3.753191e-01*b46 + 3.753191e-01*b47);
2803  out[333] += (it->second) * (2.177447e-02*b46 + -3.227745e-01*b47 + 3.010000e-01*b48);
2804  out[358] += (it->second) * (-1.944687e-30*b46 + 4.273229e-28*b47 + 4.972046e-23*b48 + -4.972089e-23*b49);
2805  out[383] += (it->second) * (-1.896300e-01*b48 + 1.896300e-01);
2806  out[383] += (it->second) * (-2.076900e-01*b48 + 2.076900e-01);
2807  out[334] += (it->second) * (2.532326e-02*b46 + -3.762254e-01*b47 + 3.509021e-01*b50);
2808  out[359] += (it->second) * (-4.115108e-06*b46 + 9.065882e-04*b47 + -4.140272e-01*b50 + 4.131247e-01*b51);
2809  out[384] += (it->second) * (1.019541e-10*b46 + -3.329548e-07*b47 + 6.312502e-02*b50 + -4.131247e-01*b51 + 3.500000e-01);
2810  out[312] += (it->second) * (-1.219638e+00*b46 + 1.219638e+00*b52);
2811  out[334] += (it->second) * (6.370544e-02*b46 + -3.540145e-01*b52 + 2.903091e-01*b50);
2812  out[359] += (it->second) * (-1.035233e-05*b46 + 3.194881e-04*b52 + -3.425338e-01*b50 + 3.422247e-01*b51);
2813  out[384] += (it->second) * (2.564848e-10*b46 + -4.395430e-08*b52 + 5.222473e-02*b50 + -3.422247e-01*b51 + 2.526800e-01);
2814  out[335] += (it->second) * (2.209896e-01*b46 + -1.262509e+00*b52 + 1.041519e+00*b53);
2815  out[360] += (it->second) * (-1.352497e-03*b46 + 4.306914e-02*b52 + -1.204918e+00*b53 + 1.163201e+00*b54);
2816  out[385] += (it->second) * (1.121583e-06*b46 + -1.983281e-04*b52 + 1.633986e-01*b53 + -1.163201e+00*b54 + 0.0);
2817  break;
2818  } case 180510000: {
2819  double b55 = exp2(-1.250000e+01*t);
2820  out[290] += (it->second) * (b55);
2821  break;
2822  } case 180520000: {
2823  double b56 = exp2(-1.612903e+06*t);
2824  out[291] += (it->second) * (b56);
2825  break;
2826  } case 180530000: {
2827  double b57 = exp2(-1.612903e+06*t);
2828  out[292] += (it->second) * (b57);
2829  break;
2830  } default: {
2831  outcomp.insert(*it);
2832  break;
2833  }
2834  }
2835 }
2836 
2837 void decay_k(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
2838  //using std::exp2;
2839  switch (nucname::id_to_state_id(it->first)) {
2840  case 190330000: {
2841  double b0 = exp2(-4.000000e+07*t);
2842  out[293] += (it->second) * (b0);
2843  break;
2844  } case 190340000: {
2845  double b1 = exp2(-4.000000e+07*t);
2846  out[294] += (it->second) * (b1);
2847  break;
2848  } case 190350000: {
2849  double b2 = exp2(-5.617978e+00*t);
2850  double b3 = exp2(-6.550504e-01*t);
2851  double b4 = exp2(-5.631899e-01*t);
2852  out[295] += (it->second) * (b2);
2853  out[251] += (it->second) * (-4.188358e-03*b2 + 4.188358e-03*b3);
2854  out[232] += (it->second) * (4.883583e-04*b2 + -4.188358e-03*b3 + 3.700000e-03);
2855  out[274] += (it->second) * (-1.111417e+00*b2 + 1.111417e+00*b4);
2856  break;
2857  } case 190360000: {
2858  double b5 = exp2(-2.932551e+00*t);
2859  out[296] += (it->second) * (b5);
2860  out[230] += (it->second) * (-3.400000e-05*b5 + 3.400000e-05);
2861  out[275] += (it->second) * (-1.000000e+00*b5 + 0.999966);
2862  break;
2863  } case 190370000: {
2864  double b6 = exp2(-8.163265e-01*t);
2865  double b7 = exp2(-3.305839e-07*t);
2866  out[297] += (it->second) * (b6);
2867  out[276] += (it->second) * (-1.000000e+00*b6 + 1.000000e+00*b7);
2868  out[254] += (it->second) * (4.049655e-07*b6 + -1.000000e+00*b7 + 1.0);
2869  break;
2870  } case 190380000: {
2871  double b8 = exp2(-2.182644e-03*t);
2872  out[298] += (it->second) * (b8);
2873  out[277] += (it->second) * (-1.000000e+00*b8 + 1.0);
2874  break;
2875  } case 190380001: {
2876  double b9 = exp2(-1.082251e+00*t);
2877  out[299] += (it->second) * (b9);
2878  out[277] += (it->second) * (-1.000000e+00*b9 + 1.0);
2879  break;
2880  } case 190380015: {
2881  double b10 = exp2(-4.555809e+04*t);
2882  double b11 = exp2(-2.182644e-03*t);
2883  out[300] += (it->second) * (b10);
2884  out[298] += (it->second) * (-1.000000e+00*b10 + 1.000000e+00*b11);
2885  out[277] += (it->second) * (4.790903e-08*b10 + -1.000000e+00*b11 + 1.0);
2886  break;
2887  } case 190390000: {
2888  out[301] += it->second;
2889  break;
2890  } case 190400000: {
2891  double b12 = exp2(-2.539110e-17*t);
2892  out[302] += (it->second) * (b12);
2893  out[279] += (it->second) * (-1.086000e-01*b12 + 1.086000e-01);
2894  out[325] += (it->second) * (-8.914000e-01*b12 + 8.914000e-01);
2895  break;
2896  } case 190410000: {
2897  out[303] += it->second;
2898  break;
2899  } case 190420000: {
2900  double b13 = exp2(-2.247393e-05*t);
2901  out[304] += (it->second) * (b13);
2902  out[327] += (it->second) * (-1.000000e+00*b13 + 1.0);
2903  break;
2904  } case 190430000: {
2905  double b14 = exp2(-1.245640e-05*t);
2906  out[305] += (it->second) * (b14);
2907  out[328] += (it->second) * (-1.000000e+00*b14 + 1.0);
2908  break;
2909  } case 190440000: {
2910  double b15 = exp2(-7.531255e-04*t);
2911  out[306] += (it->second) * (b15);
2912  out[329] += (it->second) * (-1.000000e+00*b15 + 1.0);
2913  break;
2914  } case 190450000: {
2915  double b16 = exp2(-9.358039e-04*t);
2916  double b17 = exp2(-7.117689e-08*t);
2917  out[307] += (it->second) * (b16);
2918  out[330] += (it->second) * (-1.000076e+00*b16 + 1.000076e+00*b17);
2919  out[353] += (it->second) * (7.606541e-05*b16 + -1.000076e+00*b17 + 1.0);
2920  break;
2921  } case 190460000: {
2922  double b18 = exp2(-9.523810e-03*t);
2923  out[308] += (it->second) * (b18);
2924  out[331] += (it->second) * (-1.000000e+00*b18 + 1.0);
2925  break;
2926  } case 190470000: {
2927  double b19 = exp2(-5.714286e-02*t);
2928  double b20 = exp2(-2.551604e-06*t);
2929  double b21 = exp2(-3.455773e-06*t);
2930  out[309] += (it->second) * (b19);
2931  out[332] += (it->second) * (-1.000045e+00*b19 + 1.000045e+00*b20);
2932  out[357] += (it->second) * (4.465776e-05*b19 + 2.822168e+00*b20 + -2.822213e+00*b21);
2933  out[382] += (it->second) * (-2.700724e-09*b19 + -3.822213e+00*b20 + 2.822213e+00*b21 + 1.0);
2934  break;
2935  } case 190480000: {
2936  double b22 = exp2(-1.470588e-01*t);
2937  double b23 = exp2(-2.551604e-06*t);
2938  double b24 = exp2(-3.455773e-06*t);
2939  double b25 = exp2(-1.667794e-27*t);
2940  double b26 = exp2(-6.360838e-06*t);
2941  out[310] += (it->second) * (b22);
2942  out[332] += (it->second) * (-1.140020e-02*b22 + 1.140020e-02*b23);
2943  out[357] += (it->second) * (1.978084e-07*b22 + 3.217184e-02*b23 + -3.217204e-02*b24);
2944  out[382] += (it->second) * (-4.648350e-12*b22 + -4.357204e-02*b23 + 3.217204e-02*b24 + 1.140000e-02);
2945  out[333] += (it->second) * (-1.000000e+00*b22 + b25);
2946  out[358] += (it->second) * (7.145139e-27*b22 + 1.651843e-22*b25 + -1.651914e-22*b26);
2947  out[383] += (it->second) * (-6.300000e-01*b25 + 6.300000e-01);
2948  out[383] += (it->second) * (-6.900000e-01*b25 + 3.586000e-01);
2949  break;
2950  } case 190490000: {
2951  double b27 = exp2(-7.936508e-01*t);
2952  double b28 = exp2(-1.667794e-27*t);
2953  double b29 = exp2(-6.360838e-06*t);
2954  double b30 = exp2(-1.911753e-03*t);
2955  double b31 = exp2(-2.914772e-04*t);
2956  out[311] += (it->second) * (b27);
2957  out[333] += (it->second) * (-8.600000e-01*b27 + 8.600000e-01*b28);
2958  out[358] += (it->second) * (1.138559e-27*b27 + 1.420585e-22*b28 + -1.420596e-22*b29);
2959  out[383] += (it->second) * (-5.418000e-01*b28 + 5.418000e-01);
2960  out[383] += (it->second) * (-5.934000e-01*b28 + 4.582000e-01);
2961  out[334] += (it->second) * (-1.002415e+00*b27 + 1.002415e+00*b30);
2962  out[359] += (it->second) * (2.415513e-03*b27 + -1.182743e+00*b30 + 1.180327e+00*b31);
2963  out[384] += (it->second) * (-8.871243e-07*b27 + 1.803279e-01*b30 + -1.180327e+00*b31 + 0.0);
2964  break;
2965  } case 190500000: {
2966  double b32 = exp2(-2.118644e+00*t);
2967  double b33 = exp2(-1.911753e-03*t);
2968  double b34 = exp2(-2.914772e-04*t);
2969  double b35 = exp2(-7.194245e-02*t);
2970  double b36 = exp2(-9.756098e-03*t);
2971  out[312] += (it->second) * (b32);
2972  out[334] += (it->second) * (-2.902619e-01*b32 + 2.902619e-01*b33);
2973  out[359] += (it->second) * (2.619532e-04*b32 + -3.424782e-01*b33 + 3.422162e-01*b34);
2974  out[384] += (it->second) * (-3.603880e-08*b32 + 5.221624e-02*b33 + -3.422162e-01*b34 + 2.900000e-01);
2975  out[335] += (it->second) * (-1.035150e+00*b32 + 1.035150e+00*b35);
2976  out[360] += (it->second) * (3.531304e-02*b32 + -1.197550e+00*b35 + 1.162237e+00*b36);
2977  out[385] += (it->second) * (-1.626123e-04*b32 + 1.623994e-01*b35 + -1.162237e+00*b36 + 0.71);
2978  break;
2979  } case 190510000: {
2980  double b37 = exp2(-2.739726e+00*t);
2981  double b38 = exp2(-7.194245e-02*t);
2982  double b39 = exp2(-9.756098e-03*t);
2983  double b40 = exp2(-1.000000e-01*t);
2984  double b41 = exp2(-8.064516e-02*t);
2985  double b42 = exp2(-2.893519e-03*t);
2986  out[313] += (it->second) * (b37);
2987  out[335] += (it->second) * (-6.469893e-01*b37 + 6.469893e-01*b38);
2988  out[360] += (it->second) * (1.705000e-02*b37 + -7.484921e-01*b38 + 7.314421e-01*b39);
2989  out[385] += (it->second) * (-6.071464e-05*b37 + 1.015028e-01*b38 + -7.314421e-01*b39 + 6.300000e-01);
2990  out[336] += (it->second) * (-1.037883e+00*b37 + 1.037883e+00*b40);
2991  out[362] += (it->second) * (3.903163e-02*b37 + -5.362394e+00*b40 + 5.323362e+00*b41);
2992  out[386] += (it->second) * (-1.150130e-03*b37 + 4.453370e+00*b40 + -5.521471e+00*b41 + 1.069250e+00*b42);
2993  out[411] += (it->second) * (1.214691e-06*b37 + -1.288591e-01*b40 + 1.981083e-01*b41 + -1.069250e+00*b42 + 0.37);
2994  break;
2995  } case 190520000: {
2996  double b43 = exp2(-9.523810e+00*t);
2997  double b44 = exp2(-7.194245e-02*t);
2998  double b45 = exp2(-9.756098e-03*t);
2999  double b46 = exp2(-1.000000e-01*t);
3000  double b47 = exp2(-8.064516e-02*t);
3001  double b48 = exp2(-2.893519e-03*t);
3002  double b49 = exp2(-2.173913e-01*t);
3003  double b50 = exp2(-1.219512e-01*t);
3004  double b51 = exp2(-9.803922e-03*t);
3005  double b52 = exp2(-4.452756e-03*t);
3006  out[314] += (it->second) * (b43);
3007  out[335] += (it->second) * (-2.317506e-02*b43 + 2.317506e-02*b44);
3008  out[360] += (it->second) * (1.752429e-04*b43 + -2.681088e-02*b44 + 2.663564e-02*b45);
3009  out[385] += (it->second) * (-1.795172e-07*b43 + 3.635817e-03*b44 + -2.663564e-02*b45 + 2.300000e-02);
3010  out[336] += (it->second) * (-6.467913e-01*b43 + 6.467913e-01*b46);
3011  out[362] += (it->second) * (6.849307e-03*b43 + -3.341755e+00*b46 + 3.334906e+00*b47);
3012  out[386] += (it->second) * (-5.801579e-05*b43 + 2.775267e+00*b46 + -3.459014e+00*b47 + 6.838053e-01*b48);
3013  out[411] += (it->second) * (1.762632e-08*b43 + -8.030285e-02*b46 + 1.241081e-01*b47 + -6.838053e-01*b48 + 6.400000e-01);
3014  out[337] += (it->second) * (-1.023359e+00*b43 + 1.023359e+00*b49);
3015  out[363] += (it->second) * (2.366228e-02*b43 + -2.330985e+00*b49 + 2.307323e+00*b50);
3016  out[387] += (it->second) * (-3.033048e-04*b43 + 1.369382e+00*b49 + -2.509029e+00*b50 + 1.139950e+00*b51);
3017  out[412] += (it->second) * (3.123716e-07*b43 + -6.304784e-02*b49 + 2.093502e-01*b50 + -2.088514e+00*b51 + 1.942211e+00*b52);
3018  out[440] += (it->second) * (-1.460460e-10*b43 + 1.291389e-03*b49 + -7.643919e-03*b50 + 9.485635e-01*b51 + -1.942211e+00*b52 + 0.337);
3019  break;
3020  } case 190530000: {
3021  double b53 = exp2(-3.333333e+01*t);
3022  double b54 = exp2(-1.000000e-01*t);
3023  double b55 = exp2(-8.064516e-02*t);
3024  double b56 = exp2(-2.893519e-03*t);
3025  double b57 = exp2(-2.173913e-01*t);
3026  double b58 = exp2(-1.219512e-01*t);
3027  double b59 = exp2(-9.803922e-03*t);
3028  double b60 = exp2(-4.452756e-03*t);
3029  double b61 = exp2(-2.169197e+00*t);
3030  double b62 = exp2(-3.846154e-01*t);
3031  double b63 = exp2(-3.058104e-02*t);
3032  double b64 = exp2(-1.080147e-02*t);
3033  out[315] += (it->second) * (b53);
3034  out[336] += (it->second) * (-1.705115e-01*b53 + 1.705115e-01*b54);
3035  out[362] += (it->second) * (5.127752e-04*b53 + -8.809763e-01*b54 + 8.804635e-01*b55);
3036  out[386] += (it->second) * (-1.240693e-06*b53 + 7.316347e-01*b54 + -9.132298e-01*b55 + 1.815964e-01*b56);
3037  out[411] += (it->second) * (1.076990e-10*b53 + -2.116999e-02*b54 + 3.276635e-02*b55 + -1.815964e-01*b56 + 1.700000e-01);
3038  out[337] += (it->second) * (-6.743982e-01*b53 + 6.743982e-01*b57);
3039  out[363] += (it->second) * (4.414400e-03*b53 + -1.536129e+00*b57 + 1.531715e+00*b58);
3040  out[387] += (it->second) * (-1.615499e-05*b53 + 9.024289e-01*b57 + -1.665618e+00*b58 + 7.632048e-01*b59);
3041  out[412] += (it->second) * (4.752104e-09*b53 + -4.154880e-02*b57 + 1.389770e-01*b58 + -1.398275e+00*b59 + 1.300847e+00*b60);
3042  out[440] += (it->second) * (-6.347988e-13*b53 + 8.510308e-04*b57 + -5.074412e-03*b58 + 6.350701e-01*b59 + -1.300847e+00*b60 + 6.700000e-01);
3043  out[338] += (it->second) * (-1.069606e+00*b53 + 1.069606e+00*b61);
3044  out[363] += (it->second) * (2.794446e-02*b53 + -4.533281e-01*b61 + 4.253836e-01*b58);
3045  out[387] += (it->second) * (-1.022659e-04*b53 + 2.560159e-02*b61 + -4.625707e-01*b58 + 4.370714e-01*b59);
3046  out[412] += (it->second) * (3.008223e-08*b53 + -1.159472e-04*b61 + 3.859631e-02*b58 + -8.007627e-01*b59 + 7.622823e-01*b60);
3047  out[440] += (it->second) * (-4.018465e-12*b53 + 2.380072e-07*b61 + -1.409252e-03*b58 + 3.636913e-01*b59 + -7.622823e-01*b60 + 1.600000e-01);
3048  out[364] += (it->second) * (7.041808e-02*b53 + -1.300128e+00*b61 + 1.229710e+00*b62);
3049  out[388] += (it->second) * (-8.132625e-04*b53 + 2.338191e-01*b61 + -1.335931e+00*b62 + 1.102925e+00*b63);
3050  out[413] += (it->second) * (7.463542e-07*b53 + -3.312845e-03*b61 + 1.092901e-01*b62 + -1.705224e+00*b63 + 1.599246e+00*b64);
3051  out[441] += (it->second) * (-2.418517e-10*b53 + 1.649624e-05*b61 + -3.069283e-03*b62 + 6.022988e-01*b63 + -1.599246e+00*b64 + 0.0);
3052  break;
3053  } case 190540000: {
3054  double b65 = exp2(-1.000000e+02*t);
3055  double b66 = exp2(-9.345794e+00*t);
3056  double b67 = exp2(-1.901141e+00*t);
3057  double b68 = exp2(-3.058104e-02*t);
3058  double b69 = exp2(-1.080147e-02*t);
3059  double b70 = exp2(-4.761905e-01*t);
3060  double b71 = exp2(-2.008032e-02*t);
3061  out[316] += (it->second) * (b65);
3062  out[339] += (it->second) * (-1.103093e+00*b65 + 1.103093e+00*b66);
3063  out[365] += (it->second) * (1.050907e-01*b65 + -1.384790e+00*b66 + 1.279699e+00*b67);
3064  out[388] += (it->second) * (-3.197653e-04*b65 + 4.521944e-02*b66 + -2.080992e-01*b67 + 1.631995e-01*b68);
3065  out[413] += (it->second) * (9.779813e-08*b65 + -1.481370e-04*b66 + 3.366534e-03*b67 + -2.523215e-01*b68 + 2.491030e-01*b69);
3066  out[441] += (it->second) * (-1.056363e-11*b65 + 1.712104e-07*b66 + -1.912721e-05*b67 + 8.912199e-02*b68 + -2.491030e-01*b69 + 1.600000e-01);
3067  out[389] += (it->second) * (-2.007482e-03*b65 + 2.968204e-01*b66 + -1.707349e+00*b67 + 1.412536e+00*b70);
3068  out[414] += (it->second) * (9.561356e-06*b65 + -1.515627e-02*b66 + 4.322155e-01*b67 + -1.474723e+00*b70 + 1.057655e+00*b71);
3069  out[442] += (it->second) * (-1.919951e-09*b65 + 3.256468e-05*b66 + -4.565167e-03*b67 + 6.218713e-02*b70 + -1.057655e+00*b71 + 0.84);
3070  break;
3071  } case 190550000: {
3072  double b72 = exp2(-2.777778e+06*t);
3073  out[317] += (it->second) * (b72);
3074  break;
3075  } case 190560000: {
3076  double b73 = exp2(-1.612903e+06*t);
3077  out[318] += (it->second) * (b73);
3078  break;
3079  } default: {
3080  outcomp.insert(*it);
3081  break;
3082  }
3083  }
3084 }
3085 
3086 void decay_ca(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
3087  //using std::exp2;
3088  switch (nucname::id_to_state_id(it->first)) {
3089  case 200340000: {
3090  double b0 = exp2(-2.857143e+07*t);
3091  out[319] += (it->second) * (b0);
3092  break;
3093  } case 200350000: {
3094  double b1 = exp2(-3.891051e+01*t);
3095  double b2 = exp2(-3.982477e-01*t);
3096  double b3 = exp2(-1.185115e+00*t);
3097  double b4 = exp2(-6.550504e-01*t);
3098  double b5 = exp2(-5.617978e+00*t);
3099  double b6 = exp2(-5.631899e-01*t);
3100  out[320] += (it->second) * (b1);
3101  out[250] += (it->second) * (-4.142397e-02*b1 + 4.142397e-02*b2);
3102  out[231] += (it->second) * (4.239730e-04*b1 + -4.142397e-02*b2 + 4.100000e-02);
3103  out[273] += (it->second) * (-9.891263e-01*b1 + 9.891263e-01*b3);
3104  out[251] += (it->second) * (3.064212e-02*b1 + -2.211482e+00*b3 + 2.180840e+00*b4);
3105  out[232] += (it->second) * (-5.158539e-04*b1 + 1.222356e+00*b3 + -2.180840e+00*b4 + 9.590000e-01);
3106  out[295] += (it->second) * (-1.168746e+00*b1 + 1.168746e+00*b5);
3107  out[251] += (it->second) * (6.350508e-04*b1 + -4.895127e-03*b5 + 4.260076e-03*b4);
3108  out[232] += (it->second) * (-1.069095e-05*b1 + 5.707668e-04*b5 + -4.260076e-03*b4 + 0);
3109  out[274] += (it->second) * (1.712242e-01*b1 + -1.298964e+00*b5 + 1.127740e+00*b6);
3110  break;
3111  } case 200360000: {
3112  double b7 = exp2(-9.881423e+00*t);
3113  double b8 = exp2(-5.631899e-01*t);
3114  double b9 = exp2(-2.932551e+00*t);
3115  out[321] += (it->second) * (b7);
3116  out[274] += (it->second) * (-6.150549e-01*b7 + 6.150549e-01*b8);
3117  out[296] += (it->second) * (-1.422018e+00*b7 + 1.422018e+00*b9);
3118  out[230] += (it->second) * (1.434862e-05*b7 + -4.834862e-05*b9 + 3.400000e-05);
3119  out[275] += (it->second) * (4.220183e-01*b7 + -1.422018e+00*b9 + 0.999966);
3120  break;
3121  } case 200370000: {
3122  double b10 = exp2(-5.521811e+00*t);
3123  double b11 = exp2(-8.163265e-01*t);
3124  double b12 = exp2(-3.305839e-07*t);
3125  out[322] += (it->second) * (b10);
3126  out[275] += (it->second) * (-8.210000e-01*b10 + 8.210000e-01);
3127  out[297] += (it->second) * (-1.173484e+00*b10 + 1.173484e+00*b11);
3128  out[276] += (it->second) * (1.734841e-01*b10 + -1.173485e+00*b11 + 1.000000e+00*b12);
3129  out[254] += (it->second) * (-1.038627e-08*b10 + 4.752205e-07*b11 + -1.000000e+00*b12 + 0.179);
3130  break;
3131  } case 200380000: {
3132  double b13 = exp2(-2.272727e+00*t);
3133  double b14 = exp2(-2.182644e-03*t);
3134  out[323] += (it->second) * (b13);
3135  out[298] += (it->second) * (-1.000961e+00*b13 + 1.000961e+00*b14);
3136  out[277] += (it->second) * (9.612864e-04*b13 + -1.000961e+00*b14 + 1.0);
3137  break;
3138  } case 200390000: {
3139  double b15 = exp2(-1.163332e+00*t);
3140  out[324] += (it->second) * (b15);
3141  out[301] += (it->second) * (-1.000000e+00*b15 + 1.0);
3142  break;
3143  } case 200400000: {
3144  out[325] += it->second;
3145  break;
3146  } case 200410000: {
3147  double b16 = exp2(-3.106675e-13*t);
3148  out[326] += (it->second) * (b16);
3149  out[303] += (it->second) * (-1.000000e+00*b16 + 1.0);
3150  break;
3151  } case 200420000: {
3152  out[327] += it->second;
3153  break;
3154  } case 200430000: {
3155  out[328] += it->second;
3156  break;
3157  } case 200440000: {
3158  out[329] += it->second;
3159  break;
3160  } case 200450000: {
3161  double b17 = exp2(-7.117689e-08*t);
3162  out[330] += (it->second) * (b17);
3163  out[353] += (it->second) * (-1.000000e+00*b17 + 1.0);
3164  break;
3165  } case 200460000: {
3166  out[331] += it->second;
3167  break;
3168  } case 200470000: {
3169  double b18 = exp2(-2.551604e-06*t);
3170  double b19 = exp2(-3.455773e-06*t);
3171  out[332] += (it->second) * (b18);
3172  out[357] += (it->second) * (2.822042e+00*b18 + -2.822042e+00*b19);
3173  out[382] += (it->second) * (-3.822042e+00*b18 + 2.822042e+00*b19 + 1.0);
3174  break;
3175  } case 200480000: {
3176  double b20 = exp2(-1.667794e-27*t);
3177  double b21 = exp2(-6.360838e-06*t);
3178  out[333] += (it->second) * (b20);
3179  out[358] += (it->second) * (1.651843e-22*b20 + -1.651843e-22*b21);
3180  out[383] += (it->second) * (-6.300000e-01*b20 + 6.300000e-01);
3181  out[383] += (it->second) * (-6.900000e-01*b20 + 3.700000e-01);
3182  break;
3183  } case 200490000: {
3184  double b22 = exp2(-1.911753e-03*t);
3185  double b23 = exp2(-2.914772e-04*t);
3186  out[334] += (it->second) * (b22);
3187  out[359] += (it->second) * (-1.179894e+00*b22 + 1.179894e+00*b23);
3188  out[384] += (it->second) * (1.798935e-01*b22 + -1.179894e+00*b23 + 1.0);
3189  break;
3190  } case 200500000: {
3191  double b24 = exp2(-7.194245e-02*t);
3192  double b25 = exp2(-9.756098e-03*t);
3193  out[335] += (it->second) * (b24);
3194  out[360] += (it->second) * (-1.156885e+00*b24 + 1.156885e+00*b25);
3195  out[385] += (it->second) * (1.568849e-01*b24 + -1.156885e+00*b25 + 1.0);
3196  break;
3197  } case 200510000: {
3198  double b26 = exp2(-1.000000e-01*t);
3199  double b27 = exp2(-8.064516e-02*t);
3200  double b28 = exp2(-2.893519e-03*t);
3201  out[336] += (it->second) * (b26);
3202  out[362] += (it->second) * (-5.166667e+00*b26 + 5.166667e+00*b27);
3203  out[386] += (it->second) * (4.290822e+00*b26 + -5.358944e+00*b27 + 1.068121e+00*b28);
3204  out[411] += (it->second) * (-1.241557e-01*b26 + 1.922769e-01*b27 + -1.068121e+00*b28 + 1.0);
3205  break;
3206  } case 200520000: {
3207  double b29 = exp2(-2.173913e-01*t);
3208  double b30 = exp2(-1.219512e-01*t);
3209  double b31 = exp2(-9.803922e-03*t);
3210  double b32 = exp2(-4.452756e-03*t);
3211  out[337] += (it->second) * (b29);
3212  out[363] += (it->second) * (-2.277778e+00*b29 + 2.277778e+00*b30);
3213  out[387] += (it->second) * (1.338125e+00*b29 + -2.476901e+00*b30 + 1.138777e+00*b31);
3214  out[412] += (it->second) * (-6.160871e-02*b29 + 2.066695e-01*b30 + -2.086364e+00*b31 + 1.941303e+00*b32);
3215  out[440] += (it->second) * (1.261911e-03*b29 + -7.546040e-03*b30 + 9.475870e-01*b31 + -1.941303e+00*b32 + 1.0);
3216  break;
3217  } case 200530000: {
3218  double b33 = exp2(-2.169197e+00*t);
3219  double b34 = exp2(-1.219512e-01*t);
3220  double b35 = exp2(-9.803922e-03*t);
3221  double b36 = exp2(-4.452756e-03*t);
3222  double b37 = exp2(-3.846154e-01*t);
3223  double b38 = exp2(-3.058104e-02*t);
3224  double b39 = exp2(-1.080147e-02*t);
3225  out[338] += (it->second) * (b33);
3226  out[363] += (it->second) * (-4.238274e-01*b33 + 4.238274e-01*b34);
3227  out[387] += (it->second) * (2.393555e-02*b33 + -4.608784e-01*b34 + 4.369428e-01*b35);
3228  out[412] += (it->second) * (-1.084018e-04*b33 + 3.845510e-02*b34 + -8.005272e-01*b35 + 7.621805e-01*b36);
3229  out[440] += (it->second) * (2.225186e-07*b33 + -1.404096e-03*b34 + 3.635843e-01*b35 + -7.621805e-01*b36 + 4.000000e-01);
3230  out[364] += (it->second) * (-1.215521e+00*b33 + 1.215521e+00*b37);
3231  out[388] += (it->second) * (2.186031e-01*b33 + -1.320516e+00*b37 + 1.101913e+00*b38);
3232  out[413] += (it->second) * (-3.097259e-03*b33 + 1.080291e-01*b37 + -1.703660e+00*b38 + 1.598728e+00*b39);
3233  out[441] += (it->second) * (1.542273e-05*b33 + -3.033869e-03*b37 + 6.017463e-01*b38 + -1.598728e+00*b39 + 0.6);
3234  break;
3235  } case 200540000: {
3236  double b40 = exp2(-9.345794e+00*t);
3237  double b41 = exp2(-1.901141e+00*t);
3238  double b42 = exp2(-3.058104e-02*t);
3239  double b43 = exp2(-1.080147e-02*t);
3240  double b44 = exp2(-4.761905e-01*t);
3241  double b45 = exp2(-2.008032e-02*t);
3242  out[339] += (it->second) * (b40);
3243  out[365] += (it->second) * (-1.255370e+00*b40 + 1.255370e+00*b41);
3244  out[388] += (it->second) * (4.099333e-02*b40 + -2.041430e-01*b41 + 1.631496e-01*b42);
3245  out[413] += (it->second) * (-1.342924e-04*b40 + 3.302531e-03*b41 + -2.522444e-01*b42 + 2.490761e-01*b43);
3246  out[441] += (it->second) * (1.552094e-07*b40 + -1.876357e-05*b41 + 8.909474e-02*b42 + -2.490761e-01*b43 + 1.600000e-01);
3247  out[389] += (it->second) * (2.690802e-01*b40 + -1.674890e+00*b41 + 1.405810e+00*b44);
3248  out[414] += (it->second) * (-1.373980e-02*b40 + 4.239984e-01*b41 + -1.467701e+00*b44 + 1.057442e+00*b45);
3249  out[442] += (it->second) * (2.952125e-05*b40 + -4.478377e-03*b41 + 6.189100e-02*b44 + -1.057442e+00*b45 + 0.84);
3250  break;
3251  } case 200550000: {
3252  double b46 = exp2(-4.545455e+01*t);
3253  double b47 = exp2(-9.523810e+00*t);
3254  double b48 = exp2(-7.692308e-01*t);
3255  double b49 = exp2(-1.529052e-01*t);
3256  double b50 = exp2(-4.765990e-03*t);
3257  out[340] += (it->second) * (b46);
3258  out[366] += (it->second) * (-1.265060e+00*b46 + 1.265060e+00*b47);
3259  out[390] += (it->second) * (2.696231e-01*b46 + -1.376216e+00*b47 + 1.106593e+00*b48);
3260  out[415] += (it->second) * (-4.578253e-03*b46 + 1.129697e-01*b47 + -1.381130e+00*b48 + 1.272738e+00*b49);
3261  out[443] += (it->second) * (1.540247e-05*b46 + -1.814641e-03*b47 + 2.762480e-01*b48 + -1.313685e+00*b49 + 1.039236e+00*b50);
3262  out[470] += (it->second) * (-1.614976e-09*b46 + 9.080989e-07*b47 + -1.711574e-03*b48 + 4.094701e-02*b49 + -1.039236e+00*b50 + 1.0);
3263  break;
3264  } case 200560000: {
3265  double b51 = exp2(-9.090909e+01*t);
3266  double b52 = exp2(-3.846154e+01*t);
3267  double b53 = exp2(-5.000000e+00*t);
3268  double b54 = exp2(-4.629630e+00*t);
3269  double b55 = exp2(-2.805836e-03*t);
3270  double b56 = exp2(-1.077117e-04*t);
3271  out[341] += (it->second) * (b51);
3272  out[367] += (it->second) * (-1.733333e+00*b51 + 1.733333e+00*b52);
3273  out[391] += (it->second) * (7.760141e-01*b51 + -1.992337e+00*b52 + 1.216323e+00*b53);
3274  out[416] += (it->second) * (-4.497096e-02*b51 + 2.944465e-01*b52 + -1.642036e+01*b53 + 1.617089e+01*b54);
3275  out[444] += (it->second) * (2.290259e-03*b51 + -3.544522e-02*b52 + 1.521257e+01*b53 + -1.618069e+01*b54 + 1.001272e+00*b55);
3276  out[471] += (it->second) * (-7.068708e-08*b51 + 2.585797e-06*b52 + -8.536982e-03*b53 + 9.806708e-03*b54 + -1.041244e+00*b55 + 1.039972e+00*b56);
3277  out[505] += (it->second) * (8.375210e-14*b51 + -7.241538e-12*b52 + 1.839066e-07*b53 + -2.281603e-07*b54 + 3.997175e-02*b55 + -1.039972e+00*b56 + 1.0);
3278  break;
3279  } case 200570000: {
3280  double b57 = exp2(-1.612903e+06*t);
3281  out[342] += (it->second) * (b57);
3282  break;
3283  } case 200580000: {
3284  double b58 = exp2(-1.612903e+06*t);
3285  out[343] += (it->second) * (b58);
3286  break;
3287  } default: {
3288  outcomp.insert(*it);
3289  break;
3290  }
3291  }
3292 }
3293 
3294 void decay_sc(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
3295  //using std::exp2;
3296  switch (nucname::id_to_state_id(it->first)) {
3297  case 210390000: {
3298  double b0 = exp2(-3.333333e+06*t);
3299  double b1 = exp2(-2.272727e+00*t);
3300  double b2 = exp2(-2.182644e-03*t);
3301  out[344] += (it->second) * (b0);
3302  out[323] += (it->second) * (-1.000001e+00*b0 + 1.000001e+00*b1);
3303  out[298] += (it->second) * (-1.000962e+00*b1 + 1.000961e+00*b2);
3304  out[277] += (it->second) * (9.612870e-04*b1 + -1.000961e+00*b2 + 1.0);
3305  break;
3306  } case 210400000: {
3307  double b3 = exp2(-5.485464e+00*t);
3308  out[345] += (it->second) * (b3);
3309  out[275] += (it->second) * (-1.700000e-04*b3 + 1.700000e-04);
3310  out[301] += (it->second) * (-4.400000e-03*b3 + 4.400000e-03);
3311  out[325] += (it->second) * (-1.000000e+00*b3 + 0.99543);
3312  break;
3313  } case 210410000: {
3314  double b4 = exp2(-1.677008e+00*t);
3315  double b5 = exp2(-3.106675e-13*t);
3316  out[346] += (it->second) * (b4);
3317  out[326] += (it->second) * (-1.000000e+00*b4 + 1.000000e+00*b5);
3318  out[303] += (it->second) * (-1.000000e+00*b5 + 1.0);
3319  break;
3320  } case 210420000: {
3321  double b6 = exp2(-1.467782e+00*t);
3322  out[347] += (it->second) * (b6);
3323  out[327] += (it->second) * (-1.000000e+00*b6 + 1.0);
3324  break;
3325  } case 210420002: {
3326  double b7 = exp2(-1.620746e-02*t);
3327  out[348] += (it->second) * (b7);
3328  out[327] += (it->second) * (-1.000000e+00*b7 + 1.0);
3329  break;
3330  } case 210430000: {
3331  double b8 = exp2(-7.138982e-05*t);
3332  out[349] += (it->second) * (b8);
3333  out[328] += (it->second) * (-1.000000e+00*b8 + 1.0);
3334  break;
3335  } case 210430001: {
3336  double b9 = exp2(-2.283105e+03*t);
3337  double b10 = exp2(-7.138982e-05*t);
3338  out[350] += (it->second) * (b9);
3339  out[349] += (it->second) * (-1.000000e+00*b9 + 1.000000e+00*b10);
3340  out[328] += (it->second) * (3.126874e-08*b9 + -1.000000e+00*b10 + 1.0);
3341  break;
3342  } case 210440000: {
3343  double b11 = exp2(-6.996921e-05*t);
3344  out[351] += (it->second) * (b11);
3345  out[329] += (it->second) * (-1.000000e+00*b11 + 1.0);
3346  break;
3347  } case 210440004: {
3348  double b12 = exp2(-4.739426e-06*t);
3349  double b13 = exp2(-6.996921e-05*t);
3350  out[352] += (it->second) * (b12);
3351  out[329] += (it->second) * (-1.200000e-02*b12 + 1.200000e-02);
3352  out[351] += (it->second) * (7.178551e-02*b12 + -7.178551e-02*b13);
3353  out[329] += (it->second) * (-1.059786e+00*b12 + 7.178551e-02*b13 + 9.880000e-01);
3354  break;
3355  } case 210450000: {
3356  out[353] += it->second;
3357  break;
3358  } case 210450001: {
3359  double b14 = exp2(-3.144654e+00*t);
3360  out[354] += (it->second) * (b14);
3361  out[353] += (it->second) * (-1.000000e+00*b14 + 1.0);
3362  break;
3363  } case 210460000: {
3364  double b15 = exp2(-1.381319e-07*t);
3365  out[355] += (it->second) * (b15);
3366  out[381] += (it->second) * (-1.000000e+00*b15 + 1.0);
3367  break;
3368  } case 210460002: {
3369  double b16 = exp2(-5.333333e-02*t);
3370  double b17 = exp2(-1.381319e-07*t);
3371  out[356] += (it->second) * (b16);
3372  out[355] += (it->second) * (-1.000003e+00*b16 + 1.000003e+00*b17);
3373  out[381] += (it->second) * (2.589980e-06*b16 + -1.000003e+00*b17 + 1.0);
3374  break;
3375  } case 210470000: {
3376  double b18 = exp2(-3.455773e-06*t);
3377  out[357] += (it->second) * (b18);
3378  out[382] += (it->second) * (-1.000000e+00*b18 + 1.0);
3379  break;
3380  } case 210480000: {
3381  double b19 = exp2(-6.360838e-06*t);
3382  out[358] += (it->second) * (b19);
3383  out[383] += (it->second) * (-1.000000e+00*b19 + 1.0);
3384  break;
3385  } case 210490000: {
3386  double b20 = exp2(-2.914772e-04*t);
3387  out[359] += (it->second) * (b20);
3388  out[384] += (it->second) * (-1.000000e+00*b20 + 1.0);
3389  break;
3390  } case 210500000: {
3391  double b21 = exp2(-9.756098e-03*t);
3392  out[360] += (it->second) * (b21);
3393  out[385] += (it->second) * (-1.000000e+00*b21 + 1.0);
3394  break;
3395  } case 210500001: {
3396  double b22 = exp2(-2.857143e+00*t);
3397  double b23 = exp2(-9.756098e-03*t);
3398  out[361] += (it->second) * (b22);
3399  out[360] += (it->second) * (-9.913852e-01*b22 + 9.913852e-01*b23);
3400  out[385] += (it->second) * (3.385218e-03*b22 + -9.913852e-01*b23 + 9.880000e-01);
3401  out[385] += (it->second) * (-2.500000e-02*b22 + 1.200000e-02);
3402  break;
3403  } case 210510000: {
3404  double b24 = exp2(-8.064516e-02*t);
3405  double b25 = exp2(-2.893519e-03*t);
3406  out[362] += (it->second) * (b24);
3407  out[386] += (it->second) * (-1.037215e+00*b24 + 1.037215e+00*b25);
3408  out[411] += (it->second) * (3.721489e-02*b24 + -1.037215e+00*b25 + 1.0);
3409  break;
3410  } case 210520000: {
3411  double b26 = exp2(-1.219512e-01*t);
3412  double b27 = exp2(-9.803922e-03*t);
3413  double b28 = exp2(-4.452756e-03*t);
3414  out[363] += (it->second) * (b26);
3415  out[387] += (it->second) * (-1.087420e+00*b26 + 1.087420e+00*b27);
3416  out[412] += (it->second) * (9.073294e-02*b26 + -1.992273e+00*b27 + 1.901540e+00*b28);
3417  out[440] += (it->second) * (-3.312896e-03*b26 + 9.048527e-01*b27 + -1.901540e+00*b28 + 1.0);
3418  break;
3419  } case 210530000: {
3420  double b29 = exp2(-3.846154e-01*t);
3421  double b30 = exp2(-3.058104e-02*t);
3422  double b31 = exp2(-1.080147e-02*t);
3423  out[364] += (it->second) * (b29);
3424  out[388] += (it->second) * (-1.086379e+00*b29 + 1.086379e+00*b30);
3425  out[413] += (it->second) * (8.887468e-02*b29 + -1.679642e+00*b30 + 1.590767e+00*b31);
3426  out[441] += (it->second) * (-2.495940e-03*b29 + 5.932629e-01*b30 + -1.590767e+00*b31 + 1.0);
3427  break;
3428  } case 210540000: {
3429  double b32 = exp2(-1.901141e+00*t);
3430  double b33 = exp2(-3.058104e-02*t);
3431  double b34 = exp2(-1.080147e-02*t);
3432  double b35 = exp2(-4.761905e-01*t);
3433  double b36 = exp2(-2.008032e-02*t);
3434  out[365] += (it->second) * (b32);
3435  out[388] += (it->second) * (-1.626158e-01*b32 + 1.626158e-01*b33);
3436  out[413] += (it->second) * (2.630723e-03*b32 + -2.514190e-01*b33 + 2.487883e-01*b34);
3437  out[441] += (it->second) * (-1.494665e-05*b32 + 8.880320e-02*b33 + -2.487883e-01*b34 + 1.600000e-01);
3438  out[389] += (it->second) * (-1.334180e+00*b32 + 1.334180e+00*b35);
3439  out[414] += (it->second) * (3.377478e-01*b32 + -1.392918e+00*b35 + 1.055170e+00*b36);
3440  out[442] += (it->second) * (-3.567376e-03*b32 + 5.873750e-02*b35 + -1.055170e+00*b36 + 0.84);
3441  break;
3442  } case 210550000: {
3443  double b37 = exp2(-9.523810e+00*t);
3444  double b38 = exp2(-7.692308e-01*t);
3445  double b39 = exp2(-1.529052e-01*t);
3446  double b40 = exp2(-4.765990e-03*t);
3447  out[366] += (it->second) * (b37);
3448  out[390] += (it->second) * (-1.087866e+00*b37 + 1.087866e+00*b38);
3449  out[415] += (it->second) * (8.929982e-02*b37 + -1.357757e+00*b38 + 1.268457e+00*b39);
3450  out[443] += (it->second) * (-1.434431e-03*b37 + 2.715731e-01*b38 + -1.309266e+00*b39 + 1.039127e+00*b40);
3451  out[470] += (it->second) * (7.178306e-07*b37 + -1.682609e-03*b38 + 4.080926e-02*b39 + -1.039127e+00*b40 + 1.0);
3452  break;
3453  } case 210560000: {
3454  double b41 = exp2(-3.846154e+01*t);
3455  double b42 = exp2(-5.000000e+00*t);
3456  double b43 = exp2(-4.629630e+00*t);
3457  double b44 = exp2(-2.805836e-03*t);
3458  double b45 = exp2(-1.077117e-04*t);
3459  out[367] += (it->second) * (b41);
3460  out[391] += (it->second) * (-1.149425e+00*b41 + 1.149425e+00*b42);
3461  out[416] += (it->second) * (1.698730e-01*b41 + -1.551724e+01*b42 + 1.534737e+01*b43);
3462  out[444] += (it->second) * (-2.044916e-02*b41 + 1.437588e+01*b42 + -1.535668e+01*b43 + 1.001241e+00*b44);
3463  out[471] += (it->second) * (1.491806e-06*b41 + -8.067448e-03*b42 + 9.307293e-03*b43 + -1.041212e+00*b44 + 1.039970e+00*b45);
3464  out[505] += (it->second) * (-4.177811e-12*b41 + 1.737918e-07*b42 + -2.165410e-07*b43 + 3.997052e-02*b44 + -1.039970e+00*b45 + 1.0);
3465  break;
3466  } case 210560001: {
3467  double b46 = exp2(-1.333333e+01*t);
3468  double b47 = exp2(-5.000000e+00*t);
3469  double b48 = exp2(-4.629630e+00*t);
3470  double b49 = exp2(-2.805836e-03*t);
3471  double b50 = exp2(-1.077117e-04*t);
3472  out[368] += (it->second) * (b46);
3473  out[391] += (it->second) * (-1.600000e+00*b46 + 1.600000e+00*b47);
3474  out[416] += (it->second) * (9.191489e-01*b46 + -2.160000e+01*b47 + 2.068085e+01*b48);
3475  out[444] += (it->second) * (-3.192161e-01*b46 + 2.001123e+01*b47 + -2.069339e+01*b48 + 1.001379e+00*b49);
3476  out[471] += (it->second) * (6.717565e-05*b46 + -1.122989e-02*b47 + 1.254174e-02*b48 + -1.041355e+00*b49 + 1.039976e+00*b50);
3477  out[505] += (it->second) * (-5.426704e-10*b46 + 2.419181e-07*b47 + -2.917928e-07*b48 + 3.997601e-02*b49 + -1.039976e+00*b50 + 1.0);
3478  break;
3479  } case 210560004: {
3480  double b51 = exp2(-3.448276e+06*t);
3481  double b52 = exp2(-3.846154e+01*t);
3482  double b53 = exp2(-5.000000e+00*t);
3483  double b54 = exp2(-4.629630e+00*t);
3484  double b55 = exp2(-2.805836e-03*t);
3485  double b56 = exp2(-1.077117e-04*t);
3486  out[369] += (it->second) * (b51);
3487  out[367] += (it->second) * (-1.000011e+00*b51 + 1.000011e+00*b52);
3488  out[391] += (it->second) * (1.115399e-05*b51 + -1.149438e+00*b52 + 1.149427e+00*b53);
3489  out[416] += (it->second) * (-1.617330e-11*b51 + 1.698749e-01*b52 + -1.551726e+01*b53 + 1.534739e+01*b54);
3490  out[444] += (it->second) * (-2.044939e-02*b52 + 1.437590e+01*b53 + -1.535670e+01*b54 + 1.001241e+00*b55);
3491  out[471] += (it->second) * (1.491823e-06*b52 + -8.067460e-03*b53 + 9.307305e-03*b54 + -1.041212e+00*b55 + 1.039970e+00*b56);
3492  out[505] += (it->second) * (-4.177857e-12*b52 + 1.737920e-07*b53 + -2.165413e-07*b54 + 3.997052e-02*b55 + -1.039970e+00*b56 + 1.0);
3493  break;
3494  } case 210570000: {
3495  double b57 = exp2(-7.692308e+01*t);
3496  double b58 = exp2(-1.020408e+01*t);
3497  double b59 = exp2(-3.125000e+00*t);
3498  double b60 = exp2(-4.739336e-02*t);
3499  double b61 = exp2(-1.170960e-02*t);
3500  out[370] += (it->second) * (b57);
3501  out[392] += (it->second) * (-1.152941e+00*b57 + 1.152941e+00*b58);
3502  out[417] += (it->second) * (1.594175e-01*b57 + -1.661897e+00*b58 + 1.502480e+00*b59);
3503  out[445] += (it->second) * (-6.480329e-03*b57 + 5.113309e-01*b58 + -1.525617e+00*b59 + 1.020766e+00*b60);
3504  out[472] += (it->second) * (3.993228e-06*b57 + -2.377630e-03*b58 + 2.322434e-02*b59 + -1.355730e+00*b60 + 1.334879e+00*b61);
3505  out[506] += (it->second) * (-6.078684e-10*b57 + 2.728428e-06*b58 + -8.702330e-05*b59 + 3.349638e-01*b60 + -1.334879e+00*b61 + 1.0);
3506  break;
3507  } case 210580000: {
3508  double b62 = exp2(-8.333333e+01*t);
3509  double b63 = exp2(-1.724138e+01*t);
3510  double b64 = exp2(-5.235602e+00*t);
3511  double b65 = exp2(-1.428571e-01*t);
3512  double b66 = exp2(-3.333333e-01*t);
3513  out[371] += (it->second) * (b62);
3514  out[393] += (it->second) * (-1.260870e+00*b62 + 1.260870e+00*b63);
3515  out[418] += (it->second) * (2.783580e-01*b62 + -1.810722e+00*b63 + 1.532364e+00*b64);
3516  out[446] += (it->second) * (-1.751849e-02*b62 + 5.544469e-01*b63 + -1.575349e+00*b64 + 1.038421e+00*b65);
3517  out[473] += (it->second) * (3.015231e-05*b62 + -4.684557e-03*b63 + 4.590729e-02*b64 + 7.788154e-01*b65 + -8.200683e-01*b66);
3518  out[507] += (it->second) * (-1.206093e-07*b62 + 9.056809e-05*b63 + -2.922764e-03*b64 + -1.817236e+00*b65 + 8.200683e-01*b66 + 1.0);
3519  break;
3520  } case 210590000: {
3521  double b67 = exp2(-2.777778e+06*t);
3522  out[372] += (it->second) * (b67);
3523  break;
3524  } case 210610000: {
3525  double b68 = exp2(-2.777778e+06*t);
3526  out[373] += (it->second) * (b68);
3527  break;
3528  } default: {
3529  outcomp.insert(*it);
3530  break;
3531  }
3532  }
3533 }
3534 
3535 void decay_ti(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
3536  //using std::exp2;
3537  switch (nucname::id_to_state_id(it->first)) {
3538  case 220390000: {
3539  double b0 = exp2(-3.225806e+01*t);
3540  double b1 = exp2(-3.333333e+06*t);
3541  double b2 = exp2(-2.272727e+00*t);
3542  double b3 = exp2(-2.182644e-03*t);
3543  out[374] += (it->second) * (b0);
3544  out[344] += (it->second) * (9.677513e-06*b0 + -9.677513e-06*b1);
3545  out[323] += (it->second) * (-1.075805e+00*b0 + 9.677520e-06*b1 + 1.075795e+00*b2);
3546  out[298] += (it->second) * (7.580048e-02*b0 + -1.076830e+00*b2 + 1.001029e+00*b3);
3547  out[277] += (it->second) * (-5.128809e-06*b0 + 1.034147e-03*b2 + -1.001029e+00*b3 + 1.0);
3548  out[323] += (it->second) * (-1.008020e+00*b0 + 1.008020e+00*b2);
3549  out[298] += (it->second) * (7.102437e-02*b0 + -1.008989e+00*b2 + 9.379642e-01*b3);
3550  out[277] += (it->second) * (-4.805647e-06*b0 + 9.689955e-04*b2 + -9.379642e-01*b3 + 0);
3551  break;
3552  } case 220400000: {
3553  double b4 = exp2(-1.876173e+01*t);
3554  double b5 = exp2(-1.163332e+00*t);
3555  double b6 = exp2(-5.485464e+00*t);
3556  out[375] += (it->second) * (b4);
3557  out[324] += (it->second) * (-1.066104e+00*b4 + 1.066104e+00*b5);
3558  out[301] += (it->second) * (6.610443e-02*b4 + -1.066104e+00*b5 + 1.0);
3559  out[345] += (it->second) * (-1.413178e+00*b4 + 1.413178e+00*b6);
3560  out[275] += (it->second) * (7.024031e-05*b4 + -2.402403e-04*b6 + 0);
3561  out[301] += (it->second) * (1.817984e-03*b4 + -6.217984e-03*b6 + 0);
3562  out[325] += (it->second) * (4.131783e-01*b4 + -1.413178e+00*b6 + 0.0);
3563  break;
3564  } case 220410000: {
3565  double b7 = exp2(-1.243781e+01*t);
3566  double b8 = exp2(-1.677008e+00*t);
3567  double b9 = exp2(-3.106675e-13*t);
3568  out[376] += (it->second) * (b7);
3569  out[325] += (it->second) * (-1.000000e+00*b7 + 1.0);
3570  out[346] += (it->second) * (-1.155844e+00*b7 + 1.155844e+00*b8);
3571  out[326] += (it->second) * (1.558442e-01*b7 + -1.155844e+00*b8 + 1.000000e+00*b9);
3572  out[303] += (it->second) * (-1.000000e+00*b9 + 0.0);
3573  break;
3574  } case 220420000: {
3575  double b10 = exp2(-5.025126e+00*t);
3576  double b11 = exp2(-1.467782e+00*t);
3577  out[377] += (it->second) * (b10);
3578  out[347] += (it->second) * (-1.412606e+00*b10 + 1.412606e+00*b11);
3579  out[327] += (it->second) * (4.126063e-01*b10 + -1.412606e+00*b11 + 1.0);
3580  break;
3581  } case 220430000: {
3582  double b12 = exp2(-1.964637e+00*t);
3583  double b13 = exp2(-7.138982e-05*t);
3584  out[378] += (it->second) * (b12);
3585  out[349] += (it->second) * (-1.000036e+00*b12 + 1.000036e+00*b13);
3586  out[328] += (it->second) * (3.633874e-05*b12 + -1.000036e+00*b13 + 1.0);
3587  break;
3588  } case 220440000: {
3589  double b14 = exp2(-5.361775e-10*t);
3590  double b15 = exp2(-6.996921e-05*t);
3591  out[379] += (it->second) * (b14);
3592  out[351] += (it->second) * (7.663107e-06*b14 + -7.663107e-06*b15);
3593  out[329] += (it->second) * (-1.000008e+00*b14 + 7.663107e-06*b15 + 1.0);
3594  break;
3595  } case 220450000: {
3596  double b16 = exp2(-9.018759e-05*t);
3597  out[380] += (it->second) * (b16);
3598  out[353] += (it->second) * (-1.000000e+00*b16 + 1.0);
3599  break;
3600  } case 220460000: {
3601  out[381] += it->second;
3602  break;
3603  } case 220470000: {
3604  out[382] += it->second;
3605  break;
3606  } case 220480000: {
3607  out[383] += it->second;
3608  break;
3609  } case 220490000: {
3610  out[384] += it->second;
3611  break;
3612  } case 220500000: {
3613  out[385] += it->second;
3614  break;
3615  } case 220510000: {
3616  double b17 = exp2(-2.893519e-03*t);
3617  out[386] += (it->second) * (b17);
3618  out[411] += (it->second) * (-1.000000e+00*b17 + 1.0);
3619  break;
3620  } case 220520000: {
3621  double b18 = exp2(-9.803922e-03*t);
3622  double b19 = exp2(-4.452756e-03*t);
3623  out[387] += (it->second) * (b18);
3624  out[412] += (it->second) * (-1.832110e+00*b18 + 1.832110e+00*b19);
3625  out[440] += (it->second) * (8.321096e-01*b18 + -1.832110e+00*b19 + 1.0);
3626  break;
3627  } case 220530000: {
3628  double b20 = exp2(-3.058104e-02*t);
3629  double b21 = exp2(-1.080147e-02*t);
3630  out[388] += (it->second) * (b20);
3631  out[413] += (it->second) * (-1.546092e+00*b20 + 1.546092e+00*b21);
3632  out[441] += (it->second) * (5.460922e-01*b20 + -1.546092e+00*b21 + 1.0);
3633  break;
3634  } case 220540000: {
3635  double b22 = exp2(-4.761905e-01*t);
3636  double b23 = exp2(-2.008032e-02*t);
3637  out[389] += (it->second) * (b22);
3638  out[414] += (it->second) * (-1.044025e+00*b22 + 1.044025e+00*b23);
3639  out[442] += (it->second) * (4.402516e-02*b22 + -1.044025e+00*b23 + 1.0);
3640  break;
3641  } case 220550000: {
3642  double b24 = exp2(-7.692308e-01*t);
3643  double b25 = exp2(-1.529052e-01*t);
3644  double b26 = exp2(-4.765990e-03*t);
3645  out[390] += (it->second) * (b24);
3646  out[415] += (it->second) * (-1.248092e+00*b24 + 1.248092e+00*b25);
3647  out[443] += (it->second) * (2.496383e-01*b24 + -1.288246e+00*b25 + 1.038607e+00*b26);
3648  out[470] += (it->second) * (-1.546706e-03*b24 + 4.015407e-02*b25 + -1.038607e+00*b26 + 1.0);
3649  break;
3650  } case 220560000: {
3651  double b27 = exp2(-5.000000e+00*t);
3652  double b28 = exp2(-4.629630e+00*t);
3653  double b29 = exp2(-2.805836e-03*t);
3654  double b30 = exp2(-1.077117e-04*t);
3655  out[391] += (it->second) * (b27);
3656  out[416] += (it->second) * (-1.350000e+01*b27 + 1.350000e+01*b28);
3657  out[444] += (it->second) * (1.250702e+01*b27 + -1.350819e+01*b28 + 1.001168e+00*b29);
3658  out[471] += (it->second) * (-7.018680e-03*b27 + 8.186970e-03*b28 + -1.041136e+00*b29 + 1.039968e+00*b30);
3659  out[505] += (it->second) * (1.511988e-07*b27 + -1.904759e-07*b28 + 3.996760e-02*b29 + -1.039968e+00*b30 + 1.0);
3660  break;
3661  } case 220570000: {
3662  double b31 = exp2(-1.020408e+01*t);
3663  double b32 = exp2(-3.125000e+00*t);
3664  double b33 = exp2(-4.739336e-02*t);
3665  double b34 = exp2(-1.170960e-02*t);
3666  out[392] += (it->second) * (b31);
3667  out[417] += (it->second) * (-1.441441e+00*b31 + 1.441441e+00*b32);
3668  out[445] += (it->second) * (4.435013e-01*b31 + -1.463639e+00*b32 + 1.020138e+00*b33);
3669  out[472] += (it->second) * (-2.062230e-03*b31 + 2.228085e-02*b32 + -1.354895e+00*b33 + 1.334676e+00*b34);
3670  out[506] += (it->second) * (2.366494e-06*b31 + -8.348798e-05*b32 + 3.347574e-01*b33 + -1.334676e+00*b34 + 1.0);
3671  break;
3672  } case 220580000: {
3673  double b35 = exp2(-1.724138e+01*t);
3674  double b36 = exp2(-5.235602e+00*t);
3675  double b37 = exp2(-1.428571e-01*t);
3676  double b38 = exp2(-3.333333e-01*t);
3677  out[393] += (it->second) * (b35);
3678  out[418] += (it->second) * (-1.436090e+00*b35 + 1.436090e+00*b36);
3679  out[446] += (it->second) * (4.397337e-01*b35 + -1.476374e+00*b36 + 1.036640e+00*b37);
3680  out[473] += (it->second) * (-3.715338e-03*b35 + 4.302306e-02*b36 + 7.774803e-01*b37 + -8.167880e-01*b38);
3681  out[507] += (it->second) * (7.182987e-05*b35 + -2.739135e-03*b36 + -1.814121e+00*b37 + 8.167880e-01*b38 + 1.0);
3682  break;
3683  } case 220590000: {
3684  double b39 = exp2(-1.724138e+01*t);
3685  out[394] += (it->second) * (b39);
3686  break;
3687  } case 220600000: {
3688  double b40 = exp2(-4.545455e+01*t);
3689  double b41 = exp2(-8.196721e+00*t);
3690  double b42 = exp2(-2.040816e+00*t);
3691  double b43 = exp2(-3.571429e+00*t);
3692  double b44 = exp2(-1.209469e-14*t);
3693  double b45 = exp2(-6.011632e-09*t);
3694  out[395] += (it->second) * (b40);
3695  out[420] += (it->second) * (-1.220000e+00*b40 + 1.220000e+00*b41);
3696  out[448] += (it->second) * (2.303419e-01*b40 + -1.624457e+00*b41 + 1.394115e+00*b42);
3697  out[476] += (it->second) * (-1.122375e-02*b40 + 7.167584e-01*b41 + 1.858820e+00*b42 + -2.564354e+00*b43);
3698  out[509] += (it->second) * (8.818658e-04*b40 + -3.123019e-01*b41 + -3.252934e+00*b42 + 2.564354e+00*b43 + 1.000000e+00*b44);
3699  out[540] += (it->second) * (2.011885e-06*b44 + -2.011885e-06*b45);
3700  out[572] += (it->second) * (-1.000002e+00*b44 + 2.011885e-06*b45 + 1.0);
3701  break;
3702  } case 220610000: {
3703  double b46 = exp2(-6.666667e+01*t);
3704  double b47 = exp2(-2.127660e+01*t);
3705  double b48 = exp2(-4.115226e+00*t);
3706  double b49 = exp2(-1.492537e+00*t);
3707  double b50 = exp2(-2.787068e-03*t);
3708  double b51 = exp2(-1.683502e-04*t);
3709  double b52 = exp2(-2.040816e+00*t);
3710  double b53 = exp2(-3.571429e+00*t);
3711  double b54 = exp2(-1.209469e-14*t);
3712  double b55 = exp2(-6.011632e-09*t);
3713  out[396] += (it->second) * (b46);
3714  out[422] += (it->second) * (-1.468750e+00*b46 + 1.468750e+00*b47);
3715  out[449] += (it->second) * (4.995888e-01*b46 + -1.820950e+00*b47 + 1.321361e+00*b48);
3716  out[478] += (it->second) * (-3.154505e-02*b46 + 3.787707e-01*b47 + -2.073331e+00*b48 + 1.726105e+00*b49);
3717  out[510] += (it->second) * (7.062619e-04*b46 + -2.657397e-02*b47 + 7.524788e-01*b48 + -1.729334e+00*b49 + 1.002723e+00*b50);
3718  out[542] += (it->second) * (-2.952608e-08*b46 + 3.481010e-06*b47 + -5.096428e-04*b48 + 3.229611e-03*b49 + -1.067185e+00*b50 + 1.064462e+00*b51);
3719  out[573] += (it->second) * (7.456080e-14*b46 + -2.754334e-11*b47 + 2.084902e-08*b48 + -3.642828e-07*b49 + 6.446231e-02*b50 + -1.064462e+00*b51 + 1.0);
3720  out[448] += (it->second) * (2.901316e-02*b46 + -9.747460e-02*b47 + 6.846145e-02*b52);
3721  out[476] += (it->second) * (-9.384310e-04*b46 + 1.123558e-02*b47 + 9.128193e-02*b52 + -1.015791e-01*b53);
3722  out[509] += (it->second) * (5.027309e-05*b46 + -1.885972e-03*b47 + -1.597434e-01*b52 + 1.015791e-01*b53 + 6.000000e-02*b54);
3723  out[540] += (it->second) * (1.207131e-07*b54 + -1.207131e-07*b55);
3724  out[572] += (it->second) * (-6.000012e-02*b54 + 1.207131e-07*b55 + 0);
3725  break;
3726  } case 220620000: {
3727  double b56 = exp2(-1.612903e+06*t);
3728  out[397] += (it->second) * (b56);
3729  break;
3730  } case 220630000: {
3731  double b57 = exp2(-2.777778e+06*t);
3732  out[398] += (it->second) * (b57);
3733  break;
3734  } case 220640000: {
3735  double b58 = exp2(-1.612903e+06*t);
3736  out[399] += (it->second) * (b58);
3737  break;
3738  } default: {
3739  outcomp.insert(*it);
3740  break;
3741  }
3742  }
3743 }
3744 
3745 void decay_v(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
3746  //using std::exp2;
3747  switch (nucname::id_to_state_id(it->first)) {
3748  case 230420000: {
3749  double b0 = exp2(-1.818182e+07*t);
3750  out[400] += (it->second) * (b0);
3751  break;
3752  } case 230430000: {
3753  double b1 = exp2(-1.250000e+00*t);
3754  double b2 = exp2(-1.964637e+00*t);
3755  double b3 = exp2(-7.138982e-05*t);
3756  out[401] += (it->second) * (b1);
3757  out[378] += (it->second) * (1.749141e+00*b1 + -1.749141e+00*b2);
3758  out[349] += (it->second) * (-2.749298e+00*b1 + 1.749204e+00*b2 + 1.000093e+00*b3);
3759  out[328] += (it->second) * (1.570175e-04*b1 + -6.356157e-05*b2 + -1.000093e+00*b3 + 1.0);
3760  break;
3761  } case 230440000: {
3762  double b4 = exp2(-9.009009e+00*t);
3763  double b5 = exp2(-5.361775e-10*t);
3764  double b6 = exp2(-6.996921e-05*t);
3765  out[402] += (it->second) * (b4);
3766  out[379] += (it->second) * (-1.000000e+00*b4 + 1.000000e+00*b5);
3767  out[351] += (it->second) * (7.663107e-06*b5 + -7.663166e-06*b6);
3768  out[329] += (it->second) * (-1.000008e+00*b5 + 7.663166e-06*b6 + 1.0);
3769  break;
3770  } case 230440001: {
3771  double b7 = exp2(-6.666667e+00*t);
3772  double b8 = exp2(-5.361775e-10*t);
3773  double b9 = exp2(-6.996921e-05*t);
3774  out[403] += (it->second) * (b7);
3775  out[379] += (it->second) * (-1.000000e+00*b7 + 1.000000e+00*b8);
3776  out[351] += (it->second) * (7.663107e-06*b8 + -7.663187e-06*b9);
3777  out[329] += (it->second) * (-1.000008e+00*b8 + 7.663187e-06*b9 + 1.0);
3778  break;
3779  } case 230450000: {
3780  double b10 = exp2(-1.828154e+00*t);
3781  double b11 = exp2(-9.018759e-05*t);
3782  out[404] += (it->second) * (b10);
3783  out[380] += (it->second) * (-1.000049e+00*b10 + 1.000049e+00*b11);
3784  out[353] += (it->second) * (4.933505e-05*b10 + -1.000049e+00*b11 + 1.0);
3785  break;
3786  } case 230460000: {
3787  double b12 = exp2(-2.366864e+00*t);
3788  out[405] += (it->second) * (b12);
3789  out[381] += (it->second) * (-1.000000e+00*b12 + 1.0);
3790  break;
3791  } case 230460001: {
3792  double b13 = exp2(-9.803922e+02*t);
3793  double b14 = exp2(-2.366864e+00*t);
3794  out[406] += (it->second) * (b13);
3795  out[405] += (it->second) * (-1.002420e+00*b13 + 1.002420e+00*b14);
3796  out[381] += (it->second) * (2.420044e-03*b13 + -1.002420e+00*b14 + 1.0);
3797  break;
3798  } case 230470000: {
3799  double b15 = exp2(-5.112474e-04*t);
3800  out[407] += (it->second) * (b15);
3801  out[382] += (it->second) * (-1.000000e+00*b15 + 1.0);
3802  break;
3803  } case 230480000: {
3804  double b16 = exp2(-7.245797e-07*t);
3805  out[408] += (it->second) * (b16);
3806  out[383] += (it->second) * (-1.000000e+00*b16 + 1.0);
3807  break;
3808  } case 230490000: {
3809  double b17 = exp2(-3.507295e-08*t);
3810  out[409] += (it->second) * (b17);
3811  out[384] += (it->second) * (-1.000000e+00*b17 + 1.0);
3812  break;
3813  } case 230500000: {
3814  double b18 = exp2(-2.263435e-25*t);
3815  double b19 = exp2(-2.437545e-26*t);
3816  out[410] += (it->second) * (b18);
3817  out[385] += (it->second) * (-8.300000e-01*b18 + 8.300000e-01);
3818  out[438] += (it->second) * (-1.700000e-01*b18 + 1.700000e-01*b19);
3819  break;
3820  } case 230510000: {
3821  out[411] += it->second;
3822  break;
3823  } case 230520000: {
3824  double b20 = exp2(-4.452756e-03*t);
3825  out[412] += (it->second) * (b20);
3826  out[440] += (it->second) * (-1.000000e+00*b20 + 1.0);
3827  break;
3828  } case 230530000: {
3829  double b21 = exp2(-1.080147e-02*t);
3830  out[413] += (it->second) * (b21);
3831  out[441] += (it->second) * (-1.000000e+00*b21 + 1.0);
3832  break;
3833  } case 230540000: {
3834  double b22 = exp2(-2.008032e-02*t);
3835  out[414] += (it->second) * (b22);
3836  out[442] += (it->second) * (-1.000000e+00*b22 + 1.0);
3837  break;
3838  } case 230550000: {
3839  double b23 = exp2(-1.529052e-01*t);
3840  double b24 = exp2(-4.765990e-03*t);
3841  out[415] += (it->second) * (b23);
3842  out[443] += (it->second) * (-1.032172e+00*b23 + 1.032172e+00*b24);
3843  out[470] += (it->second) * (3.217237e-02*b23 + -1.032172e+00*b24 + 1.0);
3844  break;
3845  } case 230560000: {
3846  double b25 = exp2(-4.629630e+00*t);
3847  double b26 = exp2(-2.805836e-03*t);
3848  double b27 = exp2(-1.077117e-04*t);
3849  out[416] += (it->second) * (b25);
3850  out[444] += (it->second) * (-1.000606e+00*b25 + 1.000606e+00*b26);
3851  out[471] += (it->second) * (6.064422e-04*b25 + -1.040552e+00*b26 + 1.039945e+00*b27);
3852  out[505] += (it->second) * (-1.410932e-08*b25 + 3.994517e-02*b26 + -1.039945e+00*b27 + 1.0);
3853  break;
3854  } case 230570000: {
3855  double b28 = exp2(-3.125000e+00*t);
3856  double b29 = exp2(-4.739336e-02*t);
3857  double b30 = exp2(-1.170960e-02*t);
3858  out[417] += (it->second) * (b28);
3859  out[445] += (it->second) * (-1.015399e+00*b28 + 1.015399e+00*b29);
3860  out[472] += (it->second) * (1.545734e-02*b28 + -1.348602e+00*b29 + 1.333145e+00*b30);
3861  out[506] += (it->second) * (-5.791978e-05*b28 + 3.332026e-01*b29 + -1.333145e+00*b30 + 1.0);
3862  break;
3863  } case 230580000: {
3864  double b31 = exp2(-5.235602e+00*t);
3865  double b32 = exp2(-1.428571e-01*t);
3866  double b33 = exp2(-3.333333e-01*t);
3867  out[418] += (it->second) * (b31);
3868  out[446] += (it->second) * (-1.028051e+00*b31 + 1.028051e+00*b32);
3869  out[473] += (it->second) * (2.995846e-02*b31 + 7.710383e-01*b32 + -8.009968e-01*b33);
3870  out[507] += (it->second) * (-1.907356e-03*b31 + -1.799089e+00*b32 + 8.009968e-01*b33 + 1.0);
3871  break;
3872  } case 230590000: {
3873  double b34 = exp2(-1.333333e+01*t);
3874  double b35 = exp2(-2.173913e+00*t);
3875  double b36 = exp2(-2.178649e-01*t);
3876  double b37 = exp2(-2.601208e-07*t);
3877  out[419] += (it->second) * (b34);
3878  out[447] += (it->second) * (-1.194805e+00*b34 + 1.194805e+00*b35);
3879  out[475] += (it->second) * (1.980412e-01*b34 + -1.327883e+00*b35 + 1.129842e+00*b36);
3880  out[508] += (it->second) * (-3.235967e-03*b34 + 1.330776e-01*b35 + -1.129843e+00*b36 + 1.000001e+00*b37);
3881  out[539] += (it->second) * (6.313066e-11*b34 + -1.592347e-08*b35 + 1.348981e-06*b36 + -1.000001e+00*b37 + 1.0);
3882  break;
3883  } case 230600000: {
3884  double b38 = exp2(-8.196721e+00*t);
3885  double b39 = exp2(-2.040816e+00*t);
3886  double b40 = exp2(-3.571429e+00*t);
3887  double b41 = exp2(-1.209469e-14*t);
3888  double b42 = exp2(-6.011632e-09*t);
3889  out[420] += (it->second) * (b38);
3890  out[448] += (it->second) * (-1.331522e+00*b38 + 1.331522e+00*b39);
3891  out[476] += (it->second) * (5.875069e-01*b38 + 1.775362e+00*b39 + -2.362869e+00*b40);
3892  out[509] += (it->second) * (-2.559851e-01*b38 + -3.106884e+00*b39 + 2.362869e+00*b40 + 1.000000e+00*b41);
3893  out[540] += (it->second) * (2.011885e-06*b41 + -2.011885e-06*b42);
3894  out[572] += (it->second) * (-1.000002e+00*b41 + 2.011885e-06*b42 + 1.0);
3895  break;
3896  } case 230600001: {
3897  double b43 = exp2(-2.500000e+01*t);
3898  double b44 = exp2(-2.040816e+00*t);
3899  double b45 = exp2(-3.571429e+00*t);
3900  double b46 = exp2(-1.209469e-14*t);
3901  double b47 = exp2(-6.011632e-09*t);
3902  out[421] += (it->second) * (b43);
3903  out[448] += (it->second) * (-1.088889e+00*b43 + 1.088889e+00*b44);
3904  out[476] += (it->second) * (1.037037e-01*b43 + 1.451852e+00*b44 + -1.555556e+00*b45);
3905  out[509] += (it->second) * (-1.481481e-02*b43 + -2.540741e+00*b44 + 1.555556e+00*b45 + 1.000000e+00*b46);
3906  out[540] += (it->second) * (2.011885e-06*b46 + -2.011885e-06*b47);
3907  out[572] += (it->second) * (-1.000002e+00*b46 + 2.011885e-06*b47 + 1.0);
3908  break;
3909  } case 230610000: {
3910  double b48 = exp2(-2.127660e+01*t);
3911  double b49 = exp2(-4.115226e+00*t);
3912  double b50 = exp2(-1.492537e+00*t);
3913  double b51 = exp2(-2.787068e-03*t);
3914  double b52 = exp2(-1.683502e-04*t);
3915  double b53 = exp2(-2.040816e+00*t);
3916  double b54 = exp2(-3.571429e+00*t);
3917  double b55 = exp2(-1.209469e-14*t);
3918  double b56 = exp2(-6.011632e-09*t);
3919  out[422] += (it->second) * (b48);
3920  out[449] += (it->second) * (-1.239796e+00*b48 + 1.239796e+00*b49);
3921  out[478] += (it->second) * (2.578865e-01*b48 + -1.945347e+00*b49 + 1.687461e+00*b50);
3922  out[510] += (it->second) * (-1.809291e-02*b48 + 7.060295e-01*b49 + -1.690618e+00*b50 + 1.002681e+00*b51);
3923  out[542] += (it->second) * (2.370049e-06*b48 + -4.781833e-04*b49 + 3.157307e-03*b50 + -1.067141e+00*b51 + 1.064459e+00*b52);
3924  out[573] += (it->second) * (-1.875291e-11*b48 + 1.956205e-08*b49 + -3.561272e-07*b50 + 6.445961e-02*b51 + -1.064459e+00*b52 + 1.0);
3925  out[448] += (it->second) * (-6.636569e-02*b48 + 6.636569e-02*b53);
3926  out[476] += (it->second) * (7.649754e-03*b48 + 8.848758e-02*b53 + -9.613734e-02*b54);
3927  out[509] += (it->second) * (-1.284066e-03*b48 + -1.548533e-01*b53 + 9.613734e-02*b54 + 6.000000e-02*b55);
3928  out[540] += (it->second) * (1.207131e-07*b55 + -1.207131e-07*b56);
3929  out[572] += (it->second) * (-6.000012e-02*b55 + 1.207131e-07*b56 + 0);
3930  break;
3931  } case 230620000: {
3932  double b57 = exp2(-2.976190e+01*t);
3933  double b58 = exp2(-4.854369e+00*t);
3934  double b59 = exp2(-1.086957e+01*t);
3935  double b60 = exp2(-1.470588e-02*t);
3936  double b61 = exp2(-1.082251e-02*t);
3937  out[423] += (it->second) * (b57);
3938  out[450] += (it->second) * (-1.194896e+00*b57 + 1.194896e+00*b58);
3939  out[479] += (it->second) * (3.070273e-01*b57 + 9.643017e-01*b58 + -1.271329e+00*b59);
3940  out[511] += (it->second) * (-1.121871e-01*b57 + -2.165758e+00*b58 + 1.273051e+00*b59 + 1.004894e+00*b60);
3941  out[543] += (it->second) * (5.545381e-05*b57 + 6.575634e-03*b58 + -1.724080e-03*b59 + -3.805418e+00*b60 + 3.800511e+00*b61);
3942  out[574] += (it->second) * (-2.016502e-08*b57 + -1.465996e-05*b58 + 1.716617e-06*b59 + 2.800524e+00*b60 + -3.800511e+00*b61 + 1.0);
3943  break;
3944  } case 230630000: {
3945  double b62 = exp2(-5.882353e+01*t);
3946  double b63 = exp2(-4.854369e+00*t);
3947  double b64 = exp2(-1.086957e+01*t);
3948  double b65 = exp2(-1.470588e-02*t);
3949  double b66 = exp2(-1.082251e-02*t);
3950  double b67 = exp2(-7.751938e+00*t);
3951  double b68 = exp2(-3.636364e+00*t);
3952  double b69 = exp2(-1.639344e-01*t);
3953  double b70 = exp2(-3.649635e-02*t);
3954  double b71 = exp2(-3.131234e-10*t);
3955  out[424] += (it->second) * (b62);
3956  out[450] += (it->second) * (-3.814815e-01*b62 + 3.814815e-01*b63);
3957  out[479] += (it->second) * (3.861728e-02*b62 + 3.078622e-01*b63 + -3.464795e-01*b64);
3958  out[511] += (it->second) * (-7.137587e-03*b62 + -6.914384e-01*b63 + 3.469489e-01*b64 + 3.516270e-01*b65);
3959  out[543] += (it->second) * (1.784725e-06*b62 + 2.099332e-03*b63 + -4.698693e-04*b64 + -1.331571e+00*b65 + 1.329940e+00*b66);
3960  out[574] += (it->second) * (-3.283585e-10*b62 + -4.680329e-06*b63 + 4.678353e-07*b64 + 9.799442e-01*b65 + -1.329940e+00*b66 + 3.500000e-01);
3961  out[451] += (it->second) * (-1.151786e+00*b62 + 1.151786e+00*b67);
3962  out[481] += (it->second) * (1.617871e-01*b62 + -2.169459e+00*b67 + 2.007672e+00*b68);
3963  out[512] += (it->second) * (-1.002933e-02*b62 + 1.039660e+00*b67 + -2.102455e+00*b68 + 1.072825e+00*b69);
3964  out[545] += (it->second) * (2.796796e-05*b62 + -2.209025e-02*b67 + 9.574374e-02*b68 + -1.380065e+00*b69 + 1.306384e+00*b70);
3965  out[575] += (it->second) * (-1.735238e-08*b62 + 1.040016e-04*b67 + -9.609317e-04*b68 + 3.072408e-01*b69 + -1.306384e+00*b70 + 1.000000e+00*b71);
3966  out[607] += (it->second) * (-1.000000e+00*b71 + 0.65);
3967  break;
3968  } case 230640000: {
3969  double b72 = exp2(-6.666667e+01*t);
3970  double b73 = exp2(-2.325581e+01*t);
3971  double b74 = exp2(-1.111111e+01*t);
3972  double b75 = exp2(-1.639344e-01*t);
3973  double b76 = exp2(-3.649635e-02*t);
3974  double b77 = exp2(-3.131234e-10*t);
3975  double b78 = exp2(-5.000000e-01*t);
3976  double b79 = exp2(-3.333333e+00*t);
3977  out[425] += (it->second) * (b72);
3978  out[452] += (it->second) * (-1.535714e+00*b72 + 1.535714e+00*b73);
3979  out[482] += (it->second) * (6.428571e-01*b72 + -2.940729e+00*b73 + 2.297872e+00*b74);
3980  out[512] += (it->second) * (-3.544430e-02*b72 + 4.669466e-01*b73 + -7.696534e-01*b74 + 3.381511e-01*b75);
3981  out[545] += (it->second) * (8.720586e-05*b72 + -3.296765e-03*b73 + 1.139296e-02*b74 + -4.349925e-01*b75 + 4.268091e-01*b76);
3982  out[575] += (it->second) * (-4.774043e-08*b72 + 5.173755e-06*b73 + -3.742215e-05*b74 + 9.684140e-02*b75 + -4.268091e-01*b76 + 3.300000e-01*b77);
3983  out[607] += (it->second) * (-3.300000e-01*b77 + 3.300000e-01);
3984  out[513] += (it->second) * (-1.079525e-01*b72 + 1.435887e+00*b73 + -2.406149e+00*b74 + 1.078215e+00*b78);
3985  out[546] += (it->second) * (8.522566e-04*b72 + -3.603685e-02*b73 + 1.546810e-01*b74 + 1.902732e-01*b78 + -3.097696e-01*b79);
3986  out[576] += (it->second) * (-4.261283e-05*b72 + 5.165281e-03*b73 + -4.640430e-02*b74 + -1.268488e+00*b78 + 3.097696e-01*b79 + 0.67);
3987  break;
3988  } case 230640001: {
3989  double b80 = exp2(-1.000000e+06*t);
3990  double b81 = exp2(-6.666667e+01*t);
3991  double b82 = exp2(-2.325581e+01*t);
3992  double b83 = exp2(-1.111111e+01*t);
3993  double b84 = exp2(-1.639344e-01*t);
3994  double b85 = exp2(-3.649635e-02*t);
3995  double b86 = exp2(-3.131234e-10*t);
3996  double b87 = exp2(-5.000000e-01*t);
3997  double b88 = exp2(-3.333333e+00*t);
3998  out[426] += (it->second) * (b80);
3999  out[425] += (it->second) * (-1.000067e+00*b80 + 1.000067e+00*b81);
4000  out[452] += (it->second) * (6.667266e-05*b80 + -1.535817e+00*b81 + 1.535750e+00*b82);
4001  out[482] += (it->second) * (-1.550544e-09*b80 + 6.429000e-01*b81 + -2.940798e+00*b82 + 2.297898e+00*b83);
4002  out[512] += (it->second) * (5.685330e-15*b80 + -3.544666e-02*b81 + 4.669575e-01*b82 + -7.696620e-01*b83 + 3.381512e-01*b84);
4003  out[545] += (it->second) * (-9.320213e-22*b80 + 8.721167e-05*b81 + -3.296841e-03*b82 + 1.139309e-02*b83 + -4.349926e-01*b84 + 4.268091e-01*b85);
4004  out[575] += (it->second) * (3.401538e-29*b80 + -4.774362e-08*b81 + 5.173875e-06*b82 + -3.742256e-05*b83 + 9.684141e-02*b84 + -4.268091e-01*b85 + 3.300000e-01*b86);
4005  out[607] += (it->second) * (-3.300000e-01*b86 + 3.300000e-01);
4006  out[513] += (it->second) * (1.722828e-14*b80 + -1.079597e-01*b81 + 1.435920e+00*b82 + -2.406176e+00*b83 + 1.078215e+00*b87);
4007  out[546] += (it->second) * (-8.614168e-21*b80 + 8.523134e-04*b81 + -3.603768e-02*b82 + 1.546827e-01*b83 + 1.902733e-01*b87 + -3.097707e-01*b88);
4008  out[576] += (it->second) * (2.871389e-26*b80 + -4.261567e-05*b81 + 5.165401e-03*b82 + -4.640482e-02*b83 + -1.268489e+00*b87 + 3.097707e-01*b88 + 0.67);
4009  break;
4010  } case 230650000: {
4011  double b89 = exp2(-2.777778e+06*t);
4012  double b90 = exp2(-3.703704e+01*t);
4013  double b91 = exp2(-1.086957e+01*t);
4014  double b92 = exp2(-1.234568e+00*t);
4015  double b93 = exp2(-8.620690e-01*t);
4016  double b94 = exp2(-1.103387e-04*t);
4017  out[427] += (it->second) * (b89);
4018  out[453] += (it->second) * (-1.000013e+00*b89 + 1.000013e+00*b90);
4019  out[484] += (it->second) * (1.333356e-05*b89 + -1.415403e+00*b90 + 1.415390e+00*b91);
4020  out[514] += (it->second) * (-5.217484e-11*b89 + 4.297140e-01*b90 + -1.596749e+00*b91 + 1.167035e+00*b92);
4021  out[547] += (it->second) * (2.318882e-17*b89 + -1.466514e-02*b90 + 1.969819e-01*b91 + -3.867889e+00*b92 + 3.685572e+00*b93);
4022  out[577] += (it->second) * (3.413448e-04*b90 + -1.562286e-02*b91 + 2.701095e+00*b92 + -3.686044e+00*b93 + 1.000231e+00*b94);
4023  out[609] += (it->second) * (-1.016916e-09*b90 + 1.585902e-07*b91 + -2.414087e-04*b92 + 4.717876e-04*b93 + -1.000231e+00*b94 + 1.0);
4024  break;
4025  } case 230660000: {
4026  double b95 = exp2(-2.777778e+06*t);
4027  out[428] += (it->second) * (b95);
4028  break;
4029  } case 230670000: {
4030  double b96 = exp2(-1.612903e+06*t);
4031  out[429] += (it->second) * (b96);
4032  break;
4033  } default: {
4034  outcomp.insert(*it);
4035  break;
4036  }
4037  }
4038 }
4039 
4040 void decay_cr(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
4041  //using std::exp2;
4042  switch (nucname::id_to_state_id(it->first)) {
4043  case 240420000: {
4044  double b0 = exp2(-7.518797e+01*t);
4045  double b1 = exp2(-1.243781e+01*t);
4046  double b2 = exp2(-1.677008e+00*t);
4047  double b3 = exp2(-3.106675e-13*t);
4048  double b4 = exp2(-1.818182e+07*t);
4049  out[430] += (it->second) * (b0);
4050  out[376] += (it->second) * (-1.131112e+00*b0 + 1.131112e+00*b1);
4051  out[325] += (it->second) * (1.871118e-01*b0 + -1.131112e+00*b1 + 9.440000e-01);
4052  out[346] += (it->second) * (1.913804e-01*b0 + -1.307389e+00*b1 + 1.116009e+00*b2);
4053  out[326] += (it->second) * (-4.268588e-03*b0 + 1.762772e-01*b1 + -1.116009e+00*b2 + 9.440000e-01*b3);
4054  out[303] += (it->second) * (-9.440000e-01*b3 + 5.600000e-02);
4055  out[400] += (it->second) * (4.135355e-06*b0 + -4.135355e-06*b4);
4056  break;
4057  } case 240430000: {
4058  double b5 = exp2(-4.629630e+01*t);
4059  double b6 = exp2(-1.677008e+00*t);
4060  double b7 = exp2(-3.106675e-13*t);
4061  double b8 = exp2(-5.025126e+00*t);
4062  double b9 = exp2(-1.467782e+00*t);
4063  double b10 = exp2(-1.250000e+00*t);
4064  double b11 = exp2(-1.964637e+00*t);
4065  double b12 = exp2(-7.138982e-05*t);
4066  out[431] += (it->second) * (b5);
4067  out[346] += (it->second) * (-6.225509e-02*b5 + 6.225509e-02*b6);
4068  out[326] += (it->second) * (2.255090e-03*b5 + -6.225509e-02*b6 + 6.000000e-02*b7);
4069  out[303] += (it->second) * (-6.000000e-02*b7 + 6.000000e-02);
4070  out[377] += (it->second) * (-2.580045e-01*b5 + 2.580045e-01*b8);
4071  out[347] += (it->second) * (2.892144e-02*b5 + -3.644588e-01*b8 + 3.355373e-01*b9);
4072  out[327] += (it->second) * (-9.169280e-04*b5 + 1.064543e-01*b8 + -3.355373e-01*b9 + 2.300000e-01);
4073  out[401] += (it->second) * (-1.027749e+00*b5 + 1.027749e+00*b10);
4074  out[378] += (it->second) * (2.897899e-02*b5 + 1.797678e+00*b10 + -1.826657e+00*b11);
4075  out[349] += (it->second) * (-1.229758e-03*b5 + -2.825589e+00*b10 + 1.826724e+00*b11 + 1.000095e+00*b12);
4076  out[328] += (it->second) * (1.896312e-09*b5 + 1.613746e-04*b10 + -6.637842e-05*b11 + -1.000095e+00*b12 + 0.71);
4077  break;
4078  } case 240440000: {
4079  double b13 = exp2(-2.336449e+01*t);
4080  double b14 = exp2(-9.009009e+00*t);
4081  double b15 = exp2(-5.361775e-10*t);
4082  double b16 = exp2(-6.996921e-05*t);
4083  out[432] += (it->second) * (b13);
4084  out[402] += (it->second) * (-1.627566e+00*b13 + 1.627566e+00*b14);
4085  out[379] += (it->second) * (6.275660e-01*b13 + -1.627566e+00*b14 + 1.000000e+00*b15);
4086  out[351] += (it->second) * (7.663107e-06*b15 + -7.663189e-06*b16);
4087  out[329] += (it->second) * (-1.000008e+00*b15 + 7.663189e-06*b16 + 1.0);
4088  break;
4089  } case 240450000: {
4090  double b17 = exp2(-1.642036e+01*t);
4091  double b18 = exp2(-5.361775e-10*t);
4092  double b19 = exp2(-6.996921e-05*t);
4093  double b20 = exp2(-1.828154e+00*t);
4094  double b21 = exp2(-9.018759e-05*t);
4095  out[433] += (it->second) * (b17);
4096  out[379] += (it->second) * (-1.000000e+00*b17 + 1.000000e+00*b18);
4097  out[351] += (it->second) * (7.663107e-06*b18 + -7.663140e-06*b19);
4098  out[329] += (it->second) * (-1.000008e+00*b18 + 7.663140e-06*b19 + 1.0);
4099  out[404] += (it->second) * (-1.125283e+00*b17 + 1.125283e+00*b20);
4100  out[380] += (it->second) * (1.252836e-01*b17 + -1.125338e+00*b20 + 1.000055e+00*b21);
4101  out[353] += (it->second) * (-6.881104e-07*b17 + 5.551588e-05*b20 + -1.000055e+00*b21 + 0.0);
4102  break;
4103  } case 240460000: {
4104  double b22 = exp2(-3.846154e+00*t);
4105  double b23 = exp2(-2.366864e+00*t);
4106  out[434] += (it->second) * (b22);
4107  out[405] += (it->second) * (-2.600000e+00*b22 + 2.600000e+00*b23);
4108  out[381] += (it->second) * (1.600000e+00*b22 + -2.600000e+00*b23 + 1.0);
4109  break;
4110  } case 240470000: {
4111  double b24 = exp2(-2.000000e+00*t);
4112  double b25 = exp2(-5.112474e-04*t);
4113  out[435] += (it->second) * (b24);
4114  out[407] += (it->second) * (-1.000256e+00*b24 + 1.000256e+00*b25);
4115  out[382] += (it->second) * (2.556891e-04*b24 + -1.000256e+00*b25 + 1.0);
4116  break;
4117  } case 240480000: {
4118  double b26 = exp2(-1.288394e-05*t);
4119  double b27 = exp2(-7.245797e-07*t);
4120  out[436] += (it->second) * (b26);
4121  out[408] += (it->second) * (-1.059590e+00*b26 + 1.059590e+00*b27);
4122  out[383] += (it->second) * (5.959028e-02*b26 + -1.059590e+00*b27 + 1.0);
4123  break;
4124  } case 240490000: {
4125  double b28 = exp2(-3.940110e-04*t);
4126  double b29 = exp2(-3.507295e-08*t);
4127  out[437] += (it->second) * (b28);
4128  out[409] += (it->second) * (-1.000089e+00*b28 + 1.000089e+00*b29);
4129  out[384] += (it->second) * (8.902308e-05*b28 + -1.000089e+00*b29 + 1.0);
4130  break;
4131  } case 240500000: {
4132  double b30 = exp2(-2.437545e-26*t);
4133  out[438] += (it->second) * (b30);
4134  break;
4135  } case 240510000: {
4136  double b31 = exp2(-4.178215e-07*t);
4137  out[439] += (it->second) * (b31);
4138  out[411] += (it->second) * (-1.000000e+00*b31 + 1.0);
4139  break;
4140  } case 240520000: {
4141  out[440] += it->second;
4142  break;
4143  } case 240530000: {
4144  out[441] += it->second;
4145  break;
4146  } case 240540000: {
4147  out[442] += it->second;
4148  break;
4149  } case 240550000: {
4150  double b32 = exp2(-4.765990e-03*t);
4151  out[443] += (it->second) * (b32);
4152  out[470] += (it->second) * (-1.000000e+00*b32 + 1.0);
4153  break;
4154  } case 240560000: {
4155  double b33 = exp2(-2.805836e-03*t);
4156  double b34 = exp2(-1.077117e-04*t);
4157  out[444] += (it->second) * (b33);
4158  out[471] += (it->second) * (-1.039921e+00*b33 + 1.039921e+00*b34);
4159  out[505] += (it->second) * (3.992096e-02*b33 + -1.039921e+00*b34 + 1.0);
4160  break;
4161  } case 240570000: {
4162  double b35 = exp2(-4.739336e-02*t);
4163  double b36 = exp2(-1.170960e-02*t);
4164  out[445] += (it->second) * (b35);
4165  out[472] += (it->second) * (-1.328149e+00*b35 + 1.328149e+00*b36);
4166  out[506] += (it->second) * (3.281493e-01*b35 + -1.328149e+00*b36 + 1.0);
4167  break;
4168  } case 240580000: {
4169  double b37 = exp2(-1.428571e-01*t);
4170  double b38 = exp2(-3.333333e-01*t);
4171  out[446] += (it->second) * (b37);
4172  out[473] += (it->second) * (7.500000e-01*b37 + -7.500000e-01*b38);
4173  out[507] += (it->second) * (-1.750000e+00*b37 + 7.500000e-01*b38 + 1.0);
4174  break;
4175  } case 240590000: {
4176  double b39 = exp2(-2.173913e+00*t);
4177  double b40 = exp2(-2.178649e-01*t);
4178  double b41 = exp2(-2.601208e-07*t);
4179  out[447] += (it->second) * (b39);
4180  out[475] += (it->second) * (-1.111380e+00*b39 + 1.111380e+00*b40);
4181  out[508] += (it->second) * (1.113802e-01*b39 + -1.111381e+00*b40 + 1.000001e+00*b41);
4182  out[539] += (it->second) * (-1.332726e-08*b39 + 1.326939e-06*b40 + -1.000001e+00*b41 + 1.0);
4183  break;
4184  } case 240600000: {
4185  double b42 = exp2(-2.040816e+00*t);
4186  double b43 = exp2(-3.571429e+00*t);
4187  double b44 = exp2(-1.209469e-14*t);
4188  double b45 = exp2(-6.011632e-09*t);
4189  out[448] += (it->second) * (b42);
4190  out[476] += (it->second) * (1.333333e+00*b42 + -1.333333e+00*b43);
4191  out[509] += (it->second) * (-2.333333e+00*b42 + 1.333333e+00*b43 + 1.000000e+00*b44);
4192  out[540] += (it->second) * (2.011885e-06*b44 + -2.011885e-06*b45);
4193  out[572] += (it->second) * (-1.000002e+00*b44 + 2.011885e-06*b45 + 1.0);
4194  break;
4195  } case 240610000: {
4196  double b46 = exp2(-4.115226e+00*t);
4197  double b47 = exp2(-1.492537e+00*t);
4198  double b48 = exp2(-2.787068e-03*t);
4199  double b49 = exp2(-1.683502e-04*t);
4200  out[449] += (it->second) * (b46);
4201  out[478] += (it->second) * (-1.569087e+00*b46 + 1.569087e+00*b47);
4202  out[510] += (it->second) * (5.694723e-01*b46 + -1.572022e+00*b47 + 1.002550e+00*b48);
4203  out[542] += (it->second) * (-3.856952e-04*b46 + 2.935824e-03*b47 + -1.067001e+00*b48 + 1.064451e+00*b49);
4204  out[573] += (it->second) * (1.577844e-08*b46 + -3.311451e-07*b47 + 6.445117e-02*b48 + -1.064451e+00*b49 + 1.0);
4205  break;
4206  } case 240620000: {
4207  double b50 = exp2(-4.854369e+00*t);
4208  double b51 = exp2(-1.086957e+01*t);
4209  double b52 = exp2(-1.470588e-02*t);
4210  double b53 = exp2(-1.082251e-02*t);
4211  out[450] += (it->second) * (b50);
4212  out[479] += (it->second) * (8.070175e-01*b50 + -8.070175e-01*b51);
4213  out[511] += (it->second) * (-1.812508e+00*b50 + 8.081109e-01*b51 + 1.004398e+00*b52);
4214  out[543] += (it->second) * (5.503103e-03*b50 + -1.094416e-03*b51 + -3.803538e+00*b52 + 3.799129e+00*b53);
4215  out[574] += (it->second) * (-1.226882e-05*b50 + 1.089678e-06*b51 + 2.799141e+00*b52 + -3.799129e+00*b53 + 1.0);
4216  break;
4217  } case 240630000: {
4218  double b54 = exp2(-7.751938e+00*t);
4219  double b55 = exp2(-3.636364e+00*t);
4220  double b56 = exp2(-1.639344e-01*t);
4221  double b57 = exp2(-3.649635e-02*t);
4222  double b58 = exp2(-3.131234e-10*t);
4223  out[451] += (it->second) * (b54);
4224  out[481] += (it->second) * (-1.883562e+00*b54 + 1.883562e+00*b55);
4225  out[512] += (it->second) * (9.026505e-01*b54 + -1.972485e+00*b55 + 1.069835e+00*b56);
4226  out[545] += (it->second) * (-1.917913e-02*b54 + 8.982504e-02*b55 + -1.376219e+00*b56 + 1.305573e+00*b57);
4227  out[575] += (it->second) * (9.029592e-05*b54 + -9.015287e-04*b55 + 3.063846e-01*b56 + -1.305573e+00*b57 + 1.000000e+00*b58);
4228  out[607] += (it->second) * (-1.000000e+00*b58 + 1.0);
4229  break;
4230  } case 240640000: {
4231  double b59 = exp2(-2.325581e+01*t);
4232  double b60 = exp2(-1.111111e+01*t);
4233  double b61 = exp2(-1.639344e-01*t);
4234  double b62 = exp2(-3.649635e-02*t);
4235  double b63 = exp2(-3.131234e-10*t);
4236  double b64 = exp2(-5.000000e-01*t);
4237  double b65 = exp2(-3.333333e+00*t);
4238  out[452] += (it->second) * (b59);
4239  out[482] += (it->second) * (-1.914894e+00*b59 + 1.914894e+00*b60);
4240  out[512] += (it->second) * (3.040583e-01*b59 + -6.413778e-01*b60 + 3.373196e-01*b61);
4241  out[545] += (it->second) * (-2.146730e-03*b59 + 9.494137e-03*b60 + -4.339229e-01*b61 + 4.265754e-01*b62);
4242  out[575] += (it->second) * (3.368957e-06*b59 + -3.118512e-05*b60 + 9.660326e-02*b61 + -4.265755e-01*b62 + 3.300000e-01*b63);
4243  out[607] += (it->second) * (-3.300000e-01*b63 + 3.300000e-01);
4244  out[513] += (it->second) * (9.349960e-01*b59 + -2.005124e+00*b60 + 1.070128e+00*b64);
4245  out[546] += (it->second) * (-2.346585e-02*b59 + 1.289008e-01*b60 + 1.888461e-01*b64 + -2.942811e-01*b65);
4246  out[576] += (it->second) * (3.363439e-03*b59 + -3.867025e-02*b60 + -1.258974e+00*b64 + 2.942811e-01*b65 + 0.67);
4247  break;
4248  } case 240650000: {
4249  double b66 = exp2(-3.703704e+01*t);
4250  double b67 = exp2(-1.086957e+01*t);
4251  double b68 = exp2(-1.234568e+00*t);
4252  double b69 = exp2(-8.620690e-01*t);
4253  double b70 = exp2(-1.103387e-04*t);
4254  out[453] += (it->second) * (b66);
4255  out[484] += (it->second) * (-1.415385e+00*b66 + 1.415385e+00*b67);
4256  out[514] += (it->second) * (4.297082e-01*b66 + -1.596743e+00*b67 + 1.167035e+00*b68);
4257  out[547] += (it->second) * (-1.466495e-02*b66 + 1.969811e-01*b67 + -3.867887e+00*b68 + 3.685571e+00*b69);
4258  out[577] += (it->second) * (3.413403e-04*b66 + -1.562280e-02*b67 + 2.701094e+00*b68 + -3.686043e+00*b69 + 1.000231e+00*b70);
4259  out[609] += (it->second) * (-1.016903e-09*b66 + 1.585896e-07*b67 + -2.414086e-04*b68 + 4.717874e-04*b69 + -1.000231e+00*b70 + 1.0);
4260  break;
4261  } case 240660000: {
4262  double b71 = exp2(-1.000000e+02*t);
4263  double b72 = exp2(-1.538462e+01*t);
4264  double b73 = exp2(-2.272727e+00*t);
4265  double b74 = exp2(-5.000000e+00*t);
4266  double b75 = exp2(-5.087505e-06*t);
4267  double b76 = exp2(-3.255208e-03*t);
4268  out[454] += (it->second) * (b71);
4269  out[485] += (it->second) * (-1.181818e+00*b71 + 1.181818e+00*b72);
4270  out[516] += (it->second) * (1.860465e-01*b71 + -1.386667e+00*b72 + 1.200620e+00*b73);
4271  out[548] += (it->second) * (-4.450873e-03*b71 + 3.034792e-01*b72 + 1.000517e+00*b73 + -1.299545e+00*b74);
4272  out[578] += (it->second) * (2.225437e-04*b71 + -9.863078e-02*b72 + -2.201142e+00*b73 + 1.299546e+00*b74 + 1.000004e+00*b75);
4273  out[610] += (it->second) * (-1.132229e-11*b71 + 3.262290e-08*b72 + 4.934328e-06*b73 + -1.323151e-06*b74 + 1.565334e-03*b75 + -1.568977e-03*b76);
4274  out[645] += (it->second) * (3.685641e-16*b71 + -6.902632e-12*b72 + -7.067397e-09*b73 + 8.614266e-10*b74 + -1.001569e+00*b75 + 1.568977e-03*b76 + 1.0);
4275  break;
4276  } case 240680000: {
4277  double b77 = exp2(-2.777778e+06*t);
4278  double b78 = exp2(-3.571429e+01*t);
4279  double b79 = exp2(-5.319149e+00*t);
4280  double b80 = exp2(-5.000000e+00*t);
4281  double b81 = exp2(-3.448276e-02*t);
4282  double b82 = exp2(-3.236246e-02*t);
4283  out[455] += (it->second) * (b77);
4284  out[487] += (it->second) * (-1.000013e+00*b77 + 1.000013e+00*b78);
4285  out[519] += (it->second) * (1.285733e-05*b77 + -1.175015e+00*b78 + 1.175002e+00*b79);
4286  out[550] += (it->second) * (-2.462047e-11*b77 + 2.034910e-01*b78 + -1.958337e+01*b79 + 1.937988e+01*b80);
4287  out[580] += (it->second) * (4.431684e-17*b77 + -2.851627e-02*b78 + 1.852848e+01*b79 + -1.951446e+01*b80 + 1.014494e+00*b81);
4288  out[613] += (it->second) * (2.755792e-05*b78 + -1.208510e-01*b79 + 1.354593e-01*b80 + -1.649888e+01*b81 + 1.648425e+01*b82);
4289  out[647] += (it->second) * (-2.497158e-08*b78 + 7.352745e-04*b79 + -8.767590e-04*b80 + 1.548439e+01*b81 + -1.648425e+01*b82 + 1.0);
4290  break;
4291  } case 240690000: {
4292  double b83 = exp2(-1.612903e+06*t);
4293  out[456] += (it->second) * (b83);
4294  break;
4295  } case 240700000: {
4296  double b84 = exp2(-1.612903e+06*t);
4297  out[457] += (it->second) * (b84);
4298  break;
4299  } default: {
4300  outcomp.insert(*it);
4301  break;
4302  }
4303  }
4304 }
4305 
4306 void decay_mn(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
4307  //using std::exp2;
4308  switch (nucname::id_to_state_id(it->first)) {
4309  case 250440000: {
4310  double b0 = exp2(-9.523810e+06*t);
4311  out[458] += (it->second) * (b0);
4312  break;
4313  } case 250460000: {
4314  double b1 = exp2(-2.762431e+01*t);
4315  double b2 = exp2(-1.828154e+00*t);
4316  double b3 = exp2(-9.018759e-05*t);
4317  double b4 = exp2(-3.846154e+00*t);
4318  double b5 = exp2(-2.366864e+00*t);
4319  out[459] += (it->second) * (b1);
4320  out[404] += (it->second) * (-6.103955e-01*b1 + 6.103955e-01*b2);
4321  out[380] += (it->second) * (4.039559e-02*b1 + -6.104256e-01*b2 + 5.700300e-01*b3);
4322  out[353] += (it->second) * (-1.318831e-07*b1 + 3.011389e-05*b2 + -5.700300e-01*b3 + 5.700000e-01);
4323  out[434] += (it->second) * (-1.161752e+00*b1 + 1.161752e+00*b4);
4324  out[405] += (it->second) * (1.769092e-01*b1 + -3.020554e+00*b4 + 2.843645e+00*b5);
4325  out[381] += (it->second) * (-1.515767e-02*b1 + 1.858803e+00*b4 + -2.843645e+00*b5 + 0.43);
4326  break;
4327  } case 250470000: {
4328  double b6 = exp2(-1.000000e+01*t);
4329  double b7 = exp2(-2.000000e+00*t);
4330  double b8 = exp2(-5.112474e-04*t);
4331  out[460] += (it->second) * (b6);
4332  out[435] += (it->second) * (-1.250000e+00*b6 + 1.250000e+00*b7);
4333  out[407] += (it->second) * (2.500128e-01*b6 + -1.250320e+00*b7 + 1.000307e+00*b8);
4334  out[382] += (it->second) * (-1.278184e-05*b6 + 3.196114e-04*b7 + -1.000307e+00*b8 + 1.0);
4335  break;
4336  } case 250480000: {
4337  double b9 = exp2(-6.325111e+00*t);
4338  double b10 = exp2(-5.112474e-04*t);
4339  double b11 = exp2(-1.288394e-05*t);
4340  double b12 = exp2(-7.245797e-07*t);
4341  out[461] += (it->second) * (b9);
4342  out[407] += (it->second) * (-2.800226e-01*b9 + 2.800226e-01*b10);
4343  out[382] += (it->second) * (2.263373e-05*b9 + -2.800226e-01*b10 + 2.800000e-01);
4344  out[436] += (it->second) * (-1.000002e+00*b9 + 1.000002e+00*b11);
4345  out[408] += (it->second) * (2.036956e-06*b9 + -1.059592e+00*b11 + 1.059590e+00*b12);
4346  out[383] += (it->second) * (-2.333456e-13*b9 + 5.959040e-02*b11 + -1.059590e+00*b12 + 0.72);
4347  break;
4348  } case 250490000: {
4349  double b13 = exp2(-2.617801e+00*t);
4350  double b14 = exp2(-3.940110e-04*t);
4351  double b15 = exp2(-3.507295e-08*t);
4352  out[462] += (it->second) * (b13);
4353  out[437] += (it->second) * (-1.000151e+00*b13 + 1.000151e+00*b14);
4354  out[409] += (it->second) * (1.505349e-04*b13 + -1.000240e+00*b14 + 1.000089e+00*b15);
4355  out[384] += (it->second) * (-2.016846e-12*b13 + 8.903648e-05*b14 + -1.000089e+00*b15 + 1.0);
4356  break;
4357  } case 250500000: {
4358  double b16 = exp2(-3.531198e+00*t);
4359  double b17 = exp2(-2.437545e-26*t);
4360  out[463] += (it->second) * (b16);
4361  out[438] += (it->second) * (-1.000000e+00*b16 + b17);
4362  break;
4363  } case 250500001: {
4364  double b18 = exp2(-9.523810e-03*t);
4365  double b19 = exp2(-2.437545e-26*t);
4366  out[464] += (it->second) * (b18);
4367  out[438] += (it->second) * (-1.000000e+00*b18 + b19);
4368  break;
4369  } case 250510000: {
4370  double b20 = exp2(-3.607504e-04*t);
4371  double b21 = exp2(-4.178215e-07*t);
4372  out[465] += (it->second) * (b20);
4373  out[439] += (it->second) * (-1.001160e+00*b20 + 1.001160e+00*b21);
4374  out[411] += (it->second) * (1.159544e-03*b20 + -1.001160e+00*b21 + 1.0);
4375  break;
4376  } case 250520000: {
4377  double b22 = exp2(-2.070126e-06*t);
4378  out[466] += (it->second) * (b22);
4379  out[440] += (it->second) * (-1.000000e+00*b22 + 1.0);
4380  break;
4381  } case 250520001: {
4382  double b23 = exp2(-7.898894e-04*t);
4383  double b24 = exp2(-2.070126e-06*t);
4384  out[467] += (it->second) * (b23);
4385  out[440] += (it->second) * (-9.825000e-01*b23 + 9.825000e-01);
4386  out[466] += (it->second) * (-1.754598e-02*b23 + 1.754598e-02*b24);
4387  out[440] += (it->second) * (4.598415e-05*b23 + -1.754598e-02*b24 + 1.750000e-02);
4388  break;
4389  } case 250530000: {
4390  double b25 = exp2(-8.472751e-15*t);
4391  out[468] += (it->second) * (b25);
4392  out[441] += (it->second) * (-1.000000e+00*b25 + 1.0);
4393  break;
4394  } case 250540000: {
4395  double b26 = exp2(-3.707263e-08*t);
4396  out[469] += (it->second) * (b26);
4397  out[442] += (it->second) * (-1.000000e+00*b26 + 1.0);
4398  out[503] += (it->second) * (-1.000000e+00*b26 + 0.0);
4399  break;
4400  } case 250550000: {
4401  out[470] += it->second;
4402  break;
4403  } case 250560000: {
4404  double b27 = exp2(-1.077117e-04*t);
4405  out[471] += (it->second) * (b27);
4406  out[505] += (it->second) * (-1.000000e+00*b27 + 1.0);
4407  break;
4408  } case 250570000: {
4409  double b28 = exp2(-1.170960e-02*t);
4410  out[472] += (it->second) * (b28);
4411  out[506] += (it->second) * (-1.000000e+00*b28 + 1.0);
4412  break;
4413  } case 250580000: {
4414  double b29 = exp2(-3.333333e-01*t);
4415  out[473] += (it->second) * (b29);
4416  out[507] += (it->second) * (-1.000000e+00*b29 + 1.0);
4417  break;
4418  } case 250580001: {
4419  double b30 = exp2(-1.529052e-02*t);
4420  double b31 = exp2(-3.333333e-01*t);
4421  out[474] += (it->second) * (b30);
4422  out[473] += (it->second) * (1.586538e-02*b30 + -1.586538e-02*b31);
4423  out[507] += (it->second) * (-3.458654e-01*b30 + 1.586538e-02*b31 + 3.300000e-01);
4424  out[507] += (it->second) * (-1.000000e+00*b30 + 0.67);
4425  break;
4426  } case 250590000: {
4427  double b32 = exp2(-2.178649e-01*t);
4428  double b33 = exp2(-2.601208e-07*t);
4429  out[475] += (it->second) * (b32);
4430  out[508] += (it->second) * (-1.000001e+00*b32 + 1.000001e+00*b33);
4431  out[539] += (it->second) * (1.193956e-06*b32 + -1.000001e+00*b33 + 1.0);
4432  break;
4433  } case 250600000: {
4434  double b34 = exp2(-3.571429e+00*t);
4435  double b35 = exp2(-1.209469e-14*t);
4436  double b36 = exp2(-6.011632e-09*t);
4437  out[476] += (it->second) * (b34);
4438  out[509] += (it->second) * (-1.000000e+00*b34 + 1.000000e+00*b35);
4439  out[540] += (it->second) * (2.011885e-06*b35 + -2.011885e-06*b36);
4440  out[572] += (it->second) * (-1.000002e+00*b35 + 2.011885e-06*b36 + 1.0);
4441  break;
4442  } case 250600001: {
4443  double b37 = exp2(-5.649718e-01*t);
4444  double b38 = exp2(-3.571429e+00*t);
4445  double b39 = exp2(-1.209469e-14*t);
4446  double b40 = exp2(-6.011632e-09*t);
4447  out[477] += (it->second) * (b37);
4448  out[476] += (it->second) * (2.161074e-02*b37 + -2.161074e-02*b38);
4449  out[509] += (it->second) * (-1.366107e-01*b37 + 2.161074e-02*b38 + 1.150000e-01*b39);
4450  out[540] += (it->second) * (2.313668e-07*b39 + -2.313668e-07*b40);
4451  out[572] += (it->second) * (-1.150002e-01*b39 + 2.313668e-07*b40 + 1.150000e-01);
4452  out[509] += (it->second) * (-8.850000e-01*b37 + 8.850000e-01*b39);
4453  out[540] += (it->second) * (1.780519e-06*b39 + -1.780519e-06*b40);
4454  out[572] += (it->second) * (-8.850018e-01*b39 + 1.780519e-06*b40 + 8.850000e-01);
4455  break;
4456  } case 250610000: {
4457  double b41 = exp2(-1.492537e+00*t);
4458  double b42 = exp2(-2.787068e-03*t);
4459  double b43 = exp2(-1.683502e-04*t);
4460  out[478] += (it->second) * (b41);
4461  out[510] += (it->second) * (-1.001871e+00*b41 + 1.001871e+00*b42);
4462  out[542] += (it->second) * (1.871040e-03*b41 + -1.066278e+00*b42 + 1.064407e+00*b43);
4463  out[573] += (it->second) * (-2.110432e-07*b41 + 6.440752e-02*b42 + -1.064407e+00*b43 + 1.0);
4464  break;
4465  } case 250620000: {
4466  double b44 = exp2(-1.086957e+01*t);
4467  double b45 = exp2(-1.470588e-02*t);
4468  double b46 = exp2(-1.082251e-02*t);
4469  out[479] += (it->second) * (b44);
4470  out[511] += (it->second) * (-1.001355e+00*b44 + 1.001355e+00*b45);
4471  out[543] += (it->second) * (1.356124e-03*b44 + -3.792016e+00*b45 + 3.790659e+00*b46);
4472  out[574] += (it->second) * (-1.350254e-06*b44 + 2.790661e+00*b45 + -3.790659e+00*b46 + 1.0);
4473  break;
4474  } case 250620001: {
4475  double b47 = exp2(-1.490313e+00*t);
4476  double b48 = exp2(-1.470588e-02*t);
4477  double b49 = exp2(-1.082251e-02*t);
4478  out[480] += (it->second) * (b47);
4479  out[511] += (it->second) * (-1.009966e+00*b47 + 1.009966e+00*b48);
4480  out[543] += (it->second) * (1.003889e-02*b47 + -3.824625e+00*b48 + 3.814586e+00*b49);
4481  out[574] += (it->second) * (-7.290146e-05*b47 + 2.814659e+00*b48 + -3.814586e+00*b49 + 1.0);
4482  break;
4483  } case 250630000: {
4484  double b50 = exp2(-3.636364e+00*t);
4485  double b51 = exp2(-1.639344e-01*t);
4486  double b52 = exp2(-3.649635e-02*t);
4487  double b53 = exp2(-3.131234e-10*t);
4488  out[481] += (it->second) * (b50);
4489  out[512] += (it->second) * (-1.047210e+00*b50 + 1.047210e+00*b51);
4490  out[545] += (it->second) * (4.768893e-02*b50 + -1.347116e+00*b51 + 1.299427e+00*b52);
4491  out[575] += (it->second) * (-4.786298e-04*b50 + 2.999053e-01*b51 + -1.299427e+00*b52 + 1.000000e+00*b53);
4492  out[607] += (it->second) * (-1.000000e+00*b53 + 1.0);
4493  break;
4494  } case 250640000: {
4495  double b54 = exp2(-1.111111e+01*t);
4496  double b55 = exp2(-1.639344e-01*t);
4497  double b56 = exp2(-3.649635e-02*t);
4498  double b57 = exp2(-3.131234e-10*t);
4499  double b58 = exp2(-5.000000e-01*t);
4500  double b59 = exp2(-3.333333e+00*t);
4501  out[482] += (it->second) * (b54);
4502  out[512] += (it->second) * (-3.349418e-01*b54 + 3.349418e-01*b55);
4503  out[545] += (it->second) * (4.958049e-03*b54 + -4.308641e-01*b55 + 4.259060e-01*b56);
4504  out[575] += (it->second) * (-1.628556e-05*b54 + 9.592229e-02*b55 + -4.259060e-01*b56 + 3.300000e-01*b57);
4505  out[607] += (it->second) * (-3.300000e-01*b57 + 3.300000e-01);
4506  out[513] += (it->second) * (-1.047120e+00*b54 + 1.047120e+00*b58);
4507  out[546] += (it->second) * (6.731488e-02*b54 + 1.847860e-01*b58 + -2.521008e-01*b59);
4508  out[576] += (it->second) * (-2.019447e-02*b54 + -1.231906e+00*b58 + 2.521008e-01*b59 + 0.67);
4509  break;
4510  } case 250640002: {
4511  double b60 = exp2(-2.000000e+03*t);
4512  double b61 = exp2(-1.111111e+01*t);
4513  double b62 = exp2(-1.639344e-01*t);
4514  double b63 = exp2(-3.649635e-02*t);
4515  double b64 = exp2(-3.131234e-10*t);
4516  double b65 = exp2(-5.000000e-01*t);
4517  double b66 = exp2(-3.333333e+00*t);
4518  out[483] += (it->second) * (b60);
4519  out[482] += (it->second) * (-1.005587e+00*b60 + 1.005587e+00*b61);
4520  out[512] += (it->second) * (1.843727e-03*b60 + -3.368129e-01*b61 + 3.349692e-01*b62);
4521  out[545] += (it->second) * (-1.511279e-07*b60 + 4.985748e-03*b61 + -4.308994e-01*b62 + 4.259138e-01*b63);
4522  out[575] += (it->second) * (2.757808e-12*b60 + -1.637654e-05*b61 + 9.593015e-02*b62 + -4.259138e-01*b63 + 3.300000e-01*b64);
4523  out[607] += (it->second) * (-3.300000e-01*b64 + 3.300000e-01);
4524  out[513] += (it->second) * (5.587989e-03*b60 + -1.052970e+00*b61 + 1.047382e+00*b65);
4525  out[546] += (it->second) * (-1.399330e-06*b60 + 6.769094e-02*b61 + 1.848322e-01*b65 + -2.525217e-01*b66);
4526  out[576] += (it->second) * (2.332216e-09*b60 + -2.030728e-02*b61 + -1.232214e+00*b65 + 2.525217e-01*b66 + 0.67);
4527  break;
4528  } case 250650000: {
4529  double b67 = exp2(-1.086957e+01*t);
4530  double b68 = exp2(-1.234568e+00*t);
4531  double b69 = exp2(-8.620690e-01*t);
4532  double b70 = exp2(-1.103387e-04*t);
4533  out[484] += (it->second) * (b67);
4534  out[514] += (it->second) * (-1.128134e+00*b67 + 1.128134e+00*b68);
4535  out[547] += (it->second) * (1.391714e-01*b67 + -3.738957e+00*b68 + 3.599786e+00*b69);
4536  out[577] += (it->second) * (-1.103785e-02*b67 + 2.611057e+00*b68 + -3.600247e+00*b69 + 1.000228e+00*b70);
4537  out[609] += (it->second) * (1.120470e-07*b67 + -2.333616e-04*b68 + 4.608062e-04*b69 + -1.000228e+00*b70 + 1.0);
4538  break;
4539  } case 250660000: {
4540  double b71 = exp2(-1.538462e+01*t);
4541  double b72 = exp2(-2.272727e+00*t);
4542  double b73 = exp2(-5.000000e+00*t);
4543  double b74 = exp2(-5.087505e-06*t);
4544  double b75 = exp2(-3.255208e-03*t);
4545  out[485] += (it->second) * (b71);
4546  out[516] += (it->second) * (-1.173333e+00*b71 + 1.173333e+00*b72);
4547  out[548] += (it->second) * (2.567901e-01*b71 + 9.777778e-01*b72 + -1.234568e+00*b73);
4548  out[578] += (it->second) * (-8.345682e-02*b71 + -2.151116e+00*b72 + 1.234569e+00*b73 + 1.000004e+00*b74);
4549  out[610] += (it->second) * (2.760399e-08*b71 + 4.822185e-06*b72 + -1.256994e-06*b73 + 1.565334e-03*b74 + -1.568926e-03*b75);
4550  out[645] += (it->second) * (-5.840689e-12*b71 + -6.906775e-09*b72 + 8.183553e-10*b73 + -1.001569e+00*b74 + 1.568926e-03*b75 + 1.0);
4551  break;
4552  } case 250670000: {
4553  double b76 = exp2(-2.127660e+01*t);
4554  double b77 = exp2(-1.666667e+00*t);
4555  double b78 = exp2(-2.352941e+00*t);
4556  double b79 = exp2(-4.761905e-02*t);
4557  double b80 = exp2(-4.492605e-06*t);
4558  out[486] += (it->second) * (b76);
4559  out[517] += (it->second) * (-1.084991e+00*b76 + 1.084991e+00*b77);
4560  out[549] += (it->second) * (9.555862e-02*b76 + 2.634978e+00*b77 + -2.730537e+00*b78);
4561  out[579] += (it->second) * (-1.059136e-02*b76 + -3.829380e+00*b77 + 2.786939e+00*b78 + 1.053032e+00*b79);
4562  out[611] += (it->second) * (2.370448e-05*b76 + 1.094111e-01*b77 + -5.640244e-02*b78 + -1.053132e+00*b79 + 1.000099e+00*b80);
4563  out[646] += (it->second) * (-5.005260e-12*b76 + -2.949247e-07*b77 + 1.076924e-07*b78 + 9.935739e-05*b79 + -1.000099e+00*b80 + 1.0);
4564  break;
4565  } case 250680000: {
4566  double b81 = exp2(-3.571429e+01*t);
4567  double b82 = exp2(-5.319149e+00*t);
4568  double b83 = exp2(-5.000000e+00*t);
4569  double b84 = exp2(-3.448276e-02*t);
4570  double b85 = exp2(-3.236246e-02*t);
4571  out[487] += (it->second) * (b81);
4572  out[519] += (it->second) * (-1.175000e+00*b81 + 1.175000e+00*b82);
4573  out[550] += (it->second) * (2.034884e-01*b81 + -1.958333e+01*b82 + 1.937984e+01*b83);
4574  out[580] += (it->second) * (-2.851590e-02*b81 + 1.852845e+01*b82 + -1.951443e+01*b83 + 1.014494e+00*b84);
4575  out[613] += (it->second) * (2.755757e-05*b81 + -1.208507e-01*b82 + 1.354590e-01*b83 + -1.649888e+01*b84 + 1.648425e+01*b85);
4576  out[647] += (it->second) * (-2.497126e-08*b81 + 7.352731e-04*b82 + -8.767574e-04*b83 + 1.548439e+01*b84 + -1.648425e+01*b85 + 1.0);
4577  break;
4578  } case 250690000: {
4579  double b86 = exp2(-6.250000e+01*t);
4580  double b87 = exp2(-9.090909e+00*t);
4581  double b88 = exp2(-4.405286e+00*t);
4582  double b89 = exp2(-8.771930e-02*t);
4583  double b90 = exp2(-5.847953e-03*t);
4584  double b91 = exp2(-2.955083e-04*t);
4585  out[488] += (it->second) * (b86);
4586  out[520] += (it->second) * (-1.170213e+00*b86 + 1.170213e+00*b87);
4587  out[551] += (it->second) * (1.831199e-01*b86 + -2.270413e+00*b87 + 2.087293e+00*b88);
4588  out[581] += (it->second) * (-1.292527e-02*b86 + 1.110919e+00*b87 + -2.129700e+00*b88 + 1.031706e+00*b89);
4589  out[614] += (it->second) * (1.814243e-05*b86 + -1.072630e-02*b87 + 4.246356e-02*b88 + -1.105399e+00*b89 + 1.073644e+00*b90);
4590  out[648] += (it->second) * (-1.697545e-09*b86 + 6.900182e-06*b87 + -5.637353e-05*b88 + 7.394238e-02*b89 + -1.130785e+00*b90 + 1.056892e+00*b91);
4591  out[680] += (it->second) * (8.026218e-15*b86 + -2.242967e-10*b87 + 3.781558e-09*b88 + -2.490967e-04*b89 + 5.714071e-02*b90 + -1.056892e+00*b91 + 1.0);
4592  break;
4593  } case 250700000: {
4594  double b92 = exp2(-2.777778e+06*t);
4595  out[489] += (it->second) * (b92);
4596  break;
4597  } case 250710000: {
4598  double b93 = exp2(-1.569859e+06*t);
4599  out[490] += (it->second) * (b93);
4600  break;
4601  } case 250720000: {
4602  double b94 = exp2(-1.612903e+06*t);
4603  out[491] += (it->second) * (b94);
4604  break;
4605  } default: {
4606  outcomp.insert(*it);
4607  break;
4608  }
4609  }
4610 }
4611 
4612 void decay_fe(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
4613  //using std::exp2;
4614  switch (nucname::id_to_state_id(it->first)) {
4615  case 260450000: {
4616  double b0 = exp2(-5.291005e+02*t);
4617  double b1 = exp2(-4.629630e+01*t);
4618  double b2 = exp2(-1.677008e+00*t);
4619  double b3 = exp2(-3.106675e-13*t);
4620  double b4 = exp2(-5.025126e+00*t);
4621  double b5 = exp2(-1.467782e+00*t);
4622  double b6 = exp2(-1.250000e+00*t);
4623  double b7 = exp2(-1.964637e+00*t);
4624  double b8 = exp2(-7.138982e-05*t);
4625  out[492] += (it->second) * (b0);
4626  out[431] += (it->second) * (-6.246575e-01*b0 + 6.246575e-01*b1);
4627  out[346] += (it->second) * (3.289879e-03*b0 + -3.888811e-02*b1 + 3.559823e-02*b2);
4628  out[326] += (it->second) * (-1.042742e-05*b0 + 1.408659e-03*b1 + -3.559823e-02*b2 + 3.420000e-02*b3);
4629  out[303] += (it->second) * (-3.420000e-02*b3 + 3.420000e-02);
4630  out[377] += (it->second) * (1.269177e-02*b0 + -1.611645e-01*b1 + 1.484727e-01*b4);
4631  out[347] += (it->second) * (-1.208753e-04*b0 + 1.806599e-02*b1 + -2.097334e-01*b4 + 1.917883e-01*b5);
4632  out[327] += (it->second) * (3.353211e-07*b0 + -5.727660e-04*b1 + 6.126076e-02*b4 + -1.917883e-01*b5 + 1.311000e-01);
4633  out[401] += (it->second) * (5.478697e-02*b0 + -6.419913e-01*b1 + 5.872043e-01*b6);
4634  out[378] += (it->second) * (-1.299166e-04*b0 + 1.810194e-02*b1 + 1.027103e+00*b6 + -1.045075e+00*b7);
4635  out[349] += (it->second) * (4.824016e-07*b0 + -7.681779e-04*b1 + -1.614400e+00*b6 + 1.045113e+00*b7 + 5.700542e-01*b8);
4636  out[328] += (it->second) * (-6.508889e-14*b0 + 1.184546e-09*b1 + 9.220136e-05*b6 + -3.797671e-05*b7 + -5.700542e-01*b8 + 5.700000e-01);
4637  break;
4638  } case 260460000: {
4639  double b9 = exp2(-7.692308e+01*t);
4640  double b10 = exp2(-1.642036e+01*t);
4641  double b11 = exp2(-5.361775e-10*t);
4642  double b12 = exp2(-6.996921e-05*t);
4643  double b13 = exp2(-1.828154e+00*t);
4644  double b14 = exp2(-9.018759e-05*t);
4645  double b15 = exp2(-2.762431e+01*t);
4646  double b16 = exp2(-3.846154e+00*t);
4647  double b17 = exp2(-2.366864e+00*t);
4648  out[493] += (it->second) * (b9);
4649  out[433] += (it->second) * (-1.000591e+00*b9 + 1.000591e+00*b10);
4650  out[379] += (it->second) * (2.135908e-01*b9 + -1.000591e+00*b10 + 7.870000e-01*b11);
4651  out[351] += (it->second) * (6.030865e-06*b11 + -6.030896e-06*b12);
4652  out[329] += (it->second) * (-7.870060e-01*b11 + 6.030896e-06*b12 + 7.870000e-01);
4653  out[404] += (it->second) * (2.187906e-01*b9 + -1.125948e+00*b10 + 9.071571e-01*b13);
4654  out[380] += (it->second) * (-5.199782e-03*b9 + 1.253576e-01*b10 + -9.072019e-01*b13 + 7.870441e-01*b14);
4655  out[353] += (it->second) * (6.096426e-09*b9 + -6.885170e-07*b10 + 4.475464e-05*b13 + -7.870441e-01*b14 + 2.130000e-01);
4656  out[459] += (it->second) * (-1.560345e+00*b9 + 1.560345e+00*b15);
4657  out[404] += (it->second) * (3.271721e-01*b9 + -9.524274e-01*b15 + 6.252553e-01*b13);
4658  out[380] += (it->second) * (-7.775581e-03*b9 + 6.303105e-02*b15 + -6.252861e-01*b13 + 5.700307e-01*b14);
4659  out[353] += (it->second) * (9.116391e-09*b9 + -2.057832e-07*b15 + 3.084700e-05*b13 + -5.700307e-01*b14 + 0);
4660  out[434] += (it->second) * (5.898367e-01*b9 + -1.812733e+00*b15 + 1.222896e+00*b16);
4661  out[405] += (it->second) * (-3.042808e-02*b9 + 2.760394e-01*b15 + -3.179531e+00*b16 + 2.933919e+00*b17);
4662  out[381] += (it->second) * (9.362487e-04*b9 + -2.365119e-02*b15 + 1.956634e+00*b16 + -2.933919e+00*b17 + 0.0);
4663  break;
4664  } case 260470000: {
4665  double b18 = exp2(-4.587156e+01*t);
4666  double b19 = exp2(-1.000000e+01*t);
4667  double b20 = exp2(-2.000000e+00*t);
4668  double b21 = exp2(-5.112474e-04*t);
4669  double b22 = exp2(-3.846154e+00*t);
4670  double b23 = exp2(-2.366864e+00*t);
4671  out[494] += (it->second) * (b18);
4672  out[460] += (it->second) * (-1.278772e+00*b18 + 1.278772e+00*b19);
4673  out[435] += (it->second) * (2.914809e-01*b18 + -1.598465e+00*b19 + 1.306985e+00*b20);
4674  out[407] += (it->second) * (-1.270871e-02*b18 + 3.197094e-01*b19 + -1.307319e+00*b20 + 1.000318e+00*b21);
4675  out[382] += (it->second) * (1.416411e-07*b18 + -1.634506e-05*b19 + 3.341817e-04*b20 + -1.000318e+00*b21 + 1.0);
4676  out[434] += (it->second) * (-9.649034e-01*b18 + 9.649034e-01*b22);
4677  out[405] += (it->second) * (8.530498e-02*b18 + -2.508749e+00*b22 + 2.423444e+00*b23);
4678  out[381] += (it->second) * (-4.401535e-03*b18 + 1.543846e+00*b22 + -2.423444e+00*b23 + 0);
4679  break;
4680  } case 260480000: {
4681  double b24 = exp2(-2.272727e+01*t);
4682  double b25 = exp2(-6.325111e+00*t);
4683  double b26 = exp2(-5.112474e-04*t);
4684  double b27 = exp2(-1.288394e-05*t);
4685  double b28 = exp2(-7.245797e-07*t);
4686  out[495] += (it->second) * (b24);
4687  out[461] += (it->second) * (-1.385627e+00*b24 + 1.385627e+00*b25);
4688  out[407] += (it->second) * (1.079779e-01*b24 + -3.880068e-01*b25 + 2.800289e-01*b26);
4689  out[382] += (it->second) * (-2.428950e-06*b24 + 3.136190e-05*b25 + -2.800289e-01*b26 + 2.800000e-01);
4690  out[436] += (it->second) * (3.856269e-01*b24 + -1.385629e+00*b25 + 1.000003e+00*b27);
4691  out[408] += (it->second) * (-2.186093e-07*b24 + 2.822460e-06*b25 + -1.059593e+00*b27 + 1.059590e+00*b28);
4692  out[383] += (it->second) * (6.969595e-15*b24 + -3.233299e-13*b25 + 5.959043e-02*b27 + -1.059590e+00*b28 + 0.72);
4693  break;
4694  } case 260490000: {
4695  double b29 = exp2(-1.545595e+01*t);
4696  double b30 = exp2(-1.288394e-05*t);
4697  double b31 = exp2(-7.245797e-07*t);
4698  double b32 = exp2(-2.617801e+00*t);
4699  double b33 = exp2(-3.940110e-04*t);
4700  double b34 = exp2(-3.507295e-08*t);
4701  out[496] += (it->second) * (b29);
4702  out[436] += (it->second) * (-4.200004e-01*b29 + 4.200004e-01*b30);
4703  out[408] += (it->second) * (3.501085e-07*b29 + -4.450283e-01*b30 + 4.450279e-01*b31);
4704  out[383] += (it->second) * (-1.641320e-14*b29 + 2.502794e-02*b30 + -4.450279e-01*b31 + 4.200000e-01);
4705  out[462] += (it->second) * (-1.203908e+00*b29 + 1.203908e+00*b32);
4706  out[437] += (it->second) * (2.039132e-01*b29 + -1.204089e+00*b32 + 1.000176e+00*b33);
4707  out[409] += (it->second) * (1.812301e-04*b32 + -1.000265e+00*b33 + 1.000089e+00*b34);
4708  out[384] += (it->second) * (-2.428097e-12*b32 + 8.903875e-05*b33 + -1.000089e+00*b34 + 0.58);
4709  break;
4710  } case 260500000: {
4711  double b35 = exp2(-6.451613e+00*t);
4712  double b36 = exp2(-3.531198e+00*t);
4713  double b37 = exp2(-2.437545e-26*t);
4714  out[497] += (it->second) * (b35);
4715  out[463] += (it->second) * (-2.209143e+00*b35 + 2.209143e+00*b36);
4716  out[438] += (it->second) * (1.209143e+00*b35 + -2.209143e+00*b36 + b37);
4717  break;
4718  } case 260510000: {
4719  double b38 = exp2(-3.278689e+00*t);
4720  double b39 = exp2(-3.607504e-04*t);
4721  double b40 = exp2(-4.178215e-07*t);
4722  out[498] += (it->second) * (b38);
4723  out[465] += (it->second) * (-1.000110e+00*b38 + 1.000110e+00*b39);
4724  out[439] += (it->second) * (1.100410e-04*b38 + -1.001270e+00*b39 + 1.001160e+00*b40);
4725  out[411] += (it->second) * (-1.402313e-11*b38 + 1.159672e-03*b39 + -1.001160e+00*b40 + 1.0);
4726  break;
4727  } case 260520000: {
4728  double b41 = exp2(-3.356831e-05*t);
4729  double b42 = exp2(-2.070126e-06*t);
4730  out[499] += (it->second) * (b41);
4731  out[466] += (it->second) * (-1.065722e+00*b41 + 1.065722e+00*b42);
4732  out[440] += (it->second) * (6.572207e-02*b41 + -1.065722e+00*b42 + 1.0);
4733  break;
4734  } case 260520041: {
4735  double b43 = exp2(-2.178649e-02*t);
4736  double b44 = exp2(-2.070126e-06*t);
4737  out[500] += (it->second) * (b43);
4738  out[466] += (it->second) * (-1.000095e+00*b43 + 1.000095e+00*b44);
4739  out[440] += (it->second) * (9.502781e-05*b43 + -1.000095e+00*b44 + 1.0);
4740  break;
4741  } case 260530000: {
4742  double b45 = exp2(-1.958480e-03*t);
4743  double b46 = exp2(-8.472751e-15*t);
4744  out[501] += (it->second) * (b45);
4745  out[468] += (it->second) * (-1.000000e+00*b45 + 1.000000e+00*b46);
4746  out[441] += (it->second) * (-1.000000e+00*b46 + 1.0);
4747  break;
4748  } case 260530022: {
4749  double b47 = exp2(-6.561680e-03*t);
4750  double b48 = exp2(-1.958480e-03*t);
4751  double b49 = exp2(-8.472751e-15*t);
4752  out[502] += (it->second) * (b47);
4753  out[501] += (it->second) * (-1.425461e+00*b47 + 1.425461e+00*b48);
4754  out[468] += (it->second) * (4.254606e-01*b47 + -1.425461e+00*b48 + 1.000000e+00*b49);
4755  out[441] += (it->second) * (-1.000000e+00*b49 + 1.0);
4756  break;
4757  } case 260540000: {
4758  out[503] += it->second;
4759  break;
4760  } case 260550000: {
4761  double b50 = exp2(-1.154814e-08*t);
4762  out[504] += (it->second) * (b50);
4763  out[470] += (it->second) * (-1.000000e+00*b50 + 1.0);
4764  break;
4765  } case 260560000: {
4766  out[505] += it->second;
4767  break;
4768  } case 260570000: {
4769  out[506] += it->second;
4770  break;
4771  } case 260580000: {
4772  out[507] += it->second;
4773  break;
4774  } case 260590000: {
4775  double b51 = exp2(-2.601208e-07*t);
4776  out[508] += (it->second) * (b51);
4777  out[539] += (it->second) * (-1.000000e+00*b51 + 1.0);
4778  break;
4779  } case 260600000: {
4780  double b52 = exp2(-1.209469e-14*t);
4781  double b53 = exp2(-6.011632e-09*t);
4782  out[509] += (it->second) * (b52);
4783  out[540] += (it->second) * (2.011885e-06*b52 + -2.011885e-06*b53);
4784  out[572] += (it->second) * (-1.000002e+00*b52 + 2.011885e-06*b53 + 1.0);
4785  break;
4786  } case 260610000: {
4787  double b54 = exp2(-2.787068e-03*t);
4788  double b55 = exp2(-1.683502e-04*t);
4789  out[510] += (it->second) * (b54);
4790  out[542] += (it->second) * (-1.064287e+00*b54 + 1.064287e+00*b55);
4791  out[573] += (it->second) * (6.428725e-02*b54 + -1.064287e+00*b55 + 1.0);
4792  break;
4793  } case 260620000: {
4794  double b56 = exp2(-1.470588e-02*t);
4795  double b57 = exp2(-1.082251e-02*t);
4796  out[511] += (it->second) * (b56);
4797  out[543] += (it->second) * (-3.786885e+00*b56 + 3.786885e+00*b57);
4798  out[574] += (it->second) * (2.786885e+00*b56 + -3.786885e+00*b57 + 1.0);
4799  break;
4800  } case 260630000: {
4801  double b58 = exp2(-1.639344e-01*t);
4802  double b59 = exp2(-3.649635e-02*t);
4803  double b60 = exp2(-3.131234e-10*t);
4804  out[512] += (it->second) * (b58);
4805  out[545] += (it->second) * (-1.286385e+00*b58 + 1.286385e+00*b59);
4806  out[575] += (it->second) * (2.863850e-01*b58 + -1.286385e+00*b59 + 1.000000e+00*b60);
4807  out[607] += (it->second) * (-1.000000e+00*b60 + 1.0);
4808  break;
4809  } case 260640000: {
4810  double b61 = exp2(-5.000000e-01*t);
4811  double b62 = exp2(-3.333333e+00*t);
4812  out[513] += (it->second) * (b61);
4813  out[546] += (it->second) * (1.764706e-01*b61 + -1.764706e-01*b62);
4814  out[576] += (it->second) * (-1.176471e+00*b61 + 1.764706e-01*b62 + 1.0);
4815  break;
4816  } case 260650000: {
4817  double b63 = exp2(-1.234568e+00*t);
4818  double b64 = exp2(-8.620690e-01*t);
4819  double b65 = exp2(-1.103387e-04*t);
4820  out[514] += (it->second) * (b63);
4821  out[547] += (it->second) * (-3.314286e+00*b63 + 3.314286e+00*b64);
4822  out[577] += (it->second) * (2.314493e+00*b63 + -3.314710e+00*b64 + 1.000217e+00*b65);
4823  out[609] += (it->second) * (-2.068563e-04*b63 + 4.242595e-04*b64 + -1.000217e+00*b65 + 1.0);
4824  break;
4825  } case 260650003: {
4826  double b66 = exp2(-8.928571e-01*t);
4827  double b67 = exp2(-8.620690e-01*t);
4828  double b68 = exp2(-1.103387e-04*t);
4829  out[515] += (it->second) * (b66);
4830  out[547] += (it->second) * (-2.900000e+01*b66 + 2.900000e+01*b67);
4831  out[577] += (it->second) * (2.800346e+01*b66 + -2.900371e+01*b67 + 1.000252e+00*b68);
4832  out[609] += (it->second) * (-3.460651e-03*b66 + 3.712270e-03*b67 + -1.000252e+00*b68 + 1.0);
4833  break;
4834  } case 260660000: {
4835  double b69 = exp2(-2.272727e+00*t);
4836  double b70 = exp2(-5.000000e+00*t);
4837  double b71 = exp2(-5.087505e-06*t);
4838  double b72 = exp2(-3.255208e-03*t);
4839  out[516] += (it->second) * (b69);
4840  out[548] += (it->second) * (8.333333e-01*b69 + -8.333333e-01*b70);
4841  out[578] += (it->second) * (-1.833337e+00*b69 + 8.333342e-01*b70 + 1.000003e+00*b71);
4842  out[610] += (it->second) * (4.109816e-06*b69 + -8.484708e-07*b70 + 1.565333e-03*b71 + -1.568594e-03*b72);
4843  out[645] += (it->second) * (-5.886456e-09*b69 + 5.523898e-10*b70 + -1.001569e+00*b71 + 1.568594e-03*b72 + 1.0);
4844  break;
4845  } case 260670000: {
4846  double b73 = exp2(-1.666667e+00*t);
4847  double b74 = exp2(-2.352941e+00*t);
4848  double b75 = exp2(-4.761905e-02*t);
4849  double b76 = exp2(-4.492605e-06*t);
4850  out[517] += (it->second) * (b73);
4851  out[549] += (it->second) * (2.428571e+00*b73 + -2.428571e+00*b74);
4852  out[579] += (it->second) * (-3.529412e+00*b73 + 2.478736e+00*b74 + 1.050675e+00*b75);
4853  out[611] += (it->second) * (1.008406e-01*b73 + -5.016500e-02*b74 + -1.050775e+00*b75 + 1.000099e+00*b76);
4854  out[646] += (it->second) * (-2.718222e-07*b73 + 9.578290e-08*b74 + 9.913502e-05*b75 + -1.000099e+00*b76 + 1.0);
4855  break;
4856  } case 260670002: {
4857  double b77 = exp2(-1.333333e+04*t);
4858  double b78 = exp2(-1.666667e+00*t);
4859  double b79 = exp2(-2.352941e+00*t);
4860  double b80 = exp2(-4.761905e-02*t);
4861  double b81 = exp2(-4.492605e-06*t);
4862  out[518] += (it->second) * (b77);
4863  out[517] += (it->second) * (-1.000125e+00*b77 + 1.000125e+00*b78);
4864  out[549] += (it->second) * (1.250377e-04*b77 + 2.428875e+00*b78 + -2.429000e+00*b79);
4865  out[579] += (it->second) * (-2.206555e-08*b77 + -3.529853e+00*b78 + 2.479174e+00*b79 + 1.050679e+00*b80);
4866  out[611] += (it->second) * (1.008532e-01*b78 + -5.017385e-02*b79 + -1.050778e+00*b80 + 1.000099e+00*b81);
4867  out[646] += (it->second) * (-2.718562e-07*b78 + 9.579981e-08*b79 + 9.913537e-05*b80 + -1.000099e+00*b81 + 1.0);
4868  break;
4869  } case 260680000: {
4870  double b82 = exp2(-5.319149e+00*t);
4871  double b83 = exp2(-5.000000e+00*t);
4872  double b84 = exp2(-3.448276e-02*t);
4873  double b85 = exp2(-3.236246e-02*t);
4874  out[519] += (it->second) * (b82);
4875  out[550] += (it->second) * (-1.666667e+01*b82 + 1.666667e+01*b83);
4876  out[580] += (it->second) * (1.576889e+01*b82 + -1.678241e+01*b83 + 1.013515e+00*b84);
4877  out[613] += (it->second) * (-1.028517e-01*b82 + 1.164948e-01*b83 + -1.648295e+01*b84 + 1.646931e+01*b85);
4878  out[647] += (it->second) * (6.257643e-04*b82 + -7.540113e-04*b83 + 1.546944e+01*b84 + -1.646931e+01*b85 + 1.0);
4879  break;
4880  } case 260690000: {
4881  double b86 = exp2(-9.090909e+00*t);
4882  double b87 = exp2(-4.405286e+00*t);
4883  double b88 = exp2(-8.771930e-02*t);
4884  double b89 = exp2(-5.847953e-03*t);
4885  double b90 = exp2(-2.955083e-04*t);
4886  out[520] += (it->second) * (b86);
4887  out[551] += (it->second) * (-1.940171e+00*b86 + 1.940171e+00*b87);
4888  out[581] += (it->second) * (9.493312e-01*b86 + -1.979589e+00*b87 + 1.030258e+00*b88);
4889  out[614] += (it->second) * (-9.166109e-03*b86 + 3.947053e-02*b87 + -1.103848e+00*b88 + 1.073543e+00*b89);
4890  out[648] += (it->second) * (5.896519e-06*b86 + -5.240007e-05*b87 + 7.383860e-02*b88 + -1.130679e+00*b89 + 1.056887e+00*b90);
4891  out[680] += (it->second) * (-1.916717e-10*b86 + 3.515016e-09*b87 + -2.487471e-04*b88 + 5.713536e-02*b89 + -1.056887e+00*b90 + 1.0);
4892  break;
4893  } case 260700000: {
4894  double b91 = exp2(-1.063830e+01*t);
4895  double b92 = exp2(-8.403361e+00*t);
4896  double b93 = exp2(-1.666667e-01*t);
4897  double b94 = exp2(-2.247191e-02*t);
4898  double b95 = exp2(-2.437545e-24*t);
4899  out[521] += (it->second) * (b91);
4900  out[552] += (it->second) * (-4.760000e+00*b91 + 4.760000e+00*b92);
4901  out[584] += (it->second) * (3.819844e+00*b91 + -4.856317e+00*b92 + 1.036473e+00*b93);
4902  out[615] += (it->second) * (-5.997091e-02*b91 + 9.657521e-02*b92 + -1.198001e+00*b93 + 1.161397e+00*b94);
4903  out[650] += (it->second) * (1.266801e-04*b91 + -2.582573e-04*b92 + 1.615282e-01*b93 + -1.161397e+00*b94 + b95);
4904  break;
4905  } case 260710000: {
4906  double b96 = exp2(-3.571429e+01*t);
4907  double b97 = exp2(-1.250000e+01*t);
4908  double b98 = exp2(-3.906250e-01*t);
4909  double b99 = exp2(-5.154639e-02*t);
4910  double b100 = exp2(-6.802721e-03*t);
4911  out[522] += (it->second) * (b96);
4912  out[553] += (it->second) * (-1.538462e+00*b96 + 1.538462e+00*b97);
4913  out[585] += (it->second) * (5.444161e-01*b96 + -1.588089e+00*b97 + 1.043673e+00*b98);
4914  out[618] += (it->second) * (-5.963158e-03*b96 + 4.983329e-02*b97 + -1.202331e+00*b98 + 1.158461e+00*b99);
4915  out[651] += (it->second) * (8.608259e-06*b96 + -2.056100e-04*b97 + 1.614702e-01*b98 + -1.334591e+00*b99 + 1.173318e+00*b100);
4916  out[682] += (it->second) * (-1.639668e-09*b96 + 1.118966e-07*b97 + -2.811997e-03*b98 + 1.761297e-01*b99 + -1.173318e+00*b100 + 1.0);
4917  break;
4918  } case 260720000: {
4919  double b101 = exp2(-6.666667e+06*t);
4920  double b102 = exp2(-1.250000e+01*t);
4921  double b103 = exp2(-3.906250e-01*t);
4922  double b104 = exp2(-5.154639e-02*t);
4923  double b105 = exp2(-6.802721e-03*t);
4924  double b106 = exp2(-1.669449e+01*t);
4925  double b107 = exp2(-6.369427e-01*t);
4926  double b108 = exp2(-1.508296e-01*t);
4927  double b109 = exp2(-5.973716e-06*t);
4928  double b110 = exp2(-1.970055e-05*t);
4929  out[523] += (it->second) * (b101);
4930  out[553] += (it->second) * (-2.760005e-01*b101 + 2.760005e-01*b102);
4931  out[585] += (it->second) * (5.175010e-07*b101 + -2.849038e-01*b102 + 2.849032e-01*b103);
4932  out[618] += (it->second) * (8.940109e-03*b102 + -3.282139e-01*b103 + 3.192738e-01*b104);
4933  out[651] += (it->second) * (-3.688650e-05*b102 + 4.407833e-02*b103 + -3.678155e-01*b104 + 3.237740e-01*b105);
4934  out[682] += (it->second) * (2.007429e-08*b102 + -7.676226e-04*b103 + 4.854163e-02*b104 + -3.237740e-01*b105 + 2.760000e-01);
4935  out[554] += (it->second) * (-1.000003e+00*b101 + 1.000003e+00*b106);
4936  out[587] += (it->second) * (2.504180e-06*b101 + -1.039669e+00*b106 + 1.039666e+00*b107);
4937  out[619] += (it->second) * (-2.392529e-13*b101 + 4.002799e-02*b106 + -1.362251e+00*b107 + 1.322223e+00*b108);
4938  out[653] += (it->second) * (-3.616406e-04*b106 + 3.225872e-01*b107 + -1.322275e+00*b108 + 1.000049e+00*b109);
4939  out[683] += (it->second) * (1.294044e-10*b106 + -3.025553e-06*b107 + 5.237651e-05*b108 + 4.352067e-01*b109 + -4.352560e-01*b110);
4940  out[716] += (it->second) * (-1.527054e-16*b106 + 9.357996e-11*b107 + -6.841140e-09*b108 + -1.435256e+00*b109 + 4.352560e-01*b110 + 0.724);
4941  out[585] += (it->second) * (2.003344e-07*b101 + -8.191693e-02*b106 + 8.191673e-02*b103);
4942  out[618] += (it->second) * (1.922665e-03*b106 + -9.436963e-02*b103 + 9.244696e-02*b104);
4943  out[651] += (it->second) * (-5.938895e-06*b106 + 1.267361e-02*b103 + -1.065024e-01*b104 + 9.383471e-02*b105);
4944  out[682] += (it->second) * (2.419999e-09*b106 + -2.207105e-04*b103 + 1.405542e-02*b104 + -9.383471e-02*b105 + 0);
4945  break;
4946  } case 260730000: {
4947  double b111 = exp2(-1.579779e+06*t);
4948  out[524] += (it->second) * (b111);
4949  break;
4950  } case 260740000: {
4951  double b112 = exp2(-1.567398e+06*t);
4952  out[525] += (it->second) * (b112);
4953  break;
4954  } case 260750000: {
4955  double b113 = exp2(-1.612903e+06*t);
4956  out[526] += (it->second) * (b113);
4957  break;
4958  } default: {
4959  outcomp.insert(*it);
4960  break;
4961  }
4962  }
4963 }
4964 
4965 void decay_co(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
4966  //using std::exp2;
4967  switch (nucname::id_to_state_id(it->first)) {
4968  case 270500000: {
4969  double b0 = exp2(-2.577320e+01*t);
4970  double b1 = exp2(-2.617801e+00*t);
4971  double b2 = exp2(-3.940110e-04*t);
4972  double b3 = exp2(-3.507295e-08*t);
4973  double b4 = exp2(-6.451613e+00*t);
4974  double b5 = exp2(-3.531198e+00*t);
4975  double b6 = exp2(-2.437545e-26*t);
4976  out[527] += (it->second) * (b0);
4977  out[462] += (it->second) * (-7.847028e-01*b0 + 7.847028e-01*b1);
4978  out[437] += (it->second) * (7.970402e-02*b0 + -7.848209e-01*b1 + 7.051169e-01*b2);
4979  out[409] += (it->second) * (1.181251e-04*b1 + -7.051797e-01*b2 + 7.050628e-01*b3);
4980  out[384] += (it->second) * (-1.582625e-12*b1 + 6.277168e-05*b2 + -7.050628e-01*b3 + 7.050000e-01);
4981  out[497] += (it->second) * (-1.333907e+00*b0 + 1.333907e+00*b4);
4982  out[463] += (it->second) * (3.869190e-01*b0 + -2.946791e+00*b4 + 2.559872e+00*b5);
4983  out[438] += (it->second) * (-5.301196e-02*b0 + 1.612884e+00*b4 + -2.559872e+00*b5 + b6);
4984  break;
4985  } case 270510000: {
4986  double b7 = exp2(-5.000000e+06*t);
4987  out[528] += (it->second) * (b7);
4988  break;
4989  } case 270520000: {
4990  double b8 = exp2(-8.695652e+00*t);
4991  double b9 = exp2(-3.356831e-05*t);
4992  double b10 = exp2(-2.070126e-06*t);
4993  out[529] += (it->second) * (b8);
4994  out[499] += (it->second) * (-1.000004e+00*b8 + 1.000004e+00*b9);
4995  out[466] += (it->second) * (3.860372e-06*b8 + -1.065726e+00*b9 + 1.065722e+00*b10);
4996  out[440] += (it->second) * (-9.190174e-13*b8 + 6.572232e-02*b9 + -1.065722e+00*b10 + 1.0);
4997  break;
4998  } case 270530000: {
4999  double b11 = exp2(-4.166667e+00*t);
5000  double b12 = exp2(-1.958480e-03*t);
5001  double b13 = exp2(-8.472751e-15*t);
5002  out[530] += (it->second) * (b11);
5003  out[501] += (it->second) * (-1.000470e+00*b11 + 1.000470e+00*b12);
5004  out[468] += (it->second) * (4.702563e-04*b11 + -1.000470e+00*b12 + 1.000000e+00*b13);
5005  out[441] += (it->second) * (-1.000000e+00*b13 + 1.0);
5006  break;
5007  } case 270540000: {
5008  double b14 = exp2(-5.173841e+00*t);
5009  out[531] += (it->second) * (b14);
5010  out[503] += (it->second) * (-1.000000e+00*b14 + 1.0);
5011  break;
5012  } case 270540001: {
5013  double b15 = exp2(-1.126126e-02*t);
5014  out[532] += (it->second) * (b15);
5015  out[503] += (it->second) * (-1.000000e+00*b15 + 1.0);
5016  break;
5017  } case 270550000: {
5018  double b16 = exp2(-1.584585e-05*t);
5019  double b17 = exp2(-1.154814e-08*t);
5020  out[533] += (it->second) * (b16);
5021  out[504] += (it->second) * (-1.000729e+00*b16 + 1.000729e+00*b17);
5022  out[470] += (it->second) * (7.293113e-04*b16 + -1.000729e+00*b17 + 1.0);
5023  break;
5024  } case 270560000: {
5025  double b18 = exp2(-1.498534e-07*t);
5026  out[534] += (it->second) * (b18);
5027  out[505] += (it->second) * (-1.000000e+00*b18 + 1.0);
5028  break;
5029  } case 270570000: {
5030  double b19 = exp2(-4.259246e-08*t);
5031  out[535] += (it->second) * (b19);
5032  out[506] += (it->second) * (-1.000000e+00*b19 + 1.0);
5033  break;
5034  } case 270580000: {
5035  double b20 = exp2(-1.633372e-07*t);
5036  out[536] += (it->second) * (b20);
5037  out[507] += (it->second) * (-1.000000e+00*b20 + 1.0);
5038  break;
5039  } case 270580001: {
5040  double b21 = exp2(-3.052503e-05*t);
5041  double b22 = exp2(-1.633372e-07*t);
5042  out[537] += (it->second) * (b21);
5043  out[536] += (it->second) * (-1.005380e+00*b21 + 1.005380e+00*b22);
5044  out[507] += (it->second) * (5.379713e-03*b21 + -1.005380e+00*b22 + 1.0);
5045  break;
5046  } case 270580002: {
5047  double b23 = exp2(-9.523810e+04*t);
5048  double b24 = exp2(-1.633372e-07*t);
5049  out[538] += (it->second) * (b23);
5050  out[536] += (it->second) * (-1.000000e+00*b23 + 1.000000e+00*b24);
5051  out[507] += (it->second) * (-1.000000e+00*b24 + 1.0);
5052  break;
5053  } case 270590000: {
5054  out[539] += it->second;
5055  break;
5056  } case 270600000: {
5057  double b25 = exp2(-6.011632e-09*t);
5058  out[540] += (it->second) * (b25);
5059  out[572] += (it->second) * (-1.000000e+00*b25 + 1.0);
5060  break;
5061  } case 270600001: {
5062  double b26 = exp2(-1.592306e-03*t);
5063  double b27 = exp2(-6.011632e-09*t);
5064  out[541] += (it->second) * (b26);
5065  out[540] += (it->second) * (-9.975038e-01*b26 + 9.975038e-01*b27);
5066  out[572] += (it->second) * (3.766001e-06*b26 + -9.975038e-01*b27 + 9.975000e-01);
5067  out[572] += (it->second) * (-2.500000e-03*b26 + 2.500000e-03);
5068  break;
5069  } case 270610000: {
5070  double b28 = exp2(-1.683502e-04*t);
5071  out[542] += (it->second) * (b28);
5072  out[573] += (it->second) * (-1.000000e+00*b28 + 1.0);
5073  break;
5074  } case 270620000: {
5075  double b29 = exp2(-1.082251e-02*t);
5076  out[543] += (it->second) * (b29);
5077  out[574] += (it->second) * (-1.000000e+00*b29 + 1.0);
5078  break;
5079  } case 270620001: {
5080  double b30 = exp2(-1.202501e-03*t);
5081  out[544] += (it->second) * (b30);
5082  out[574] += (it->second) * (-9.950000e-01*b30 + 9.950000e-01);
5083  break;
5084  } case 270630000: {
5085  double b31 = exp2(-3.649635e-02*t);
5086  double b32 = exp2(-3.131234e-10*t);
5087  out[545] += (it->second) * (b31);
5088  out[575] += (it->second) * (-1.000000e+00*b31 + 1.000000e+00*b32);
5089  out[607] += (it->second) * (-1.000000e+00*b32 + 1.0);
5090  break;
5091  } case 270640000: {
5092  double b33 = exp2(-3.333333e+00*t);
5093  out[546] += (it->second) * (b33);
5094  out[576] += (it->second) * (-1.000000e+00*b33 + 1.0);
5095  break;
5096  } case 270650000: {
5097  double b34 = exp2(-8.620690e-01*t);
5098  double b35 = exp2(-1.103387e-04*t);
5099  out[547] += (it->second) * (b34);
5100  out[577] += (it->second) * (-1.000128e+00*b34 + 1.000128e+00*b35);
5101  out[609] += (it->second) * (1.280093e-04*b34 + -1.000128e+00*b35 + 1.0);
5102  break;
5103  } case 270660000: {
5104  double b36 = exp2(-5.000000e+00*t);
5105  double b37 = exp2(-5.087505e-06*t);
5106  double b38 = exp2(-3.255208e-03*t);
5107  out[548] += (it->second) * (b36);
5108  out[578] += (it->second) * (-1.000001e+00*b36 + 1.000001e+00*b37);
5109  out[610] += (it->second) * (1.018165e-06*b36 + 1.565330e-03*b37 + -1.566348e-03*b38);
5110  out[645] += (it->second) * (-6.628678e-10*b36 + -1.001566e+00*b37 + 1.566348e-03*b38 + 1.0);
5111  break;
5112  } case 270670000: {
5113  double b39 = exp2(-2.352941e+00*t);
5114  double b40 = exp2(-4.761905e-02*t);
5115  double b41 = exp2(-4.492605e-06*t);
5116  out[549] += (it->second) * (b39);
5117  out[579] += (it->second) * (-1.020656e+00*b39 + 1.020656e+00*b40);
5118  out[611] += (it->second) * (2.065618e-02*b39 + -1.020752e+00*b40 + 1.000096e+00*b41);
5119  out[646] += (it->second) * (-3.944002e-08*b39 + 9.630259e-05*b40 + -1.000096e+00*b41 + 1.0);
5120  break;
5121  } case 270680000: {
5122  double b42 = exp2(-5.000000e+00*t);
5123  double b43 = exp2(-3.448276e-02*t);
5124  double b44 = exp2(-3.236246e-02*t);
5125  out[550] += (it->second) * (b42);
5126  out[580] += (it->second) * (-1.006944e+00*b42 + 1.006944e+00*b43);
5127  out[613] += (it->second) * (6.989685e-03*b42 + -1.637610e+01*b43 + 1.636911e+01*b44);
5128  out[647] += (it->second) * (-4.524068e-05*b42 + 1.536915e+01*b43 + -1.636911e+01*b44 + 1.0);
5129  break;
5130  } case 270690000: {
5131  double b45 = exp2(-4.405286e+00*t);
5132  double b46 = exp2(-8.771930e-02*t);
5133  double b47 = exp2(-5.847953e-03*t);
5134  double b48 = exp2(-2.955083e-04*t);
5135  out[551] += (it->second) * (b45);
5136  out[581] += (it->second) * (-1.020317e+00*b45 + 1.020317e+00*b46);
5137  out[614] += (it->second) * (2.034384e-02*b45 + -1.093197e+00*b46 + 1.072853e+00*b47);
5138  out[648] += (it->second) * (-2.700796e-05*b45 + 7.312612e-02*b46 + -1.129951e+00*b47 + 1.056852e+00*b48);
5139  out[680] += (it->second) * (1.811704e-09*b45 + -2.463469e-04*b46 + 5.709861e-02*b47 + -1.056852e+00*b48 + 1.0);
5140  break;
5141  } case 270700000: {
5142  double b49 = exp2(-8.403361e+00*t);
5143  double b50 = exp2(-1.666667e-01*t);
5144  double b51 = exp2(-2.247191e-02*t);
5145  double b52 = exp2(-2.437545e-24*t);
5146  out[552] += (it->second) * (b49);
5147  out[584] += (it->second) * (-1.020235e+00*b49 + 1.020235e+00*b50);
5148  out[615] += (it->second) * (2.028891e-02*b49 + -1.179232e+00*b50 + 1.158943e+00*b51);
5149  out[650] += (it->second) * (-5.425574e-05*b49 + 1.589976e-01*b50 + -1.158943e+00*b51 + b52);
5150  break;
5151  } case 270710000: {
5152  double b53 = exp2(-1.250000e+01*t);
5153  double b54 = exp2(-3.906250e-01*t);
5154  double b55 = exp2(-5.154639e-02*t);
5155  double b56 = exp2(-6.802721e-03*t);
5156  out[553] += (it->second) * (b53);
5157  out[585] += (it->second) * (-1.032258e+00*b53 + 1.032258e+00*b54);
5158  out[618] += (it->second) * (3.239164e-02*b53 + -1.189181e+00*b54 + 1.156789e+00*b55);
5159  out[651] += (it->second) * (-1.336465e-04*b53 + 1.597041e-01*b54 + -1.332665e+00*b55 + 1.173094e+00*b56);
5160  out[682] += (it->second) * (7.273279e-08*b53 + -2.781241e-03*b54 + 1.758755e-01*b55 + -1.173094e+00*b56 + 1.0);
5161  break;
5162  } case 270720000: {
5163  double b57 = exp2(-1.669449e+01*t);
5164  double b58 = exp2(-6.369427e-01*t);
5165  double b59 = exp2(-1.508296e-01*t);
5166  double b60 = exp2(-5.973716e-06*t);
5167  double b61 = exp2(-1.970055e-05*t);
5168  double b62 = exp2(-3.906250e-01*t);
5169  double b63 = exp2(-5.154639e-02*t);
5170  double b64 = exp2(-6.802721e-03*t);
5171  out[554] += (it->second) * (b57);
5172  out[587] += (it->second) * (-1.039666e+00*b57 + 1.039666e+00*b58);
5173  out[619] += (it->second) * (4.002789e-02*b57 + -1.362250e+00*b58 + 1.322223e+00*b59);
5174  out[653] += (it->second) * (-3.616397e-04*b57 + 3.225872e-01*b58 + -1.322275e+00*b59 + 1.000049e+00*b60);
5175  out[683] += (it->second) * (1.294041e-10*b57 + -3.025553e-06*b58 + 5.237651e-05*b59 + 4.352067e-01*b60 + -4.352560e-01*b61);
5176  out[716] += (it->second) * (-1.527050e-16*b57 + 9.357995e-11*b58 + -6.841140e-09*b59 + -1.435256e+00*b60 + 4.352560e-01*b61 + 1.0);
5177  out[585] += (it->second) * (-8.191672e-02*b57 + 8.191672e-02*b62);
5178  out[618] += (it->second) * (1.922660e-03*b57 + -9.436962e-02*b62 + 9.244696e-02*b63);
5179  out[651] += (it->second) * (-5.938880e-06*b57 + 1.267361e-02*b62 + -1.065024e-01*b63 + 9.383471e-02*b64);
5180  out[682] += (it->second) * (2.419993e-09*b57 + -2.207105e-04*b62 + 1.405542e-02*b63 + -9.383471e-02*b64 + 0);
5181  break;
5182  } case 270730000: {
5183  double b65 = exp2(-6.666667e+06*t);
5184  out[555] += (it->second) * (b65);
5185  break;
5186  } case 270740000: {
5187  double b66 = exp2(-3.333333e+01*t);
5188  double b67 = exp2(-1.470588e+00*t);
5189  double b68 = exp2(-6.134969e-01*t);
5190  double b69 = exp2(-1.046025e-02*t);
5191  double b70 = exp2(-2.052545e-03*t);
5192  out[556] += (it->second) * (b66);
5193  out[589] += (it->second) * (-1.046154e+00*b66 + 1.046154e+00*b67);
5194  out[621] += (it->second) * (4.701923e-02*b66 + -1.794980e+00*b67 + 1.747961e+00*b68);
5195  out[657] += (it->second) * (-8.656563e-04*b66 + 7.541904e-01*b67 + -1.778281e+00*b68 + 1.024956e+00*b69);
5196  out[685] += (it->second) * (2.716662e-07*b66 + -5.372032e-03*b67 + 3.042184e-02*b68 + -1.275175e+00*b69 + 1.250125e+00*b70);
5197  out[719] += (it->second) * (-1.672821e-11*b66 + 7.497911e-06*b67 + -1.017808e-04*b68 + 2.502190e-01*b69 + -1.250125e+00*b70 + 1.0);
5198  break;
5199  } case 270750000: {
5200  double b71 = exp2(-3.333333e+01*t);
5201  double b72 = exp2(-2.906977e+00*t);
5202  double b73 = exp2(-6.134969e-01*t);
5203  double b74 = exp2(-1.046025e-02*t);
5204  double b75 = exp2(-2.052545e-03*t);
5205  double b76 = exp2(-8.169935e-01*t);
5206  double b77 = exp2(-9.803922e-02*t);
5207  double b78 = exp2(-7.936508e-03*t);
5208  double b79 = exp2(-2.013369e-04*t);
5209  out[557] += (it->second) * (b71);
5210  out[590] += (it->second) * (-1.095541e+00*b71 + 1.095541e+00*b72);
5211  out[621] += (it->second) * (9.733280e-03*b71 + -1.388594e-01*b72 + 1.291262e-01*b73);
5212  out[657] += (it->second) * (-1.791964e-04*b71 + 2.941114e-02*b72 + -1.313660e-01*b73 + 1.021340e-01*b74);
5213  out[685] += (it->second) * (5.623663e-08*b71 + -1.059056e-04*b72 + 2.247336e-03*b73 + -1.270677e-01*b74 + 1.249262e-01*b75);
5214  out[719] += (it->second) * (-3.462847e-12*b71 + 7.477739e-08*b72 + -7.518798e-06*b73 + 2.493364e-02*b74 + -1.249262e-01*b75 + 1.000000e-01);
5215  out[622] += (it->second) * (9.794194e-02*b71 + -1.523798e+00*b72 + 1.425857e+00*b76);
5216  out[657] += (it->second) * (-8.404519e-05*b71 + 1.504313e-02*b72 + -5.055222e-02*b76 + 3.559313e-02*b74);
5217  out[685] += (it->second) * (2.637564e-08*b71 + -5.416833e-05*b72 + 6.488678e-04*b76 + -4.428237e-02*b74 + 4.368764e-02*b75);
5218  out[719] += (it->second) * (-1.624116e-12*b71 + 3.824693e-08*b72 + -1.630160e-06*b76 + 8.689233e-03*b74 + -4.368764e-02*b75 + 3.500000e-02);
5219  out[658] += (it->second) * (-2.407619e-03*b71 + 4.432044e-01*b72 + -1.620292e+00*b76 + 1.179495e+00*b77);
5220  out[687] += (it->second) * (7.082919e-06*b71 + -1.498821e-02*b72 + 1.963423e-01*b76 + -1.283388e+00*b77 + 1.102027e+00*b78);
5221  out[720] += (it->second) * (-1.686419e-09*b71 + 4.092301e-05*b72 + -1.907795e-03*b76 + 1.041071e-01*b77 + -1.130711e+00*b78 + 1.028471e+00*b79);
5222  out[752] += (it->second) * (1.018615e-14*b71 + -2.834323e-09*b72 + 4.701501e-07*b76 + -2.137981e-04*b77 + 2.868439e-02*b78 + -1.028471e+00*b79 + 0.865);
5223  break;
5224  } case 270760000: {
5225  double b80 = exp2(-4.608295e+01*t);
5226  double b81 = exp2(-4.201681e+00*t);
5227  double b82 = exp2(-1.560062e+00*t);
5228  double b83 = exp2(-9.803922e-02*t);
5229  double b84 = exp2(-7.936508e-03*t);
5230  double b85 = exp2(-2.013369e-04*t);
5231  double b86 = exp2(-1.754386e-01*t);
5232  double b87 = exp2(-3.067485e-02*t);
5233  out[558] += (it->second) * (b80);
5234  out[591] += (it->second) * (-1.100324e+00*b80 + 1.100324e+00*b81);
5235  out[625] += (it->second) * (1.038389e-01*b80 + -1.750143e+00*b81 + 1.646304e+00*b82);
5236  out[658] += (it->second) * (-1.056837e-04*b80 + 1.996031e-02*b81 + -5.270101e-02*b82 + 3.284638e-02*b83);
5237  out[687] += (it->second) * (2.248756e-07*b80 + -4.666219e-04*b81 + 3.328831e-03*b82 + -3.573959e-02*b83 + 3.287715e-02*b84);
5238  out[720] += (it->second) * (-3.872875e-11*b80 + 8.814392e-07*b81 + -1.693695e-05*b82 + 2.899158e-03*b83 + -3.373290e-02*b84 + 3.084980e-02*b85);
5239  out[752] += (it->second) * (1.692063e-16*b80 + -4.223696e-11*b81 + 2.185831e-09*b82 + -5.953816e-06*b83 + 8.557513e-04*b84 + -3.084980e-02*b85 + 3.000000e-02);
5240  out[659] += (it->second) * (-3.528730e-03*b80 + 6.781340e-01*b81 + -1.854898e+00*b82 + 1.180293e+00*b86);
5241  out[688] += (it->second) * (1.344288e-05*b80 + -2.852331e-02*b81 + 2.127785e-01*b82 + -1.430392e+00*b86 + 1.246124e+00*b87);
5242  out[722] += (it->second) * (-8.948177e-09*b80 + 2.082376e-04*b81 + -4.183773e-03*b82 + 2.500993e-01*b86 + -1.246124e+00*b87 + 0.97);
5243  break;
5244  } case 270770000: {
5245  double b88 = exp2(-7.692308e+01*t);
5246  double b89 = exp2(-7.812500e+00*t);
5247  double b90 = exp2(-2.137209e+00*t);
5248  double b91 = exp2(-1.754386e-01*t);
5249  double b92 = exp2(-3.067485e-02*t);
5250  double b93 = exp2(-4.807692e-01*t);
5251  double b94 = exp2(-7.575758e-02*t);
5252  double b95 = exp2(-2.477725e-05*t);
5253  double b96 = exp2(-7.161067e-06*t);
5254  out[559] += (it->second) * (b88);
5255  out[593] += (it->second) * (-1.113043e+00*b88 + 1.113043e+00*b89);
5256  out[627] += (it->second) * (1.162740e-01*b88 + -1.532195e+00*b89 + 1.415921e+00*b90);
5257  out[659] += (it->second) * (-9.810862e-04*b88 + 1.299204e-01*b89 + -4.673911e-01*b90 + 3.384518e-01*b91);
5258  out[688] += (it->second) * (2.238458e-06*b88 + -2.929011e-03*b89 + 3.892576e-02*b90 + -4.101683e-01*b91 + 3.741694e-01*b92);
5259  out[722] += (it->second) * (-8.926365e-10*b88 + 1.150041e-05*b89 + -5.586921e-04*b90 + 7.171655e-02*b91 + -3.741694e-01*b92 + 3.030000e-01);
5260  out[660] += (it->second) * (-3.250841e-03*b88 + 4.466368e-01*b89 + -1.826881e+00*b90 + 1.383495e+00*b93);
5261  out[689] += (it->second) * (2.033779e-05*b88 + -2.775447e-02*b89 + 4.260631e-01*b90 + -1.642279e+00*b93 + 1.243950e+00*b94);
5262  out[723] += (it->second) * (-2.002965e-08*b88 + 2.691351e-04*b89 + -1.510282e-02*b90 + 2.587967e-01*b93 + -1.244357e+00*b94 + 1.000394e+00*b95);
5263  out[755] += (it->second) * (6.451636e-15*b88 + -8.535597e-10*b89 + 1.750918e-07*b90 + -1.333772e-05*b93 + 4.070175e-04*b94 + -1.407059e+00*b95 + 1.406665e+00*b96);
5264  out[787] += (it->second) * (-6.006077e-22*b88 + 7.823870e-16*b89 + -5.866735e-13*b90 + 1.986656e-10*b93 + -3.847377e-08*b94 + 4.066650e-01*b95 + -1.406665e+00*b96 + 0.697);
5265  break;
5266  } default: {
5267  outcomp.insert(*it);
5268  break;
5269  }
5270  }
5271 }
5272 
5273 void decay_ni(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
5274  //using std::exp2;
5275  switch (nucname::id_to_state_id(it->first)) {
5276  case 280480000: {
5277  double b0 = exp2(-4.761905e+02*t);
5278  out[560] += (it->second) * (b0);
5279  break;
5280  } case 280490000: {
5281  double b1 = exp2(-1.333333e+02*t);
5282  double b2 = exp2(-2.272727e+01*t);
5283  double b3 = exp2(-6.325111e+00*t);
5284  double b4 = exp2(-5.112474e-04*t);
5285  double b5 = exp2(-1.288394e-05*t);
5286  double b6 = exp2(-7.245797e-07*t);
5287  out[561] += (it->second) * (b1);
5288  out[495] += (it->second) * (-1.000548e+00*b1 + 1.000548e+00*b2);
5289  out[461] += (it->second) * (1.790414e-01*b1 + -1.386386e+00*b2 + 1.207345e+00*b3);
5290  out[407] += (it->second) * (-2.378168e-03*b1 + 1.080371e-01*b2 + -3.380838e-01*b3 + 2.324249e-01*b4);
5291  out[382] += (it->second) * (9.118741e-09*b1 + -2.430281e-06*b2 + 2.732671e-05*b3 + -2.324249e-01*b4 + 2.324000e-01);
5292  out[436] += (it->second) * (-8.493424e-03*b1 + 3.858382e-01*b2 + -1.207347e+00*b3 + 8.300022e-01*b5);
5293  out[408] += (it->second) * (-2.187291e-07*b2 + 2.459307e-06*b3 + -8.794623e-01*b5 + 8.794601e-01*b6);
5294  out[383] += (it->second) * (6.973414e-15*b2 + -2.817285e-13*b3 + 4.946006e-02*b5 + -8.794601e-01*b6 + 7.676000e-01);
5295  break;
5296  } case 280500000: {
5297  double b7 = exp2(-5.405405e+01*t);
5298  double b8 = exp2(-1.545595e+01*t);
5299  double b9 = exp2(-1.288394e-05*t);
5300  double b10 = exp2(-7.245797e-07*t);
5301  double b11 = exp2(-2.617801e+00*t);
5302  double b12 = exp2(-3.940110e-04*t);
5303  double b13 = exp2(-3.507295e-08*t);
5304  double b14 = exp2(-2.577320e+01*t);
5305  double b15 = exp2(-6.451613e+00*t);
5306  double b16 = exp2(-3.531198e+00*t);
5307  double b17 = exp2(-2.437545e-26*t);
5308  out[562] += (it->second) * (b7);
5309  out[496] += (it->second) * (-1.214175e+00*b7 + 1.214175e+00*b8);
5310  out[436] += (it->second) * (1.458137e-01*b7 + -5.099541e-01*b8 + 3.641404e-01*b9);
5311  out[408] += (it->second) * (-3.475511e-08*b7 + 4.250931e-07*b8 + -3.858396e-01*b9 + 3.858392e-01*b10);
5312  out[383] += (it->second) * (4.658827e-16*b7 + -1.992850e-14*b8 + 2.169923e-02*b9 + -3.858392e-01*b10 + 3.641400e-01);
5313  out[462] += (it->second) * (3.648445e-01*b7 + -1.461755e+00*b8 + 1.096911e+00*b11);
5314  out[437] += (it->second) * (-1.766930e-02*b7 + 2.475863e-01*b8 + -1.097076e+00*b11 + 8.671589e-01*b12);
5315  out[409] += (it->second) * (1.651233e-04*b11 + -8.672361e-01*b12 + 8.670772e-01*b13);
5316  out[384] += (it->second) * (-2.212301e-12*b11 + 7.719716e-05*b12 + -8.670772e-01*b13 + 6.358600e-01);
5317  out[527] += (it->second) * (-1.911330e+00*b7 + 1.911330e+00*b14);
5318  out[462] += (it->second) * (6.751865e-01*b7 + -1.499826e+00*b14 + 8.246395e-01*b11);
5319  out[437] += (it->second) * (-3.269906e-02*b7 + 1.523407e-01*b14 + -8.247637e-01*b11 + 7.051220e-01*b12);
5320  out[409] += (it->second) * (1.241370e-04*b11 + -7.051848e-01*b12 + 7.050628e-01*b13);
5321  out[384] += (it->second) * (-1.663171e-12*b11 + 6.277213e-05*b12 + -7.050628e-01*b13 + 0);
5322  out[497] += (it->second) * (1.034844e+00*b7 + -2.549537e+00*b14 + 1.514693e+00*b15);
5323  out[463] += (it->second) * (-1.321463e-01*b7 + 7.395300e-01*b14 + -3.346173e+00*b15 + 2.738789e+00*b16);
5324  out[438] += (it->second) * (8.632746e-03*b7 + -1.013234e-01*b14 + 1.831480e+00*b15 + -2.738789e+00*b16 + b17);
5325  break;
5326  } case 280510000: {
5327  double b18 = exp2(-5.000000e+06*t);
5328  double b19 = exp2(-6.451613e+00*t);
5329  double b20 = exp2(-3.531198e+00*t);
5330  double b21 = exp2(-2.437545e-26*t);
5331  out[563] += (it->second) * (b18);
5332  out[497] += (it->second) * (-8.720011e-01*b18 + 8.720011e-01*b19);
5333  out[463] += (it->second) * (1.125164e-06*b18 + -1.926375e+00*b19 + 1.926374e+00*b20);
5334  out[438] += (it->second) * (-7.946351e-13*b18 + 1.054374e+00*b19 + -1.926374e+00*b20 + 8.720000e-01*b21);
5335  break;
5336  } case 280520000: {
5337  double b22 = exp2(-2.450980e+01*t);
5338  double b23 = exp2(-3.278689e+00*t);
5339  double b24 = exp2(-3.607504e-04*t);
5340  double b25 = exp2(-4.178215e-07*t);
5341  double b26 = exp2(-8.695652e+00*t);
5342  double b27 = exp2(-3.356831e-05*t);
5343  double b28 = exp2(-2.070126e-06*t);
5344  out[564] += (it->second) * (b22);
5345  out[498] += (it->second) * (-3.624905e-01*b22 + 3.624905e-01*b23);
5346  out[465] += (it->second) * (4.849125e-02*b22 + -3.625304e-01*b23 + 3.140392e-01*b24);
5347  out[439] += (it->second) * (-7.137241e-07*b22 + 3.988881e-05*b23 + -3.144033e-01*b24 + 3.143641e-01*b25);
5348  out[411] += (it->second) * (1.216694e-14*b22 + -5.083254e-12*b23 + 3.641423e-04*b24 + -3.143641e-01*b25 + 3.140000e-01);
5349  out[529] += (it->second) * (-1.549865e+00*b22 + 1.549865e+00*b26);
5350  out[499] += (it->second) * (5.498660e-01*b22 + -1.549871e+00*b26 + 1.000005e+00*b27);
5351  out[466] += (it->second) * (-7.530894e-07*b22 + 5.983056e-06*b26 + -1.065728e+00*b27 + 1.065722e+00*b28);
5352  out[440] += (it->second) * (6.360679e-14*b22 + -1.424353e-12*b26 + 6.572241e-02*b27 + -1.065722e+00*b28 + 0.686);
5353  break;
5354  } case 280530000: {
5355  double b29 = exp2(-1.811594e+01*t);
5356  double b30 = exp2(-3.356831e-05*t);
5357  double b31 = exp2(-2.070126e-06*t);
5358  double b32 = exp2(-4.166667e+00*t);
5359  double b33 = exp2(-1.958480e-03*t);
5360  double b34 = exp2(-8.472751e-15*t);
5361  out[565] += (it->second) * (b29);
5362  out[499] += (it->second) * (-2.340004e-01*b29 + 2.340004e-01*b30);
5363  out[466] += (it->second) * (4.335960e-07*b29 + -2.493794e-01*b30 + 2.493790e-01*b31);
5364  out[440] += (it->second) * (-4.954743e-14*b29 + 1.537899e-02*b30 + -2.493790e-01*b31 + 2.340000e-01);
5365  out[530] += (it->second) * (-1.298701e+00*b29 + 1.298701e+00*b32);
5366  out[501] += (it->second) * (2.987336e-01*b29 + -1.299312e+00*b32 + 1.000578e+00*b33);
5367  out[468] += (it->second) * (-3.229552e-05*b29 + 6.107225e-04*b32 + -1.000578e+00*b33 + 1.000000e+00*b34);
5368  out[441] += (it->second) * (-1.000000e+00*b34 + 0.766);
5369  break;
5370  } case 280540000: {
5371  double b35 = exp2(-8.756567e+00*t);
5372  double b36 = exp2(-5.173841e+00*t);
5373  out[566] += (it->second) * (b35);
5374  out[531] += (it->second) * (-2.444107e+00*b35 + 2.444107e+00*b36);
5375  out[503] += (it->second) * (1.444107e+00*b35 + -2.444107e+00*b36 + 1.0);
5376  break;
5377  } case 280550000: {
5378  double b37 = exp2(-4.885198e+00*t);
5379  double b38 = exp2(-1.584585e-05*t);
5380  double b39 = exp2(-1.154814e-08*t);
5381  out[567] += (it->second) * (b37);
5382  out[533] += (it->second) * (-1.000003e+00*b37 + 1.000003e+00*b38);
5383  out[504] += (it->second) * (-1.000733e+00*b38 + 1.000729e+00*b39);
5384  out[470] += (it->second) * (7.293137e-04*b38 + -1.000729e+00*b39 + 1.0);
5385  break;
5386  } case 280560000: {
5387  double b40 = exp2(-1.905197e-06*t);
5388  double b41 = exp2(-1.498534e-07*t);
5389  out[568] += (it->second) * (b40);
5390  out[534] += (it->second) * (-1.085370e+00*b40 + 1.085370e+00*b41);
5391  out[505] += (it->second) * (8.536980e-02*b40 + -1.085370e+00*b41 + 1.0);
5392  break;
5393  } case 280570000: {
5394  double b42 = exp2(-7.802747e-06*t);
5395  double b43 = exp2(-4.259246e-08*t);
5396  out[569] += (it->second) * (b42);
5397  out[535] += (it->second) * (-1.005489e+00*b42 + 1.005489e+00*b43);
5398  out[506] += (it->second) * (5.488610e-03*b42 + -1.005489e+00*b43 + 1.0);
5399  break;
5400  } case 280580000: {
5401  out[570] += it->second;
5402  break;
5403  } case 280590000: {
5404  double b44 = exp2(-4.169485e-13*t);
5405  out[571] += (it->second) * (b44);
5406  out[539] += (it->second) * (-1.000000e+00*b44 + 1.0);
5407  break;
5408  } case 280600000: {
5409  out[572] += it->second;
5410  break;
5411  } case 280610000: {
5412  out[573] += it->second;
5413  break;
5414  } case 280620000: {
5415  out[574] += it->second;
5416  break;
5417  } case 280630000: {
5418  double b45 = exp2(-3.131234e-10*t);
5419  out[575] += (it->second) * (b45);
5420  out[607] += (it->second) * (-1.000000e+00*b45 + 1.0);
5421  break;
5422  } case 280640000: {
5423  out[576] += it->second;
5424  break;
5425  } case 280650000: {
5426  double b46 = exp2(-1.103387e-04*t);
5427  out[577] += (it->second) * (b46);
5428  out[609] += (it->second) * (-1.000000e+00*b46 + 1.0);
5429  break;
5430  } case 280660000: {
5431  double b47 = exp2(-5.087505e-06*t);
5432  double b48 = exp2(-3.255208e-03*t);
5433  out[578] += (it->second) * (b47);
5434  out[610] += (it->second) * (1.565328e-03*b47 + -1.565328e-03*b48);
5435  out[645] += (it->second) * (-1.001565e+00*b47 + 1.565328e-03*b48 + 1.0);
5436  break;
5437  } case 280670000: {
5438  double b49 = exp2(-4.761905e-02*t);
5439  double b50 = exp2(-4.492605e-06*t);
5440  out[579] += (it->second) * (b49);
5441  out[611] += (it->second) * (-1.000094e+00*b49 + 1.000094e+00*b50);
5442  out[646] += (it->second) * (9.435361e-05*b49 + -1.000094e+00*b50 + 1.0);
5443  break;
5444  } case 280680000: {
5445  double b51 = exp2(-3.448276e-02*t);
5446  double b52 = exp2(-3.236246e-02*t);
5447  out[580] += (it->second) * (b51);
5448  out[613] += (it->second) * (-1.626316e+01*b51 + 1.626316e+01*b52);
5449  out[647] += (it->second) * (1.526316e+01*b51 + -1.626316e+01*b52 + 1.0);
5450  break;
5451  } case 280690000: {
5452  double b53 = exp2(-8.771930e-02*t);
5453  double b54 = exp2(-5.847953e-03*t);
5454  double b55 = exp2(-2.955083e-04*t);
5455  out[581] += (it->second) * (b53);
5456  out[614] += (it->second) * (-1.071429e+00*b53 + 1.071429e+00*b54);
5457  out[648] += (it->second) * (7.167001e-02*b53 + -1.128451e+00*b54 + 1.056781e+00*b55);
5458  out[680] += (it->second) * (-2.414415e-04*b53 + 5.702281e-02*b54 + -1.056781e+00*b55 + 1.0);
5459  break;
5460  } case 280690001: {
5461  double b56 = exp2(-2.857143e-01*t);
5462  double b57 = exp2(-5.847953e-03*t);
5463  double b58 = exp2(-2.955083e-04*t);
5464  out[582] += (it->second) * (b56);
5465  out[614] += (it->second) * (-1.020896e+00*b56 + 1.020896e+00*b57);
5466  out[648] += (it->second) * (2.091716e-02*b56 + -1.075229e+00*b57 + 1.054312e+00*b58);
5467  out[680] += (it->second) * (-2.163417e-05*b56 + 5.433338e-02*b57 + -1.054312e+00*b58 + 1.0);
5468  break;
5469  } case 280690008: {
5470  double b59 = exp2(-2.277904e+06*t);
5471  double b60 = exp2(-8.771930e-02*t);
5472  double b61 = exp2(-5.847953e-03*t);
5473  double b62 = exp2(-2.955083e-04*t);
5474  out[583] += (it->second) * (b59);
5475  out[581] += (it->second) * (-1.000000e+00*b59 + 1.000000e+00*b60);
5476  out[614] += (it->second) * (-1.071429e+00*b60 + 1.071429e+00*b61);
5477  out[648] += (it->second) * (7.167002e-02*b60 + -1.128451e+00*b61 + 1.056781e+00*b62);
5478  out[680] += (it->second) * (-2.414415e-04*b60 + 5.702281e-02*b61 + -1.056781e+00*b62 + 1.0);
5479  break;
5480  } case 280700000: {
5481  double b63 = exp2(-1.666667e-01*t);
5482  double b64 = exp2(-2.247191e-02*t);
5483  double b65 = exp2(-2.437545e-24*t);
5484  out[584] += (it->second) * (b63);
5485  out[615] += (it->second) * (-1.155844e+00*b63 + 1.155844e+00*b64);
5486  out[650] += (it->second) * (1.558442e-01*b63 + -1.155844e+00*b64 + b65);
5487  break;
5488  } case 280710000: {
5489  double b66 = exp2(-3.906250e-01*t);
5490  double b67 = exp2(-5.154639e-02*t);
5491  double b68 = exp2(-6.802721e-03*t);
5492  out[585] += (it->second) * (b66);
5493  out[618] += (it->second) * (-1.152019e+00*b66 + 1.152019e+00*b67);
5494  out[651] += (it->second) * (1.547133e-01*b66 + -1.327169e+00*b67 + 1.172456e+00*b68);
5495  out[682] += (it->second) * (-2.694327e-03*b66 + 1.751502e-01*b67 + -1.172456e+00*b68 + 1.0);
5496  break;
5497  } case 280710002: {
5498  double b69 = exp2(-4.347826e-01*t);
5499  double b70 = exp2(-5.154639e-02*t);
5500  double b71 = exp2(-6.802721e-03*t);
5501  out[586] += (it->second) * (b69);
5502  out[618] += (it->second) * (-1.134503e+00*b69 + 1.134503e+00*b70);
5503  out[651] += (it->second) * (1.366408e-01*b69 + -1.306990e+00*b70 + 1.170349e+00*b71);
5504  out[682] += (it->second) * (-2.137918e-03*b69 + 1.724871e-01*b70 + -1.170349e+00*b71 + 1.0);
5505  break;
5506  } case 280720000: {
5507  double b72 = exp2(-6.369427e-01*t);
5508  double b73 = exp2(-1.508296e-01*t);
5509  double b74 = exp2(-5.973716e-06*t);
5510  double b75 = exp2(-1.970055e-05*t);
5511  out[587] += (it->second) * (b72);
5512  out[619] += (it->second) * (-1.310277e+00*b72 + 1.310277e+00*b73);
5513  out[653] += (it->second) * (3.102796e-01*b72 + -1.310329e+00*b73 + 1.000049e+00*b74);
5514  out[683] += (it->second) * (-2.910120e-06*b72 + 5.190331e-05*b73 + 4.352065e-01*b74 + -4.352555e-01*b75);
5515  out[716] += (it->second) * (9.000961e-11*b72 + -6.779332e-09*b73 + -1.435255e+00*b74 + 4.352555e-01*b75 + 1.0);
5516  break;
5517  } case 280730000: {
5518  double b76 = exp2(-1.190476e+00*t);
5519  double b77 = exp2(-2.380952e-01*t);
5520  double b78 = exp2(-4.255319e-02*t);
5521  double b79 = exp2(-5.715592e-05*t);
5522  out[588] += (it->second) * (b76);
5523  out[620] += (it->second) * (-1.250000e+00*b76 + 1.250000e+00*b77);
5524  out[654] += (it->second) * (2.592674e-01*b76 + -1.522021e+00*b77 + 1.262753e+00*b78);
5525  out[684] += (it->second) * (-9.267877e-03*b76 + 2.720860e-01*b77 + -1.264452e+00*b78 + 1.001633e+00*b79);
5526  out[717] += (it->second) * (4.449598e-07*b76 + -6.531558e-05*b77 + 1.698366e-03*b78 + -1.001633e+00*b79 + 1.0);
5527  break;
5528  } case 280740000: {
5529  double b80 = exp2(-1.470588e+00*t);
5530  double b81 = exp2(-6.134969e-01*t);
5531  double b82 = exp2(-1.046025e-02*t);
5532  double b83 = exp2(-2.052545e-03*t);
5533  out[589] += (it->second) * (b80);
5534  out[621] += (it->second) * (-1.715789e+00*b80 + 1.715789e+00*b81);
5535  out[657] += (it->second) * (7.209173e-01*b80 + -1.745551e+00*b81 + 1.024634e+00*b82);
5536  out[685] += (it->second) * (-5.135031e-03*b80 + 2.986193e-02*b81 + -1.274775e+00*b82 + 1.250048e+00*b83);
5537  out[719] += (it->second) * (7.167120e-06*b80 + -9.990751e-05*b81 + 2.501405e-01*b82 + -1.250048e+00*b83 + 1.0);
5538  break;
5539  } case 280750000: {
5540  double b84 = exp2(-2.906977e+00*t);
5541  double b85 = exp2(-6.134969e-01*t);
5542  double b86 = exp2(-1.046025e-02*t);
5543  double b87 = exp2(-2.052545e-03*t);
5544  double b88 = exp2(-8.169935e-01*t);
5545  double b89 = exp2(-9.803922e-02*t);
5546  double b90 = exp2(-7.936508e-03*t);
5547  double b91 = exp2(-2.013369e-04*t);
5548  out[590] += (it->second) * (b84);
5549  out[621] += (it->second) * (-1.267496e-01*b84 + 1.267496e-01*b85);
5550  out[657] += (it->second) * (2.684621e-02*b84 + -1.289482e-01*b85 + 1.021020e-01*b86);
5551  out[685] += (it->second) * (-9.666969e-05*b84 + 2.205974e-03*b85 + -1.270278e-01*b86 + 1.249185e-01*b87);
5552  out[719] += (it->second) * (6.825610e-08*b84 + -7.380415e-06*b85 + 2.492582e-02*b86 + -1.249185e-01*b87 + 1.000000e-01);
5553  out[622] += (it->second) * (-1.390909e+00*b84 + 1.390909e+00*b88);
5554  out[657] += (it->second) * (1.373123e-02*b84 + -4.931319e-02*b88 + 3.558196e-02*b86);
5555  out[685] += (it->second) * (-4.944435e-05*b84 + 6.329641e-04*b88 + -4.426847e-02*b86 + 4.368495e-02*b87);
5556  out[719] += (it->second) * (3.491145e-08*b84 + -1.590205e-06*b88 + 8.686506e-03*b86 + -4.368495e-02*b87 + 3.500000e-02);
5557  out[658] += (it->second) * (4.045528e-01*b84 + -1.580579e+00*b88 + 1.176026e+00*b89);
5558  out[687] += (it->second) * (-1.368109e-02*b84 + 1.915300e-01*b88 + -1.279613e+00*b89 + 1.101765e+00*b90);
5559  out[720] += (it->second) * (3.735415e-05*b84 + -1.861036e-03*b88 + 1.038009e-01*b89 + -1.130442e+00*b90 + 1.028465e+00*b91);
5560  out[752] += (it->second) * (-2.587144e-09*b84 + 4.586268e-07*b88 + -2.131693e-04*b89 + 2.867756e-02*b90 + -1.028465e+00*b91 + 0.865);
5561  break;
5562  } case 280760000: {
5563  double b92 = exp2(-4.201681e+00*t);
5564  double b93 = exp2(-1.560062e+00*t);
5565  double b94 = exp2(-9.803922e-02*t);
5566  double b95 = exp2(-7.936508e-03*t);
5567  double b96 = exp2(-2.013369e-04*t);
5568  double b97 = exp2(-1.754386e-01*t);
5569  double b98 = exp2(-3.067485e-02*t);
5570  out[591] += (it->second) * (b92);
5571  out[625] += (it->second) * (-1.590571e+00*b92 + 1.590571e+00*b93);
5572  out[658] += (it->second) * (1.814040e-02*b92 + -5.091690e-02*b93 + 3.277650e-02*b94);
5573  out[687] += (it->second) * (-4.240770e-04*b92 + 3.216139e-03*b93 + -3.566355e-02*b94 + 3.287149e-02*b95);
5574  out[720] += (it->second) * (8.010727e-07*b92 + -1.636358e-05*b93 + 2.892991e-03*b94 + -3.372709e-02*b95 + 3.084966e-02*b96);
5575  out[752] += (it->second) * (-3.838594e-11*b92 + 2.111834e-09*b93 + -5.941150e-06*b94 + 8.556040e-04*b95 + -3.084966e-02*b96 + 3.000000e-02);
5576  out[659] += (it->second) * (6.163041e-01*b92 + -1.792104e+00*b93 + 1.175800e+00*b97);
5577  out[688] += (it->second) * (-2.592265e-02*b92 + 2.055752e-01*b93 + -1.424947e+00*b97 + 1.245294e+00*b98);
5578  out[722] += (it->second) * (1.892513e-04*b92 + -4.042138e-03*b93 + 2.491471e-01*b97 + -1.245294e+00*b98 + 0.97);
5579  break;
5580  } case 280760004: {
5581  double b99 = exp2(-1.694915e+06*t);
5582  double b100 = exp2(-4.201681e+00*t);
5583  double b101 = exp2(-1.560062e+00*t);
5584  double b102 = exp2(-9.803922e-02*t);
5585  double b103 = exp2(-7.936508e-03*t);
5586  double b104 = exp2(-2.013369e-04*t);
5587  double b105 = exp2(-1.754386e-01*t);
5588  double b106 = exp2(-3.067485e-02*t);
5589  out[592] += (it->second) * (b99);
5590  out[591] += (it->second) * (-1.000002e+00*b99 + 1.000002e+00*b100);
5591  out[625] += (it->second) * (2.479000e-06*b99 + -1.590575e+00*b100 + 1.590572e+00*b101);
5592  out[658] += (it->second) * (-6.845289e-14*b99 + 1.814044e-02*b100 + -5.091695e-02*b101 + 3.277650e-02*b102);
5593  out[687] += (it->second) * (-4.240780e-04*b100 + 3.216142e-03*b101 + -3.566355e-02*b102 + 3.287149e-02*b103);
5594  out[720] += (it->second) * (8.010747e-07*b100 + -1.636360e-05*b101 + 2.892991e-03*b102 + -3.372709e-02*b103 + 3.084966e-02*b104);
5595  out[752] += (it->second) * (-3.838604e-11*b100 + 2.111836e-09*b101 + -5.941150e-06*b102 + 8.556040e-04*b103 + -3.084966e-02*b104 + 3.000000e-02);
5596  out[659] += (it->second) * (-2.281763e-12*b99 + 6.163056e-01*b100 + -1.792105e+00*b101 + 1.175800e+00*b105);
5597  out[688] += (it->second) * (2.361825e-19*b99 + -2.592272e-02*b100 + 2.055754e-01*b101 + -1.424947e+00*b105 + 1.245294e+00*b106);
5598  out[722] += (it->second) * (-4.274469e-27*b99 + 1.892517e-04*b100 + -4.042142e-03*b101 + 2.491472e-01*b105 + -1.245294e+00*b106 + 0.97);
5599  break;
5600  } case 280770000: {
5601  double b107 = exp2(-7.812500e+00*t);
5602  double b108 = exp2(-2.137209e+00*t);
5603  double b109 = exp2(-1.754386e-01*t);
5604  double b110 = exp2(-3.067485e-02*t);
5605  double b111 = exp2(-4.807692e-01*t);
5606  double b112 = exp2(-7.575758e-02*t);
5607  double b113 = exp2(-2.477725e-05*t);
5608  double b114 = exp2(-7.161067e-06*t);
5609  out[593] += (it->second) * (b107);
5610  out[627] += (it->second) * (-1.376581e+00*b107 + 1.376581e+00*b108);
5611  out[659] += (it->second) * (1.167253e-01*b107 + -4.544052e-01*b108 + 3.376799e-01*b109);
5612  out[688] += (it->second) * (-2.631533e-03*b107 + 3.784426e-02*b108 + -4.092329e-01*b109 + 3.740202e-01*b110);
5613  out[722] += (it->second) * (1.033240e-05*b107 + -5.431696e-04*b108 + 7.155299e-02*b109 + -3.740202e-01*b110 + 3.030000e-01);
5614  out[660] += (it->second) * (4.012752e-01*b107 + -1.776124e+00*b108 + 1.374849e+00*b111);
5615  out[689] += (it->second) * (-2.493566e-02*b107 + 4.142255e-01*b108 + -1.632015e+00*b111 + 1.242725e+00*b112);
5616  out[723] += (it->second) * (2.418011e-04*b107 + -1.468321e-02*b108 + 2.571792e-01*b111 + -1.243131e+00*b112 + 1.000393e+00*b113);
5617  out[755] += (it->second) * (-7.668701e-10*b107 + 1.702271e-07*b108 + -1.325436e-05*b111 + 4.066166e-04*b112 + -1.407058e+00*b113 + 1.406665e+00*b114);
5618  out[787] += (it->second) * (7.029258e-16*b107 + -5.703736e-13*b108 + 1.974239e-10*b111 + -3.843588e-08*b112 + 4.066649e-01*b113 + -1.406665e+00*b114 + 0.697);
5619  break;
5620  } case 280780000: {
5621  double b115 = exp2(-9.090909e+00*t);
5622  double b116 = exp2(-2.985075e+00*t);
5623  double b117 = exp2(-4.807692e-01*t);
5624  double b118 = exp2(-7.575758e-02*t);
5625  double b119 = exp2(-2.477725e-05*t);
5626  double b120 = exp2(-7.161067e-06*t);
5627  double b121 = exp2(-6.802721e-01*t);
5628  double b122 = exp2(-1.964637e-01*t);
5629  double b123 = exp2(-1.893939e-04*t);
5630  double b124 = exp2(-1.837560e-04*t);
5631  out[594] += (it->second) * (b115);
5632  out[628] += (it->second) * (-1.488889e+00*b115 + 1.488889e+00*b116);
5633  out[660] += (it->second) * (3.355217e-01*b115 + -1.153569e+00*b116 + 8.180472e-01*b117);
5634  out[689] += (it->second) * (-1.789305e-02*b115 + 1.906291e-01*b116 + -9.710632e-01*b117 + 7.983272e-01*b118);
5635  out[723] += (it->second) * (1.491091e-04*b115 + -4.837975e-03*b116 + 1.530239e-01*b117 + -7.985884e-01*b118 + 6.502533e-01*b119);
5636  out[755] += (it->second) * (-4.063969e-10*b115 + 4.015713e-08*b116 + -7.886463e-06*b117 + 2.612108e-04*b118 + -9.145845e-01*b119 + 9.143312e-01*b120);
5637  out[787] += (it->second) * (3.201259e-16*b115 + -9.633524e-14*b116 + 1.174690e-10*b117 + -2.469123e-08*b118 + 2.643312e-01*b119 + -9.143312e-01*b120 + 6.500000e-01);
5638  out[662] += (it->second) * (5.284314e-01*b115 + -1.928341e+00*b116 + 1.399909e+00*b121);
5639  out[690] += (it->second) * (-4.041591e-02*b115 + 4.704121e-01*b116 + -1.968381e+00*b121 + 1.538385e+00*b122);
5640  out[725] += (it->second) * (8.734466e-04*b115 + -3.096229e-02*b116 + 5.686298e-01*b121 + -1.539869e+00*b122 + 1.001328e+00*b123);
5641  out[757] += (it->second) * (-1.819717e-08*b115 + 1.964584e-06*b116 + -1.583545e-04*b121 + 1.485847e-03*b122 + -3.363721e+01*b123 + 3.363588e+01*b124);
5642  out[789] += (it->second) * (3.678223e-13*b115 + -1.209364e-10*b116 + 4.277491e-08*b121 + -1.389739e-06*b122 + 3.263588e+01*b123 + -3.363588e+01*b124 + 0.35);
5643  break;
5644  } case 280790000: {
5645  double b125 = exp2(-2.325581e+01*t);
5646  double b126 = exp2(-4.149378e+00*t);
5647  double b127 = exp2(-6.802721e-01*t);
5648  double b128 = exp2(-1.964637e-01*t);
5649  double b129 = exp2(-1.893939e-04*t);
5650  double b130 = exp2(-1.837560e-04*t);
5651  double b131 = exp2(-1.005025e+00*t);
5652  double b132 = exp2(-3.512469e-01*t);
5653  double b133 = exp2(-5.268704e-02*t);
5654  double b134 = exp2(-1.849797e-03*t);
5655  double b135 = exp2(-1.074172e-13*t);
5656  out[595] += (it->second) * (b125);
5657  out[629] += (it->second) * (-1.217172e+00*b125 + 1.217172e+00*b126);
5658  out[662] += (it->second) * (1.230437e-01*b125 + -8.007187e-01*b126 + 6.776751e-01*b127);
5659  out[690] += (it->second) * (-3.629902e-03*b125 + 1.377988e-01*b126 + -9.528636e-01*b127 + 8.186947e-01*b128);
5660  out[725] += (it->second) * (3.066543e-05*b125 + -6.524758e-03*b126 + 2.752651e-01*b127 + -8.194847e-01*b128 + 5.507137e-01*b129);
5661  out[757] += (it->second) * (-2.497394e-10*b125 + 2.978288e-07*b126 + -7.665702e-05*b127 + 7.907352e-04*b128 + -1.849990e+01*b129 + 1.849919e+01*b130);
5662  out[789] += (it->second) * (1.973318e-15*b125 + -1.318941e-11*b126 + 2.070669e-08*b127 + -7.395888e-07*b128 + 1.794919e+01*b129 + -1.849919e+01*b130 + 5.500000e-01);
5663  out[664] += (it->second) * (2.269809e-01*b125 + -1.606215e+00*b126 + 1.379234e+00*b131);
5664  out[690] += (it->second) * (-1.286064e-04*b125 + 5.308924e-03*b126 + -2.228667e-02*b131 + 1.710635e-02*b128);
5665  out[725] += (it->second) * (1.086468e-06*b125 + -2.513770e-04*b126 + 4.357448e-03*b131 + -1.712285e-02*b128 + 1.301570e-02*b129);
5666  out[757] += (it->second) * (-8.848197e-12*b125 + 1.147435e-08*b126 + -8.212981e-07*b131 + 1.652214e-05*b128 + -4.372310e-01*b129 + 4.372153e-01*b130);
5667  out[789] += (it->second) * (6.991409e-17*b125 + -5.081436e-13*b126 + 1.501638e-10*b131 + -1.545346e-08*b128 + 4.242153e-01*b129 + -4.372153e-01*b130 + 1.300000e-02);
5668  out[692] += (it->second) * (-9.959654e-03*b125 + 4.250212e-01*b126 + -2.120237e+00*b131 + 1.705175e+00*b132);
5669  out[725] += (it->second) * (1.338809e-07*b125 + -3.202211e-05*b126 + 6.596170e-04*b131 + -1.518425e-03*b132 + 8.906959e-04*b129);
5670  out[757] += (it->second) * (-1.090327e-12*b125 + 1.461680e-09*b126 + -1.243256e-07*b131 + 8.191700e-07*b132 + -2.992078e-02*b129 + 2.992009e-02*b130);
5671  out[789] += (it->second) * (8.615225e-18*b125 + -6.473078e-14*b126 + 2.273133e-11*b131 + -4.285515e-10*b132 + 2.903009e-02*b129 + -2.992009e-02*b130 + 8.900000e-04);
5672  out[726] += (it->second) * (1.507684e-04*b125 + -3.644097e-02*b126 + 7.819982e-01*b131 + -2.006088e+00*b132 + 1.260380e+00*b133);
5673  out[758] += (it->second) * (-3.415994e-07*b125 + 4.629184e-04*b126 + -4.107075e-02*b131 + 3.025064e-01*b132 + -1.306241e+00*b133 + 1.044343e+00*b134);
5674  out[790] += (it->second) * (2.717124e-11*b125 + -2.063695e-07*b126 + 7.559268e-05*b131 + -1.593111e-03*b132 + 4.586101e-02*b133 + -1.044343e+00*b134 + 1.000000e+00*b135);
5675  out[824] += (it->second) * (-1.000000e+00*b135 + 0.43611);
5676  break;
5677  } case 280800000: {
5678  double b136 = exp2(-4.166667e+01*t);
5679  double b137 = exp2(-8.802817e+00*t);
5680  double b138 = exp2(-1.779676e+00*t);
5681  double b139 = exp2(-3.512469e-01*t);
5682  double b140 = exp2(-1.893939e-04*t);
5683  double b141 = exp2(-1.837560e-04*t);
5684  double b142 = exp2(-5.268704e-02*t);
5685  double b143 = exp2(-1.849797e-03*t);
5686  double b144 = exp2(-1.074172e-13*t);
5687  double b145 = exp2(-5.263158e-01*t);
5688  double b146 = exp2(-3.389831e-02*t);
5689  double b147 = exp2(-6.578947e-02*t);
5690  out[596] += (it->second) * (b136);
5691  out[630] += (it->second) * (-1.267857e+00*b136 + 1.267857e+00*b137);
5692  out[665] += (it->second) * (2.798084e-01*b136 + -1.589134e+00*b137 + 1.309326e+00*b138);
5693  out[692] += (it->second) * (-1.205284e-04*b136 + 3.346295e-03*b137 + -1.631286e-02*b138 + 1.308709e-02*b139);
5694  out[725] += (it->second) * (9.042849e-10*b136 + -1.188377e-07*b137 + 2.865747e-06*b138 + -1.165379e-05*b139 + 8.905981e-06*b140);
5695  out[757] += (it->second) * (-4.110404e-15*b136 + 2.556865e-12*b137 + -3.050056e-10*b138 + 6.287068e-09*b139 + -2.991750e-04*b140 + 2.991690e-04*b141);
5696  out[789] += (it->second) * (1.812747e-20*b136 + -5.337374e-17*b137 + 3.149258e-14*b138 + -3.289100e-12*b139 + 2.902690e-04*b140 + -2.991690e-04*b141 + 8.900000e-06);
5697  out[726] += (it->second) * (1.017332e-06*b136 + -1.343267e-04*b137 + 3.317821e-03*b138 + -1.539658e-02*b139 + 1.221207e-02*b142);
5698  out[758] += (it->second) * (-1.286462e-09*b136 + 8.041473e-07*b137 + -9.832579e-05*b138 + 2.321714e-03*b139 + -1.265642e-02*b142 + 1.043223e-02*b143);
5699  out[790] += (it->second) * (5.711265e-14*b136 + -1.689810e-10*b137 + 1.021999e-07*b138 + -1.222700e-05*b139 + 4.443561e-04*b142 + -1.043223e-02*b143 + 1.000000e-02*b144);
5700  out[824] += (it->second) * (-1.000000e-02*b144 + 1.000000e-02);
5701  out[693] += (it->second) * (-1.210413e-02*b136 + 3.417077e-01*b137 + -1.859143e+00*b138 + 1.529539e+00*b145);
5702  out[726] += (it->second) * (1.316556e-06*b136 + -1.767605e-04*b137 + 4.872682e-03*b138 + -1.461731e-02*b145 + 9.920073e-03*b142);
5703  out[758] += (it->second) * (-1.664844e-09*b136 + 1.058178e-06*b137 + -1.444051e-04*b138 + 1.468432e-03*b145 + -1.028103e-02*b142 + 8.955947e-03*b143);
5704  out[790] += (it->second) * (7.391095e-14*b136 + -2.223621e-10*b137 + 1.500948e-07*b138 + -5.160972e-06*b145 + 3.609581e-04*b142 + -8.955947e-03*b143 + 8.600000e-03*b144);
5705  out[824] += (it->second) * (-8.600000e-03*b144 + 8.600000e-03);
5706  out[728] += (it->second) * (1.530188e-04*b136 + -2.050950e-02*b137 + 5.604931e-01*b138 + -1.634834e+00*b145 + 1.094697e+00*b146);
5707  out[760] += (it->second) * (-1.246867e-07*b136 + 7.957368e-05*b137 + -1.108578e-02*b138 + 1.203364e-01*b145 + 1.163594e+00*b146 + -1.272924e+00*b147);
5708  out[792] += (it->second) * (1.968738e-10*b136 + -5.947086e-07*b137 + 4.098091e-04*b138 + -1.504205e-02*b145 + -2.258292e+00*b146 + 1.272924e+00*b147 + 0.9813911);
5709  break;
5710  } default: {
5711  outcomp.insert(*it);
5712  break;
5713  }
5714  }
5715 }
5716 
5717 void decay_cu(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
5718  //using std::exp2;
5719  switch (nucname::id_to_state_id(it->first)) {
5720  case 290530000: {
5721  double b0 = exp2(-7.692308e+06*t);
5722  out[597] += (it->second) * (b0);
5723  break;
5724  } case 290540000: {
5725  double b1 = exp2(-1.333333e+07*t);
5726  out[598] += (it->second) * (b1);
5727  break;
5728  } case 290550000: {
5729  double b2 = exp2(-2.500000e+01*t);
5730  out[599] += (it->second) * (b2);
5731  break;
5732  } case 290560000: {
5733  double b3 = exp2(-1.075269e+01*t);
5734  double b4 = exp2(-1.584585e-05*t);
5735  double b5 = exp2(-1.154814e-08*t);
5736  double b6 = exp2(-1.905197e-06*t);
5737  double b7 = exp2(-1.498534e-07*t);
5738  out[600] += (it->second) * (b3);
5739  out[533] += (it->second) * (-4.000006e-03*b3 + 4.000006e-03*b4);
5740  out[504] += (it->second) * (-4.002923e-03*b4 + 4.002917e-03*b5);
5741  out[470] += (it->second) * (2.917250e-06*b4 + -4.002917e-03*b5 + 4.000000e-03);
5742  out[568] += (it->second) * (-1.000000e+00*b3 + 1.000000e+00*b6);
5743  out[534] += (it->second) * (1.771834e-07*b3 + -1.085370e+00*b6 + 1.085370e+00*b7);
5744  out[505] += (it->second) * (-2.469292e-15*b3 + 8.536981e-02*b6 + -1.085370e+00*b7 + 0.996);
5745  break;
5746  } case 290570000: {
5747  double b8 = exp2(-5.094244e+00*t);
5748  double b9 = exp2(-7.802747e-06*t);
5749  double b10 = exp2(-4.259246e-08*t);
5750  out[601] += (it->second) * (b8);
5751  out[569] += (it->second) * (-1.000002e+00*b8 + 1.000002e+00*b9);
5752  out[535] += (it->second) * (-1.005490e+00*b9 + 1.005489e+00*b10);
5753  out[506] += (it->second) * (5.488618e-03*b9 + -1.005489e+00*b10 + 1.0);
5754  break;
5755  } case 290580000: {
5756  double b11 = exp2(-3.121099e-01*t);
5757  out[602] += (it->second) * (b11);
5758  out[570] += (it->second) * (-1.000000e+00*b11 + 1.0);
5759  break;
5760  } case 290590000: {
5761  double b12 = exp2(-1.226994e-02*t);
5762  double b13 = exp2(-4.169485e-13*t);
5763  out[603] += (it->second) * (b12);
5764  out[571] += (it->second) * (-1.000000e+00*b12 + 1.000000e+00*b13);
5765  out[539] += (it->second) * (-1.000000e+00*b13 + 1.0);
5766  break;
5767  } case 290600000: {
5768  double b14 = exp2(-7.032349e-04*t);
5769  out[604] += (it->second) * (b14);
5770  out[572] += (it->second) * (-1.000000e+00*b14 + 1.0);
5771  break;
5772  } case 290610000: {
5773  double b15 = exp2(-8.334167e-05*t);
5774  out[605] += (it->second) * (b15);
5775  out[573] += (it->second) * (-1.000000e+00*b15 + 1.0);
5776  break;
5777  } case 290620000: {
5778  double b16 = exp2(-1.723544e-03*t);
5779  out[606] += (it->second) * (b16);
5780  out[574] += (it->second) * (-1.000000e+00*b16 + 1.0);
5781  break;
5782  } case 290630000: {
5783  out[607] += it->second;
5784  break;
5785  } case 290640000: {
5786  double b17 = exp2(-2.187054e-05*t);
5787  out[608] += (it->second) * (b17);
5788  out[576] += (it->second) * (-6.150000e-01*b17 + 6.150000e-01);
5789  out[643] += (it->second) * (-3.850000e-01*b17 + 3.850000e-01);
5790  break;
5791  } case 290650000: {
5792  out[609] += it->second;
5793  break;
5794  } case 290660000: {
5795  double b18 = exp2(-3.255208e-03*t);
5796  out[610] += (it->second) * (b18);
5797  out[645] += (it->second) * (-1.000000e+00*b18 + 1.0);
5798  break;
5799  } case 290670000: {
5800  double b19 = exp2(-4.492605e-06*t);
5801  out[611] += (it->second) * (b19);
5802  out[646] += (it->second) * (-1.000000e+00*b19 + 1.0);
5803  break;
5804  } case 290670023: {
5805  double b20 = exp2(-4.166667e+08*t);
5806  double b21 = exp2(-4.492605e-06*t);
5807  out[612] += (it->second) * (b20);
5808  out[611] += (it->second) * (-1.000000e+00*b20 + 1.000000e+00*b21);
5809  out[646] += (it->second) * (-1.000000e+00*b21 + 1.0);
5810  break;
5811  } case 290680000: {
5812  double b22 = exp2(-3.236246e-02*t);
5813  out[613] += (it->second) * (b22);
5814  out[647] += (it->second) * (-1.000000e+00*b22 + 1.0);
5815  break;
5816  } case 290690000: {
5817  double b23 = exp2(-5.847953e-03*t);
5818  double b24 = exp2(-2.955083e-04*t);
5819  out[614] += (it->second) * (b23);
5820  out[648] += (it->second) * (-1.053221e+00*b23 + 1.053221e+00*b24);
5821  out[680] += (it->second) * (5.322129e-02*b23 + -1.053221e+00*b24 + 1.0);
5822  break;
5823  } case 290700000: {
5824  double b25 = exp2(-2.247191e-02*t);
5825  double b26 = exp2(-2.437545e-24*t);
5826  out[615] += (it->second) * (b25);
5827  out[650] += (it->second) * (-1.000000e+00*b25 + b26);
5828  break;
5829  } case 290700001: {
5830  double b27 = exp2(-3.030303e-02*t);
5831  double b28 = exp2(-2.247191e-02*t);
5832  double b29 = exp2(-2.437545e-24*t);
5833  out[616] += (it->second) * (b27);
5834  out[615] += (it->second) * (-1.857391e+00*b27 + 1.857391e+00*b28);
5835  out[650] += (it->second) * (1.377391e+00*b27 + -1.857391e+00*b28 + 4.800000e-01*b29);
5836  out[650] += (it->second) * (-5.200000e-01*b27 + 5.200000e-01*b29);
5837  break;
5838  } case 290700003: {
5839  double b30 = exp2(-1.515152e-01*t);
5840  double b31 = exp2(-2.247191e-02*t);
5841  double b32 = exp2(-2.437545e-24*t);
5842  out[617] += (it->second) * (b30);
5843  out[615] += (it->second) * (-7.984169e-02*b30 + 7.984169e-02*b31);
5844  out[650] += (it->second) * (1.184169e-02*b30 + -7.984169e-02*b31 + 6.800000e-02*b32);
5845  out[650] += (it->second) * (-9.320000e-01*b30 + 9.320000e-01*b32);
5846  break;
5847  } case 290710000: {
5848  double b33 = exp2(-5.154639e-02*t);
5849  double b34 = exp2(-6.802721e-03*t);
5850  out[618] += (it->second) * (b33);
5851  out[651] += (it->second) * (-1.152038e+00*b33 + 1.152038e+00*b34);
5852  out[682] += (it->second) * (1.520376e-01*b33 + -1.152038e+00*b34 + 1.0);
5853  break;
5854  } case 290720000: {
5855  double b35 = exp2(-1.508296e-01*t);
5856  double b36 = exp2(-5.973716e-06*t);
5857  double b37 = exp2(-1.970055e-05*t);
5858  out[619] += (it->second) * (b35);
5859  out[653] += (it->second) * (-1.000040e+00*b35 + 1.000040e+00*b36);
5860  out[683] += (it->second) * (3.961248e-05*b35 + 4.352024e-01*b36 + -4.352420e-01*b37);
5861  out[716] += (it->second) * (-5.173970e-09*b35 + -1.435242e+00*b36 + 4.352420e-01*b37 + 1.0);
5862  break;
5863  } case 290730000: {
5864  double b38 = exp2(-2.380952e-01*t);
5865  double b39 = exp2(-4.255319e-02*t);
5866  double b40 = exp2(-5.715592e-05*t);
5867  out[620] += (it->second) * (b38);
5868  out[654] += (it->second) * (-1.217617e+00*b38 + 1.217617e+00*b39);
5869  out[684] += (it->second) * (2.176688e-01*b38 + -1.219254e+00*b39 + 1.001585e+00*b40);
5870  out[717] += (it->second) * (-5.225246e-05*b38 + 1.637659e-03*b39 + -1.001585e+00*b40 + 1.0);
5871  break;
5872  } case 290740000: {
5873  double b41 = exp2(-6.134969e-01*t);
5874  double b42 = exp2(-1.046025e-02*t);
5875  double b43 = exp2(-2.052545e-03*t);
5876  out[621] += (it->second) * (b41);
5877  out[657] += (it->second) * (-1.017346e+00*b41 + 1.017346e+00*b42);
5878  out[685] += (it->second) * (1.740419e-02*b41 + -1.265707e+00*b42 + 1.248303e+00*b43);
5879  out[719] += (it->second) * (-5.822830e-05*b41 + 2.483613e-01*b42 + -1.248303e+00*b43 + 1.0);
5880  break;
5881  } case 290750000: {
5882  double b44 = exp2(-8.169935e-01*t);
5883  double b45 = exp2(-1.046025e-02*t);
5884  double b46 = exp2(-2.052545e-03*t);
5885  double b47 = exp2(-9.803922e-02*t);
5886  double b48 = exp2(-7.936508e-03*t);
5887  double b49 = exp2(-2.013369e-04*t);
5888  out[622] += (it->second) * (b44);
5889  out[657] += (it->second) * (-3.545393e-02*b44 + 3.545393e-02*b45);
5890  out[685] += (it->second) * (4.550722e-04*b44 + -4.410918e-02*b45 + 4.365411e-02*b46);
5891  out[719] += (it->second) * (-1.143285e-06*b44 + 8.655249e-03*b45 + -4.365411e-02*b46 + 3.500000e-02);
5892  out[658] += (it->second) * (-1.136364e+00*b44 + 1.136364e+00*b47);
5893  out[687] += (it->second) * (1.377013e-01*b44 + -1.236458e+00*b47 + 1.098757e+00*b48);
5894  out[720] += (it->second) * (-1.338000e-03*b44 + 1.003002e-01*b47 + -1.127356e+00*b48 + 1.028394e+00*b49);
5895  out[752] += (it->second) * (3.297317e-07*b44 + -2.059801e-04*b47 + 2.859927e-02*b48 + -1.028394e+00*b49 + 0.965);
5896  break;
5897  } case 290750001: {
5898  double b50 = exp2(-3.225806e+06*t);
5899  double b51 = exp2(-8.169935e-01*t);
5900  double b52 = exp2(-1.046025e-02*t);
5901  double b53 = exp2(-2.052545e-03*t);
5902  double b54 = exp2(-9.803922e-02*t);
5903  double b55 = exp2(-7.936508e-03*t);
5904  double b56 = exp2(-2.013369e-04*t);
5905  out[623] += (it->second) * (b50);
5906  out[622] += (it->second) * (-1.000000e+00*b50 + 1.000000e+00*b51);
5907  out[657] += (it->second) * (-3.545394e-02*b51 + 3.545393e-02*b52);
5908  out[685] += (it->second) * (4.550724e-04*b51 + -4.410918e-02*b52 + 4.365411e-02*b53);
5909  out[719] += (it->second) * (-1.143285e-06*b51 + 8.655249e-03*b52 + -4.365411e-02*b53 + 3.500000e-02);
5910  out[658] += (it->second) * (2.532680e-07*b50 + -1.136364e+00*b51 + 1.136364e+00*b54);
5911  out[687] += (it->second) * (1.377013e-01*b51 + -1.236458e+00*b54 + 1.098757e+00*b55);
5912  out[720] += (it->second) * (-1.338000e-03*b51 + 1.003002e-01*b54 + -1.127356e+00*b55 + 1.028394e+00*b56);
5913  out[752] += (it->second) * (3.297318e-07*b51 + -2.059801e-04*b54 + 2.859927e-02*b55 + -1.028394e+00*b56 + 0.965);
5914  break;
5915  } case 290750002: {
5916  double b57 = exp2(-6.711409e+06*t);
5917  double b58 = exp2(-8.169935e-01*t);
5918  double b59 = exp2(-1.046025e-02*t);
5919  double b60 = exp2(-2.052545e-03*t);
5920  double b61 = exp2(-9.803922e-02*t);
5921  double b62 = exp2(-7.936508e-03*t);
5922  double b63 = exp2(-2.013369e-04*t);
5923  out[624] += (it->second) * (b57);
5924  out[622] += (it->second) * (-1.000000e+00*b57 + 1.000000e+00*b58);
5925  out[657] += (it->second) * (-3.545393e-02*b58 + 3.545393e-02*b59);
5926  out[685] += (it->second) * (4.550723e-04*b58 + -4.410918e-02*b59 + 4.365411e-02*b60);
5927  out[719] += (it->second) * (-1.143285e-06*b58 + 8.655249e-03*b59 + -4.365411e-02*b60 + 3.500000e-02);
5928  out[658] += (it->second) * (1.217320e-07*b57 + -1.136364e+00*b58 + 1.136364e+00*b61);
5929  out[687] += (it->second) * (1.377013e-01*b58 + -1.236458e+00*b61 + 1.098757e+00*b62);
5930  out[720] += (it->second) * (-1.338000e-03*b58 + 1.003002e-01*b61 + -1.127356e+00*b62 + 1.028394e+00*b63);
5931  out[752] += (it->second) * (3.297318e-07*b58 + -2.059801e-04*b61 + 2.859927e-02*b62 + -1.028394e+00*b63 + 0.965);
5932  break;
5933  } case 290760000: {
5934  double b64 = exp2(-1.560062e+00*t);
5935  double b65 = exp2(-9.803922e-02*t);
5936  double b66 = exp2(-7.936508e-03*t);
5937  double b67 = exp2(-2.013369e-04*t);
5938  double b68 = exp2(-1.754386e-01*t);
5939  double b69 = exp2(-3.067485e-02*t);
5940  out[625] += (it->second) * (b64);
5941  out[658] += (it->second) * (-3.201172e-02*b64 + 3.201172e-02*b65);
5942  out[687] += (it->second) * (2.022003e-03*b64 + -3.483140e-02*b65 + 3.280940e-02*b66);
5943  out[720] += (it->second) * (-1.028787e-05*b64 + 2.825487e-03*b65 + -3.366339e-02*b66 + 3.084819e-02*b67);
5944  out[752] += (it->second) * (1.327721e-09*b64 + -5.802523e-06*b65 + 8.539878e-04*b66 + -3.084819e-02*b67 + 3.000000e-02);
5945  out[659] += (it->second) * (-1.126705e+00*b64 + 1.126705e+00*b68);
5946  out[688] += (it->second) * (1.292462e-01*b64 + -1.365449e+00*b68 + 1.236203e+00*b69);
5947  out[722] += (it->second) * (-2.541313e-03*b64 + 2.387442e-01*b68 + -1.236203e+00*b69 + 0.97);
5948  break;
5949  } case 290760001: {
5950  double b70 = exp2(-7.874016e-01*t);
5951  double b71 = exp2(-1.754386e-01*t);
5952  double b72 = exp2(-3.067485e-02*t);
5953  out[626] += (it->second) * (b70);
5954  out[659] += (it->second) * (-1.286682e+00*b70 + 1.286682e+00*b71);
5955  out[688] += (it->second) * (2.983027e-01*b70 + -1.559324e+00*b71 + 1.261022e+00*b72);
5956  out[722] += (it->second) * (-1.162100e-02*b70 + 2.726426e-01*b71 + -1.261022e+00*b72 + 1.0);
5957  break;
5958  } case 290770000: {
5959  double b73 = exp2(-2.137209e+00*t);
5960  double b74 = exp2(-1.754386e-01*t);
5961  double b75 = exp2(-3.067485e-02*t);
5962  double b76 = exp2(-4.807692e-01*t);
5963  double b77 = exp2(-7.575758e-02*t);
5964  double b78 = exp2(-2.477725e-05*t);
5965  double b79 = exp2(-7.161067e-06*t);
5966  out[627] += (it->second) * (b73);
5967  out[659] += (it->second) * (-3.300969e-01*b73 + 3.300969e-01*b74);
5968  out[688] += (it->second) * (2.749148e-02*b73 + -4.000431e-01*b74 + 3.725516e-01*b75);
5969  out[722] += (it->second) * (-3.945786e-04*b73 + 6.994618e-02*b74 + -3.725516e-01*b75 + 3.030000e-01);
5970  out[660] += (it->second) * (-1.290243e+00*b73 + 1.290243e+00*b76);
5971  out[689] += (it->second) * (3.009088e-01*b73 + -1.531583e+00*b76 + 1.230674e+00*b77);
5972  out[723] += (it->second) * (-1.066643e-02*b73 + 2.413528e-01*b76 + -1.231077e+00*b77 + 1.000390e+00*b78);
5973  out[755] += (it->second) * (1.236593e-07*b73 + -1.243871e-05*b76 + 4.026737e-04*b77 + -1.407054e+00*b78 + 1.406664e+00*b79);
5974  out[787] += (it->second) * (-4.143406e-13*b73 + 1.852748e-10*b76 + -3.806316e-08*b77 + 4.066636e-01*b78 + -1.406664e+00*b79 + 0.697);
5975  break;
5976  } case 290780000: {
5977  double b80 = exp2(-2.985075e+00*t);
5978  double b81 = exp2(-4.807692e-01*t);
5979  double b82 = exp2(-7.575758e-02*t);
5980  double b83 = exp2(-2.477725e-05*t);
5981  double b84 = exp2(-7.161067e-06*t);
5982  double b85 = exp2(-6.802721e-01*t);
5983  double b86 = exp2(-1.964637e-01*t);
5984  double b87 = exp2(-1.893939e-04*t);
5985  double b88 = exp2(-1.837560e-04*t);
5986  out[628] += (it->second) * (b80);
5987  out[660] += (it->second) * (-7.747851e-01*b80 + 7.747851e-01*b81);
5988  out[689] += (it->second) * (1.280345e-01*b80 + -9.197089e-01*b81 + 7.916745e-01*b82);
5989  out[723] += (it->second) * (-3.249386e-03*b80 + 1.449313e-01*b81 + -7.919335e-01*b82 + 6.502516e-01*b83);
5990  out[755] += (it->second) * (2.697120e-08*b80 + -7.469390e-06*b81 + 2.590340e-04*b82 + -9.145820e-01*b83 + 9.143305e-01*b84);
5991  out[787] += (it->second) * (-6.470277e-14*b80 + 1.112567e-10*b81 + -2.448547e-08*b82 + 2.643305e-01*b83 + -9.143305e-01*b84 + 6.500000e-01);
5992  out[662] += (it->second) * (-1.295154e+00*b80 + 1.295154e+00*b85);
5993  out[690] += (it->second) * (3.159484e-01*b80 + -1.821087e+00*b85 + 1.505139e+00*b86);
5994  out[725] += (it->second) * (-2.079557e-02*b80 + 5.260792e-01*b85 + -1.506591e+00*b86 + 1.001307e+00*b87);
5995  out[757] += (it->second) * (1.319497e-06*b80 + -1.465048e-04*b85 + 1.453736e-03*b86 + -3.363651e+01*b87 + 3.363520e+01*b88);
5996  out[789] += (it->second) * (-8.122593e-11*b80 + 3.957407e-08*b85 + -1.359705e-06*b86 + 3.263520e+01*b87 + -3.363520e+01*b88 + 0.35);
5997  break;
5998  } case 290790000: {
5999  double b89 = exp2(-4.149378e+00*t);
6000  double b90 = exp2(-6.802721e-01*t);
6001  double b91 = exp2(-1.964637e-01*t);
6002  double b92 = exp2(-1.893939e-04*t);
6003  double b93 = exp2(-1.837560e-04*t);
6004  double b94 = exp2(-1.005025e+00*t);
6005  double b95 = exp2(-3.512469e-01*t);
6006  double b96 = exp2(-5.268704e-02*t);
6007  double b97 = exp2(-1.849797e-03*t);
6008  double b98 = exp2(-1.074172e-13*t);
6009  out[629] += (it->second) * (b89);
6010  out[662] += (it->second) * (-6.578519e-01*b89 + 6.578519e-01*b90);
6011  out[690] += (it->second) * (1.132123e-01*b89 + -9.249907e-01*b90 + 8.117784e-01*b91);
6012  out[725] += (it->second) * (-5.360589e-03*b89 + 2.672132e-01*b90 + -8.125617e-01*b91 + 5.507092e-01*b92);
6013  out[757] += (it->second) * (2.446892e-07*b89 + -7.441467e-05*b90 + 7.840552e-04*b91 + -1.849975e+01*b92 + 1.849904e+01*b93);
6014  out[789] += (it->second) * (-1.083611e-11*b89 + 2.010099e-08*b90 + -7.333408e-07*b91 + 1.794904e+01*b92 + -1.849904e+01*b93 + 5.500000e-01);
6015  out[664] += (it->second) * (-1.319629e+00*b89 + 1.319629e+00*b94);
6016  out[690] += (it->second) * (4.361689e-03*b89 + -2.132352e-02*b94 + 1.696183e-02*b91);
6017  out[725] += (it->second) * (-2.065255e-04*b89 + 4.169136e-03*b94 + -1.697820e-02*b91 + 1.301559e-02*b92);
6018  out[757] += (it->second) * (9.427056e-09*b89 + -7.858048e-07*b94 + 1.638257e-05*b91 + -4.372274e-01*b92 + 4.372118e-01*b93);
6019  out[789] += (it->second) * (-4.174790e-13*b89 + 1.436743e-10*b94 + -1.532291e-08*b91 + 4.242119e-01*b92 + -4.372118e-01*b93 + 1.300000e-02);
6020  out[692] += (it->second) * (3.491876e-01*b89 + -2.028608e+00*b94 + 1.679421e+00*b95);
6021  out[725] += (it->second) * (-2.630863e-05*b89 + 6.311109e-04*b94 + -1.495491e-03*b95 + 8.906886e-04*b92);
6022  out[757] += (it->second) * (1.200882e-09*b89 + -1.189527e-07*b94 + 8.067976e-07*b95 + -2.992054e-02*b92 + 2.991985e-02*b93);
6023  out[789] += (it->second) * (-5.318131e-14*b89 + 2.174898e-11*b94 + -4.220788e-10*b95 + 2.902985e-02*b92 + -2.991985e-02*b93 + 8.900000e-04);
6024  out[726] += (it->second) * (-2.993906e-02*b89 + 7.482033e-01*b94 + -1.975789e+00*b95 + 1.257525e+00*b96);
6025  out[758] += (it->second) * (3.803230e-04*b89 + -3.929584e-02*b94 + 2.979374e-01*b95 + -1.303282e+00*b96 + 1.044260e+00*b97);
6026  out[790] += (it->second) * (-1.695484e-07*b89 + 7.232586e-05*b94 + -1.569049e-03*b95 + 4.575711e-02*b96 + -1.044260e+00*b97 + 1.000000e+00*b98);
6027  out[824] += (it->second) * (-1.000000e+00*b98 + 0.43611);
6028  break;
6029  } case 290800000: {
6030  double b99 = exp2(-8.802817e+00*t);
6031  double b100 = exp2(-1.779676e+00*t);
6032  double b101 = exp2(-3.512469e-01*t);
6033  double b102 = exp2(-1.893939e-04*t);
6034  double b103 = exp2(-1.837560e-04*t);
6035  double b104 = exp2(-5.268704e-02*t);
6036  double b105 = exp2(-1.849797e-03*t);
6037  double b106 = exp2(-1.074172e-13*t);
6038  double b107 = exp2(-5.263158e-01*t);
6039  double b108 = exp2(-3.389831e-02*t);
6040  double b109 = exp2(-6.578947e-02*t);
6041  out[630] += (it->second) * (b99);
6042  out[665] += (it->second) * (-1.253402e+00*b99 + 1.253402e+00*b100);
6043  out[692] += (it->second) * (2.639331e-03*b99 + -1.561610e-02*b100 + 1.297677e-02*b101);
6044  out[725] += (it->second) * (-9.373118e-08*b99 + 2.743344e-06*b100 + -1.155555e-05*b101 + 8.905941e-06*b102);
6045  out[757] += (it->second) * (2.016683e-12*b99 + -2.919781e-10*b100 + 6.234069e-09*b101 + -2.991736e-04*b102 + 2.991677e-04*b103);
6046  out[789] += (it->second) * (-4.209760e-17*b99 + 3.014746e-14*b100 + -3.261373e-12*b101 + 2.902677e-04*b102 + -2.991677e-04*b103 + 8.900000e-06);
6047  out[726] += (it->second) * (-1.059478e-04*b99 + 3.176110e-03*b100 + -1.526679e-02*b101 + 1.219662e-02*b104);
6048  out[758] += (it->second) * (6.342570e-07*b99 + -9.412608e-05*b100 + 2.302142e-03*b101 + -1.264042e-02*b104 + 1.043177e-02*b105);
6049  out[790] += (it->second) * (-1.332808e-10*b99 + 9.783471e-08*b100 + -1.212393e-05*b101 + 4.437942e-04*b104 + -1.043177e-02*b105 + 1.000000e-02*b106);
6050  out[824] += (it->second) * (-1.000000e-02*b106 + 1.000000e-02);
6051  out[693] += (it->second) * (2.695160e-01*b99 + -1.779735e+00*b100 + 1.510219e+00*b107);
6052  out[726] += (it->second) * (-1.394167e-04*b99 + 4.664559e-03*b100 + -1.443267e-02*b107 + 9.907529e-03*b104);
6053  out[758] += (it->second) * (8.346189e-07*b99 + -1.382372e-04*b100 + 1.449884e-03*b107 + -1.026803e-02*b104 + 8.955549e-03*b105);
6054  out[790] += (it->second) * (-1.753842e-10*b99 + 1.436839e-07*b100 + -5.095781e-06*b107 + 3.605017e-04*b104 + -8.955549e-03*b105 + 8.600000e-03*b106);
6055  out[824] += (it->second) * (-8.600000e-03*b106 + 8.600000e-03);
6056  out[728] += (it->second) * (-1.617651e-02*b99 + 5.365532e-01*b100 + -1.614183e+00*b107 + 1.093807e+00*b108);
6057  out[760] += (it->second) * (6.276234e-05*b99 + -1.061228e-02*b100 + 1.188164e-01*b107 + 1.162648e+00*b108 + -1.270915e+00*b109);
6058  out[792] += (it->second) * (-4.690659e-07*b99 + 3.923052e-04*b100 + -1.485205e-02*b107 + -2.256454e+00*b108 + 1.270915e+00*b109 + 0.9813911);
6059  break;
6060  } case 290810000: {
6061  double b110 = exp2(-1.366120e+01*t);
6062  double b111 = exp2(-3.125000e+00*t);
6063  double b112 = exp2(-5.263158e-01*t);
6064  double b113 = exp2(-5.268704e-02*t);
6065  double b114 = exp2(-1.849797e-03*t);
6066  double b115 = exp2(-1.074172e-13*t);
6067  double b116 = exp2(-3.389831e-02*t);
6068  double b117 = exp2(-6.578947e-02*t);
6069  double b118 = exp2(-8.216927e-01*t);
6070  double b119 = exp2(-1.315789e-01*t);
6071  double b120 = exp2(-3.003003e-02*t);
6072  double b121 = exp2(-9.033424e-04*t);
6073  out[631] += (it->second) * (b110);
6074  out[666] += (it->second) * (-1.296596e+00*b110 + 1.296596e+00*b111);
6075  out[693] += (it->second) * (2.313608e-02*b110 + -1.169399e-01*b111 + 9.380379e-02*b112);
6076  out[726] += (it->second) * (-7.695271e-06*b110 + 1.722828e-04*b111 + -8.964523e-04*b112 + 7.318647e-04*b113);
6077  out[758] += (it->second) * (2.968230e-08*b110 + -2.906383e-06*b111 + 9.005620e-05*b112 + -7.584948e-04*b113 + 6.713153e-04*b114);
6078  out[790] += (it->second) * (-4.019135e-12*b110 + 1.720390e-09*b111 + -3.165127e-07*b112 + 2.663010e-05*b113 + -6.713153e-04*b114 + 6.450000e-04*b115);
6079  out[824] += (it->second) * (-6.450000e-04*b115 + 6.450000e-04);
6080  out[728] += (it->second) * (-8.935652e-04*b110 + 1.991112e-02*b111 + -1.002613e-01*b112 + 8.124374e-02*b116);
6081  out[760] += (it->second) * (2.227983e-06*b110 + -2.206299e-04*b111 + 7.380008e-03*b112 + 8.635698e-02*b116 + -9.351859e-02*b117);
6082  out[792] += (it->second) * (-1.072950e-08*b110 + 4.644840e-06*b111 + -9.225010e-04*b112 + -1.676007e-01*b116 + 9.351859e-02*b117 + 7.500000e-02);
6083  out[695] += (it->second) * (3.155778e-01*b110 + -1.759150e+00*b111 + 1.443573e+00*b118);
6084  out[728] += (it->second) * (-2.264398e-03*b110 + 5.564755e-02*b111 + -1.791769e-01*b118 + 1.257938e-01*b116);
6085  out[760] += (it->second) * (5.645968e-06*b110 + -6.166158e-04*b111 + 8.035149e-03*b118 + 1.337109e-01*b116 + -1.411351e-01*b117);
6086  out[792] += (it->second) * (-2.718980e-08*b110 + 1.298139e-05*b111 + -6.433405e-04*b118 + -2.595047e-01*b116 + 1.411351e-01*b117 + 1.190000e-01);
6087  out[729] += (it->second) * (-1.916594e-02*b110 + 4.828860e-01*b111 + -1.718808e+00*b118 + 1.255088e+00*b119);
6088  out[761] += (it->second) * (1.850049e-04*b110 + -2.052932e-02*b111 + 2.856759e-01*b118 + -1.626242e+00*b119 + 1.360911e+00*b120);
6089  out[793] += (it->second) * (-4.067044e-07*b110 + 1.973358e-04*b111 + -1.045196e-02*b118 + 3.737202e-01*b119 + -1.403118e+00*b120 + 1.039653e+00*b121);
6090  out[828] += (it->second) * (2.689319e-11*b110 + -5.704377e-08*b111 + 1.149055e-05*b118 + -2.565739e-03*b119 + 4.220763e-02*b120 + -1.039653e+00*b121 + 0.805355);
6091  break;
6092  } case 290820000: {
6093  double b122 = exp2(-1.572327e+06*t);
6094  out[632] += (it->second) * (b122);
6095  break;
6096  } default: {
6097  outcomp.insert(*it);
6098  break;
6099  }
6100  }
6101 }
6102 
6103 void decay_zn(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
6104  //using std::exp2;
6105  switch (nucname::id_to_state_id(it->first)) {
6106  case 300540000: {
6107  double b0 = exp2(-6.289308e+02*t);
6108  double b1 = exp2(-2.450980e+01*t);
6109  double b2 = exp2(-3.278689e+00*t);
6110  double b3 = exp2(-3.607504e-04*t);
6111  double b4 = exp2(-4.178215e-07*t);
6112  double b5 = exp2(-8.695652e+00*t);
6113  double b6 = exp2(-3.356831e-05*t);
6114  double b7 = exp2(-2.070126e-06*t);
6115  out[633] += (it->second) * (b0);
6116  out[564] += (it->second) * (-9.573068e-01*b0 + 9.573068e-01*b1);
6117  out[498] += (it->second) * (1.177573e-02*b0 + -3.470147e-01*b1 + 3.352389e-01*b2);
6118  out[465] += (it->second) * (-6.138825e-05*b0 + 4.642100e-02*b1 + -3.352758e-01*b2 + 2.889162e-01*b3);
6119  out[439] += (it->second) * (-6.832529e-07*b1 + 3.689002e-05*b2 + -2.892512e-01*b3 + 2.892150e-01*b4);
6120  out[411] += (it->second) * (1.164749e-14*b1 + -4.701101e-12*b2 + 3.350111e-04*b3 + -2.892150e-01*b4 + 2.888800e-01);
6121  out[529] += (it->second) * (3.782985e-02*b0 + -1.483697e+00*b1 + 1.445867e+00*b5);
6122  out[499] += (it->second) * (-5.230388e-04*b0 + 5.263904e-01*b1 + -1.445872e+00*b5 + 9.200049e-01*b6);
6123  out[466] += (it->second) * (-7.209376e-07*b1 + 5.581583e-06*b5 + -9.804695e-01*b6 + 9.804646e-01*b7);
6124  out[440] += (it->second) * (6.089121e-14*b1 + -1.328777e-12*b5 + 6.046462e-02*b6 + -9.804646e-01*b7 + 7.111200e-01);
6125  break;
6126  } case 300550000: {
6127  double b8 = exp2(-5.000000e+01*t);
6128  out[634] += (it->second) * (b8);
6129  break;
6130  } case 300560000: {
6131  double b9 = exp2(-3.333333e+01*t);
6132  double b10 = exp2(-4.885198e+00*t);
6133  double b11 = exp2(-1.584585e-05*t);
6134  double b12 = exp2(-1.154814e-08*t);
6135  out[635] += (it->second) * (b9);
6136  out[567] += (it->second) * (-1.007682e+00*b9 + 1.007682e+00*b10);
6137  out[533] += (it->second) * (1.476818e-01*b9 + -1.007685e+00*b10 + 8.600032e-01*b11);
6138  out[504] += (it->second) * (-8.606304e-01*b11 + 8.606272e-01*b12);
6139  out[470] += (it->second) * (6.272101e-04*b11 + -8.606272e-01*b12 + 8.600000e-01);
6140  break;
6141  } case 300570000: {
6142  double b13 = exp2(-2.500000e+01*t);
6143  double b14 = exp2(-5.094244e+00*t);
6144  double b15 = exp2(-7.802747e-06*t);
6145  double b16 = exp2(-4.259246e-08*t);
6146  out[636] += (it->second) * (b13);
6147  out[601] += (it->second) * (-1.255918e+00*b13 + 1.255918e+00*b14);
6148  out[569] += (it->second) * (2.559182e-01*b13 + -1.255920e+00*b14 + 1.000002e+00*b15);
6149  out[535] += (it->second) * (-1.005490e+00*b15 + 1.005489e+00*b16);
6150  out[506] += (it->second) * (5.488620e-03*b15 + -1.005489e+00*b16 + 1.0);
6151  break;
6152  } case 300580000: {
6153  double b17 = exp2(-1.153403e+01*t);
6154  double b18 = exp2(-3.121099e-01*t);
6155  out[637] += (it->second) * (b17);
6156  out[602] += (it->second) * (-1.027813e+00*b17 + 1.027813e+00*b18);
6157  out[570] += (it->second) * (2.781253e-02*b17 + -1.027813e+00*b18 + 1.0);
6158  break;
6159  } case 300590000: {
6160  double b19 = exp2(-5.494505e+00*t);
6161  double b20 = exp2(-1.226994e-02*t);
6162  double b21 = exp2(-4.169485e-13*t);
6163  out[638] += (it->second) * (b19);
6164  out[570] += (it->second) * (-1.000000e-03*b19 + 1.000000e-03);
6165  out[603] += (it->second) * (-1.002238e+00*b19 + 1.002238e+00*b20);
6166  out[571] += (it->second) * (2.238127e-03*b19 + -1.002238e+00*b20 + 1.000000e+00*b21);
6167  out[539] += (it->second) * (-1.000000e+00*b21 + 0.999);
6168  break;
6169  } case 300600000: {
6170  double b22 = exp2(-7.002801e-03*t);
6171  double b23 = exp2(-7.032349e-04*t);
6172  out[639] += (it->second) * (b22);
6173  out[604] += (it->second) * (-1.111632e+00*b22 + 1.111632e+00*b23);
6174  out[572] += (it->second) * (1.116323e-01*b22 + -1.111632e+00*b23 + 1.0);
6175  break;
6176  } case 300610000: {
6177  double b24 = exp2(-1.122334e-02*t);
6178  double b25 = exp2(-8.334167e-05*t);
6179  out[640] += (it->second) * (b24);
6180  out[605] += (it->second) * (-1.007481e+00*b24 + 1.007481e+00*b25);
6181  out[573] += (it->second) * (7.481297e-03*b24 + -1.007481e+00*b25 + 1.0);
6182  break;
6183  } case 300620000: {
6184  double b26 = exp2(-3.021623e-05*t);
6185  double b27 = exp2(-1.723544e-03*t);
6186  out[641] += (it->second) * (b26);
6187  out[606] += (it->second) * (1.784429e-02*b26 + -1.784429e-02*b27);
6188  out[574] += (it->second) * (-1.017844e+00*b26 + 1.784429e-02*b27 + 1.0);
6189  break;
6190  } case 300630000: {
6191  double b28 = exp2(-4.332380e-04*t);
6192  out[642] += (it->second) * (b28);
6193  out[607] += (it->second) * (-1.000000e+00*b28 + 1.0);
6194  break;
6195  } case 300640000: {
6196  out[643] += it->second;
6197  break;
6198  } case 300650000: {
6199  double b29 = exp2(-4.744834e-08*t);
6200  out[644] += (it->second) * (b29);
6201  out[609] += (it->second) * (-1.000000e+00*b29 + 1.0);
6202  break;
6203  } case 300660000: {
6204  out[645] += it->second;
6205  break;
6206  } case 300670000: {
6207  out[646] += it->second;
6208  break;
6209  } case 300680000: {
6210  out[647] += it->second;
6211  break;
6212  } case 300690000: {
6213  double b30 = exp2(-2.955083e-04*t);
6214  out[648] += (it->second) * (b30);
6215  out[680] += (it->second) * (-1.000000e+00*b30 + 1.0);
6216  break;
6217  } case 300690001: {
6218  double b31 = exp2(-2.019321e-05*t);
6219  double b32 = exp2(-2.955083e-04*t);
6220  out[649] += (it->second) * (b31);
6221  out[648] += (it->second) * (7.332161e-02*b31 + -7.332161e-02*b32);
6222  out[680] += (it->second) * (-1.072992e+00*b31 + 7.332161e-02*b32 + 9.996700e-01);
6223  out[680] += (it->second) * (-3.300000e-04*b31 + 3.300000e-04);
6224  break;
6225  } case 300700000: {
6226  double b33 = exp2(-2.437545e-24*t);
6227  out[650] += (it->second) * (b33);
6228  break;
6229  } case 300710000: {
6230  double b34 = exp2(-6.802721e-03*t);
6231  out[651] += (it->second) * (b34);
6232  out[682] += (it->second) * (-1.000000e+00*b34 + 1.0);
6233  break;
6234  } case 300710001: {
6235  double b35 = exp2(-7.014590e-05*t);
6236  out[652] += (it->second) * (b35);
6237  out[682] += (it->second) * (-1.000000e+00*b35 + 1.0);
6238  break;
6239  } case 300720000: {
6240  double b36 = exp2(-5.973716e-06*t);
6241  double b37 = exp2(-1.970055e-05*t);
6242  out[653] += (it->second) * (b36);
6243  out[683] += (it->second) * (4.351852e-01*b36 + -4.351852e-01*b37);
6244  out[716] += (it->second) * (-1.435185e+00*b36 + 4.351852e-01*b37 + 1.0);
6245  break;
6246  } case 300730000: {
6247  double b38 = exp2(-4.255319e-02*t);
6248  double b39 = exp2(-5.715592e-05*t);
6249  out[654] += (it->second) * (b38);
6250  out[684] += (it->second) * (-1.001345e+00*b38 + 1.001345e+00*b39);
6251  out[717] += (it->second) * (1.344971e-03*b38 + -1.001345e+00*b39 + 1.0);
6252  break;
6253  } case 300730001: {
6254  double b40 = exp2(-1.724138e-01*t);
6255  out[655] += (it->second) * (b40);
6256  break;
6257  } case 300730002: {
6258  double b41 = exp2(-7.692308e+01*t);
6259  double b42 = exp2(-4.255319e-02*t);
6260  double b43 = exp2(-5.715592e-05*t);
6261  out[656] += (it->second) * (b41);
6262  out[654] += (it->second) * (-1.000553e+00*b41 + 1.000553e+00*b42);
6263  out[684] += (it->second) * (5.534981e-04*b41 + -1.001899e+00*b42 + 1.001346e+00*b43);
6264  out[717] += (it->second) * (-4.112640e-10*b41 + 1.345715e-03*b42 + -1.001346e+00*b43 + 1.0);
6265  break;
6266  } case 300740000: {
6267  double b44 = exp2(-1.046025e-02*t);
6268  double b45 = exp2(-2.052545e-03*t);
6269  out[657] += (it->second) * (b44);
6270  out[685] += (it->second) * (-1.244127e+00*b44 + 1.244127e+00*b45);
6271  out[719] += (it->second) * (2.441267e-01*b44 + -1.244127e+00*b45 + 1.0);
6272  break;
6273  } case 300750000: {
6274  double b46 = exp2(-9.803922e-02*t);
6275  double b47 = exp2(-7.936508e-03*t);
6276  double b48 = exp2(-2.013369e-04*t);
6277  out[658] += (it->second) * (b46);
6278  out[687] += (it->second) * (-1.088083e+00*b46 + 1.088083e+00*b47);
6279  out[720] += (it->second) * (8.826416e-02*b46 + -1.116404e+00*b47 + 1.028140e+00*b48);
6280  out[752] += (it->second) * (-1.812625e-04*b46 + 2.832144e-02*b47 + -1.028140e+00*b48 + 1.0);
6281  break;
6282  } case 300760000: {
6283  double b49 = exp2(-1.754386e-01*t);
6284  double b50 = exp2(-3.067485e-02*t);
6285  out[659] += (it->second) * (b49);
6286  out[688] += (it->second) * (-1.211896e+00*b49 + 1.211896e+00*b50);
6287  out[722] += (it->second) * (2.118959e-01*b49 + -1.211896e+00*b50 + 1.0);
6288  break;
6289  } case 300770000: {
6290  double b51 = exp2(-4.807692e-01*t);
6291  double b52 = exp2(-7.575758e-02*t);
6292  double b53 = exp2(-2.477725e-05*t);
6293  double b54 = exp2(-7.161067e-06*t);
6294  out[660] += (it->second) * (b51);
6295  out[689] += (it->second) * (-1.187050e+00*b51 + 1.187050e+00*b52);
6296  out[723] += (it->second) * (1.870600e-01*b51 + -1.187439e+00*b52 + 1.000379e+00*b53);
6297  out[755] += (it->second) * (-9.640596e-06*b51 + 3.884001e-04*b52 + -1.407038e+00*b53 + 1.406659e+00*b54);
6298  out[787] += (it->second) * (1.435969e-10*b51 + -3.671394e-08*b52 + 4.066589e-01*b53 + -1.406659e+00*b54 + 1.0);
6299  break;
6300  } case 300770002: {
6301  double b55 = exp2(-9.523810e-01*t);
6302  double b56 = exp2(-4.807692e-01*t);
6303  double b57 = exp2(-7.575758e-02*t);
6304  double b58 = exp2(-2.477725e-05*t);
6305  double b59 = exp2(-7.161067e-06*t);
6306  out[661] += (it->second) * (b55);
6307  out[660] += (it->second) * (-6.866019e-01*b55 + 6.866019e-01*b56);
6308  out[689] += (it->second) * (3.765552e-01*b55 + -8.150311e-01*b56 + 4.384759e-01*b57);
6309  out[723] += (it->second) * (-2.995403e-02*b55 + 1.284358e-01*b56 + -4.386193e-01*b57 + 3.401376e-01*b58);
6310  out[755] += (it->second) * (7.792934e-07*b55 + -6.619252e-06*b56 + 1.434683e-04*b57 + -4.784052e-01*b58 + 4.782676e-01*b59);
6311  out[787] += (it->second) * (-5.859601e-12*b55 + 9.859388e-11*b56 + -1.356149e-08*b57 + 1.382676e-01*b58 + -4.782676e-01*b59 + 3.400000e-01);
6312  out[689] += (it->second) * (-7.170370e-01*b55 + 7.170370e-01*b57);
6313  out[723] += (it->second) * (5.703852e-02*b55 + -7.172716e-01*b57 + 6.602331e-01*b58);
6314  out[755] += (it->second) * (-1.483932e-06*b55 + 2.346128e-04*b57 + -9.286211e-01*b58 + 9.283880e-01*b59);
6315  out[787] += (it->second) * (1.115786e-11*b55 + -2.217703e-08*b57 + 2.683880e-01*b58 + -9.283880e-01*b59 + 6.600000e-01);
6316  break;
6317  } case 300780000: {
6318  double b60 = exp2(-6.802721e-01*t);
6319  double b61 = exp2(-1.964637e-01*t);
6320  double b62 = exp2(-1.893939e-04*t);
6321  double b63 = exp2(-1.837560e-04*t);
6322  out[662] += (it->second) * (b60);
6323  out[690] += (it->second) * (-1.406077e+00*b60 + 1.406077e+00*b61);
6324  out[725] += (it->second) * (4.061904e-01*b60 + -1.407434e+00*b61 + 1.001244e+00*b62);
6325  out[757] += (it->second) * (-1.131177e-04*b60 + 1.358058e-03*b61 + -3.363437e+01*b62 + 3.363313e+01*b63);
6326  out[789] += (it->second) * (3.055549e-08*b60 + -1.270216e-06*b61 + 3.263313e+01*b62 + -3.363313e+01*b63 + 1.0);
6327  break;
6328  } case 300780004: {
6329  double b64 = exp2(-3.134796e+06*t);
6330  double b65 = exp2(-6.802721e-01*t);
6331  double b66 = exp2(-1.964637e-01*t);
6332  double b67 = exp2(-1.893939e-04*t);
6333  double b68 = exp2(-1.837560e-04*t);
6334  out[663] += (it->second) * (b64);
6335  out[662] += (it->second) * (-1.000000e+00*b64 + 1.000000e+00*b65);
6336  out[690] += (it->second) * (2.170069e-07*b64 + -1.406078e+00*b65 + 1.406077e+00*b66);
6337  out[725] += (it->second) * (4.061905e-01*b65 + -1.407434e+00*b66 + 1.001244e+00*b67);
6338  out[757] += (it->second) * (-1.131177e-04*b65 + 1.358058e-03*b66 + -3.363437e+01*b67 + 3.363313e+01*b68);
6339  out[789] += (it->second) * (3.055550e-08*b65 + -1.270216e-06*b66 + 3.263313e+01*b67 + -3.363313e+01*b68 + 1.0);
6340  break;
6341  } case 300790000: {
6342  double b69 = exp2(-1.005025e+00*t);
6343  double b70 = exp2(-1.964637e-01*t);
6344  double b71 = exp2(-1.893939e-04*t);
6345  double b72 = exp2(-1.837560e-04*t);
6346  double b73 = exp2(-3.512469e-01*t);
6347  double b74 = exp2(-5.268704e-02*t);
6348  double b75 = exp2(-1.849797e-03*t);
6349  double b76 = exp2(-1.074172e-13*t);
6350  out[664] += (it->second) * (b69);
6351  out[690] += (it->second) * (-1.615873e-02*b69 + 1.615873e-02*b70);
6352  out[725] += (it->second) * (3.159326e-03*b69 + -1.617432e-02*b70 + 1.301500e-02*b71);
6353  out[757] += (it->second) * (-5.954742e-07*b69 + 1.560689e-05*b70 + -4.372075e-01*b71 + 4.371925e-01*b72);
6354  out[789] += (it->second) * (1.088748e-10*b69 + -1.459740e-08*b70 + 4.241925e-01*b71 + -4.371925e-01*b72 + 1.300000e-02);
6355  out[692] += (it->second) * (-1.537257e+00*b69 + 1.537257e+00*b73);
6356  out[725] += (it->second) * (4.782489e-04*b69 + -1.368897e-03*b73 + 8.906480e-04*b71);
6357  out[757] += (it->second) * (-9.014103e-08*b69 + 7.385018e-07*b73 + -2.991918e-02*b71 + 2.991853e-02*b72);
6358  out[789] += (it->second) * (1.648113e-11*b69 + -3.863496e-10*b73 + 2.902853e-02*b71 + -2.991853e-02*b72 + 8.900000e-04);
6359  out[726] += (it->second) * (5.669802e-01*b69 + -1.808538e+00*b73 + 1.241558e+00*b74);
6360  out[758] += (it->second) * (-2.977795e-02*b69 + 2.727169e-01*b73 + -1.286734e+00*b74 + 1.043795e+00*b75);
6361  out[790] += (it->second) * (5.480773e-05*b69 + -1.436228e-03*b73 + 4.517611e-02*b74 + -1.043795e+00*b75 + 1.000000e+00*b76);
6362  out[824] += (it->second) * (-1.000000e+00*b76 + 0.98611);
6363  break;
6364  } case 300800000: {
6365  double b77 = exp2(-1.779676e+00*t);
6366  double b78 = exp2(-3.512469e-01*t);
6367  double b79 = exp2(-1.893939e-04*t);
6368  double b80 = exp2(-1.837560e-04*t);
6369  double b81 = exp2(-5.268704e-02*t);
6370  double b82 = exp2(-1.849797e-03*t);
6371  double b83 = exp2(-1.074172e-13*t);
6372  double b84 = exp2(-5.263158e-01*t);
6373  double b85 = exp2(-3.389831e-02*t);
6374  double b86 = exp2(-6.578947e-02*t);
6375  out[665] += (it->second) * (b77);
6376  out[692] += (it->second) * (-1.245897e-02*b77 + 1.245897e-02*b78);
6377  out[725] += (it->second) * (2.188719e-06*b77 + -1.109447e-05*b78 + 8.905749e-06*b79);
6378  out[757] += (it->second) * (-2.329485e-10*b77 + 5.985319e-09*b78 + -2.991672e-04*b79 + 2.991615e-04*b80);
6379  out[789] += (it->second) * (2.405252e-14*b77 + -3.131239e-12*b78 + 2.902615e-04*b79 + -2.991615e-04*b80 + 8.900000e-06);
6380  out[726] += (it->second) * (2.533992e-03*b77 + -1.465762e-02*b78 + 1.212362e-02*b81);
6381  out[758] += (it->second) * (-7.509650e-05*b77 + 2.210283e-03*b78 + -1.256476e-02*b81 + 1.042958e-02*b82);
6382  out[790] += (it->second) * (7.805535e-08*b77 + -1.164017e-05*b78 + 4.411380e-04*b81 + -1.042958e-02*b82 + 1.000000e-02*b83);
6383  out[824] += (it->second) * (-1.000000e-02*b83 + 1.000000e-02);
6384  out[693] += (it->second) * (-1.419924e+00*b77 + 1.419924e+00*b84);
6385  out[726] += (it->second) * (3.721519e-03*b77 + -1.356975e-02*b84 + 9.848230e-03*b81);
6386  out[758] += (it->second) * (-1.102897e-04*b77 + 1.363196e-03*b84 + -1.020657e-02*b81 + 8.953668e-03*b82);
6387  out[790] += (it->second) * (1.146351e-07*b77 + -4.791107e-06*b84 + 3.583440e-04*b81 + -8.953668e-03*b82 + 8.600000e-03*b83);
6388  out[824] += (it->second) * (-8.600000e-03*b83 + 8.600000e-03);
6389  out[728] += (it->second) * (4.280776e-01*b77 + -1.517672e+00*b84 + 1.089595e+00*b85);
6390  out[760] += (it->second) * (-8.466782e-03*b77 + 1.117124e-01*b84 + 1.158170e+00*b85 + -1.261416e+00*b86);
6391  out[792] += (it->second) * (3.129924e-04*b77 + -1.396405e-02*b84 + -2.247765e+00*b85 + 1.261416e+00*b86 + 0.9813911);
6392  break;
6393  } case 300810000: {
6394  double b87 = exp2(-3.125000e+00*t);
6395  double b88 = exp2(-5.263158e-01*t);
6396  double b89 = exp2(-5.268704e-02*t);
6397  double b90 = exp2(-1.849797e-03*t);
6398  double b91 = exp2(-1.074172e-13*t);
6399  double b92 = exp2(-3.389831e-02*t);
6400  double b93 = exp2(-6.578947e-02*t);
6401  double b94 = exp2(-8.216927e-01*t);
6402  double b95 = exp2(-1.315789e-01*t);
6403  double b96 = exp2(-3.003003e-02*t);
6404  double b97 = exp2(-9.033424e-04*t);
6405  out[666] += (it->second) * (b87);
6406  out[693] += (it->second) * (-9.018987e-02*b87 + 9.018987e-02*b88);
6407  out[726] += (it->second) * (1.328731e-04*b87 + -8.619153e-04*b88 + 7.290421e-04*b89);
6408  out[758] += (it->second) * (-2.241548e-06*b87 + 8.658667e-05*b88 + -7.555695e-04*b89 + 6.712244e-04*b90);
6409  out[790] += (it->second) * (1.326851e-09*b87 + -3.043187e-07*b88 + 2.652739e-05*b89 + -6.712244e-04*b90 + 6.450000e-04*b91);
6410  out[824] += (it->second) * (-6.450000e-04*b91 + 6.450000e-04);
6411  out[728] += (it->second) * (1.535645e-02*b87 + -9.639860e-02*b88 + 8.104214e-02*b92);
6412  out[760] += (it->second) * (-1.701608e-04*b87 + 7.095684e-03*b88 + 8.614270e-02*b92 + -9.306822e-02*b93);
6413  out[792] += (it->second) * (3.582332e-06*b87 + -8.869605e-04*b88 + -1.671848e-01*b92 + 9.306822e-02*b93 + 7.500000e-02);
6414  out[695] += (it->second) * (-1.356745e+00*b87 + 1.356745e+00*b94);
6415  out[728] += (it->second) * (4.291817e-02*b87 + -1.683998e-01*b94 + 1.254817e-01*b92);
6416  out[760] += (it->second) * (-4.755650e-04*b87 + 7.551851e-03*b94 + 1.333791e-01*b92 + -1.404554e-01*b93);
6417  out[792] += (it->second) * (1.001189e-05*b87 + -6.046449e-04*b94 + -2.588608e-01*b92 + 1.404554e-01*b93 + 1.190000e-01);
6418  out[729] += (it->second) * (3.724258e-01*b87 + -1.615425e+00*b94 + 1.243000e+00*b95);
6419  out[761] += (it->second) * (-1.583324e-02*b87 + 2.684931e-01*b94 + -1.610579e+00*b95 + 1.357919e+00*b96);
6420  out[793] += (it->second) * (1.521952e-04*b87 + -9.823295e-03*b94 + 3.701207e-01*b95 + -1.400034e+00*b96 + 1.039585e+00*b97);
6421  out[828] += (it->second) * (-4.399501e-08*b87 + 1.079941e-05*b94 + -2.541027e-03*b95 + 4.211485e-02*b96 + -1.039585e+00*b97 + 0.805355);
6422  break;
6423  } case 300820000: {
6424  double b98 = exp2(-4.385965e+00*t);
6425  double b99 = exp2(-1.669449e+00*t);
6426  double b100 = exp2(-1.315789e-01*t);
6427  double b101 = exp2(-3.003003e-02*t);
6428  double b102 = exp2(-9.033424e-04*t);
6429  double b103 = exp2(-2.192982e-01*t);
6430  double b104 = exp2(-5.235602e-02*t);
6431  out[667] += (it->second) * (b98);
6432  out[696] += (it->second) * (-1.614555e+00*b98 + 1.614555e+00*b99);
6433  out[729] += (it->second) * (1.343152e-01*b98 + -3.715714e-01*b99 + 2.372562e-01*b100);
6434  out[761] += (it->second) * (-4.057234e-03*b98 + 2.982213e-02*b99 + -3.074176e-01*b100 + 2.816527e-01*b101);
6435  out[793] += (it->second) * (2.778498e-05*b98 + -5.367306e-04*b99 + 7.064639e-02*b100 + -2.903880e-01*b101 + 2.202505e-01*b102);
6436  out[828] += (it->second) * (-5.722653e-09*b98 + 2.904261e-07*b99 + -4.850159e-04*b100 + 8.735248e-03*b101 + -2.202505e-01*b102 + 2.120000e-01);
6437  out[731] += (it->second) * (6.469003e-01*b98 + -1.858715e+00*b99 + 1.211815e+00*b103);
6438  out[762] += (it->second) * (-3.273579e-02*b98 + 2.520653e-01*b99 + -1.591862e+00*b103 + 1.372532e+00*b104);
6439  out[795] += (it->second) * (3.907727e-04*b98 + -7.905084e-03*b99 + 3.800466e-01*b103 + -1.372532e+00*b104 + 0.788);
6440  break;
6441  } case 300830000: {
6442  double b105 = exp2(-8.547009e+00*t);
6443  out[668] += (it->second) * (b105);
6444  break;
6445  } case 300840000: {
6446  double b106 = exp2(-1.579779e+06*t);
6447  out[669] += (it->second) * (b106);
6448  break;
6449  } case 300850000: {
6450  double b107 = exp2(-1.569859e+06*t);
6451  out[670] += (it->second) * (b107);
6452  break;
6453  } default: {
6454  outcomp.insert(*it);
6455  break;
6456  }
6457  }
6458 }
6459 
6460 void decay_ga(double t, std::map<int, double>::const_iterator &it, std::map<int, double> &outcomp, double (&out)[3979]) {
6461  //using std::exp2;
6462  switch (nucname::id_to_state_id(it->first)) {
6463  case 310600000: {
6464  double b0 = exp2(-1.428571e+01*t);
6465  double b1 = exp2(-1.226994e-02*t);
6466  double b2 = exp2(-4.169485e-13*t);
6467  double b3 = exp2(-7.002801e-03*t);
6468  double b4 = exp2(-7.032349e-04*t);
6469  out[671] += (it->second) * (b0);
6470  out[603] += (it->second) * (-1.601375e-02*b0 + 1.601375e-02*b1);
6471  out[571] += (it->second) * (1.375414e-05*b0 + -1.601375e-02*b1 + 1.600000e-02*b2);
6472  out[539] += (it->second) * (-1.600000e-02*b2 + 1.600000e-02);
6473  out[639] += (it->second) * (-1.000490e+00*b0 + 1.000490e+00*b3);
6474  out[604] += (it->second) * (4.904606e-04*b0 + -1.112177e+00*b3 + 1.111687e+00*b4);
6475  out[572] += (it->second) * (-2.414363e-08*b0 + 1.116870e-01*b3 + -1.111687e+00*b4 + 0.984);
6476  break;
6477  } case 310610000: {
6478  double b5 = exp2(-5.988024e+00*t);
6479  double b6 = exp2(-1.122334e-02*t);
6480  double b7 = exp2(-8.334167e-05*t);
6481  out[672] += (it->second) * (b5);
6482  out[640] += (it->second) * (-1.001878e+00*b5 + 1.001878e+00*b6);
6483  out[605] += (it->second) * (1.877844e-03*b5 + -1.009373e+00*b6 + 1.007495e+00*b7);
6484  out[573] += (it->second) * (-2.613595e-08*b5 + 7.495345e-03*b6 + -1.007495e+00*b7 + 1.0);
6485  break;
6486  } case 310620000: {
6487  double b8 = exp2(-8.611707e+00*t);
6488  double b9 = exp2(-3.021623e-05*t);
6489  double b10 = exp2(-1.723544e-03*t);
6490  out[673] += (it->second) * (b8);
6491  out[641] += (it->second) * (-1.000004e+00*b8 + 1.000004e+00*b9);
6492  out[606] += (it->second) * (3.509453e-06*b8 + 1.784435e-02*b9 + -1.784786e-02*b10);
6493  out[574] += (it->second) * (-7.023806e-10*b8 + -1.017848e+00*b9 + 1.784786e-02*b10 + 1.0);
6494  break;
6495  } case 310630000: {
6496  double b11 = exp2(-3.086420e-02*t);
6497  double b12 = exp2(-4.332380e-04*t);
6498  out[674] += (it->second) * (b11);
6499  out[642] += (it->second) * (-1.014237e+00*b11 + 1.014237e+00*b12);
6500  out[607] += (it->second) * (1.423675e-02*b11 + -1.014237e+00*b12 + 1.0);
6501  break;
6502  } case 310640000: {
6503  double b13 = exp2(-6.344373e-03*t);
6504  out[675] += (it->second) * (b13);
6505  out[643] += (it->second) * (-1.000000e+00*b13 + 1.0);
6506  break;
6507  } case 310650000: {
6508  double b14 = exp2(-1.096491e-03*t);
6509  double b15 = exp2(-4.744834e-08*t);
6510  out[676] += (it->second) * (b14);
6511  out[644] += (it->second) * (-1.000043e+00*b14 + 1.000043e+00*b15);
6512  out[609] += (it->second) * (4.327476e-05*b14 + -1.000043e+00*b15 + 1.0);
6513  break;
6514  } case 310660000: {
6515  double b16 = exp2(-2.927058e-05*t);
6516  out[677] += (it->second) * (b16);
6517  out[645] += (it->second) * (-1.000000e+00*b16 + 1.0);
6518  break;
6519  } case 310670000: {
6520  double b17 = exp2(-3.548479e-06*t);
6521  out[678] += (it->second) * (b17);
6522  out[646] += (it->second) * (-1.000000e+00*b17 + 1.0);
6523  break;
6524  } case 310680000: {
6525  double b18 = exp2(-2.461478e-04*t);
6526  out[679] += (it->second) * (b18);
6527  out[647] += (it->second) * (-1.000000e+00*b18 + 1.0);
6528  break;
6529  } case 310690000: {
6530  out[680] += it->second;
6531  break;
6532  } case 310700000: {
6533  double b19 = exp2(-7.883948e-04*t);
6534  double b20 = exp2(-2.437545e-24*t);
6535  out[681] += (it->second) * (b19);
6536  out[650] += (it->second) * (-4.100000e-03*b19 + 4.100000e-03*b20);
6537  out[713] += (it->second) * (-9.959000e-01*b19 + 9.959000e-01);
6538  break;
6539  } case 310710000: {
6540  out[682] += it->second;
6541  break;
6542  } case 310720000: {
6543  double b21 = exp2(-1.970055e-05*t);
6544  out[683] += (it->second) * (b21);
6545  out[716] += (it->second) * (-1.000000e+00*b21 + 1.0);
6546  break;
6547  } case 310730000: {
6548  double b22 = exp2(-5.715592e-05*t);
6549  out[684] += (it->second) * (b22);
6550  out[717] += (it->second) * (-1.000000e+00*b22 + 1.0);
6551  break;
6552  } case 310740000: {
6553  double b23 = exp2(-2.052545e-03*t);
6554  out[685] += (it->second) * (b23);
6555  out[719] += (it->second) * (-1.000000e+00*b23 + 1.0);
6556  break;
6557  } case 310740002: {
6558  double b24 = exp2(-1.052632e-01*t);
6559  double b25 = exp2(-2.052545e-03*t);
6560  out[686] += (it->second) * (b24);
6561  out[685] += (it->second) * (-7.649152e-01*b24 + 7.649152e-01*b25);
6562  out[719] += (it->second) * (1.491522e-02*b24 + -7.649152e-01*b25 + 7.500000e-01);
6563  break;
6564  } case 310750000: {
6565  double b26 = exp2(-7.936508e-03*t);
6566  double b27 = exp2(-2.013369e-04*t);
6567  out[687] += (it->second) * (b26);
6568  out[720] += (it->second) * (-1.026029e+00*b26 + 1.026029e+00*b27);
6569  out[752] += (it->second) * (2.602876e-02*b26 + -1.026029e+00*b27 + 1.0);
6570  break;
6571  } case 310760000: {
6572  double b28 = exp2(-3.067485e-02*t);
6573  out[688] += (it->second) * (b28);
6574  out[722] += (it->second) * (-1.000000e+00*b28 + 1.0);
6575  break;
6576  } case 310770000: {
6577  double b29 = exp2(-7.575758e-02*t);
6578  double b30 = exp2(-2.477725e-05*t);
6579  double b31 = exp2(-7.161067e-06*t);
6580  out[689] += (it->second) * (b29);
6581  out[723] += (it->second) * (-1.000327e+00*b29 + 1.000327e+00*b30);
6582  out[755] += (it->second) * (3.271977e-04*b29 + -1.406965e+00*b30 + 1.406638e+00*b31);
6583  out[787] += (it->second) * (-3.092871e-08*b29 + 4.066379e-01*b30 + -1.406638e+00*b31 + 1.0);
6584  break;
6585  } case 310780000: {
6586  double b32 = exp2(-1.964637e-01*t);
6587  double b33 = exp2(-1.893939e-04*t);
6588  double b34 = exp2(-1.837560e-04*t);
6589  out[690] += (it->second) * (b32);
6590  out[725] += (it->second) * (-1.000965e+00*b32 + 1.000965e+00*b33);
6591  out[757] += (it->second) * (9.658487e-04*b32 + -3.362501e+01*b33 + 3.362404e+01*b34);
6592  out[789] += (it->second) * (-9.033756e-07*b32 + 3.262404e+01*b33 + -3.362404e+01*b34 + 1.0);
6593  break;
6594  } case 310780004: {
6595  double b35 = exp2(-2.000000e+06*t);
6596  double b36 = exp2(-1.964637e-01*t);
6597  double b37 = exp2(-1.893939e-04*t);
6598  double b38 = exp2(-1.837560e-04*t);
6599  out[691] += (it->second) * (b35);
6600  out[690] += (it->second) * (-1.000000e+00*b35 + 1.000000e+00*b36);
6601  out[725] += (it->second) * (-1.000965e+00*b36 + 1.000965e+00*b37);
6602  out[757] += (it->second) * (9.658488e-04*b36 + -3.362501e+01*b37 + 3.362404e+01*b38);
6603  out[789] += (it->second) * (-9.033757e-07*b36 + 3.262404e+01*b37 + -3.362404e+01*b38 + 1.0);
6604  break;
6605  } case 310790000: {
6606  double b39 = exp2(-3.512469e-01*t);
6607  double b40 = exp2(-1.893939e-04*t);
6608  double b41 = exp2(-1.837560e-04*t);
6609  double b42 = exp2(-5.268704e-02*t);
6610  double b43 = exp2(-1.849797e-03*t);
6611  double b44 = exp2(-1.074172e-13*t);
6612  out[692] += (it->second) * (b39);
6613  out[725] += (it->second) * (-8.904802e-04*b39 + 8.904802e-04*b40);
6614  out[757] += (it->second) * (4.804023e-07*b39 + -2.991354e-02*b40 + 2.991306e-02*b41);
6615  out[789] += (it->second) * (-2.513240e-10*b39 + 2.902306e-02*b40 + -2.991306e-02*b41 + 8.900000e-04);
6616  out[726] += (it->second) * (-1.176471e+00*b39 + 1.176471e+00*b42);
6617  out[758] += (it->second) * (1.774049e-01*b39 + -1.219278e+00*b42 + 1.041874e+00*b43);
6618  out[790] += (it->second) * (-9.342798e-04*b39 + 4.280781e-02*b42 + -1.041874e+00*b43 + 1.000000e+00*b44);
6619  out[824] += (it->second) * (-1.000000e+00*b44 + 0.99911);
6620  break;
6621  } case 310800000: {
6622  double b45 = exp2(-5.263158e-01*t);
6623  double b46 = exp2(-5.268704e-02*t);
6624  double b47 = exp2(-1.849797e-03*t);
6625  double b48 = exp2(-1.074172e-13*t);
6626  double b49 = exp2(-3.389831e-02*t);
6627  double b50 = exp2(-6.578947e-02*t);
6628  out[693] += (it->second) * (b45);
6629  out[726] += (it->second) * (-9.556674e-03*b45 + 9.556674e-03*b46);
6630  out[758] += (it->second) * (9.600487e-04*b45 + -9.904410e-03*b46 + 8.944361e-03*b47);
6631  out[790] += (it->second) * (-3.374200e-06*b45 + 3.477353e-04*b46 + -8.944361e-03*b47 + 8.600000e-03*b48);
6632  out[824] += (it->second) * (-8.600000e-03*b48 + 8.600000e-03);
6633  out[728] += (it->second) * (-1.068841e+00*b45 + 1.068841e+00*b49);
6634  out[760] += (it->second) * (7.867495e-02*b45 + 1.136110e+00*b49 + -1.214785e+00*b50);
6635  out[792] += (it->second) * (-9.834369e-03*b45 + -2.204951e+00*b49 + 1.214785e+00*b50 + 0.9914);
6636  break;
6637  } case 310800001: {
6638  double b51 = exp2(-7.692308e-01*t);
6639  double b52 = exp2(-3.389831e-02*t);
6640  double b53 = exp2(-6.578947e-02*t);
6641  out[694] += (it->second) * (b51);
6642  out[728] += (it->second) * (-1.046099e+00*b51 + 1.046099e+00*b52);
6643  out[760] += (it->second) * (5.041074e-02*b51 + 1.111938e+00*b52 + -1.162348e+00*b53);
6644  out[792] += (it->second) * (-4.311444e-03*b51 + -2.158037e+00*b52 + 1.162348e+00*b53 + 1.0);
6645  break;
6646  } case 310810000: {
6647  double b54 = exp2(-8.216927e-01*t);
6648  double b55 = exp2(-3.389831e-02*t);
6649  double b56 = exp2(-6.578947e-02*t);
6650  double b57 = exp2(-1.315789e-01*t);
6651  double b58 = exp2(-3.003003e-02*t);
6652  double b59 = exp2(-9.033424e-04*t);
6653  out[695] += (it->second) * (b54);
6654  out[728] += (it->second) * (-1.241205e-01*b54 + 1.241205e-01*b55);
6655  out[760] += (it->second) * (5.566155e-03*b54 + 1.319323e-01*b55 + -1.374984e-01*b56);
6656  out[792] += (it->second) * (-4.456586e-04*b54 + -2.560528e-01*b55 + 1.374984e-01*b56 + 1.190000e-01);
6657  out[729] += (it->second) * (-1.190663e+00*b54 + 1.190663e+00*b57);
6658  out[761] += (it->second) * (1.978951e-01*b54 + -1.542765e+00*b57 + 1.344870e+00*b58);
6659  out[793] += (it->second) * (-7.240342e-03*b54 + 3.545366e-01*b57 + -1.386580e+00*b58 + 1.039284e+00*b59);
6660  out[828] += (it->second) * (7.959797e-06*b54 + -2.434036e-03*b57 + 4.171014e-02*b58 + -1.039284e+00*b59 + 0.881);
6661  break;
6662  } case 310820000: {
6663  double b60 = exp2(-1.669449e+00*t);
6664  double b61 = exp2(-1.315789e-01*t);
6665  double b62 = exp2(-3.003003e-02*t);
6666  double b63 = exp2(-9.033424e-04*t);
6667  double