1 #include "simint/boys/boys.h"
2 #include "simint/ostei/gen/ostei_generated.h"
3 #include "simint/vectorization/vectorization.h"
4 #include <math.h>
5 #include <string.h>
6 
7 
ostei_k_k_g_f(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_k_g_f)8 int ostei_k_k_g_f(struct simint_multi_shellpair const P,
9                   struct simint_multi_shellpair const Q,
10                   double screen_tol,
11                   double * const restrict work,
12                   double * const restrict INT__k_k_g_f)
13 {
14 
15     SIMINT_ASSUME_ALIGN_DBL(work);
16     SIMINT_ASSUME_ALIGN_DBL(INT__k_k_g_f);
17     int ab, cd, abcd;
18     int istart, jstart;
19     int iprimcd, nprim_icd, icd;
20     const int check_screen = (screen_tol > 0.0);
21     int i, j;
22     int n;
23     int not_screened;
24     int real_abcd;
25     int iket;
26     int ibra;
27 
28     // partition workspace
29     double * const INT__k_s_g_s = work + (SIMINT_NSHELL_SIMD * 0);
30     double * const INT__k_s_h_s = work + (SIMINT_NSHELL_SIMD * 540);
31     double * const INT__k_s_i_s = work + (SIMINT_NSHELL_SIMD * 1296);
32     double * const INT__k_s_k_s = work + (SIMINT_NSHELL_SIMD * 2304);
33     double * const INT__l_s_g_s = work + (SIMINT_NSHELL_SIMD * 3600);
34     double * const INT__l_s_h_s = work + (SIMINT_NSHELL_SIMD * 4275);
35     double * const INT__l_s_i_s = work + (SIMINT_NSHELL_SIMD * 5220);
36     double * const INT__l_s_k_s = work + (SIMINT_NSHELL_SIMD * 6480);
37     double * const INT__m_s_g_s = work + (SIMINT_NSHELL_SIMD * 8100);
38     double * const INT__m_s_h_s = work + (SIMINT_NSHELL_SIMD * 8925);
39     double * const INT__m_s_i_s = work + (SIMINT_NSHELL_SIMD * 10080);
40     double * const INT__m_s_k_s = work + (SIMINT_NSHELL_SIMD * 11620);
41     double * const INT__n_s_g_s = work + (SIMINT_NSHELL_SIMD * 13600);
42     double * const INT__n_s_h_s = work + (SIMINT_NSHELL_SIMD * 14590);
43     double * const INT__n_s_i_s = work + (SIMINT_NSHELL_SIMD * 15976);
44     double * const INT__n_s_k_s = work + (SIMINT_NSHELL_SIMD * 17824);
45     double * const INT__o_s_g_s = work + (SIMINT_NSHELL_SIMD * 20200);
46     double * const INT__o_s_h_s = work + (SIMINT_NSHELL_SIMD * 21370);
47     double * const INT__o_s_i_s = work + (SIMINT_NSHELL_SIMD * 23008);
48     double * const INT__o_s_k_s = work + (SIMINT_NSHELL_SIMD * 25192);
49     double * const INT__q_s_g_s = work + (SIMINT_NSHELL_SIMD * 28000);
50     double * const INT__q_s_h_s = work + (SIMINT_NSHELL_SIMD * 29365);
51     double * const INT__q_s_i_s = work + (SIMINT_NSHELL_SIMD * 31276);
52     double * const INT__q_s_k_s = work + (SIMINT_NSHELL_SIMD * 33824);
53     double * const INT__r_s_g_s = work + (SIMINT_NSHELL_SIMD * 37100);
54     double * const INT__r_s_h_s = work + (SIMINT_NSHELL_SIMD * 38675);
55     double * const INT__r_s_i_s = work + (SIMINT_NSHELL_SIMD * 40880);
56     double * const INT__r_s_k_s = work + (SIMINT_NSHELL_SIMD * 43820);
57     double * const INT__t_s_g_s = work + (SIMINT_NSHELL_SIMD * 47600);
58     double * const INT__t_s_h_s = work + (SIMINT_NSHELL_SIMD * 49400);
59     double * const INT__t_s_i_s = work + (SIMINT_NSHELL_SIMD * 51920);
60     double * const INT__t_s_k_s = work + (SIMINT_NSHELL_SIMD * 55280);
61     SIMINT_DBLTYPE * const primwork = (SIMINT_DBLTYPE *)(work + SIMINT_NSHELL_SIMD*59600);
62     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_s_s = primwork + 0;
63     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_s_s = primwork + 22;
64     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_p_s = primwork + 85;
65     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_s_s = primwork + 148;
66     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_p_s = primwork + 268;
67     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_d_s = primwork + 394;
68     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s = primwork + 610;
69     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_p_s = primwork + 800;
70     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_d_s = primwork + 1010;
71     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_f_s = primwork + 1370;
72     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s = primwork + 1870;
73     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_p_s = primwork + 2140;
74     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_d_s = primwork + 2455;
75     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_f_s = primwork + 2995;
76     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_g_s = primwork + 3745;
77     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_s_s = primwork + 4645;
78     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_p_s = primwork + 5002;
79     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_d_s = primwork + 5443;
80     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_f_s = primwork + 6199;
81     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_g_s = primwork + 7249;
82     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_h_s = primwork + 8509;
83     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_s_s = primwork + 9832;
84     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_p_s = primwork + 10280;
85     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_d_s = primwork + 10868;
86     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_f_s = primwork + 11876;
87     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_g_s = primwork + 13276;
88     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_h_s = primwork + 14956;
89     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_i_s = primwork + 16720;
90     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_s_s = primwork + 18288;
91     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_p_s = primwork + 18828;
92     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_d_s = primwork + 19584;
93     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_f_s = primwork + 20880;
94     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_g_s = primwork + 22680;
95     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_h_s = primwork + 24840;
96     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_i_s = primwork + 27108;
97     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_k_s = primwork + 29124;
98     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_s_s = primwork + 30420;
99     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_p_s = primwork + 31050;
100     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_d_s = primwork + 31995;
101     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_f_s = primwork + 33615;
102     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_g_s = primwork + 35865;
103     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_h_s = primwork + 38565;
104     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_i_s = primwork + 41400;
105     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_k_s = primwork + 43920;
106     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_s_s = primwork + 45540;
107     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_p_s = primwork + 46255;
108     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_d_s = primwork + 47410;
109     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_f_s = primwork + 49390;
110     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_g_s = primwork + 52140;
111     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_h_s = primwork + 55440;
112     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_i_s = primwork + 58905;
113     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_k_s = primwork + 61985;
114     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_s_s = primwork + 63965;
115     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_p_s = primwork + 64757;
116     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_d_s = primwork + 66143;
117     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_f_s = primwork + 68519;
118     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_g_s = primwork + 71819;
119     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_h_s = primwork + 75779;
120     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_i_s = primwork + 79937;
121     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_k_s = primwork + 83633;
122     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_s_s = primwork + 86009;
123     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_p_s = primwork + 86867;
124     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_d_s = primwork + 88505;
125     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_f_s = primwork + 91313;
126     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_g_s = primwork + 95213;
127     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_h_s = primwork + 99893;
128     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_i_s = primwork + 104807;
129     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_k_s = primwork + 109175;
130     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_s_s = primwork + 111983;
131     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_p_s = primwork + 112893;
132     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_d_s = primwork + 114804;
133     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_f_s = primwork + 118080;
134     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_g_s = primwork + 122630;
135     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_h_s = primwork + 128090;
136     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_i_s = primwork + 133823;
137     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_k_s = primwork + 138919;
138     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_s_s = primwork + 142195;
139     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_p_s = primwork + 143140;
140     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_d_s = primwork + 145345;
141     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_f_s = primwork + 149125;
142     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_g_s = primwork + 154375;
143     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_h_s = primwork + 160675;
144     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_i_s = primwork + 167290;
145     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_k_s = primwork + 173170;
146     SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_s_s = primwork + 176950;
147     SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_p_s = primwork + 177910;
148     SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_d_s = primwork + 180430;
149     SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_f_s = primwork + 184750;
150     SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_g_s = primwork + 190750;
151     SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_h_s = primwork + 197950;
152     SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_i_s = primwork + 205510;
153     SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_k_s = primwork + 212230;
154     double * const hrrwork = (double *)(primwork + 216550);
155     double * const HRR_INT__k_p_g_s = hrrwork + 0;
156     double * const HRR_INT__k_p_h_s = hrrwork + 1620;
157     double * const HRR_INT__k_p_i_s = hrrwork + 3888;
158     double * const HRR_INT__k_p_k_s = hrrwork + 6912;
159     double * const HRR_INT__k_d_g_s = hrrwork + 10800;
160     double * const HRR_INT__k_d_h_s = hrrwork + 14040;
161     double * const HRR_INT__k_d_i_s = hrrwork + 18576;
162     double * const HRR_INT__k_d_k_s = hrrwork + 24624;
163     double * const HRR_INT__k_f_g_s = hrrwork + 32400;
164     double * const HRR_INT__k_f_h_s = hrrwork + 37800;
165     double * const HRR_INT__k_f_i_s = hrrwork + 45360;
166     double * const HRR_INT__k_f_k_s = hrrwork + 55440;
167     double * const HRR_INT__k_g_g_s = hrrwork + 68400;
168     double * const HRR_INT__k_g_h_s = hrrwork + 76500;
169     double * const HRR_INT__k_g_i_s = hrrwork + 87840;
170     double * const HRR_INT__k_g_k_s = hrrwork + 102960;
171     double * const HRR_INT__k_h_g_s = hrrwork + 122400;
172     double * const HRR_INT__k_h_h_s = hrrwork + 133740;
173     double * const HRR_INT__k_h_i_s = hrrwork + 149616;
174     double * const HRR_INT__k_h_k_s = hrrwork + 170784;
175     double * const HRR_INT__k_i_g_s = hrrwork + 198000;
176     double * const HRR_INT__k_i_h_s = hrrwork + 213120;
177     double * const HRR_INT__k_i_i_s = hrrwork + 234288;
178     double * const HRR_INT__k_i_k_s = hrrwork + 262512;
179     double * const HRR_INT__k_k_g_s = hrrwork + 298800;
180     double * const HRR_INT__k_k_g_p = hrrwork + 318240;
181     double * const HRR_INT__k_k_g_d = hrrwork + 376560;
182     double * const HRR_INT__k_k_h_s = hrrwork + 493200;
183     double * const HRR_INT__k_k_h_p = hrrwork + 520416;
184     double * const HRR_INT__k_k_h_d = hrrwork + 602064;
185     double * const HRR_INT__k_k_i_s = hrrwork + 765360;
186     double * const HRR_INT__k_k_i_p = hrrwork + 801648;
187     double * const HRR_INT__k_k_k_s = hrrwork + 910512;
188     double * const HRR_INT__l_p_g_s = hrrwork + 957168;
189     double * const HRR_INT__l_p_h_s = hrrwork + 959193;
190     double * const HRR_INT__l_p_i_s = hrrwork + 962028;
191     double * const HRR_INT__l_p_k_s = hrrwork + 965808;
192     double * const HRR_INT__l_d_g_s = hrrwork + 970668;
193     double * const HRR_INT__l_d_h_s = hrrwork + 974718;
194     double * const HRR_INT__l_d_i_s = hrrwork + 980388;
195     double * const HRR_INT__l_d_k_s = hrrwork + 987948;
196     double * const HRR_INT__l_f_g_s = hrrwork + 997668;
197     double * const HRR_INT__l_f_h_s = hrrwork + 1004418;
198     double * const HRR_INT__l_f_i_s = hrrwork + 1013868;
199     double * const HRR_INT__l_f_k_s = hrrwork + 1026468;
200     double * const HRR_INT__l_g_g_s = hrrwork + 1042668;
201     double * const HRR_INT__l_g_h_s = hrrwork + 1052793;
202     double * const HRR_INT__l_g_i_s = hrrwork + 1066968;
203     double * const HRR_INT__l_g_k_s = hrrwork + 1085868;
204     double * const HRR_INT__l_h_g_s = hrrwork + 1110168;
205     double * const HRR_INT__l_h_h_s = hrrwork + 1124343;
206     double * const HRR_INT__l_h_i_s = hrrwork + 1144188;
207     double * const HRR_INT__l_h_k_s = hrrwork + 1170648;
208     double * const HRR_INT__l_i_g_s = hrrwork + 1204668;
209     double * const HRR_INT__l_i_h_s = hrrwork + 1223568;
210     double * const HRR_INT__l_i_i_s = hrrwork + 1250028;
211     double * const HRR_INT__l_i_k_s = hrrwork + 1285308;
212     double * const HRR_INT__m_p_g_s = hrrwork + 1330668;
213     double * const HRR_INT__m_p_h_s = hrrwork + 1333143;
214     double * const HRR_INT__m_p_i_s = hrrwork + 1336608;
215     double * const HRR_INT__m_p_k_s = hrrwork + 1341228;
216     double * const HRR_INT__m_d_g_s = hrrwork + 1347168;
217     double * const HRR_INT__m_d_h_s = hrrwork + 1352118;
218     double * const HRR_INT__m_d_i_s = hrrwork + 1359048;
219     double * const HRR_INT__m_d_k_s = hrrwork + 1368288;
220     double * const HRR_INT__m_f_g_s = hrrwork + 1380168;
221     double * const HRR_INT__m_f_h_s = hrrwork + 1388418;
222     double * const HRR_INT__m_f_i_s = hrrwork + 1399968;
223     double * const HRR_INT__m_f_k_s = hrrwork + 1415368;
224     double * const HRR_INT__m_g_g_s = hrrwork + 1435168;
225     double * const HRR_INT__m_g_h_s = hrrwork + 1447543;
226     double * const HRR_INT__m_g_i_s = hrrwork + 1464868;
227     double * const HRR_INT__m_g_k_s = hrrwork + 1487968;
228     double * const HRR_INT__m_h_g_s = hrrwork + 1517668;
229     double * const HRR_INT__m_h_h_s = hrrwork + 1534993;
230     double * const HRR_INT__m_h_i_s = hrrwork + 1559248;
231     double * const HRR_INT__m_h_k_s = hrrwork + 1591588;
232     double * const HRR_INT__n_p_g_s = hrrwork + 1633168;
233     double * const HRR_INT__n_p_h_s = hrrwork + 1636138;
234     double * const HRR_INT__n_p_i_s = hrrwork + 1640296;
235     double * const HRR_INT__n_p_k_s = hrrwork + 1645840;
236     double * const HRR_INT__n_d_g_s = hrrwork + 1652968;
237     double * const HRR_INT__n_d_h_s = hrrwork + 1658908;
238     double * const HRR_INT__n_d_i_s = hrrwork + 1667224;
239     double * const HRR_INT__n_d_k_s = hrrwork + 1678312;
240     double * const HRR_INT__n_f_g_s = hrrwork + 1692568;
241     double * const HRR_INT__n_f_h_s = hrrwork + 1702468;
242     double * const HRR_INT__n_f_i_s = hrrwork + 1716328;
243     double * const HRR_INT__n_f_k_s = hrrwork + 1734808;
244     double * const HRR_INT__n_g_g_s = hrrwork + 1758568;
245     double * const HRR_INT__n_g_h_s = hrrwork + 1773418;
246     double * const HRR_INT__n_g_i_s = hrrwork + 1794208;
247     double * const HRR_INT__n_g_k_s = hrrwork + 1821928;
248     double * const HRR_INT__o_p_g_s = hrrwork + 1857568;
249     double * const HRR_INT__o_p_h_s = hrrwork + 1861078;
250     double * const HRR_INT__o_p_i_s = hrrwork + 1865992;
251     double * const HRR_INT__o_p_k_s = hrrwork + 1872544;
252     double * const HRR_INT__o_d_g_s = hrrwork + 1880968;
253     double * const HRR_INT__o_d_h_s = hrrwork + 1887988;
254     double * const HRR_INT__o_d_i_s = hrrwork + 1897816;
255     double * const HRR_INT__o_d_k_s = hrrwork + 1910920;
256     double * const HRR_INT__o_f_g_s = hrrwork + 1927768;
257     double * const HRR_INT__o_f_h_s = hrrwork + 1939468;
258     double * const HRR_INT__o_f_i_s = hrrwork + 1955848;
259     double * const HRR_INT__o_f_k_s = hrrwork + 1977688;
260     double * const HRR_INT__q_p_g_s = hrrwork + 2005768;
261     double * const HRR_INT__q_p_h_s = hrrwork + 2009863;
262     double * const HRR_INT__q_p_i_s = hrrwork + 2015596;
263     double * const HRR_INT__q_p_k_s = hrrwork + 2023240;
264     double * const HRR_INT__q_d_g_s = hrrwork + 2033068;
265     double * const HRR_INT__q_d_h_s = hrrwork + 2041258;
266     double * const HRR_INT__q_d_i_s = hrrwork + 2052724;
267     double * const HRR_INT__q_d_k_s = hrrwork + 2068012;
268     double * const HRR_INT__r_p_g_s = hrrwork + 2087668;
269     double * const HRR_INT__r_p_h_s = hrrwork + 2092393;
270     double * const HRR_INT__r_p_i_s = hrrwork + 2099008;
271     double * const HRR_INT__r_p_k_s = hrrwork + 2107828;
272 
273 
274     // Create constants
275     const SIMINT_DBLTYPE const_1 = SIMINT_DBLSET1(1);
276     const SIMINT_DBLTYPE const_10 = SIMINT_DBLSET1(10);
277     const SIMINT_DBLTYPE const_11 = SIMINT_DBLSET1(11);
278     const SIMINT_DBLTYPE const_12 = SIMINT_DBLSET1(12);
279     const SIMINT_DBLTYPE const_13 = SIMINT_DBLSET1(13);
280     const SIMINT_DBLTYPE const_14 = SIMINT_DBLSET1(14);
281     const SIMINT_DBLTYPE const_2 = SIMINT_DBLSET1(2);
282     const SIMINT_DBLTYPE const_3 = SIMINT_DBLSET1(3);
283     const SIMINT_DBLTYPE const_4 = SIMINT_DBLSET1(4);
284     const SIMINT_DBLTYPE const_5 = SIMINT_DBLSET1(5);
285     const SIMINT_DBLTYPE const_6 = SIMINT_DBLSET1(6);
286     const SIMINT_DBLTYPE const_7 = SIMINT_DBLSET1(7);
287     const SIMINT_DBLTYPE const_8 = SIMINT_DBLSET1(8);
288     const SIMINT_DBLTYPE const_9 = SIMINT_DBLSET1(9);
289     const SIMINT_DBLTYPE one_half = SIMINT_DBLSET1(0.5);
290 
291 
292     ////////////////////////////////////////
293     // Loop over shells and primitives
294     ////////////////////////////////////////
295 
296     real_abcd = 0;
297     istart = 0;
298     for(ab = 0; ab < P.nshell12_clip; ++ab)
299     {
300         const int iend = istart + P.nprim12[ab];
301 
302         cd = 0;
303         jstart = 0;
304 
305         for(cd = 0; cd < Q.nshell12_clip; cd += SIMINT_NSHELL_SIMD)
306         {
307             const int nshellbatch = ((cd + SIMINT_NSHELL_SIMD) > Q.nshell12_clip) ? Q.nshell12_clip - cd : SIMINT_NSHELL_SIMD;
308             int jend = jstart;
309             for(i = 0; i < nshellbatch; i++)
310                 jend += Q.nprim12[cd+i];
311 
312             // Clear the beginning of the workspace (where we are accumulating integrals)
313             memset(work, 0, SIMINT_NSHELL_SIMD * 59600 * sizeof(double));
314             abcd = 0;
315 
316 
317             for(i = istart; i < iend; ++i)
318             {
319                 SIMINT_DBLTYPE bra_screen_max;  // only used if check_screen
320 
321                 if(check_screen)
322                 {
323                     // Skip this whole thing if always insignificant
324                     if((P.screen[i] * Q.screen_max) < screen_tol)
325                         continue;
326                     bra_screen_max = SIMINT_DBLSET1(P.screen[i]);
327                 }
328 
329                 icd = 0;
330                 iprimcd = 0;
331                 nprim_icd = Q.nprim12[cd];
332                 double * restrict PRIM_PTR_INT__k_s_g_s = INT__k_s_g_s + abcd * 540;
333                 double * restrict PRIM_PTR_INT__k_s_h_s = INT__k_s_h_s + abcd * 756;
334                 double * restrict PRIM_PTR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
335                 double * restrict PRIM_PTR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
336                 double * restrict PRIM_PTR_INT__l_s_g_s = INT__l_s_g_s + abcd * 675;
337                 double * restrict PRIM_PTR_INT__l_s_h_s = INT__l_s_h_s + abcd * 945;
338                 double * restrict PRIM_PTR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
339                 double * restrict PRIM_PTR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
340                 double * restrict PRIM_PTR_INT__m_s_g_s = INT__m_s_g_s + abcd * 825;
341                 double * restrict PRIM_PTR_INT__m_s_h_s = INT__m_s_h_s + abcd * 1155;
342                 double * restrict PRIM_PTR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
343                 double * restrict PRIM_PTR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
344                 double * restrict PRIM_PTR_INT__n_s_g_s = INT__n_s_g_s + abcd * 990;
345                 double * restrict PRIM_PTR_INT__n_s_h_s = INT__n_s_h_s + abcd * 1386;
346                 double * restrict PRIM_PTR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
347                 double * restrict PRIM_PTR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
348                 double * restrict PRIM_PTR_INT__o_s_g_s = INT__o_s_g_s + abcd * 1170;
349                 double * restrict PRIM_PTR_INT__o_s_h_s = INT__o_s_h_s + abcd * 1638;
350                 double * restrict PRIM_PTR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
351                 double * restrict PRIM_PTR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
352                 double * restrict PRIM_PTR_INT__q_s_g_s = INT__q_s_g_s + abcd * 1365;
353                 double * restrict PRIM_PTR_INT__q_s_h_s = INT__q_s_h_s + abcd * 1911;
354                 double * restrict PRIM_PTR_INT__q_s_i_s = INT__q_s_i_s + abcd * 2548;
355                 double * restrict PRIM_PTR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
356                 double * restrict PRIM_PTR_INT__r_s_g_s = INT__r_s_g_s + abcd * 1575;
357                 double * restrict PRIM_PTR_INT__r_s_h_s = INT__r_s_h_s + abcd * 2205;
358                 double * restrict PRIM_PTR_INT__r_s_i_s = INT__r_s_i_s + abcd * 2940;
359                 double * restrict PRIM_PTR_INT__r_s_k_s = INT__r_s_k_s + abcd * 3780;
360                 double * restrict PRIM_PTR_INT__t_s_g_s = INT__t_s_g_s + abcd * 1800;
361                 double * restrict PRIM_PTR_INT__t_s_h_s = INT__t_s_h_s + abcd * 2520;
362                 double * restrict PRIM_PTR_INT__t_s_i_s = INT__t_s_i_s + abcd * 3360;
363                 double * restrict PRIM_PTR_INT__t_s_k_s = INT__t_s_k_s + abcd * 4320;
364 
365 
366 
367                 // Load these one per loop over i
368                 const SIMINT_DBLTYPE P_alpha = SIMINT_DBLSET1(P.alpha[i]);
369                 const SIMINT_DBLTYPE P_prefac = SIMINT_DBLSET1(P.prefac[i]);
370                 const SIMINT_DBLTYPE Pxyz[3] = { SIMINT_DBLSET1(P.x[i]), SIMINT_DBLSET1(P.y[i]), SIMINT_DBLSET1(P.z[i]) };
371 
372                 const SIMINT_DBLTYPE P_PA[3] = { SIMINT_DBLSET1(P.PA_x[i]), SIMINT_DBLSET1(P.PA_y[i]), SIMINT_DBLSET1(P.PA_z[i]) };
373 
374                 for(j = jstart; j < jend; j += SIMINT_SIMD_LEN)
375                 {
376                     // calculate the shell offsets
377                     // these are the offset from the shell pointed to by cd
378                     // for each element
379                     int shelloffsets[SIMINT_SIMD_LEN] = {0};
380                     int lastoffset = 0;
381                     const int nlane = ( ((j + SIMINT_SIMD_LEN) < jend) ? SIMINT_SIMD_LEN : (jend - j));
382 
383                     if((iprimcd + SIMINT_SIMD_LEN) >= nprim_icd)
384                     {
385                         // Handle if the first element of the vector is a new shell
386                         if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
387                         {
388                             nprim_icd += Q.nprim12[cd + (++icd)];
389                             PRIM_PTR_INT__k_s_g_s += 540;
390                             PRIM_PTR_INT__k_s_h_s += 756;
391                             PRIM_PTR_INT__k_s_i_s += 1008;
392                             PRIM_PTR_INT__k_s_k_s += 1296;
393                             PRIM_PTR_INT__l_s_g_s += 675;
394                             PRIM_PTR_INT__l_s_h_s += 945;
395                             PRIM_PTR_INT__l_s_i_s += 1260;
396                             PRIM_PTR_INT__l_s_k_s += 1620;
397                             PRIM_PTR_INT__m_s_g_s += 825;
398                             PRIM_PTR_INT__m_s_h_s += 1155;
399                             PRIM_PTR_INT__m_s_i_s += 1540;
400                             PRIM_PTR_INT__m_s_k_s += 1980;
401                             PRIM_PTR_INT__n_s_g_s += 990;
402                             PRIM_PTR_INT__n_s_h_s += 1386;
403                             PRIM_PTR_INT__n_s_i_s += 1848;
404                             PRIM_PTR_INT__n_s_k_s += 2376;
405                             PRIM_PTR_INT__o_s_g_s += 1170;
406                             PRIM_PTR_INT__o_s_h_s += 1638;
407                             PRIM_PTR_INT__o_s_i_s += 2184;
408                             PRIM_PTR_INT__o_s_k_s += 2808;
409                             PRIM_PTR_INT__q_s_g_s += 1365;
410                             PRIM_PTR_INT__q_s_h_s += 1911;
411                             PRIM_PTR_INT__q_s_i_s += 2548;
412                             PRIM_PTR_INT__q_s_k_s += 3276;
413                             PRIM_PTR_INT__r_s_g_s += 1575;
414                             PRIM_PTR_INT__r_s_h_s += 2205;
415                             PRIM_PTR_INT__r_s_i_s += 2940;
416                             PRIM_PTR_INT__r_s_k_s += 3780;
417                             PRIM_PTR_INT__t_s_g_s += 1800;
418                             PRIM_PTR_INT__t_s_h_s += 2520;
419                             PRIM_PTR_INT__t_s_i_s += 3360;
420                             PRIM_PTR_INT__t_s_k_s += 4320;
421                         }
422                         iprimcd++;
423                         for(n = 1; n < SIMINT_SIMD_LEN; ++n)
424                         {
425                             if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
426                             {
427                                 shelloffsets[n] = shelloffsets[n-1] + 1;
428                                 lastoffset++;
429                                 nprim_icd += Q.nprim12[cd + (++icd)];
430                             }
431                             else
432                                 shelloffsets[n] = shelloffsets[n-1];
433                             iprimcd++;
434                         }
435                     }
436                     else
437                         iprimcd += SIMINT_SIMD_LEN;
438 
439                     // Do we have to compute this vector (or has it been screened out)?
440                     // (not_screened != 0 means we have to do this vector)
441                     if(check_screen)
442                     {
443                         const double vmax = vector_max(SIMINT_MUL(bra_screen_max, SIMINT_DBLLOAD(Q.screen, j)));
444                         if(vmax < screen_tol)
445                         {
446                             PRIM_PTR_INT__k_s_g_s += lastoffset*540;
447                             PRIM_PTR_INT__k_s_h_s += lastoffset*756;
448                             PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
449                             PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
450                             PRIM_PTR_INT__l_s_g_s += lastoffset*675;
451                             PRIM_PTR_INT__l_s_h_s += lastoffset*945;
452                             PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
453                             PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
454                             PRIM_PTR_INT__m_s_g_s += lastoffset*825;
455                             PRIM_PTR_INT__m_s_h_s += lastoffset*1155;
456                             PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
457                             PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
458                             PRIM_PTR_INT__n_s_g_s += lastoffset*990;
459                             PRIM_PTR_INT__n_s_h_s += lastoffset*1386;
460                             PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
461                             PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
462                             PRIM_PTR_INT__o_s_g_s += lastoffset*1170;
463                             PRIM_PTR_INT__o_s_h_s += lastoffset*1638;
464                             PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
465                             PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
466                             PRIM_PTR_INT__q_s_g_s += lastoffset*1365;
467                             PRIM_PTR_INT__q_s_h_s += lastoffset*1911;
468                             PRIM_PTR_INT__q_s_i_s += lastoffset*2548;
469                             PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
470                             PRIM_PTR_INT__r_s_g_s += lastoffset*1575;
471                             PRIM_PTR_INT__r_s_h_s += lastoffset*2205;
472                             PRIM_PTR_INT__r_s_i_s += lastoffset*2940;
473                             PRIM_PTR_INT__r_s_k_s += lastoffset*3780;
474                             PRIM_PTR_INT__t_s_g_s += lastoffset*1800;
475                             PRIM_PTR_INT__t_s_h_s += lastoffset*2520;
476                             PRIM_PTR_INT__t_s_i_s += lastoffset*3360;
477                             PRIM_PTR_INT__t_s_k_s += lastoffset*4320;
478                             continue;
479                         }
480                     }
481 
482                     const SIMINT_DBLTYPE Q_alpha = SIMINT_DBLLOAD(Q.alpha, j);
483                     const SIMINT_DBLTYPE PQalpha_mul = SIMINT_MUL(P_alpha, Q_alpha);
484                     const SIMINT_DBLTYPE PQalpha_sum = SIMINT_ADD(P_alpha, Q_alpha);
485                     const SIMINT_DBLTYPE one_over_PQalpha_sum = SIMINT_DIV(const_1, PQalpha_sum);
486 
487 
488                     /* construct R2 = (Px - Qx)**2 + (Py - Qy)**2 + (Pz -Qz)**2 */
489                     SIMINT_DBLTYPE PQ[3];
490                     PQ[0] = SIMINT_SUB(Pxyz[0], SIMINT_DBLLOAD(Q.x, j));
491                     PQ[1] = SIMINT_SUB(Pxyz[1], SIMINT_DBLLOAD(Q.y, j));
492                     PQ[2] = SIMINT_SUB(Pxyz[2], SIMINT_DBLLOAD(Q.z, j));
493                     SIMINT_DBLTYPE R2 = SIMINT_MUL(PQ[0], PQ[0]);
494                     R2 = SIMINT_FMADD(PQ[1], PQ[1], R2);
495                     R2 = SIMINT_FMADD(PQ[2], PQ[2], R2);
496 
497                     const SIMINT_DBLTYPE alpha = SIMINT_MUL(PQalpha_mul, one_over_PQalpha_sum); // alpha from MEST
498                     const SIMINT_DBLTYPE one_over_p = SIMINT_DIV(const_1, P_alpha);
499                     const SIMINT_DBLTYPE one_over_q = SIMINT_DIV(const_1, Q_alpha);
500                     const SIMINT_DBLTYPE one_over_2p = SIMINT_MUL(one_half, one_over_p);
501                     const SIMINT_DBLTYPE one_over_2q = SIMINT_MUL(one_half, one_over_q);
502                     const SIMINT_DBLTYPE one_over_2pq = SIMINT_MUL(one_half, one_over_PQalpha_sum);
503                     const SIMINT_DBLTYPE Q_PA[3] = { SIMINT_DBLLOAD(Q.PA_x, j), SIMINT_DBLLOAD(Q.PA_y, j), SIMINT_DBLLOAD(Q.PA_z, j) };
504 
505                     // NOTE: Minus sign!
506                     const SIMINT_DBLTYPE a_over_p = SIMINT_MUL(SIMINT_NEG(alpha), one_over_p);
507                     SIMINT_DBLTYPE aop_PQ[3];
508                     aop_PQ[0] = SIMINT_MUL(a_over_p, PQ[0]);
509                     aop_PQ[1] = SIMINT_MUL(a_over_p, PQ[1]);
510                     aop_PQ[2] = SIMINT_MUL(a_over_p, PQ[2]);
511 
512                     SIMINT_DBLTYPE a_over_q = SIMINT_MUL(alpha, one_over_q);
513                     SIMINT_DBLTYPE aoq_PQ[3];
514                     aoq_PQ[0] = SIMINT_MUL(a_over_q, PQ[0]);
515                     aoq_PQ[1] = SIMINT_MUL(a_over_q, PQ[1]);
516                     aoq_PQ[2] = SIMINT_MUL(a_over_q, PQ[2]);
517                     // Put a minus sign here so we don't have to in RR routines
518                     a_over_q = SIMINT_NEG(a_over_q);
519 
520 
521                     //////////////////////////////////////////////
522                     // Fjt function section
523                     // Maximum v value: 21
524                     //////////////////////////////////////////////
525                     // The parameter to the Fjt function
526                     const SIMINT_DBLTYPE F_x = SIMINT_MUL(R2, alpha);
527 
528 
529                     const SIMINT_DBLTYPE Q_prefac = mask_load(nlane, Q.prefac + j);
530 
531 
532                     boys_F_split(PRIM_INT__s_s_s_s, F_x, 21);
533                     SIMINT_DBLTYPE prefac = SIMINT_SQRT(one_over_PQalpha_sum);
534                     prefac = SIMINT_MUL(SIMINT_MUL(P_prefac, Q_prefac), prefac);
535                     for(n = 0; n <= 21; n++)
536                         PRIM_INT__s_s_s_s[n] = SIMINT_MUL(PRIM_INT__s_s_s_s[n], prefac);
537 
538                     //////////////////////////////////////////////
539                     // Primitive integrals: Vertical recurrance
540                     //////////////////////////////////////////////
541 
542                     const SIMINT_DBLTYPE vrr_const_1_over_2p = one_over_2p;
543                     const SIMINT_DBLTYPE vrr_const_2_over_2p = SIMINT_MUL(const_2, one_over_2p);
544                     const SIMINT_DBLTYPE vrr_const_3_over_2p = SIMINT_MUL(const_3, one_over_2p);
545                     const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(const_4, one_over_2p);
546                     const SIMINT_DBLTYPE vrr_const_5_over_2p = SIMINT_MUL(const_5, one_over_2p);
547                     const SIMINT_DBLTYPE vrr_const_6_over_2p = SIMINT_MUL(const_6, one_over_2p);
548                     const SIMINT_DBLTYPE vrr_const_7_over_2p = SIMINT_MUL(const_7, one_over_2p);
549                     const SIMINT_DBLTYPE vrr_const_8_over_2p = SIMINT_MUL(const_8, one_over_2p);
550                     const SIMINT_DBLTYPE vrr_const_9_over_2p = SIMINT_MUL(const_9, one_over_2p);
551                     const SIMINT_DBLTYPE vrr_const_10_over_2p = SIMINT_MUL(const_10, one_over_2p);
552                     const SIMINT_DBLTYPE vrr_const_11_over_2p = SIMINT_MUL(const_11, one_over_2p);
553                     const SIMINT_DBLTYPE vrr_const_12_over_2p = SIMINT_MUL(const_12, one_over_2p);
554                     const SIMINT_DBLTYPE vrr_const_13_over_2p = SIMINT_MUL(const_13, one_over_2p);
555                     const SIMINT_DBLTYPE vrr_const_1_over_2q = one_over_2q;
556                     const SIMINT_DBLTYPE vrr_const_2_over_2q = SIMINT_MUL(const_2, one_over_2q);
557                     const SIMINT_DBLTYPE vrr_const_3_over_2q = SIMINT_MUL(const_3, one_over_2q);
558                     const SIMINT_DBLTYPE vrr_const_4_over_2q = SIMINT_MUL(const_4, one_over_2q);
559                     const SIMINT_DBLTYPE vrr_const_5_over_2q = SIMINT_MUL(const_5, one_over_2q);
560                     const SIMINT_DBLTYPE vrr_const_6_over_2q = SIMINT_MUL(const_6, one_over_2q);
561                     const SIMINT_DBLTYPE vrr_const_1_over_2pq = one_over_2pq;
562                     const SIMINT_DBLTYPE vrr_const_2_over_2pq = SIMINT_MUL(const_2, one_over_2pq);
563                     const SIMINT_DBLTYPE vrr_const_3_over_2pq = SIMINT_MUL(const_3, one_over_2pq);
564                     const SIMINT_DBLTYPE vrr_const_4_over_2pq = SIMINT_MUL(const_4, one_over_2pq);
565                     const SIMINT_DBLTYPE vrr_const_5_over_2pq = SIMINT_MUL(const_5, one_over_2pq);
566                     const SIMINT_DBLTYPE vrr_const_6_over_2pq = SIMINT_MUL(const_6, one_over_2pq);
567                     const SIMINT_DBLTYPE vrr_const_7_over_2pq = SIMINT_MUL(const_7, one_over_2pq);
568                     const SIMINT_DBLTYPE vrr_const_8_over_2pq = SIMINT_MUL(const_8, one_over_2pq);
569                     const SIMINT_DBLTYPE vrr_const_9_over_2pq = SIMINT_MUL(const_9, one_over_2pq);
570                     const SIMINT_DBLTYPE vrr_const_10_over_2pq = SIMINT_MUL(const_10, one_over_2pq);
571                     const SIMINT_DBLTYPE vrr_const_11_over_2pq = SIMINT_MUL(const_11, one_over_2pq);
572                     const SIMINT_DBLTYPE vrr_const_12_over_2pq = SIMINT_MUL(const_12, one_over_2pq);
573                     const SIMINT_DBLTYPE vrr_const_13_over_2pq = SIMINT_MUL(const_13, one_over_2pq);
574                     const SIMINT_DBLTYPE vrr_const_14_over_2pq = SIMINT_MUL(const_14, one_over_2pq);
575 
576 
577 
578                     // Forming PRIM_INT__p_s_s_s[21 * 3];
579                     for(n = 0; n < 21; ++n)  // loop over orders of auxiliary function
580                     {
581 
582                         PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
583                         PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]);
584 
585                         PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
586                         PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__p_s_s_s[n * 3 + 1]);
587 
588                         PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
589                         PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__p_s_s_s[n * 3 + 2]);
590 
591                     }
592 
593 
594 
595                     // Forming PRIM_INT__d_s_s_s[20 * 6];
596                     for(n = 0; n < 20; ++n)  // loop over orders of auxiliary function
597                     {
598 
599                         PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
600                         PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_s_s[n * 6 + 0]);
601                         PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_s_s[n * 1 + 0]), PRIM_INT__d_s_s_s[n * 6 + 0]);
602 
603                         PRIM_INT__d_s_s_s[n * 6 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
604                         PRIM_INT__d_s_s_s[n * 6 + 1] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_s_s[n * 6 + 1]);
605 
606                         PRIM_INT__d_s_s_s[n * 6 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
607                         PRIM_INT__d_s_s_s[n * 6 + 2] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_s_s[n * 6 + 2]);
608 
609                         PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
610                         PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_s_s[n * 6 + 3]);
611                         PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_s_s[n * 1 + 0]), PRIM_INT__d_s_s_s[n * 6 + 3]);
612 
613                         PRIM_INT__d_s_s_s[n * 6 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
614                         PRIM_INT__d_s_s_s[n * 6 + 4] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_s_s[n * 6 + 4]);
615 
616                         PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
617                         PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__d_s_s_s[n * 6 + 5]);
618                         PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_s_s[n * 1 + 0]), PRIM_INT__d_s_s_s[n * 6 + 5]);
619 
620                     }
621 
622 
623 
624                     // Forming PRIM_INT__f_s_s_s[19 * 10];
625                     for(n = 0; n < 19; ++n)  // loop over orders of auxiliary function
626                     {
627 
628                         PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
629                         PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__f_s_s_s[n * 10 + 0]);
630                         PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_FMADD( vrr_const_2_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]), PRIM_INT__f_s_s_s[n * 10 + 0]);
631 
632                         PRIM_INT__f_s_s_s[n * 10 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
633                         PRIM_INT__f_s_s_s[n * 10 + 1] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__f_s_s_s[n * 10 + 1]);
634 
635                         PRIM_INT__f_s_s_s[n * 10 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
636                         PRIM_INT__f_s_s_s[n * 10 + 2] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__f_s_s_s[n * 10 + 2]);
637 
638                         PRIM_INT__f_s_s_s[n * 10 + 3] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
639                         PRIM_INT__f_s_s_s[n * 10 + 3] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__f_s_s_s[n * 10 + 3]);
640 
641                         PRIM_INT__f_s_s_s[n * 10 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
642                         PRIM_INT__f_s_s_s[n * 10 + 4] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 1], PRIM_INT__f_s_s_s[n * 10 + 4]);
643 
644                         PRIM_INT__f_s_s_s[n * 10 + 5] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
645                         PRIM_INT__f_s_s_s[n * 10 + 5] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__f_s_s_s[n * 10 + 5]);
646 
647                         PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
648                         PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__f_s_s_s[n * 10 + 6]);
649                         PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_FMADD( vrr_const_2_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_s_s[n * 3 + 1]), PRIM_INT__f_s_s_s[n * 10 + 6]);
650 
651                         PRIM_INT__f_s_s_s[n * 10 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
652                         PRIM_INT__f_s_s_s[n * 10 + 7] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__f_s_s_s[n * 10 + 7]);
653 
654                         PRIM_INT__f_s_s_s[n * 10 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
655                         PRIM_INT__f_s_s_s[n * 10 + 8] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__f_s_s_s[n * 10 + 8]);
656 
657                         PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
658                         PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__f_s_s_s[n * 10 + 9]);
659                         PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_FMADD( vrr_const_2_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_s_s[n * 3 + 2]), PRIM_INT__f_s_s_s[n * 10 + 9]);
660 
661                     }
662 
663 
664                     VRR_I_g_s_s_s(
665                             PRIM_INT__g_s_s_s,
666                             PRIM_INT__f_s_s_s,
667                             PRIM_INT__d_s_s_s,
668                             P_PA,
669                             a_over_p,
670                             aop_PQ,
671                             one_over_2p,
672                             18);
673 
674 
675                     VRR_I_h_s_s_s(
676                             PRIM_INT__h_s_s_s,
677                             PRIM_INT__g_s_s_s,
678                             PRIM_INT__f_s_s_s,
679                             P_PA,
680                             a_over_p,
681                             aop_PQ,
682                             one_over_2p,
683                             17);
684 
685 
686                     ostei_general_vrr1_I(6, 16,
687                             one_over_2p, a_over_p, aop_PQ, P_PA,
688                             PRIM_INT__h_s_s_s, PRIM_INT__g_s_s_s, PRIM_INT__i_s_s_s);
689 
690 
691                     ostei_general_vrr1_I(7, 15,
692                             one_over_2p, a_over_p, aop_PQ, P_PA,
693                             PRIM_INT__i_s_s_s, PRIM_INT__h_s_s_s, PRIM_INT__k_s_s_s);
694 
695 
696                     ostei_general_vrr_K(7, 0, 1, 0, 7,
697                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
698                             PRIM_INT__k_s_s_s, NULL, NULL, PRIM_INT__i_s_s_s, NULL, PRIM_INT__k_s_p_s);
699 
700 
701                     ostei_general_vrr_K(6, 0, 1, 0, 7,
702                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
703                             PRIM_INT__i_s_s_s, NULL, NULL, PRIM_INT__h_s_s_s, NULL, PRIM_INT__i_s_p_s);
704 
705 
706                     ostei_general_vrr_K(7, 0, 2, 0, 6,
707                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
708                             PRIM_INT__k_s_p_s, PRIM_INT__k_s_s_s, NULL, PRIM_INT__i_s_p_s, NULL, PRIM_INT__k_s_d_s);
709 
710 
711                     ostei_general_vrr_K(5, 0, 1, 0, 7,
712                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
713                             PRIM_INT__h_s_s_s, NULL, NULL, PRIM_INT__g_s_s_s, NULL, PRIM_INT__h_s_p_s);
714 
715 
716                     ostei_general_vrr_K(6, 0, 2, 0, 6,
717                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
718                             PRIM_INT__i_s_p_s, PRIM_INT__i_s_s_s, NULL, PRIM_INT__h_s_p_s, NULL, PRIM_INT__i_s_d_s);
719 
720 
721                     ostei_general_vrr_K(7, 0, 3, 0, 5,
722                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
723                             PRIM_INT__k_s_d_s, PRIM_INT__k_s_p_s, NULL, PRIM_INT__i_s_d_s, NULL, PRIM_INT__k_s_f_s);
724 
725 
726                     VRR_K_g_s_p_s(
727                             PRIM_INT__g_s_p_s,
728                             PRIM_INT__g_s_s_s,
729                             PRIM_INT__f_s_s_s,
730                             Q_PA,
731                             aoq_PQ,
732                             one_over_2pq,
733                             7);
734 
735 
736                     ostei_general_vrr_K(5, 0, 2, 0, 6,
737                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
738                             PRIM_INT__h_s_p_s, PRIM_INT__h_s_s_s, NULL, PRIM_INT__g_s_p_s, NULL, PRIM_INT__h_s_d_s);
739 
740 
741                     ostei_general_vrr_K(6, 0, 3, 0, 5,
742                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
743                             PRIM_INT__i_s_d_s, PRIM_INT__i_s_p_s, NULL, PRIM_INT__h_s_d_s, NULL, PRIM_INT__i_s_f_s);
744 
745 
746                     ostei_general_vrr_K(7, 0, 4, 0, 4,
747                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
748                             PRIM_INT__k_s_f_s, PRIM_INT__k_s_d_s, NULL, PRIM_INT__i_s_f_s, NULL, PRIM_INT__k_s_g_s);
749 
750 
751                     VRR_K_f_s_p_s(
752                             PRIM_INT__f_s_p_s,
753                             PRIM_INT__f_s_s_s,
754                             PRIM_INT__d_s_s_s,
755                             Q_PA,
756                             aoq_PQ,
757                             one_over_2pq,
758                             7);
759 
760 
761                     ostei_general_vrr_K(4, 0, 2, 0, 6,
762                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
763                             PRIM_INT__g_s_p_s, PRIM_INT__g_s_s_s, NULL, PRIM_INT__f_s_p_s, NULL, PRIM_INT__g_s_d_s);
764 
765 
766                     ostei_general_vrr_K(5, 0, 3, 0, 5,
767                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
768                             PRIM_INT__h_s_d_s, PRIM_INT__h_s_p_s, NULL, PRIM_INT__g_s_d_s, NULL, PRIM_INT__h_s_f_s);
769 
770 
771                     ostei_general_vrr_K(6, 0, 4, 0, 4,
772                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
773                             PRIM_INT__i_s_f_s, PRIM_INT__i_s_d_s, NULL, PRIM_INT__h_s_f_s, NULL, PRIM_INT__i_s_g_s);
774 
775 
776                     ostei_general_vrr_K(7, 0, 5, 0, 3,
777                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
778                             PRIM_INT__k_s_g_s, PRIM_INT__k_s_f_s, NULL, PRIM_INT__i_s_g_s, NULL, PRIM_INT__k_s_h_s);
779 
780 
781                     ostei_general_vrr1_I(8, 14,
782                             one_over_2p, a_over_p, aop_PQ, P_PA,
783                             PRIM_INT__k_s_s_s, PRIM_INT__i_s_s_s, PRIM_INT__l_s_s_s);
784 
785 
786                     ostei_general_vrr_K(8, 0, 1, 0, 7,
787                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
788                             PRIM_INT__l_s_s_s, NULL, NULL, PRIM_INT__k_s_s_s, NULL, PRIM_INT__l_s_p_s);
789 
790 
791                     ostei_general_vrr_K(8, 0, 2, 0, 6,
792                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
793                             PRIM_INT__l_s_p_s, PRIM_INT__l_s_s_s, NULL, PRIM_INT__k_s_p_s, NULL, PRIM_INT__l_s_d_s);
794 
795 
796                     ostei_general_vrr_K(8, 0, 3, 0, 5,
797                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
798                             PRIM_INT__l_s_d_s, PRIM_INT__l_s_p_s, NULL, PRIM_INT__k_s_d_s, NULL, PRIM_INT__l_s_f_s);
799 
800 
801                     ostei_general_vrr_K(8, 0, 4, 0, 4,
802                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
803                             PRIM_INT__l_s_f_s, PRIM_INT__l_s_d_s, NULL, PRIM_INT__k_s_f_s, NULL, PRIM_INT__l_s_g_s);
804 
805 
806 
807                     // Forming PRIM_INT__d_s_p_s[7 * 18];
808                     for(n = 0; n < 7; ++n)  // loop over orders of auxiliary function
809                     {
810 
811                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
812                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__d_s_p_s[n * 18 + 0]);
813                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_p_s[n * 18 + 0]);
814 
815                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
816                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__d_s_p_s[n * 18 + 1]);
817 
818                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
819                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__d_s_p_s[n * 18 + 2]);
820 
821                         PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 1]);
822                         PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 1], PRIM_INT__d_s_p_s[n * 18 + 3]);
823                         PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_p_s[n * 18 + 3]);
824 
825                         PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 1]);
826                         PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 1], PRIM_INT__d_s_p_s[n * 18 + 4]);
827                         PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_p_s[n * 18 + 4]);
828 
829                         PRIM_INT__d_s_p_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
830                         PRIM_INT__d_s_p_s[n * 18 + 5] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 1], PRIM_INT__d_s_p_s[n * 18 + 5]);
831 
832                         PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 2]);
833                         PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 2], PRIM_INT__d_s_p_s[n * 18 + 6]);
834                         PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__d_s_p_s[n * 18 + 6]);
835 
836                         PRIM_INT__d_s_p_s[n * 18 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 2]);
837                         PRIM_INT__d_s_p_s[n * 18 + 7] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 2], PRIM_INT__d_s_p_s[n * 18 + 7]);
838 
839                         PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 2]);
840                         PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 2], PRIM_INT__d_s_p_s[n * 18 + 8]);
841                         PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_p_s[n * 18 + 8]);
842 
843                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
844                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__d_s_p_s[n * 18 + 9]);
845 
846                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
847                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__d_s_p_s[n * 18 + 10]);
848                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_p_s[n * 18 + 10]);
849 
850                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
851                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__d_s_p_s[n * 18 + 11]);
852 
853                         PRIM_INT__d_s_p_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 4]);
854                         PRIM_INT__d_s_p_s[n * 18 + 12] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 4], PRIM_INT__d_s_p_s[n * 18 + 12]);
855 
856                         PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 4]);
857                         PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 4], PRIM_INT__d_s_p_s[n * 18 + 13]);
858                         PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__d_s_p_s[n * 18 + 13]);
859 
860                         PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 4]);
861                         PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 4], PRIM_INT__d_s_p_s[n * 18 + 14]);
862                         PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_p_s[n * 18 + 14]);
863 
864                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
865                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__d_s_p_s[n * 18 + 15]);
866 
867                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
868                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__d_s_p_s[n * 18 + 16]);
869 
870                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
871                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__d_s_p_s[n * 18 + 17]);
872                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__d_s_p_s[n * 18 + 17]);
873 
874                     }
875 
876 
877                     VRR_K_f_s_d_s(
878                             PRIM_INT__f_s_d_s,
879                             PRIM_INT__f_s_p_s,
880                             PRIM_INT__f_s_s_s,
881                             PRIM_INT__d_s_p_s,
882                             Q_PA,
883                             a_over_q,
884                             aoq_PQ,
885                             one_over_2pq,
886                             one_over_2q,
887                             6);
888 
889 
890                     ostei_general_vrr_K(4, 0, 3, 0, 5,
891                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
892                             PRIM_INT__g_s_d_s, PRIM_INT__g_s_p_s, NULL, PRIM_INT__f_s_d_s, NULL, PRIM_INT__g_s_f_s);
893 
894 
895                     ostei_general_vrr_K(5, 0, 4, 0, 4,
896                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
897                             PRIM_INT__h_s_f_s, PRIM_INT__h_s_d_s, NULL, PRIM_INT__g_s_f_s, NULL, PRIM_INT__h_s_g_s);
898 
899 
900                     ostei_general_vrr_K(6, 0, 5, 0, 3,
901                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
902                             PRIM_INT__i_s_g_s, PRIM_INT__i_s_f_s, NULL, PRIM_INT__h_s_g_s, NULL, PRIM_INT__i_s_h_s);
903 
904 
905                     ostei_general_vrr_K(7, 0, 6, 0, 2,
906                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
907                             PRIM_INT__k_s_h_s, PRIM_INT__k_s_g_s, NULL, PRIM_INT__i_s_h_s, NULL, PRIM_INT__k_s_i_s);
908 
909 
910                     ostei_general_vrr_K(8, 0, 5, 0, 3,
911                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
912                             PRIM_INT__l_s_g_s, PRIM_INT__l_s_f_s, NULL, PRIM_INT__k_s_g_s, NULL, PRIM_INT__l_s_h_s);
913 
914 
915                     ostei_general_vrr1_I(9, 13,
916                             one_over_2p, a_over_p, aop_PQ, P_PA,
917                             PRIM_INT__l_s_s_s, PRIM_INT__k_s_s_s, PRIM_INT__m_s_s_s);
918 
919 
920                     ostei_general_vrr_K(9, 0, 1, 0, 7,
921                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
922                             PRIM_INT__m_s_s_s, NULL, NULL, PRIM_INT__l_s_s_s, NULL, PRIM_INT__m_s_p_s);
923 
924 
925                     ostei_general_vrr_K(9, 0, 2, 0, 6,
926                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
927                             PRIM_INT__m_s_p_s, PRIM_INT__m_s_s_s, NULL, PRIM_INT__l_s_p_s, NULL, PRIM_INT__m_s_d_s);
928 
929 
930                     ostei_general_vrr_K(9, 0, 3, 0, 5,
931                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
932                             PRIM_INT__m_s_d_s, PRIM_INT__m_s_p_s, NULL, PRIM_INT__l_s_d_s, NULL, PRIM_INT__m_s_f_s);
933 
934 
935                     ostei_general_vrr_K(9, 0, 4, 0, 4,
936                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
937                             PRIM_INT__m_s_f_s, PRIM_INT__m_s_d_s, NULL, PRIM_INT__l_s_f_s, NULL, PRIM_INT__m_s_g_s);
938 
939 
940 
941                     // Forming PRIM_INT__p_s_p_s[7 * 9];
942                     for(n = 0; n < 7; ++n)  // loop over orders of auxiliary function
943                     {
944 
945                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
946                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 0]);
947                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__p_s_p_s[n * 9 + 0]);
948 
949                         PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
950                         PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 1]);
951 
952                         PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
953                         PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 2]);
954 
955                         PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 1]);
956                         PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 3]);
957 
958                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
959                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 4]);
960                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__p_s_p_s[n * 9 + 4]);
961 
962                         PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
963                         PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 5]);
964 
965                         PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 2]);
966                         PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 6]);
967 
968                         PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 2]);
969                         PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 7]);
970 
971                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
972                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 8]);
973                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__p_s_p_s[n * 9 + 8]);
974 
975                     }
976 
977 
978                     VRR_K_d_s_d_s(
979                             PRIM_INT__d_s_d_s,
980                             PRIM_INT__d_s_p_s,
981                             PRIM_INT__d_s_s_s,
982                             PRIM_INT__p_s_p_s,
983                             Q_PA,
984                             a_over_q,
985                             aoq_PQ,
986                             one_over_2pq,
987                             one_over_2q,
988                             6);
989 
990 
991                     ostei_general_vrr_K(3, 0, 3, 0, 5,
992                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
993                             PRIM_INT__f_s_d_s, PRIM_INT__f_s_p_s, NULL, PRIM_INT__d_s_d_s, NULL, PRIM_INT__f_s_f_s);
994 
995 
996                     ostei_general_vrr_K(4, 0, 4, 0, 4,
997                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
998                             PRIM_INT__g_s_f_s, PRIM_INT__g_s_d_s, NULL, PRIM_INT__f_s_f_s, NULL, PRIM_INT__g_s_g_s);
999 
1000 
1001                     ostei_general_vrr_K(5, 0, 5, 0, 3,
1002                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1003                             PRIM_INT__h_s_g_s, PRIM_INT__h_s_f_s, NULL, PRIM_INT__g_s_g_s, NULL, PRIM_INT__h_s_h_s);
1004 
1005 
1006                     ostei_general_vrr_K(6, 0, 6, 0, 2,
1007                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1008                             PRIM_INT__i_s_h_s, PRIM_INT__i_s_g_s, NULL, PRIM_INT__h_s_h_s, NULL, PRIM_INT__i_s_i_s);
1009 
1010 
1011                     ostei_general_vrr_K(7, 0, 7, 0, 1,
1012                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1013                             PRIM_INT__k_s_i_s, PRIM_INT__k_s_h_s, NULL, PRIM_INT__i_s_i_s, NULL, PRIM_INT__k_s_k_s);
1014 
1015 
1016                     ostei_general_vrr_K(8, 0, 6, 0, 2,
1017                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1018                             PRIM_INT__l_s_h_s, PRIM_INT__l_s_g_s, NULL, PRIM_INT__k_s_h_s, NULL, PRIM_INT__l_s_i_s);
1019 
1020 
1021                     ostei_general_vrr_K(9, 0, 5, 0, 3,
1022                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1023                             PRIM_INT__m_s_g_s, PRIM_INT__m_s_f_s, NULL, PRIM_INT__l_s_g_s, NULL, PRIM_INT__m_s_h_s);
1024 
1025 
1026                     ostei_general_vrr1_I(10, 12,
1027                             one_over_2p, a_over_p, aop_PQ, P_PA,
1028                             PRIM_INT__m_s_s_s, PRIM_INT__l_s_s_s, PRIM_INT__n_s_s_s);
1029 
1030 
1031                     ostei_general_vrr_K(10, 0, 1, 0, 7,
1032                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1033                             PRIM_INT__n_s_s_s, NULL, NULL, PRIM_INT__m_s_s_s, NULL, PRIM_INT__n_s_p_s);
1034 
1035 
1036                     ostei_general_vrr_K(10, 0, 2, 0, 6,
1037                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1038                             PRIM_INT__n_s_p_s, PRIM_INT__n_s_s_s, NULL, PRIM_INT__m_s_p_s, NULL, PRIM_INT__n_s_d_s);
1039 
1040 
1041                     ostei_general_vrr_K(10, 0, 3, 0, 5,
1042                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1043                             PRIM_INT__n_s_d_s, PRIM_INT__n_s_p_s, NULL, PRIM_INT__m_s_d_s, NULL, PRIM_INT__n_s_f_s);
1044 
1045 
1046                     ostei_general_vrr_K(10, 0, 4, 0, 4,
1047                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1048                             PRIM_INT__n_s_f_s, PRIM_INT__n_s_d_s, NULL, PRIM_INT__m_s_f_s, NULL, PRIM_INT__n_s_g_s);
1049 
1050 
1051                     ostei_general_vrr_K(8, 0, 7, 0, 1,
1052                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1053                             PRIM_INT__l_s_i_s, PRIM_INT__l_s_h_s, NULL, PRIM_INT__k_s_i_s, NULL, PRIM_INT__l_s_k_s);
1054 
1055 
1056                     ostei_general_vrr_K(9, 0, 6, 0, 2,
1057                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1058                             PRIM_INT__m_s_h_s, PRIM_INT__m_s_g_s, NULL, PRIM_INT__l_s_h_s, NULL, PRIM_INT__m_s_i_s);
1059 
1060 
1061                     ostei_general_vrr_K(10, 0, 5, 0, 3,
1062                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1063                             PRIM_INT__n_s_g_s, PRIM_INT__n_s_f_s, NULL, PRIM_INT__m_s_g_s, NULL, PRIM_INT__n_s_h_s);
1064 
1065 
1066                     ostei_general_vrr1_I(11, 11,
1067                             one_over_2p, a_over_p, aop_PQ, P_PA,
1068                             PRIM_INT__n_s_s_s, PRIM_INT__m_s_s_s, PRIM_INT__o_s_s_s);
1069 
1070 
1071                     ostei_general_vrr_K(11, 0, 1, 0, 7,
1072                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1073                             PRIM_INT__o_s_s_s, NULL, NULL, PRIM_INT__n_s_s_s, NULL, PRIM_INT__o_s_p_s);
1074 
1075 
1076                     ostei_general_vrr_K(11, 0, 2, 0, 6,
1077                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1078                             PRIM_INT__o_s_p_s, PRIM_INT__o_s_s_s, NULL, PRIM_INT__n_s_p_s, NULL, PRIM_INT__o_s_d_s);
1079 
1080 
1081                     ostei_general_vrr_K(11, 0, 3, 0, 5,
1082                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1083                             PRIM_INT__o_s_d_s, PRIM_INT__o_s_p_s, NULL, PRIM_INT__n_s_d_s, NULL, PRIM_INT__o_s_f_s);
1084 
1085 
1086                     ostei_general_vrr_K(11, 0, 4, 0, 4,
1087                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1088                             PRIM_INT__o_s_f_s, PRIM_INT__o_s_d_s, NULL, PRIM_INT__n_s_f_s, NULL, PRIM_INT__o_s_g_s);
1089 
1090 
1091                     ostei_general_vrr_K(9, 0, 7, 0, 1,
1092                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1093                             PRIM_INT__m_s_i_s, PRIM_INT__m_s_h_s, NULL, PRIM_INT__l_s_i_s, NULL, PRIM_INT__m_s_k_s);
1094 
1095 
1096                     ostei_general_vrr_K(10, 0, 6, 0, 2,
1097                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1098                             PRIM_INT__n_s_h_s, PRIM_INT__n_s_g_s, NULL, PRIM_INT__m_s_h_s, NULL, PRIM_INT__n_s_i_s);
1099 
1100 
1101                     ostei_general_vrr_K(11, 0, 5, 0, 3,
1102                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1103                             PRIM_INT__o_s_g_s, PRIM_INT__o_s_f_s, NULL, PRIM_INT__n_s_g_s, NULL, PRIM_INT__o_s_h_s);
1104 
1105 
1106                     ostei_general_vrr1_I(12, 10,
1107                             one_over_2p, a_over_p, aop_PQ, P_PA,
1108                             PRIM_INT__o_s_s_s, PRIM_INT__n_s_s_s, PRIM_INT__q_s_s_s);
1109 
1110 
1111                     ostei_general_vrr_K(12, 0, 1, 0, 7,
1112                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1113                             PRIM_INT__q_s_s_s, NULL, NULL, PRIM_INT__o_s_s_s, NULL, PRIM_INT__q_s_p_s);
1114 
1115 
1116                     ostei_general_vrr_K(12, 0, 2, 0, 6,
1117                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1118                             PRIM_INT__q_s_p_s, PRIM_INT__q_s_s_s, NULL, PRIM_INT__o_s_p_s, NULL, PRIM_INT__q_s_d_s);
1119 
1120 
1121                     ostei_general_vrr_K(12, 0, 3, 0, 5,
1122                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1123                             PRIM_INT__q_s_d_s, PRIM_INT__q_s_p_s, NULL, PRIM_INT__o_s_d_s, NULL, PRIM_INT__q_s_f_s);
1124 
1125 
1126                     ostei_general_vrr_K(12, 0, 4, 0, 4,
1127                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1128                             PRIM_INT__q_s_f_s, PRIM_INT__q_s_d_s, NULL, PRIM_INT__o_s_f_s, NULL, PRIM_INT__q_s_g_s);
1129 
1130 
1131                     ostei_general_vrr_K(10, 0, 7, 0, 1,
1132                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1133                             PRIM_INT__n_s_i_s, PRIM_INT__n_s_h_s, NULL, PRIM_INT__m_s_i_s, NULL, PRIM_INT__n_s_k_s);
1134 
1135 
1136                     ostei_general_vrr_K(11, 0, 6, 0, 2,
1137                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1138                             PRIM_INT__o_s_h_s, PRIM_INT__o_s_g_s, NULL, PRIM_INT__n_s_h_s, NULL, PRIM_INT__o_s_i_s);
1139 
1140 
1141                     ostei_general_vrr_K(12, 0, 5, 0, 3,
1142                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1143                             PRIM_INT__q_s_g_s, PRIM_INT__q_s_f_s, NULL, PRIM_INT__o_s_g_s, NULL, PRIM_INT__q_s_h_s);
1144 
1145 
1146                     ostei_general_vrr1_I(13, 9,
1147                             one_over_2p, a_over_p, aop_PQ, P_PA,
1148                             PRIM_INT__q_s_s_s, PRIM_INT__o_s_s_s, PRIM_INT__r_s_s_s);
1149 
1150 
1151                     ostei_general_vrr_K(13, 0, 1, 0, 7,
1152                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1153                             PRIM_INT__r_s_s_s, NULL, NULL, PRIM_INT__q_s_s_s, NULL, PRIM_INT__r_s_p_s);
1154 
1155 
1156                     ostei_general_vrr_K(13, 0, 2, 0, 6,
1157                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1158                             PRIM_INT__r_s_p_s, PRIM_INT__r_s_s_s, NULL, PRIM_INT__q_s_p_s, NULL, PRIM_INT__r_s_d_s);
1159 
1160 
1161                     ostei_general_vrr_K(13, 0, 3, 0, 5,
1162                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1163                             PRIM_INT__r_s_d_s, PRIM_INT__r_s_p_s, NULL, PRIM_INT__q_s_d_s, NULL, PRIM_INT__r_s_f_s);
1164 
1165 
1166                     ostei_general_vrr_K(13, 0, 4, 0, 4,
1167                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1168                             PRIM_INT__r_s_f_s, PRIM_INT__r_s_d_s, NULL, PRIM_INT__q_s_f_s, NULL, PRIM_INT__r_s_g_s);
1169 
1170 
1171                     ostei_general_vrr_K(11, 0, 7, 0, 1,
1172                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1173                             PRIM_INT__o_s_i_s, PRIM_INT__o_s_h_s, NULL, PRIM_INT__n_s_i_s, NULL, PRIM_INT__o_s_k_s);
1174 
1175 
1176                     ostei_general_vrr_K(12, 0, 6, 0, 2,
1177                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1178                             PRIM_INT__q_s_h_s, PRIM_INT__q_s_g_s, NULL, PRIM_INT__o_s_h_s, NULL, PRIM_INT__q_s_i_s);
1179 
1180 
1181                     ostei_general_vrr_K(13, 0, 5, 0, 3,
1182                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1183                             PRIM_INT__r_s_g_s, PRIM_INT__r_s_f_s, NULL, PRIM_INT__q_s_g_s, NULL, PRIM_INT__r_s_h_s);
1184 
1185 
1186                     ostei_general_vrr1_I(14, 8,
1187                             one_over_2p, a_over_p, aop_PQ, P_PA,
1188                             PRIM_INT__r_s_s_s, PRIM_INT__q_s_s_s, PRIM_INT__t_s_s_s);
1189 
1190 
1191                     ostei_general_vrr_K(14, 0, 1, 0, 7,
1192                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1193                             PRIM_INT__t_s_s_s, NULL, NULL, PRIM_INT__r_s_s_s, NULL, PRIM_INT__t_s_p_s);
1194 
1195 
1196                     ostei_general_vrr_K(14, 0, 2, 0, 6,
1197                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1198                             PRIM_INT__t_s_p_s, PRIM_INT__t_s_s_s, NULL, PRIM_INT__r_s_p_s, NULL, PRIM_INT__t_s_d_s);
1199 
1200 
1201                     ostei_general_vrr_K(14, 0, 3, 0, 5,
1202                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1203                             PRIM_INT__t_s_d_s, PRIM_INT__t_s_p_s, NULL, PRIM_INT__r_s_d_s, NULL, PRIM_INT__t_s_f_s);
1204 
1205 
1206                     ostei_general_vrr_K(14, 0, 4, 0, 4,
1207                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1208                             PRIM_INT__t_s_f_s, PRIM_INT__t_s_d_s, NULL, PRIM_INT__r_s_f_s, NULL, PRIM_INT__t_s_g_s);
1209 
1210 
1211                     ostei_general_vrr_K(12, 0, 7, 0, 1,
1212                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1213                             PRIM_INT__q_s_i_s, PRIM_INT__q_s_h_s, NULL, PRIM_INT__o_s_i_s, NULL, PRIM_INT__q_s_k_s);
1214 
1215 
1216                     ostei_general_vrr_K(13, 0, 6, 0, 2,
1217                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1218                             PRIM_INT__r_s_h_s, PRIM_INT__r_s_g_s, NULL, PRIM_INT__q_s_h_s, NULL, PRIM_INT__r_s_i_s);
1219 
1220 
1221                     ostei_general_vrr_K(14, 0, 5, 0, 3,
1222                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1223                             PRIM_INT__t_s_g_s, PRIM_INT__t_s_f_s, NULL, PRIM_INT__r_s_g_s, NULL, PRIM_INT__t_s_h_s);
1224 
1225 
1226                     ostei_general_vrr_K(13, 0, 7, 0, 1,
1227                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1228                             PRIM_INT__r_s_i_s, PRIM_INT__r_s_h_s, NULL, PRIM_INT__q_s_i_s, NULL, PRIM_INT__r_s_k_s);
1229 
1230 
1231                     ostei_general_vrr_K(14, 0, 6, 0, 2,
1232                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1233                             PRIM_INT__t_s_h_s, PRIM_INT__t_s_g_s, NULL, PRIM_INT__r_s_h_s, NULL, PRIM_INT__t_s_i_s);
1234 
1235 
1236                     ostei_general_vrr_K(14, 0, 7, 0, 1,
1237                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1238                             PRIM_INT__t_s_i_s, PRIM_INT__t_s_h_s, NULL, PRIM_INT__r_s_i_s, NULL, PRIM_INT__t_s_k_s);
1239 
1240 
1241 
1242 
1243                     ////////////////////////////////////
1244                     // Accumulate contracted integrals
1245                     ////////////////////////////////////
1246                     if(lastoffset == 0)
1247                     {
1248                         contract_all(540, PRIM_INT__k_s_g_s, PRIM_PTR_INT__k_s_g_s);
1249                         contract_all(756, PRIM_INT__k_s_h_s, PRIM_PTR_INT__k_s_h_s);
1250                         contract_all(1008, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1251                         contract_all(1296, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1252                         contract_all(675, PRIM_INT__l_s_g_s, PRIM_PTR_INT__l_s_g_s);
1253                         contract_all(945, PRIM_INT__l_s_h_s, PRIM_PTR_INT__l_s_h_s);
1254                         contract_all(1260, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1255                         contract_all(1620, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1256                         contract_all(825, PRIM_INT__m_s_g_s, PRIM_PTR_INT__m_s_g_s);
1257                         contract_all(1155, PRIM_INT__m_s_h_s, PRIM_PTR_INT__m_s_h_s);
1258                         contract_all(1540, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1259                         contract_all(1980, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1260                         contract_all(990, PRIM_INT__n_s_g_s, PRIM_PTR_INT__n_s_g_s);
1261                         contract_all(1386, PRIM_INT__n_s_h_s, PRIM_PTR_INT__n_s_h_s);
1262                         contract_all(1848, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1263                         contract_all(2376, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1264                         contract_all(1170, PRIM_INT__o_s_g_s, PRIM_PTR_INT__o_s_g_s);
1265                         contract_all(1638, PRIM_INT__o_s_h_s, PRIM_PTR_INT__o_s_h_s);
1266                         contract_all(2184, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1267                         contract_all(2808, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1268                         contract_all(1365, PRIM_INT__q_s_g_s, PRIM_PTR_INT__q_s_g_s);
1269                         contract_all(1911, PRIM_INT__q_s_h_s, PRIM_PTR_INT__q_s_h_s);
1270                         contract_all(2548, PRIM_INT__q_s_i_s, PRIM_PTR_INT__q_s_i_s);
1271                         contract_all(3276, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1272                         contract_all(1575, PRIM_INT__r_s_g_s, PRIM_PTR_INT__r_s_g_s);
1273                         contract_all(2205, PRIM_INT__r_s_h_s, PRIM_PTR_INT__r_s_h_s);
1274                         contract_all(2940, PRIM_INT__r_s_i_s, PRIM_PTR_INT__r_s_i_s);
1275                         contract_all(3780, PRIM_INT__r_s_k_s, PRIM_PTR_INT__r_s_k_s);
1276                         contract_all(1800, PRIM_INT__t_s_g_s, PRIM_PTR_INT__t_s_g_s);
1277                         contract_all(2520, PRIM_INT__t_s_h_s, PRIM_PTR_INT__t_s_h_s);
1278                         contract_all(3360, PRIM_INT__t_s_i_s, PRIM_PTR_INT__t_s_i_s);
1279                         contract_all(4320, PRIM_INT__t_s_k_s, PRIM_PTR_INT__t_s_k_s);
1280                     }
1281                     else
1282                     {
1283                         contract(540, shelloffsets, PRIM_INT__k_s_g_s, PRIM_PTR_INT__k_s_g_s);
1284                         contract(756, shelloffsets, PRIM_INT__k_s_h_s, PRIM_PTR_INT__k_s_h_s);
1285                         contract(1008, shelloffsets, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1286                         contract(1296, shelloffsets, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1287                         contract(675, shelloffsets, PRIM_INT__l_s_g_s, PRIM_PTR_INT__l_s_g_s);
1288                         contract(945, shelloffsets, PRIM_INT__l_s_h_s, PRIM_PTR_INT__l_s_h_s);
1289                         contract(1260, shelloffsets, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1290                         contract(1620, shelloffsets, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1291                         contract(825, shelloffsets, PRIM_INT__m_s_g_s, PRIM_PTR_INT__m_s_g_s);
1292                         contract(1155, shelloffsets, PRIM_INT__m_s_h_s, PRIM_PTR_INT__m_s_h_s);
1293                         contract(1540, shelloffsets, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1294                         contract(1980, shelloffsets, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1295                         contract(990, shelloffsets, PRIM_INT__n_s_g_s, PRIM_PTR_INT__n_s_g_s);
1296                         contract(1386, shelloffsets, PRIM_INT__n_s_h_s, PRIM_PTR_INT__n_s_h_s);
1297                         contract(1848, shelloffsets, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1298                         contract(2376, shelloffsets, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1299                         contract(1170, shelloffsets, PRIM_INT__o_s_g_s, PRIM_PTR_INT__o_s_g_s);
1300                         contract(1638, shelloffsets, PRIM_INT__o_s_h_s, PRIM_PTR_INT__o_s_h_s);
1301                         contract(2184, shelloffsets, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1302                         contract(2808, shelloffsets, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1303                         contract(1365, shelloffsets, PRIM_INT__q_s_g_s, PRIM_PTR_INT__q_s_g_s);
1304                         contract(1911, shelloffsets, PRIM_INT__q_s_h_s, PRIM_PTR_INT__q_s_h_s);
1305                         contract(2548, shelloffsets, PRIM_INT__q_s_i_s, PRIM_PTR_INT__q_s_i_s);
1306                         contract(3276, shelloffsets, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1307                         contract(1575, shelloffsets, PRIM_INT__r_s_g_s, PRIM_PTR_INT__r_s_g_s);
1308                         contract(2205, shelloffsets, PRIM_INT__r_s_h_s, PRIM_PTR_INT__r_s_h_s);
1309                         contract(2940, shelloffsets, PRIM_INT__r_s_i_s, PRIM_PTR_INT__r_s_i_s);
1310                         contract(3780, shelloffsets, PRIM_INT__r_s_k_s, PRIM_PTR_INT__r_s_k_s);
1311                         contract(1800, shelloffsets, PRIM_INT__t_s_g_s, PRIM_PTR_INT__t_s_g_s);
1312                         contract(2520, shelloffsets, PRIM_INT__t_s_h_s, PRIM_PTR_INT__t_s_h_s);
1313                         contract(3360, shelloffsets, PRIM_INT__t_s_i_s, PRIM_PTR_INT__t_s_i_s);
1314                         contract(4320, shelloffsets, PRIM_INT__t_s_k_s, PRIM_PTR_INT__t_s_k_s);
1315                         PRIM_PTR_INT__k_s_g_s += lastoffset*540;
1316                         PRIM_PTR_INT__k_s_h_s += lastoffset*756;
1317                         PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
1318                         PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
1319                         PRIM_PTR_INT__l_s_g_s += lastoffset*675;
1320                         PRIM_PTR_INT__l_s_h_s += lastoffset*945;
1321                         PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
1322                         PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
1323                         PRIM_PTR_INT__m_s_g_s += lastoffset*825;
1324                         PRIM_PTR_INT__m_s_h_s += lastoffset*1155;
1325                         PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
1326                         PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
1327                         PRIM_PTR_INT__n_s_g_s += lastoffset*990;
1328                         PRIM_PTR_INT__n_s_h_s += lastoffset*1386;
1329                         PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
1330                         PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
1331                         PRIM_PTR_INT__o_s_g_s += lastoffset*1170;
1332                         PRIM_PTR_INT__o_s_h_s += lastoffset*1638;
1333                         PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
1334                         PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
1335                         PRIM_PTR_INT__q_s_g_s += lastoffset*1365;
1336                         PRIM_PTR_INT__q_s_h_s += lastoffset*1911;
1337                         PRIM_PTR_INT__q_s_i_s += lastoffset*2548;
1338                         PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
1339                         PRIM_PTR_INT__r_s_g_s += lastoffset*1575;
1340                         PRIM_PTR_INT__r_s_h_s += lastoffset*2205;
1341                         PRIM_PTR_INT__r_s_i_s += lastoffset*2940;
1342                         PRIM_PTR_INT__r_s_k_s += lastoffset*3780;
1343                         PRIM_PTR_INT__t_s_g_s += lastoffset*1800;
1344                         PRIM_PTR_INT__t_s_h_s += lastoffset*2520;
1345                         PRIM_PTR_INT__t_s_i_s += lastoffset*3360;
1346                         PRIM_PTR_INT__t_s_k_s += lastoffset*4320;
1347                     }
1348 
1349                 }  // close loop over j
1350             }  // close loop over i
1351 
1352             //Advance to the next batch
1353             jstart = SIMINT_SIMD_ROUND(jend);
1354 
1355             //////////////////////////////////////////////
1356             // Contracted integrals: Horizontal recurrance
1357             //////////////////////////////////////////////
1358 
1359 
1360             const double hAB[3] = { P.AB_x[ab], P.AB_y[ab], P.AB_z[ab] };
1361 
1362 
1363             for(abcd = 0; abcd < nshellbatch; ++abcd, ++real_abcd)
1364             {
1365                 const double hCD[3] = { Q.AB_x[cd+abcd], Q.AB_y[cd+abcd], Q.AB_z[cd+abcd] };
1366 
1367                 // set up HRR pointers
1368                 double const * restrict HRR_INT__k_s_g_s = INT__k_s_g_s + abcd * 540;
1369                 double const * restrict HRR_INT__k_s_h_s = INT__k_s_h_s + abcd * 756;
1370                 double const * restrict HRR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
1371                 double const * restrict HRR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
1372                 double const * restrict HRR_INT__l_s_g_s = INT__l_s_g_s + abcd * 675;
1373                 double const * restrict HRR_INT__l_s_h_s = INT__l_s_h_s + abcd * 945;
1374                 double const * restrict HRR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
1375                 double const * restrict HRR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
1376                 double const * restrict HRR_INT__m_s_g_s = INT__m_s_g_s + abcd * 825;
1377                 double const * restrict HRR_INT__m_s_h_s = INT__m_s_h_s + abcd * 1155;
1378                 double const * restrict HRR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
1379                 double const * restrict HRR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
1380                 double const * restrict HRR_INT__n_s_g_s = INT__n_s_g_s + abcd * 990;
1381                 double const * restrict HRR_INT__n_s_h_s = INT__n_s_h_s + abcd * 1386;
1382                 double const * restrict HRR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
1383                 double const * restrict HRR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
1384                 double const * restrict HRR_INT__o_s_g_s = INT__o_s_g_s + abcd * 1170;
1385                 double const * restrict HRR_INT__o_s_h_s = INT__o_s_h_s + abcd * 1638;
1386                 double const * restrict HRR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
1387                 double const * restrict HRR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
1388                 double const * restrict HRR_INT__q_s_g_s = INT__q_s_g_s + abcd * 1365;
1389                 double const * restrict HRR_INT__q_s_h_s = INT__q_s_h_s + abcd * 1911;
1390                 double const * restrict HRR_INT__q_s_i_s = INT__q_s_i_s + abcd * 2548;
1391                 double const * restrict HRR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
1392                 double const * restrict HRR_INT__r_s_g_s = INT__r_s_g_s + abcd * 1575;
1393                 double const * restrict HRR_INT__r_s_h_s = INT__r_s_h_s + abcd * 2205;
1394                 double const * restrict HRR_INT__r_s_i_s = INT__r_s_i_s + abcd * 2940;
1395                 double const * restrict HRR_INT__r_s_k_s = INT__r_s_k_s + abcd * 3780;
1396                 double const * restrict HRR_INT__t_s_g_s = INT__t_s_g_s + abcd * 1800;
1397                 double const * restrict HRR_INT__t_s_h_s = INT__t_s_h_s + abcd * 2520;
1398                 double const * restrict HRR_INT__t_s_i_s = INT__t_s_i_s + abcd * 3360;
1399                 double const * restrict HRR_INT__t_s_k_s = INT__t_s_k_s + abcd * 4320;
1400                 double * restrict HRR_INT__k_k_g_f = INT__k_k_g_f + real_abcd * 194400;
1401 
1402                 // form INT__k_p_g_s
1403                 ostei_general_hrr_J(7, 1, 4, 0, hAB, HRR_INT__l_s_g_s, HRR_INT__k_s_g_s, HRR_INT__k_p_g_s);
1404 
1405                 // form INT__k_p_h_s
1406                 ostei_general_hrr_J(7, 1, 5, 0, hAB, HRR_INT__l_s_h_s, HRR_INT__k_s_h_s, HRR_INT__k_p_h_s);
1407 
1408                 // form INT__k_p_i_s
1409                 ostei_general_hrr_J(7, 1, 6, 0, hAB, HRR_INT__l_s_i_s, HRR_INT__k_s_i_s, HRR_INT__k_p_i_s);
1410 
1411                 // form INT__k_p_k_s
1412                 ostei_general_hrr_J(7, 1, 7, 0, hAB, HRR_INT__l_s_k_s, HRR_INT__k_s_k_s, HRR_INT__k_p_k_s);
1413 
1414                 // form INT__l_p_g_s
1415                 ostei_general_hrr_J(8, 1, 4, 0, hAB, HRR_INT__m_s_g_s, HRR_INT__l_s_g_s, HRR_INT__l_p_g_s);
1416 
1417                 // form INT__l_p_h_s
1418                 ostei_general_hrr_J(8, 1, 5, 0, hAB, HRR_INT__m_s_h_s, HRR_INT__l_s_h_s, HRR_INT__l_p_h_s);
1419 
1420                 // form INT__l_p_i_s
1421                 ostei_general_hrr_J(8, 1, 6, 0, hAB, HRR_INT__m_s_i_s, HRR_INT__l_s_i_s, HRR_INT__l_p_i_s);
1422 
1423                 // form INT__l_p_k_s
1424                 ostei_general_hrr_J(8, 1, 7, 0, hAB, HRR_INT__m_s_k_s, HRR_INT__l_s_k_s, HRR_INT__l_p_k_s);
1425 
1426                 // form INT__m_p_g_s
1427                 ostei_general_hrr_J(9, 1, 4, 0, hAB, HRR_INT__n_s_g_s, HRR_INT__m_s_g_s, HRR_INT__m_p_g_s);
1428 
1429                 // form INT__m_p_h_s
1430                 ostei_general_hrr_J(9, 1, 5, 0, hAB, HRR_INT__n_s_h_s, HRR_INT__m_s_h_s, HRR_INT__m_p_h_s);
1431 
1432                 // form INT__m_p_i_s
1433                 ostei_general_hrr_J(9, 1, 6, 0, hAB, HRR_INT__n_s_i_s, HRR_INT__m_s_i_s, HRR_INT__m_p_i_s);
1434 
1435                 // form INT__m_p_k_s
1436                 ostei_general_hrr_J(9, 1, 7, 0, hAB, HRR_INT__n_s_k_s, HRR_INT__m_s_k_s, HRR_INT__m_p_k_s);
1437 
1438                 // form INT__n_p_g_s
1439                 ostei_general_hrr_J(10, 1, 4, 0, hAB, HRR_INT__o_s_g_s, HRR_INT__n_s_g_s, HRR_INT__n_p_g_s);
1440 
1441                 // form INT__n_p_h_s
1442                 ostei_general_hrr_J(10, 1, 5, 0, hAB, HRR_INT__o_s_h_s, HRR_INT__n_s_h_s, HRR_INT__n_p_h_s);
1443 
1444                 // form INT__n_p_i_s
1445                 ostei_general_hrr_J(10, 1, 6, 0, hAB, HRR_INT__o_s_i_s, HRR_INT__n_s_i_s, HRR_INT__n_p_i_s);
1446 
1447                 // form INT__n_p_k_s
1448                 ostei_general_hrr_J(10, 1, 7, 0, hAB, HRR_INT__o_s_k_s, HRR_INT__n_s_k_s, HRR_INT__n_p_k_s);
1449 
1450                 // form INT__o_p_g_s
1451                 ostei_general_hrr_J(11, 1, 4, 0, hAB, HRR_INT__q_s_g_s, HRR_INT__o_s_g_s, HRR_INT__o_p_g_s);
1452 
1453                 // form INT__o_p_h_s
1454                 ostei_general_hrr_J(11, 1, 5, 0, hAB, HRR_INT__q_s_h_s, HRR_INT__o_s_h_s, HRR_INT__o_p_h_s);
1455 
1456                 // form INT__o_p_i_s
1457                 ostei_general_hrr_J(11, 1, 6, 0, hAB, HRR_INT__q_s_i_s, HRR_INT__o_s_i_s, HRR_INT__o_p_i_s);
1458 
1459                 // form INT__o_p_k_s
1460                 ostei_general_hrr_J(11, 1, 7, 0, hAB, HRR_INT__q_s_k_s, HRR_INT__o_s_k_s, HRR_INT__o_p_k_s);
1461 
1462                 // form INT__q_p_g_s
1463                 ostei_general_hrr_J(12, 1, 4, 0, hAB, HRR_INT__r_s_g_s, HRR_INT__q_s_g_s, HRR_INT__q_p_g_s);
1464 
1465                 // form INT__q_p_h_s
1466                 ostei_general_hrr_J(12, 1, 5, 0, hAB, HRR_INT__r_s_h_s, HRR_INT__q_s_h_s, HRR_INT__q_p_h_s);
1467 
1468                 // form INT__q_p_i_s
1469                 ostei_general_hrr_J(12, 1, 6, 0, hAB, HRR_INT__r_s_i_s, HRR_INT__q_s_i_s, HRR_INT__q_p_i_s);
1470 
1471                 // form INT__q_p_k_s
1472                 ostei_general_hrr_J(12, 1, 7, 0, hAB, HRR_INT__r_s_k_s, HRR_INT__q_s_k_s, HRR_INT__q_p_k_s);
1473 
1474                 // form INT__r_p_g_s
1475                 ostei_general_hrr_J(13, 1, 4, 0, hAB, HRR_INT__t_s_g_s, HRR_INT__r_s_g_s, HRR_INT__r_p_g_s);
1476 
1477                 // form INT__r_p_h_s
1478                 ostei_general_hrr_J(13, 1, 5, 0, hAB, HRR_INT__t_s_h_s, HRR_INT__r_s_h_s, HRR_INT__r_p_h_s);
1479 
1480                 // form INT__r_p_i_s
1481                 ostei_general_hrr_J(13, 1, 6, 0, hAB, HRR_INT__t_s_i_s, HRR_INT__r_s_i_s, HRR_INT__r_p_i_s);
1482 
1483                 // form INT__r_p_k_s
1484                 ostei_general_hrr_J(13, 1, 7, 0, hAB, HRR_INT__t_s_k_s, HRR_INT__r_s_k_s, HRR_INT__r_p_k_s);
1485 
1486                 // form INT__k_d_g_s
1487                 ostei_general_hrr_J(7, 2, 4, 0, hAB, HRR_INT__l_p_g_s, HRR_INT__k_p_g_s, HRR_INT__k_d_g_s);
1488 
1489                 // form INT__k_d_h_s
1490                 ostei_general_hrr_J(7, 2, 5, 0, hAB, HRR_INT__l_p_h_s, HRR_INT__k_p_h_s, HRR_INT__k_d_h_s);
1491 
1492                 // form INT__k_d_i_s
1493                 ostei_general_hrr_J(7, 2, 6, 0, hAB, HRR_INT__l_p_i_s, HRR_INT__k_p_i_s, HRR_INT__k_d_i_s);
1494 
1495                 // form INT__k_d_k_s
1496                 ostei_general_hrr_J(7, 2, 7, 0, hAB, HRR_INT__l_p_k_s, HRR_INT__k_p_k_s, HRR_INT__k_d_k_s);
1497 
1498                 // form INT__l_d_g_s
1499                 ostei_general_hrr_J(8, 2, 4, 0, hAB, HRR_INT__m_p_g_s, HRR_INT__l_p_g_s, HRR_INT__l_d_g_s);
1500 
1501                 // form INT__l_d_h_s
1502                 ostei_general_hrr_J(8, 2, 5, 0, hAB, HRR_INT__m_p_h_s, HRR_INT__l_p_h_s, HRR_INT__l_d_h_s);
1503 
1504                 // form INT__l_d_i_s
1505                 ostei_general_hrr_J(8, 2, 6, 0, hAB, HRR_INT__m_p_i_s, HRR_INT__l_p_i_s, HRR_INT__l_d_i_s);
1506 
1507                 // form INT__l_d_k_s
1508                 ostei_general_hrr_J(8, 2, 7, 0, hAB, HRR_INT__m_p_k_s, HRR_INT__l_p_k_s, HRR_INT__l_d_k_s);
1509 
1510                 // form INT__m_d_g_s
1511                 ostei_general_hrr_J(9, 2, 4, 0, hAB, HRR_INT__n_p_g_s, HRR_INT__m_p_g_s, HRR_INT__m_d_g_s);
1512 
1513                 // form INT__m_d_h_s
1514                 ostei_general_hrr_J(9, 2, 5, 0, hAB, HRR_INT__n_p_h_s, HRR_INT__m_p_h_s, HRR_INT__m_d_h_s);
1515 
1516                 // form INT__m_d_i_s
1517                 ostei_general_hrr_J(9, 2, 6, 0, hAB, HRR_INT__n_p_i_s, HRR_INT__m_p_i_s, HRR_INT__m_d_i_s);
1518 
1519                 // form INT__m_d_k_s
1520                 ostei_general_hrr_J(9, 2, 7, 0, hAB, HRR_INT__n_p_k_s, HRR_INT__m_p_k_s, HRR_INT__m_d_k_s);
1521 
1522                 // form INT__n_d_g_s
1523                 ostei_general_hrr_J(10, 2, 4, 0, hAB, HRR_INT__o_p_g_s, HRR_INT__n_p_g_s, HRR_INT__n_d_g_s);
1524 
1525                 // form INT__n_d_h_s
1526                 ostei_general_hrr_J(10, 2, 5, 0, hAB, HRR_INT__o_p_h_s, HRR_INT__n_p_h_s, HRR_INT__n_d_h_s);
1527 
1528                 // form INT__n_d_i_s
1529                 ostei_general_hrr_J(10, 2, 6, 0, hAB, HRR_INT__o_p_i_s, HRR_INT__n_p_i_s, HRR_INT__n_d_i_s);
1530 
1531                 // form INT__n_d_k_s
1532                 ostei_general_hrr_J(10, 2, 7, 0, hAB, HRR_INT__o_p_k_s, HRR_INT__n_p_k_s, HRR_INT__n_d_k_s);
1533 
1534                 // form INT__o_d_g_s
1535                 ostei_general_hrr_J(11, 2, 4, 0, hAB, HRR_INT__q_p_g_s, HRR_INT__o_p_g_s, HRR_INT__o_d_g_s);
1536 
1537                 // form INT__o_d_h_s
1538                 ostei_general_hrr_J(11, 2, 5, 0, hAB, HRR_INT__q_p_h_s, HRR_INT__o_p_h_s, HRR_INT__o_d_h_s);
1539 
1540                 // form INT__o_d_i_s
1541                 ostei_general_hrr_J(11, 2, 6, 0, hAB, HRR_INT__q_p_i_s, HRR_INT__o_p_i_s, HRR_INT__o_d_i_s);
1542 
1543                 // form INT__o_d_k_s
1544                 ostei_general_hrr_J(11, 2, 7, 0, hAB, HRR_INT__q_p_k_s, HRR_INT__o_p_k_s, HRR_INT__o_d_k_s);
1545 
1546                 // form INT__q_d_g_s
1547                 ostei_general_hrr_J(12, 2, 4, 0, hAB, HRR_INT__r_p_g_s, HRR_INT__q_p_g_s, HRR_INT__q_d_g_s);
1548 
1549                 // form INT__q_d_h_s
1550                 ostei_general_hrr_J(12, 2, 5, 0, hAB, HRR_INT__r_p_h_s, HRR_INT__q_p_h_s, HRR_INT__q_d_h_s);
1551 
1552                 // form INT__q_d_i_s
1553                 ostei_general_hrr_J(12, 2, 6, 0, hAB, HRR_INT__r_p_i_s, HRR_INT__q_p_i_s, HRR_INT__q_d_i_s);
1554 
1555                 // form INT__q_d_k_s
1556                 ostei_general_hrr_J(12, 2, 7, 0, hAB, HRR_INT__r_p_k_s, HRR_INT__q_p_k_s, HRR_INT__q_d_k_s);
1557 
1558                 // form INT__k_f_g_s
1559                 ostei_general_hrr_J(7, 3, 4, 0, hAB, HRR_INT__l_d_g_s, HRR_INT__k_d_g_s, HRR_INT__k_f_g_s);
1560 
1561                 // form INT__k_f_h_s
1562                 ostei_general_hrr_J(7, 3, 5, 0, hAB, HRR_INT__l_d_h_s, HRR_INT__k_d_h_s, HRR_INT__k_f_h_s);
1563 
1564                 // form INT__k_f_i_s
1565                 ostei_general_hrr_J(7, 3, 6, 0, hAB, HRR_INT__l_d_i_s, HRR_INT__k_d_i_s, HRR_INT__k_f_i_s);
1566 
1567                 // form INT__k_f_k_s
1568                 ostei_general_hrr_J(7, 3, 7, 0, hAB, HRR_INT__l_d_k_s, HRR_INT__k_d_k_s, HRR_INT__k_f_k_s);
1569 
1570                 // form INT__l_f_g_s
1571                 ostei_general_hrr_J(8, 3, 4, 0, hAB, HRR_INT__m_d_g_s, HRR_INT__l_d_g_s, HRR_INT__l_f_g_s);
1572 
1573                 // form INT__l_f_h_s
1574                 ostei_general_hrr_J(8, 3, 5, 0, hAB, HRR_INT__m_d_h_s, HRR_INT__l_d_h_s, HRR_INT__l_f_h_s);
1575 
1576                 // form INT__l_f_i_s
1577                 ostei_general_hrr_J(8, 3, 6, 0, hAB, HRR_INT__m_d_i_s, HRR_INT__l_d_i_s, HRR_INT__l_f_i_s);
1578 
1579                 // form INT__l_f_k_s
1580                 ostei_general_hrr_J(8, 3, 7, 0, hAB, HRR_INT__m_d_k_s, HRR_INT__l_d_k_s, HRR_INT__l_f_k_s);
1581 
1582                 // form INT__m_f_g_s
1583                 ostei_general_hrr_J(9, 3, 4, 0, hAB, HRR_INT__n_d_g_s, HRR_INT__m_d_g_s, HRR_INT__m_f_g_s);
1584 
1585                 // form INT__m_f_h_s
1586                 ostei_general_hrr_J(9, 3, 5, 0, hAB, HRR_INT__n_d_h_s, HRR_INT__m_d_h_s, HRR_INT__m_f_h_s);
1587 
1588                 // form INT__m_f_i_s
1589                 ostei_general_hrr_J(9, 3, 6, 0, hAB, HRR_INT__n_d_i_s, HRR_INT__m_d_i_s, HRR_INT__m_f_i_s);
1590 
1591                 // form INT__m_f_k_s
1592                 ostei_general_hrr_J(9, 3, 7, 0, hAB, HRR_INT__n_d_k_s, HRR_INT__m_d_k_s, HRR_INT__m_f_k_s);
1593 
1594                 // form INT__n_f_g_s
1595                 ostei_general_hrr_J(10, 3, 4, 0, hAB, HRR_INT__o_d_g_s, HRR_INT__n_d_g_s, HRR_INT__n_f_g_s);
1596 
1597                 // form INT__n_f_h_s
1598                 ostei_general_hrr_J(10, 3, 5, 0, hAB, HRR_INT__o_d_h_s, HRR_INT__n_d_h_s, HRR_INT__n_f_h_s);
1599 
1600                 // form INT__n_f_i_s
1601                 ostei_general_hrr_J(10, 3, 6, 0, hAB, HRR_INT__o_d_i_s, HRR_INT__n_d_i_s, HRR_INT__n_f_i_s);
1602 
1603                 // form INT__n_f_k_s
1604                 ostei_general_hrr_J(10, 3, 7, 0, hAB, HRR_INT__o_d_k_s, HRR_INT__n_d_k_s, HRR_INT__n_f_k_s);
1605 
1606                 // form INT__o_f_g_s
1607                 ostei_general_hrr_J(11, 3, 4, 0, hAB, HRR_INT__q_d_g_s, HRR_INT__o_d_g_s, HRR_INT__o_f_g_s);
1608 
1609                 // form INT__o_f_h_s
1610                 ostei_general_hrr_J(11, 3, 5, 0, hAB, HRR_INT__q_d_h_s, HRR_INT__o_d_h_s, HRR_INT__o_f_h_s);
1611 
1612                 // form INT__o_f_i_s
1613                 ostei_general_hrr_J(11, 3, 6, 0, hAB, HRR_INT__q_d_i_s, HRR_INT__o_d_i_s, HRR_INT__o_f_i_s);
1614 
1615                 // form INT__o_f_k_s
1616                 ostei_general_hrr_J(11, 3, 7, 0, hAB, HRR_INT__q_d_k_s, HRR_INT__o_d_k_s, HRR_INT__o_f_k_s);
1617 
1618                 // form INT__k_g_g_s
1619                 ostei_general_hrr_J(7, 4, 4, 0, hAB, HRR_INT__l_f_g_s, HRR_INT__k_f_g_s, HRR_INT__k_g_g_s);
1620 
1621                 // form INT__k_g_h_s
1622                 ostei_general_hrr_J(7, 4, 5, 0, hAB, HRR_INT__l_f_h_s, HRR_INT__k_f_h_s, HRR_INT__k_g_h_s);
1623 
1624                 // form INT__k_g_i_s
1625                 ostei_general_hrr_J(7, 4, 6, 0, hAB, HRR_INT__l_f_i_s, HRR_INT__k_f_i_s, HRR_INT__k_g_i_s);
1626 
1627                 // form INT__k_g_k_s
1628                 ostei_general_hrr_J(7, 4, 7, 0, hAB, HRR_INT__l_f_k_s, HRR_INT__k_f_k_s, HRR_INT__k_g_k_s);
1629 
1630                 // form INT__l_g_g_s
1631                 ostei_general_hrr_J(8, 4, 4, 0, hAB, HRR_INT__m_f_g_s, HRR_INT__l_f_g_s, HRR_INT__l_g_g_s);
1632 
1633                 // form INT__l_g_h_s
1634                 ostei_general_hrr_J(8, 4, 5, 0, hAB, HRR_INT__m_f_h_s, HRR_INT__l_f_h_s, HRR_INT__l_g_h_s);
1635 
1636                 // form INT__l_g_i_s
1637                 ostei_general_hrr_J(8, 4, 6, 0, hAB, HRR_INT__m_f_i_s, HRR_INT__l_f_i_s, HRR_INT__l_g_i_s);
1638 
1639                 // form INT__l_g_k_s
1640                 ostei_general_hrr_J(8, 4, 7, 0, hAB, HRR_INT__m_f_k_s, HRR_INT__l_f_k_s, HRR_INT__l_g_k_s);
1641 
1642                 // form INT__m_g_g_s
1643                 ostei_general_hrr_J(9, 4, 4, 0, hAB, HRR_INT__n_f_g_s, HRR_INT__m_f_g_s, HRR_INT__m_g_g_s);
1644 
1645                 // form INT__m_g_h_s
1646                 ostei_general_hrr_J(9, 4, 5, 0, hAB, HRR_INT__n_f_h_s, HRR_INT__m_f_h_s, HRR_INT__m_g_h_s);
1647 
1648                 // form INT__m_g_i_s
1649                 ostei_general_hrr_J(9, 4, 6, 0, hAB, HRR_INT__n_f_i_s, HRR_INT__m_f_i_s, HRR_INT__m_g_i_s);
1650 
1651                 // form INT__m_g_k_s
1652                 ostei_general_hrr_J(9, 4, 7, 0, hAB, HRR_INT__n_f_k_s, HRR_INT__m_f_k_s, HRR_INT__m_g_k_s);
1653 
1654                 // form INT__n_g_g_s
1655                 ostei_general_hrr_J(10, 4, 4, 0, hAB, HRR_INT__o_f_g_s, HRR_INT__n_f_g_s, HRR_INT__n_g_g_s);
1656 
1657                 // form INT__n_g_h_s
1658                 ostei_general_hrr_J(10, 4, 5, 0, hAB, HRR_INT__o_f_h_s, HRR_INT__n_f_h_s, HRR_INT__n_g_h_s);
1659 
1660                 // form INT__n_g_i_s
1661                 ostei_general_hrr_J(10, 4, 6, 0, hAB, HRR_INT__o_f_i_s, HRR_INT__n_f_i_s, HRR_INT__n_g_i_s);
1662 
1663                 // form INT__n_g_k_s
1664                 ostei_general_hrr_J(10, 4, 7, 0, hAB, HRR_INT__o_f_k_s, HRR_INT__n_f_k_s, HRR_INT__n_g_k_s);
1665 
1666                 // form INT__k_h_g_s
1667                 ostei_general_hrr_J(7, 5, 4, 0, hAB, HRR_INT__l_g_g_s, HRR_INT__k_g_g_s, HRR_INT__k_h_g_s);
1668 
1669                 // form INT__k_h_h_s
1670                 ostei_general_hrr_J(7, 5, 5, 0, hAB, HRR_INT__l_g_h_s, HRR_INT__k_g_h_s, HRR_INT__k_h_h_s);
1671 
1672                 // form INT__k_h_i_s
1673                 ostei_general_hrr_J(7, 5, 6, 0, hAB, HRR_INT__l_g_i_s, HRR_INT__k_g_i_s, HRR_INT__k_h_i_s);
1674 
1675                 // form INT__k_h_k_s
1676                 ostei_general_hrr_J(7, 5, 7, 0, hAB, HRR_INT__l_g_k_s, HRR_INT__k_g_k_s, HRR_INT__k_h_k_s);
1677 
1678                 // form INT__l_h_g_s
1679                 ostei_general_hrr_J(8, 5, 4, 0, hAB, HRR_INT__m_g_g_s, HRR_INT__l_g_g_s, HRR_INT__l_h_g_s);
1680 
1681                 // form INT__l_h_h_s
1682                 ostei_general_hrr_J(8, 5, 5, 0, hAB, HRR_INT__m_g_h_s, HRR_INT__l_g_h_s, HRR_INT__l_h_h_s);
1683 
1684                 // form INT__l_h_i_s
1685                 ostei_general_hrr_J(8, 5, 6, 0, hAB, HRR_INT__m_g_i_s, HRR_INT__l_g_i_s, HRR_INT__l_h_i_s);
1686 
1687                 // form INT__l_h_k_s
1688                 ostei_general_hrr_J(8, 5, 7, 0, hAB, HRR_INT__m_g_k_s, HRR_INT__l_g_k_s, HRR_INT__l_h_k_s);
1689 
1690                 // form INT__m_h_g_s
1691                 ostei_general_hrr_J(9, 5, 4, 0, hAB, HRR_INT__n_g_g_s, HRR_INT__m_g_g_s, HRR_INT__m_h_g_s);
1692 
1693                 // form INT__m_h_h_s
1694                 ostei_general_hrr_J(9, 5, 5, 0, hAB, HRR_INT__n_g_h_s, HRR_INT__m_g_h_s, HRR_INT__m_h_h_s);
1695 
1696                 // form INT__m_h_i_s
1697                 ostei_general_hrr_J(9, 5, 6, 0, hAB, HRR_INT__n_g_i_s, HRR_INT__m_g_i_s, HRR_INT__m_h_i_s);
1698 
1699                 // form INT__m_h_k_s
1700                 ostei_general_hrr_J(9, 5, 7, 0, hAB, HRR_INT__n_g_k_s, HRR_INT__m_g_k_s, HRR_INT__m_h_k_s);
1701 
1702                 // form INT__k_i_g_s
1703                 ostei_general_hrr_J(7, 6, 4, 0, hAB, HRR_INT__l_h_g_s, HRR_INT__k_h_g_s, HRR_INT__k_i_g_s);
1704 
1705                 // form INT__k_i_h_s
1706                 ostei_general_hrr_J(7, 6, 5, 0, hAB, HRR_INT__l_h_h_s, HRR_INT__k_h_h_s, HRR_INT__k_i_h_s);
1707 
1708                 // form INT__k_i_i_s
1709                 ostei_general_hrr_J(7, 6, 6, 0, hAB, HRR_INT__l_h_i_s, HRR_INT__k_h_i_s, HRR_INT__k_i_i_s);
1710 
1711                 // form INT__k_i_k_s
1712                 ostei_general_hrr_J(7, 6, 7, 0, hAB, HRR_INT__l_h_k_s, HRR_INT__k_h_k_s, HRR_INT__k_i_k_s);
1713 
1714                 // form INT__l_i_g_s
1715                 ostei_general_hrr_J(8, 6, 4, 0, hAB, HRR_INT__m_h_g_s, HRR_INT__l_h_g_s, HRR_INT__l_i_g_s);
1716 
1717                 // form INT__l_i_h_s
1718                 ostei_general_hrr_J(8, 6, 5, 0, hAB, HRR_INT__m_h_h_s, HRR_INT__l_h_h_s, HRR_INT__l_i_h_s);
1719 
1720                 // form INT__l_i_i_s
1721                 ostei_general_hrr_J(8, 6, 6, 0, hAB, HRR_INT__m_h_i_s, HRR_INT__l_h_i_s, HRR_INT__l_i_i_s);
1722 
1723                 // form INT__l_i_k_s
1724                 ostei_general_hrr_J(8, 6, 7, 0, hAB, HRR_INT__m_h_k_s, HRR_INT__l_h_k_s, HRR_INT__l_i_k_s);
1725 
1726                 // form INT__k_k_g_s
1727                 ostei_general_hrr_J(7, 7, 4, 0, hAB, HRR_INT__l_i_g_s, HRR_INT__k_i_g_s, HRR_INT__k_k_g_s);
1728 
1729                 // form INT__k_k_h_s
1730                 ostei_general_hrr_J(7, 7, 5, 0, hAB, HRR_INT__l_i_h_s, HRR_INT__k_i_h_s, HRR_INT__k_k_h_s);
1731 
1732                 // form INT__k_k_i_s
1733                 ostei_general_hrr_J(7, 7, 6, 0, hAB, HRR_INT__l_i_i_s, HRR_INT__k_i_i_s, HRR_INT__k_k_i_s);
1734 
1735                 // form INT__k_k_k_s
1736                 ostei_general_hrr_J(7, 7, 7, 0, hAB, HRR_INT__l_i_k_s, HRR_INT__k_i_k_s, HRR_INT__k_k_k_s);
1737 
1738                 // form INT__k_k_g_p
1739                 HRR_L_g_p(
1740                     HRR_INT__k_k_g_p,
1741                     HRR_INT__k_k_g_s,
1742                     HRR_INT__k_k_h_s,
1743                     hCD, 1296);
1744 
1745                 // form INT__k_k_h_p
1746                 ostei_general_hrr_L(7, 7, 5, 1, hCD, HRR_INT__k_k_i_s, HRR_INT__k_k_h_s, HRR_INT__k_k_h_p);
1747 
1748                 // form INT__k_k_i_p
1749                 ostei_general_hrr_L(7, 7, 6, 1, hCD, HRR_INT__k_k_k_s, HRR_INT__k_k_i_s, HRR_INT__k_k_i_p);
1750 
1751                 // form INT__k_k_g_d
1752                 ostei_general_hrr_L(7, 7, 4, 2, hCD, HRR_INT__k_k_h_p, HRR_INT__k_k_g_p, HRR_INT__k_k_g_d);
1753 
1754                 // form INT__k_k_h_d
1755                 ostei_general_hrr_L(7, 7, 5, 2, hCD, HRR_INT__k_k_i_p, HRR_INT__k_k_h_p, HRR_INT__k_k_h_d);
1756 
1757                 // form INT__k_k_g_f
1758                 ostei_general_hrr_L(7, 7, 4, 3, hCD, HRR_INT__k_k_h_d, HRR_INT__k_k_g_d, HRR_INT__k_k_g_f);
1759 
1760 
1761             }  // close HRR loop
1762 
1763 
1764         }   // close loop cdbatch
1765 
1766         istart = iend;
1767     }  // close loop over ab
1768 
1769     return P.nshell12_clip * Q.nshell12_clip;
1770 }
1771 
ostei_k_k_f_g(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_k_f_g)1772 int ostei_k_k_f_g(struct simint_multi_shellpair const P,
1773                   struct simint_multi_shellpair const Q,
1774                   double screen_tol,
1775                   double * const restrict work,
1776                   double * const restrict INT__k_k_f_g)
1777 {
1778     double Q_AB[3*Q.nshell12];
1779     struct simint_multi_shellpair Q_tmp = Q;
1780     Q_tmp.PA_x = Q.PB_x;  Q_tmp.PA_y = Q.PB_y;  Q_tmp.PA_z = Q.PB_z;
1781     Q_tmp.PB_x = Q.PA_x;  Q_tmp.PB_y = Q.PA_y;  Q_tmp.PB_z = Q.PA_z;
1782     Q_tmp.AB_x = Q_AB;
1783     Q_tmp.AB_y = Q_AB + Q.nshell12;
1784     Q_tmp.AB_z = Q_AB + 2*Q.nshell12;
1785 
1786     for(int i = 0; i < Q.nshell12; i++)
1787     {
1788         Q_tmp.AB_x[i] = -Q.AB_x[i];
1789         Q_tmp.AB_y[i] = -Q.AB_y[i];
1790         Q_tmp.AB_z[i] = -Q.AB_z[i];
1791     }
1792 
1793     int ret = ostei_k_k_g_f(P, Q_tmp, screen_tol, work, INT__k_k_f_g);
1794     double buffer[194400] SIMINT_ALIGN_ARRAY_DBL;
1795 
1796     for(int q = 0; q < ret; q++)
1797     {
1798         int idx = 0;
1799         for(int a = 0; a < 36; ++a)
1800         for(int b = 0; b < 36; ++b)
1801         for(int c = 0; c < 10; ++c)
1802         for(int d = 0; d < 15; ++d)
1803             buffer[idx++] = INT__k_k_f_g[q*194400+a*5400+b*150+d*10+c];
1804 
1805         memcpy(INT__k_k_f_g+q*194400, buffer, 194400*sizeof(double));
1806     }
1807 
1808     return ret;
1809 }
1810 
1811