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_g_i_h(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_g_i_h)8 int ostei_k_g_i_h(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_g_i_h)
13 {
14 
15     SIMINT_ASSUME_ALIGN_DBL(work);
16     SIMINT_ASSUME_ALIGN_DBL(INT__k_g_i_h);
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_i_s = work + (SIMINT_NSHELL_SIMD * 0);
30     double * const INT__k_s_k_s = work + (SIMINT_NSHELL_SIMD * 1008);
31     double * const INT__k_s_l_s = work + (SIMINT_NSHELL_SIMD * 2304);
32     double * const INT__k_s_m_s = work + (SIMINT_NSHELL_SIMD * 3924);
33     double * const INT__k_s_n_s = work + (SIMINT_NSHELL_SIMD * 5904);
34     double * const INT__k_s_o_s = work + (SIMINT_NSHELL_SIMD * 8280);
35     double * const INT__l_s_i_s = work + (SIMINT_NSHELL_SIMD * 11088);
36     double * const INT__l_s_k_s = work + (SIMINT_NSHELL_SIMD * 12348);
37     double * const INT__l_s_l_s = work + (SIMINT_NSHELL_SIMD * 13968);
38     double * const INT__l_s_m_s = work + (SIMINT_NSHELL_SIMD * 15993);
39     double * const INT__l_s_n_s = work + (SIMINT_NSHELL_SIMD * 18468);
40     double * const INT__l_s_o_s = work + (SIMINT_NSHELL_SIMD * 21438);
41     double * const INT__m_s_i_s = work + (SIMINT_NSHELL_SIMD * 24948);
42     double * const INT__m_s_k_s = work + (SIMINT_NSHELL_SIMD * 26488);
43     double * const INT__m_s_l_s = work + (SIMINT_NSHELL_SIMD * 28468);
44     double * const INT__m_s_m_s = work + (SIMINT_NSHELL_SIMD * 30943);
45     double * const INT__m_s_n_s = work + (SIMINT_NSHELL_SIMD * 33968);
46     double * const INT__m_s_o_s = work + (SIMINT_NSHELL_SIMD * 37598);
47     double * const INT__n_s_i_s = work + (SIMINT_NSHELL_SIMD * 41888);
48     double * const INT__n_s_k_s = work + (SIMINT_NSHELL_SIMD * 43736);
49     double * const INT__n_s_l_s = work + (SIMINT_NSHELL_SIMD * 46112);
50     double * const INT__n_s_m_s = work + (SIMINT_NSHELL_SIMD * 49082);
51     double * const INT__n_s_n_s = work + (SIMINT_NSHELL_SIMD * 52712);
52     double * const INT__n_s_o_s = work + (SIMINT_NSHELL_SIMD * 57068);
53     double * const INT__o_s_i_s = work + (SIMINT_NSHELL_SIMD * 62216);
54     double * const INT__o_s_k_s = work + (SIMINT_NSHELL_SIMD * 64400);
55     double * const INT__o_s_l_s = work + (SIMINT_NSHELL_SIMD * 67208);
56     double * const INT__o_s_m_s = work + (SIMINT_NSHELL_SIMD * 70718);
57     double * const INT__o_s_n_s = work + (SIMINT_NSHELL_SIMD * 75008);
58     double * const INT__o_s_o_s = work + (SIMINT_NSHELL_SIMD * 80156);
59     SIMINT_DBLTYPE * const primwork = (SIMINT_DBLTYPE *)(work + SIMINT_NSHELL_SIMD*86240);
60     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_s_s = primwork + 0;
61     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_p_s = primwork + 23;
62     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_d_s = primwork + 56;
63     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_f_s = primwork + 116;
64     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_g_s = primwork + 206;
65     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_s_s = primwork + 326;
66     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_p_s = primwork + 392;
67     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_d_s = primwork + 491;
68     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_f_s = primwork + 671;
69     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_g_s = primwork + 941;
70     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_h_s = primwork + 1301;
71     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_s_s = primwork + 1742;
72     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_p_s = primwork + 1868;
73     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_d_s = primwork + 2066;
74     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_f_s = primwork + 2426;
75     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_g_s = primwork + 2966;
76     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_h_s = primwork + 3686;
77     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_i_s = primwork + 4568;
78     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s = primwork + 5576;
79     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_p_s = primwork + 5776;
80     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_d_s = primwork + 6106;
81     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_f_s = primwork + 6706;
82     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_g_s = primwork + 7606;
83     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_h_s = primwork + 8806;
84     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_i_s = primwork + 10276;
85     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_k_s = primwork + 11956;
86     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s = primwork + 13756;
87     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_p_s = primwork + 14041;
88     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_d_s = primwork + 14536;
89     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_f_s = primwork + 15436;
90     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_g_s = primwork + 16786;
91     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_h_s = primwork + 18586;
92     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_i_s = primwork + 20791;
93     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_k_s = primwork + 23311;
94     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_l_s = primwork + 26011;
95     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_s_s = primwork + 28711;
96     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_p_s = primwork + 29089;
97     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_d_s = primwork + 29782;
98     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_f_s = primwork + 31042;
99     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_g_s = primwork + 32932;
100     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_h_s = primwork + 35452;
101     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_i_s = primwork + 38539;
102     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_k_s = primwork + 42067;
103     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_l_s = primwork + 45847;
104     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_m_s = primwork + 49627;
105     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_s_s = primwork + 53092;
106     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_p_s = primwork + 53568;
107     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_d_s = primwork + 54492;
108     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_f_s = primwork + 56172;
109     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_g_s = primwork + 58692;
110     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_h_s = primwork + 62052;
111     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_i_s = primwork + 66168;
112     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_k_s = primwork + 70872;
113     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_l_s = primwork + 75912;
114     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_m_s = primwork + 80952;
115     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_n_s = primwork + 85572;
116     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_s_s = primwork + 89268;
117     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_p_s = primwork + 89844;
118     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_d_s = primwork + 91032;
119     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_f_s = primwork + 93192;
120     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_g_s = primwork + 96432;
121     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_h_s = primwork + 100752;
122     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_i_s = primwork + 106044;
123     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_k_s = primwork + 112092;
124     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_l_s = primwork + 118572;
125     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_m_s = primwork + 125052;
126     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_n_s = primwork + 130992;
127     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_o_s = primwork + 135744;
128     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_s_s = primwork + 138552;
129     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_p_s = primwork + 139227;
130     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_d_s = primwork + 140712;
131     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_f_s = primwork + 143412;
132     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_g_s = primwork + 147462;
133     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_h_s = primwork + 152862;
134     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_i_s = primwork + 159477;
135     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_k_s = primwork + 167037;
136     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_l_s = primwork + 175137;
137     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_m_s = primwork + 183237;
138     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_n_s = primwork + 190662;
139     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_o_s = primwork + 196602;
140     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_s_s = primwork + 200112;
141     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_p_s = primwork + 200882;
142     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_d_s = primwork + 202697;
143     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_f_s = primwork + 205997;
144     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_g_s = primwork + 210947;
145     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_h_s = primwork + 217547;
146     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_i_s = primwork + 225632;
147     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_k_s = primwork + 234872;
148     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_l_s = primwork + 244772;
149     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_m_s = primwork + 254672;
150     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_n_s = primwork + 263747;
151     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_o_s = primwork + 271007;
152     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_s_s = primwork + 275297;
153     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_p_s = primwork + 276155;
154     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_d_s = primwork + 278333;
155     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_f_s = primwork + 282293;
156     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_g_s = primwork + 288233;
157     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_h_s = primwork + 296153;
158     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_i_s = primwork + 305855;
159     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_k_s = primwork + 316943;
160     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_l_s = primwork + 328823;
161     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_m_s = primwork + 340703;
162     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_n_s = primwork + 351593;
163     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_o_s = primwork + 360305;
164     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_s_s = primwork + 365453;
165     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_p_s = primwork + 366389;
166     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_d_s = primwork + 368963;
167     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_f_s = primwork + 373643;
168     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_g_s = primwork + 380663;
169     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_h_s = primwork + 390023;
170     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_i_s = primwork + 401489;
171     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_k_s = primwork + 414593;
172     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_l_s = primwork + 428633;
173     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_m_s = primwork + 442673;
174     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_n_s = primwork + 455543;
175     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_o_s = primwork + 465839;
176     double * const hrrwork = (double *)(primwork + 471923);
177     double * const HRR_INT__k_p_i_s = hrrwork + 0;
178     double * const HRR_INT__k_p_k_s = hrrwork + 3024;
179     double * const HRR_INT__k_p_l_s = hrrwork + 6912;
180     double * const HRR_INT__k_p_m_s = hrrwork + 11772;
181     double * const HRR_INT__k_p_n_s = hrrwork + 17712;
182     double * const HRR_INT__k_p_o_s = hrrwork + 24840;
183     double * const HRR_INT__k_d_i_s = hrrwork + 33264;
184     double * const HRR_INT__k_d_k_s = hrrwork + 39312;
185     double * const HRR_INT__k_d_l_s = hrrwork + 47088;
186     double * const HRR_INT__k_d_m_s = hrrwork + 56808;
187     double * const HRR_INT__k_d_n_s = hrrwork + 68688;
188     double * const HRR_INT__k_d_o_s = hrrwork + 82944;
189     double * const HRR_INT__k_f_i_s = hrrwork + 99792;
190     double * const HRR_INT__k_f_k_s = hrrwork + 109872;
191     double * const HRR_INT__k_f_l_s = hrrwork + 122832;
192     double * const HRR_INT__k_f_m_s = hrrwork + 139032;
193     double * const HRR_INT__k_f_n_s = hrrwork + 158832;
194     double * const HRR_INT__k_f_o_s = hrrwork + 182592;
195     double * const HRR_INT__k_g_i_s = hrrwork + 210672;
196     double * const HRR_INT__k_g_i_p = hrrwork + 225792;
197     double * const HRR_INT__k_g_i_d = hrrwork + 271152;
198     double * const HRR_INT__k_g_i_f = hrrwork + 361872;
199     double * const HRR_INT__k_g_i_g = hrrwork + 513072;
200     double * const HRR_INT__k_g_k_s = hrrwork + 739872;
201     double * const HRR_INT__k_g_k_p = hrrwork + 759312;
202     double * const HRR_INT__k_g_k_d = hrrwork + 817632;
203     double * const HRR_INT__k_g_k_f = hrrwork + 934272;
204     double * const HRR_INT__k_g_k_g = hrrwork + 1128672;
205     double * const HRR_INT__k_g_l_s = hrrwork + 1420272;
206     double * const HRR_INT__k_g_l_p = hrrwork + 1444572;
207     double * const HRR_INT__k_g_l_d = hrrwork + 1517472;
208     double * const HRR_INT__k_g_l_f = hrrwork + 1663272;
209     double * const HRR_INT__k_g_m_s = hrrwork + 1906272;
210     double * const HRR_INT__k_g_m_p = hrrwork + 1935972;
211     double * const HRR_INT__k_g_m_d = hrrwork + 2025072;
212     double * const HRR_INT__k_g_n_s = hrrwork + 2203272;
213     double * const HRR_INT__k_g_n_p = hrrwork + 2238912;
214     double * const HRR_INT__k_g_o_s = hrrwork + 2345832;
215     double * const HRR_INT__l_p_i_s = hrrwork + 2387952;
216     double * const HRR_INT__l_p_k_s = hrrwork + 2391732;
217     double * const HRR_INT__l_p_l_s = hrrwork + 2396592;
218     double * const HRR_INT__l_p_m_s = hrrwork + 2402667;
219     double * const HRR_INT__l_p_n_s = hrrwork + 2410092;
220     double * const HRR_INT__l_p_o_s = hrrwork + 2419002;
221     double * const HRR_INT__l_d_i_s = hrrwork + 2429532;
222     double * const HRR_INT__l_d_k_s = hrrwork + 2437092;
223     double * const HRR_INT__l_d_l_s = hrrwork + 2446812;
224     double * const HRR_INT__l_d_m_s = hrrwork + 2458962;
225     double * const HRR_INT__l_d_n_s = hrrwork + 2473812;
226     double * const HRR_INT__l_d_o_s = hrrwork + 2491632;
227     double * const HRR_INT__l_f_i_s = hrrwork + 2512692;
228     double * const HRR_INT__l_f_k_s = hrrwork + 2525292;
229     double * const HRR_INT__l_f_l_s = hrrwork + 2541492;
230     double * const HRR_INT__l_f_m_s = hrrwork + 2561742;
231     double * const HRR_INT__l_f_n_s = hrrwork + 2586492;
232     double * const HRR_INT__l_f_o_s = hrrwork + 2616192;
233     double * const HRR_INT__m_p_i_s = hrrwork + 2651292;
234     double * const HRR_INT__m_p_k_s = hrrwork + 2655912;
235     double * const HRR_INT__m_p_l_s = hrrwork + 2661852;
236     double * const HRR_INT__m_p_m_s = hrrwork + 2669277;
237     double * const HRR_INT__m_p_n_s = hrrwork + 2678352;
238     double * const HRR_INT__m_p_o_s = hrrwork + 2689242;
239     double * const HRR_INT__m_d_i_s = hrrwork + 2702112;
240     double * const HRR_INT__m_d_k_s = hrrwork + 2711352;
241     double * const HRR_INT__m_d_l_s = hrrwork + 2723232;
242     double * const HRR_INT__m_d_m_s = hrrwork + 2738082;
243     double * const HRR_INT__m_d_n_s = hrrwork + 2756232;
244     double * const HRR_INT__m_d_o_s = hrrwork + 2778012;
245     double * const HRR_INT__n_p_i_s = hrrwork + 2803752;
246     double * const HRR_INT__n_p_k_s = hrrwork + 2809296;
247     double * const HRR_INT__n_p_l_s = hrrwork + 2816424;
248     double * const HRR_INT__n_p_m_s = hrrwork + 2825334;
249     double * const HRR_INT__n_p_n_s = hrrwork + 2836224;
250     double * const HRR_INT__n_p_o_s = hrrwork + 2849292;
251 
252 
253     // Create constants
254     const SIMINT_DBLTYPE const_1 = SIMINT_DBLSET1(1);
255     const SIMINT_DBLTYPE const_10 = SIMINT_DBLSET1(10);
256     const SIMINT_DBLTYPE const_11 = SIMINT_DBLSET1(11);
257     const SIMINT_DBLTYPE const_2 = SIMINT_DBLSET1(2);
258     const SIMINT_DBLTYPE const_3 = SIMINT_DBLSET1(3);
259     const SIMINT_DBLTYPE const_4 = SIMINT_DBLSET1(4);
260     const SIMINT_DBLTYPE const_5 = SIMINT_DBLSET1(5);
261     const SIMINT_DBLTYPE const_6 = SIMINT_DBLSET1(6);
262     const SIMINT_DBLTYPE const_7 = SIMINT_DBLSET1(7);
263     const SIMINT_DBLTYPE const_8 = SIMINT_DBLSET1(8);
264     const SIMINT_DBLTYPE const_9 = SIMINT_DBLSET1(9);
265     const SIMINT_DBLTYPE one_half = SIMINT_DBLSET1(0.5);
266 
267 
268     ////////////////////////////////////////
269     // Loop over shells and primitives
270     ////////////////////////////////////////
271 
272     real_abcd = 0;
273     istart = 0;
274     for(ab = 0; ab < P.nshell12_clip; ++ab)
275     {
276         const int iend = istart + P.nprim12[ab];
277 
278         cd = 0;
279         jstart = 0;
280 
281         for(cd = 0; cd < Q.nshell12_clip; cd += SIMINT_NSHELL_SIMD)
282         {
283             const int nshellbatch = ((cd + SIMINT_NSHELL_SIMD) > Q.nshell12_clip) ? Q.nshell12_clip - cd : SIMINT_NSHELL_SIMD;
284             int jend = jstart;
285             for(i = 0; i < nshellbatch; i++)
286                 jend += Q.nprim12[cd+i];
287 
288             // Clear the beginning of the workspace (where we are accumulating integrals)
289             memset(work, 0, SIMINT_NSHELL_SIMD * 86240 * sizeof(double));
290             abcd = 0;
291 
292 
293             for(i = istart; i < iend; ++i)
294             {
295                 SIMINT_DBLTYPE bra_screen_max;  // only used if check_screen
296 
297                 if(check_screen)
298                 {
299                     // Skip this whole thing if always insignificant
300                     if((P.screen[i] * Q.screen_max) < screen_tol)
301                         continue;
302                     bra_screen_max = SIMINT_DBLSET1(P.screen[i]);
303                 }
304 
305                 icd = 0;
306                 iprimcd = 0;
307                 nprim_icd = Q.nprim12[cd];
308                 double * restrict PRIM_PTR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
309                 double * restrict PRIM_PTR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
310                 double * restrict PRIM_PTR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
311                 double * restrict PRIM_PTR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
312                 double * restrict PRIM_PTR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
313                 double * restrict PRIM_PTR_INT__k_s_o_s = INT__k_s_o_s + abcd * 2808;
314                 double * restrict PRIM_PTR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
315                 double * restrict PRIM_PTR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
316                 double * restrict PRIM_PTR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
317                 double * restrict PRIM_PTR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
318                 double * restrict PRIM_PTR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
319                 double * restrict PRIM_PTR_INT__l_s_o_s = INT__l_s_o_s + abcd * 3510;
320                 double * restrict PRIM_PTR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
321                 double * restrict PRIM_PTR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
322                 double * restrict PRIM_PTR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
323                 double * restrict PRIM_PTR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
324                 double * restrict PRIM_PTR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
325                 double * restrict PRIM_PTR_INT__m_s_o_s = INT__m_s_o_s + abcd * 4290;
326                 double * restrict PRIM_PTR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
327                 double * restrict PRIM_PTR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
328                 double * restrict PRIM_PTR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
329                 double * restrict PRIM_PTR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
330                 double * restrict PRIM_PTR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
331                 double * restrict PRIM_PTR_INT__n_s_o_s = INT__n_s_o_s + abcd * 5148;
332                 double * restrict PRIM_PTR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
333                 double * restrict PRIM_PTR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
334                 double * restrict PRIM_PTR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
335                 double * restrict PRIM_PTR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
336                 double * restrict PRIM_PTR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
337                 double * restrict PRIM_PTR_INT__o_s_o_s = INT__o_s_o_s + abcd * 6084;
338 
339 
340 
341                 // Load these one per loop over i
342                 const SIMINT_DBLTYPE P_alpha = SIMINT_DBLSET1(P.alpha[i]);
343                 const SIMINT_DBLTYPE P_prefac = SIMINT_DBLSET1(P.prefac[i]);
344                 const SIMINT_DBLTYPE Pxyz[3] = { SIMINT_DBLSET1(P.x[i]), SIMINT_DBLSET1(P.y[i]), SIMINT_DBLSET1(P.z[i]) };
345 
346                 const SIMINT_DBLTYPE P_PA[3] = { SIMINT_DBLSET1(P.PA_x[i]), SIMINT_DBLSET1(P.PA_y[i]), SIMINT_DBLSET1(P.PA_z[i]) };
347 
348                 for(j = jstart; j < jend; j += SIMINT_SIMD_LEN)
349                 {
350                     // calculate the shell offsets
351                     // these are the offset from the shell pointed to by cd
352                     // for each element
353                     int shelloffsets[SIMINT_SIMD_LEN] = {0};
354                     int lastoffset = 0;
355                     const int nlane = ( ((j + SIMINT_SIMD_LEN) < jend) ? SIMINT_SIMD_LEN : (jend - j));
356 
357                     if((iprimcd + SIMINT_SIMD_LEN) >= nprim_icd)
358                     {
359                         // Handle if the first element of the vector is a new shell
360                         if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
361                         {
362                             nprim_icd += Q.nprim12[cd + (++icd)];
363                             PRIM_PTR_INT__k_s_i_s += 1008;
364                             PRIM_PTR_INT__k_s_k_s += 1296;
365                             PRIM_PTR_INT__k_s_l_s += 1620;
366                             PRIM_PTR_INT__k_s_m_s += 1980;
367                             PRIM_PTR_INT__k_s_n_s += 2376;
368                             PRIM_PTR_INT__k_s_o_s += 2808;
369                             PRIM_PTR_INT__l_s_i_s += 1260;
370                             PRIM_PTR_INT__l_s_k_s += 1620;
371                             PRIM_PTR_INT__l_s_l_s += 2025;
372                             PRIM_PTR_INT__l_s_m_s += 2475;
373                             PRIM_PTR_INT__l_s_n_s += 2970;
374                             PRIM_PTR_INT__l_s_o_s += 3510;
375                             PRIM_PTR_INT__m_s_i_s += 1540;
376                             PRIM_PTR_INT__m_s_k_s += 1980;
377                             PRIM_PTR_INT__m_s_l_s += 2475;
378                             PRIM_PTR_INT__m_s_m_s += 3025;
379                             PRIM_PTR_INT__m_s_n_s += 3630;
380                             PRIM_PTR_INT__m_s_o_s += 4290;
381                             PRIM_PTR_INT__n_s_i_s += 1848;
382                             PRIM_PTR_INT__n_s_k_s += 2376;
383                             PRIM_PTR_INT__n_s_l_s += 2970;
384                             PRIM_PTR_INT__n_s_m_s += 3630;
385                             PRIM_PTR_INT__n_s_n_s += 4356;
386                             PRIM_PTR_INT__n_s_o_s += 5148;
387                             PRIM_PTR_INT__o_s_i_s += 2184;
388                             PRIM_PTR_INT__o_s_k_s += 2808;
389                             PRIM_PTR_INT__o_s_l_s += 3510;
390                             PRIM_PTR_INT__o_s_m_s += 4290;
391                             PRIM_PTR_INT__o_s_n_s += 5148;
392                             PRIM_PTR_INT__o_s_o_s += 6084;
393                         }
394                         iprimcd++;
395                         for(n = 1; n < SIMINT_SIMD_LEN; ++n)
396                         {
397                             if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
398                             {
399                                 shelloffsets[n] = shelloffsets[n-1] + 1;
400                                 lastoffset++;
401                                 nprim_icd += Q.nprim12[cd + (++icd)];
402                             }
403                             else
404                                 shelloffsets[n] = shelloffsets[n-1];
405                             iprimcd++;
406                         }
407                     }
408                     else
409                         iprimcd += SIMINT_SIMD_LEN;
410 
411                     // Do we have to compute this vector (or has it been screened out)?
412                     // (not_screened != 0 means we have to do this vector)
413                     if(check_screen)
414                     {
415                         const double vmax = vector_max(SIMINT_MUL(bra_screen_max, SIMINT_DBLLOAD(Q.screen, j)));
416                         if(vmax < screen_tol)
417                         {
418                             PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
419                             PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
420                             PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
421                             PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
422                             PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
423                             PRIM_PTR_INT__k_s_o_s += lastoffset*2808;
424                             PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
425                             PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
426                             PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
427                             PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
428                             PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
429                             PRIM_PTR_INT__l_s_o_s += lastoffset*3510;
430                             PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
431                             PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
432                             PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
433                             PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
434                             PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
435                             PRIM_PTR_INT__m_s_o_s += lastoffset*4290;
436                             PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
437                             PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
438                             PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
439                             PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
440                             PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
441                             PRIM_PTR_INT__n_s_o_s += lastoffset*5148;
442                             PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
443                             PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
444                             PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
445                             PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
446                             PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
447                             PRIM_PTR_INT__o_s_o_s += lastoffset*6084;
448                             continue;
449                         }
450                     }
451 
452                     const SIMINT_DBLTYPE Q_alpha = SIMINT_DBLLOAD(Q.alpha, j);
453                     const SIMINT_DBLTYPE PQalpha_mul = SIMINT_MUL(P_alpha, Q_alpha);
454                     const SIMINT_DBLTYPE PQalpha_sum = SIMINT_ADD(P_alpha, Q_alpha);
455                     const SIMINT_DBLTYPE one_over_PQalpha_sum = SIMINT_DIV(const_1, PQalpha_sum);
456 
457 
458                     /* construct R2 = (Px - Qx)**2 + (Py - Qy)**2 + (Pz -Qz)**2 */
459                     SIMINT_DBLTYPE PQ[3];
460                     PQ[0] = SIMINT_SUB(Pxyz[0], SIMINT_DBLLOAD(Q.x, j));
461                     PQ[1] = SIMINT_SUB(Pxyz[1], SIMINT_DBLLOAD(Q.y, j));
462                     PQ[2] = SIMINT_SUB(Pxyz[2], SIMINT_DBLLOAD(Q.z, j));
463                     SIMINT_DBLTYPE R2 = SIMINT_MUL(PQ[0], PQ[0]);
464                     R2 = SIMINT_FMADD(PQ[1], PQ[1], R2);
465                     R2 = SIMINT_FMADD(PQ[2], PQ[2], R2);
466 
467                     const SIMINT_DBLTYPE alpha = SIMINT_MUL(PQalpha_mul, one_over_PQalpha_sum); // alpha from MEST
468                     const SIMINT_DBLTYPE one_over_p = SIMINT_DIV(const_1, P_alpha);
469                     const SIMINT_DBLTYPE one_over_q = SIMINT_DIV(const_1, Q_alpha);
470                     const SIMINT_DBLTYPE one_over_2p = SIMINT_MUL(one_half, one_over_p);
471                     const SIMINT_DBLTYPE one_over_2q = SIMINT_MUL(one_half, one_over_q);
472                     const SIMINT_DBLTYPE one_over_2pq = SIMINT_MUL(one_half, one_over_PQalpha_sum);
473                     const SIMINT_DBLTYPE Q_PA[3] = { SIMINT_DBLLOAD(Q.PA_x, j), SIMINT_DBLLOAD(Q.PA_y, j), SIMINT_DBLLOAD(Q.PA_z, j) };
474 
475                     // NOTE: Minus sign!
476                     const SIMINT_DBLTYPE a_over_p = SIMINT_MUL(SIMINT_NEG(alpha), one_over_p);
477                     SIMINT_DBLTYPE aop_PQ[3];
478                     aop_PQ[0] = SIMINT_MUL(a_over_p, PQ[0]);
479                     aop_PQ[1] = SIMINT_MUL(a_over_p, PQ[1]);
480                     aop_PQ[2] = SIMINT_MUL(a_over_p, PQ[2]);
481 
482                     SIMINT_DBLTYPE a_over_q = SIMINT_MUL(alpha, one_over_q);
483                     SIMINT_DBLTYPE aoq_PQ[3];
484                     aoq_PQ[0] = SIMINT_MUL(a_over_q, PQ[0]);
485                     aoq_PQ[1] = SIMINT_MUL(a_over_q, PQ[1]);
486                     aoq_PQ[2] = SIMINT_MUL(a_over_q, PQ[2]);
487                     // Put a minus sign here so we don't have to in RR routines
488                     a_over_q = SIMINT_NEG(a_over_q);
489 
490 
491                     //////////////////////////////////////////////
492                     // Fjt function section
493                     // Maximum v value: 22
494                     //////////////////////////////////////////////
495                     // The parameter to the Fjt function
496                     const SIMINT_DBLTYPE F_x = SIMINT_MUL(R2, alpha);
497 
498 
499                     const SIMINT_DBLTYPE Q_prefac = mask_load(nlane, Q.prefac + j);
500 
501 
502                     boys_F_split(PRIM_INT__s_s_s_s, F_x, 22);
503                     SIMINT_DBLTYPE prefac = SIMINT_SQRT(one_over_PQalpha_sum);
504                     prefac = SIMINT_MUL(SIMINT_MUL(P_prefac, Q_prefac), prefac);
505                     for(n = 0; n <= 22; n++)
506                         PRIM_INT__s_s_s_s[n] = SIMINT_MUL(PRIM_INT__s_s_s_s[n], prefac);
507 
508                     //////////////////////////////////////////////
509                     // Primitive integrals: Vertical recurrance
510                     //////////////////////////////////////////////
511 
512                     const SIMINT_DBLTYPE vrr_const_1_over_2p = one_over_2p;
513                     const SIMINT_DBLTYPE vrr_const_2_over_2p = SIMINT_MUL(const_2, one_over_2p);
514                     const SIMINT_DBLTYPE vrr_const_3_over_2p = SIMINT_MUL(const_3, one_over_2p);
515                     const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(const_4, one_over_2p);
516                     const SIMINT_DBLTYPE vrr_const_5_over_2p = SIMINT_MUL(const_5, one_over_2p);
517                     const SIMINT_DBLTYPE vrr_const_6_over_2p = SIMINT_MUL(const_6, one_over_2p);
518                     const SIMINT_DBLTYPE vrr_const_7_over_2p = SIMINT_MUL(const_7, one_over_2p);
519                     const SIMINT_DBLTYPE vrr_const_8_over_2p = SIMINT_MUL(const_8, one_over_2p);
520                     const SIMINT_DBLTYPE vrr_const_9_over_2p = SIMINT_MUL(const_9, one_over_2p);
521                     const SIMINT_DBLTYPE vrr_const_10_over_2p = SIMINT_MUL(const_10, one_over_2p);
522                     const SIMINT_DBLTYPE vrr_const_1_over_2q = one_over_2q;
523                     const SIMINT_DBLTYPE vrr_const_2_over_2q = SIMINT_MUL(const_2, one_over_2q);
524                     const SIMINT_DBLTYPE vrr_const_3_over_2q = SIMINT_MUL(const_3, one_over_2q);
525                     const SIMINT_DBLTYPE vrr_const_4_over_2q = SIMINT_MUL(const_4, one_over_2q);
526                     const SIMINT_DBLTYPE vrr_const_5_over_2q = SIMINT_MUL(const_5, one_over_2q);
527                     const SIMINT_DBLTYPE vrr_const_6_over_2q = SIMINT_MUL(const_6, one_over_2q);
528                     const SIMINT_DBLTYPE vrr_const_7_over_2q = SIMINT_MUL(const_7, one_over_2q);
529                     const SIMINT_DBLTYPE vrr_const_8_over_2q = SIMINT_MUL(const_8, one_over_2q);
530                     const SIMINT_DBLTYPE vrr_const_9_over_2q = SIMINT_MUL(const_9, one_over_2q);
531                     const SIMINT_DBLTYPE vrr_const_10_over_2q = SIMINT_MUL(const_10, one_over_2q);
532                     const SIMINT_DBLTYPE vrr_const_1_over_2pq = one_over_2pq;
533                     const SIMINT_DBLTYPE vrr_const_2_over_2pq = SIMINT_MUL(const_2, one_over_2pq);
534                     const SIMINT_DBLTYPE vrr_const_3_over_2pq = SIMINT_MUL(const_3, one_over_2pq);
535                     const SIMINT_DBLTYPE vrr_const_4_over_2pq = SIMINT_MUL(const_4, one_over_2pq);
536                     const SIMINT_DBLTYPE vrr_const_5_over_2pq = SIMINT_MUL(const_5, one_over_2pq);
537                     const SIMINT_DBLTYPE vrr_const_6_over_2pq = SIMINT_MUL(const_6, one_over_2pq);
538                     const SIMINT_DBLTYPE vrr_const_7_over_2pq = SIMINT_MUL(const_7, one_over_2pq);
539                     const SIMINT_DBLTYPE vrr_const_8_over_2pq = SIMINT_MUL(const_8, one_over_2pq);
540                     const SIMINT_DBLTYPE vrr_const_9_over_2pq = SIMINT_MUL(const_9, one_over_2pq);
541                     const SIMINT_DBLTYPE vrr_const_10_over_2pq = SIMINT_MUL(const_10, one_over_2pq);
542                     const SIMINT_DBLTYPE vrr_const_11_over_2pq = SIMINT_MUL(const_11, one_over_2pq);
543 
544 
545 
546                     // Forming PRIM_INT__p_s_s_s[22 * 3];
547                     for(n = 0; n < 22; ++n)  // loop over orders of auxiliary function
548                     {
549 
550                         PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
551                         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]);
552 
553                         PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
554                         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]);
555 
556                         PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
557                         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]);
558 
559                     }
560 
561 
562 
563                     // Forming PRIM_INT__d_s_s_s[21 * 6];
564                     for(n = 0; n < 21; ++n)  // loop over orders of auxiliary function
565                     {
566 
567                         PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
568                         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]);
569                         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]);
570 
571                         PRIM_INT__d_s_s_s[n * 6 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
572                         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]);
573 
574                         PRIM_INT__d_s_s_s[n * 6 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
575                         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]);
576 
577                         PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
578                         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]);
579                         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]);
580 
581                         PRIM_INT__d_s_s_s[n * 6 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
582                         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]);
583 
584                         PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
585                         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]);
586                         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]);
587 
588                     }
589 
590 
591 
592                     // Forming PRIM_INT__f_s_s_s[20 * 10];
593                     for(n = 0; n < 20; ++n)  // loop over orders of auxiliary function
594                     {
595 
596                         PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
597                         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]);
598                         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]);
599 
600                         PRIM_INT__f_s_s_s[n * 10 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
601                         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]);
602 
603                         PRIM_INT__f_s_s_s[n * 10 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
604                         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]);
605 
606                         PRIM_INT__f_s_s_s[n * 10 + 3] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
607                         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]);
608 
609                         PRIM_INT__f_s_s_s[n * 10 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
610                         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]);
611 
612                         PRIM_INT__f_s_s_s[n * 10 + 5] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
613                         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]);
614 
615                         PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
616                         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]);
617                         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]);
618 
619                         PRIM_INT__f_s_s_s[n * 10 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
620                         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]);
621 
622                         PRIM_INT__f_s_s_s[n * 10 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
623                         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]);
624 
625                         PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
626                         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]);
627                         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]);
628 
629                     }
630 
631 
632                     VRR_I_g_s_s_s(
633                             PRIM_INT__g_s_s_s,
634                             PRIM_INT__f_s_s_s,
635                             PRIM_INT__d_s_s_s,
636                             P_PA,
637                             a_over_p,
638                             aop_PQ,
639                             one_over_2p,
640                             19);
641 
642 
643                     VRR_I_h_s_s_s(
644                             PRIM_INT__h_s_s_s,
645                             PRIM_INT__g_s_s_s,
646                             PRIM_INT__f_s_s_s,
647                             P_PA,
648                             a_over_p,
649                             aop_PQ,
650                             one_over_2p,
651                             18);
652 
653 
654                     ostei_general_vrr1_I(6, 17,
655                             one_over_2p, a_over_p, aop_PQ, P_PA,
656                             PRIM_INT__h_s_s_s, PRIM_INT__g_s_s_s, PRIM_INT__i_s_s_s);
657 
658 
659                     ostei_general_vrr1_I(7, 16,
660                             one_over_2p, a_over_p, aop_PQ, P_PA,
661                             PRIM_INT__i_s_s_s, PRIM_INT__h_s_s_s, PRIM_INT__k_s_s_s);
662 
663 
664                     ostei_general_vrr_K(7, 0, 1, 0, 11,
665                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
666                             PRIM_INT__k_s_s_s, NULL, NULL, PRIM_INT__i_s_s_s, NULL, PRIM_INT__k_s_p_s);
667 
668 
669                     ostei_general_vrr_K(6, 0, 1, 0, 11,
670                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
671                             PRIM_INT__i_s_s_s, NULL, NULL, PRIM_INT__h_s_s_s, NULL, PRIM_INT__i_s_p_s);
672 
673 
674                     ostei_general_vrr_K(7, 0, 2, 0, 10,
675                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
676                             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);
677 
678 
679                     ostei_general_vrr_K(5, 0, 1, 0, 11,
680                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
681                             PRIM_INT__h_s_s_s, NULL, NULL, PRIM_INT__g_s_s_s, NULL, PRIM_INT__h_s_p_s);
682 
683 
684                     ostei_general_vrr_K(6, 0, 2, 0, 10,
685                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
686                             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);
687 
688 
689                     ostei_general_vrr_K(7, 0, 3, 0, 9,
690                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
691                             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);
692 
693 
694                     VRR_K_g_s_p_s(
695                             PRIM_INT__g_s_p_s,
696                             PRIM_INT__g_s_s_s,
697                             PRIM_INT__f_s_s_s,
698                             Q_PA,
699                             aoq_PQ,
700                             one_over_2pq,
701                             11);
702 
703 
704                     ostei_general_vrr_K(5, 0, 2, 0, 10,
705                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
706                             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);
707 
708 
709                     ostei_general_vrr_K(6, 0, 3, 0, 9,
710                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
711                             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);
712 
713 
714                     ostei_general_vrr_K(7, 0, 4, 0, 8,
715                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
716                             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);
717 
718 
719                     VRR_K_f_s_p_s(
720                             PRIM_INT__f_s_p_s,
721                             PRIM_INT__f_s_s_s,
722                             PRIM_INT__d_s_s_s,
723                             Q_PA,
724                             aoq_PQ,
725                             one_over_2pq,
726                             11);
727 
728 
729                     ostei_general_vrr_K(4, 0, 2, 0, 10,
730                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
731                             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);
732 
733 
734                     ostei_general_vrr_K(5, 0, 3, 0, 9,
735                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
736                             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);
737 
738 
739                     ostei_general_vrr_K(6, 0, 4, 0, 8,
740                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
741                             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);
742 
743 
744                     ostei_general_vrr_K(7, 0, 5, 0, 7,
745                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
746                             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);
747 
748 
749 
750                     // Forming PRIM_INT__d_s_p_s[11 * 18];
751                     for(n = 0; n < 11; ++n)  // loop over orders of auxiliary function
752                     {
753 
754                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
755                         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]);
756                         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]);
757 
758                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
759                         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]);
760 
761                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
762                         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]);
763 
764                         PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 1]);
765                         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]);
766                         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]);
767 
768                         PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 1]);
769                         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]);
770                         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]);
771 
772                         PRIM_INT__d_s_p_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
773                         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]);
774 
775                         PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 2]);
776                         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]);
777                         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]);
778 
779                         PRIM_INT__d_s_p_s[n * 18 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 2]);
780                         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]);
781 
782                         PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 2]);
783                         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]);
784                         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]);
785 
786                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
787                         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]);
788 
789                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
790                         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]);
791                         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]);
792 
793                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
794                         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]);
795 
796                         PRIM_INT__d_s_p_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 4]);
797                         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]);
798 
799                         PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 4]);
800                         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]);
801                         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]);
802 
803                         PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 4]);
804                         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]);
805                         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]);
806 
807                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
808                         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]);
809 
810                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
811                         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]);
812 
813                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
814                         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]);
815                         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]);
816 
817                     }
818 
819 
820                     VRR_K_f_s_d_s(
821                             PRIM_INT__f_s_d_s,
822                             PRIM_INT__f_s_p_s,
823                             PRIM_INT__f_s_s_s,
824                             PRIM_INT__d_s_p_s,
825                             Q_PA,
826                             a_over_q,
827                             aoq_PQ,
828                             one_over_2pq,
829                             one_over_2q,
830                             10);
831 
832 
833                     ostei_general_vrr_K(4, 0, 3, 0, 9,
834                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
835                             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);
836 
837 
838                     ostei_general_vrr_K(5, 0, 4, 0, 8,
839                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
840                             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);
841 
842 
843                     ostei_general_vrr_K(6, 0, 5, 0, 7,
844                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
845                             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);
846 
847 
848                     ostei_general_vrr_K(7, 0, 6, 0, 6,
849                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
850                             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);
851 
852 
853 
854                     // Forming PRIM_INT__p_s_p_s[11 * 9];
855                     for(n = 0; n < 11; ++n)  // loop over orders of auxiliary function
856                     {
857 
858                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
859                         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]);
860                         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]);
861 
862                         PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
863                         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]);
864 
865                         PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
866                         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]);
867 
868                         PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 1]);
869                         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]);
870 
871                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
872                         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]);
873                         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]);
874 
875                         PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
876                         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]);
877 
878                         PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 2]);
879                         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]);
880 
881                         PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 2]);
882                         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]);
883 
884                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
885                         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]);
886                         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]);
887 
888                     }
889 
890 
891                     VRR_K_d_s_d_s(
892                             PRIM_INT__d_s_d_s,
893                             PRIM_INT__d_s_p_s,
894                             PRIM_INT__d_s_s_s,
895                             PRIM_INT__p_s_p_s,
896                             Q_PA,
897                             a_over_q,
898                             aoq_PQ,
899                             one_over_2pq,
900                             one_over_2q,
901                             10);
902 
903 
904                     ostei_general_vrr_K(3, 0, 3, 0, 9,
905                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
906                             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);
907 
908 
909                     ostei_general_vrr_K(4, 0, 4, 0, 8,
910                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
911                             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);
912 
913 
914                     ostei_general_vrr_K(5, 0, 5, 0, 7,
915                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
916                             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);
917 
918 
919                     ostei_general_vrr_K(6, 0, 6, 0, 6,
920                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
921                             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);
922 
923 
924                     ostei_general_vrr_K(7, 0, 7, 0, 5,
925                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
926                             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);
927 
928 
929                     ostei_general_vrr1_I(8, 15,
930                             one_over_2p, a_over_p, aop_PQ, P_PA,
931                             PRIM_INT__k_s_s_s, PRIM_INT__i_s_s_s, PRIM_INT__l_s_s_s);
932 
933 
934                     ostei_general_vrr_K(8, 0, 1, 0, 11,
935                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
936                             PRIM_INT__l_s_s_s, NULL, NULL, PRIM_INT__k_s_s_s, NULL, PRIM_INT__l_s_p_s);
937 
938 
939                     ostei_general_vrr_K(8, 0, 2, 0, 10,
940                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
941                             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);
942 
943 
944                     ostei_general_vrr_K(8, 0, 3, 0, 9,
945                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
946                             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);
947 
948 
949                     ostei_general_vrr_K(8, 0, 4, 0, 8,
950                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
951                             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);
952 
953 
954                     ostei_general_vrr_K(8, 0, 5, 0, 7,
955                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
956                             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);
957 
958 
959                     ostei_general_vrr_K(8, 0, 6, 0, 6,
960                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
961                             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);
962 
963 
964 
965                     // Forming PRIM_INT__s_s_p_s[11 * 3];
966                     for(n = 0; n < 11; ++n)  // loop over orders of auxiliary function
967                     {
968 
969                         PRIM_INT__s_s_p_s[n * 3 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
970                         PRIM_INT__s_s_p_s[n * 3 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_p_s[n * 3 + 0]);
971 
972                         PRIM_INT__s_s_p_s[n * 3 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
973                         PRIM_INT__s_s_p_s[n * 3 + 1] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_p_s[n * 3 + 1]);
974 
975                         PRIM_INT__s_s_p_s[n * 3 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
976                         PRIM_INT__s_s_p_s[n * 3 + 2] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_p_s[n * 3 + 2]);
977 
978                     }
979 
980 
981 
982                     // Forming PRIM_INT__p_s_d_s[10 * 18];
983                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
984                     {
985 
986                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 0]);
987                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 0], PRIM_INT__p_s_d_s[n * 18 + 0]);
988                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]), PRIM_INT__p_s_d_s[n * 18 + 0]);
989                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__p_s_d_s[n * 18 + 0]);
990 
991                         PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 1]);
992                         PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 1], PRIM_INT__p_s_d_s[n * 18 + 3]);
993                         PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]), PRIM_INT__p_s_d_s[n * 18 + 3]);
994 
995                         PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 2]);
996                         PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 2], PRIM_INT__p_s_d_s[n * 18 + 5]);
997                         PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]), PRIM_INT__p_s_d_s[n * 18 + 5]);
998 
999                         PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 3]);
1000                         PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 3], PRIM_INT__p_s_d_s[n * 18 + 6]);
1001                         PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_s_s[n * 3 + 1]), PRIM_INT__p_s_d_s[n * 18 + 6]);
1002 
1003                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 4]);
1004                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 4], PRIM_INT__p_s_d_s[n * 18 + 9]);
1005                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_s_s[n * 3 + 1]), PRIM_INT__p_s_d_s[n * 18 + 9]);
1006                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__p_s_d_s[n * 18 + 9]);
1007 
1008                         PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 5]);
1009                         PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 5], PRIM_INT__p_s_d_s[n * 18 + 11]);
1010                         PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_s_s[n * 3 + 1]), PRIM_INT__p_s_d_s[n * 18 + 11]);
1011 
1012                         PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 6]);
1013                         PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 6], PRIM_INT__p_s_d_s[n * 18 + 12]);
1014                         PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_s_s[n * 3 + 2]), PRIM_INT__p_s_d_s[n * 18 + 12]);
1015 
1016                         PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 7]);
1017                         PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 7], PRIM_INT__p_s_d_s[n * 18 + 15]);
1018                         PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_s_s[n * 3 + 2]), PRIM_INT__p_s_d_s[n * 18 + 15]);
1019 
1020                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1021                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 8], PRIM_INT__p_s_d_s[n * 18 + 17]);
1022                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_s_s[n * 3 + 2]), PRIM_INT__p_s_d_s[n * 18 + 17]);
1023                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__p_s_d_s[n * 18 + 17]);
1024 
1025                     }
1026 
1027 
1028                     VRR_K_d_s_f_s(
1029                             PRIM_INT__d_s_f_s,
1030                             PRIM_INT__d_s_d_s,
1031                             PRIM_INT__d_s_p_s,
1032                             PRIM_INT__p_s_d_s,
1033                             Q_PA,
1034                             a_over_q,
1035                             aoq_PQ,
1036                             one_over_2pq,
1037                             one_over_2q,
1038                             9);
1039 
1040 
1041                     ostei_general_vrr_K(3, 0, 4, 0, 8,
1042                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1043                             PRIM_INT__f_s_f_s, PRIM_INT__f_s_d_s, NULL, PRIM_INT__d_s_f_s, NULL, PRIM_INT__f_s_g_s);
1044 
1045 
1046                     ostei_general_vrr_K(4, 0, 5, 0, 7,
1047                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1048                             PRIM_INT__g_s_g_s, PRIM_INT__g_s_f_s, NULL, PRIM_INT__f_s_g_s, NULL, PRIM_INT__g_s_h_s);
1049 
1050 
1051                     ostei_general_vrr_K(5, 0, 6, 0, 6,
1052                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1053                             PRIM_INT__h_s_h_s, PRIM_INT__h_s_g_s, NULL, PRIM_INT__g_s_h_s, NULL, PRIM_INT__h_s_i_s);
1054 
1055 
1056                     ostei_general_vrr_K(6, 0, 7, 0, 5,
1057                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1058                             PRIM_INT__i_s_i_s, PRIM_INT__i_s_h_s, NULL, PRIM_INT__h_s_i_s, NULL, PRIM_INT__i_s_k_s);
1059 
1060 
1061                     ostei_general_vrr_K(7, 0, 8, 0, 4,
1062                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1063                             PRIM_INT__k_s_k_s, PRIM_INT__k_s_i_s, NULL, PRIM_INT__i_s_k_s, NULL, PRIM_INT__k_s_l_s);
1064 
1065 
1066                     ostei_general_vrr_K(8, 0, 7, 0, 5,
1067                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1068                             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);
1069 
1070 
1071                     ostei_general_vrr1_I(9, 14,
1072                             one_over_2p, a_over_p, aop_PQ, P_PA,
1073                             PRIM_INT__l_s_s_s, PRIM_INT__k_s_s_s, PRIM_INT__m_s_s_s);
1074 
1075 
1076                     ostei_general_vrr_K(9, 0, 1, 0, 11,
1077                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1078                             PRIM_INT__m_s_s_s, NULL, NULL, PRIM_INT__l_s_s_s, NULL, PRIM_INT__m_s_p_s);
1079 
1080 
1081                     ostei_general_vrr_K(9, 0, 2, 0, 10,
1082                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1083                             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);
1084 
1085 
1086                     ostei_general_vrr_K(9, 0, 3, 0, 9,
1087                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1088                             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);
1089 
1090 
1091                     ostei_general_vrr_K(9, 0, 4, 0, 8,
1092                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1093                             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);
1094 
1095 
1096                     ostei_general_vrr_K(9, 0, 5, 0, 7,
1097                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1098                             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);
1099 
1100 
1101                     ostei_general_vrr_K(9, 0, 6, 0, 6,
1102                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1103                             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);
1104 
1105 
1106 
1107                     // Forming PRIM_INT__s_s_d_s[10 * 6];
1108                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
1109                     {
1110 
1111                         PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
1112                         PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__s_s_d_s[n * 6 + 0]);
1113                         PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_s_s[n * 1 + 0]), PRIM_INT__s_s_d_s[n * 6 + 0]);
1114 
1115                         PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
1116                         PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__s_s_d_s[n * 6 + 3]);
1117                         PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_s_s[n * 1 + 0]), PRIM_INT__s_s_d_s[n * 6 + 3]);
1118 
1119                         PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
1120                         PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__s_s_d_s[n * 6 + 5]);
1121                         PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__s_s_s_s[(n+1) * 1 + 0], PRIM_INT__s_s_s_s[n * 1 + 0]), PRIM_INT__s_s_d_s[n * 6 + 5]);
1122 
1123                     }
1124 
1125 
1126                     VRR_K_p_s_f_s(
1127                             PRIM_INT__p_s_f_s,
1128                             PRIM_INT__p_s_d_s,
1129                             PRIM_INT__p_s_p_s,
1130                             PRIM_INT__s_s_d_s,
1131                             Q_PA,
1132                             a_over_q,
1133                             aoq_PQ,
1134                             one_over_2pq,
1135                             one_over_2q,
1136                             9);
1137 
1138 
1139                     ostei_general_vrr_K(2, 0, 4, 0, 8,
1140                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1141                             PRIM_INT__d_s_f_s, PRIM_INT__d_s_d_s, NULL, PRIM_INT__p_s_f_s, NULL, PRIM_INT__d_s_g_s);
1142 
1143 
1144                     ostei_general_vrr_K(3, 0, 5, 0, 7,
1145                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1146                             PRIM_INT__f_s_g_s, PRIM_INT__f_s_f_s, NULL, PRIM_INT__d_s_g_s, NULL, PRIM_INT__f_s_h_s);
1147 
1148 
1149                     ostei_general_vrr_K(4, 0, 6, 0, 6,
1150                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1151                             PRIM_INT__g_s_h_s, PRIM_INT__g_s_g_s, NULL, PRIM_INT__f_s_h_s, NULL, PRIM_INT__g_s_i_s);
1152 
1153 
1154                     ostei_general_vrr_K(5, 0, 7, 0, 5,
1155                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1156                             PRIM_INT__h_s_i_s, PRIM_INT__h_s_h_s, NULL, PRIM_INT__g_s_i_s, NULL, PRIM_INT__h_s_k_s);
1157 
1158 
1159                     ostei_general_vrr_K(6, 0, 8, 0, 4,
1160                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1161                             PRIM_INT__i_s_k_s, PRIM_INT__i_s_i_s, NULL, PRIM_INT__h_s_k_s, NULL, PRIM_INT__i_s_l_s);
1162 
1163 
1164                     ostei_general_vrr_K(7, 0, 9, 0, 3,
1165                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1166                             PRIM_INT__k_s_l_s, PRIM_INT__k_s_k_s, NULL, PRIM_INT__i_s_l_s, NULL, PRIM_INT__k_s_m_s);
1167 
1168 
1169                     ostei_general_vrr_K(8, 0, 8, 0, 4,
1170                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1171                             PRIM_INT__l_s_k_s, PRIM_INT__l_s_i_s, NULL, PRIM_INT__k_s_k_s, NULL, PRIM_INT__l_s_l_s);
1172 
1173 
1174                     ostei_general_vrr_K(9, 0, 7, 0, 5,
1175                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1176                             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);
1177 
1178 
1179                     ostei_general_vrr1_I(10, 13,
1180                             one_over_2p, a_over_p, aop_PQ, P_PA,
1181                             PRIM_INT__m_s_s_s, PRIM_INT__l_s_s_s, PRIM_INT__n_s_s_s);
1182 
1183 
1184                     ostei_general_vrr_K(10, 0, 1, 0, 11,
1185                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1186                             PRIM_INT__n_s_s_s, NULL, NULL, PRIM_INT__m_s_s_s, NULL, PRIM_INT__n_s_p_s);
1187 
1188 
1189                     ostei_general_vrr_K(10, 0, 2, 0, 10,
1190                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1191                             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);
1192 
1193 
1194                     ostei_general_vrr_K(10, 0, 3, 0, 9,
1195                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1196                             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);
1197 
1198 
1199                     ostei_general_vrr_K(10, 0, 4, 0, 8,
1200                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1201                             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);
1202 
1203 
1204                     ostei_general_vrr_K(10, 0, 5, 0, 7,
1205                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1206                             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);
1207 
1208 
1209                     ostei_general_vrr_K(10, 0, 6, 0, 6,
1210                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1211                             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);
1212 
1213 
1214 
1215                     // Forming PRIM_INT__s_s_f_s[9 * 10];
1216                     for(n = 0; n < 9; ++n)  // loop over orders of auxiliary function
1217                     {
1218 
1219                         PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
1220                         PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 0], PRIM_INT__s_s_f_s[n * 10 + 0]);
1221                         PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_FMADD( vrr_const_2_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__s_s_p_s[n * 3 + 0]), PRIM_INT__s_s_f_s[n * 10 + 0]);
1222 
1223                         PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
1224                         PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 3], PRIM_INT__s_s_f_s[n * 10 + 6]);
1225                         PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_FMADD( vrr_const_2_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__s_s_p_s[n * 3 + 1]), PRIM_INT__s_s_f_s[n * 10 + 6]);
1226 
1227                         PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
1228                         PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 5], PRIM_INT__s_s_f_s[n * 10 + 9]);
1229                         PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_FMADD( vrr_const_2_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__s_s_p_s[n * 3 + 2]), PRIM_INT__s_s_f_s[n * 10 + 9]);
1230 
1231                     }
1232 
1233 
1234                     VRR_K_p_s_g_s(
1235                             PRIM_INT__p_s_g_s,
1236                             PRIM_INT__p_s_f_s,
1237                             PRIM_INT__p_s_d_s,
1238                             PRIM_INT__s_s_f_s,
1239                             Q_PA,
1240                             a_over_q,
1241                             aoq_PQ,
1242                             one_over_2pq,
1243                             one_over_2q,
1244                             8);
1245 
1246 
1247                     ostei_general_vrr_K(2, 0, 5, 0, 7,
1248                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1249                             PRIM_INT__d_s_g_s, PRIM_INT__d_s_f_s, NULL, PRIM_INT__p_s_g_s, NULL, PRIM_INT__d_s_h_s);
1250 
1251 
1252                     ostei_general_vrr_K(3, 0, 6, 0, 6,
1253                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1254                             PRIM_INT__f_s_h_s, PRIM_INT__f_s_g_s, NULL, PRIM_INT__d_s_h_s, NULL, PRIM_INT__f_s_i_s);
1255 
1256 
1257                     ostei_general_vrr_K(4, 0, 7, 0, 5,
1258                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1259                             PRIM_INT__g_s_i_s, PRIM_INT__g_s_h_s, NULL, PRIM_INT__f_s_i_s, NULL, PRIM_INT__g_s_k_s);
1260 
1261 
1262                     ostei_general_vrr_K(5, 0, 8, 0, 4,
1263                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1264                             PRIM_INT__h_s_k_s, PRIM_INT__h_s_i_s, NULL, PRIM_INT__g_s_k_s, NULL, PRIM_INT__h_s_l_s);
1265 
1266 
1267                     ostei_general_vrr_K(6, 0, 9, 0, 3,
1268                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1269                             PRIM_INT__i_s_l_s, PRIM_INT__i_s_k_s, NULL, PRIM_INT__h_s_l_s, NULL, PRIM_INT__i_s_m_s);
1270 
1271 
1272                     ostei_general_vrr_K(7, 0, 10, 0, 2,
1273                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1274                             PRIM_INT__k_s_m_s, PRIM_INT__k_s_l_s, NULL, PRIM_INT__i_s_m_s, NULL, PRIM_INT__k_s_n_s);
1275 
1276 
1277                     ostei_general_vrr_K(8, 0, 9, 0, 3,
1278                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1279                             PRIM_INT__l_s_l_s, PRIM_INT__l_s_k_s, NULL, PRIM_INT__k_s_l_s, NULL, PRIM_INT__l_s_m_s);
1280 
1281 
1282                     ostei_general_vrr_K(9, 0, 8, 0, 4,
1283                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1284                             PRIM_INT__m_s_k_s, PRIM_INT__m_s_i_s, NULL, PRIM_INT__l_s_k_s, NULL, PRIM_INT__m_s_l_s);
1285 
1286 
1287                     ostei_general_vrr_K(10, 0, 7, 0, 5,
1288                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1289                             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);
1290 
1291 
1292                     ostei_general_vrr1_I(11, 12,
1293                             one_over_2p, a_over_p, aop_PQ, P_PA,
1294                             PRIM_INT__n_s_s_s, PRIM_INT__m_s_s_s, PRIM_INT__o_s_s_s);
1295 
1296 
1297                     ostei_general_vrr_K(11, 0, 1, 0, 11,
1298                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1299                             PRIM_INT__o_s_s_s, NULL, NULL, PRIM_INT__n_s_s_s, NULL, PRIM_INT__o_s_p_s);
1300 
1301 
1302                     ostei_general_vrr_K(11, 0, 2, 0, 10,
1303                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1304                             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);
1305 
1306 
1307                     ostei_general_vrr_K(11, 0, 3, 0, 9,
1308                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1309                             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);
1310 
1311 
1312                     ostei_general_vrr_K(11, 0, 4, 0, 8,
1313                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1314                             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);
1315 
1316 
1317                     ostei_general_vrr_K(11, 0, 5, 0, 7,
1318                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1319                             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);
1320 
1321 
1322                     ostei_general_vrr_K(11, 0, 6, 0, 6,
1323                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1324                             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);
1325 
1326 
1327                     VRR_K_s_s_g_s(
1328                             PRIM_INT__s_s_g_s,
1329                             PRIM_INT__s_s_f_s,
1330                             PRIM_INT__s_s_d_s,
1331                             Q_PA,
1332                             a_over_q,
1333                             aoq_PQ,
1334                             one_over_2q,
1335                             8);
1336 
1337 
1338                     ostei_general_vrr_K(1, 0, 5, 0, 7,
1339                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1340                             PRIM_INT__p_s_g_s, PRIM_INT__p_s_f_s, NULL, PRIM_INT__s_s_g_s, NULL, PRIM_INT__p_s_h_s);
1341 
1342 
1343                     ostei_general_vrr_K(2, 0, 6, 0, 6,
1344                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1345                             PRIM_INT__d_s_h_s, PRIM_INT__d_s_g_s, NULL, PRIM_INT__p_s_h_s, NULL, PRIM_INT__d_s_i_s);
1346 
1347 
1348                     ostei_general_vrr_K(3, 0, 7, 0, 5,
1349                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1350                             PRIM_INT__f_s_i_s, PRIM_INT__f_s_h_s, NULL, PRIM_INT__d_s_i_s, NULL, PRIM_INT__f_s_k_s);
1351 
1352 
1353                     ostei_general_vrr_K(4, 0, 8, 0, 4,
1354                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1355                             PRIM_INT__g_s_k_s, PRIM_INT__g_s_i_s, NULL, PRIM_INT__f_s_k_s, NULL, PRIM_INT__g_s_l_s);
1356 
1357 
1358                     ostei_general_vrr_K(5, 0, 9, 0, 3,
1359                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1360                             PRIM_INT__h_s_l_s, PRIM_INT__h_s_k_s, NULL, PRIM_INT__g_s_l_s, NULL, PRIM_INT__h_s_m_s);
1361 
1362 
1363                     ostei_general_vrr_K(6, 0, 10, 0, 2,
1364                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1365                             PRIM_INT__i_s_m_s, PRIM_INT__i_s_l_s, NULL, PRIM_INT__h_s_m_s, NULL, PRIM_INT__i_s_n_s);
1366 
1367 
1368                     ostei_general_vrr_K(7, 0, 11, 0, 1,
1369                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1370                             PRIM_INT__k_s_n_s, PRIM_INT__k_s_m_s, NULL, PRIM_INT__i_s_n_s, NULL, PRIM_INT__k_s_o_s);
1371 
1372 
1373                     ostei_general_vrr_K(8, 0, 10, 0, 2,
1374                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1375                             PRIM_INT__l_s_m_s, PRIM_INT__l_s_l_s, NULL, PRIM_INT__k_s_m_s, NULL, PRIM_INT__l_s_n_s);
1376 
1377 
1378                     ostei_general_vrr_K(9, 0, 9, 0, 3,
1379                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1380                             PRIM_INT__m_s_l_s, PRIM_INT__m_s_k_s, NULL, PRIM_INT__l_s_l_s, NULL, PRIM_INT__m_s_m_s);
1381 
1382 
1383                     ostei_general_vrr_K(10, 0, 8, 0, 4,
1384                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1385                             PRIM_INT__n_s_k_s, PRIM_INT__n_s_i_s, NULL, PRIM_INT__m_s_k_s, NULL, PRIM_INT__n_s_l_s);
1386 
1387 
1388                     ostei_general_vrr_K(11, 0, 7, 0, 5,
1389                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1390                             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);
1391 
1392 
1393                     ostei_general_vrr_K(8, 0, 11, 0, 1,
1394                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1395                             PRIM_INT__l_s_n_s, PRIM_INT__l_s_m_s, NULL, PRIM_INT__k_s_n_s, NULL, PRIM_INT__l_s_o_s);
1396 
1397 
1398                     ostei_general_vrr_K(9, 0, 10, 0, 2,
1399                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1400                             PRIM_INT__m_s_m_s, PRIM_INT__m_s_l_s, NULL, PRIM_INT__l_s_m_s, NULL, PRIM_INT__m_s_n_s);
1401 
1402 
1403                     ostei_general_vrr_K(10, 0, 9, 0, 3,
1404                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1405                             PRIM_INT__n_s_l_s, PRIM_INT__n_s_k_s, NULL, PRIM_INT__m_s_l_s, NULL, PRIM_INT__n_s_m_s);
1406 
1407 
1408                     ostei_general_vrr_K(11, 0, 8, 0, 4,
1409                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1410                             PRIM_INT__o_s_k_s, PRIM_INT__o_s_i_s, NULL, PRIM_INT__n_s_k_s, NULL, PRIM_INT__o_s_l_s);
1411 
1412 
1413                     ostei_general_vrr_K(9, 0, 11, 0, 1,
1414                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1415                             PRIM_INT__m_s_n_s, PRIM_INT__m_s_m_s, NULL, PRIM_INT__l_s_n_s, NULL, PRIM_INT__m_s_o_s);
1416 
1417 
1418                     ostei_general_vrr_K(10, 0, 10, 0, 2,
1419                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1420                             PRIM_INT__n_s_m_s, PRIM_INT__n_s_l_s, NULL, PRIM_INT__m_s_m_s, NULL, PRIM_INT__n_s_n_s);
1421 
1422 
1423                     ostei_general_vrr_K(11, 0, 9, 0, 3,
1424                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1425                             PRIM_INT__o_s_l_s, PRIM_INT__o_s_k_s, NULL, PRIM_INT__n_s_l_s, NULL, PRIM_INT__o_s_m_s);
1426 
1427 
1428                     ostei_general_vrr_K(10, 0, 11, 0, 1,
1429                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1430                             PRIM_INT__n_s_n_s, PRIM_INT__n_s_m_s, NULL, PRIM_INT__m_s_n_s, NULL, PRIM_INT__n_s_o_s);
1431 
1432 
1433                     ostei_general_vrr_K(11, 0, 10, 0, 2,
1434                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1435                             PRIM_INT__o_s_m_s, PRIM_INT__o_s_l_s, NULL, PRIM_INT__n_s_m_s, NULL, PRIM_INT__o_s_n_s);
1436 
1437 
1438                     ostei_general_vrr_K(11, 0, 11, 0, 1,
1439                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1440                             PRIM_INT__o_s_n_s, PRIM_INT__o_s_m_s, NULL, PRIM_INT__n_s_n_s, NULL, PRIM_INT__o_s_o_s);
1441 
1442 
1443 
1444 
1445                     ////////////////////////////////////
1446                     // Accumulate contracted integrals
1447                     ////////////////////////////////////
1448                     if(lastoffset == 0)
1449                     {
1450                         contract_all(1008, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1451                         contract_all(1296, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1452                         contract_all(1620, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1453                         contract_all(1980, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1454                         contract_all(2376, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1455                         contract_all(2808, PRIM_INT__k_s_o_s, PRIM_PTR_INT__k_s_o_s);
1456                         contract_all(1260, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1457                         contract_all(1620, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1458                         contract_all(2025, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1459                         contract_all(2475, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1460                         contract_all(2970, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1461                         contract_all(3510, PRIM_INT__l_s_o_s, PRIM_PTR_INT__l_s_o_s);
1462                         contract_all(1540, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1463                         contract_all(1980, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1464                         contract_all(2475, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1465                         contract_all(3025, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1466                         contract_all(3630, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1467                         contract_all(4290, PRIM_INT__m_s_o_s, PRIM_PTR_INT__m_s_o_s);
1468                         contract_all(1848, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1469                         contract_all(2376, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1470                         contract_all(2970, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1471                         contract_all(3630, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1472                         contract_all(4356, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1473                         contract_all(5148, PRIM_INT__n_s_o_s, PRIM_PTR_INT__n_s_o_s);
1474                         contract_all(2184, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1475                         contract_all(2808, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1476                         contract_all(3510, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1477                         contract_all(4290, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1478                         contract_all(5148, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1479                         contract_all(6084, PRIM_INT__o_s_o_s, PRIM_PTR_INT__o_s_o_s);
1480                     }
1481                     else
1482                     {
1483                         contract(1008, shelloffsets, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1484                         contract(1296, shelloffsets, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1485                         contract(1620, shelloffsets, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1486                         contract(1980, shelloffsets, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1487                         contract(2376, shelloffsets, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1488                         contract(2808, shelloffsets, PRIM_INT__k_s_o_s, PRIM_PTR_INT__k_s_o_s);
1489                         contract(1260, shelloffsets, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1490                         contract(1620, shelloffsets, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1491                         contract(2025, shelloffsets, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1492                         contract(2475, shelloffsets, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1493                         contract(2970, shelloffsets, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1494                         contract(3510, shelloffsets, PRIM_INT__l_s_o_s, PRIM_PTR_INT__l_s_o_s);
1495                         contract(1540, shelloffsets, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1496                         contract(1980, shelloffsets, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1497                         contract(2475, shelloffsets, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1498                         contract(3025, shelloffsets, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1499                         contract(3630, shelloffsets, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1500                         contract(4290, shelloffsets, PRIM_INT__m_s_o_s, PRIM_PTR_INT__m_s_o_s);
1501                         contract(1848, shelloffsets, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1502                         contract(2376, shelloffsets, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1503                         contract(2970, shelloffsets, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1504                         contract(3630, shelloffsets, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1505                         contract(4356, shelloffsets, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1506                         contract(5148, shelloffsets, PRIM_INT__n_s_o_s, PRIM_PTR_INT__n_s_o_s);
1507                         contract(2184, shelloffsets, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1508                         contract(2808, shelloffsets, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1509                         contract(3510, shelloffsets, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1510                         contract(4290, shelloffsets, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1511                         contract(5148, shelloffsets, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1512                         contract(6084, shelloffsets, PRIM_INT__o_s_o_s, PRIM_PTR_INT__o_s_o_s);
1513                         PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
1514                         PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
1515                         PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
1516                         PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
1517                         PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
1518                         PRIM_PTR_INT__k_s_o_s += lastoffset*2808;
1519                         PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
1520                         PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
1521                         PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
1522                         PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
1523                         PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
1524                         PRIM_PTR_INT__l_s_o_s += lastoffset*3510;
1525                         PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
1526                         PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
1527                         PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
1528                         PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
1529                         PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
1530                         PRIM_PTR_INT__m_s_o_s += lastoffset*4290;
1531                         PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
1532                         PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
1533                         PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
1534                         PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
1535                         PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
1536                         PRIM_PTR_INT__n_s_o_s += lastoffset*5148;
1537                         PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
1538                         PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
1539                         PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
1540                         PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
1541                         PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
1542                         PRIM_PTR_INT__o_s_o_s += lastoffset*6084;
1543                     }
1544 
1545                 }  // close loop over j
1546             }  // close loop over i
1547 
1548             //Advance to the next batch
1549             jstart = SIMINT_SIMD_ROUND(jend);
1550 
1551             //////////////////////////////////////////////
1552             // Contracted integrals: Horizontal recurrance
1553             //////////////////////////////////////////////
1554 
1555 
1556             const double hAB[3] = { P.AB_x[ab], P.AB_y[ab], P.AB_z[ab] };
1557 
1558 
1559             for(abcd = 0; abcd < nshellbatch; ++abcd, ++real_abcd)
1560             {
1561                 const double hCD[3] = { Q.AB_x[cd+abcd], Q.AB_y[cd+abcd], Q.AB_z[cd+abcd] };
1562 
1563                 // set up HRR pointers
1564                 double const * restrict HRR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
1565                 double const * restrict HRR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
1566                 double const * restrict HRR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
1567                 double const * restrict HRR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
1568                 double const * restrict HRR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
1569                 double const * restrict HRR_INT__k_s_o_s = INT__k_s_o_s + abcd * 2808;
1570                 double const * restrict HRR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
1571                 double const * restrict HRR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
1572                 double const * restrict HRR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
1573                 double const * restrict HRR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
1574                 double const * restrict HRR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
1575                 double const * restrict HRR_INT__l_s_o_s = INT__l_s_o_s + abcd * 3510;
1576                 double const * restrict HRR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
1577                 double const * restrict HRR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
1578                 double const * restrict HRR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
1579                 double const * restrict HRR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
1580                 double const * restrict HRR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
1581                 double const * restrict HRR_INT__m_s_o_s = INT__m_s_o_s + abcd * 4290;
1582                 double const * restrict HRR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
1583                 double const * restrict HRR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
1584                 double const * restrict HRR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
1585                 double const * restrict HRR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
1586                 double const * restrict HRR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
1587                 double const * restrict HRR_INT__n_s_o_s = INT__n_s_o_s + abcd * 5148;
1588                 double const * restrict HRR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
1589                 double const * restrict HRR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
1590                 double const * restrict HRR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
1591                 double const * restrict HRR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
1592                 double const * restrict HRR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
1593                 double const * restrict HRR_INT__o_s_o_s = INT__o_s_o_s + abcd * 6084;
1594                 double * restrict HRR_INT__k_g_i_h = INT__k_g_i_h + real_abcd * 317520;
1595 
1596                 // form INT__k_p_i_s
1597                 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);
1598 
1599                 // form INT__k_p_k_s
1600                 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);
1601 
1602                 // form INT__k_p_l_s
1603                 ostei_general_hrr_J(7, 1, 8, 0, hAB, HRR_INT__l_s_l_s, HRR_INT__k_s_l_s, HRR_INT__k_p_l_s);
1604 
1605                 // form INT__k_p_m_s
1606                 ostei_general_hrr_J(7, 1, 9, 0, hAB, HRR_INT__l_s_m_s, HRR_INT__k_s_m_s, HRR_INT__k_p_m_s);
1607 
1608                 // form INT__k_p_n_s
1609                 ostei_general_hrr_J(7, 1, 10, 0, hAB, HRR_INT__l_s_n_s, HRR_INT__k_s_n_s, HRR_INT__k_p_n_s);
1610 
1611                 // form INT__k_p_o_s
1612                 ostei_general_hrr_J(7, 1, 11, 0, hAB, HRR_INT__l_s_o_s, HRR_INT__k_s_o_s, HRR_INT__k_p_o_s);
1613 
1614                 // form INT__l_p_i_s
1615                 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);
1616 
1617                 // form INT__l_p_k_s
1618                 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);
1619 
1620                 // form INT__l_p_l_s
1621                 ostei_general_hrr_J(8, 1, 8, 0, hAB, HRR_INT__m_s_l_s, HRR_INT__l_s_l_s, HRR_INT__l_p_l_s);
1622 
1623                 // form INT__l_p_m_s
1624                 ostei_general_hrr_J(8, 1, 9, 0, hAB, HRR_INT__m_s_m_s, HRR_INT__l_s_m_s, HRR_INT__l_p_m_s);
1625 
1626                 // form INT__l_p_n_s
1627                 ostei_general_hrr_J(8, 1, 10, 0, hAB, HRR_INT__m_s_n_s, HRR_INT__l_s_n_s, HRR_INT__l_p_n_s);
1628 
1629                 // form INT__l_p_o_s
1630                 ostei_general_hrr_J(8, 1, 11, 0, hAB, HRR_INT__m_s_o_s, HRR_INT__l_s_o_s, HRR_INT__l_p_o_s);
1631 
1632                 // form INT__m_p_i_s
1633                 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);
1634 
1635                 // form INT__m_p_k_s
1636                 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);
1637 
1638                 // form INT__m_p_l_s
1639                 ostei_general_hrr_J(9, 1, 8, 0, hAB, HRR_INT__n_s_l_s, HRR_INT__m_s_l_s, HRR_INT__m_p_l_s);
1640 
1641                 // form INT__m_p_m_s
1642                 ostei_general_hrr_J(9, 1, 9, 0, hAB, HRR_INT__n_s_m_s, HRR_INT__m_s_m_s, HRR_INT__m_p_m_s);
1643 
1644                 // form INT__m_p_n_s
1645                 ostei_general_hrr_J(9, 1, 10, 0, hAB, HRR_INT__n_s_n_s, HRR_INT__m_s_n_s, HRR_INT__m_p_n_s);
1646 
1647                 // form INT__m_p_o_s
1648                 ostei_general_hrr_J(9, 1, 11, 0, hAB, HRR_INT__n_s_o_s, HRR_INT__m_s_o_s, HRR_INT__m_p_o_s);
1649 
1650                 // form INT__n_p_i_s
1651                 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);
1652 
1653                 // form INT__n_p_k_s
1654                 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);
1655 
1656                 // form INT__n_p_l_s
1657                 ostei_general_hrr_J(10, 1, 8, 0, hAB, HRR_INT__o_s_l_s, HRR_INT__n_s_l_s, HRR_INT__n_p_l_s);
1658 
1659                 // form INT__n_p_m_s
1660                 ostei_general_hrr_J(10, 1, 9, 0, hAB, HRR_INT__o_s_m_s, HRR_INT__n_s_m_s, HRR_INT__n_p_m_s);
1661 
1662                 // form INT__n_p_n_s
1663                 ostei_general_hrr_J(10, 1, 10, 0, hAB, HRR_INT__o_s_n_s, HRR_INT__n_s_n_s, HRR_INT__n_p_n_s);
1664 
1665                 // form INT__n_p_o_s
1666                 ostei_general_hrr_J(10, 1, 11, 0, hAB, HRR_INT__o_s_o_s, HRR_INT__n_s_o_s, HRR_INT__n_p_o_s);
1667 
1668                 // form INT__k_d_i_s
1669                 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);
1670 
1671                 // form INT__k_d_k_s
1672                 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);
1673 
1674                 // form INT__k_d_l_s
1675                 ostei_general_hrr_J(7, 2, 8, 0, hAB, HRR_INT__l_p_l_s, HRR_INT__k_p_l_s, HRR_INT__k_d_l_s);
1676 
1677                 // form INT__k_d_m_s
1678                 ostei_general_hrr_J(7, 2, 9, 0, hAB, HRR_INT__l_p_m_s, HRR_INT__k_p_m_s, HRR_INT__k_d_m_s);
1679 
1680                 // form INT__k_d_n_s
1681                 ostei_general_hrr_J(7, 2, 10, 0, hAB, HRR_INT__l_p_n_s, HRR_INT__k_p_n_s, HRR_INT__k_d_n_s);
1682 
1683                 // form INT__k_d_o_s
1684                 ostei_general_hrr_J(7, 2, 11, 0, hAB, HRR_INT__l_p_o_s, HRR_INT__k_p_o_s, HRR_INT__k_d_o_s);
1685 
1686                 // form INT__l_d_i_s
1687                 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);
1688 
1689                 // form INT__l_d_k_s
1690                 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);
1691 
1692                 // form INT__l_d_l_s
1693                 ostei_general_hrr_J(8, 2, 8, 0, hAB, HRR_INT__m_p_l_s, HRR_INT__l_p_l_s, HRR_INT__l_d_l_s);
1694 
1695                 // form INT__l_d_m_s
1696                 ostei_general_hrr_J(8, 2, 9, 0, hAB, HRR_INT__m_p_m_s, HRR_INT__l_p_m_s, HRR_INT__l_d_m_s);
1697 
1698                 // form INT__l_d_n_s
1699                 ostei_general_hrr_J(8, 2, 10, 0, hAB, HRR_INT__m_p_n_s, HRR_INT__l_p_n_s, HRR_INT__l_d_n_s);
1700 
1701                 // form INT__l_d_o_s
1702                 ostei_general_hrr_J(8, 2, 11, 0, hAB, HRR_INT__m_p_o_s, HRR_INT__l_p_o_s, HRR_INT__l_d_o_s);
1703 
1704                 // form INT__m_d_i_s
1705                 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);
1706 
1707                 // form INT__m_d_k_s
1708                 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);
1709 
1710                 // form INT__m_d_l_s
1711                 ostei_general_hrr_J(9, 2, 8, 0, hAB, HRR_INT__n_p_l_s, HRR_INT__m_p_l_s, HRR_INT__m_d_l_s);
1712 
1713                 // form INT__m_d_m_s
1714                 ostei_general_hrr_J(9, 2, 9, 0, hAB, HRR_INT__n_p_m_s, HRR_INT__m_p_m_s, HRR_INT__m_d_m_s);
1715 
1716                 // form INT__m_d_n_s
1717                 ostei_general_hrr_J(9, 2, 10, 0, hAB, HRR_INT__n_p_n_s, HRR_INT__m_p_n_s, HRR_INT__m_d_n_s);
1718 
1719                 // form INT__m_d_o_s
1720                 ostei_general_hrr_J(9, 2, 11, 0, hAB, HRR_INT__n_p_o_s, HRR_INT__m_p_o_s, HRR_INT__m_d_o_s);
1721 
1722                 // form INT__k_f_i_s
1723                 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);
1724 
1725                 // form INT__k_f_k_s
1726                 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);
1727 
1728                 // form INT__k_f_l_s
1729                 ostei_general_hrr_J(7, 3, 8, 0, hAB, HRR_INT__l_d_l_s, HRR_INT__k_d_l_s, HRR_INT__k_f_l_s);
1730 
1731                 // form INT__k_f_m_s
1732                 ostei_general_hrr_J(7, 3, 9, 0, hAB, HRR_INT__l_d_m_s, HRR_INT__k_d_m_s, HRR_INT__k_f_m_s);
1733 
1734                 // form INT__k_f_n_s
1735                 ostei_general_hrr_J(7, 3, 10, 0, hAB, HRR_INT__l_d_n_s, HRR_INT__k_d_n_s, HRR_INT__k_f_n_s);
1736 
1737                 // form INT__k_f_o_s
1738                 ostei_general_hrr_J(7, 3, 11, 0, hAB, HRR_INT__l_d_o_s, HRR_INT__k_d_o_s, HRR_INT__k_f_o_s);
1739 
1740                 // form INT__l_f_i_s
1741                 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);
1742 
1743                 // form INT__l_f_k_s
1744                 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);
1745 
1746                 // form INT__l_f_l_s
1747                 ostei_general_hrr_J(8, 3, 8, 0, hAB, HRR_INT__m_d_l_s, HRR_INT__l_d_l_s, HRR_INT__l_f_l_s);
1748 
1749                 // form INT__l_f_m_s
1750                 ostei_general_hrr_J(8, 3, 9, 0, hAB, HRR_INT__m_d_m_s, HRR_INT__l_d_m_s, HRR_INT__l_f_m_s);
1751 
1752                 // form INT__l_f_n_s
1753                 ostei_general_hrr_J(8, 3, 10, 0, hAB, HRR_INT__m_d_n_s, HRR_INT__l_d_n_s, HRR_INT__l_f_n_s);
1754 
1755                 // form INT__l_f_o_s
1756                 ostei_general_hrr_J(8, 3, 11, 0, hAB, HRR_INT__m_d_o_s, HRR_INT__l_d_o_s, HRR_INT__l_f_o_s);
1757 
1758                 // form INT__k_g_i_s
1759                 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);
1760 
1761                 // form INT__k_g_k_s
1762                 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);
1763 
1764                 // form INT__k_g_l_s
1765                 ostei_general_hrr_J(7, 4, 8, 0, hAB, HRR_INT__l_f_l_s, HRR_INT__k_f_l_s, HRR_INT__k_g_l_s);
1766 
1767                 // form INT__k_g_m_s
1768                 ostei_general_hrr_J(7, 4, 9, 0, hAB, HRR_INT__l_f_m_s, HRR_INT__k_f_m_s, HRR_INT__k_g_m_s);
1769 
1770                 // form INT__k_g_n_s
1771                 ostei_general_hrr_J(7, 4, 10, 0, hAB, HRR_INT__l_f_n_s, HRR_INT__k_f_n_s, HRR_INT__k_g_n_s);
1772 
1773                 // form INT__k_g_o_s
1774                 ostei_general_hrr_J(7, 4, 11, 0, hAB, HRR_INT__l_f_o_s, HRR_INT__k_f_o_s, HRR_INT__k_g_o_s);
1775 
1776                 // form INT__k_g_i_p
1777                 ostei_general_hrr_L(7, 4, 6, 1, hCD, HRR_INT__k_g_k_s, HRR_INT__k_g_i_s, HRR_INT__k_g_i_p);
1778 
1779                 // form INT__k_g_k_p
1780                 ostei_general_hrr_L(7, 4, 7, 1, hCD, HRR_INT__k_g_l_s, HRR_INT__k_g_k_s, HRR_INT__k_g_k_p);
1781 
1782                 // form INT__k_g_l_p
1783                 ostei_general_hrr_L(7, 4, 8, 1, hCD, HRR_INT__k_g_m_s, HRR_INT__k_g_l_s, HRR_INT__k_g_l_p);
1784 
1785                 // form INT__k_g_m_p
1786                 ostei_general_hrr_L(7, 4, 9, 1, hCD, HRR_INT__k_g_n_s, HRR_INT__k_g_m_s, HRR_INT__k_g_m_p);
1787 
1788                 // form INT__k_g_n_p
1789                 ostei_general_hrr_L(7, 4, 10, 1, hCD, HRR_INT__k_g_o_s, HRR_INT__k_g_n_s, HRR_INT__k_g_n_p);
1790 
1791                 // form INT__k_g_i_d
1792                 ostei_general_hrr_L(7, 4, 6, 2, hCD, HRR_INT__k_g_k_p, HRR_INT__k_g_i_p, HRR_INT__k_g_i_d);
1793 
1794                 // form INT__k_g_k_d
1795                 ostei_general_hrr_L(7, 4, 7, 2, hCD, HRR_INT__k_g_l_p, HRR_INT__k_g_k_p, HRR_INT__k_g_k_d);
1796 
1797                 // form INT__k_g_l_d
1798                 ostei_general_hrr_L(7, 4, 8, 2, hCD, HRR_INT__k_g_m_p, HRR_INT__k_g_l_p, HRR_INT__k_g_l_d);
1799 
1800                 // form INT__k_g_m_d
1801                 ostei_general_hrr_L(7, 4, 9, 2, hCD, HRR_INT__k_g_n_p, HRR_INT__k_g_m_p, HRR_INT__k_g_m_d);
1802 
1803                 // form INT__k_g_i_f
1804                 ostei_general_hrr_L(7, 4, 6, 3, hCD, HRR_INT__k_g_k_d, HRR_INT__k_g_i_d, HRR_INT__k_g_i_f);
1805 
1806                 // form INT__k_g_k_f
1807                 ostei_general_hrr_L(7, 4, 7, 3, hCD, HRR_INT__k_g_l_d, HRR_INT__k_g_k_d, HRR_INT__k_g_k_f);
1808 
1809                 // form INT__k_g_l_f
1810                 ostei_general_hrr_L(7, 4, 8, 3, hCD, HRR_INT__k_g_m_d, HRR_INT__k_g_l_d, HRR_INT__k_g_l_f);
1811 
1812                 // form INT__k_g_i_g
1813                 ostei_general_hrr_L(7, 4, 6, 4, hCD, HRR_INT__k_g_k_f, HRR_INT__k_g_i_f, HRR_INT__k_g_i_g);
1814 
1815                 // form INT__k_g_k_g
1816                 ostei_general_hrr_L(7, 4, 7, 4, hCD, HRR_INT__k_g_l_f, HRR_INT__k_g_k_f, HRR_INT__k_g_k_g);
1817 
1818                 // form INT__k_g_i_h
1819                 ostei_general_hrr_L(7, 4, 6, 5, hCD, HRR_INT__k_g_k_g, HRR_INT__k_g_i_g, HRR_INT__k_g_i_h);
1820 
1821 
1822             }  // close HRR loop
1823 
1824 
1825         }   // close loop cdbatch
1826 
1827         istart = iend;
1828     }  // close loop over ab
1829 
1830     return P.nshell12_clip * Q.nshell12_clip;
1831 }
1832 
ostei_g_k_i_h(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__g_k_i_h)1833 int ostei_g_k_i_h(struct simint_multi_shellpair const P,
1834                   struct simint_multi_shellpair const Q,
1835                   double screen_tol,
1836                   double * const restrict work,
1837                   double * const restrict INT__g_k_i_h)
1838 {
1839     double P_AB[3*P.nshell12];
1840     struct simint_multi_shellpair P_tmp = P;
1841     P_tmp.PA_x = P.PB_x;  P_tmp.PA_y = P.PB_y;  P_tmp.PA_z = P.PB_z;
1842     P_tmp.PB_x = P.PA_x;  P_tmp.PB_y = P.PA_y;  P_tmp.PB_z = P.PA_z;
1843     P_tmp.AB_x = P_AB;
1844     P_tmp.AB_y = P_AB + P.nshell12;
1845     P_tmp.AB_z = P_AB + 2*P.nshell12;
1846 
1847     for(int i = 0; i < P.nshell12; i++)
1848     {
1849         P_tmp.AB_x[i] = -P.AB_x[i];
1850         P_tmp.AB_y[i] = -P.AB_y[i];
1851         P_tmp.AB_z[i] = -P.AB_z[i];
1852     }
1853 
1854     int ret = ostei_k_g_i_h(P_tmp, Q, screen_tol, work, INT__g_k_i_h);
1855     double buffer[317520] SIMINT_ALIGN_ARRAY_DBL;
1856 
1857     for(int q = 0; q < ret; q++)
1858     {
1859         int idx = 0;
1860         for(int a = 0; a < 15; ++a)
1861         for(int b = 0; b < 36; ++b)
1862         for(int c = 0; c < 28; ++c)
1863         for(int d = 0; d < 21; ++d)
1864             buffer[idx++] = INT__g_k_i_h[q*317520+b*8820+a*588+c*21+d];
1865 
1866         memcpy(INT__g_k_i_h+q*317520, buffer, 317520*sizeof(double));
1867     }
1868 
1869     return ret;
1870 }
1871 
ostei_k_g_h_i(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_g_h_i)1872 int ostei_k_g_h_i(struct simint_multi_shellpair const P,
1873                   struct simint_multi_shellpair const Q,
1874                   double screen_tol,
1875                   double * const restrict work,
1876                   double * const restrict INT__k_g_h_i)
1877 {
1878     double Q_AB[3*Q.nshell12];
1879     struct simint_multi_shellpair Q_tmp = Q;
1880     Q_tmp.PA_x = Q.PB_x;  Q_tmp.PA_y = Q.PB_y;  Q_tmp.PA_z = Q.PB_z;
1881     Q_tmp.PB_x = Q.PA_x;  Q_tmp.PB_y = Q.PA_y;  Q_tmp.PB_z = Q.PA_z;
1882     Q_tmp.AB_x = Q_AB;
1883     Q_tmp.AB_y = Q_AB + Q.nshell12;
1884     Q_tmp.AB_z = Q_AB + 2*Q.nshell12;
1885 
1886     for(int i = 0; i < Q.nshell12; i++)
1887     {
1888         Q_tmp.AB_x[i] = -Q.AB_x[i];
1889         Q_tmp.AB_y[i] = -Q.AB_y[i];
1890         Q_tmp.AB_z[i] = -Q.AB_z[i];
1891     }
1892 
1893     int ret = ostei_k_g_i_h(P, Q_tmp, screen_tol, work, INT__k_g_h_i);
1894     double buffer[317520] SIMINT_ALIGN_ARRAY_DBL;
1895 
1896     for(int q = 0; q < ret; q++)
1897     {
1898         int idx = 0;
1899         for(int a = 0; a < 36; ++a)
1900         for(int b = 0; b < 15; ++b)
1901         for(int c = 0; c < 21; ++c)
1902         for(int d = 0; d < 28; ++d)
1903             buffer[idx++] = INT__k_g_h_i[q*317520+a*8820+b*588+d*21+c];
1904 
1905         memcpy(INT__k_g_h_i+q*317520, buffer, 317520*sizeof(double));
1906     }
1907 
1908     return ret;
1909 }
1910 
ostei_g_k_h_i(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__g_k_h_i)1911 int ostei_g_k_h_i(struct simint_multi_shellpair const P,
1912                   struct simint_multi_shellpair const Q,
1913                   double screen_tol,
1914                   double * const restrict work,
1915                   double * const restrict INT__g_k_h_i)
1916 {
1917     double P_AB[3*P.nshell12];
1918     struct simint_multi_shellpair P_tmp = P;
1919     P_tmp.PA_x = P.PB_x;  P_tmp.PA_y = P.PB_y;  P_tmp.PA_z = P.PB_z;
1920     P_tmp.PB_x = P.PA_x;  P_tmp.PB_y = P.PA_y;  P_tmp.PB_z = P.PA_z;
1921     P_tmp.AB_x = P_AB;
1922     P_tmp.AB_y = P_AB + P.nshell12;
1923     P_tmp.AB_z = P_AB + 2*P.nshell12;
1924 
1925     for(int i = 0; i < P.nshell12; i++)
1926     {
1927         P_tmp.AB_x[i] = -P.AB_x[i];
1928         P_tmp.AB_y[i] = -P.AB_y[i];
1929         P_tmp.AB_z[i] = -P.AB_z[i];
1930     }
1931 
1932     double Q_AB[3*Q.nshell12];
1933     struct simint_multi_shellpair Q_tmp = Q;
1934     Q_tmp.PA_x = Q.PB_x;  Q_tmp.PA_y = Q.PB_y;  Q_tmp.PA_z = Q.PB_z;
1935     Q_tmp.PB_x = Q.PA_x;  Q_tmp.PB_y = Q.PA_y;  Q_tmp.PB_z = Q.PA_z;
1936     Q_tmp.AB_x = Q_AB;
1937     Q_tmp.AB_y = Q_AB + Q.nshell12;
1938     Q_tmp.AB_z = Q_AB + 2*Q.nshell12;
1939 
1940     for(int i = 0; i < Q.nshell12; i++)
1941     {
1942         Q_tmp.AB_x[i] = -Q.AB_x[i];
1943         Q_tmp.AB_y[i] = -Q.AB_y[i];
1944         Q_tmp.AB_z[i] = -Q.AB_z[i];
1945     }
1946 
1947     int ret = ostei_k_g_i_h(P_tmp, Q_tmp, screen_tol, work, INT__g_k_h_i);
1948     double buffer[317520] SIMINT_ALIGN_ARRAY_DBL;
1949 
1950     for(int q = 0; q < ret; q++)
1951     {
1952         int idx = 0;
1953         for(int a = 0; a < 15; ++a)
1954         for(int b = 0; b < 36; ++b)
1955         for(int c = 0; c < 21; ++c)
1956         for(int d = 0; d < 28; ++d)
1957             buffer[idx++] = INT__g_k_h_i[q*317520+b*8820+a*588+d*21+c];
1958 
1959         memcpy(INT__g_k_h_i+q*317520, buffer, 317520*sizeof(double));
1960     }
1961 
1962     return ret;
1963 }
1964 
1965