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_h_h_h(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_h_h_h)8 int ostei_k_h_h_h(struct simint_multi_shellpair const P,
9                   struct simint_multi_shellpair const Q,
10                   double screen_tol,
11                   double * const restrict work,
12                   double * const restrict INT__k_h_h_h)
13 {
14 
15     SIMINT_ASSUME_ALIGN_DBL(work);
16     SIMINT_ASSUME_ALIGN_DBL(INT__k_h_h_h);
17     int ab, cd, abcd;
18     int istart, jstart;
19     int iprimcd, nprim_icd, icd;
20     const int check_screen = (screen_tol > 0.0);
21     int i, j;
22     int n;
23     int not_screened;
24     int real_abcd;
25     int iket;
26     int ibra;
27 
28     // partition workspace
29     double * const INT__k_s_h_s = work + (SIMINT_NSHELL_SIMD * 0);
30     double * const INT__k_s_i_s = work + (SIMINT_NSHELL_SIMD * 756);
31     double * const INT__k_s_k_s = work + (SIMINT_NSHELL_SIMD * 1764);
32     double * const INT__k_s_l_s = work + (SIMINT_NSHELL_SIMD * 3060);
33     double * const INT__k_s_m_s = work + (SIMINT_NSHELL_SIMD * 4680);
34     double * const INT__k_s_n_s = work + (SIMINT_NSHELL_SIMD * 6660);
35     double * const INT__l_s_h_s = work + (SIMINT_NSHELL_SIMD * 9036);
36     double * const INT__l_s_i_s = work + (SIMINT_NSHELL_SIMD * 9981);
37     double * const INT__l_s_k_s = work + (SIMINT_NSHELL_SIMD * 11241);
38     double * const INT__l_s_l_s = work + (SIMINT_NSHELL_SIMD * 12861);
39     double * const INT__l_s_m_s = work + (SIMINT_NSHELL_SIMD * 14886);
40     double * const INT__l_s_n_s = work + (SIMINT_NSHELL_SIMD * 17361);
41     double * const INT__m_s_h_s = work + (SIMINT_NSHELL_SIMD * 20331);
42     double * const INT__m_s_i_s = work + (SIMINT_NSHELL_SIMD * 21486);
43     double * const INT__m_s_k_s = work + (SIMINT_NSHELL_SIMD * 23026);
44     double * const INT__m_s_l_s = work + (SIMINT_NSHELL_SIMD * 25006);
45     double * const INT__m_s_m_s = work + (SIMINT_NSHELL_SIMD * 27481);
46     double * const INT__m_s_n_s = work + (SIMINT_NSHELL_SIMD * 30506);
47     double * const INT__n_s_h_s = work + (SIMINT_NSHELL_SIMD * 34136);
48     double * const INT__n_s_i_s = work + (SIMINT_NSHELL_SIMD * 35522);
49     double * const INT__n_s_k_s = work + (SIMINT_NSHELL_SIMD * 37370);
50     double * const INT__n_s_l_s = work + (SIMINT_NSHELL_SIMD * 39746);
51     double * const INT__n_s_m_s = work + (SIMINT_NSHELL_SIMD * 42716);
52     double * const INT__n_s_n_s = work + (SIMINT_NSHELL_SIMD * 46346);
53     double * const INT__o_s_h_s = work + (SIMINT_NSHELL_SIMD * 50702);
54     double * const INT__o_s_i_s = work + (SIMINT_NSHELL_SIMD * 52340);
55     double * const INT__o_s_k_s = work + (SIMINT_NSHELL_SIMD * 54524);
56     double * const INT__o_s_l_s = work + (SIMINT_NSHELL_SIMD * 57332);
57     double * const INT__o_s_m_s = work + (SIMINT_NSHELL_SIMD * 60842);
58     double * const INT__o_s_n_s = work + (SIMINT_NSHELL_SIMD * 65132);
59     double * const INT__q_s_h_s = work + (SIMINT_NSHELL_SIMD * 70280);
60     double * const INT__q_s_i_s = work + (SIMINT_NSHELL_SIMD * 72191);
61     double * const INT__q_s_k_s = work + (SIMINT_NSHELL_SIMD * 74739);
62     double * const INT__q_s_l_s = work + (SIMINT_NSHELL_SIMD * 78015);
63     double * const INT__q_s_m_s = work + (SIMINT_NSHELL_SIMD * 82110);
64     double * const INT__q_s_n_s = work + (SIMINT_NSHELL_SIMD * 87115);
65     SIMINT_DBLTYPE * const primwork = (SIMINT_DBLTYPE *)(work + SIMINT_NSHELL_SIMD*93121);
66     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_s_s = primwork + 0;
67     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_p_s = primwork + 23;
68     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_d_s = primwork + 53;
69     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_f_s = primwork + 107;
70     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_s_s = primwork + 187;
71     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_p_s = primwork + 253;
72     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_d_s = primwork + 343;
73     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_f_s = primwork + 505;
74     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_g_s = primwork + 745;
75     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_s_s = primwork + 1060;
76     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_p_s = primwork + 1186;
77     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_d_s = primwork + 1366;
78     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_f_s = primwork + 1690;
79     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_g_s = primwork + 2170;
80     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_h_s = primwork + 2800;
81     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s = primwork + 3556;
82     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_p_s = primwork + 3756;
83     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_d_s = primwork + 4056;
84     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_f_s = primwork + 4596;
85     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_g_s = primwork + 5396;
86     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_h_s = primwork + 6446;
87     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_i_s = primwork + 7706;
88     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s = primwork + 9106;
89     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_p_s = primwork + 9391;
90     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_d_s = primwork + 9841;
91     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_f_s = primwork + 10651;
92     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_g_s = primwork + 11851;
93     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_h_s = primwork + 13426;
94     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_i_s = primwork + 15316;
95     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_k_s = primwork + 17416;
96     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_s_s = primwork + 19576;
97     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_p_s = primwork + 19954;
98     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_d_s = primwork + 20584;
99     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_f_s = primwork + 21718;
100     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_g_s = primwork + 23398;
101     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_h_s = primwork + 25603;
102     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_i_s = primwork + 28249;
103     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_k_s = primwork + 31189;
104     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_l_s = primwork + 34213;
105     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_s_s = primwork + 37048;
106     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_p_s = primwork + 37524;
107     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_d_s = primwork + 38364;
108     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_f_s = primwork + 39876;
109     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_g_s = primwork + 42116;
110     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_h_s = primwork + 45056;
111     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_i_s = primwork + 48584;
112     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_k_s = primwork + 52504;
113     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_l_s = primwork + 56536;
114     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_m_s = primwork + 60316;
115     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_s_s = primwork + 63396;
116     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_p_s = primwork + 63972;
117     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_d_s = primwork + 65052;
118     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_f_s = primwork + 66996;
119     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_g_s = primwork + 69876;
120     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_h_s = primwork + 73656;
121     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_i_s = primwork + 78192;
122     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_k_s = primwork + 83232;
123     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_l_s = primwork + 88416;
124     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_m_s = primwork + 93276;
125     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_n_s = primwork + 97236;
126     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_s_s = primwork + 99612;
127     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_p_s = primwork + 100287;
128     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_d_s = primwork + 101637;
129     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_f_s = primwork + 104067;
130     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_g_s = primwork + 107667;
131     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_h_s = primwork + 112392;
132     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_i_s = primwork + 118062;
133     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_k_s = primwork + 124362;
134     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_l_s = primwork + 130842;
135     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_m_s = primwork + 136917;
136     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_n_s = primwork + 141867;
137     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_s_s = primwork + 144837;
138     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_p_s = primwork + 145607;
139     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_d_s = primwork + 147257;
140     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_f_s = primwork + 150227;
141     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_g_s = primwork + 154627;
142     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_h_s = primwork + 160402;
143     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_i_s = primwork + 167332;
144     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_k_s = primwork + 175032;
145     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_l_s = primwork + 182952;
146     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_m_s = primwork + 190377;
147     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_n_s = primwork + 196427;
148     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_s_s = primwork + 200057;
149     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_p_s = primwork + 200915;
150     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_d_s = primwork + 202895;
151     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_f_s = primwork + 206459;
152     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_g_s = primwork + 211739;
153     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_h_s = primwork + 218669;
154     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_i_s = primwork + 226985;
155     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_k_s = primwork + 236225;
156     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_l_s = primwork + 245729;
157     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_m_s = primwork + 254639;
158     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_n_s = primwork + 261899;
159     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_s_s = primwork + 266255;
160     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_p_s = primwork + 267191;
161     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_d_s = primwork + 269531;
162     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_f_s = primwork + 273743;
163     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_g_s = primwork + 279983;
164     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_h_s = primwork + 288173;
165     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_i_s = primwork + 298001;
166     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_k_s = primwork + 308921;
167     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_l_s = primwork + 320153;
168     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_m_s = primwork + 330683;
169     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_n_s = primwork + 339263;
170     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_s_s = primwork + 344411;
171     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_p_s = primwork + 345412;
172     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_d_s = primwork + 348142;
173     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_f_s = primwork + 353056;
174     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_g_s = primwork + 360336;
175     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_h_s = primwork + 369891;
176     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_i_s = primwork + 381357;
177     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_k_s = primwork + 394097;
178     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_l_s = primwork + 407201;
179     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_m_s = primwork + 419486;
180     SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_n_s = primwork + 429496;
181     double * const hrrwork = (double *)(primwork + 435502);
182     double * const HRR_INT__k_p_h_s = hrrwork + 0;
183     double * const HRR_INT__k_p_i_s = hrrwork + 2268;
184     double * const HRR_INT__k_p_k_s = hrrwork + 5292;
185     double * const HRR_INT__k_p_l_s = hrrwork + 9180;
186     double * const HRR_INT__k_p_m_s = hrrwork + 14040;
187     double * const HRR_INT__k_p_n_s = hrrwork + 19980;
188     double * const HRR_INT__k_d_h_s = hrrwork + 27108;
189     double * const HRR_INT__k_d_i_s = hrrwork + 31644;
190     double * const HRR_INT__k_d_k_s = hrrwork + 37692;
191     double * const HRR_INT__k_d_l_s = hrrwork + 45468;
192     double * const HRR_INT__k_d_m_s = hrrwork + 55188;
193     double * const HRR_INT__k_d_n_s = hrrwork + 67068;
194     double * const HRR_INT__k_f_h_s = hrrwork + 81324;
195     double * const HRR_INT__k_f_i_s = hrrwork + 88884;
196     double * const HRR_INT__k_f_k_s = hrrwork + 98964;
197     double * const HRR_INT__k_f_l_s = hrrwork + 111924;
198     double * const HRR_INT__k_f_m_s = hrrwork + 128124;
199     double * const HRR_INT__k_f_n_s = hrrwork + 147924;
200     double * const HRR_INT__k_g_h_s = hrrwork + 171684;
201     double * const HRR_INT__k_g_i_s = hrrwork + 183024;
202     double * const HRR_INT__k_g_k_s = hrrwork + 198144;
203     double * const HRR_INT__k_g_l_s = hrrwork + 217584;
204     double * const HRR_INT__k_g_m_s = hrrwork + 241884;
205     double * const HRR_INT__k_g_n_s = hrrwork + 271584;
206     double * const HRR_INT__k_h_h_s = hrrwork + 307224;
207     double * const HRR_INT__k_h_h_p = hrrwork + 323100;
208     double * const HRR_INT__k_h_h_d = hrrwork + 370728;
209     double * const HRR_INT__k_h_h_f = hrrwork + 465984;
210     double * const HRR_INT__k_h_h_g = hrrwork + 624744;
211     double * const HRR_INT__k_h_i_s = hrrwork + 862884;
212     double * const HRR_INT__k_h_i_p = hrrwork + 884052;
213     double * const HRR_INT__k_h_i_d = hrrwork + 947556;
214     double * const HRR_INT__k_h_i_f = hrrwork + 1074564;
215     double * const HRR_INT__k_h_i_g = hrrwork + 1286244;
216     double * const HRR_INT__k_h_k_s = hrrwork + 1603764;
217     double * const HRR_INT__k_h_k_p = hrrwork + 1630980;
218     double * const HRR_INT__k_h_k_d = hrrwork + 1712628;
219     double * const HRR_INT__k_h_k_f = hrrwork + 1875924;
220     double * const HRR_INT__k_h_l_s = hrrwork + 2148084;
221     double * const HRR_INT__k_h_l_p = hrrwork + 2182104;
222     double * const HRR_INT__k_h_l_d = hrrwork + 2284164;
223     double * const HRR_INT__k_h_m_s = hrrwork + 2488284;
224     double * const HRR_INT__k_h_m_p = hrrwork + 2529864;
225     double * const HRR_INT__k_h_n_s = hrrwork + 2654604;
226     double * const HRR_INT__l_p_h_s = hrrwork + 2704500;
227     double * const HRR_INT__l_p_i_s = hrrwork + 2707335;
228     double * const HRR_INT__l_p_k_s = hrrwork + 2711115;
229     double * const HRR_INT__l_p_l_s = hrrwork + 2715975;
230     double * const HRR_INT__l_p_m_s = hrrwork + 2722050;
231     double * const HRR_INT__l_p_n_s = hrrwork + 2729475;
232     double * const HRR_INT__l_d_h_s = hrrwork + 2738385;
233     double * const HRR_INT__l_d_i_s = hrrwork + 2744055;
234     double * const HRR_INT__l_d_k_s = hrrwork + 2751615;
235     double * const HRR_INT__l_d_l_s = hrrwork + 2761335;
236     double * const HRR_INT__l_d_m_s = hrrwork + 2773485;
237     double * const HRR_INT__l_d_n_s = hrrwork + 2788335;
238     double * const HRR_INT__l_f_h_s = hrrwork + 2806155;
239     double * const HRR_INT__l_f_i_s = hrrwork + 2815605;
240     double * const HRR_INT__l_f_k_s = hrrwork + 2828205;
241     double * const HRR_INT__l_f_l_s = hrrwork + 2844405;
242     double * const HRR_INT__l_f_m_s = hrrwork + 2864655;
243     double * const HRR_INT__l_f_n_s = hrrwork + 2889405;
244     double * const HRR_INT__l_g_h_s = hrrwork + 2919105;
245     double * const HRR_INT__l_g_i_s = hrrwork + 2933280;
246     double * const HRR_INT__l_g_k_s = hrrwork + 2952180;
247     double * const HRR_INT__l_g_l_s = hrrwork + 2976480;
248     double * const HRR_INT__l_g_m_s = hrrwork + 3006855;
249     double * const HRR_INT__l_g_n_s = hrrwork + 3043980;
250     double * const HRR_INT__m_p_h_s = hrrwork + 3088530;
251     double * const HRR_INT__m_p_i_s = hrrwork + 3091995;
252     double * const HRR_INT__m_p_k_s = hrrwork + 3096615;
253     double * const HRR_INT__m_p_l_s = hrrwork + 3102555;
254     double * const HRR_INT__m_p_m_s = hrrwork + 3109980;
255     double * const HRR_INT__m_p_n_s = hrrwork + 3119055;
256     double * const HRR_INT__m_d_h_s = hrrwork + 3129945;
257     double * const HRR_INT__m_d_i_s = hrrwork + 3136875;
258     double * const HRR_INT__m_d_k_s = hrrwork + 3146115;
259     double * const HRR_INT__m_d_l_s = hrrwork + 3157995;
260     double * const HRR_INT__m_d_m_s = hrrwork + 3172845;
261     double * const HRR_INT__m_d_n_s = hrrwork + 3190995;
262     double * const HRR_INT__m_f_h_s = hrrwork + 3212775;
263     double * const HRR_INT__m_f_i_s = hrrwork + 3224325;
264     double * const HRR_INT__m_f_k_s = hrrwork + 3239725;
265     double * const HRR_INT__m_f_l_s = hrrwork + 3259525;
266     double * const HRR_INT__m_f_m_s = hrrwork + 3284275;
267     double * const HRR_INT__m_f_n_s = hrrwork + 3314525;
268     double * const HRR_INT__n_p_h_s = hrrwork + 3350825;
269     double * const HRR_INT__n_p_i_s = hrrwork + 3354983;
270     double * const HRR_INT__n_p_k_s = hrrwork + 3360527;
271     double * const HRR_INT__n_p_l_s = hrrwork + 3367655;
272     double * const HRR_INT__n_p_m_s = hrrwork + 3376565;
273     double * const HRR_INT__n_p_n_s = hrrwork + 3387455;
274     double * const HRR_INT__n_d_h_s = hrrwork + 3400523;
275     double * const HRR_INT__n_d_i_s = hrrwork + 3408839;
276     double * const HRR_INT__n_d_k_s = hrrwork + 3419927;
277     double * const HRR_INT__n_d_l_s = hrrwork + 3434183;
278     double * const HRR_INT__n_d_m_s = hrrwork + 3452003;
279     double * const HRR_INT__n_d_n_s = hrrwork + 3473783;
280     double * const HRR_INT__o_p_h_s = hrrwork + 3499919;
281     double * const HRR_INT__o_p_i_s = hrrwork + 3504833;
282     double * const HRR_INT__o_p_k_s = hrrwork + 3511385;
283     double * const HRR_INT__o_p_l_s = hrrwork + 3519809;
284     double * const HRR_INT__o_p_m_s = hrrwork + 3530339;
285     double * const HRR_INT__o_p_n_s = hrrwork + 3543209;
286 
287 
288     // Create constants
289     const SIMINT_DBLTYPE const_1 = SIMINT_DBLSET1(1);
290     const SIMINT_DBLTYPE const_10 = SIMINT_DBLSET1(10);
291     const SIMINT_DBLTYPE const_11 = SIMINT_DBLSET1(11);
292     const SIMINT_DBLTYPE const_12 = SIMINT_DBLSET1(12);
293     const SIMINT_DBLTYPE const_2 = SIMINT_DBLSET1(2);
294     const SIMINT_DBLTYPE const_3 = SIMINT_DBLSET1(3);
295     const SIMINT_DBLTYPE const_4 = SIMINT_DBLSET1(4);
296     const SIMINT_DBLTYPE const_5 = SIMINT_DBLSET1(5);
297     const SIMINT_DBLTYPE const_6 = SIMINT_DBLSET1(6);
298     const SIMINT_DBLTYPE const_7 = SIMINT_DBLSET1(7);
299     const SIMINT_DBLTYPE const_8 = SIMINT_DBLSET1(8);
300     const SIMINT_DBLTYPE const_9 = SIMINT_DBLSET1(9);
301     const SIMINT_DBLTYPE one_half = SIMINT_DBLSET1(0.5);
302 
303 
304     ////////////////////////////////////////
305     // Loop over shells and primitives
306     ////////////////////////////////////////
307 
308     real_abcd = 0;
309     istart = 0;
310     for(ab = 0; ab < P.nshell12_clip; ++ab)
311     {
312         const int iend = istart + P.nprim12[ab];
313 
314         cd = 0;
315         jstart = 0;
316 
317         for(cd = 0; cd < Q.nshell12_clip; cd += SIMINT_NSHELL_SIMD)
318         {
319             const int nshellbatch = ((cd + SIMINT_NSHELL_SIMD) > Q.nshell12_clip) ? Q.nshell12_clip - cd : SIMINT_NSHELL_SIMD;
320             int jend = jstart;
321             for(i = 0; i < nshellbatch; i++)
322                 jend += Q.nprim12[cd+i];
323 
324             // Clear the beginning of the workspace (where we are accumulating integrals)
325             memset(work, 0, SIMINT_NSHELL_SIMD * 93121 * sizeof(double));
326             abcd = 0;
327 
328 
329             for(i = istart; i < iend; ++i)
330             {
331                 SIMINT_DBLTYPE bra_screen_max;  // only used if check_screen
332 
333                 if(check_screen)
334                 {
335                     // Skip this whole thing if always insignificant
336                     if((P.screen[i] * Q.screen_max) < screen_tol)
337                         continue;
338                     bra_screen_max = SIMINT_DBLSET1(P.screen[i]);
339                 }
340 
341                 icd = 0;
342                 iprimcd = 0;
343                 nprim_icd = Q.nprim12[cd];
344                 double * restrict PRIM_PTR_INT__k_s_h_s = INT__k_s_h_s + abcd * 756;
345                 double * restrict PRIM_PTR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
346                 double * restrict PRIM_PTR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
347                 double * restrict PRIM_PTR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
348                 double * restrict PRIM_PTR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
349                 double * restrict PRIM_PTR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
350                 double * restrict PRIM_PTR_INT__l_s_h_s = INT__l_s_h_s + abcd * 945;
351                 double * restrict PRIM_PTR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
352                 double * restrict PRIM_PTR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
353                 double * restrict PRIM_PTR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
354                 double * restrict PRIM_PTR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
355                 double * restrict PRIM_PTR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
356                 double * restrict PRIM_PTR_INT__m_s_h_s = INT__m_s_h_s + abcd * 1155;
357                 double * restrict PRIM_PTR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
358                 double * restrict PRIM_PTR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
359                 double * restrict PRIM_PTR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
360                 double * restrict PRIM_PTR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
361                 double * restrict PRIM_PTR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
362                 double * restrict PRIM_PTR_INT__n_s_h_s = INT__n_s_h_s + abcd * 1386;
363                 double * restrict PRIM_PTR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
364                 double * restrict PRIM_PTR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
365                 double * restrict PRIM_PTR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
366                 double * restrict PRIM_PTR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
367                 double * restrict PRIM_PTR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
368                 double * restrict PRIM_PTR_INT__o_s_h_s = INT__o_s_h_s + abcd * 1638;
369                 double * restrict PRIM_PTR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
370                 double * restrict PRIM_PTR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
371                 double * restrict PRIM_PTR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
372                 double * restrict PRIM_PTR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
373                 double * restrict PRIM_PTR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
374                 double * restrict PRIM_PTR_INT__q_s_h_s = INT__q_s_h_s + abcd * 1911;
375                 double * restrict PRIM_PTR_INT__q_s_i_s = INT__q_s_i_s + abcd * 2548;
376                 double * restrict PRIM_PTR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
377                 double * restrict PRIM_PTR_INT__q_s_l_s = INT__q_s_l_s + abcd * 4095;
378                 double * restrict PRIM_PTR_INT__q_s_m_s = INT__q_s_m_s + abcd * 5005;
379                 double * restrict PRIM_PTR_INT__q_s_n_s = INT__q_s_n_s + abcd * 6006;
380 
381 
382 
383                 // Load these one per loop over i
384                 const SIMINT_DBLTYPE P_alpha = SIMINT_DBLSET1(P.alpha[i]);
385                 const SIMINT_DBLTYPE P_prefac = SIMINT_DBLSET1(P.prefac[i]);
386                 const SIMINT_DBLTYPE Pxyz[3] = { SIMINT_DBLSET1(P.x[i]), SIMINT_DBLSET1(P.y[i]), SIMINT_DBLSET1(P.z[i]) };
387 
388                 const SIMINT_DBLTYPE P_PA[3] = { SIMINT_DBLSET1(P.PA_x[i]), SIMINT_DBLSET1(P.PA_y[i]), SIMINT_DBLSET1(P.PA_z[i]) };
389 
390                 for(j = jstart; j < jend; j += SIMINT_SIMD_LEN)
391                 {
392                     // calculate the shell offsets
393                     // these are the offset from the shell pointed to by cd
394                     // for each element
395                     int shelloffsets[SIMINT_SIMD_LEN] = {0};
396                     int lastoffset = 0;
397                     const int nlane = ( ((j + SIMINT_SIMD_LEN) < jend) ? SIMINT_SIMD_LEN : (jend - j));
398 
399                     if((iprimcd + SIMINT_SIMD_LEN) >= nprim_icd)
400                     {
401                         // Handle if the first element of the vector is a new shell
402                         if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
403                         {
404                             nprim_icd += Q.nprim12[cd + (++icd)];
405                             PRIM_PTR_INT__k_s_h_s += 756;
406                             PRIM_PTR_INT__k_s_i_s += 1008;
407                             PRIM_PTR_INT__k_s_k_s += 1296;
408                             PRIM_PTR_INT__k_s_l_s += 1620;
409                             PRIM_PTR_INT__k_s_m_s += 1980;
410                             PRIM_PTR_INT__k_s_n_s += 2376;
411                             PRIM_PTR_INT__l_s_h_s += 945;
412                             PRIM_PTR_INT__l_s_i_s += 1260;
413                             PRIM_PTR_INT__l_s_k_s += 1620;
414                             PRIM_PTR_INT__l_s_l_s += 2025;
415                             PRIM_PTR_INT__l_s_m_s += 2475;
416                             PRIM_PTR_INT__l_s_n_s += 2970;
417                             PRIM_PTR_INT__m_s_h_s += 1155;
418                             PRIM_PTR_INT__m_s_i_s += 1540;
419                             PRIM_PTR_INT__m_s_k_s += 1980;
420                             PRIM_PTR_INT__m_s_l_s += 2475;
421                             PRIM_PTR_INT__m_s_m_s += 3025;
422                             PRIM_PTR_INT__m_s_n_s += 3630;
423                             PRIM_PTR_INT__n_s_h_s += 1386;
424                             PRIM_PTR_INT__n_s_i_s += 1848;
425                             PRIM_PTR_INT__n_s_k_s += 2376;
426                             PRIM_PTR_INT__n_s_l_s += 2970;
427                             PRIM_PTR_INT__n_s_m_s += 3630;
428                             PRIM_PTR_INT__n_s_n_s += 4356;
429                             PRIM_PTR_INT__o_s_h_s += 1638;
430                             PRIM_PTR_INT__o_s_i_s += 2184;
431                             PRIM_PTR_INT__o_s_k_s += 2808;
432                             PRIM_PTR_INT__o_s_l_s += 3510;
433                             PRIM_PTR_INT__o_s_m_s += 4290;
434                             PRIM_PTR_INT__o_s_n_s += 5148;
435                             PRIM_PTR_INT__q_s_h_s += 1911;
436                             PRIM_PTR_INT__q_s_i_s += 2548;
437                             PRIM_PTR_INT__q_s_k_s += 3276;
438                             PRIM_PTR_INT__q_s_l_s += 4095;
439                             PRIM_PTR_INT__q_s_m_s += 5005;
440                             PRIM_PTR_INT__q_s_n_s += 6006;
441                         }
442                         iprimcd++;
443                         for(n = 1; n < SIMINT_SIMD_LEN; ++n)
444                         {
445                             if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
446                             {
447                                 shelloffsets[n] = shelloffsets[n-1] + 1;
448                                 lastoffset++;
449                                 nprim_icd += Q.nprim12[cd + (++icd)];
450                             }
451                             else
452                                 shelloffsets[n] = shelloffsets[n-1];
453                             iprimcd++;
454                         }
455                     }
456                     else
457                         iprimcd += SIMINT_SIMD_LEN;
458 
459                     // Do we have to compute this vector (or has it been screened out)?
460                     // (not_screened != 0 means we have to do this vector)
461                     if(check_screen)
462                     {
463                         const double vmax = vector_max(SIMINT_MUL(bra_screen_max, SIMINT_DBLLOAD(Q.screen, j)));
464                         if(vmax < screen_tol)
465                         {
466                             PRIM_PTR_INT__k_s_h_s += lastoffset*756;
467                             PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
468                             PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
469                             PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
470                             PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
471                             PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
472                             PRIM_PTR_INT__l_s_h_s += lastoffset*945;
473                             PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
474                             PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
475                             PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
476                             PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
477                             PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
478                             PRIM_PTR_INT__m_s_h_s += lastoffset*1155;
479                             PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
480                             PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
481                             PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
482                             PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
483                             PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
484                             PRIM_PTR_INT__n_s_h_s += lastoffset*1386;
485                             PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
486                             PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
487                             PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
488                             PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
489                             PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
490                             PRIM_PTR_INT__o_s_h_s += lastoffset*1638;
491                             PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
492                             PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
493                             PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
494                             PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
495                             PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
496                             PRIM_PTR_INT__q_s_h_s += lastoffset*1911;
497                             PRIM_PTR_INT__q_s_i_s += lastoffset*2548;
498                             PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
499                             PRIM_PTR_INT__q_s_l_s += lastoffset*4095;
500                             PRIM_PTR_INT__q_s_m_s += lastoffset*5005;
501                             PRIM_PTR_INT__q_s_n_s += lastoffset*6006;
502                             continue;
503                         }
504                     }
505 
506                     const SIMINT_DBLTYPE Q_alpha = SIMINT_DBLLOAD(Q.alpha, j);
507                     const SIMINT_DBLTYPE PQalpha_mul = SIMINT_MUL(P_alpha, Q_alpha);
508                     const SIMINT_DBLTYPE PQalpha_sum = SIMINT_ADD(P_alpha, Q_alpha);
509                     const SIMINT_DBLTYPE one_over_PQalpha_sum = SIMINT_DIV(const_1, PQalpha_sum);
510 
511 
512                     /* construct R2 = (Px - Qx)**2 + (Py - Qy)**2 + (Pz -Qz)**2 */
513                     SIMINT_DBLTYPE PQ[3];
514                     PQ[0] = SIMINT_SUB(Pxyz[0], SIMINT_DBLLOAD(Q.x, j));
515                     PQ[1] = SIMINT_SUB(Pxyz[1], SIMINT_DBLLOAD(Q.y, j));
516                     PQ[2] = SIMINT_SUB(Pxyz[2], SIMINT_DBLLOAD(Q.z, j));
517                     SIMINT_DBLTYPE R2 = SIMINT_MUL(PQ[0], PQ[0]);
518                     R2 = SIMINT_FMADD(PQ[1], PQ[1], R2);
519                     R2 = SIMINT_FMADD(PQ[2], PQ[2], R2);
520 
521                     const SIMINT_DBLTYPE alpha = SIMINT_MUL(PQalpha_mul, one_over_PQalpha_sum); // alpha from MEST
522                     const SIMINT_DBLTYPE one_over_p = SIMINT_DIV(const_1, P_alpha);
523                     const SIMINT_DBLTYPE one_over_q = SIMINT_DIV(const_1, Q_alpha);
524                     const SIMINT_DBLTYPE one_over_2p = SIMINT_MUL(one_half, one_over_p);
525                     const SIMINT_DBLTYPE one_over_2q = SIMINT_MUL(one_half, one_over_q);
526                     const SIMINT_DBLTYPE one_over_2pq = SIMINT_MUL(one_half, one_over_PQalpha_sum);
527                     const SIMINT_DBLTYPE Q_PA[3] = { SIMINT_DBLLOAD(Q.PA_x, j), SIMINT_DBLLOAD(Q.PA_y, j), SIMINT_DBLLOAD(Q.PA_z, j) };
528 
529                     // NOTE: Minus sign!
530                     const SIMINT_DBLTYPE a_over_p = SIMINT_MUL(SIMINT_NEG(alpha), one_over_p);
531                     SIMINT_DBLTYPE aop_PQ[3];
532                     aop_PQ[0] = SIMINT_MUL(a_over_p, PQ[0]);
533                     aop_PQ[1] = SIMINT_MUL(a_over_p, PQ[1]);
534                     aop_PQ[2] = SIMINT_MUL(a_over_p, PQ[2]);
535 
536                     SIMINT_DBLTYPE a_over_q = SIMINT_MUL(alpha, one_over_q);
537                     SIMINT_DBLTYPE aoq_PQ[3];
538                     aoq_PQ[0] = SIMINT_MUL(a_over_q, PQ[0]);
539                     aoq_PQ[1] = SIMINT_MUL(a_over_q, PQ[1]);
540                     aoq_PQ[2] = SIMINT_MUL(a_over_q, PQ[2]);
541                     // Put a minus sign here so we don't have to in RR routines
542                     a_over_q = SIMINT_NEG(a_over_q);
543 
544 
545                     //////////////////////////////////////////////
546                     // Fjt function section
547                     // Maximum v value: 22
548                     //////////////////////////////////////////////
549                     // The parameter to the Fjt function
550                     const SIMINT_DBLTYPE F_x = SIMINT_MUL(R2, alpha);
551 
552 
553                     const SIMINT_DBLTYPE Q_prefac = mask_load(nlane, Q.prefac + j);
554 
555 
556                     boys_F_split(PRIM_INT__s_s_s_s, F_x, 22);
557                     SIMINT_DBLTYPE prefac = SIMINT_SQRT(one_over_PQalpha_sum);
558                     prefac = SIMINT_MUL(SIMINT_MUL(P_prefac, Q_prefac), prefac);
559                     for(n = 0; n <= 22; n++)
560                         PRIM_INT__s_s_s_s[n] = SIMINT_MUL(PRIM_INT__s_s_s_s[n], prefac);
561 
562                     //////////////////////////////////////////////
563                     // Primitive integrals: Vertical recurrance
564                     //////////////////////////////////////////////
565 
566                     const SIMINT_DBLTYPE vrr_const_1_over_2p = one_over_2p;
567                     const SIMINT_DBLTYPE vrr_const_2_over_2p = SIMINT_MUL(const_2, one_over_2p);
568                     const SIMINT_DBLTYPE vrr_const_3_over_2p = SIMINT_MUL(const_3, one_over_2p);
569                     const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(const_4, one_over_2p);
570                     const SIMINT_DBLTYPE vrr_const_5_over_2p = SIMINT_MUL(const_5, one_over_2p);
571                     const SIMINT_DBLTYPE vrr_const_6_over_2p = SIMINT_MUL(const_6, one_over_2p);
572                     const SIMINT_DBLTYPE vrr_const_7_over_2p = SIMINT_MUL(const_7, one_over_2p);
573                     const SIMINT_DBLTYPE vrr_const_8_over_2p = SIMINT_MUL(const_8, one_over_2p);
574                     const SIMINT_DBLTYPE vrr_const_9_over_2p = SIMINT_MUL(const_9, one_over_2p);
575                     const SIMINT_DBLTYPE vrr_const_10_over_2p = SIMINT_MUL(const_10, one_over_2p);
576                     const SIMINT_DBLTYPE vrr_const_11_over_2p = SIMINT_MUL(const_11, one_over_2p);
577                     const SIMINT_DBLTYPE vrr_const_1_over_2q = one_over_2q;
578                     const SIMINT_DBLTYPE vrr_const_2_over_2q = SIMINT_MUL(const_2, one_over_2q);
579                     const SIMINT_DBLTYPE vrr_const_3_over_2q = SIMINT_MUL(const_3, one_over_2q);
580                     const SIMINT_DBLTYPE vrr_const_4_over_2q = SIMINT_MUL(const_4, one_over_2q);
581                     const SIMINT_DBLTYPE vrr_const_5_over_2q = SIMINT_MUL(const_5, one_over_2q);
582                     const SIMINT_DBLTYPE vrr_const_6_over_2q = SIMINT_MUL(const_6, one_over_2q);
583                     const SIMINT_DBLTYPE vrr_const_7_over_2q = SIMINT_MUL(const_7, one_over_2q);
584                     const SIMINT_DBLTYPE vrr_const_8_over_2q = SIMINT_MUL(const_8, one_over_2q);
585                     const SIMINT_DBLTYPE vrr_const_9_over_2q = SIMINT_MUL(const_9, one_over_2q);
586                     const SIMINT_DBLTYPE vrr_const_1_over_2pq = one_over_2pq;
587                     const SIMINT_DBLTYPE vrr_const_2_over_2pq = SIMINT_MUL(const_2, one_over_2pq);
588                     const SIMINT_DBLTYPE vrr_const_3_over_2pq = SIMINT_MUL(const_3, one_over_2pq);
589                     const SIMINT_DBLTYPE vrr_const_4_over_2pq = SIMINT_MUL(const_4, one_over_2pq);
590                     const SIMINT_DBLTYPE vrr_const_5_over_2pq = SIMINT_MUL(const_5, one_over_2pq);
591                     const SIMINT_DBLTYPE vrr_const_6_over_2pq = SIMINT_MUL(const_6, one_over_2pq);
592                     const SIMINT_DBLTYPE vrr_const_7_over_2pq = SIMINT_MUL(const_7, one_over_2pq);
593                     const SIMINT_DBLTYPE vrr_const_8_over_2pq = SIMINT_MUL(const_8, one_over_2pq);
594                     const SIMINT_DBLTYPE vrr_const_9_over_2pq = SIMINT_MUL(const_9, one_over_2pq);
595                     const SIMINT_DBLTYPE vrr_const_10_over_2pq = SIMINT_MUL(const_10, one_over_2pq);
596                     const SIMINT_DBLTYPE vrr_const_11_over_2pq = SIMINT_MUL(const_11, one_over_2pq);
597                     const SIMINT_DBLTYPE vrr_const_12_over_2pq = SIMINT_MUL(const_12, one_over_2pq);
598 
599 
600 
601                     // Forming PRIM_INT__p_s_s_s[22 * 3];
602                     for(n = 0; n < 22; ++n)  // loop over orders of auxiliary function
603                     {
604 
605                         PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
606                         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]);
607 
608                         PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
609                         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]);
610 
611                         PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
612                         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]);
613 
614                     }
615 
616 
617 
618                     // Forming PRIM_INT__d_s_s_s[21 * 6];
619                     for(n = 0; n < 21; ++n)  // loop over orders of auxiliary function
620                     {
621 
622                         PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
623                         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]);
624                         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]);
625 
626                         PRIM_INT__d_s_s_s[n * 6 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
627                         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]);
628 
629                         PRIM_INT__d_s_s_s[n * 6 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
630                         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]);
631 
632                         PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
633                         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]);
634                         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]);
635 
636                         PRIM_INT__d_s_s_s[n * 6 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
637                         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]);
638 
639                         PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
640                         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]);
641                         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]);
642 
643                     }
644 
645 
646 
647                     // Forming PRIM_INT__f_s_s_s[20 * 10];
648                     for(n = 0; n < 20; ++n)  // loop over orders of auxiliary function
649                     {
650 
651                         PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
652                         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]);
653                         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]);
654 
655                         PRIM_INT__f_s_s_s[n * 10 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
656                         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]);
657 
658                         PRIM_INT__f_s_s_s[n * 10 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
659                         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]);
660 
661                         PRIM_INT__f_s_s_s[n * 10 + 3] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
662                         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]);
663 
664                         PRIM_INT__f_s_s_s[n * 10 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
665                         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]);
666 
667                         PRIM_INT__f_s_s_s[n * 10 + 5] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
668                         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]);
669 
670                         PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
671                         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]);
672                         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]);
673 
674                         PRIM_INT__f_s_s_s[n * 10 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
675                         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]);
676 
677                         PRIM_INT__f_s_s_s[n * 10 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
678                         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]);
679 
680                         PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
681                         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]);
682                         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]);
683 
684                     }
685 
686 
687                     VRR_I_g_s_s_s(
688                             PRIM_INT__g_s_s_s,
689                             PRIM_INT__f_s_s_s,
690                             PRIM_INT__d_s_s_s,
691                             P_PA,
692                             a_over_p,
693                             aop_PQ,
694                             one_over_2p,
695                             19);
696 
697 
698                     VRR_I_h_s_s_s(
699                             PRIM_INT__h_s_s_s,
700                             PRIM_INT__g_s_s_s,
701                             PRIM_INT__f_s_s_s,
702                             P_PA,
703                             a_over_p,
704                             aop_PQ,
705                             one_over_2p,
706                             18);
707 
708 
709                     ostei_general_vrr1_I(6, 17,
710                             one_over_2p, a_over_p, aop_PQ, P_PA,
711                             PRIM_INT__h_s_s_s, PRIM_INT__g_s_s_s, PRIM_INT__i_s_s_s);
712 
713 
714                     ostei_general_vrr1_I(7, 16,
715                             one_over_2p, a_over_p, aop_PQ, P_PA,
716                             PRIM_INT__i_s_s_s, PRIM_INT__h_s_s_s, PRIM_INT__k_s_s_s);
717 
718 
719                     ostei_general_vrr_K(7, 0, 1, 0, 10,
720                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
721                             PRIM_INT__k_s_s_s, NULL, NULL, PRIM_INT__i_s_s_s, NULL, PRIM_INT__k_s_p_s);
722 
723 
724                     ostei_general_vrr_K(6, 0, 1, 0, 10,
725                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
726                             PRIM_INT__i_s_s_s, NULL, NULL, PRIM_INT__h_s_s_s, NULL, PRIM_INT__i_s_p_s);
727 
728 
729                     ostei_general_vrr_K(7, 0, 2, 0, 9,
730                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
731                             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);
732 
733 
734                     ostei_general_vrr_K(5, 0, 1, 0, 10,
735                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
736                             PRIM_INT__h_s_s_s, NULL, NULL, PRIM_INT__g_s_s_s, NULL, PRIM_INT__h_s_p_s);
737 
738 
739                     ostei_general_vrr_K(6, 0, 2, 0, 9,
740                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
741                             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);
742 
743 
744                     ostei_general_vrr_K(7, 0, 3, 0, 8,
745                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
746                             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);
747 
748 
749                     VRR_K_g_s_p_s(
750                             PRIM_INT__g_s_p_s,
751                             PRIM_INT__g_s_s_s,
752                             PRIM_INT__f_s_s_s,
753                             Q_PA,
754                             aoq_PQ,
755                             one_over_2pq,
756                             10);
757 
758 
759                     ostei_general_vrr_K(5, 0, 2, 0, 9,
760                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
761                             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);
762 
763 
764                     ostei_general_vrr_K(6, 0, 3, 0, 8,
765                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
766                             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);
767 
768 
769                     ostei_general_vrr_K(7, 0, 4, 0, 7,
770                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
771                             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);
772 
773 
774                     VRR_K_f_s_p_s(
775                             PRIM_INT__f_s_p_s,
776                             PRIM_INT__f_s_s_s,
777                             PRIM_INT__d_s_s_s,
778                             Q_PA,
779                             aoq_PQ,
780                             one_over_2pq,
781                             10);
782 
783 
784                     ostei_general_vrr_K(4, 0, 2, 0, 9,
785                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
786                             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);
787 
788 
789                     ostei_general_vrr_K(5, 0, 3, 0, 8,
790                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
791                             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);
792 
793 
794                     ostei_general_vrr_K(6, 0, 4, 0, 7,
795                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
796                             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);
797 
798 
799                     ostei_general_vrr_K(7, 0, 5, 0, 6,
800                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
801                             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);
802 
803 
804 
805                     // Forming PRIM_INT__d_s_p_s[10 * 18];
806                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
807                     {
808 
809                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
810                         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]);
811                         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]);
812 
813                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
814                         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]);
815 
816                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
817                         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]);
818 
819                         PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 1]);
820                         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]);
821                         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]);
822 
823                         PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 1]);
824                         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]);
825                         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]);
826 
827                         PRIM_INT__d_s_p_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
828                         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]);
829 
830                         PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 2]);
831                         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]);
832                         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]);
833 
834                         PRIM_INT__d_s_p_s[n * 18 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 2]);
835                         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]);
836 
837                         PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 2]);
838                         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]);
839                         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]);
840 
841                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
842                         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]);
843 
844                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
845                         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]);
846                         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]);
847 
848                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
849                         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]);
850 
851                         PRIM_INT__d_s_p_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 4]);
852                         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]);
853 
854                         PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 4]);
855                         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]);
856                         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]);
857 
858                         PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 4]);
859                         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]);
860                         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]);
861 
862                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
863                         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]);
864 
865                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
866                         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]);
867 
868                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
869                         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]);
870                         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]);
871 
872                     }
873 
874 
875                     VRR_K_f_s_d_s(
876                             PRIM_INT__f_s_d_s,
877                             PRIM_INT__f_s_p_s,
878                             PRIM_INT__f_s_s_s,
879                             PRIM_INT__d_s_p_s,
880                             Q_PA,
881                             a_over_q,
882                             aoq_PQ,
883                             one_over_2pq,
884                             one_over_2q,
885                             9);
886 
887 
888                     ostei_general_vrr_K(4, 0, 3, 0, 8,
889                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
890                             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);
891 
892 
893                     ostei_general_vrr_K(5, 0, 4, 0, 7,
894                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
895                             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);
896 
897 
898                     ostei_general_vrr_K(6, 0, 5, 0, 6,
899                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
900                             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);
901 
902 
903                     ostei_general_vrr_K(7, 0, 6, 0, 5,
904                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
905                             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);
906 
907 
908                     ostei_general_vrr1_I(8, 15,
909                             one_over_2p, a_over_p, aop_PQ, P_PA,
910                             PRIM_INT__k_s_s_s, PRIM_INT__i_s_s_s, PRIM_INT__l_s_s_s);
911 
912 
913                     ostei_general_vrr_K(8, 0, 1, 0, 10,
914                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
915                             PRIM_INT__l_s_s_s, NULL, NULL, PRIM_INT__k_s_s_s, NULL, PRIM_INT__l_s_p_s);
916 
917 
918                     ostei_general_vrr_K(8, 0, 2, 0, 9,
919                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
920                             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);
921 
922 
923                     ostei_general_vrr_K(8, 0, 3, 0, 8,
924                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
925                             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);
926 
927 
928                     ostei_general_vrr_K(8, 0, 4, 0, 7,
929                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
930                             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);
931 
932 
933                     ostei_general_vrr_K(8, 0, 5, 0, 6,
934                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
935                             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);
936 
937 
938 
939                     // Forming PRIM_INT__p_s_p_s[10 * 9];
940                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
941                     {
942 
943                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
944                         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]);
945                         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]);
946 
947                         PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
948                         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]);
949 
950                         PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
951                         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]);
952 
953                         PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 1]);
954                         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]);
955 
956                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
957                         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]);
958                         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]);
959 
960                         PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
961                         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]);
962 
963                         PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 2]);
964                         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]);
965 
966                         PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 2]);
967                         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]);
968 
969                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
970                         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]);
971                         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]);
972 
973                     }
974 
975 
976                     VRR_K_d_s_d_s(
977                             PRIM_INT__d_s_d_s,
978                             PRIM_INT__d_s_p_s,
979                             PRIM_INT__d_s_s_s,
980                             PRIM_INT__p_s_p_s,
981                             Q_PA,
982                             a_over_q,
983                             aoq_PQ,
984                             one_over_2pq,
985                             one_over_2q,
986                             9);
987 
988 
989                     ostei_general_vrr_K(3, 0, 3, 0, 8,
990                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
991                             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);
992 
993 
994                     ostei_general_vrr_K(4, 0, 4, 0, 7,
995                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
996                             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);
997 
998 
999                     ostei_general_vrr_K(5, 0, 5, 0, 6,
1000                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1001                             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);
1002 
1003 
1004                     ostei_general_vrr_K(6, 0, 6, 0, 5,
1005                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1006                             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);
1007 
1008 
1009                     ostei_general_vrr_K(7, 0, 7, 0, 4,
1010                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1011                             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);
1012 
1013 
1014                     ostei_general_vrr_K(8, 0, 6, 0, 5,
1015                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1016                             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);
1017 
1018 
1019                     ostei_general_vrr1_I(9, 14,
1020                             one_over_2p, a_over_p, aop_PQ, P_PA,
1021                             PRIM_INT__l_s_s_s, PRIM_INT__k_s_s_s, PRIM_INT__m_s_s_s);
1022 
1023 
1024                     ostei_general_vrr_K(9, 0, 1, 0, 10,
1025                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1026                             PRIM_INT__m_s_s_s, NULL, NULL, PRIM_INT__l_s_s_s, NULL, PRIM_INT__m_s_p_s);
1027 
1028 
1029                     ostei_general_vrr_K(9, 0, 2, 0, 9,
1030                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1031                             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);
1032 
1033 
1034                     ostei_general_vrr_K(9, 0, 3, 0, 8,
1035                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1036                             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);
1037 
1038 
1039                     ostei_general_vrr_K(9, 0, 4, 0, 7,
1040                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1041                             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);
1042 
1043 
1044                     ostei_general_vrr_K(9, 0, 5, 0, 6,
1045                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1046                             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);
1047 
1048 
1049 
1050                     // Forming PRIM_INT__s_s_p_s[10 * 3];
1051                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
1052                     {
1053 
1054                         PRIM_INT__s_s_p_s[n * 3 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
1055                         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]);
1056 
1057                         PRIM_INT__s_s_p_s[n * 3 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
1058                         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]);
1059 
1060                         PRIM_INT__s_s_p_s[n * 3 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
1061                         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]);
1062 
1063                     }
1064 
1065 
1066 
1067                     // Forming PRIM_INT__p_s_d_s[9 * 18];
1068                     for(n = 0; n < 9; ++n)  // loop over orders of auxiliary function
1069                     {
1070 
1071                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 0]);
1072                         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]);
1073                         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]);
1074                         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]);
1075 
1076                         PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 1]);
1077                         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]);
1078                         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]);
1079 
1080                         PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 2]);
1081                         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]);
1082                         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]);
1083 
1084                         PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 3]);
1085                         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]);
1086                         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]);
1087 
1088                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 4]);
1089                         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]);
1090                         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]);
1091                         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]);
1092 
1093                         PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 5]);
1094                         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]);
1095                         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]);
1096 
1097                         PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 6]);
1098                         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]);
1099                         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]);
1100 
1101                         PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 7]);
1102                         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]);
1103                         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]);
1104 
1105                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1106                         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]);
1107                         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]);
1108                         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]);
1109 
1110                     }
1111 
1112 
1113                     VRR_K_d_s_f_s(
1114                             PRIM_INT__d_s_f_s,
1115                             PRIM_INT__d_s_d_s,
1116                             PRIM_INT__d_s_p_s,
1117                             PRIM_INT__p_s_d_s,
1118                             Q_PA,
1119                             a_over_q,
1120                             aoq_PQ,
1121                             one_over_2pq,
1122                             one_over_2q,
1123                             8);
1124 
1125 
1126                     ostei_general_vrr_K(3, 0, 4, 0, 7,
1127                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1128                             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);
1129 
1130 
1131                     ostei_general_vrr_K(4, 0, 5, 0, 6,
1132                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1133                             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);
1134 
1135 
1136                     ostei_general_vrr_K(5, 0, 6, 0, 5,
1137                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1138                             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);
1139 
1140 
1141                     ostei_general_vrr_K(6, 0, 7, 0, 4,
1142                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1143                             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);
1144 
1145 
1146                     ostei_general_vrr_K(7, 0, 8, 0, 3,
1147                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1148                             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);
1149 
1150 
1151                     ostei_general_vrr_K(8, 0, 7, 0, 4,
1152                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1153                             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);
1154 
1155 
1156                     ostei_general_vrr_K(9, 0, 6, 0, 5,
1157                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1158                             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);
1159 
1160 
1161                     ostei_general_vrr1_I(10, 13,
1162                             one_over_2p, a_over_p, aop_PQ, P_PA,
1163                             PRIM_INT__m_s_s_s, PRIM_INT__l_s_s_s, PRIM_INT__n_s_s_s);
1164 
1165 
1166                     ostei_general_vrr_K(10, 0, 1, 0, 10,
1167                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1168                             PRIM_INT__n_s_s_s, NULL, NULL, PRIM_INT__m_s_s_s, NULL, PRIM_INT__n_s_p_s);
1169 
1170 
1171                     ostei_general_vrr_K(10, 0, 2, 0, 9,
1172                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1173                             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);
1174 
1175 
1176                     ostei_general_vrr_K(10, 0, 3, 0, 8,
1177                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1178                             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);
1179 
1180 
1181                     ostei_general_vrr_K(10, 0, 4, 0, 7,
1182                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1183                             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);
1184 
1185 
1186                     ostei_general_vrr_K(10, 0, 5, 0, 6,
1187                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1188                             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);
1189 
1190 
1191 
1192                     // Forming PRIM_INT__s_s_d_s[9 * 6];
1193                     for(n = 0; n < 9; ++n)  // loop over orders of auxiliary function
1194                     {
1195 
1196                         PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
1197                         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]);
1198                         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]);
1199 
1200                         PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
1201                         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]);
1202                         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]);
1203 
1204                         PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
1205                         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]);
1206                         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]);
1207 
1208                     }
1209 
1210 
1211                     VRR_K_p_s_f_s(
1212                             PRIM_INT__p_s_f_s,
1213                             PRIM_INT__p_s_d_s,
1214                             PRIM_INT__p_s_p_s,
1215                             PRIM_INT__s_s_d_s,
1216                             Q_PA,
1217                             a_over_q,
1218                             aoq_PQ,
1219                             one_over_2pq,
1220                             one_over_2q,
1221                             8);
1222 
1223 
1224                     ostei_general_vrr_K(2, 0, 4, 0, 7,
1225                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1226                             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);
1227 
1228 
1229                     ostei_general_vrr_K(3, 0, 5, 0, 6,
1230                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1231                             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);
1232 
1233 
1234                     ostei_general_vrr_K(4, 0, 6, 0, 5,
1235                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1236                             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);
1237 
1238 
1239                     ostei_general_vrr_K(5, 0, 7, 0, 4,
1240                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1241                             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);
1242 
1243 
1244                     ostei_general_vrr_K(6, 0, 8, 0, 3,
1245                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1246                             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);
1247 
1248 
1249                     ostei_general_vrr_K(7, 0, 9, 0, 2,
1250                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1251                             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);
1252 
1253 
1254                     ostei_general_vrr_K(8, 0, 8, 0, 3,
1255                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1256                             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);
1257 
1258 
1259                     ostei_general_vrr_K(9, 0, 7, 0, 4,
1260                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1261                             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);
1262 
1263 
1264                     ostei_general_vrr_K(10, 0, 6, 0, 5,
1265                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1266                             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);
1267 
1268 
1269                     ostei_general_vrr1_I(11, 12,
1270                             one_over_2p, a_over_p, aop_PQ, P_PA,
1271                             PRIM_INT__n_s_s_s, PRIM_INT__m_s_s_s, PRIM_INT__o_s_s_s);
1272 
1273 
1274                     ostei_general_vrr_K(11, 0, 1, 0, 10,
1275                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1276                             PRIM_INT__o_s_s_s, NULL, NULL, PRIM_INT__n_s_s_s, NULL, PRIM_INT__o_s_p_s);
1277 
1278 
1279                     ostei_general_vrr_K(11, 0, 2, 0, 9,
1280                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1281                             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);
1282 
1283 
1284                     ostei_general_vrr_K(11, 0, 3, 0, 8,
1285                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1286                             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);
1287 
1288 
1289                     ostei_general_vrr_K(11, 0, 4, 0, 7,
1290                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1291                             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);
1292 
1293 
1294                     ostei_general_vrr_K(11, 0, 5, 0, 6,
1295                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1296                             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);
1297 
1298 
1299 
1300                     // Forming PRIM_INT__s_s_f_s[8 * 10];
1301                     for(n = 0; n < 8; ++n)  // loop over orders of auxiliary function
1302                     {
1303 
1304                         PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
1305                         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]);
1306                         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]);
1307 
1308                         PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
1309                         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]);
1310                         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]);
1311 
1312                         PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
1313                         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]);
1314                         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]);
1315 
1316                     }
1317 
1318 
1319                     VRR_K_p_s_g_s(
1320                             PRIM_INT__p_s_g_s,
1321                             PRIM_INT__p_s_f_s,
1322                             PRIM_INT__p_s_d_s,
1323                             PRIM_INT__s_s_f_s,
1324                             Q_PA,
1325                             a_over_q,
1326                             aoq_PQ,
1327                             one_over_2pq,
1328                             one_over_2q,
1329                             7);
1330 
1331 
1332                     ostei_general_vrr_K(2, 0, 5, 0, 6,
1333                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1334                             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);
1335 
1336 
1337                     ostei_general_vrr_K(3, 0, 6, 0, 5,
1338                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1339                             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);
1340 
1341 
1342                     ostei_general_vrr_K(4, 0, 7, 0, 4,
1343                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1344                             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);
1345 
1346 
1347                     ostei_general_vrr_K(5, 0, 8, 0, 3,
1348                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1349                             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);
1350 
1351 
1352                     ostei_general_vrr_K(6, 0, 9, 0, 2,
1353                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1354                             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);
1355 
1356 
1357                     ostei_general_vrr_K(7, 0, 10, 0, 1,
1358                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1359                             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);
1360 
1361 
1362                     ostei_general_vrr_K(8, 0, 9, 0, 2,
1363                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1364                             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);
1365 
1366 
1367                     ostei_general_vrr_K(9, 0, 8, 0, 3,
1368                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1369                             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);
1370 
1371 
1372                     ostei_general_vrr_K(10, 0, 7, 0, 4,
1373                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1374                             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);
1375 
1376 
1377                     ostei_general_vrr_K(11, 0, 6, 0, 5,
1378                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1379                             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);
1380 
1381 
1382                     ostei_general_vrr1_I(12, 11,
1383                             one_over_2p, a_over_p, aop_PQ, P_PA,
1384                             PRIM_INT__o_s_s_s, PRIM_INT__n_s_s_s, PRIM_INT__q_s_s_s);
1385 
1386 
1387                     ostei_general_vrr_K(12, 0, 1, 0, 10,
1388                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1389                             PRIM_INT__q_s_s_s, NULL, NULL, PRIM_INT__o_s_s_s, NULL, PRIM_INT__q_s_p_s);
1390 
1391 
1392                     ostei_general_vrr_K(12, 0, 2, 0, 9,
1393                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1394                             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);
1395 
1396 
1397                     ostei_general_vrr_K(12, 0, 3, 0, 8,
1398                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1399                             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);
1400 
1401 
1402                     ostei_general_vrr_K(12, 0, 4, 0, 7,
1403                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1404                             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);
1405 
1406 
1407                     ostei_general_vrr_K(12, 0, 5, 0, 6,
1408                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1409                             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);
1410 
1411 
1412                     ostei_general_vrr_K(8, 0, 10, 0, 1,
1413                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1414                             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);
1415 
1416 
1417                     ostei_general_vrr_K(9, 0, 9, 0, 2,
1418                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1419                             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);
1420 
1421 
1422                     ostei_general_vrr_K(10, 0, 8, 0, 3,
1423                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1424                             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);
1425 
1426 
1427                     ostei_general_vrr_K(11, 0, 7, 0, 4,
1428                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1429                             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);
1430 
1431 
1432                     ostei_general_vrr_K(12, 0, 6, 0, 5,
1433                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1434                             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);
1435 
1436 
1437                     ostei_general_vrr_K(9, 0, 10, 0, 1,
1438                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1439                             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);
1440 
1441 
1442                     ostei_general_vrr_K(10, 0, 9, 0, 2,
1443                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1444                             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);
1445 
1446 
1447                     ostei_general_vrr_K(11, 0, 8, 0, 3,
1448                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1449                             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);
1450 
1451 
1452                     ostei_general_vrr_K(12, 0, 7, 0, 4,
1453                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1454                             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);
1455 
1456 
1457                     ostei_general_vrr_K(10, 0, 10, 0, 1,
1458                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1459                             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);
1460 
1461 
1462                     ostei_general_vrr_K(11, 0, 9, 0, 2,
1463                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1464                             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);
1465 
1466 
1467                     ostei_general_vrr_K(12, 0, 8, 0, 3,
1468                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1469                             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);
1470 
1471 
1472                     ostei_general_vrr_K(11, 0, 10, 0, 1,
1473                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1474                             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);
1475 
1476 
1477                     ostei_general_vrr_K(12, 0, 9, 0, 2,
1478                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1479                             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);
1480 
1481 
1482                     ostei_general_vrr_K(12, 0, 10, 0, 1,
1483                             one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1484                             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);
1485 
1486 
1487 
1488 
1489                     ////////////////////////////////////
1490                     // Accumulate contracted integrals
1491                     ////////////////////////////////////
1492                     if(lastoffset == 0)
1493                     {
1494                         contract_all(756, PRIM_INT__k_s_h_s, PRIM_PTR_INT__k_s_h_s);
1495                         contract_all(1008, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1496                         contract_all(1296, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1497                         contract_all(1620, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1498                         contract_all(1980, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1499                         contract_all(2376, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1500                         contract_all(945, PRIM_INT__l_s_h_s, PRIM_PTR_INT__l_s_h_s);
1501                         contract_all(1260, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1502                         contract_all(1620, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1503                         contract_all(2025, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1504                         contract_all(2475, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1505                         contract_all(2970, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1506                         contract_all(1155, PRIM_INT__m_s_h_s, PRIM_PTR_INT__m_s_h_s);
1507                         contract_all(1540, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1508                         contract_all(1980, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1509                         contract_all(2475, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1510                         contract_all(3025, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1511                         contract_all(3630, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1512                         contract_all(1386, PRIM_INT__n_s_h_s, PRIM_PTR_INT__n_s_h_s);
1513                         contract_all(1848, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1514                         contract_all(2376, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1515                         contract_all(2970, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1516                         contract_all(3630, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1517                         contract_all(4356, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1518                         contract_all(1638, PRIM_INT__o_s_h_s, PRIM_PTR_INT__o_s_h_s);
1519                         contract_all(2184, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1520                         contract_all(2808, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1521                         contract_all(3510, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1522                         contract_all(4290, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1523                         contract_all(5148, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1524                         contract_all(1911, PRIM_INT__q_s_h_s, PRIM_PTR_INT__q_s_h_s);
1525                         contract_all(2548, PRIM_INT__q_s_i_s, PRIM_PTR_INT__q_s_i_s);
1526                         contract_all(3276, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1527                         contract_all(4095, PRIM_INT__q_s_l_s, PRIM_PTR_INT__q_s_l_s);
1528                         contract_all(5005, PRIM_INT__q_s_m_s, PRIM_PTR_INT__q_s_m_s);
1529                         contract_all(6006, PRIM_INT__q_s_n_s, PRIM_PTR_INT__q_s_n_s);
1530                     }
1531                     else
1532                     {
1533                         contract(756, shelloffsets, PRIM_INT__k_s_h_s, PRIM_PTR_INT__k_s_h_s);
1534                         contract(1008, shelloffsets, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1535                         contract(1296, shelloffsets, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1536                         contract(1620, shelloffsets, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1537                         contract(1980, shelloffsets, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1538                         contract(2376, shelloffsets, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1539                         contract(945, shelloffsets, PRIM_INT__l_s_h_s, PRIM_PTR_INT__l_s_h_s);
1540                         contract(1260, shelloffsets, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1541                         contract(1620, shelloffsets, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1542                         contract(2025, shelloffsets, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1543                         contract(2475, shelloffsets, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1544                         contract(2970, shelloffsets, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1545                         contract(1155, shelloffsets, PRIM_INT__m_s_h_s, PRIM_PTR_INT__m_s_h_s);
1546                         contract(1540, shelloffsets, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1547                         contract(1980, shelloffsets, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1548                         contract(2475, shelloffsets, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1549                         contract(3025, shelloffsets, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1550                         contract(3630, shelloffsets, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1551                         contract(1386, shelloffsets, PRIM_INT__n_s_h_s, PRIM_PTR_INT__n_s_h_s);
1552                         contract(1848, shelloffsets, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1553                         contract(2376, shelloffsets, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1554                         contract(2970, shelloffsets, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1555                         contract(3630, shelloffsets, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1556                         contract(4356, shelloffsets, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1557                         contract(1638, shelloffsets, PRIM_INT__o_s_h_s, PRIM_PTR_INT__o_s_h_s);
1558                         contract(2184, shelloffsets, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1559                         contract(2808, shelloffsets, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1560                         contract(3510, shelloffsets, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1561                         contract(4290, shelloffsets, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1562                         contract(5148, shelloffsets, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1563                         contract(1911, shelloffsets, PRIM_INT__q_s_h_s, PRIM_PTR_INT__q_s_h_s);
1564                         contract(2548, shelloffsets, PRIM_INT__q_s_i_s, PRIM_PTR_INT__q_s_i_s);
1565                         contract(3276, shelloffsets, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1566                         contract(4095, shelloffsets, PRIM_INT__q_s_l_s, PRIM_PTR_INT__q_s_l_s);
1567                         contract(5005, shelloffsets, PRIM_INT__q_s_m_s, PRIM_PTR_INT__q_s_m_s);
1568                         contract(6006, shelloffsets, PRIM_INT__q_s_n_s, PRIM_PTR_INT__q_s_n_s);
1569                         PRIM_PTR_INT__k_s_h_s += lastoffset*756;
1570                         PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
1571                         PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
1572                         PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
1573                         PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
1574                         PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
1575                         PRIM_PTR_INT__l_s_h_s += lastoffset*945;
1576                         PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
1577                         PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
1578                         PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
1579                         PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
1580                         PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
1581                         PRIM_PTR_INT__m_s_h_s += lastoffset*1155;
1582                         PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
1583                         PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
1584                         PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
1585                         PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
1586                         PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
1587                         PRIM_PTR_INT__n_s_h_s += lastoffset*1386;
1588                         PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
1589                         PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
1590                         PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
1591                         PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
1592                         PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
1593                         PRIM_PTR_INT__o_s_h_s += lastoffset*1638;
1594                         PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
1595                         PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
1596                         PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
1597                         PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
1598                         PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
1599                         PRIM_PTR_INT__q_s_h_s += lastoffset*1911;
1600                         PRIM_PTR_INT__q_s_i_s += lastoffset*2548;
1601                         PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
1602                         PRIM_PTR_INT__q_s_l_s += lastoffset*4095;
1603                         PRIM_PTR_INT__q_s_m_s += lastoffset*5005;
1604                         PRIM_PTR_INT__q_s_n_s += lastoffset*6006;
1605                     }
1606 
1607                 }  // close loop over j
1608             }  // close loop over i
1609 
1610             //Advance to the next batch
1611             jstart = SIMINT_SIMD_ROUND(jend);
1612 
1613             //////////////////////////////////////////////
1614             // Contracted integrals: Horizontal recurrance
1615             //////////////////////////////////////////////
1616 
1617 
1618             const double hAB[3] = { P.AB_x[ab], P.AB_y[ab], P.AB_z[ab] };
1619 
1620 
1621             for(abcd = 0; abcd < nshellbatch; ++abcd, ++real_abcd)
1622             {
1623                 const double hCD[3] = { Q.AB_x[cd+abcd], Q.AB_y[cd+abcd], Q.AB_z[cd+abcd] };
1624 
1625                 // set up HRR pointers
1626                 double const * restrict HRR_INT__k_s_h_s = INT__k_s_h_s + abcd * 756;
1627                 double const * restrict HRR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
1628                 double const * restrict HRR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
1629                 double const * restrict HRR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
1630                 double const * restrict HRR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
1631                 double const * restrict HRR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
1632                 double const * restrict HRR_INT__l_s_h_s = INT__l_s_h_s + abcd * 945;
1633                 double const * restrict HRR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
1634                 double const * restrict HRR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
1635                 double const * restrict HRR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
1636                 double const * restrict HRR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
1637                 double const * restrict HRR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
1638                 double const * restrict HRR_INT__m_s_h_s = INT__m_s_h_s + abcd * 1155;
1639                 double const * restrict HRR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
1640                 double const * restrict HRR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
1641                 double const * restrict HRR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
1642                 double const * restrict HRR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
1643                 double const * restrict HRR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
1644                 double const * restrict HRR_INT__n_s_h_s = INT__n_s_h_s + abcd * 1386;
1645                 double const * restrict HRR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
1646                 double const * restrict HRR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
1647                 double const * restrict HRR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
1648                 double const * restrict HRR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
1649                 double const * restrict HRR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
1650                 double const * restrict HRR_INT__o_s_h_s = INT__o_s_h_s + abcd * 1638;
1651                 double const * restrict HRR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
1652                 double const * restrict HRR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
1653                 double const * restrict HRR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
1654                 double const * restrict HRR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
1655                 double const * restrict HRR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
1656                 double const * restrict HRR_INT__q_s_h_s = INT__q_s_h_s + abcd * 1911;
1657                 double const * restrict HRR_INT__q_s_i_s = INT__q_s_i_s + abcd * 2548;
1658                 double const * restrict HRR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
1659                 double const * restrict HRR_INT__q_s_l_s = INT__q_s_l_s + abcd * 4095;
1660                 double const * restrict HRR_INT__q_s_m_s = INT__q_s_m_s + abcd * 5005;
1661                 double const * restrict HRR_INT__q_s_n_s = INT__q_s_n_s + abcd * 6006;
1662                 double * restrict HRR_INT__k_h_h_h = INT__k_h_h_h + real_abcd * 333396;
1663 
1664                 // form INT__k_p_h_s
1665                 ostei_general_hrr_J(7, 1, 5, 0, hAB, HRR_INT__l_s_h_s, HRR_INT__k_s_h_s, HRR_INT__k_p_h_s);
1666 
1667                 // form INT__k_p_i_s
1668                 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);
1669 
1670                 // form INT__k_p_k_s
1671                 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);
1672 
1673                 // form INT__k_p_l_s
1674                 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);
1675 
1676                 // form INT__k_p_m_s
1677                 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);
1678 
1679                 // form INT__k_p_n_s
1680                 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);
1681 
1682                 // form INT__l_p_h_s
1683                 ostei_general_hrr_J(8, 1, 5, 0, hAB, HRR_INT__m_s_h_s, HRR_INT__l_s_h_s, HRR_INT__l_p_h_s);
1684 
1685                 // form INT__l_p_i_s
1686                 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);
1687 
1688                 // form INT__l_p_k_s
1689                 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);
1690 
1691                 // form INT__l_p_l_s
1692                 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);
1693 
1694                 // form INT__l_p_m_s
1695                 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);
1696 
1697                 // form INT__l_p_n_s
1698                 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);
1699 
1700                 // form INT__m_p_h_s
1701                 ostei_general_hrr_J(9, 1, 5, 0, hAB, HRR_INT__n_s_h_s, HRR_INT__m_s_h_s, HRR_INT__m_p_h_s);
1702 
1703                 // form INT__m_p_i_s
1704                 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);
1705 
1706                 // form INT__m_p_k_s
1707                 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);
1708 
1709                 // form INT__m_p_l_s
1710                 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);
1711 
1712                 // form INT__m_p_m_s
1713                 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);
1714 
1715                 // form INT__m_p_n_s
1716                 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);
1717 
1718                 // form INT__n_p_h_s
1719                 ostei_general_hrr_J(10, 1, 5, 0, hAB, HRR_INT__o_s_h_s, HRR_INT__n_s_h_s, HRR_INT__n_p_h_s);
1720 
1721                 // form INT__n_p_i_s
1722                 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);
1723 
1724                 // form INT__n_p_k_s
1725                 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);
1726 
1727                 // form INT__n_p_l_s
1728                 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);
1729 
1730                 // form INT__n_p_m_s
1731                 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);
1732 
1733                 // form INT__n_p_n_s
1734                 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);
1735 
1736                 // form INT__o_p_h_s
1737                 ostei_general_hrr_J(11, 1, 5, 0, hAB, HRR_INT__q_s_h_s, HRR_INT__o_s_h_s, HRR_INT__o_p_h_s);
1738 
1739                 // form INT__o_p_i_s
1740                 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);
1741 
1742                 // form INT__o_p_k_s
1743                 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);
1744 
1745                 // form INT__o_p_l_s
1746                 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);
1747 
1748                 // form INT__o_p_m_s
1749                 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);
1750 
1751                 // form INT__o_p_n_s
1752                 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);
1753 
1754                 // form INT__k_d_h_s
1755                 ostei_general_hrr_J(7, 2, 5, 0, hAB, HRR_INT__l_p_h_s, HRR_INT__k_p_h_s, HRR_INT__k_d_h_s);
1756 
1757                 // form INT__k_d_i_s
1758                 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);
1759 
1760                 // form INT__k_d_k_s
1761                 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);
1762 
1763                 // form INT__k_d_l_s
1764                 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);
1765 
1766                 // form INT__k_d_m_s
1767                 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);
1768 
1769                 // form INT__k_d_n_s
1770                 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);
1771 
1772                 // form INT__l_d_h_s
1773                 ostei_general_hrr_J(8, 2, 5, 0, hAB, HRR_INT__m_p_h_s, HRR_INT__l_p_h_s, HRR_INT__l_d_h_s);
1774 
1775                 // form INT__l_d_i_s
1776                 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);
1777 
1778                 // form INT__l_d_k_s
1779                 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);
1780 
1781                 // form INT__l_d_l_s
1782                 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);
1783 
1784                 // form INT__l_d_m_s
1785                 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);
1786 
1787                 // form INT__l_d_n_s
1788                 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);
1789 
1790                 // form INT__m_d_h_s
1791                 ostei_general_hrr_J(9, 2, 5, 0, hAB, HRR_INT__n_p_h_s, HRR_INT__m_p_h_s, HRR_INT__m_d_h_s);
1792 
1793                 // form INT__m_d_i_s
1794                 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);
1795 
1796                 // form INT__m_d_k_s
1797                 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);
1798 
1799                 // form INT__m_d_l_s
1800                 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);
1801 
1802                 // form INT__m_d_m_s
1803                 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);
1804 
1805                 // form INT__m_d_n_s
1806                 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);
1807 
1808                 // form INT__n_d_h_s
1809                 ostei_general_hrr_J(10, 2, 5, 0, hAB, HRR_INT__o_p_h_s, HRR_INT__n_p_h_s, HRR_INT__n_d_h_s);
1810 
1811                 // form INT__n_d_i_s
1812                 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);
1813 
1814                 // form INT__n_d_k_s
1815                 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);
1816 
1817                 // form INT__n_d_l_s
1818                 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);
1819 
1820                 // form INT__n_d_m_s
1821                 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);
1822 
1823                 // form INT__n_d_n_s
1824                 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);
1825 
1826                 // form INT__k_f_h_s
1827                 ostei_general_hrr_J(7, 3, 5, 0, hAB, HRR_INT__l_d_h_s, HRR_INT__k_d_h_s, HRR_INT__k_f_h_s);
1828 
1829                 // form INT__k_f_i_s
1830                 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);
1831 
1832                 // form INT__k_f_k_s
1833                 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);
1834 
1835                 // form INT__k_f_l_s
1836                 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);
1837 
1838                 // form INT__k_f_m_s
1839                 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);
1840 
1841                 // form INT__k_f_n_s
1842                 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);
1843 
1844                 // form INT__l_f_h_s
1845                 ostei_general_hrr_J(8, 3, 5, 0, hAB, HRR_INT__m_d_h_s, HRR_INT__l_d_h_s, HRR_INT__l_f_h_s);
1846 
1847                 // form INT__l_f_i_s
1848                 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);
1849 
1850                 // form INT__l_f_k_s
1851                 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);
1852 
1853                 // form INT__l_f_l_s
1854                 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);
1855 
1856                 // form INT__l_f_m_s
1857                 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);
1858 
1859                 // form INT__l_f_n_s
1860                 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);
1861 
1862                 // form INT__m_f_h_s
1863                 ostei_general_hrr_J(9, 3, 5, 0, hAB, HRR_INT__n_d_h_s, HRR_INT__m_d_h_s, HRR_INT__m_f_h_s);
1864 
1865                 // form INT__m_f_i_s
1866                 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);
1867 
1868                 // form INT__m_f_k_s
1869                 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);
1870 
1871                 // form INT__m_f_l_s
1872                 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);
1873 
1874                 // form INT__m_f_m_s
1875                 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);
1876 
1877                 // form INT__m_f_n_s
1878                 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);
1879 
1880                 // form INT__k_g_h_s
1881                 ostei_general_hrr_J(7, 4, 5, 0, hAB, HRR_INT__l_f_h_s, HRR_INT__k_f_h_s, HRR_INT__k_g_h_s);
1882 
1883                 // form INT__k_g_i_s
1884                 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);
1885 
1886                 // form INT__k_g_k_s
1887                 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);
1888 
1889                 // form INT__k_g_l_s
1890                 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);
1891 
1892                 // form INT__k_g_m_s
1893                 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);
1894 
1895                 // form INT__k_g_n_s
1896                 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);
1897 
1898                 // form INT__l_g_h_s
1899                 ostei_general_hrr_J(8, 4, 5, 0, hAB, HRR_INT__m_f_h_s, HRR_INT__l_f_h_s, HRR_INT__l_g_h_s);
1900 
1901                 // form INT__l_g_i_s
1902                 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);
1903 
1904                 // form INT__l_g_k_s
1905                 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);
1906 
1907                 // form INT__l_g_l_s
1908                 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);
1909 
1910                 // form INT__l_g_m_s
1911                 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);
1912 
1913                 // form INT__l_g_n_s
1914                 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);
1915 
1916                 // form INT__k_h_h_s
1917                 ostei_general_hrr_J(7, 5, 5, 0, hAB, HRR_INT__l_g_h_s, HRR_INT__k_g_h_s, HRR_INT__k_h_h_s);
1918 
1919                 // form INT__k_h_i_s
1920                 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);
1921 
1922                 // form INT__k_h_k_s
1923                 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);
1924 
1925                 // form INT__k_h_l_s
1926                 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);
1927 
1928                 // form INT__k_h_m_s
1929                 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);
1930 
1931                 // form INT__k_h_n_s
1932                 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);
1933 
1934                 // form INT__k_h_h_p
1935                 ostei_general_hrr_L(7, 5, 5, 1, hCD, HRR_INT__k_h_i_s, HRR_INT__k_h_h_s, HRR_INT__k_h_h_p);
1936 
1937                 // form INT__k_h_i_p
1938                 ostei_general_hrr_L(7, 5, 6, 1, hCD, HRR_INT__k_h_k_s, HRR_INT__k_h_i_s, HRR_INT__k_h_i_p);
1939 
1940                 // form INT__k_h_k_p
1941                 ostei_general_hrr_L(7, 5, 7, 1, hCD, HRR_INT__k_h_l_s, HRR_INT__k_h_k_s, HRR_INT__k_h_k_p);
1942 
1943                 // form INT__k_h_l_p
1944                 ostei_general_hrr_L(7, 5, 8, 1, hCD, HRR_INT__k_h_m_s, HRR_INT__k_h_l_s, HRR_INT__k_h_l_p);
1945 
1946                 // form INT__k_h_m_p
1947                 ostei_general_hrr_L(7, 5, 9, 1, hCD, HRR_INT__k_h_n_s, HRR_INT__k_h_m_s, HRR_INT__k_h_m_p);
1948 
1949                 // form INT__k_h_h_d
1950                 ostei_general_hrr_L(7, 5, 5, 2, hCD, HRR_INT__k_h_i_p, HRR_INT__k_h_h_p, HRR_INT__k_h_h_d);
1951 
1952                 // form INT__k_h_i_d
1953                 ostei_general_hrr_L(7, 5, 6, 2, hCD, HRR_INT__k_h_k_p, HRR_INT__k_h_i_p, HRR_INT__k_h_i_d);
1954 
1955                 // form INT__k_h_k_d
1956                 ostei_general_hrr_L(7, 5, 7, 2, hCD, HRR_INT__k_h_l_p, HRR_INT__k_h_k_p, HRR_INT__k_h_k_d);
1957 
1958                 // form INT__k_h_l_d
1959                 ostei_general_hrr_L(7, 5, 8, 2, hCD, HRR_INT__k_h_m_p, HRR_INT__k_h_l_p, HRR_INT__k_h_l_d);
1960 
1961                 // form INT__k_h_h_f
1962                 ostei_general_hrr_L(7, 5, 5, 3, hCD, HRR_INT__k_h_i_d, HRR_INT__k_h_h_d, HRR_INT__k_h_h_f);
1963 
1964                 // form INT__k_h_i_f
1965                 ostei_general_hrr_L(7, 5, 6, 3, hCD, HRR_INT__k_h_k_d, HRR_INT__k_h_i_d, HRR_INT__k_h_i_f);
1966 
1967                 // form INT__k_h_k_f
1968                 ostei_general_hrr_L(7, 5, 7, 3, hCD, HRR_INT__k_h_l_d, HRR_INT__k_h_k_d, HRR_INT__k_h_k_f);
1969 
1970                 // form INT__k_h_h_g
1971                 ostei_general_hrr_L(7, 5, 5, 4, hCD, HRR_INT__k_h_i_f, HRR_INT__k_h_h_f, HRR_INT__k_h_h_g);
1972 
1973                 // form INT__k_h_i_g
1974                 ostei_general_hrr_L(7, 5, 6, 4, hCD, HRR_INT__k_h_k_f, HRR_INT__k_h_i_f, HRR_INT__k_h_i_g);
1975 
1976                 // form INT__k_h_h_h
1977                 ostei_general_hrr_L(7, 5, 5, 5, hCD, HRR_INT__k_h_i_g, HRR_INT__k_h_h_g, HRR_INT__k_h_h_h);
1978 
1979 
1980             }  // close HRR loop
1981 
1982 
1983         }   // close loop cdbatch
1984 
1985         istart = iend;
1986     }  // close loop over ab
1987 
1988     return P.nshell12_clip * Q.nshell12_clip;
1989 }
1990 
ostei_h_k_h_h(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__h_k_h_h)1991 int ostei_h_k_h_h(struct simint_multi_shellpair const P,
1992                   struct simint_multi_shellpair const Q,
1993                   double screen_tol,
1994                   double * const restrict work,
1995                   double * const restrict INT__h_k_h_h)
1996 {
1997     double P_AB[3*P.nshell12];
1998     struct simint_multi_shellpair P_tmp = P;
1999     P_tmp.PA_x = P.PB_x;  P_tmp.PA_y = P.PB_y;  P_tmp.PA_z = P.PB_z;
2000     P_tmp.PB_x = P.PA_x;  P_tmp.PB_y = P.PA_y;  P_tmp.PB_z = P.PA_z;
2001     P_tmp.AB_x = P_AB;
2002     P_tmp.AB_y = P_AB + P.nshell12;
2003     P_tmp.AB_z = P_AB + 2*P.nshell12;
2004 
2005     for(int i = 0; i < P.nshell12; i++)
2006     {
2007         P_tmp.AB_x[i] = -P.AB_x[i];
2008         P_tmp.AB_y[i] = -P.AB_y[i];
2009         P_tmp.AB_z[i] = -P.AB_z[i];
2010     }
2011 
2012     int ret = ostei_k_h_h_h(P_tmp, Q, screen_tol, work, INT__h_k_h_h);
2013     double buffer[333396] SIMINT_ALIGN_ARRAY_DBL;
2014 
2015     for(int q = 0; q < ret; q++)
2016     {
2017         int idx = 0;
2018         for(int a = 0; a < 21; ++a)
2019         for(int b = 0; b < 36; ++b)
2020         for(int c = 0; c < 21; ++c)
2021         for(int d = 0; d < 21; ++d)
2022             buffer[idx++] = INT__h_k_h_h[q*333396+b*9261+a*441+c*21+d];
2023 
2024         memcpy(INT__h_k_h_h+q*333396, buffer, 333396*sizeof(double));
2025     }
2026 
2027     return ret;
2028 }
2029 
2030