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_i_i_g(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_i_i_g)8 int ostei_k_i_i_g(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_i_i_g)
13 {
14 
15     SIMINT_ASSUME_ALIGN_DBL(work);
16     SIMINT_ASSUME_ALIGN_DBL(INT__k_i_i_g);
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__l_s_i_s = work + (SIMINT_NSHELL_SIMD * 8280);
35     double * const INT__l_s_k_s = work + (SIMINT_NSHELL_SIMD * 9540);
36     double * const INT__l_s_l_s = work + (SIMINT_NSHELL_SIMD * 11160);
37     double * const INT__l_s_m_s = work + (SIMINT_NSHELL_SIMD * 13185);
38     double * const INT__l_s_n_s = work + (SIMINT_NSHELL_SIMD * 15660);
39     double * const INT__m_s_i_s = work + (SIMINT_NSHELL_SIMD * 18630);
40     double * const INT__m_s_k_s = work + (SIMINT_NSHELL_SIMD * 20170);
41     double * const INT__m_s_l_s = work + (SIMINT_NSHELL_SIMD * 22150);
42     double * const INT__m_s_m_s = work + (SIMINT_NSHELL_SIMD * 24625);
43     double * const INT__m_s_n_s = work + (SIMINT_NSHELL_SIMD * 27650);
44     double * const INT__n_s_i_s = work + (SIMINT_NSHELL_SIMD * 31280);
45     double * const INT__n_s_k_s = work + (SIMINT_NSHELL_SIMD * 33128);
46     double * const INT__n_s_l_s = work + (SIMINT_NSHELL_SIMD * 35504);
47     double * const INT__n_s_m_s = work + (SIMINT_NSHELL_SIMD * 38474);
48     double * const INT__n_s_n_s = work + (SIMINT_NSHELL_SIMD * 42104);
49     double * const INT__o_s_i_s = work + (SIMINT_NSHELL_SIMD * 46460);
50     double * const INT__o_s_k_s = work + (SIMINT_NSHELL_SIMD * 48644);
51     double * const INT__o_s_l_s = work + (SIMINT_NSHELL_SIMD * 51452);
52     double * const INT__o_s_m_s = work + (SIMINT_NSHELL_SIMD * 54962);
53     double * const INT__o_s_n_s = work + (SIMINT_NSHELL_SIMD * 59252);
54     double * const INT__q_s_i_s = work + (SIMINT_NSHELL_SIMD * 64400);
55     double * const INT__q_s_k_s = work + (SIMINT_NSHELL_SIMD * 66948);
56     double * const INT__q_s_l_s = work + (SIMINT_NSHELL_SIMD * 70224);
57     double * const INT__q_s_m_s = work + (SIMINT_NSHELL_SIMD * 74319);
58     double * const INT__q_s_n_s = work + (SIMINT_NSHELL_SIMD * 79324);
59     double * const INT__r_s_i_s = work + (SIMINT_NSHELL_SIMD * 85330);
60     double * const INT__r_s_k_s = work + (SIMINT_NSHELL_SIMD * 88270);
61     double * const INT__r_s_l_s = work + (SIMINT_NSHELL_SIMD * 92050);
62     double * const INT__r_s_m_s = work + (SIMINT_NSHELL_SIMD * 96775);
63     double * const INT__r_s_n_s = work + (SIMINT_NSHELL_SIMD * 102550);
64     SIMINT_DBLTYPE * const primwork = (SIMINT_DBLTYPE *)(work + SIMINT_NSHELL_SIMD*109480);
65     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_s_s = primwork + 0;
66     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_p_s = primwork + 24;
67     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_d_s = primwork + 54;
68     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_f_s = primwork + 108;
69     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_s_s = primwork + 188;
70     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_p_s = primwork + 257;
71     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_d_s = primwork + 347;
72     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_f_s = primwork + 509;
73     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_g_s = primwork + 749;
74     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_s_s = primwork + 1064;
75     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_p_s = primwork + 1196;
76     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_d_s = primwork + 1376;
77     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_f_s = primwork + 1700;
78     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_g_s = primwork + 2180;
79     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_h_s = primwork + 2810;
80     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s = primwork + 3566;
81     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_p_s = primwork + 3776;
82     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_d_s = primwork + 4076;
83     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_f_s = primwork + 4616;
84     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_g_s = primwork + 5416;
85     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_h_s = primwork + 6466;
86     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_i_s = primwork + 7726;
87     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s = primwork + 9126;
88     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_p_s = primwork + 9426;
89     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_d_s = primwork + 9876;
90     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_f_s = primwork + 10686;
91     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_g_s = primwork + 11886;
92     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_h_s = primwork + 13461;
93     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_i_s = primwork + 15351;
94     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_k_s = primwork + 17451;
95     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_s_s = primwork + 19611;
96     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_p_s = primwork + 20010;
97     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_d_s = primwork + 20640;
98     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_f_s = primwork + 21774;
99     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_g_s = primwork + 23454;
100     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_h_s = primwork + 25659;
101     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_i_s = primwork + 28305;
102     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_k_s = primwork + 31245;
103     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_l_s = primwork + 34269;
104     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_s_s = primwork + 37104;
105     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_p_s = primwork + 37608;
106     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_d_s = primwork + 38448;
107     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_f_s = primwork + 39960;
108     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_g_s = primwork + 42200;
109     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_h_s = primwork + 45140;
110     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_i_s = primwork + 48668;
111     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_k_s = primwork + 52588;
112     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_l_s = primwork + 56620;
113     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_m_s = primwork + 60400;
114     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_s_s = primwork + 63480;
115     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_p_s = primwork + 64092;
116     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_d_s = primwork + 65172;
117     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_f_s = primwork + 67116;
118     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_g_s = primwork + 69996;
119     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_h_s = primwork + 73776;
120     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_i_s = primwork + 78312;
121     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_k_s = primwork + 83352;
122     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_l_s = primwork + 88536;
123     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_m_s = primwork + 93396;
124     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_n_s = primwork + 97356;
125     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_s_s = primwork + 99732;
126     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_p_s = primwork + 100452;
127     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_d_s = primwork + 101802;
128     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_f_s = primwork + 104232;
129     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_g_s = primwork + 107832;
130     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_h_s = primwork + 112557;
131     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_i_s = primwork + 118227;
132     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_k_s = primwork + 124527;
133     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_l_s = primwork + 131007;
134     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_m_s = primwork + 137082;
135     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_n_s = primwork + 142032;
136     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_s_s = primwork + 145002;
137     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_p_s = primwork + 145827;
138     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_d_s = primwork + 147477;
139     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_f_s = primwork + 150447;
140     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_g_s = primwork + 154847;
141     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_h_s = primwork + 160622;
142     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_i_s = primwork + 167552;
143     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_k_s = primwork + 175252;
144     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_l_s = primwork + 183172;
145     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_m_s = primwork + 190597;
146     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_n_s = primwork + 196647;
147     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_s_s = primwork + 200277;
148     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_p_s = primwork + 201201;
149     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_d_s = primwork + 203181;
150     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_f_s = primwork + 206745;
151     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_g_s = primwork + 212025;
152     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_h_s = primwork + 218955;
153     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_i_s = primwork + 227271;
154     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_k_s = primwork + 236511;
155     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_l_s = primwork + 246015;
156     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_m_s = primwork + 254925;
157     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_n_s = primwork + 262185;
158     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_s_s = primwork + 266541;
159     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_p_s = primwork + 267555;
160     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_d_s = primwork + 269895;
161     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_f_s = primwork + 274107;
162     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_g_s = primwork + 280347;
163     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_h_s = primwork + 288537;
164     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_i_s = primwork + 298365;
165     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_k_s = primwork + 309285;
166     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_l_s = primwork + 320517;
167     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_m_s = primwork + 331047;
168     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_n_s = primwork + 339627;
169     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_s_s = primwork + 344775;
170     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_p_s = primwork + 345867;
171     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_d_s = primwork + 348597;
172     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_f_s = primwork + 353511;
173     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_g_s = primwork + 360791;
174     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_h_s = primwork + 370346;
175     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_i_s = primwork + 381812;
176     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_k_s = primwork + 394552;
177     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_l_s = primwork + 407656;
178     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_m_s = primwork + 419941;
179     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_n_s = primwork + 429951;
180     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_s_s = primwork + 435957;
181     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_p_s = primwork + 437112;
182     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_d_s = primwork + 440262;
183     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_f_s = primwork + 445932;
184     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_g_s = primwork + 454332;
185     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_h_s = primwork + 465357;
186     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_i_s = primwork + 478587;
187     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_k_s = primwork + 493287;
188     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_l_s = primwork + 508407;
189     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_m_s = primwork + 522582;
190     SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_n_s = primwork + 534132;
191     double * const hrrwork = (double *)(primwork + 541062);
192     double * const HRR_INT__k_p_i_s = hrrwork + 0;
193     double * const HRR_INT__k_p_k_s = hrrwork + 3024;
194     double * const HRR_INT__k_p_l_s = hrrwork + 6912;
195     double * const HRR_INT__k_p_m_s = hrrwork + 11772;
196     double * const HRR_INT__k_p_n_s = hrrwork + 17712;
197     double * const HRR_INT__k_d_i_s = hrrwork + 24840;
198     double * const HRR_INT__k_d_k_s = hrrwork + 30888;
199     double * const HRR_INT__k_d_l_s = hrrwork + 38664;
200     double * const HRR_INT__k_d_m_s = hrrwork + 48384;
201     double * const HRR_INT__k_d_n_s = hrrwork + 60264;
202     double * const HRR_INT__k_f_i_s = hrrwork + 74520;
203     double * const HRR_INT__k_f_k_s = hrrwork + 84600;
204     double * const HRR_INT__k_f_l_s = hrrwork + 97560;
205     double * const HRR_INT__k_f_m_s = hrrwork + 113760;
206     double * const HRR_INT__k_f_n_s = hrrwork + 133560;
207     double * const HRR_INT__k_g_i_s = hrrwork + 157320;
208     double * const HRR_INT__k_g_k_s = hrrwork + 172440;
209     double * const HRR_INT__k_g_l_s = hrrwork + 191880;
210     double * const HRR_INT__k_g_m_s = hrrwork + 216180;
211     double * const HRR_INT__k_g_n_s = hrrwork + 245880;
212     double * const HRR_INT__k_h_i_s = hrrwork + 281520;
213     double * const HRR_INT__k_h_k_s = hrrwork + 302688;
214     double * const HRR_INT__k_h_l_s = hrrwork + 329904;
215     double * const HRR_INT__k_h_m_s = hrrwork + 363924;
216     double * const HRR_INT__k_h_n_s = hrrwork + 405504;
217     double * const HRR_INT__k_i_i_s = hrrwork + 455400;
218     double * const HRR_INT__k_i_i_p = hrrwork + 483624;
219     double * const HRR_INT__k_i_i_d = hrrwork + 568296;
220     double * const HRR_INT__k_i_i_f = hrrwork + 737640;
221     double * const HRR_INT__k_i_k_s = hrrwork + 1019880;
222     double * const HRR_INT__k_i_k_p = hrrwork + 1056168;
223     double * const HRR_INT__k_i_k_d = hrrwork + 1165032;
224     double * const HRR_INT__k_i_k_f = hrrwork + 1382760;
225     double * const HRR_INT__k_i_l_s = hrrwork + 1745640;
226     double * const HRR_INT__k_i_l_p = hrrwork + 1791000;
227     double * const HRR_INT__k_i_l_d = hrrwork + 1927080;
228     double * const HRR_INT__k_i_m_s = hrrwork + 2199240;
229     double * const HRR_INT__k_i_m_p = hrrwork + 2254680;
230     double * const HRR_INT__k_i_n_s = hrrwork + 2421000;
231     double * const HRR_INT__l_p_i_s = hrrwork + 2487528;
232     double * const HRR_INT__l_p_k_s = hrrwork + 2491308;
233     double * const HRR_INT__l_p_l_s = hrrwork + 2496168;
234     double * const HRR_INT__l_p_m_s = hrrwork + 2502243;
235     double * const HRR_INT__l_p_n_s = hrrwork + 2509668;
236     double * const HRR_INT__l_d_i_s = hrrwork + 2518578;
237     double * const HRR_INT__l_d_k_s = hrrwork + 2526138;
238     double * const HRR_INT__l_d_l_s = hrrwork + 2535858;
239     double * const HRR_INT__l_d_m_s = hrrwork + 2548008;
240     double * const HRR_INT__l_d_n_s = hrrwork + 2562858;
241     double * const HRR_INT__l_f_i_s = hrrwork + 2580678;
242     double * const HRR_INT__l_f_k_s = hrrwork + 2593278;
243     double * const HRR_INT__l_f_l_s = hrrwork + 2609478;
244     double * const HRR_INT__l_f_m_s = hrrwork + 2629728;
245     double * const HRR_INT__l_f_n_s = hrrwork + 2654478;
246     double * const HRR_INT__l_g_i_s = hrrwork + 2684178;
247     double * const HRR_INT__l_g_k_s = hrrwork + 2703078;
248     double * const HRR_INT__l_g_l_s = hrrwork + 2727378;
249     double * const HRR_INT__l_g_m_s = hrrwork + 2757753;
250     double * const HRR_INT__l_g_n_s = hrrwork + 2794878;
251     double * const HRR_INT__l_h_i_s = hrrwork + 2839428;
252     double * const HRR_INT__l_h_k_s = hrrwork + 2865888;
253     double * const HRR_INT__l_h_l_s = hrrwork + 2899908;
254     double * const HRR_INT__l_h_m_s = hrrwork + 2942433;
255     double * const HRR_INT__l_h_n_s = hrrwork + 2994408;
256     double * const HRR_INT__m_p_i_s = hrrwork + 3056778;
257     double * const HRR_INT__m_p_k_s = hrrwork + 3061398;
258     double * const HRR_INT__m_p_l_s = hrrwork + 3067338;
259     double * const HRR_INT__m_p_m_s = hrrwork + 3074763;
260     double * const HRR_INT__m_p_n_s = hrrwork + 3083838;
261     double * const HRR_INT__m_d_i_s = hrrwork + 3094728;
262     double * const HRR_INT__m_d_k_s = hrrwork + 3103968;
263     double * const HRR_INT__m_d_l_s = hrrwork + 3115848;
264     double * const HRR_INT__m_d_m_s = hrrwork + 3130698;
265     double * const HRR_INT__m_d_n_s = hrrwork + 3148848;
266     double * const HRR_INT__m_f_i_s = hrrwork + 3170628;
267     double * const HRR_INT__m_f_k_s = hrrwork + 3186028;
268     double * const HRR_INT__m_f_l_s = hrrwork + 3205828;
269     double * const HRR_INT__m_f_m_s = hrrwork + 3230578;
270     double * const HRR_INT__m_f_n_s = hrrwork + 3260828;
271     double * const HRR_INT__m_g_i_s = hrrwork + 3297128;
272     double * const HRR_INT__m_g_k_s = hrrwork + 3320228;
273     double * const HRR_INT__m_g_l_s = hrrwork + 3349928;
274     double * const HRR_INT__m_g_m_s = hrrwork + 3387053;
275     double * const HRR_INT__m_g_n_s = hrrwork + 3432428;
276     double * const HRR_INT__n_p_i_s = hrrwork + 3486878;
277     double * const HRR_INT__n_p_k_s = hrrwork + 3492422;
278     double * const HRR_INT__n_p_l_s = hrrwork + 3499550;
279     double * const HRR_INT__n_p_m_s = hrrwork + 3508460;
280     double * const HRR_INT__n_p_n_s = hrrwork + 3519350;
281     double * const HRR_INT__n_d_i_s = hrrwork + 3532418;
282     double * const HRR_INT__n_d_k_s = hrrwork + 3543506;
283     double * const HRR_INT__n_d_l_s = hrrwork + 3557762;
284     double * const HRR_INT__n_d_m_s = hrrwork + 3575582;
285     double * const HRR_INT__n_d_n_s = hrrwork + 3597362;
286     double * const HRR_INT__n_f_i_s = hrrwork + 3623498;
287     double * const HRR_INT__n_f_k_s = hrrwork + 3641978;
288     double * const HRR_INT__n_f_l_s = hrrwork + 3665738;
289     double * const HRR_INT__n_f_m_s = hrrwork + 3695438;
290     double * const HRR_INT__n_f_n_s = hrrwork + 3731738;
291     double * const HRR_INT__o_p_i_s = hrrwork + 3775298;
292     double * const HRR_INT__o_p_k_s = hrrwork + 3781850;
293     double * const HRR_INT__o_p_l_s = hrrwork + 3790274;
294     double * const HRR_INT__o_p_m_s = hrrwork + 3800804;
295     double * const HRR_INT__o_p_n_s = hrrwork + 3813674;
296     double * const HRR_INT__o_d_i_s = hrrwork + 3829118;
297     double * const HRR_INT__o_d_k_s = hrrwork + 3842222;
298     double * const HRR_INT__o_d_l_s = hrrwork + 3859070;
299     double * const HRR_INT__o_d_m_s = hrrwork + 3880130;
300     double * const HRR_INT__o_d_n_s = hrrwork + 3905870;
301     double * const HRR_INT__q_p_i_s = hrrwork + 3936758;
302     double * const HRR_INT__q_p_k_s = hrrwork + 3944402;
303     double * const HRR_INT__q_p_l_s = hrrwork + 3954230;
304     double * const HRR_INT__q_p_m_s = hrrwork + 3966515;
305     double * const HRR_INT__q_p_n_s = hrrwork + 3981530;
306 
307 
308     // Create constants
309     const SIMINT_DBLTYPE const_1 = SIMINT_DBLSET1(1);
310     const SIMINT_DBLTYPE const_10 = SIMINT_DBLSET1(10);
311     const SIMINT_DBLTYPE const_11 = SIMINT_DBLSET1(11);
312     const SIMINT_DBLTYPE const_12 = SIMINT_DBLSET1(12);
313     const SIMINT_DBLTYPE const_13 = SIMINT_DBLSET1(13);
314     const SIMINT_DBLTYPE const_2 = SIMINT_DBLSET1(2);
315     const SIMINT_DBLTYPE const_3 = SIMINT_DBLSET1(3);
316     const SIMINT_DBLTYPE const_4 = SIMINT_DBLSET1(4);
317     const SIMINT_DBLTYPE const_5 = SIMINT_DBLSET1(5);
318     const SIMINT_DBLTYPE const_6 = SIMINT_DBLSET1(6);
319     const SIMINT_DBLTYPE const_7 = SIMINT_DBLSET1(7);
320     const SIMINT_DBLTYPE const_8 = SIMINT_DBLSET1(8);
321     const SIMINT_DBLTYPE const_9 = SIMINT_DBLSET1(9);
322     const SIMINT_DBLTYPE one_half = SIMINT_DBLSET1(0.5);
323 
324 
325     ////////////////////////////////////////
326     // Loop over shells and primitives
327     ////////////////////////////////////////
328 
329     real_abcd = 0;
330     istart = 0;
331     for(ab = 0; ab < P.nshell12_clip; ++ab)
332     {
333         const int iend = istart + P.nprim12[ab];
334 
335         cd = 0;
336         jstart = 0;
337 
338         for(cd = 0; cd < Q.nshell12_clip; cd += SIMINT_NSHELL_SIMD)
339         {
340             const int nshellbatch = ((cd + SIMINT_NSHELL_SIMD) > Q.nshell12_clip) ? Q.nshell12_clip - cd : SIMINT_NSHELL_SIMD;
341             int jend = jstart;
342             for(i = 0; i < nshellbatch; i++)
343                 jend += Q.nprim12[cd+i];
344 
345             // Clear the beginning of the workspace (where we are accumulating integrals)
346             memset(work, 0, SIMINT_NSHELL_SIMD * 109480 * sizeof(double));
347             abcd = 0;
348 
349 
350             for(i = istart; i < iend; ++i)
351             {
352                 SIMINT_DBLTYPE bra_screen_max;  // only used if check_screen
353 
354                 if(check_screen)
355                 {
356                     // Skip this whole thing if always insignificant
357                     if((P.screen[i] * Q.screen_max) < screen_tol)
358                         continue;
359                     bra_screen_max = SIMINT_DBLSET1(P.screen[i]);
360                 }
361 
362                 icd = 0;
363                 iprimcd = 0;
364                 nprim_icd = Q.nprim12[cd];
365                 double * restrict PRIM_PTR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
366                 double * restrict PRIM_PTR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
367                 double * restrict PRIM_PTR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
368                 double * restrict PRIM_PTR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
369                 double * restrict PRIM_PTR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
370                 double * restrict PRIM_PTR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
371                 double * restrict PRIM_PTR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
372                 double * restrict PRIM_PTR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
373                 double * restrict PRIM_PTR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
374                 double * restrict PRIM_PTR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
375                 double * restrict PRIM_PTR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
376                 double * restrict PRIM_PTR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
377                 double * restrict PRIM_PTR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
378                 double * restrict PRIM_PTR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
379                 double * restrict PRIM_PTR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
380                 double * restrict PRIM_PTR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
381                 double * restrict PRIM_PTR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
382                 double * restrict PRIM_PTR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
383                 double * restrict PRIM_PTR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
384                 double * restrict PRIM_PTR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
385                 double * restrict PRIM_PTR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
386                 double * restrict PRIM_PTR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
387                 double * restrict PRIM_PTR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
388                 double * restrict PRIM_PTR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
389                 double * restrict PRIM_PTR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
390                 double * restrict PRIM_PTR_INT__q_s_i_s = INT__q_s_i_s + abcd * 2548;
391                 double * restrict PRIM_PTR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
392                 double * restrict PRIM_PTR_INT__q_s_l_s = INT__q_s_l_s + abcd * 4095;
393                 double * restrict PRIM_PTR_INT__q_s_m_s = INT__q_s_m_s + abcd * 5005;
394                 double * restrict PRIM_PTR_INT__q_s_n_s = INT__q_s_n_s + abcd * 6006;
395                 double * restrict PRIM_PTR_INT__r_s_i_s = INT__r_s_i_s + abcd * 2940;
396                 double * restrict PRIM_PTR_INT__r_s_k_s = INT__r_s_k_s + abcd * 3780;
397                 double * restrict PRIM_PTR_INT__r_s_l_s = INT__r_s_l_s + abcd * 4725;
398                 double * restrict PRIM_PTR_INT__r_s_m_s = INT__r_s_m_s + abcd * 5775;
399                 double * restrict PRIM_PTR_INT__r_s_n_s = INT__r_s_n_s + abcd * 6930;
400 
401 
402 
403                 // Load these one per loop over i
404                 const SIMINT_DBLTYPE P_alpha = SIMINT_DBLSET1(P.alpha[i]);
405                 const SIMINT_DBLTYPE P_prefac = SIMINT_DBLSET1(P.prefac[i]);
406                 const SIMINT_DBLTYPE Pxyz[3] = { SIMINT_DBLSET1(P.x[i]), SIMINT_DBLSET1(P.y[i]), SIMINT_DBLSET1(P.z[i]) };
407 
408                 const SIMINT_DBLTYPE P_PA[3] = { SIMINT_DBLSET1(P.PA_x[i]), SIMINT_DBLSET1(P.PA_y[i]), SIMINT_DBLSET1(P.PA_z[i]) };
409 
410                 for(j = jstart; j < jend; j += SIMINT_SIMD_LEN)
411                 {
412                     // calculate the shell offsets
413                     // these are the offset from the shell pointed to by cd
414                     // for each element
415                     int shelloffsets[SIMINT_SIMD_LEN] = {0};
416                     int lastoffset = 0;
417                     const int nlane = ( ((j + SIMINT_SIMD_LEN) < jend) ? SIMINT_SIMD_LEN : (jend - j));
418 
419                     if((iprimcd + SIMINT_SIMD_LEN) >= nprim_icd)
420                     {
421                         // Handle if the first element of the vector is a new shell
422                         if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
423                         {
424                             nprim_icd += Q.nprim12[cd + (++icd)];
425                             PRIM_PTR_INT__k_s_i_s += 1008;
426                             PRIM_PTR_INT__k_s_k_s += 1296;
427                             PRIM_PTR_INT__k_s_l_s += 1620;
428                             PRIM_PTR_INT__k_s_m_s += 1980;
429                             PRIM_PTR_INT__k_s_n_s += 2376;
430                             PRIM_PTR_INT__l_s_i_s += 1260;
431                             PRIM_PTR_INT__l_s_k_s += 1620;
432                             PRIM_PTR_INT__l_s_l_s += 2025;
433                             PRIM_PTR_INT__l_s_m_s += 2475;
434                             PRIM_PTR_INT__l_s_n_s += 2970;
435                             PRIM_PTR_INT__m_s_i_s += 1540;
436                             PRIM_PTR_INT__m_s_k_s += 1980;
437                             PRIM_PTR_INT__m_s_l_s += 2475;
438                             PRIM_PTR_INT__m_s_m_s += 3025;
439                             PRIM_PTR_INT__m_s_n_s += 3630;
440                             PRIM_PTR_INT__n_s_i_s += 1848;
441                             PRIM_PTR_INT__n_s_k_s += 2376;
442                             PRIM_PTR_INT__n_s_l_s += 2970;
443                             PRIM_PTR_INT__n_s_m_s += 3630;
444                             PRIM_PTR_INT__n_s_n_s += 4356;
445                             PRIM_PTR_INT__o_s_i_s += 2184;
446                             PRIM_PTR_INT__o_s_k_s += 2808;
447                             PRIM_PTR_INT__o_s_l_s += 3510;
448                             PRIM_PTR_INT__o_s_m_s += 4290;
449                             PRIM_PTR_INT__o_s_n_s += 5148;
450                             PRIM_PTR_INT__q_s_i_s += 2548;
451                             PRIM_PTR_INT__q_s_k_s += 3276;
452                             PRIM_PTR_INT__q_s_l_s += 4095;
453                             PRIM_PTR_INT__q_s_m_s += 5005;
454                             PRIM_PTR_INT__q_s_n_s += 6006;
455                             PRIM_PTR_INT__r_s_i_s += 2940;
456                             PRIM_PTR_INT__r_s_k_s += 3780;
457                             PRIM_PTR_INT__r_s_l_s += 4725;
458                             PRIM_PTR_INT__r_s_m_s += 5775;
459                             PRIM_PTR_INT__r_s_n_s += 6930;
460                         }
461                         iprimcd++;
462                         for(n = 1; n < SIMINT_SIMD_LEN; ++n)
463                         {
464                             if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
465                             {
466                                 shelloffsets[n] = shelloffsets[n-1] + 1;
467                                 lastoffset++;
468                                 nprim_icd += Q.nprim12[cd + (++icd)];
469                             }
470                             else
471                                 shelloffsets[n] = shelloffsets[n-1];
472                             iprimcd++;
473                         }
474                     }
475                     else
476                         iprimcd += SIMINT_SIMD_LEN;
477 
478                     // Do we have to compute this vector (or has it been screened out)?
479                     // (not_screened != 0 means we have to do this vector)
480                     if(check_screen)
481                     {
482                         const double vmax = vector_max(SIMINT_MUL(bra_screen_max, SIMINT_DBLLOAD(Q.screen, j)));
483                         if(vmax < screen_tol)
484                         {
485                             PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
486                             PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
487                             PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
488                             PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
489                             PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
490                             PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
491                             PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
492                             PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
493                             PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
494                             PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
495                             PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
496                             PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
497                             PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
498                             PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
499                             PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
500                             PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
501                             PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
502                             PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
503                             PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
504                             PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
505                             PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
506                             PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
507                             PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
508                             PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
509                             PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
510                             PRIM_PTR_INT__q_s_i_s += lastoffset*2548;
511                             PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
512                             PRIM_PTR_INT__q_s_l_s += lastoffset*4095;
513                             PRIM_PTR_INT__q_s_m_s += lastoffset*5005;
514                             PRIM_PTR_INT__q_s_n_s += lastoffset*6006;
515                             PRIM_PTR_INT__r_s_i_s += lastoffset*2940;
516                             PRIM_PTR_INT__r_s_k_s += lastoffset*3780;
517                             PRIM_PTR_INT__r_s_l_s += lastoffset*4725;
518                             PRIM_PTR_INT__r_s_m_s += lastoffset*5775;
519                             PRIM_PTR_INT__r_s_n_s += lastoffset*6930;
520                             continue;
521                         }
522                     }
523 
524                     const SIMINT_DBLTYPE Q_alpha = SIMINT_DBLLOAD(Q.alpha, j);
525                     const SIMINT_DBLTYPE PQalpha_mul = SIMINT_MUL(P_alpha, Q_alpha);
526                     const SIMINT_DBLTYPE PQalpha_sum = SIMINT_ADD(P_alpha, Q_alpha);
527                     const SIMINT_DBLTYPE one_over_PQalpha_sum = SIMINT_DIV(const_1, PQalpha_sum);
528 
529 
530                     /* construct R2 = (Px - Qx)**2 + (Py - Qy)**2 + (Pz -Qz)**2 */
531                     SIMINT_DBLTYPE PQ[3];
532                     PQ[0] = SIMINT_SUB(Pxyz[0], SIMINT_DBLLOAD(Q.x, j));
533                     PQ[1] = SIMINT_SUB(Pxyz[1], SIMINT_DBLLOAD(Q.y, j));
534                     PQ[2] = SIMINT_SUB(Pxyz[2], SIMINT_DBLLOAD(Q.z, j));
535                     SIMINT_DBLTYPE R2 = SIMINT_MUL(PQ[0], PQ[0]);
536                     R2 = SIMINT_FMADD(PQ[1], PQ[1], R2);
537                     R2 = SIMINT_FMADD(PQ[2], PQ[2], R2);
538 
539                     const SIMINT_DBLTYPE alpha = SIMINT_MUL(PQalpha_mul, one_over_PQalpha_sum); // alpha from MEST
540                     const SIMINT_DBLTYPE one_over_p = SIMINT_DIV(const_1, P_alpha);
541                     const SIMINT_DBLTYPE one_over_q = SIMINT_DIV(const_1, Q_alpha);
542                     const SIMINT_DBLTYPE one_over_2p = SIMINT_MUL(one_half, one_over_p);
543                     const SIMINT_DBLTYPE one_over_2q = SIMINT_MUL(one_half, one_over_q);
544                     const SIMINT_DBLTYPE one_over_2pq = SIMINT_MUL(one_half, one_over_PQalpha_sum);
545                     const SIMINT_DBLTYPE Q_PA[3] = { SIMINT_DBLLOAD(Q.PA_x, j), SIMINT_DBLLOAD(Q.PA_y, j), SIMINT_DBLLOAD(Q.PA_z, j) };
546 
547                     // NOTE: Minus sign!
548                     const SIMINT_DBLTYPE a_over_p = SIMINT_MUL(SIMINT_NEG(alpha), one_over_p);
549                     SIMINT_DBLTYPE aop_PQ[3];
550                     aop_PQ[0] = SIMINT_MUL(a_over_p, PQ[0]);
551                     aop_PQ[1] = SIMINT_MUL(a_over_p, PQ[1]);
552                     aop_PQ[2] = SIMINT_MUL(a_over_p, PQ[2]);
553 
554                     SIMINT_DBLTYPE a_over_q = SIMINT_MUL(alpha, one_over_q);
555                     SIMINT_DBLTYPE aoq_PQ[3];
556                     aoq_PQ[0] = SIMINT_MUL(a_over_q, PQ[0]);
557                     aoq_PQ[1] = SIMINT_MUL(a_over_q, PQ[1]);
558                     aoq_PQ[2] = SIMINT_MUL(a_over_q, PQ[2]);
559                     // Put a minus sign here so we don't have to in RR routines
560                     a_over_q = SIMINT_NEG(a_over_q);
561 
562 
563                     //////////////////////////////////////////////
564                     // Fjt function section
565                     // Maximum v value: 23
566                     //////////////////////////////////////////////
567                     // The parameter to the Fjt function
568                     const SIMINT_DBLTYPE F_x = SIMINT_MUL(R2, alpha);
569 
570 
571                     const SIMINT_DBLTYPE Q_prefac = mask_load(nlane, Q.prefac + j);
572 
573 
574                     boys_F_split(PRIM_INT__s_s_s_s, F_x, 23);
575                     SIMINT_DBLTYPE prefac = SIMINT_SQRT(one_over_PQalpha_sum);
576                     prefac = SIMINT_MUL(SIMINT_MUL(P_prefac, Q_prefac), prefac);
577                     for(n = 0; n <= 23; n++)
578                         PRIM_INT__s_s_s_s[n] = SIMINT_MUL(PRIM_INT__s_s_s_s[n], prefac);
579 
580                     //////////////////////////////////////////////
581                     // Primitive integrals: Vertical recurrance
582                     //////////////////////////////////////////////
583 
584                     const SIMINT_DBLTYPE vrr_const_1_over_2p = one_over_2p;
585                     const SIMINT_DBLTYPE vrr_const_2_over_2p = SIMINT_MUL(const_2, one_over_2p);
586                     const SIMINT_DBLTYPE vrr_const_3_over_2p = SIMINT_MUL(const_3, one_over_2p);
587                     const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(const_4, one_over_2p);
588                     const SIMINT_DBLTYPE vrr_const_5_over_2p = SIMINT_MUL(const_5, one_over_2p);
589                     const SIMINT_DBLTYPE vrr_const_6_over_2p = SIMINT_MUL(const_6, one_over_2p);
590                     const SIMINT_DBLTYPE vrr_const_7_over_2p = SIMINT_MUL(const_7, one_over_2p);
591                     const SIMINT_DBLTYPE vrr_const_8_over_2p = SIMINT_MUL(const_8, one_over_2p);
592                     const SIMINT_DBLTYPE vrr_const_9_over_2p = SIMINT_MUL(const_9, one_over_2p);
593                     const SIMINT_DBLTYPE vrr_const_10_over_2p = SIMINT_MUL(const_10, one_over_2p);
594                     const SIMINT_DBLTYPE vrr_const_11_over_2p = SIMINT_MUL(const_11, one_over_2p);
595                     const SIMINT_DBLTYPE vrr_const_12_over_2p = SIMINT_MUL(const_12, one_over_2p);
596                     const SIMINT_DBLTYPE vrr_const_1_over_2q = one_over_2q;
597                     const SIMINT_DBLTYPE vrr_const_2_over_2q = SIMINT_MUL(const_2, one_over_2q);
598                     const SIMINT_DBLTYPE vrr_const_3_over_2q = SIMINT_MUL(const_3, one_over_2q);
599                     const SIMINT_DBLTYPE vrr_const_4_over_2q = SIMINT_MUL(const_4, one_over_2q);
600                     const SIMINT_DBLTYPE vrr_const_5_over_2q = SIMINT_MUL(const_5, one_over_2q);
601                     const SIMINT_DBLTYPE vrr_const_6_over_2q = SIMINT_MUL(const_6, one_over_2q);
602                     const SIMINT_DBLTYPE vrr_const_7_over_2q = SIMINT_MUL(const_7, one_over_2q);
603                     const SIMINT_DBLTYPE vrr_const_8_over_2q = SIMINT_MUL(const_8, one_over_2q);
604                     const SIMINT_DBLTYPE vrr_const_9_over_2q = SIMINT_MUL(const_9, one_over_2q);
605                     const SIMINT_DBLTYPE vrr_const_1_over_2pq = one_over_2pq;
606                     const SIMINT_DBLTYPE vrr_const_2_over_2pq = SIMINT_MUL(const_2, one_over_2pq);
607                     const SIMINT_DBLTYPE vrr_const_3_over_2pq = SIMINT_MUL(const_3, one_over_2pq);
608                     const SIMINT_DBLTYPE vrr_const_4_over_2pq = SIMINT_MUL(const_4, one_over_2pq);
609                     const SIMINT_DBLTYPE vrr_const_5_over_2pq = SIMINT_MUL(const_5, one_over_2pq);
610                     const SIMINT_DBLTYPE vrr_const_6_over_2pq = SIMINT_MUL(const_6, one_over_2pq);
611                     const SIMINT_DBLTYPE vrr_const_7_over_2pq = SIMINT_MUL(const_7, one_over_2pq);
612                     const SIMINT_DBLTYPE vrr_const_8_over_2pq = SIMINT_MUL(const_8, one_over_2pq);
613                     const SIMINT_DBLTYPE vrr_const_9_over_2pq = SIMINT_MUL(const_9, one_over_2pq);
614                     const SIMINT_DBLTYPE vrr_const_10_over_2pq = SIMINT_MUL(const_10, one_over_2pq);
615                     const SIMINT_DBLTYPE vrr_const_11_over_2pq = SIMINT_MUL(const_11, one_over_2pq);
616                     const SIMINT_DBLTYPE vrr_const_12_over_2pq = SIMINT_MUL(const_12, one_over_2pq);
617                     const SIMINT_DBLTYPE vrr_const_13_over_2pq = SIMINT_MUL(const_13, one_over_2pq);
618 
619 
620 
621                     // Forming PRIM_INT__p_s_s_s[23 * 3];
622                     for(n = 0; n < 23; ++n)  // loop over orders of auxiliary function
623                     {
624 
625                         PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
626                         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]);
627 
628                         PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
629                         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]);
630 
631                         PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
632                         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]);
633 
634                     }
635 
636 
637 
638                     // Forming PRIM_INT__d_s_s_s[22 * 6];
639                     for(n = 0; n < 22; ++n)  // loop over orders of auxiliary function
640                     {
641 
642                         PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
643                         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]);
644                         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]);
645 
646                         PRIM_INT__d_s_s_s[n * 6 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
647                         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]);
648 
649                         PRIM_INT__d_s_s_s[n * 6 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
650                         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]);
651 
652                         PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
653                         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]);
654                         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]);
655 
656                         PRIM_INT__d_s_s_s[n * 6 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
657                         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]);
658 
659                         PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
660                         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]);
661                         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]);
662 
663                     }
664 
665 
666 
667                     // Forming PRIM_INT__f_s_s_s[21 * 10];
668                     for(n = 0; n < 21; ++n)  // loop over orders of auxiliary function
669                     {
670 
671                         PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
672                         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]);
673                         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]);
674 
675                         PRIM_INT__f_s_s_s[n * 10 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
676                         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]);
677 
678                         PRIM_INT__f_s_s_s[n * 10 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
679                         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]);
680 
681                         PRIM_INT__f_s_s_s[n * 10 + 3] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
682                         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]);
683 
684                         PRIM_INT__f_s_s_s[n * 10 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
685                         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]);
686 
687                         PRIM_INT__f_s_s_s[n * 10 + 5] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
688                         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]);
689 
690                         PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
691                         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]);
692                         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]);
693 
694                         PRIM_INT__f_s_s_s[n * 10 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
695                         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]);
696 
697                         PRIM_INT__f_s_s_s[n * 10 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
698                         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]);
699 
700                         PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
701                         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]);
702                         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]);
703 
704                     }
705 
706 
707                     VRR_I_g_s_s_s(
708                             PRIM_INT__g_s_s_s,
709                             PRIM_INT__f_s_s_s,
710                             PRIM_INT__d_s_s_s,
711                             P_PA,
712                             a_over_p,
713                             aop_PQ,
714                             one_over_2p,
715                             20);
716 
717 
718                     VRR_I_h_s_s_s(
719                             PRIM_INT__h_s_s_s,
720                             PRIM_INT__g_s_s_s,
721                             PRIM_INT__f_s_s_s,
722                             P_PA,
723                             a_over_p,
724                             aop_PQ,
725                             one_over_2p,
726                             19);
727 
728 
729                     ostei_general_vrr1_I(6, 18,
730                             one_over_2p, a_over_p, aop_PQ, P_PA,
731                             PRIM_INT__h_s_s_s, PRIM_INT__g_s_s_s, PRIM_INT__i_s_s_s);
732 
733 
734                     ostei_general_vrr1_I(7, 17,
735                             one_over_2p, a_over_p, aop_PQ, P_PA,
736                             PRIM_INT__i_s_s_s, PRIM_INT__h_s_s_s, PRIM_INT__k_s_s_s);
737 
738 
739                     ostei_general_vrr_K(7, 0, 1, 0, 10,
740                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
741                             PRIM_INT__k_s_s_s, NULL, NULL, PRIM_INT__i_s_s_s, NULL, PRIM_INT__k_s_p_s);
742 
743 
744                     ostei_general_vrr_K(6, 0, 1, 0, 10,
745                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
746                             PRIM_INT__i_s_s_s, NULL, NULL, PRIM_INT__h_s_s_s, NULL, PRIM_INT__i_s_p_s);
747 
748 
749                     ostei_general_vrr_K(7, 0, 2, 0, 9,
750                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
751                             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);
752 
753 
754                     ostei_general_vrr_K(5, 0, 1, 0, 10,
755                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
756                             PRIM_INT__h_s_s_s, NULL, NULL, PRIM_INT__g_s_s_s, NULL, PRIM_INT__h_s_p_s);
757 
758 
759                     ostei_general_vrr_K(6, 0, 2, 0, 9,
760                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
761                             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);
762 
763 
764                     ostei_general_vrr_K(7, 0, 3, 0, 8,
765                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
766                             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);
767 
768 
769                     VRR_K_g_s_p_s(
770                             PRIM_INT__g_s_p_s,
771                             PRIM_INT__g_s_s_s,
772                             PRIM_INT__f_s_s_s,
773                             Q_PA,
774                             aoq_PQ,
775                             one_over_2pq,
776                             10);
777 
778 
779                     ostei_general_vrr_K(5, 0, 2, 0, 9,
780                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
781                             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);
782 
783 
784                     ostei_general_vrr_K(6, 0, 3, 0, 8,
785                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
786                             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);
787 
788 
789                     ostei_general_vrr_K(7, 0, 4, 0, 7,
790                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
791                             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);
792 
793 
794                     VRR_K_f_s_p_s(
795                             PRIM_INT__f_s_p_s,
796                             PRIM_INT__f_s_s_s,
797                             PRIM_INT__d_s_s_s,
798                             Q_PA,
799                             aoq_PQ,
800                             one_over_2pq,
801                             10);
802 
803 
804                     ostei_general_vrr_K(4, 0, 2, 0, 9,
805                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
806                             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);
807 
808 
809                     ostei_general_vrr_K(5, 0, 3, 0, 8,
810                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
811                             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);
812 
813 
814                     ostei_general_vrr_K(6, 0, 4, 0, 7,
815                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
816                             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);
817 
818 
819                     ostei_general_vrr_K(7, 0, 5, 0, 6,
820                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
821                             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);
822 
823 
824 
825                     // Forming PRIM_INT__d_s_p_s[10 * 18];
826                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
827                     {
828 
829                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
830                         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]);
831                         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]);
832 
833                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
834                         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]);
835 
836                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
837                         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]);
838 
839                         PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 1]);
840                         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]);
841                         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]);
842 
843                         PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 1]);
844                         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]);
845                         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]);
846 
847                         PRIM_INT__d_s_p_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
848                         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]);
849 
850                         PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 2]);
851                         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]);
852                         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]);
853 
854                         PRIM_INT__d_s_p_s[n * 18 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 2]);
855                         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]);
856 
857                         PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 2]);
858                         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]);
859                         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]);
860 
861                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
862                         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]);
863 
864                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
865                         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]);
866                         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]);
867 
868                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
869                         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]);
870 
871                         PRIM_INT__d_s_p_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 4]);
872                         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]);
873 
874                         PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 4]);
875                         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]);
876                         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]);
877 
878                         PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 4]);
879                         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]);
880                         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]);
881 
882                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
883                         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]);
884 
885                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
886                         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]);
887 
888                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
889                         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]);
890                         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]);
891 
892                     }
893 
894 
895                     VRR_K_f_s_d_s(
896                             PRIM_INT__f_s_d_s,
897                             PRIM_INT__f_s_p_s,
898                             PRIM_INT__f_s_s_s,
899                             PRIM_INT__d_s_p_s,
900                             Q_PA,
901                             a_over_q,
902                             aoq_PQ,
903                             one_over_2pq,
904                             one_over_2q,
905                             9);
906 
907 
908                     ostei_general_vrr_K(4, 0, 3, 0, 8,
909                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
910                             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);
911 
912 
913                     ostei_general_vrr_K(5, 0, 4, 0, 7,
914                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
915                             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);
916 
917 
918                     ostei_general_vrr_K(6, 0, 5, 0, 6,
919                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
920                             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);
921 
922 
923                     ostei_general_vrr_K(7, 0, 6, 0, 5,
924                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
925                             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);
926 
927 
928 
929                     // Forming PRIM_INT__p_s_p_s[10 * 9];
930                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
931                     {
932 
933                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
934                         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]);
935                         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]);
936 
937                         PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
938                         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]);
939 
940                         PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
941                         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]);
942 
943                         PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 1]);
944                         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]);
945 
946                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
947                         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]);
948                         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]);
949 
950                         PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
951                         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]);
952 
953                         PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 2]);
954                         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]);
955 
956                         PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 2]);
957                         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]);
958 
959                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
960                         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]);
961                         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]);
962 
963                     }
964 
965 
966                     VRR_K_d_s_d_s(
967                             PRIM_INT__d_s_d_s,
968                             PRIM_INT__d_s_p_s,
969                             PRIM_INT__d_s_s_s,
970                             PRIM_INT__p_s_p_s,
971                             Q_PA,
972                             a_over_q,
973                             aoq_PQ,
974                             one_over_2pq,
975                             one_over_2q,
976                             9);
977 
978 
979                     ostei_general_vrr_K(3, 0, 3, 0, 8,
980                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
981                             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);
982 
983 
984                     ostei_general_vrr_K(4, 0, 4, 0, 7,
985                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
986                             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);
987 
988 
989                     ostei_general_vrr_K(5, 0, 5, 0, 6,
990                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
991                             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);
992 
993 
994                     ostei_general_vrr_K(6, 0, 6, 0, 5,
995                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
996                             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);
997 
998 
999                     ostei_general_vrr_K(7, 0, 7, 0, 4,
1000                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1001                             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);
1002 
1003 
1004                     ostei_general_vrr1_I(8, 16,
1005                             one_over_2p, a_over_p, aop_PQ, P_PA,
1006                             PRIM_INT__k_s_s_s, PRIM_INT__i_s_s_s, PRIM_INT__l_s_s_s);
1007 
1008 
1009                     ostei_general_vrr_K(8, 0, 1, 0, 10,
1010                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1011                             PRIM_INT__l_s_s_s, NULL, NULL, PRIM_INT__k_s_s_s, NULL, PRIM_INT__l_s_p_s);
1012 
1013 
1014                     ostei_general_vrr_K(8, 0, 2, 0, 9,
1015                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1016                             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);
1017 
1018 
1019                     ostei_general_vrr_K(8, 0, 3, 0, 8,
1020                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1021                             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);
1022 
1023 
1024                     ostei_general_vrr_K(8, 0, 4, 0, 7,
1025                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1026                             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);
1027 
1028 
1029                     ostei_general_vrr_K(8, 0, 5, 0, 6,
1030                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1031                             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);
1032 
1033 
1034                     ostei_general_vrr_K(8, 0, 6, 0, 5,
1035                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1036                             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);
1037 
1038 
1039 
1040                     // Forming PRIM_INT__s_s_p_s[10 * 3];
1041                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
1042                     {
1043 
1044                         PRIM_INT__s_s_p_s[n * 3 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
1045                         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]);
1046 
1047                         PRIM_INT__s_s_p_s[n * 3 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
1048                         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]);
1049 
1050                         PRIM_INT__s_s_p_s[n * 3 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
1051                         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]);
1052 
1053                     }
1054 
1055 
1056 
1057                     // Forming PRIM_INT__p_s_d_s[9 * 18];
1058                     for(n = 0; n < 9; ++n)  // loop over orders of auxiliary function
1059                     {
1060 
1061                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 0]);
1062                         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]);
1063                         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]);
1064                         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]);
1065 
1066                         PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 1]);
1067                         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]);
1068                         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]);
1069 
1070                         PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 2]);
1071                         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]);
1072                         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]);
1073 
1074                         PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 3]);
1075                         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]);
1076                         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]);
1077 
1078                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 4]);
1079                         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]);
1080                         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]);
1081                         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]);
1082 
1083                         PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 5]);
1084                         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]);
1085                         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]);
1086 
1087                         PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 6]);
1088                         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]);
1089                         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]);
1090 
1091                         PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 7]);
1092                         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]);
1093                         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]);
1094 
1095                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1096                         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]);
1097                         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]);
1098                         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]);
1099 
1100                     }
1101 
1102 
1103                     VRR_K_d_s_f_s(
1104                             PRIM_INT__d_s_f_s,
1105                             PRIM_INT__d_s_d_s,
1106                             PRIM_INT__d_s_p_s,
1107                             PRIM_INT__p_s_d_s,
1108                             Q_PA,
1109                             a_over_q,
1110                             aoq_PQ,
1111                             one_over_2pq,
1112                             one_over_2q,
1113                             8);
1114 
1115 
1116                     ostei_general_vrr_K(3, 0, 4, 0, 7,
1117                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1118                             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);
1119 
1120 
1121                     ostei_general_vrr_K(4, 0, 5, 0, 6,
1122                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1123                             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);
1124 
1125 
1126                     ostei_general_vrr_K(5, 0, 6, 0, 5,
1127                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1128                             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);
1129 
1130 
1131                     ostei_general_vrr_K(6, 0, 7, 0, 4,
1132                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1133                             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);
1134 
1135 
1136                     ostei_general_vrr_K(7, 0, 8, 0, 3,
1137                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1138                             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);
1139 
1140 
1141                     ostei_general_vrr_K(8, 0, 7, 0, 4,
1142                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1143                             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);
1144 
1145 
1146                     ostei_general_vrr1_I(9, 15,
1147                             one_over_2p, a_over_p, aop_PQ, P_PA,
1148                             PRIM_INT__l_s_s_s, PRIM_INT__k_s_s_s, PRIM_INT__m_s_s_s);
1149 
1150 
1151                     ostei_general_vrr_K(9, 0, 1, 0, 10,
1152                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1153                             PRIM_INT__m_s_s_s, NULL, NULL, PRIM_INT__l_s_s_s, NULL, PRIM_INT__m_s_p_s);
1154 
1155 
1156                     ostei_general_vrr_K(9, 0, 2, 0, 9,
1157                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1158                             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);
1159 
1160 
1161                     ostei_general_vrr_K(9, 0, 3, 0, 8,
1162                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1163                             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);
1164 
1165 
1166                     ostei_general_vrr_K(9, 0, 4, 0, 7,
1167                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1168                             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);
1169 
1170 
1171                     ostei_general_vrr_K(9, 0, 5, 0, 6,
1172                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1173                             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);
1174 
1175 
1176                     ostei_general_vrr_K(9, 0, 6, 0, 5,
1177                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1178                             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);
1179 
1180 
1181 
1182                     // Forming PRIM_INT__s_s_d_s[9 * 6];
1183                     for(n = 0; n < 9; ++n)  // loop over orders of auxiliary function
1184                     {
1185 
1186                         PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
1187                         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]);
1188                         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]);
1189 
1190                         PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
1191                         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]);
1192                         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]);
1193 
1194                         PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
1195                         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]);
1196                         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]);
1197 
1198                     }
1199 
1200 
1201                     VRR_K_p_s_f_s(
1202                             PRIM_INT__p_s_f_s,
1203                             PRIM_INT__p_s_d_s,
1204                             PRIM_INT__p_s_p_s,
1205                             PRIM_INT__s_s_d_s,
1206                             Q_PA,
1207                             a_over_q,
1208                             aoq_PQ,
1209                             one_over_2pq,
1210                             one_over_2q,
1211                             8);
1212 
1213 
1214                     ostei_general_vrr_K(2, 0, 4, 0, 7,
1215                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1216                             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);
1217 
1218 
1219                     ostei_general_vrr_K(3, 0, 5, 0, 6,
1220                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1221                             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);
1222 
1223 
1224                     ostei_general_vrr_K(4, 0, 6, 0, 5,
1225                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1226                             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);
1227 
1228 
1229                     ostei_general_vrr_K(5, 0, 7, 0, 4,
1230                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1231                             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);
1232 
1233 
1234                     ostei_general_vrr_K(6, 0, 8, 0, 3,
1235                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1236                             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);
1237 
1238 
1239                     ostei_general_vrr_K(7, 0, 9, 0, 2,
1240                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1241                             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);
1242 
1243 
1244                     ostei_general_vrr_K(8, 0, 8, 0, 3,
1245                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1246                             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);
1247 
1248 
1249                     ostei_general_vrr_K(9, 0, 7, 0, 4,
1250                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1251                             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);
1252 
1253 
1254                     ostei_general_vrr1_I(10, 14,
1255                             one_over_2p, a_over_p, aop_PQ, P_PA,
1256                             PRIM_INT__m_s_s_s, PRIM_INT__l_s_s_s, PRIM_INT__n_s_s_s);
1257 
1258 
1259                     ostei_general_vrr_K(10, 0, 1, 0, 10,
1260                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1261                             PRIM_INT__n_s_s_s, NULL, NULL, PRIM_INT__m_s_s_s, NULL, PRIM_INT__n_s_p_s);
1262 
1263 
1264                     ostei_general_vrr_K(10, 0, 2, 0, 9,
1265                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1266                             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);
1267 
1268 
1269                     ostei_general_vrr_K(10, 0, 3, 0, 8,
1270                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1271                             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);
1272 
1273 
1274                     ostei_general_vrr_K(10, 0, 4, 0, 7,
1275                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1276                             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);
1277 
1278 
1279                     ostei_general_vrr_K(10, 0, 5, 0, 6,
1280                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1281                             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);
1282 
1283 
1284                     ostei_general_vrr_K(10, 0, 6, 0, 5,
1285                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1286                             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);
1287 
1288 
1289 
1290                     // Forming PRIM_INT__s_s_f_s[8 * 10];
1291                     for(n = 0; n < 8; ++n)  // loop over orders of auxiliary function
1292                     {
1293 
1294                         PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
1295                         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]);
1296                         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]);
1297 
1298                         PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
1299                         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]);
1300                         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]);
1301 
1302                         PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
1303                         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]);
1304                         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]);
1305 
1306                     }
1307 
1308 
1309                     VRR_K_p_s_g_s(
1310                             PRIM_INT__p_s_g_s,
1311                             PRIM_INT__p_s_f_s,
1312                             PRIM_INT__p_s_d_s,
1313                             PRIM_INT__s_s_f_s,
1314                             Q_PA,
1315                             a_over_q,
1316                             aoq_PQ,
1317                             one_over_2pq,
1318                             one_over_2q,
1319                             7);
1320 
1321 
1322                     ostei_general_vrr_K(2, 0, 5, 0, 6,
1323                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1324                             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);
1325 
1326 
1327                     ostei_general_vrr_K(3, 0, 6, 0, 5,
1328                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1329                             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);
1330 
1331 
1332                     ostei_general_vrr_K(4, 0, 7, 0, 4,
1333                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1334                             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);
1335 
1336 
1337                     ostei_general_vrr_K(5, 0, 8, 0, 3,
1338                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1339                             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);
1340 
1341 
1342                     ostei_general_vrr_K(6, 0, 9, 0, 2,
1343                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1344                             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);
1345 
1346 
1347                     ostei_general_vrr_K(7, 0, 10, 0, 1,
1348                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1349                             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);
1350 
1351 
1352                     ostei_general_vrr_K(8, 0, 9, 0, 2,
1353                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1354                             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);
1355 
1356 
1357                     ostei_general_vrr_K(9, 0, 8, 0, 3,
1358                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1359                             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);
1360 
1361 
1362                     ostei_general_vrr_K(10, 0, 7, 0, 4,
1363                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1364                             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);
1365 
1366 
1367                     ostei_general_vrr1_I(11, 13,
1368                             one_over_2p, a_over_p, aop_PQ, P_PA,
1369                             PRIM_INT__n_s_s_s, PRIM_INT__m_s_s_s, PRIM_INT__o_s_s_s);
1370 
1371 
1372                     ostei_general_vrr_K(11, 0, 1, 0, 10,
1373                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1374                             PRIM_INT__o_s_s_s, NULL, NULL, PRIM_INT__n_s_s_s, NULL, PRIM_INT__o_s_p_s);
1375 
1376 
1377                     ostei_general_vrr_K(11, 0, 2, 0, 9,
1378                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1379                             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);
1380 
1381 
1382                     ostei_general_vrr_K(11, 0, 3, 0, 8,
1383                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1384                             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);
1385 
1386 
1387                     ostei_general_vrr_K(11, 0, 4, 0, 7,
1388                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1389                             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);
1390 
1391 
1392                     ostei_general_vrr_K(11, 0, 5, 0, 6,
1393                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1394                             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);
1395 
1396 
1397                     ostei_general_vrr_K(11, 0, 6, 0, 5,
1398                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1399                             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);
1400 
1401 
1402                     ostei_general_vrr_K(8, 0, 10, 0, 1,
1403                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1404                             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);
1405 
1406 
1407                     ostei_general_vrr_K(9, 0, 9, 0, 2,
1408                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1409                             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);
1410 
1411 
1412                     ostei_general_vrr_K(10, 0, 8, 0, 3,
1413                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1414                             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);
1415 
1416 
1417                     ostei_general_vrr_K(11, 0, 7, 0, 4,
1418                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1419                             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);
1420 
1421 
1422                     ostei_general_vrr1_I(12, 12,
1423                             one_over_2p, a_over_p, aop_PQ, P_PA,
1424                             PRIM_INT__o_s_s_s, PRIM_INT__n_s_s_s, PRIM_INT__q_s_s_s);
1425 
1426 
1427                     ostei_general_vrr_K(12, 0, 1, 0, 10,
1428                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1429                             PRIM_INT__q_s_s_s, NULL, NULL, PRIM_INT__o_s_s_s, NULL, PRIM_INT__q_s_p_s);
1430 
1431 
1432                     ostei_general_vrr_K(12, 0, 2, 0, 9,
1433                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1434                             PRIM_INT__q_s_p_s, PRIM_INT__q_s_s_s, NULL, PRIM_INT__o_s_p_s, NULL, PRIM_INT__q_s_d_s);
1435 
1436 
1437                     ostei_general_vrr_K(12, 0, 3, 0, 8,
1438                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1439                             PRIM_INT__q_s_d_s, PRIM_INT__q_s_p_s, NULL, PRIM_INT__o_s_d_s, NULL, PRIM_INT__q_s_f_s);
1440 
1441 
1442                     ostei_general_vrr_K(12, 0, 4, 0, 7,
1443                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1444                             PRIM_INT__q_s_f_s, PRIM_INT__q_s_d_s, NULL, PRIM_INT__o_s_f_s, NULL, PRIM_INT__q_s_g_s);
1445 
1446 
1447                     ostei_general_vrr_K(12, 0, 5, 0, 6,
1448                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1449                             PRIM_INT__q_s_g_s, PRIM_INT__q_s_f_s, NULL, PRIM_INT__o_s_g_s, NULL, PRIM_INT__q_s_h_s);
1450 
1451 
1452                     ostei_general_vrr_K(12, 0, 6, 0, 5,
1453                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1454                             PRIM_INT__q_s_h_s, PRIM_INT__q_s_g_s, NULL, PRIM_INT__o_s_h_s, NULL, PRIM_INT__q_s_i_s);
1455 
1456 
1457                     ostei_general_vrr_K(9, 0, 10, 0, 1,
1458                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1459                             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);
1460 
1461 
1462                     ostei_general_vrr_K(10, 0, 9, 0, 2,
1463                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1464                             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);
1465 
1466 
1467                     ostei_general_vrr_K(11, 0, 8, 0, 3,
1468                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1469                             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);
1470 
1471 
1472                     ostei_general_vrr_K(12, 0, 7, 0, 4,
1473                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1474                             PRIM_INT__q_s_i_s, PRIM_INT__q_s_h_s, NULL, PRIM_INT__o_s_i_s, NULL, PRIM_INT__q_s_k_s);
1475 
1476 
1477                     ostei_general_vrr1_I(13, 11,
1478                             one_over_2p, a_over_p, aop_PQ, P_PA,
1479                             PRIM_INT__q_s_s_s, PRIM_INT__o_s_s_s, PRIM_INT__r_s_s_s);
1480 
1481 
1482                     ostei_general_vrr_K(13, 0, 1, 0, 10,
1483                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1484                             PRIM_INT__r_s_s_s, NULL, NULL, PRIM_INT__q_s_s_s, NULL, PRIM_INT__r_s_p_s);
1485 
1486 
1487                     ostei_general_vrr_K(13, 0, 2, 0, 9,
1488                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1489                             PRIM_INT__r_s_p_s, PRIM_INT__r_s_s_s, NULL, PRIM_INT__q_s_p_s, NULL, PRIM_INT__r_s_d_s);
1490 
1491 
1492                     ostei_general_vrr_K(13, 0, 3, 0, 8,
1493                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1494                             PRIM_INT__r_s_d_s, PRIM_INT__r_s_p_s, NULL, PRIM_INT__q_s_d_s, NULL, PRIM_INT__r_s_f_s);
1495 
1496 
1497                     ostei_general_vrr_K(13, 0, 4, 0, 7,
1498                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1499                             PRIM_INT__r_s_f_s, PRIM_INT__r_s_d_s, NULL, PRIM_INT__q_s_f_s, NULL, PRIM_INT__r_s_g_s);
1500 
1501 
1502                     ostei_general_vrr_K(13, 0, 5, 0, 6,
1503                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1504                             PRIM_INT__r_s_g_s, PRIM_INT__r_s_f_s, NULL, PRIM_INT__q_s_g_s, NULL, PRIM_INT__r_s_h_s);
1505 
1506 
1507                     ostei_general_vrr_K(13, 0, 6, 0, 5,
1508                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1509                             PRIM_INT__r_s_h_s, PRIM_INT__r_s_g_s, NULL, PRIM_INT__q_s_h_s, NULL, PRIM_INT__r_s_i_s);
1510 
1511 
1512                     ostei_general_vrr_K(10, 0, 10, 0, 1,
1513                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1514                             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);
1515 
1516 
1517                     ostei_general_vrr_K(11, 0, 9, 0, 2,
1518                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1519                             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);
1520 
1521 
1522                     ostei_general_vrr_K(12, 0, 8, 0, 3,
1523                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1524                             PRIM_INT__q_s_k_s, PRIM_INT__q_s_i_s, NULL, PRIM_INT__o_s_k_s, NULL, PRIM_INT__q_s_l_s);
1525 
1526 
1527                     ostei_general_vrr_K(13, 0, 7, 0, 4,
1528                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1529                             PRIM_INT__r_s_i_s, PRIM_INT__r_s_h_s, NULL, PRIM_INT__q_s_i_s, NULL, PRIM_INT__r_s_k_s);
1530 
1531 
1532                     ostei_general_vrr_K(11, 0, 10, 0, 1,
1533                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1534                             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);
1535 
1536 
1537                     ostei_general_vrr_K(12, 0, 9, 0, 2,
1538                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1539                             PRIM_INT__q_s_l_s, PRIM_INT__q_s_k_s, NULL, PRIM_INT__o_s_l_s, NULL, PRIM_INT__q_s_m_s);
1540 
1541 
1542                     ostei_general_vrr_K(13, 0, 8, 0, 3,
1543                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1544                             PRIM_INT__r_s_k_s, PRIM_INT__r_s_i_s, NULL, PRIM_INT__q_s_k_s, NULL, PRIM_INT__r_s_l_s);
1545 
1546 
1547                     ostei_general_vrr_K(12, 0, 10, 0, 1,
1548                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1549                             PRIM_INT__q_s_m_s, PRIM_INT__q_s_l_s, NULL, PRIM_INT__o_s_m_s, NULL, PRIM_INT__q_s_n_s);
1550 
1551 
1552                     ostei_general_vrr_K(13, 0, 9, 0, 2,
1553                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1554                             PRIM_INT__r_s_l_s, PRIM_INT__r_s_k_s, NULL, PRIM_INT__q_s_l_s, NULL, PRIM_INT__r_s_m_s);
1555 
1556 
1557                     ostei_general_vrr_K(13, 0, 10, 0, 1,
1558                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1559                             PRIM_INT__r_s_m_s, PRIM_INT__r_s_l_s, NULL, PRIM_INT__q_s_m_s, NULL, PRIM_INT__r_s_n_s);
1560 
1561 
1562 
1563 
1564                     ////////////////////////////////////
1565                     // Accumulate contracted integrals
1566                     ////////////////////////////////////
1567                     if(lastoffset == 0)
1568                     {
1569                         contract_all(1008, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1570                         contract_all(1296, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1571                         contract_all(1620, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1572                         contract_all(1980, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1573                         contract_all(2376, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1574                         contract_all(1260, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1575                         contract_all(1620, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1576                         contract_all(2025, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1577                         contract_all(2475, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1578                         contract_all(2970, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1579                         contract_all(1540, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1580                         contract_all(1980, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1581                         contract_all(2475, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1582                         contract_all(3025, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1583                         contract_all(3630, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1584                         contract_all(1848, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1585                         contract_all(2376, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1586                         contract_all(2970, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1587                         contract_all(3630, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1588                         contract_all(4356, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1589                         contract_all(2184, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1590                         contract_all(2808, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1591                         contract_all(3510, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1592                         contract_all(4290, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1593                         contract_all(5148, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1594                         contract_all(2548, PRIM_INT__q_s_i_s, PRIM_PTR_INT__q_s_i_s);
1595                         contract_all(3276, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1596                         contract_all(4095, PRIM_INT__q_s_l_s, PRIM_PTR_INT__q_s_l_s);
1597                         contract_all(5005, PRIM_INT__q_s_m_s, PRIM_PTR_INT__q_s_m_s);
1598                         contract_all(6006, PRIM_INT__q_s_n_s, PRIM_PTR_INT__q_s_n_s);
1599                         contract_all(2940, PRIM_INT__r_s_i_s, PRIM_PTR_INT__r_s_i_s);
1600                         contract_all(3780, PRIM_INT__r_s_k_s, PRIM_PTR_INT__r_s_k_s);
1601                         contract_all(4725, PRIM_INT__r_s_l_s, PRIM_PTR_INT__r_s_l_s);
1602                         contract_all(5775, PRIM_INT__r_s_m_s, PRIM_PTR_INT__r_s_m_s);
1603                         contract_all(6930, PRIM_INT__r_s_n_s, PRIM_PTR_INT__r_s_n_s);
1604                     }
1605                     else
1606                     {
1607                         contract(1008, shelloffsets, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1608                         contract(1296, shelloffsets, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1609                         contract(1620, shelloffsets, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1610                         contract(1980, shelloffsets, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1611                         contract(2376, shelloffsets, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1612                         contract(1260, shelloffsets, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1613                         contract(1620, shelloffsets, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1614                         contract(2025, shelloffsets, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1615                         contract(2475, shelloffsets, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1616                         contract(2970, shelloffsets, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1617                         contract(1540, shelloffsets, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1618                         contract(1980, shelloffsets, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1619                         contract(2475, shelloffsets, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1620                         contract(3025, shelloffsets, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1621                         contract(3630, shelloffsets, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1622                         contract(1848, shelloffsets, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1623                         contract(2376, shelloffsets, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1624                         contract(2970, shelloffsets, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1625                         contract(3630, shelloffsets, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1626                         contract(4356, shelloffsets, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1627                         contract(2184, shelloffsets, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1628                         contract(2808, shelloffsets, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1629                         contract(3510, shelloffsets, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1630                         contract(4290, shelloffsets, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1631                         contract(5148, shelloffsets, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1632                         contract(2548, shelloffsets, PRIM_INT__q_s_i_s, PRIM_PTR_INT__q_s_i_s);
1633                         contract(3276, shelloffsets, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1634                         contract(4095, shelloffsets, PRIM_INT__q_s_l_s, PRIM_PTR_INT__q_s_l_s);
1635                         contract(5005, shelloffsets, PRIM_INT__q_s_m_s, PRIM_PTR_INT__q_s_m_s);
1636                         contract(6006, shelloffsets, PRIM_INT__q_s_n_s, PRIM_PTR_INT__q_s_n_s);
1637                         contract(2940, shelloffsets, PRIM_INT__r_s_i_s, PRIM_PTR_INT__r_s_i_s);
1638                         contract(3780, shelloffsets, PRIM_INT__r_s_k_s, PRIM_PTR_INT__r_s_k_s);
1639                         contract(4725, shelloffsets, PRIM_INT__r_s_l_s, PRIM_PTR_INT__r_s_l_s);
1640                         contract(5775, shelloffsets, PRIM_INT__r_s_m_s, PRIM_PTR_INT__r_s_m_s);
1641                         contract(6930, shelloffsets, PRIM_INT__r_s_n_s, PRIM_PTR_INT__r_s_n_s);
1642                         PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
1643                         PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
1644                         PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
1645                         PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
1646                         PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
1647                         PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
1648                         PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
1649                         PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
1650                         PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
1651                         PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
1652                         PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
1653                         PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
1654                         PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
1655                         PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
1656                         PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
1657                         PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
1658                         PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
1659                         PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
1660                         PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
1661                         PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
1662                         PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
1663                         PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
1664                         PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
1665                         PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
1666                         PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
1667                         PRIM_PTR_INT__q_s_i_s += lastoffset*2548;
1668                         PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
1669                         PRIM_PTR_INT__q_s_l_s += lastoffset*4095;
1670                         PRIM_PTR_INT__q_s_m_s += lastoffset*5005;
1671                         PRIM_PTR_INT__q_s_n_s += lastoffset*6006;
1672                         PRIM_PTR_INT__r_s_i_s += lastoffset*2940;
1673                         PRIM_PTR_INT__r_s_k_s += lastoffset*3780;
1674                         PRIM_PTR_INT__r_s_l_s += lastoffset*4725;
1675                         PRIM_PTR_INT__r_s_m_s += lastoffset*5775;
1676                         PRIM_PTR_INT__r_s_n_s += lastoffset*6930;
1677                     }
1678 
1679                 }  // close loop over j
1680             }  // close loop over i
1681 
1682             //Advance to the next batch
1683             jstart = SIMINT_SIMD_ROUND(jend);
1684 
1685             //////////////////////////////////////////////
1686             // Contracted integrals: Horizontal recurrance
1687             //////////////////////////////////////////////
1688 
1689 
1690             const double hAB[3] = { P.AB_x[ab], P.AB_y[ab], P.AB_z[ab] };
1691 
1692 
1693             for(abcd = 0; abcd < nshellbatch; ++abcd, ++real_abcd)
1694             {
1695                 const double hCD[3] = { Q.AB_x[cd+abcd], Q.AB_y[cd+abcd], Q.AB_z[cd+abcd] };
1696 
1697                 // set up HRR pointers
1698                 double const * restrict HRR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
1699                 double const * restrict HRR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
1700                 double const * restrict HRR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
1701                 double const * restrict HRR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
1702                 double const * restrict HRR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
1703                 double const * restrict HRR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
1704                 double const * restrict HRR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
1705                 double const * restrict HRR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
1706                 double const * restrict HRR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
1707                 double const * restrict HRR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
1708                 double const * restrict HRR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
1709                 double const * restrict HRR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
1710                 double const * restrict HRR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
1711                 double const * restrict HRR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
1712                 double const * restrict HRR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
1713                 double const * restrict HRR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
1714                 double const * restrict HRR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
1715                 double const * restrict HRR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
1716                 double const * restrict HRR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
1717                 double const * restrict HRR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
1718                 double const * restrict HRR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
1719                 double const * restrict HRR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
1720                 double const * restrict HRR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
1721                 double const * restrict HRR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
1722                 double const * restrict HRR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
1723                 double const * restrict HRR_INT__q_s_i_s = INT__q_s_i_s + abcd * 2548;
1724                 double const * restrict HRR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
1725                 double const * restrict HRR_INT__q_s_l_s = INT__q_s_l_s + abcd * 4095;
1726                 double const * restrict HRR_INT__q_s_m_s = INT__q_s_m_s + abcd * 5005;
1727                 double const * restrict HRR_INT__q_s_n_s = INT__q_s_n_s + abcd * 6006;
1728                 double const * restrict HRR_INT__r_s_i_s = INT__r_s_i_s + abcd * 2940;
1729                 double const * restrict HRR_INT__r_s_k_s = INT__r_s_k_s + abcd * 3780;
1730                 double const * restrict HRR_INT__r_s_l_s = INT__r_s_l_s + abcd * 4725;
1731                 double const * restrict HRR_INT__r_s_m_s = INT__r_s_m_s + abcd * 5775;
1732                 double const * restrict HRR_INT__r_s_n_s = INT__r_s_n_s + abcd * 6930;
1733                 double * restrict HRR_INT__k_i_i_g = INT__k_i_i_g + real_abcd * 423360;
1734 
1735                 // form INT__k_p_i_s
1736                 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);
1737 
1738                 // form INT__k_p_k_s
1739                 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);
1740 
1741                 // form INT__k_p_l_s
1742                 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);
1743 
1744                 // form INT__k_p_m_s
1745                 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);
1746 
1747                 // form INT__k_p_n_s
1748                 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);
1749 
1750                 // form INT__l_p_i_s
1751                 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);
1752 
1753                 // form INT__l_p_k_s
1754                 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);
1755 
1756                 // form INT__l_p_l_s
1757                 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);
1758 
1759                 // form INT__l_p_m_s
1760                 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);
1761 
1762                 // form INT__l_p_n_s
1763                 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);
1764 
1765                 // form INT__m_p_i_s
1766                 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);
1767 
1768                 // form INT__m_p_k_s
1769                 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);
1770 
1771                 // form INT__m_p_l_s
1772                 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);
1773 
1774                 // form INT__m_p_m_s
1775                 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);
1776 
1777                 // form INT__m_p_n_s
1778                 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);
1779 
1780                 // form INT__n_p_i_s
1781                 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);
1782 
1783                 // form INT__n_p_k_s
1784                 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);
1785 
1786                 // form INT__n_p_l_s
1787                 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);
1788 
1789                 // form INT__n_p_m_s
1790                 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);
1791 
1792                 // form INT__n_p_n_s
1793                 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);
1794 
1795                 // form INT__o_p_i_s
1796                 ostei_general_hrr_J(11, 1, 6, 0, hAB, HRR_INT__q_s_i_s, HRR_INT__o_s_i_s, HRR_INT__o_p_i_s);
1797 
1798                 // form INT__o_p_k_s
1799                 ostei_general_hrr_J(11, 1, 7, 0, hAB, HRR_INT__q_s_k_s, HRR_INT__o_s_k_s, HRR_INT__o_p_k_s);
1800 
1801                 // form INT__o_p_l_s
1802                 ostei_general_hrr_J(11, 1, 8, 0, hAB, HRR_INT__q_s_l_s, HRR_INT__o_s_l_s, HRR_INT__o_p_l_s);
1803 
1804                 // form INT__o_p_m_s
1805                 ostei_general_hrr_J(11, 1, 9, 0, hAB, HRR_INT__q_s_m_s, HRR_INT__o_s_m_s, HRR_INT__o_p_m_s);
1806 
1807                 // form INT__o_p_n_s
1808                 ostei_general_hrr_J(11, 1, 10, 0, hAB, HRR_INT__q_s_n_s, HRR_INT__o_s_n_s, HRR_INT__o_p_n_s);
1809 
1810                 // form INT__q_p_i_s
1811                 ostei_general_hrr_J(12, 1, 6, 0, hAB, HRR_INT__r_s_i_s, HRR_INT__q_s_i_s, HRR_INT__q_p_i_s);
1812 
1813                 // form INT__q_p_k_s
1814                 ostei_general_hrr_J(12, 1, 7, 0, hAB, HRR_INT__r_s_k_s, HRR_INT__q_s_k_s, HRR_INT__q_p_k_s);
1815 
1816                 // form INT__q_p_l_s
1817                 ostei_general_hrr_J(12, 1, 8, 0, hAB, HRR_INT__r_s_l_s, HRR_INT__q_s_l_s, HRR_INT__q_p_l_s);
1818 
1819                 // form INT__q_p_m_s
1820                 ostei_general_hrr_J(12, 1, 9, 0, hAB, HRR_INT__r_s_m_s, HRR_INT__q_s_m_s, HRR_INT__q_p_m_s);
1821 
1822                 // form INT__q_p_n_s
1823                 ostei_general_hrr_J(12, 1, 10, 0, hAB, HRR_INT__r_s_n_s, HRR_INT__q_s_n_s, HRR_INT__q_p_n_s);
1824 
1825                 // form INT__k_d_i_s
1826                 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);
1827 
1828                 // form INT__k_d_k_s
1829                 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);
1830 
1831                 // form INT__k_d_l_s
1832                 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);
1833 
1834                 // form INT__k_d_m_s
1835                 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);
1836 
1837                 // form INT__k_d_n_s
1838                 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);
1839 
1840                 // form INT__l_d_i_s
1841                 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);
1842 
1843                 // form INT__l_d_k_s
1844                 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);
1845 
1846                 // form INT__l_d_l_s
1847                 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);
1848 
1849                 // form INT__l_d_m_s
1850                 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);
1851 
1852                 // form INT__l_d_n_s
1853                 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);
1854 
1855                 // form INT__m_d_i_s
1856                 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);
1857 
1858                 // form INT__m_d_k_s
1859                 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);
1860 
1861                 // form INT__m_d_l_s
1862                 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);
1863 
1864                 // form INT__m_d_m_s
1865                 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);
1866 
1867                 // form INT__m_d_n_s
1868                 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);
1869 
1870                 // form INT__n_d_i_s
1871                 ostei_general_hrr_J(10, 2, 6, 0, hAB, HRR_INT__o_p_i_s, HRR_INT__n_p_i_s, HRR_INT__n_d_i_s);
1872 
1873                 // form INT__n_d_k_s
1874                 ostei_general_hrr_J(10, 2, 7, 0, hAB, HRR_INT__o_p_k_s, HRR_INT__n_p_k_s, HRR_INT__n_d_k_s);
1875 
1876                 // form INT__n_d_l_s
1877                 ostei_general_hrr_J(10, 2, 8, 0, hAB, HRR_INT__o_p_l_s, HRR_INT__n_p_l_s, HRR_INT__n_d_l_s);
1878 
1879                 // form INT__n_d_m_s
1880                 ostei_general_hrr_J(10, 2, 9, 0, hAB, HRR_INT__o_p_m_s, HRR_INT__n_p_m_s, HRR_INT__n_d_m_s);
1881 
1882                 // form INT__n_d_n_s
1883                 ostei_general_hrr_J(10, 2, 10, 0, hAB, HRR_INT__o_p_n_s, HRR_INT__n_p_n_s, HRR_INT__n_d_n_s);
1884 
1885                 // form INT__o_d_i_s
1886                 ostei_general_hrr_J(11, 2, 6, 0, hAB, HRR_INT__q_p_i_s, HRR_INT__o_p_i_s, HRR_INT__o_d_i_s);
1887 
1888                 // form INT__o_d_k_s
1889                 ostei_general_hrr_J(11, 2, 7, 0, hAB, HRR_INT__q_p_k_s, HRR_INT__o_p_k_s, HRR_INT__o_d_k_s);
1890 
1891                 // form INT__o_d_l_s
1892                 ostei_general_hrr_J(11, 2, 8, 0, hAB, HRR_INT__q_p_l_s, HRR_INT__o_p_l_s, HRR_INT__o_d_l_s);
1893 
1894                 // form INT__o_d_m_s
1895                 ostei_general_hrr_J(11, 2, 9, 0, hAB, HRR_INT__q_p_m_s, HRR_INT__o_p_m_s, HRR_INT__o_d_m_s);
1896 
1897                 // form INT__o_d_n_s
1898                 ostei_general_hrr_J(11, 2, 10, 0, hAB, HRR_INT__q_p_n_s, HRR_INT__o_p_n_s, HRR_INT__o_d_n_s);
1899 
1900                 // form INT__k_f_i_s
1901                 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);
1902 
1903                 // form INT__k_f_k_s
1904                 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);
1905 
1906                 // form INT__k_f_l_s
1907                 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);
1908 
1909                 // form INT__k_f_m_s
1910                 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);
1911 
1912                 // form INT__k_f_n_s
1913                 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);
1914 
1915                 // form INT__l_f_i_s
1916                 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);
1917 
1918                 // form INT__l_f_k_s
1919                 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);
1920 
1921                 // form INT__l_f_l_s
1922                 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);
1923 
1924                 // form INT__l_f_m_s
1925                 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);
1926 
1927                 // form INT__l_f_n_s
1928                 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);
1929 
1930                 // form INT__m_f_i_s
1931                 ostei_general_hrr_J(9, 3, 6, 0, hAB, HRR_INT__n_d_i_s, HRR_INT__m_d_i_s, HRR_INT__m_f_i_s);
1932 
1933                 // form INT__m_f_k_s
1934                 ostei_general_hrr_J(9, 3, 7, 0, hAB, HRR_INT__n_d_k_s, HRR_INT__m_d_k_s, HRR_INT__m_f_k_s);
1935 
1936                 // form INT__m_f_l_s
1937                 ostei_general_hrr_J(9, 3, 8, 0, hAB, HRR_INT__n_d_l_s, HRR_INT__m_d_l_s, HRR_INT__m_f_l_s);
1938 
1939                 // form INT__m_f_m_s
1940                 ostei_general_hrr_J(9, 3, 9, 0, hAB, HRR_INT__n_d_m_s, HRR_INT__m_d_m_s, HRR_INT__m_f_m_s);
1941 
1942                 // form INT__m_f_n_s
1943                 ostei_general_hrr_J(9, 3, 10, 0, hAB, HRR_INT__n_d_n_s, HRR_INT__m_d_n_s, HRR_INT__m_f_n_s);
1944 
1945                 // form INT__n_f_i_s
1946                 ostei_general_hrr_J(10, 3, 6, 0, hAB, HRR_INT__o_d_i_s, HRR_INT__n_d_i_s, HRR_INT__n_f_i_s);
1947 
1948                 // form INT__n_f_k_s
1949                 ostei_general_hrr_J(10, 3, 7, 0, hAB, HRR_INT__o_d_k_s, HRR_INT__n_d_k_s, HRR_INT__n_f_k_s);
1950 
1951                 // form INT__n_f_l_s
1952                 ostei_general_hrr_J(10, 3, 8, 0, hAB, HRR_INT__o_d_l_s, HRR_INT__n_d_l_s, HRR_INT__n_f_l_s);
1953 
1954                 // form INT__n_f_m_s
1955                 ostei_general_hrr_J(10, 3, 9, 0, hAB, HRR_INT__o_d_m_s, HRR_INT__n_d_m_s, HRR_INT__n_f_m_s);
1956 
1957                 // form INT__n_f_n_s
1958                 ostei_general_hrr_J(10, 3, 10, 0, hAB, HRR_INT__o_d_n_s, HRR_INT__n_d_n_s, HRR_INT__n_f_n_s);
1959 
1960                 // form INT__k_g_i_s
1961                 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);
1962 
1963                 // form INT__k_g_k_s
1964                 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);
1965 
1966                 // form INT__k_g_l_s
1967                 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);
1968 
1969                 // form INT__k_g_m_s
1970                 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);
1971 
1972                 // form INT__k_g_n_s
1973                 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);
1974 
1975                 // form INT__l_g_i_s
1976                 ostei_general_hrr_J(8, 4, 6, 0, hAB, HRR_INT__m_f_i_s, HRR_INT__l_f_i_s, HRR_INT__l_g_i_s);
1977 
1978                 // form INT__l_g_k_s
1979                 ostei_general_hrr_J(8, 4, 7, 0, hAB, HRR_INT__m_f_k_s, HRR_INT__l_f_k_s, HRR_INT__l_g_k_s);
1980 
1981                 // form INT__l_g_l_s
1982                 ostei_general_hrr_J(8, 4, 8, 0, hAB, HRR_INT__m_f_l_s, HRR_INT__l_f_l_s, HRR_INT__l_g_l_s);
1983 
1984                 // form INT__l_g_m_s
1985                 ostei_general_hrr_J(8, 4, 9, 0, hAB, HRR_INT__m_f_m_s, HRR_INT__l_f_m_s, HRR_INT__l_g_m_s);
1986 
1987                 // form INT__l_g_n_s
1988                 ostei_general_hrr_J(8, 4, 10, 0, hAB, HRR_INT__m_f_n_s, HRR_INT__l_f_n_s, HRR_INT__l_g_n_s);
1989 
1990                 // form INT__m_g_i_s
1991                 ostei_general_hrr_J(9, 4, 6, 0, hAB, HRR_INT__n_f_i_s, HRR_INT__m_f_i_s, HRR_INT__m_g_i_s);
1992 
1993                 // form INT__m_g_k_s
1994                 ostei_general_hrr_J(9, 4, 7, 0, hAB, HRR_INT__n_f_k_s, HRR_INT__m_f_k_s, HRR_INT__m_g_k_s);
1995 
1996                 // form INT__m_g_l_s
1997                 ostei_general_hrr_J(9, 4, 8, 0, hAB, HRR_INT__n_f_l_s, HRR_INT__m_f_l_s, HRR_INT__m_g_l_s);
1998 
1999                 // form INT__m_g_m_s
2000                 ostei_general_hrr_J(9, 4, 9, 0, hAB, HRR_INT__n_f_m_s, HRR_INT__m_f_m_s, HRR_INT__m_g_m_s);
2001 
2002                 // form INT__m_g_n_s
2003                 ostei_general_hrr_J(9, 4, 10, 0, hAB, HRR_INT__n_f_n_s, HRR_INT__m_f_n_s, HRR_INT__m_g_n_s);
2004 
2005                 // form INT__k_h_i_s
2006                 ostei_general_hrr_J(7, 5, 6, 0, hAB, HRR_INT__l_g_i_s, HRR_INT__k_g_i_s, HRR_INT__k_h_i_s);
2007 
2008                 // form INT__k_h_k_s
2009                 ostei_general_hrr_J(7, 5, 7, 0, hAB, HRR_INT__l_g_k_s, HRR_INT__k_g_k_s, HRR_INT__k_h_k_s);
2010 
2011                 // form INT__k_h_l_s
2012                 ostei_general_hrr_J(7, 5, 8, 0, hAB, HRR_INT__l_g_l_s, HRR_INT__k_g_l_s, HRR_INT__k_h_l_s);
2013 
2014                 // form INT__k_h_m_s
2015                 ostei_general_hrr_J(7, 5, 9, 0, hAB, HRR_INT__l_g_m_s, HRR_INT__k_g_m_s, HRR_INT__k_h_m_s);
2016 
2017                 // form INT__k_h_n_s
2018                 ostei_general_hrr_J(7, 5, 10, 0, hAB, HRR_INT__l_g_n_s, HRR_INT__k_g_n_s, HRR_INT__k_h_n_s);
2019 
2020                 // form INT__l_h_i_s
2021                 ostei_general_hrr_J(8, 5, 6, 0, hAB, HRR_INT__m_g_i_s, HRR_INT__l_g_i_s, HRR_INT__l_h_i_s);
2022 
2023                 // form INT__l_h_k_s
2024                 ostei_general_hrr_J(8, 5, 7, 0, hAB, HRR_INT__m_g_k_s, HRR_INT__l_g_k_s, HRR_INT__l_h_k_s);
2025 
2026                 // form INT__l_h_l_s
2027                 ostei_general_hrr_J(8, 5, 8, 0, hAB, HRR_INT__m_g_l_s, HRR_INT__l_g_l_s, HRR_INT__l_h_l_s);
2028 
2029                 // form INT__l_h_m_s
2030                 ostei_general_hrr_J(8, 5, 9, 0, hAB, HRR_INT__m_g_m_s, HRR_INT__l_g_m_s, HRR_INT__l_h_m_s);
2031 
2032                 // form INT__l_h_n_s
2033                 ostei_general_hrr_J(8, 5, 10, 0, hAB, HRR_INT__m_g_n_s, HRR_INT__l_g_n_s, HRR_INT__l_h_n_s);
2034 
2035                 // form INT__k_i_i_s
2036                 ostei_general_hrr_J(7, 6, 6, 0, hAB, HRR_INT__l_h_i_s, HRR_INT__k_h_i_s, HRR_INT__k_i_i_s);
2037 
2038                 // form INT__k_i_k_s
2039                 ostei_general_hrr_J(7, 6, 7, 0, hAB, HRR_INT__l_h_k_s, HRR_INT__k_h_k_s, HRR_INT__k_i_k_s);
2040 
2041                 // form INT__k_i_l_s
2042                 ostei_general_hrr_J(7, 6, 8, 0, hAB, HRR_INT__l_h_l_s, HRR_INT__k_h_l_s, HRR_INT__k_i_l_s);
2043 
2044                 // form INT__k_i_m_s
2045                 ostei_general_hrr_J(7, 6, 9, 0, hAB, HRR_INT__l_h_m_s, HRR_INT__k_h_m_s, HRR_INT__k_i_m_s);
2046 
2047                 // form INT__k_i_n_s
2048                 ostei_general_hrr_J(7, 6, 10, 0, hAB, HRR_INT__l_h_n_s, HRR_INT__k_h_n_s, HRR_INT__k_i_n_s);
2049 
2050                 // form INT__k_i_i_p
2051                 ostei_general_hrr_L(7, 6, 6, 1, hCD, HRR_INT__k_i_k_s, HRR_INT__k_i_i_s, HRR_INT__k_i_i_p);
2052 
2053                 // form INT__k_i_k_p
2054                 ostei_general_hrr_L(7, 6, 7, 1, hCD, HRR_INT__k_i_l_s, HRR_INT__k_i_k_s, HRR_INT__k_i_k_p);
2055 
2056                 // form INT__k_i_l_p
2057                 ostei_general_hrr_L(7, 6, 8, 1, hCD, HRR_INT__k_i_m_s, HRR_INT__k_i_l_s, HRR_INT__k_i_l_p);
2058 
2059                 // form INT__k_i_m_p
2060                 ostei_general_hrr_L(7, 6, 9, 1, hCD, HRR_INT__k_i_n_s, HRR_INT__k_i_m_s, HRR_INT__k_i_m_p);
2061 
2062                 // form INT__k_i_i_d
2063                 ostei_general_hrr_L(7, 6, 6, 2, hCD, HRR_INT__k_i_k_p, HRR_INT__k_i_i_p, HRR_INT__k_i_i_d);
2064 
2065                 // form INT__k_i_k_d
2066                 ostei_general_hrr_L(7, 6, 7, 2, hCD, HRR_INT__k_i_l_p, HRR_INT__k_i_k_p, HRR_INT__k_i_k_d);
2067 
2068                 // form INT__k_i_l_d
2069                 ostei_general_hrr_L(7, 6, 8, 2, hCD, HRR_INT__k_i_m_p, HRR_INT__k_i_l_p, HRR_INT__k_i_l_d);
2070 
2071                 // form INT__k_i_i_f
2072                 ostei_general_hrr_L(7, 6, 6, 3, hCD, HRR_INT__k_i_k_d, HRR_INT__k_i_i_d, HRR_INT__k_i_i_f);
2073 
2074                 // form INT__k_i_k_f
2075                 ostei_general_hrr_L(7, 6, 7, 3, hCD, HRR_INT__k_i_l_d, HRR_INT__k_i_k_d, HRR_INT__k_i_k_f);
2076 
2077                 // form INT__k_i_i_g
2078                 ostei_general_hrr_L(7, 6, 6, 4, hCD, HRR_INT__k_i_k_f, HRR_INT__k_i_i_f, HRR_INT__k_i_i_g);
2079 
2080 
2081             }  // close HRR loop
2082 
2083 
2084         }   // close loop cdbatch
2085 
2086         istart = iend;
2087     }  // close loop over ab
2088 
2089     return P.nshell12_clip * Q.nshell12_clip;
2090 }
2091 
ostei_i_k_i_g(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__i_k_i_g)2092 int ostei_i_k_i_g(struct simint_multi_shellpair const P,
2093                   struct simint_multi_shellpair const Q,
2094                   double screen_tol,
2095                   double * const restrict work,
2096                   double * const restrict INT__i_k_i_g)
2097 {
2098     double P_AB[3*P.nshell12];
2099     struct simint_multi_shellpair P_tmp = P;
2100     P_tmp.PA_x = P.PB_x;  P_tmp.PA_y = P.PB_y;  P_tmp.PA_z = P.PB_z;
2101     P_tmp.PB_x = P.PA_x;  P_tmp.PB_y = P.PA_y;  P_tmp.PB_z = P.PA_z;
2102     P_tmp.AB_x = P_AB;
2103     P_tmp.AB_y = P_AB + P.nshell12;
2104     P_tmp.AB_z = P_AB + 2*P.nshell12;
2105 
2106     for(int i = 0; i < P.nshell12; i++)
2107     {
2108         P_tmp.AB_x[i] = -P.AB_x[i];
2109         P_tmp.AB_y[i] = -P.AB_y[i];
2110         P_tmp.AB_z[i] = -P.AB_z[i];
2111     }
2112 
2113     int ret = ostei_k_i_i_g(P_tmp, Q, screen_tol, work, INT__i_k_i_g);
2114     double buffer[423360] SIMINT_ALIGN_ARRAY_DBL;
2115 
2116     for(int q = 0; q < ret; q++)
2117     {
2118         int idx = 0;
2119         for(int a = 0; a < 28; ++a)
2120         for(int b = 0; b < 36; ++b)
2121         for(int c = 0; c < 28; ++c)
2122         for(int d = 0; d < 15; ++d)
2123             buffer[idx++] = INT__i_k_i_g[q*423360+b*11760+a*420+c*15+d];
2124 
2125         memcpy(INT__i_k_i_g+q*423360, buffer, 423360*sizeof(double));
2126     }
2127 
2128     return ret;
2129 }
2130 
ostei_k_i_g_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_i_g_i)2131 int ostei_k_i_g_i(struct simint_multi_shellpair const P,
2132                   struct simint_multi_shellpair const Q,
2133                   double screen_tol,
2134                   double * const restrict work,
2135                   double * const restrict INT__k_i_g_i)
2136 {
2137     double Q_AB[3*Q.nshell12];
2138     struct simint_multi_shellpair Q_tmp = Q;
2139     Q_tmp.PA_x = Q.PB_x;  Q_tmp.PA_y = Q.PB_y;  Q_tmp.PA_z = Q.PB_z;
2140     Q_tmp.PB_x = Q.PA_x;  Q_tmp.PB_y = Q.PA_y;  Q_tmp.PB_z = Q.PA_z;
2141     Q_tmp.AB_x = Q_AB;
2142     Q_tmp.AB_y = Q_AB + Q.nshell12;
2143     Q_tmp.AB_z = Q_AB + 2*Q.nshell12;
2144 
2145     for(int i = 0; i < Q.nshell12; i++)
2146     {
2147         Q_tmp.AB_x[i] = -Q.AB_x[i];
2148         Q_tmp.AB_y[i] = -Q.AB_y[i];
2149         Q_tmp.AB_z[i] = -Q.AB_z[i];
2150     }
2151 
2152     int ret = ostei_k_i_i_g(P, Q_tmp, screen_tol, work, INT__k_i_g_i);
2153     double buffer[423360] SIMINT_ALIGN_ARRAY_DBL;
2154 
2155     for(int q = 0; q < ret; q++)
2156     {
2157         int idx = 0;
2158         for(int a = 0; a < 36; ++a)
2159         for(int b = 0; b < 28; ++b)
2160         for(int c = 0; c < 15; ++c)
2161         for(int d = 0; d < 28; ++d)
2162             buffer[idx++] = INT__k_i_g_i[q*423360+a*11760+b*420+d*15+c];
2163 
2164         memcpy(INT__k_i_g_i+q*423360, buffer, 423360*sizeof(double));
2165     }
2166 
2167     return ret;
2168 }
2169 
ostei_i_k_g_i(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__i_k_g_i)2170 int ostei_i_k_g_i(struct simint_multi_shellpair const P,
2171                   struct simint_multi_shellpair const Q,
2172                   double screen_tol,
2173                   double * const restrict work,
2174                   double * const restrict INT__i_k_g_i)
2175 {
2176     double P_AB[3*P.nshell12];
2177     struct simint_multi_shellpair P_tmp = P;
2178     P_tmp.PA_x = P.PB_x;  P_tmp.PA_y = P.PB_y;  P_tmp.PA_z = P.PB_z;
2179     P_tmp.PB_x = P.PA_x;  P_tmp.PB_y = P.PA_y;  P_tmp.PB_z = P.PA_z;
2180     P_tmp.AB_x = P_AB;
2181     P_tmp.AB_y = P_AB + P.nshell12;
2182     P_tmp.AB_z = P_AB + 2*P.nshell12;
2183 
2184     for(int i = 0; i < P.nshell12; i++)
2185     {
2186         P_tmp.AB_x[i] = -P.AB_x[i];
2187         P_tmp.AB_y[i] = -P.AB_y[i];
2188         P_tmp.AB_z[i] = -P.AB_z[i];
2189     }
2190 
2191     double Q_AB[3*Q.nshell12];
2192     struct simint_multi_shellpair Q_tmp = Q;
2193     Q_tmp.PA_x = Q.PB_x;  Q_tmp.PA_y = Q.PB_y;  Q_tmp.PA_z = Q.PB_z;
2194     Q_tmp.PB_x = Q.PA_x;  Q_tmp.PB_y = Q.PA_y;  Q_tmp.PB_z = Q.PA_z;
2195     Q_tmp.AB_x = Q_AB;
2196     Q_tmp.AB_y = Q_AB + Q.nshell12;
2197     Q_tmp.AB_z = Q_AB + 2*Q.nshell12;
2198 
2199     for(int i = 0; i < Q.nshell12; i++)
2200     {
2201         Q_tmp.AB_x[i] = -Q.AB_x[i];
2202         Q_tmp.AB_y[i] = -Q.AB_y[i];
2203         Q_tmp.AB_z[i] = -Q.AB_z[i];
2204     }
2205 
2206     int ret = ostei_k_i_i_g(P_tmp, Q_tmp, screen_tol, work, INT__i_k_g_i);
2207     double buffer[423360] SIMINT_ALIGN_ARRAY_DBL;
2208 
2209     for(int q = 0; q < ret; q++)
2210     {
2211         int idx = 0;
2212         for(int a = 0; a < 28; ++a)
2213         for(int b = 0; b < 36; ++b)
2214         for(int c = 0; c < 15; ++c)
2215         for(int d = 0; d < 28; ++d)
2216             buffer[idx++] = INT__i_k_g_i[q*423360+b*11760+a*420+d*15+c];
2217 
2218         memcpy(INT__i_k_g_i+q*423360, buffer, 423360*sizeof(double));
2219     }
2220 
2221     return ret;
2222 }
2223 
2224