1 #include "simint/boys/boys.h"
2 #include "simint/ostei/gen/ostei_generated.h"
3 #include "simint/vectorization/vectorization.h"
4 #include <math.h>
5 #include <string.h>
6 
7 
ostei_k_g_k_k(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_g_k_k)8 int ostei_k_g_k_k(struct simint_multi_shellpair const P,
9                   struct simint_multi_shellpair const Q,
10                   double screen_tol,
11                   double * const restrict work,
12                   double * const restrict INT__k_g_k_k)
13 {
14 
15     SIMINT_ASSUME_ALIGN_DBL(work);
16     SIMINT_ASSUME_ALIGN_DBL(INT__k_g_k_k);
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_k_s = work + (SIMINT_NSHELL_SIMD * 0);
30     double * const INT__k_s_l_s = work + (SIMINT_NSHELL_SIMD * 1296);
31     double * const INT__k_s_m_s = work + (SIMINT_NSHELL_SIMD * 2916);
32     double * const INT__k_s_n_s = work + (SIMINT_NSHELL_SIMD * 4896);
33     double * const INT__k_s_o_s = work + (SIMINT_NSHELL_SIMD * 7272);
34     double * const INT__k_s_q_s = work + (SIMINT_NSHELL_SIMD * 10080);
35     double * const INT__k_s_r_s = work + (SIMINT_NSHELL_SIMD * 13356);
36     double * const INT__k_s_t_s = work + (SIMINT_NSHELL_SIMD * 17136);
37     double * const INT__l_s_k_s = work + (SIMINT_NSHELL_SIMD * 21456);
38     double * const INT__l_s_l_s = work + (SIMINT_NSHELL_SIMD * 23076);
39     double * const INT__l_s_m_s = work + (SIMINT_NSHELL_SIMD * 25101);
40     double * const INT__l_s_n_s = work + (SIMINT_NSHELL_SIMD * 27576);
41     double * const INT__l_s_o_s = work + (SIMINT_NSHELL_SIMD * 30546);
42     double * const INT__l_s_q_s = work + (SIMINT_NSHELL_SIMD * 34056);
43     double * const INT__l_s_r_s = work + (SIMINT_NSHELL_SIMD * 38151);
44     double * const INT__l_s_t_s = work + (SIMINT_NSHELL_SIMD * 42876);
45     double * const INT__m_s_k_s = work + (SIMINT_NSHELL_SIMD * 48276);
46     double * const INT__m_s_l_s = work + (SIMINT_NSHELL_SIMD * 50256);
47     double * const INT__m_s_m_s = work + (SIMINT_NSHELL_SIMD * 52731);
48     double * const INT__m_s_n_s = work + (SIMINT_NSHELL_SIMD * 55756);
49     double * const INT__m_s_o_s = work + (SIMINT_NSHELL_SIMD * 59386);
50     double * const INT__m_s_q_s = work + (SIMINT_NSHELL_SIMD * 63676);
51     double * const INT__m_s_r_s = work + (SIMINT_NSHELL_SIMD * 68681);
52     double * const INT__m_s_t_s = work + (SIMINT_NSHELL_SIMD * 74456);
53     double * const INT__n_s_k_s = work + (SIMINT_NSHELL_SIMD * 81056);
54     double * const INT__n_s_l_s = work + (SIMINT_NSHELL_SIMD * 83432);
55     double * const INT__n_s_m_s = work + (SIMINT_NSHELL_SIMD * 86402);
56     double * const INT__n_s_n_s = work + (SIMINT_NSHELL_SIMD * 90032);
57     double * const INT__n_s_o_s = work + (SIMINT_NSHELL_SIMD * 94388);
58     double * const INT__n_s_q_s = work + (SIMINT_NSHELL_SIMD * 99536);
59     double * const INT__n_s_r_s = work + (SIMINT_NSHELL_SIMD * 105542);
60     double * const INT__n_s_t_s = work + (SIMINT_NSHELL_SIMD * 112472);
61     double * const INT__o_s_k_s = work + (SIMINT_NSHELL_SIMD * 120392);
62     double * const INT__o_s_l_s = work + (SIMINT_NSHELL_SIMD * 123200);
63     double * const INT__o_s_m_s = work + (SIMINT_NSHELL_SIMD * 126710);
64     double * const INT__o_s_n_s = work + (SIMINT_NSHELL_SIMD * 131000);
65     double * const INT__o_s_o_s = work + (SIMINT_NSHELL_SIMD * 136148);
66     double * const INT__o_s_q_s = work + (SIMINT_NSHELL_SIMD * 142232);
67     double * const INT__o_s_r_s = work + (SIMINT_NSHELL_SIMD * 149330);
68     double * const INT__o_s_t_s = work + (SIMINT_NSHELL_SIMD * 157520);
69     SIMINT_DBLTYPE * const primwork = (SIMINT_DBLTYPE *)(work + SIMINT_NSHELL_SIMD*166880);
70     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_s_s = primwork + 0;
71     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_p_s = primwork + 26;
72     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_d_s = primwork + 101;
73     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_f_s = primwork + 245;
74     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_g_s = primwork + 475;
75     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_h_s = primwork + 805;
76     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_i_s = primwork + 1246;
77     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_k_s = primwork + 1806;
78     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_l_s = primwork + 2490;
79     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_m_s = primwork + 3300;
80     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_n_s = primwork + 4235;
81     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_o_s = primwork + 5291;
82     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_q_s = primwork + 6461;
83     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_r_s = primwork + 7735;
84     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_t_s = primwork + 9100;
85     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_s_s = primwork + 10540;
86     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_p_s = primwork + 10573;
87     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_d_s = primwork + 10672;
88     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_f_s = primwork + 10870;
89     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_g_s = primwork + 11200;
90     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_h_s = primwork + 11695;
91     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_i_s = primwork + 12388;
92     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_k_s = primwork + 13312;
93     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_l_s = primwork + 14500;
94     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_m_s = primwork + 15985;
95     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_n_s = primwork + 17800;
96     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_o_s = primwork + 19978;
97     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_q_s = primwork + 22552;
98     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_r_s = primwork + 25555;
99     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_t_s = primwork + 29020;
100     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_s_s = primwork + 32980;
101     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_p_s = primwork + 33040;
102     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_d_s = primwork + 33220;
103     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_f_s = primwork + 33580;
104     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_g_s = primwork + 34180;
105     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_h_s = primwork + 35080;
106     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_i_s = primwork + 36340;
107     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_k_s = primwork + 38020;
108     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_l_s = primwork + 40180;
109     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_m_s = primwork + 42880;
110     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_n_s = primwork + 46180;
111     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_o_s = primwork + 50140;
112     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_q_s = primwork + 54820;
113     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_r_s = primwork + 60280;
114     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_t_s = primwork + 66580;
115     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s = primwork + 73780;
116     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_p_s = primwork + 73870;
117     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_d_s = primwork + 74140;
118     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_f_s = primwork + 74680;
119     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_g_s = primwork + 75580;
120     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_h_s = primwork + 76930;
121     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_i_s = primwork + 78820;
122     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_k_s = primwork + 81340;
123     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_l_s = primwork + 84580;
124     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_m_s = primwork + 88630;
125     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_n_s = primwork + 93580;
126     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_o_s = primwork + 99520;
127     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_q_s = primwork + 106540;
128     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_r_s = primwork + 114730;
129     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_t_s = primwork + 124180;
130     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s = primwork + 134980;
131     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_p_s = primwork + 135100;
132     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_d_s = primwork + 135460;
133     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_f_s = primwork + 136180;
134     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_g_s = primwork + 137380;
135     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_h_s = primwork + 139180;
136     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_i_s = primwork + 141700;
137     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_k_s = primwork + 145060;
138     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_l_s = primwork + 149380;
139     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_m_s = primwork + 154780;
140     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_n_s = primwork + 161380;
141     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_o_s = primwork + 169300;
142     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_q_s = primwork + 178660;
143     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_r_s = primwork + 189580;
144     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_t_s = primwork + 202180;
145     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_p_s = primwork + 216580;
146     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_d_s = primwork + 217021;
147     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_f_s = primwork + 217903;
148     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_g_s = primwork + 219373;
149     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_h_s = primwork + 221578;
150     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_i_s = primwork + 224665;
151     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_k_s = primwork + 228781;
152     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_l_s = primwork + 234073;
153     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_m_s = primwork + 240688;
154     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_n_s = primwork + 248773;
155     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_o_s = primwork + 258475;
156     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_q_s = primwork + 269941;
157     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_r_s = primwork + 283318;
158     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_t_s = primwork + 298753;
159     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_d_s = primwork + 316393;
160     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_f_s = primwork + 317401;
161     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_g_s = primwork + 319081;
162     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_h_s = primwork + 321601;
163     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_i_s = primwork + 325129;
164     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_k_s = primwork + 329833;
165     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_l_s = primwork + 335881;
166     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_m_s = primwork + 343441;
167     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_n_s = primwork + 352681;
168     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_o_s = primwork + 363769;
169     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_q_s = primwork + 376873;
170     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_r_s = primwork + 392161;
171     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_t_s = primwork + 409801;
172     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_f_s = primwork + 429961;
173     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_g_s = primwork + 431761;
174     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_h_s = primwork + 434461;
175     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_i_s = primwork + 438241;
176     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_k_s = primwork + 443281;
177     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_l_s = primwork + 449761;
178     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_m_s = primwork + 457861;
179     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_n_s = primwork + 467761;
180     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_o_s = primwork + 479641;
181     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_q_s = primwork + 493681;
182     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_r_s = primwork + 510061;
183     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_t_s = primwork + 528961;
184     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_g_s = primwork + 550561;
185     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_h_s = primwork + 553261;
186     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_i_s = primwork + 557041;
187     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_k_s = primwork + 562081;
188     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_l_s = primwork + 568561;
189     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_m_s = primwork + 576661;
190     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_n_s = primwork + 586561;
191     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_o_s = primwork + 598441;
192     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_q_s = primwork + 612481;
193     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_r_s = primwork + 628861;
194     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_t_s = primwork + 647761;
195     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_h_s = primwork + 669361;
196     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_i_s = primwork + 672826;
197     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_k_s = primwork + 677446;
198     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_l_s = primwork + 683386;
199     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_m_s = primwork + 690811;
200     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_n_s = primwork + 699886;
201     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_o_s = primwork + 710776;
202     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_q_s = primwork + 723646;
203     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_r_s = primwork + 738661;
204     SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_t_s = primwork + 755986;
205     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_i_s = primwork + 775786;
206     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_k_s = primwork + 779482;
207     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_l_s = primwork + 784234;
208     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_m_s = primwork + 790174;
209     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_n_s = primwork + 797434;
210     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_o_s = primwork + 806146;
211     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_q_s = primwork + 816442;
212     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_r_s = primwork + 828454;
213     SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_t_s = primwork + 842314;
214     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_k_s = primwork + 858154;
215     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_l_s = primwork + 860962;
216     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_m_s = primwork + 864472;
217     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_n_s = primwork + 868762;
218     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_o_s = primwork + 873910;
219     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_q_s = primwork + 879994;
220     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_r_s = primwork + 887092;
221     SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_t_s = primwork + 895282;
222     double * const hrrwork = (double *)(primwork + 904642);
223     double * const HRR_INT__k_p_k_s = hrrwork + 0;
224     double * const HRR_INT__k_p_l_s = hrrwork + 3888;
225     double * const HRR_INT__k_p_m_s = hrrwork + 8748;
226     double * const HRR_INT__k_p_n_s = hrrwork + 14688;
227     double * const HRR_INT__k_p_o_s = hrrwork + 21816;
228     double * const HRR_INT__k_p_q_s = hrrwork + 30240;
229     double * const HRR_INT__k_p_r_s = hrrwork + 40068;
230     double * const HRR_INT__k_p_t_s = hrrwork + 51408;
231     double * const HRR_INT__k_d_k_s = hrrwork + 64368;
232     double * const HRR_INT__k_d_l_s = hrrwork + 72144;
233     double * const HRR_INT__k_d_m_s = hrrwork + 81864;
234     double * const HRR_INT__k_d_n_s = hrrwork + 93744;
235     double * const HRR_INT__k_d_o_s = hrrwork + 108000;
236     double * const HRR_INT__k_d_q_s = hrrwork + 124848;
237     double * const HRR_INT__k_d_r_s = hrrwork + 144504;
238     double * const HRR_INT__k_d_t_s = hrrwork + 167184;
239     double * const HRR_INT__k_f_k_s = hrrwork + 193104;
240     double * const HRR_INT__k_f_l_s = hrrwork + 206064;
241     double * const HRR_INT__k_f_m_s = hrrwork + 222264;
242     double * const HRR_INT__k_f_n_s = hrrwork + 242064;
243     double * const HRR_INT__k_f_o_s = hrrwork + 265824;
244     double * const HRR_INT__k_f_q_s = hrrwork + 293904;
245     double * const HRR_INT__k_f_r_s = hrrwork + 326664;
246     double * const HRR_INT__k_f_t_s = hrrwork + 364464;
247     double * const HRR_INT__k_g_k_s = hrrwork + 407664;
248     double * const HRR_INT__k_g_k_p = hrrwork + 427104;
249     double * const HRR_INT__k_g_k_d = hrrwork + 485424;
250     double * const HRR_INT__k_g_k_f = hrrwork + 602064;
251     double * const HRR_INT__k_g_k_g = hrrwork + 796464;
252     double * const HRR_INT__k_g_k_h = hrrwork + 1088064;
253     double * const HRR_INT__k_g_k_i = hrrwork + 1496304;
254     double * const HRR_INT__k_g_l_s = hrrwork + 2040624;
255     double * const HRR_INT__k_g_l_p = hrrwork + 2064924;
256     double * const HRR_INT__k_g_l_d = hrrwork + 2137824;
257     double * const HRR_INT__k_g_l_f = hrrwork + 2283624;
258     double * const HRR_INT__k_g_l_g = hrrwork + 2526624;
259     double * const HRR_INT__k_g_l_h = hrrwork + 2891124;
260     double * const HRR_INT__k_g_l_i = hrrwork + 3401424;
261     double * const HRR_INT__k_g_m_s = hrrwork + 4081824;
262     double * const HRR_INT__k_g_m_p = hrrwork + 4111524;
263     double * const HRR_INT__k_g_m_d = hrrwork + 4200624;
264     double * const HRR_INT__k_g_m_f = hrrwork + 4378824;
265     double * const HRR_INT__k_g_m_g = hrrwork + 4675824;
266     double * const HRR_INT__k_g_m_h = hrrwork + 5121324;
267     double * const HRR_INT__k_g_n_s = hrrwork + 5745024;
268     double * const HRR_INT__k_g_n_p = hrrwork + 5780664;
269     double * const HRR_INT__k_g_n_d = hrrwork + 5887584;
270     double * const HRR_INT__k_g_n_f = hrrwork + 6101424;
271     double * const HRR_INT__k_g_n_g = hrrwork + 6457824;
272     double * const HRR_INT__k_g_o_s = hrrwork + 6992424;
273     double * const HRR_INT__k_g_o_p = hrrwork + 7034544;
274     double * const HRR_INT__k_g_o_d = hrrwork + 7160904;
275     double * const HRR_INT__k_g_o_f = hrrwork + 7413624;
276     double * const HRR_INT__k_g_q_s = hrrwork + 7834824;
277     double * const HRR_INT__k_g_q_p = hrrwork + 7883964;
278     double * const HRR_INT__k_g_q_d = hrrwork + 8031384;
279     double * const HRR_INT__k_g_r_s = hrrwork + 8326224;
280     double * const HRR_INT__k_g_r_p = hrrwork + 8382924;
281     double * const HRR_INT__k_g_t_s = hrrwork + 8553024;
282     double * const HRR_INT__l_p_k_s = hrrwork + 8617824;
283     double * const HRR_INT__l_p_l_s = hrrwork + 8622684;
284     double * const HRR_INT__l_p_m_s = hrrwork + 8628759;
285     double * const HRR_INT__l_p_n_s = hrrwork + 8636184;
286     double * const HRR_INT__l_p_o_s = hrrwork + 8645094;
287     double * const HRR_INT__l_p_q_s = hrrwork + 8655624;
288     double * const HRR_INT__l_p_r_s = hrrwork + 8667909;
289     double * const HRR_INT__l_p_t_s = hrrwork + 8682084;
290     double * const HRR_INT__l_d_k_s = hrrwork + 8698284;
291     double * const HRR_INT__l_d_l_s = hrrwork + 8708004;
292     double * const HRR_INT__l_d_m_s = hrrwork + 8720154;
293     double * const HRR_INT__l_d_n_s = hrrwork + 8735004;
294     double * const HRR_INT__l_d_o_s = hrrwork + 8752824;
295     double * const HRR_INT__l_d_q_s = hrrwork + 8773884;
296     double * const HRR_INT__l_d_r_s = hrrwork + 8798454;
297     double * const HRR_INT__l_d_t_s = hrrwork + 8826804;
298     double * const HRR_INT__l_f_k_s = hrrwork + 8859204;
299     double * const HRR_INT__l_f_l_s = hrrwork + 8875404;
300     double * const HRR_INT__l_f_m_s = hrrwork + 8895654;
301     double * const HRR_INT__l_f_n_s = hrrwork + 8920404;
302     double * const HRR_INT__l_f_o_s = hrrwork + 8950104;
303     double * const HRR_INT__l_f_q_s = hrrwork + 8985204;
304     double * const HRR_INT__l_f_r_s = hrrwork + 9026154;
305     double * const HRR_INT__l_f_t_s = hrrwork + 9073404;
306     double * const HRR_INT__m_p_k_s = hrrwork + 9127404;
307     double * const HRR_INT__m_p_l_s = hrrwork + 9133344;
308     double * const HRR_INT__m_p_m_s = hrrwork + 9140769;
309     double * const HRR_INT__m_p_n_s = hrrwork + 9149844;
310     double * const HRR_INT__m_p_o_s = hrrwork + 9160734;
311     double * const HRR_INT__m_p_q_s = hrrwork + 9173604;
312     double * const HRR_INT__m_p_r_s = hrrwork + 9188619;
313     double * const HRR_INT__m_p_t_s = hrrwork + 9205944;
314     double * const HRR_INT__m_d_k_s = hrrwork + 9225744;
315     double * const HRR_INT__m_d_l_s = hrrwork + 9237624;
316     double * const HRR_INT__m_d_m_s = hrrwork + 9252474;
317     double * const HRR_INT__m_d_n_s = hrrwork + 9270624;
318     double * const HRR_INT__m_d_o_s = hrrwork + 9292404;
319     double * const HRR_INT__m_d_q_s = hrrwork + 9318144;
320     double * const HRR_INT__m_d_r_s = hrrwork + 9348174;
321     double * const HRR_INT__m_d_t_s = hrrwork + 9382824;
322     double * const HRR_INT__n_p_k_s = hrrwork + 9422424;
323     double * const HRR_INT__n_p_l_s = hrrwork + 9429552;
324     double * const HRR_INT__n_p_m_s = hrrwork + 9438462;
325     double * const HRR_INT__n_p_n_s = hrrwork + 9449352;
326     double * const HRR_INT__n_p_o_s = hrrwork + 9462420;
327     double * const HRR_INT__n_p_q_s = hrrwork + 9477864;
328     double * const HRR_INT__n_p_r_s = hrrwork + 9495882;
329     double * const HRR_INT__n_p_t_s = hrrwork + 9516672;
330 
331 
332     // Create constants
333     const SIMINT_DBLTYPE const_1 = SIMINT_DBLSET1(1);
334     const SIMINT_DBLTYPE const_10 = SIMINT_DBLSET1(10);
335     const SIMINT_DBLTYPE const_11 = SIMINT_DBLSET1(11);
336     const SIMINT_DBLTYPE const_12 = SIMINT_DBLSET1(12);
337     const SIMINT_DBLTYPE const_13 = SIMINT_DBLSET1(13);
338     const SIMINT_DBLTYPE const_14 = SIMINT_DBLSET1(14);
339     const SIMINT_DBLTYPE const_2 = SIMINT_DBLSET1(2);
340     const SIMINT_DBLTYPE const_3 = SIMINT_DBLSET1(3);
341     const SIMINT_DBLTYPE const_4 = SIMINT_DBLSET1(4);
342     const SIMINT_DBLTYPE const_5 = SIMINT_DBLSET1(5);
343     const SIMINT_DBLTYPE const_6 = SIMINT_DBLSET1(6);
344     const SIMINT_DBLTYPE const_7 = SIMINT_DBLSET1(7);
345     const SIMINT_DBLTYPE const_8 = SIMINT_DBLSET1(8);
346     const SIMINT_DBLTYPE const_9 = SIMINT_DBLSET1(9);
347     const SIMINT_DBLTYPE one_half = SIMINT_DBLSET1(0.5);
348 
349 
350     ////////////////////////////////////////
351     // Loop over shells and primitives
352     ////////////////////////////////////////
353 
354     real_abcd = 0;
355     istart = 0;
356     for(ab = 0; ab < P.nshell12_clip; ++ab)
357     {
358         const int iend = istart + P.nprim12[ab];
359 
360         cd = 0;
361         jstart = 0;
362 
363         for(cd = 0; cd < Q.nshell12_clip; cd += SIMINT_NSHELL_SIMD)
364         {
365             const int nshellbatch = ((cd + SIMINT_NSHELL_SIMD) > Q.nshell12_clip) ? Q.nshell12_clip - cd : SIMINT_NSHELL_SIMD;
366             int jend = jstart;
367             for(i = 0; i < nshellbatch; i++)
368                 jend += Q.nprim12[cd+i];
369 
370             // Clear the beginning of the workspace (where we are accumulating integrals)
371             memset(work, 0, SIMINT_NSHELL_SIMD * 166880 * sizeof(double));
372             abcd = 0;
373 
374 
375             for(i = istart; i < iend; ++i)
376             {
377                 SIMINT_DBLTYPE bra_screen_max;  // only used if check_screen
378 
379                 if(check_screen)
380                 {
381                     // Skip this whole thing if always insignificant
382                     if((P.screen[i] * Q.screen_max) < screen_tol)
383                         continue;
384                     bra_screen_max = SIMINT_DBLSET1(P.screen[i]);
385                 }
386 
387                 icd = 0;
388                 iprimcd = 0;
389                 nprim_icd = Q.nprim12[cd];
390                 double * restrict PRIM_PTR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
391                 double * restrict PRIM_PTR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
392                 double * restrict PRIM_PTR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
393                 double * restrict PRIM_PTR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
394                 double * restrict PRIM_PTR_INT__k_s_o_s = INT__k_s_o_s + abcd * 2808;
395                 double * restrict PRIM_PTR_INT__k_s_q_s = INT__k_s_q_s + abcd * 3276;
396                 double * restrict PRIM_PTR_INT__k_s_r_s = INT__k_s_r_s + abcd * 3780;
397                 double * restrict PRIM_PTR_INT__k_s_t_s = INT__k_s_t_s + abcd * 4320;
398                 double * restrict PRIM_PTR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
399                 double * restrict PRIM_PTR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
400                 double * restrict PRIM_PTR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
401                 double * restrict PRIM_PTR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
402                 double * restrict PRIM_PTR_INT__l_s_o_s = INT__l_s_o_s + abcd * 3510;
403                 double * restrict PRIM_PTR_INT__l_s_q_s = INT__l_s_q_s + abcd * 4095;
404                 double * restrict PRIM_PTR_INT__l_s_r_s = INT__l_s_r_s + abcd * 4725;
405                 double * restrict PRIM_PTR_INT__l_s_t_s = INT__l_s_t_s + abcd * 5400;
406                 double * restrict PRIM_PTR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
407                 double * restrict PRIM_PTR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
408                 double * restrict PRIM_PTR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
409                 double * restrict PRIM_PTR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
410                 double * restrict PRIM_PTR_INT__m_s_o_s = INT__m_s_o_s + abcd * 4290;
411                 double * restrict PRIM_PTR_INT__m_s_q_s = INT__m_s_q_s + abcd * 5005;
412                 double * restrict PRIM_PTR_INT__m_s_r_s = INT__m_s_r_s + abcd * 5775;
413                 double * restrict PRIM_PTR_INT__m_s_t_s = INT__m_s_t_s + abcd * 6600;
414                 double * restrict PRIM_PTR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
415                 double * restrict PRIM_PTR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
416                 double * restrict PRIM_PTR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
417                 double * restrict PRIM_PTR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
418                 double * restrict PRIM_PTR_INT__n_s_o_s = INT__n_s_o_s + abcd * 5148;
419                 double * restrict PRIM_PTR_INT__n_s_q_s = INT__n_s_q_s + abcd * 6006;
420                 double * restrict PRIM_PTR_INT__n_s_r_s = INT__n_s_r_s + abcd * 6930;
421                 double * restrict PRIM_PTR_INT__n_s_t_s = INT__n_s_t_s + abcd * 7920;
422                 double * restrict PRIM_PTR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
423                 double * restrict PRIM_PTR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
424                 double * restrict PRIM_PTR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
425                 double * restrict PRIM_PTR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
426                 double * restrict PRIM_PTR_INT__o_s_o_s = INT__o_s_o_s + abcd * 6084;
427                 double * restrict PRIM_PTR_INT__o_s_q_s = INT__o_s_q_s + abcd * 7098;
428                 double * restrict PRIM_PTR_INT__o_s_r_s = INT__o_s_r_s + abcd * 8190;
429                 double * restrict PRIM_PTR_INT__o_s_t_s = INT__o_s_t_s + abcd * 9360;
430 
431 
432 
433                 // Load these one per loop over i
434                 const SIMINT_DBLTYPE P_alpha = SIMINT_DBLSET1(P.alpha[i]);
435                 const SIMINT_DBLTYPE P_prefac = SIMINT_DBLSET1(P.prefac[i]);
436                 const SIMINT_DBLTYPE Pxyz[3] = { SIMINT_DBLSET1(P.x[i]), SIMINT_DBLSET1(P.y[i]), SIMINT_DBLSET1(P.z[i]) };
437 
438                 const SIMINT_DBLTYPE P_PA[3] = { SIMINT_DBLSET1(P.PA_x[i]), SIMINT_DBLSET1(P.PA_y[i]), SIMINT_DBLSET1(P.PA_z[i]) };
439 
440                 for(j = jstart; j < jend; j += SIMINT_SIMD_LEN)
441                 {
442                     // calculate the shell offsets
443                     // these are the offset from the shell pointed to by cd
444                     // for each element
445                     int shelloffsets[SIMINT_SIMD_LEN] = {0};
446                     int lastoffset = 0;
447                     const int nlane = ( ((j + SIMINT_SIMD_LEN) < jend) ? SIMINT_SIMD_LEN : (jend - j));
448 
449                     if((iprimcd + SIMINT_SIMD_LEN) >= nprim_icd)
450                     {
451                         // Handle if the first element of the vector is a new shell
452                         if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
453                         {
454                             nprim_icd += Q.nprim12[cd + (++icd)];
455                             PRIM_PTR_INT__k_s_k_s += 1296;
456                             PRIM_PTR_INT__k_s_l_s += 1620;
457                             PRIM_PTR_INT__k_s_m_s += 1980;
458                             PRIM_PTR_INT__k_s_n_s += 2376;
459                             PRIM_PTR_INT__k_s_o_s += 2808;
460                             PRIM_PTR_INT__k_s_q_s += 3276;
461                             PRIM_PTR_INT__k_s_r_s += 3780;
462                             PRIM_PTR_INT__k_s_t_s += 4320;
463                             PRIM_PTR_INT__l_s_k_s += 1620;
464                             PRIM_PTR_INT__l_s_l_s += 2025;
465                             PRIM_PTR_INT__l_s_m_s += 2475;
466                             PRIM_PTR_INT__l_s_n_s += 2970;
467                             PRIM_PTR_INT__l_s_o_s += 3510;
468                             PRIM_PTR_INT__l_s_q_s += 4095;
469                             PRIM_PTR_INT__l_s_r_s += 4725;
470                             PRIM_PTR_INT__l_s_t_s += 5400;
471                             PRIM_PTR_INT__m_s_k_s += 1980;
472                             PRIM_PTR_INT__m_s_l_s += 2475;
473                             PRIM_PTR_INT__m_s_m_s += 3025;
474                             PRIM_PTR_INT__m_s_n_s += 3630;
475                             PRIM_PTR_INT__m_s_o_s += 4290;
476                             PRIM_PTR_INT__m_s_q_s += 5005;
477                             PRIM_PTR_INT__m_s_r_s += 5775;
478                             PRIM_PTR_INT__m_s_t_s += 6600;
479                             PRIM_PTR_INT__n_s_k_s += 2376;
480                             PRIM_PTR_INT__n_s_l_s += 2970;
481                             PRIM_PTR_INT__n_s_m_s += 3630;
482                             PRIM_PTR_INT__n_s_n_s += 4356;
483                             PRIM_PTR_INT__n_s_o_s += 5148;
484                             PRIM_PTR_INT__n_s_q_s += 6006;
485                             PRIM_PTR_INT__n_s_r_s += 6930;
486                             PRIM_PTR_INT__n_s_t_s += 7920;
487                             PRIM_PTR_INT__o_s_k_s += 2808;
488                             PRIM_PTR_INT__o_s_l_s += 3510;
489                             PRIM_PTR_INT__o_s_m_s += 4290;
490                             PRIM_PTR_INT__o_s_n_s += 5148;
491                             PRIM_PTR_INT__o_s_o_s += 6084;
492                             PRIM_PTR_INT__o_s_q_s += 7098;
493                             PRIM_PTR_INT__o_s_r_s += 8190;
494                             PRIM_PTR_INT__o_s_t_s += 9360;
495                         }
496                         iprimcd++;
497                         for(n = 1; n < SIMINT_SIMD_LEN; ++n)
498                         {
499                             if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
500                             {
501                                 shelloffsets[n] = shelloffsets[n-1] + 1;
502                                 lastoffset++;
503                                 nprim_icd += Q.nprim12[cd + (++icd)];
504                             }
505                             else
506                                 shelloffsets[n] = shelloffsets[n-1];
507                             iprimcd++;
508                         }
509                     }
510                     else
511                         iprimcd += SIMINT_SIMD_LEN;
512 
513                     // Do we have to compute this vector (or has it been screened out)?
514                     // (not_screened != 0 means we have to do this vector)
515                     if(check_screen)
516                     {
517                         const double vmax = vector_max(SIMINT_MUL(bra_screen_max, SIMINT_DBLLOAD(Q.screen, j)));
518                         if(vmax < screen_tol)
519                         {
520                             PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
521                             PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
522                             PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
523                             PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
524                             PRIM_PTR_INT__k_s_o_s += lastoffset*2808;
525                             PRIM_PTR_INT__k_s_q_s += lastoffset*3276;
526                             PRIM_PTR_INT__k_s_r_s += lastoffset*3780;
527                             PRIM_PTR_INT__k_s_t_s += lastoffset*4320;
528                             PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
529                             PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
530                             PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
531                             PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
532                             PRIM_PTR_INT__l_s_o_s += lastoffset*3510;
533                             PRIM_PTR_INT__l_s_q_s += lastoffset*4095;
534                             PRIM_PTR_INT__l_s_r_s += lastoffset*4725;
535                             PRIM_PTR_INT__l_s_t_s += lastoffset*5400;
536                             PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
537                             PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
538                             PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
539                             PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
540                             PRIM_PTR_INT__m_s_o_s += lastoffset*4290;
541                             PRIM_PTR_INT__m_s_q_s += lastoffset*5005;
542                             PRIM_PTR_INT__m_s_r_s += lastoffset*5775;
543                             PRIM_PTR_INT__m_s_t_s += lastoffset*6600;
544                             PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
545                             PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
546                             PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
547                             PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
548                             PRIM_PTR_INT__n_s_o_s += lastoffset*5148;
549                             PRIM_PTR_INT__n_s_q_s += lastoffset*6006;
550                             PRIM_PTR_INT__n_s_r_s += lastoffset*6930;
551                             PRIM_PTR_INT__n_s_t_s += lastoffset*7920;
552                             PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
553                             PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
554                             PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
555                             PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
556                             PRIM_PTR_INT__o_s_o_s += lastoffset*6084;
557                             PRIM_PTR_INT__o_s_q_s += lastoffset*7098;
558                             PRIM_PTR_INT__o_s_r_s += lastoffset*8190;
559                             PRIM_PTR_INT__o_s_t_s += lastoffset*9360;
560                             continue;
561                         }
562                     }
563 
564                     const SIMINT_DBLTYPE Q_alpha = SIMINT_DBLLOAD(Q.alpha, j);
565                     const SIMINT_DBLTYPE PQalpha_mul = SIMINT_MUL(P_alpha, Q_alpha);
566                     const SIMINT_DBLTYPE PQalpha_sum = SIMINT_ADD(P_alpha, Q_alpha);
567                     const SIMINT_DBLTYPE one_over_PQalpha_sum = SIMINT_DIV(const_1, PQalpha_sum);
568 
569 
570                     /* construct R2 = (Px - Qx)**2 + (Py - Qy)**2 + (Pz -Qz)**2 */
571                     SIMINT_DBLTYPE PQ[3];
572                     PQ[0] = SIMINT_SUB(Pxyz[0], SIMINT_DBLLOAD(Q.x, j));
573                     PQ[1] = SIMINT_SUB(Pxyz[1], SIMINT_DBLLOAD(Q.y, j));
574                     PQ[2] = SIMINT_SUB(Pxyz[2], SIMINT_DBLLOAD(Q.z, j));
575                     SIMINT_DBLTYPE R2 = SIMINT_MUL(PQ[0], PQ[0]);
576                     R2 = SIMINT_FMADD(PQ[1], PQ[1], R2);
577                     R2 = SIMINT_FMADD(PQ[2], PQ[2], R2);
578 
579                     const SIMINT_DBLTYPE alpha = SIMINT_MUL(PQalpha_mul, one_over_PQalpha_sum); // alpha from MEST
580                     const SIMINT_DBLTYPE one_over_p = SIMINT_DIV(const_1, P_alpha);
581                     const SIMINT_DBLTYPE one_over_q = SIMINT_DIV(const_1, Q_alpha);
582                     const SIMINT_DBLTYPE one_over_2p = SIMINT_MUL(one_half, one_over_p);
583                     const SIMINT_DBLTYPE one_over_2q = SIMINT_MUL(one_half, one_over_q);
584                     const SIMINT_DBLTYPE one_over_2pq = SIMINT_MUL(one_half, one_over_PQalpha_sum);
585                     const SIMINT_DBLTYPE Q_PA[3] = { SIMINT_DBLLOAD(Q.PA_x, j), SIMINT_DBLLOAD(Q.PA_y, j), SIMINT_DBLLOAD(Q.PA_z, j) };
586 
587                     // NOTE: Minus sign!
588                     const SIMINT_DBLTYPE a_over_p = SIMINT_MUL(SIMINT_NEG(alpha), one_over_p);
589                     SIMINT_DBLTYPE aop_PQ[3];
590                     aop_PQ[0] = SIMINT_MUL(a_over_p, PQ[0]);
591                     aop_PQ[1] = SIMINT_MUL(a_over_p, PQ[1]);
592                     aop_PQ[2] = SIMINT_MUL(a_over_p, PQ[2]);
593 
594                     SIMINT_DBLTYPE a_over_q = SIMINT_MUL(alpha, one_over_q);
595                     SIMINT_DBLTYPE aoq_PQ[3];
596                     aoq_PQ[0] = SIMINT_MUL(a_over_q, PQ[0]);
597                     aoq_PQ[1] = SIMINT_MUL(a_over_q, PQ[1]);
598                     aoq_PQ[2] = SIMINT_MUL(a_over_q, PQ[2]);
599                     // Put a minus sign here so we don't have to in RR routines
600                     a_over_q = SIMINT_NEG(a_over_q);
601 
602 
603                     //////////////////////////////////////////////
604                     // Fjt function section
605                     // Maximum v value: 25
606                     //////////////////////////////////////////////
607                     // The parameter to the Fjt function
608                     const SIMINT_DBLTYPE F_x = SIMINT_MUL(R2, alpha);
609 
610 
611                     const SIMINT_DBLTYPE Q_prefac = mask_load(nlane, Q.prefac + j);
612 
613 
614                     boys_F_split(PRIM_INT__s_s_s_s, F_x, 25);
615                     SIMINT_DBLTYPE prefac = SIMINT_SQRT(one_over_PQalpha_sum);
616                     prefac = SIMINT_MUL(SIMINT_MUL(P_prefac, Q_prefac), prefac);
617                     for(n = 0; n <= 25; n++)
618                         PRIM_INT__s_s_s_s[n] = SIMINT_MUL(PRIM_INT__s_s_s_s[n], prefac);
619 
620                     //////////////////////////////////////////////
621                     // Primitive integrals: Vertical recurrance
622                     //////////////////////////////////////////////
623 
624                     const SIMINT_DBLTYPE vrr_const_1_over_2p = one_over_2p;
625                     const SIMINT_DBLTYPE vrr_const_2_over_2p = SIMINT_MUL(const_2, one_over_2p);
626                     const SIMINT_DBLTYPE vrr_const_3_over_2p = SIMINT_MUL(const_3, one_over_2p);
627                     const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(const_4, one_over_2p);
628                     const SIMINT_DBLTYPE vrr_const_5_over_2p = SIMINT_MUL(const_5, one_over_2p);
629                     const SIMINT_DBLTYPE vrr_const_6_over_2p = SIMINT_MUL(const_6, one_over_2p);
630                     const SIMINT_DBLTYPE vrr_const_7_over_2p = SIMINT_MUL(const_7, one_over_2p);
631                     const SIMINT_DBLTYPE vrr_const_8_over_2p = SIMINT_MUL(const_8, one_over_2p);
632                     const SIMINT_DBLTYPE vrr_const_9_over_2p = SIMINT_MUL(const_9, one_over_2p);
633                     const SIMINT_DBLTYPE vrr_const_10_over_2p = SIMINT_MUL(const_10, one_over_2p);
634                     const SIMINT_DBLTYPE vrr_const_1_over_2q = one_over_2q;
635                     const SIMINT_DBLTYPE vrr_const_2_over_2q = SIMINT_MUL(const_2, one_over_2q);
636                     const SIMINT_DBLTYPE vrr_const_3_over_2q = SIMINT_MUL(const_3, one_over_2q);
637                     const SIMINT_DBLTYPE vrr_const_4_over_2q = SIMINT_MUL(const_4, one_over_2q);
638                     const SIMINT_DBLTYPE vrr_const_5_over_2q = SIMINT_MUL(const_5, one_over_2q);
639                     const SIMINT_DBLTYPE vrr_const_6_over_2q = SIMINT_MUL(const_6, one_over_2q);
640                     const SIMINT_DBLTYPE vrr_const_7_over_2q = SIMINT_MUL(const_7, one_over_2q);
641                     const SIMINT_DBLTYPE vrr_const_8_over_2q = SIMINT_MUL(const_8, one_over_2q);
642                     const SIMINT_DBLTYPE vrr_const_9_over_2q = SIMINT_MUL(const_9, one_over_2q);
643                     const SIMINT_DBLTYPE vrr_const_10_over_2q = SIMINT_MUL(const_10, one_over_2q);
644                     const SIMINT_DBLTYPE vrr_const_11_over_2q = SIMINT_MUL(const_11, one_over_2q);
645                     const SIMINT_DBLTYPE vrr_const_12_over_2q = SIMINT_MUL(const_12, one_over_2q);
646                     const SIMINT_DBLTYPE vrr_const_13_over_2q = SIMINT_MUL(const_13, one_over_2q);
647                     const SIMINT_DBLTYPE vrr_const_1_over_2pq = one_over_2pq;
648                     const SIMINT_DBLTYPE vrr_const_2_over_2pq = SIMINT_MUL(const_2, one_over_2pq);
649                     const SIMINT_DBLTYPE vrr_const_3_over_2pq = SIMINT_MUL(const_3, one_over_2pq);
650                     const SIMINT_DBLTYPE vrr_const_4_over_2pq = SIMINT_MUL(const_4, one_over_2pq);
651                     const SIMINT_DBLTYPE vrr_const_5_over_2pq = SIMINT_MUL(const_5, one_over_2pq);
652                     const SIMINT_DBLTYPE vrr_const_6_over_2pq = SIMINT_MUL(const_6, one_over_2pq);
653                     const SIMINT_DBLTYPE vrr_const_7_over_2pq = SIMINT_MUL(const_7, one_over_2pq);
654                     const SIMINT_DBLTYPE vrr_const_8_over_2pq = SIMINT_MUL(const_8, one_over_2pq);
655                     const SIMINT_DBLTYPE vrr_const_9_over_2pq = SIMINT_MUL(const_9, one_over_2pq);
656                     const SIMINT_DBLTYPE vrr_const_10_over_2pq = SIMINT_MUL(const_10, one_over_2pq);
657                     const SIMINT_DBLTYPE vrr_const_11_over_2pq = SIMINT_MUL(const_11, one_over_2pq);
658                     const SIMINT_DBLTYPE vrr_const_12_over_2pq = SIMINT_MUL(const_12, one_over_2pq);
659                     const SIMINT_DBLTYPE vrr_const_13_over_2pq = SIMINT_MUL(const_13, one_over_2pq);
660                     const SIMINT_DBLTYPE vrr_const_14_over_2pq = SIMINT_MUL(const_14, one_over_2pq);
661 
662 
663 
664                     // Forming PRIM_INT__s_s_p_s[25 * 3];
665                     for(n = 0; n < 25; ++n)  // loop over orders of auxiliary function
666                     {
667 
668                         PRIM_INT__s_s_p_s[n * 3 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
669                         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]);
670 
671                         PRIM_INT__s_s_p_s[n * 3 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
672                         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]);
673 
674                         PRIM_INT__s_s_p_s[n * 3 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
675                         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]);
676 
677                     }
678 
679 
680 
681                     // Forming PRIM_INT__s_s_d_s[24 * 6];
682                     for(n = 0; n < 24; ++n)  // loop over orders of auxiliary function
683                     {
684 
685                         PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
686                         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]);
687                         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]);
688 
689                         PRIM_INT__s_s_d_s[n * 6 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 0]);
690                         PRIM_INT__s_s_d_s[n * 6 + 1] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__s_s_d_s[n * 6 + 1]);
691 
692                         PRIM_INT__s_s_d_s[n * 6 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 0]);
693                         PRIM_INT__s_s_d_s[n * 6 + 2] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__s_s_d_s[n * 6 + 2]);
694 
695                         PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
696                         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]);
697                         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]);
698 
699                         PRIM_INT__s_s_d_s[n * 6 + 4] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 1]);
700                         PRIM_INT__s_s_d_s[n * 6 + 4] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__s_s_d_s[n * 6 + 4]);
701 
702                         PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
703                         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]);
704                         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]);
705 
706                     }
707 
708 
709 
710                     // Forming PRIM_INT__s_s_f_s[23 * 10];
711                     for(n = 0; n < 23; ++n)  // loop over orders of auxiliary function
712                     {
713 
714                         PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
715                         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]);
716                         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]);
717 
718                         PRIM_INT__s_s_f_s[n * 10 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 0]);
719                         PRIM_INT__s_s_f_s[n * 10 + 1] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 0], PRIM_INT__s_s_f_s[n * 10 + 1]);
720 
721                         PRIM_INT__s_s_f_s[n * 10 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 0]);
722                         PRIM_INT__s_s_f_s[n * 10 + 2] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 0], PRIM_INT__s_s_f_s[n * 10 + 2]);
723 
724                         PRIM_INT__s_s_f_s[n * 10 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 3]);
725                         PRIM_INT__s_s_f_s[n * 10 + 3] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 3], PRIM_INT__s_s_f_s[n * 10 + 3]);
726 
727                         PRIM_INT__s_s_f_s[n * 10 + 4] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 1]);
728                         PRIM_INT__s_s_f_s[n * 10 + 4] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 1], PRIM_INT__s_s_f_s[n * 10 + 4]);
729 
730                         PRIM_INT__s_s_f_s[n * 10 + 5] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 5]);
731                         PRIM_INT__s_s_f_s[n * 10 + 5] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 5], PRIM_INT__s_s_f_s[n * 10 + 5]);
732 
733                         PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
734                         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]);
735                         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]);
736 
737                         PRIM_INT__s_s_f_s[n * 10 + 7] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 3]);
738                         PRIM_INT__s_s_f_s[n * 10 + 7] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 3], PRIM_INT__s_s_f_s[n * 10 + 7]);
739 
740                         PRIM_INT__s_s_f_s[n * 10 + 8] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 5]);
741                         PRIM_INT__s_s_f_s[n * 10 + 8] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 5], PRIM_INT__s_s_f_s[n * 10 + 8]);
742 
743                         PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
744                         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]);
745                         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]);
746 
747                     }
748 
749 
750                     VRR_K_s_s_g_s(
751                             PRIM_INT__s_s_g_s,
752                             PRIM_INT__s_s_f_s,
753                             PRIM_INT__s_s_d_s,
754                             Q_PA,
755                             a_over_q,
756                             aoq_PQ,
757                             one_over_2q,
758                             22);
759 
760 
761                     VRR_K_s_s_h_s(
762                             PRIM_INT__s_s_h_s,
763                             PRIM_INT__s_s_g_s,
764                             PRIM_INT__s_s_f_s,
765                             Q_PA,
766                             a_over_q,
767                             aoq_PQ,
768                             one_over_2q,
769                             21);
770 
771 
772                     ostei_general_vrr1_K(6, 20,
773                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
774                             PRIM_INT__s_s_h_s, PRIM_INT__s_s_g_s, PRIM_INT__s_s_i_s);
775 
776 
777                     ostei_general_vrr1_K(7, 19,
778                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
779                             PRIM_INT__s_s_i_s, PRIM_INT__s_s_h_s, PRIM_INT__s_s_k_s);
780 
781 
782                     ostei_general_vrr_I(1, 0, 7, 0, 11,
783                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
784                             PRIM_INT__s_s_k_s, NULL, NULL, PRIM_INT__s_s_i_s, NULL, PRIM_INT__p_s_k_s);
785 
786 
787                     ostei_general_vrr_I(1, 0, 6, 0, 11,
788                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
789                             PRIM_INT__s_s_i_s, NULL, NULL, PRIM_INT__s_s_h_s, NULL, PRIM_INT__p_s_i_s);
790 
791 
792                     ostei_general_vrr_I(2, 0, 7, 0, 10,
793                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
794                             PRIM_INT__p_s_k_s, PRIM_INT__s_s_k_s, NULL, PRIM_INT__p_s_i_s, NULL, PRIM_INT__d_s_k_s);
795 
796 
797                     ostei_general_vrr_I(1, 0, 5, 0, 11,
798                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
799                             PRIM_INT__s_s_h_s, NULL, NULL, PRIM_INT__s_s_g_s, NULL, PRIM_INT__p_s_h_s);
800 
801 
802                     ostei_general_vrr_I(2, 0, 6, 0, 10,
803                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
804                             PRIM_INT__p_s_i_s, PRIM_INT__s_s_i_s, NULL, PRIM_INT__p_s_h_s, NULL, PRIM_INT__d_s_i_s);
805 
806 
807                     ostei_general_vrr_I(3, 0, 7, 0, 9,
808                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
809                             PRIM_INT__d_s_k_s, PRIM_INT__p_s_k_s, NULL, PRIM_INT__d_s_i_s, NULL, PRIM_INT__f_s_k_s);
810 
811 
812                     VRR_I_p_s_g_s(
813                             PRIM_INT__p_s_g_s,
814                             PRIM_INT__s_s_g_s,
815                             PRIM_INT__s_s_f_s,
816                             P_PA,
817                             aop_PQ,
818                             one_over_2pq,
819                             11);
820 
821 
822                     ostei_general_vrr_I(2, 0, 5, 0, 10,
823                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
824                             PRIM_INT__p_s_h_s, PRIM_INT__s_s_h_s, NULL, PRIM_INT__p_s_g_s, NULL, PRIM_INT__d_s_h_s);
825 
826 
827                     ostei_general_vrr_I(3, 0, 6, 0, 9,
828                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
829                             PRIM_INT__d_s_i_s, PRIM_INT__p_s_i_s, NULL, PRIM_INT__d_s_h_s, NULL, PRIM_INT__f_s_i_s);
830 
831 
832                     ostei_general_vrr_I(4, 0, 7, 0, 8,
833                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
834                             PRIM_INT__f_s_k_s, PRIM_INT__d_s_k_s, NULL, PRIM_INT__f_s_i_s, NULL, PRIM_INT__g_s_k_s);
835 
836 
837                     VRR_I_p_s_f_s(
838                             PRIM_INT__p_s_f_s,
839                             PRIM_INT__s_s_f_s,
840                             PRIM_INT__s_s_d_s,
841                             P_PA,
842                             aop_PQ,
843                             one_over_2pq,
844                             11);
845 
846 
847                     ostei_general_vrr_I(2, 0, 4, 0, 10,
848                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
849                             PRIM_INT__p_s_g_s, PRIM_INT__s_s_g_s, NULL, PRIM_INT__p_s_f_s, NULL, PRIM_INT__d_s_g_s);
850 
851 
852                     ostei_general_vrr_I(3, 0, 5, 0, 9,
853                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
854                             PRIM_INT__d_s_h_s, PRIM_INT__p_s_h_s, NULL, PRIM_INT__d_s_g_s, NULL, PRIM_INT__f_s_h_s);
855 
856 
857                     ostei_general_vrr_I(4, 0, 6, 0, 8,
858                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
859                             PRIM_INT__f_s_i_s, PRIM_INT__d_s_i_s, NULL, PRIM_INT__f_s_h_s, NULL, PRIM_INT__g_s_i_s);
860 
861 
862                     ostei_general_vrr_I(5, 0, 7, 0, 7,
863                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
864                             PRIM_INT__g_s_k_s, PRIM_INT__f_s_k_s, NULL, PRIM_INT__g_s_i_s, NULL, PRIM_INT__h_s_k_s);
865 
866 
867 
868                     // Forming PRIM_INT__p_s_d_s[11 * 18];
869                     for(n = 0; n < 11; ++n)  // loop over orders of auxiliary function
870                     {
871 
872                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
873                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 0], PRIM_INT__p_s_d_s[n * 18 + 0]);
874                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__p_s_d_s[n * 18 + 0]);
875 
876                         PRIM_INT__p_s_d_s[n * 18 + 1] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 1]);
877                         PRIM_INT__p_s_d_s[n * 18 + 1] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 1], PRIM_INT__p_s_d_s[n * 18 + 1]);
878                         PRIM_INT__p_s_d_s[n * 18 + 1] = 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 + 1]);
879 
880                         PRIM_INT__p_s_d_s[n * 18 + 2] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 2]);
881                         PRIM_INT__p_s_d_s[n * 18 + 2] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 2], PRIM_INT__p_s_d_s[n * 18 + 2]);
882                         PRIM_INT__p_s_d_s[n * 18 + 2] = 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 + 2]);
883 
884                         PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 3]);
885                         PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 3], PRIM_INT__p_s_d_s[n * 18 + 3]);
886 
887                         PRIM_INT__p_s_d_s[n * 18 + 4] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 4]);
888                         PRIM_INT__p_s_d_s[n * 18 + 4] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 4], PRIM_INT__p_s_d_s[n * 18 + 4]);
889 
890                         PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 5]);
891                         PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_d_s[(n+1) * 6 + 5], PRIM_INT__p_s_d_s[n * 18 + 5]);
892 
893                         PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 0]);
894                         PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 0], PRIM_INT__p_s_d_s[n * 18 + 6]);
895 
896                         PRIM_INT__p_s_d_s[n * 18 + 7] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 1]);
897                         PRIM_INT__p_s_d_s[n * 18 + 7] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 1], PRIM_INT__p_s_d_s[n * 18 + 7]);
898                         PRIM_INT__p_s_d_s[n * 18 + 7] = 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 + 7]);
899 
900                         PRIM_INT__p_s_d_s[n * 18 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 2]);
901                         PRIM_INT__p_s_d_s[n * 18 + 8] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 2], PRIM_INT__p_s_d_s[n * 18 + 8]);
902 
903                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
904                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 3], PRIM_INT__p_s_d_s[n * 18 + 9]);
905                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__p_s_d_s[n * 18 + 9]);
906 
907                         PRIM_INT__p_s_d_s[n * 18 + 10] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 4]);
908                         PRIM_INT__p_s_d_s[n * 18 + 10] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 4], PRIM_INT__p_s_d_s[n * 18 + 10]);
909                         PRIM_INT__p_s_d_s[n * 18 + 10] = 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 + 10]);
910 
911                         PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 5]);
912                         PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_d_s[(n+1) * 6 + 5], PRIM_INT__p_s_d_s[n * 18 + 11]);
913 
914                         PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 0]);
915                         PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 0], PRIM_INT__p_s_d_s[n * 18 + 12]);
916 
917                         PRIM_INT__p_s_d_s[n * 18 + 13] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 1]);
918                         PRIM_INT__p_s_d_s[n * 18 + 13] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 1], PRIM_INT__p_s_d_s[n * 18 + 13]);
919 
920                         PRIM_INT__p_s_d_s[n * 18 + 14] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 2]);
921                         PRIM_INT__p_s_d_s[n * 18 + 14] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 2], PRIM_INT__p_s_d_s[n * 18 + 14]);
922                         PRIM_INT__p_s_d_s[n * 18 + 14] = 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 + 14]);
923 
924                         PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 3]);
925                         PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 3], PRIM_INT__p_s_d_s[n * 18 + 15]);
926 
927                         PRIM_INT__p_s_d_s[n * 18 + 16] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 4]);
928                         PRIM_INT__p_s_d_s[n * 18 + 16] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 4], PRIM_INT__p_s_d_s[n * 18 + 16]);
929                         PRIM_INT__p_s_d_s[n * 18 + 16] = 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 + 16]);
930 
931                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
932                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_d_s[(n+1) * 6 + 5], PRIM_INT__p_s_d_s[n * 18 + 17]);
933                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__p_s_d_s[n * 18 + 17]);
934 
935                     }
936 
937 
938                     VRR_I_d_s_f_s(
939                             PRIM_INT__d_s_f_s,
940                             PRIM_INT__p_s_f_s,
941                             PRIM_INT__s_s_f_s,
942                             PRIM_INT__p_s_d_s,
943                             P_PA,
944                             a_over_p,
945                             aop_PQ,
946                             one_over_2p,
947                             one_over_2pq,
948                             10);
949 
950 
951                     ostei_general_vrr_I(3, 0, 4, 0, 9,
952                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
953                             PRIM_INT__d_s_g_s, PRIM_INT__p_s_g_s, NULL, PRIM_INT__d_s_f_s, NULL, PRIM_INT__f_s_g_s);
954 
955 
956                     ostei_general_vrr_I(4, 0, 5, 0, 8,
957                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
958                             PRIM_INT__f_s_h_s, PRIM_INT__d_s_h_s, NULL, PRIM_INT__f_s_g_s, NULL, PRIM_INT__g_s_h_s);
959 
960 
961                     ostei_general_vrr_I(5, 0, 6, 0, 7,
962                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
963                             PRIM_INT__g_s_i_s, PRIM_INT__f_s_i_s, NULL, PRIM_INT__g_s_h_s, NULL, PRIM_INT__h_s_i_s);
964 
965 
966                     ostei_general_vrr_I(6, 0, 7, 0, 6,
967                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
968                             PRIM_INT__h_s_k_s, PRIM_INT__g_s_k_s, NULL, PRIM_INT__h_s_i_s, NULL, PRIM_INT__i_s_k_s);
969 
970 
971 
972                     // Forming PRIM_INT__p_s_p_s[11 * 9];
973                     for(n = 0; n < 11; ++n)  // loop over orders of auxiliary function
974                     {
975 
976                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
977                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 0]);
978                         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]);
979 
980                         PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_p_s[n * 3 + 1]);
981                         PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 1]);
982 
983                         PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_p_s[n * 3 + 2]);
984                         PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 2]);
985 
986                         PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_p_s[n * 3 + 0]);
987                         PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 3]);
988 
989                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
990                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 4]);
991                         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]);
992 
993                         PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_p_s[n * 3 + 2]);
994                         PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 5]);
995 
996                         PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_p_s[n * 3 + 0]);
997                         PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 6]);
998 
999                         PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_p_s[n * 3 + 1]);
1000                         PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 7]);
1001 
1002                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
1003                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1004                         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]);
1005 
1006                     }
1007 
1008 
1009                     VRR_I_d_s_d_s(
1010                             PRIM_INT__d_s_d_s,
1011                             PRIM_INT__p_s_d_s,
1012                             PRIM_INT__s_s_d_s,
1013                             PRIM_INT__p_s_p_s,
1014                             P_PA,
1015                             a_over_p,
1016                             aop_PQ,
1017                             one_over_2p,
1018                             one_over_2pq,
1019                             10);
1020 
1021 
1022                     ostei_general_vrr_I(3, 0, 3, 0, 9,
1023                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1024                             PRIM_INT__d_s_f_s, PRIM_INT__p_s_f_s, NULL, PRIM_INT__d_s_d_s, NULL, PRIM_INT__f_s_f_s);
1025 
1026 
1027                     ostei_general_vrr_I(4, 0, 4, 0, 8,
1028                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1029                             PRIM_INT__f_s_g_s, PRIM_INT__d_s_g_s, NULL, PRIM_INT__f_s_f_s, NULL, PRIM_INT__g_s_g_s);
1030 
1031 
1032                     ostei_general_vrr_I(5, 0, 5, 0, 7,
1033                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1034                             PRIM_INT__g_s_h_s, PRIM_INT__f_s_h_s, NULL, PRIM_INT__g_s_g_s, NULL, PRIM_INT__h_s_h_s);
1035 
1036 
1037                     ostei_general_vrr_I(6, 0, 6, 0, 6,
1038                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1039                             PRIM_INT__h_s_i_s, PRIM_INT__g_s_i_s, NULL, PRIM_INT__h_s_h_s, NULL, PRIM_INT__i_s_i_s);
1040 
1041 
1042                     ostei_general_vrr_I(7, 0, 7, 0, 5,
1043                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1044                             PRIM_INT__i_s_k_s, PRIM_INT__h_s_k_s, NULL, PRIM_INT__i_s_i_s, NULL, PRIM_INT__k_s_k_s);
1045 
1046 
1047                     ostei_general_vrr1_K(8, 18,
1048                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1049                             PRIM_INT__s_s_k_s, PRIM_INT__s_s_i_s, PRIM_INT__s_s_l_s);
1050 
1051 
1052                     ostei_general_vrr_I(1, 0, 8, 0, 11,
1053                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1054                             PRIM_INT__s_s_l_s, NULL, NULL, PRIM_INT__s_s_k_s, NULL, PRIM_INT__p_s_l_s);
1055 
1056 
1057                     ostei_general_vrr_I(2, 0, 8, 0, 10,
1058                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1059                             PRIM_INT__p_s_l_s, PRIM_INT__s_s_l_s, NULL, PRIM_INT__p_s_k_s, NULL, PRIM_INT__d_s_l_s);
1060 
1061 
1062                     ostei_general_vrr_I(3, 0, 8, 0, 9,
1063                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1064                             PRIM_INT__d_s_l_s, PRIM_INT__p_s_l_s, NULL, PRIM_INT__d_s_k_s, NULL, PRIM_INT__f_s_l_s);
1065 
1066 
1067                     ostei_general_vrr_I(4, 0, 8, 0, 8,
1068                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1069                             PRIM_INT__f_s_l_s, PRIM_INT__d_s_l_s, NULL, PRIM_INT__f_s_k_s, NULL, PRIM_INT__g_s_l_s);
1070 
1071 
1072                     ostei_general_vrr_I(5, 0, 8, 0, 7,
1073                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1074                             PRIM_INT__g_s_l_s, PRIM_INT__f_s_l_s, NULL, PRIM_INT__g_s_k_s, NULL, PRIM_INT__h_s_l_s);
1075 
1076 
1077                     ostei_general_vrr_I(6, 0, 8, 0, 6,
1078                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1079                             PRIM_INT__h_s_l_s, PRIM_INT__g_s_l_s, NULL, PRIM_INT__h_s_k_s, NULL, PRIM_INT__i_s_l_s);
1080 
1081 
1082                     ostei_general_vrr_I(7, 0, 8, 0, 5,
1083                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1084                             PRIM_INT__i_s_l_s, PRIM_INT__h_s_l_s, NULL, PRIM_INT__i_s_k_s, NULL, PRIM_INT__k_s_l_s);
1085 
1086 
1087 
1088                     // Forming PRIM_INT__p_s_s_s[11 * 3];
1089                     for(n = 0; n < 11; ++n)  // loop over orders of auxiliary function
1090                     {
1091 
1092                         PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
1093                         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]);
1094 
1095                         PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
1096                         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]);
1097 
1098                         PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
1099                         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]);
1100 
1101                     }
1102 
1103 
1104 
1105                     // Forming PRIM_INT__d_s_p_s[10 * 18];
1106                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
1107                     {
1108 
1109                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_p_s[n * 9 + 0]);
1110                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 0], PRIM_INT__d_s_p_s[n * 18 + 0]);
1111                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__s_s_p_s[n * 3 + 0]), PRIM_INT__d_s_p_s[n * 18 + 0]);
1112                         PRIM_INT__d_s_p_s[n * 18 + 0] = 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 + 0]);
1113 
1114                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_p_s[n * 9 + 1]);
1115                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 1], PRIM_INT__d_s_p_s[n * 18 + 1]);
1116                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__s_s_p_s[n * 3 + 1]), PRIM_INT__d_s_p_s[n * 18 + 1]);
1117 
1118                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_p_s[n * 9 + 2]);
1119                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 2], PRIM_INT__d_s_p_s[n * 18 + 2]);
1120                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__s_s_p_s[n * 3 + 2]), PRIM_INT__d_s_p_s[n * 18 + 2]);
1121 
1122                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_p_s[n * 9 + 3]);
1123                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 3], PRIM_INT__d_s_p_s[n * 18 + 9]);
1124                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__s_s_p_s[n * 3 + 0]), PRIM_INT__d_s_p_s[n * 18 + 9]);
1125 
1126                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_p_s[n * 9 + 4]);
1127                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 4], PRIM_INT__d_s_p_s[n * 18 + 10]);
1128                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__s_s_p_s[n * 3 + 1]), PRIM_INT__d_s_p_s[n * 18 + 10]);
1129                         PRIM_INT__d_s_p_s[n * 18 + 10] = 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 + 10]);
1130 
1131                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_p_s[n * 9 + 5]);
1132                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 5], PRIM_INT__d_s_p_s[n * 18 + 11]);
1133                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__s_s_p_s[n * 3 + 2]), PRIM_INT__d_s_p_s[n * 18 + 11]);
1134 
1135                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_p_s[n * 9 + 6]);
1136                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 6], PRIM_INT__d_s_p_s[n * 18 + 15]);
1137                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__s_s_p_s[n * 3 + 0]), PRIM_INT__d_s_p_s[n * 18 + 15]);
1138 
1139                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_p_s[n * 9 + 7]);
1140                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 7], PRIM_INT__d_s_p_s[n * 18 + 16]);
1141                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__s_s_p_s[n * 3 + 1]), PRIM_INT__d_s_p_s[n * 18 + 16]);
1142 
1143                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1144                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 8], PRIM_INT__d_s_p_s[n * 18 + 17]);
1145                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__s_s_p_s[n * 3 + 2]), PRIM_INT__d_s_p_s[n * 18 + 17]);
1146                         PRIM_INT__d_s_p_s[n * 18 + 17] = 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 + 17]);
1147 
1148                     }
1149 
1150 
1151                     VRR_I_f_s_d_s(
1152                             PRIM_INT__f_s_d_s,
1153                             PRIM_INT__d_s_d_s,
1154                             PRIM_INT__p_s_d_s,
1155                             PRIM_INT__d_s_p_s,
1156                             P_PA,
1157                             a_over_p,
1158                             aop_PQ,
1159                             one_over_2p,
1160                             one_over_2pq,
1161                             9);
1162 
1163 
1164                     ostei_general_vrr_I(4, 0, 3, 0, 8,
1165                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1166                             PRIM_INT__f_s_f_s, PRIM_INT__d_s_f_s, NULL, PRIM_INT__f_s_d_s, NULL, PRIM_INT__g_s_f_s);
1167 
1168 
1169                     ostei_general_vrr_I(5, 0, 4, 0, 7,
1170                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1171                             PRIM_INT__g_s_g_s, PRIM_INT__f_s_g_s, NULL, PRIM_INT__g_s_f_s, NULL, PRIM_INT__h_s_g_s);
1172 
1173 
1174                     ostei_general_vrr_I(6, 0, 5, 0, 6,
1175                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1176                             PRIM_INT__h_s_h_s, PRIM_INT__g_s_h_s, NULL, PRIM_INT__h_s_g_s, NULL, PRIM_INT__i_s_h_s);
1177 
1178 
1179                     ostei_general_vrr_I(7, 0, 6, 0, 5,
1180                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1181                             PRIM_INT__i_s_i_s, PRIM_INT__h_s_i_s, NULL, PRIM_INT__i_s_h_s, NULL, PRIM_INT__k_s_i_s);
1182 
1183 
1184                     ostei_general_vrr_I(8, 0, 7, 0, 4,
1185                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1186                             PRIM_INT__k_s_k_s, PRIM_INT__i_s_k_s, NULL, PRIM_INT__k_s_i_s, NULL, PRIM_INT__l_s_k_s);
1187 
1188 
1189                     ostei_general_vrr1_K(9, 17,
1190                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1191                             PRIM_INT__s_s_l_s, PRIM_INT__s_s_k_s, PRIM_INT__s_s_m_s);
1192 
1193 
1194                     ostei_general_vrr_I(1, 0, 9, 0, 11,
1195                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1196                             PRIM_INT__s_s_m_s, NULL, NULL, PRIM_INT__s_s_l_s, NULL, PRIM_INT__p_s_m_s);
1197 
1198 
1199                     ostei_general_vrr_I(2, 0, 9, 0, 10,
1200                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1201                             PRIM_INT__p_s_m_s, PRIM_INT__s_s_m_s, NULL, PRIM_INT__p_s_l_s, NULL, PRIM_INT__d_s_m_s);
1202 
1203 
1204                     ostei_general_vrr_I(3, 0, 9, 0, 9,
1205                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1206                             PRIM_INT__d_s_m_s, PRIM_INT__p_s_m_s, NULL, PRIM_INT__d_s_l_s, NULL, PRIM_INT__f_s_m_s);
1207 
1208 
1209                     ostei_general_vrr_I(4, 0, 9, 0, 8,
1210                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1211                             PRIM_INT__f_s_m_s, PRIM_INT__d_s_m_s, NULL, PRIM_INT__f_s_l_s, NULL, PRIM_INT__g_s_m_s);
1212 
1213 
1214                     ostei_general_vrr_I(5, 0, 9, 0, 7,
1215                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1216                             PRIM_INT__g_s_m_s, PRIM_INT__f_s_m_s, NULL, PRIM_INT__g_s_l_s, NULL, PRIM_INT__h_s_m_s);
1217 
1218 
1219                     ostei_general_vrr_I(6, 0, 9, 0, 6,
1220                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1221                             PRIM_INT__h_s_m_s, PRIM_INT__g_s_m_s, NULL, PRIM_INT__h_s_l_s, NULL, PRIM_INT__i_s_m_s);
1222 
1223 
1224                     ostei_general_vrr_I(7, 0, 9, 0, 5,
1225                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1226                             PRIM_INT__i_s_m_s, PRIM_INT__h_s_m_s, NULL, PRIM_INT__i_s_l_s, NULL, PRIM_INT__k_s_m_s);
1227 
1228 
1229                     ostei_general_vrr_I(8, 0, 8, 0, 4,
1230                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1231                             PRIM_INT__k_s_l_s, PRIM_INT__i_s_l_s, NULL, PRIM_INT__k_s_k_s, NULL, PRIM_INT__l_s_l_s);
1232 
1233 
1234 
1235                     // Forming PRIM_INT__d_s_s_s[10 * 6];
1236                     for(n = 0; n < 10; ++n)  // loop over orders of auxiliary function
1237                     {
1238 
1239                         PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
1240                         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]);
1241                         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]);
1242 
1243                         PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
1244                         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]);
1245                         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]);
1246 
1247                         PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
1248                         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]);
1249                         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]);
1250 
1251                     }
1252 
1253 
1254                     VRR_I_f_s_p_s(
1255                             PRIM_INT__f_s_p_s,
1256                             PRIM_INT__d_s_p_s,
1257                             PRIM_INT__p_s_p_s,
1258                             PRIM_INT__d_s_s_s,
1259                             P_PA,
1260                             a_over_p,
1261                             aop_PQ,
1262                             one_over_2p,
1263                             one_over_2pq,
1264                             9);
1265 
1266 
1267                     ostei_general_vrr_I(4, 0, 2, 0, 8,
1268                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1269                             PRIM_INT__f_s_d_s, PRIM_INT__d_s_d_s, NULL, PRIM_INT__f_s_p_s, NULL, PRIM_INT__g_s_d_s);
1270 
1271 
1272                     ostei_general_vrr_I(5, 0, 3, 0, 7,
1273                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1274                             PRIM_INT__g_s_f_s, PRIM_INT__f_s_f_s, NULL, PRIM_INT__g_s_d_s, NULL, PRIM_INT__h_s_f_s);
1275 
1276 
1277                     ostei_general_vrr_I(6, 0, 4, 0, 6,
1278                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1279                             PRIM_INT__h_s_g_s, PRIM_INT__g_s_g_s, NULL, PRIM_INT__h_s_f_s, NULL, PRIM_INT__i_s_g_s);
1280 
1281 
1282                     ostei_general_vrr_I(7, 0, 5, 0, 5,
1283                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1284                             PRIM_INT__i_s_h_s, PRIM_INT__h_s_h_s, NULL, PRIM_INT__i_s_g_s, NULL, PRIM_INT__k_s_h_s);
1285 
1286 
1287                     ostei_general_vrr_I(8, 0, 6, 0, 4,
1288                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1289                             PRIM_INT__k_s_i_s, PRIM_INT__i_s_i_s, NULL, PRIM_INT__k_s_h_s, NULL, PRIM_INT__l_s_i_s);
1290 
1291 
1292                     ostei_general_vrr_I(9, 0, 7, 0, 3,
1293                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1294                             PRIM_INT__l_s_k_s, PRIM_INT__k_s_k_s, NULL, PRIM_INT__l_s_i_s, NULL, PRIM_INT__m_s_k_s);
1295 
1296 
1297                     ostei_general_vrr1_K(10, 16,
1298                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1299                             PRIM_INT__s_s_m_s, PRIM_INT__s_s_l_s, PRIM_INT__s_s_n_s);
1300 
1301 
1302                     ostei_general_vrr_I(1, 0, 10, 0, 11,
1303                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1304                             PRIM_INT__s_s_n_s, NULL, NULL, PRIM_INT__s_s_m_s, NULL, PRIM_INT__p_s_n_s);
1305 
1306 
1307                     ostei_general_vrr_I(2, 0, 10, 0, 10,
1308                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1309                             PRIM_INT__p_s_n_s, PRIM_INT__s_s_n_s, NULL, PRIM_INT__p_s_m_s, NULL, PRIM_INT__d_s_n_s);
1310 
1311 
1312                     ostei_general_vrr_I(3, 0, 10, 0, 9,
1313                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1314                             PRIM_INT__d_s_n_s, PRIM_INT__p_s_n_s, NULL, PRIM_INT__d_s_m_s, NULL, PRIM_INT__f_s_n_s);
1315 
1316 
1317                     ostei_general_vrr_I(4, 0, 10, 0, 8,
1318                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1319                             PRIM_INT__f_s_n_s, PRIM_INT__d_s_n_s, NULL, PRIM_INT__f_s_m_s, NULL, PRIM_INT__g_s_n_s);
1320 
1321 
1322                     ostei_general_vrr_I(5, 0, 10, 0, 7,
1323                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1324                             PRIM_INT__g_s_n_s, PRIM_INT__f_s_n_s, NULL, PRIM_INT__g_s_m_s, NULL, PRIM_INT__h_s_n_s);
1325 
1326 
1327                     ostei_general_vrr_I(6, 0, 10, 0, 6,
1328                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1329                             PRIM_INT__h_s_n_s, PRIM_INT__g_s_n_s, NULL, PRIM_INT__h_s_m_s, NULL, PRIM_INT__i_s_n_s);
1330 
1331 
1332                     ostei_general_vrr_I(7, 0, 10, 0, 5,
1333                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1334                             PRIM_INT__i_s_n_s, PRIM_INT__h_s_n_s, NULL, PRIM_INT__i_s_m_s, NULL, PRIM_INT__k_s_n_s);
1335 
1336 
1337                     ostei_general_vrr_I(8, 0, 9, 0, 4,
1338                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1339                             PRIM_INT__k_s_m_s, PRIM_INT__i_s_m_s, NULL, PRIM_INT__k_s_l_s, NULL, PRIM_INT__l_s_m_s);
1340 
1341 
1342                     ostei_general_vrr_I(9, 0, 8, 0, 3,
1343                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1344                             PRIM_INT__l_s_l_s, PRIM_INT__k_s_l_s, NULL, PRIM_INT__l_s_k_s, NULL, PRIM_INT__m_s_l_s);
1345 
1346 
1347 
1348                     // Forming PRIM_INT__f_s_s_s[9 * 10];
1349                     for(n = 0; n < 9; ++n)  // loop over orders of auxiliary function
1350                     {
1351 
1352                         PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
1353                         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]);
1354                         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]);
1355 
1356                         PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
1357                         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]);
1358                         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]);
1359 
1360                         PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
1361                         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]);
1362                         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]);
1363 
1364                     }
1365 
1366 
1367                     VRR_I_g_s_p_s(
1368                             PRIM_INT__g_s_p_s,
1369                             PRIM_INT__f_s_p_s,
1370                             PRIM_INT__d_s_p_s,
1371                             PRIM_INT__f_s_s_s,
1372                             P_PA,
1373                             a_over_p,
1374                             aop_PQ,
1375                             one_over_2p,
1376                             one_over_2pq,
1377                             8);
1378 
1379 
1380                     ostei_general_vrr_I(5, 0, 2, 0, 7,
1381                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1382                             PRIM_INT__g_s_d_s, PRIM_INT__f_s_d_s, NULL, PRIM_INT__g_s_p_s, NULL, PRIM_INT__h_s_d_s);
1383 
1384 
1385                     ostei_general_vrr_I(6, 0, 3, 0, 6,
1386                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1387                             PRIM_INT__h_s_f_s, PRIM_INT__g_s_f_s, NULL, PRIM_INT__h_s_d_s, NULL, PRIM_INT__i_s_f_s);
1388 
1389 
1390                     ostei_general_vrr_I(7, 0, 4, 0, 5,
1391                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1392                             PRIM_INT__i_s_g_s, PRIM_INT__h_s_g_s, NULL, PRIM_INT__i_s_f_s, NULL, PRIM_INT__k_s_g_s);
1393 
1394 
1395                     ostei_general_vrr_I(8, 0, 5, 0, 4,
1396                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1397                             PRIM_INT__k_s_h_s, PRIM_INT__i_s_h_s, NULL, PRIM_INT__k_s_g_s, NULL, PRIM_INT__l_s_h_s);
1398 
1399 
1400                     ostei_general_vrr_I(9, 0, 6, 0, 3,
1401                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1402                             PRIM_INT__l_s_i_s, PRIM_INT__k_s_i_s, NULL, PRIM_INT__l_s_h_s, NULL, PRIM_INT__m_s_i_s);
1403 
1404 
1405                     ostei_general_vrr_I(10, 0, 7, 0, 2,
1406                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1407                             PRIM_INT__m_s_k_s, PRIM_INT__l_s_k_s, NULL, PRIM_INT__m_s_i_s, NULL, PRIM_INT__n_s_k_s);
1408 
1409 
1410                     ostei_general_vrr1_K(11, 15,
1411                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1412                             PRIM_INT__s_s_n_s, PRIM_INT__s_s_m_s, PRIM_INT__s_s_o_s);
1413 
1414 
1415                     ostei_general_vrr_I(1, 0, 11, 0, 11,
1416                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1417                             PRIM_INT__s_s_o_s, NULL, NULL, PRIM_INT__s_s_n_s, NULL, PRIM_INT__p_s_o_s);
1418 
1419 
1420                     ostei_general_vrr_I(2, 0, 11, 0, 10,
1421                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1422                             PRIM_INT__p_s_o_s, PRIM_INT__s_s_o_s, NULL, PRIM_INT__p_s_n_s, NULL, PRIM_INT__d_s_o_s);
1423 
1424 
1425                     ostei_general_vrr_I(3, 0, 11, 0, 9,
1426                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1427                             PRIM_INT__d_s_o_s, PRIM_INT__p_s_o_s, NULL, PRIM_INT__d_s_n_s, NULL, PRIM_INT__f_s_o_s);
1428 
1429 
1430                     ostei_general_vrr_I(4, 0, 11, 0, 8,
1431                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1432                             PRIM_INT__f_s_o_s, PRIM_INT__d_s_o_s, NULL, PRIM_INT__f_s_n_s, NULL, PRIM_INT__g_s_o_s);
1433 
1434 
1435                     ostei_general_vrr_I(5, 0, 11, 0, 7,
1436                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1437                             PRIM_INT__g_s_o_s, PRIM_INT__f_s_o_s, NULL, PRIM_INT__g_s_n_s, NULL, PRIM_INT__h_s_o_s);
1438 
1439 
1440                     ostei_general_vrr_I(6, 0, 11, 0, 6,
1441                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1442                             PRIM_INT__h_s_o_s, PRIM_INT__g_s_o_s, NULL, PRIM_INT__h_s_n_s, NULL, PRIM_INT__i_s_o_s);
1443 
1444 
1445                     ostei_general_vrr_I(7, 0, 11, 0, 5,
1446                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1447                             PRIM_INT__i_s_o_s, PRIM_INT__h_s_o_s, NULL, PRIM_INT__i_s_n_s, NULL, PRIM_INT__k_s_o_s);
1448 
1449 
1450                     ostei_general_vrr_I(8, 0, 10, 0, 4,
1451                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1452                             PRIM_INT__k_s_n_s, PRIM_INT__i_s_n_s, NULL, PRIM_INT__k_s_m_s, NULL, PRIM_INT__l_s_n_s);
1453 
1454 
1455                     ostei_general_vrr_I(9, 0, 9, 0, 3,
1456                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1457                             PRIM_INT__l_s_m_s, PRIM_INT__k_s_m_s, NULL, PRIM_INT__l_s_l_s, NULL, PRIM_INT__m_s_m_s);
1458 
1459 
1460                     ostei_general_vrr_I(10, 0, 8, 0, 2,
1461                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1462                             PRIM_INT__m_s_l_s, PRIM_INT__l_s_l_s, NULL, PRIM_INT__m_s_k_s, NULL, PRIM_INT__n_s_l_s);
1463 
1464 
1465                     VRR_I_g_s_s_s(
1466                             PRIM_INT__g_s_s_s,
1467                             PRIM_INT__f_s_s_s,
1468                             PRIM_INT__d_s_s_s,
1469                             P_PA,
1470                             a_over_p,
1471                             aop_PQ,
1472                             one_over_2p,
1473                             8);
1474 
1475 
1476                     ostei_general_vrr_I(5, 0, 1, 0, 7,
1477                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1478                             PRIM_INT__g_s_p_s, PRIM_INT__f_s_p_s, NULL, PRIM_INT__g_s_s_s, NULL, PRIM_INT__h_s_p_s);
1479 
1480 
1481                     ostei_general_vrr_I(6, 0, 2, 0, 6,
1482                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1483                             PRIM_INT__h_s_d_s, PRIM_INT__g_s_d_s, NULL, PRIM_INT__h_s_p_s, NULL, PRIM_INT__i_s_d_s);
1484 
1485 
1486                     ostei_general_vrr_I(7, 0, 3, 0, 5,
1487                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1488                             PRIM_INT__i_s_f_s, PRIM_INT__h_s_f_s, NULL, PRIM_INT__i_s_d_s, NULL, PRIM_INT__k_s_f_s);
1489 
1490 
1491                     ostei_general_vrr_I(8, 0, 4, 0, 4,
1492                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1493                             PRIM_INT__k_s_g_s, PRIM_INT__i_s_g_s, NULL, PRIM_INT__k_s_f_s, NULL, PRIM_INT__l_s_g_s);
1494 
1495 
1496                     ostei_general_vrr_I(9, 0, 5, 0, 3,
1497                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1498                             PRIM_INT__l_s_h_s, PRIM_INT__k_s_h_s, NULL, PRIM_INT__l_s_g_s, NULL, PRIM_INT__m_s_h_s);
1499 
1500 
1501                     ostei_general_vrr_I(10, 0, 6, 0, 2,
1502                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1503                             PRIM_INT__m_s_i_s, PRIM_INT__l_s_i_s, NULL, PRIM_INT__m_s_h_s, NULL, PRIM_INT__n_s_i_s);
1504 
1505 
1506                     ostei_general_vrr_I(11, 0, 7, 0, 1,
1507                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1508                             PRIM_INT__n_s_k_s, PRIM_INT__m_s_k_s, NULL, PRIM_INT__n_s_i_s, NULL, PRIM_INT__o_s_k_s);
1509 
1510 
1511                     ostei_general_vrr1_K(12, 14,
1512                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1513                             PRIM_INT__s_s_o_s, PRIM_INT__s_s_n_s, PRIM_INT__s_s_q_s);
1514 
1515 
1516                     ostei_general_vrr_I(1, 0, 12, 0, 11,
1517                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1518                             PRIM_INT__s_s_q_s, NULL, NULL, PRIM_INT__s_s_o_s, NULL, PRIM_INT__p_s_q_s);
1519 
1520 
1521                     ostei_general_vrr_I(2, 0, 12, 0, 10,
1522                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1523                             PRIM_INT__p_s_q_s, PRIM_INT__s_s_q_s, NULL, PRIM_INT__p_s_o_s, NULL, PRIM_INT__d_s_q_s);
1524 
1525 
1526                     ostei_general_vrr_I(3, 0, 12, 0, 9,
1527                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1528                             PRIM_INT__d_s_q_s, PRIM_INT__p_s_q_s, NULL, PRIM_INT__d_s_o_s, NULL, PRIM_INT__f_s_q_s);
1529 
1530 
1531                     ostei_general_vrr_I(4, 0, 12, 0, 8,
1532                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1533                             PRIM_INT__f_s_q_s, PRIM_INT__d_s_q_s, NULL, PRIM_INT__f_s_o_s, NULL, PRIM_INT__g_s_q_s);
1534 
1535 
1536                     ostei_general_vrr_I(5, 0, 12, 0, 7,
1537                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1538                             PRIM_INT__g_s_q_s, PRIM_INT__f_s_q_s, NULL, PRIM_INT__g_s_o_s, NULL, PRIM_INT__h_s_q_s);
1539 
1540 
1541                     ostei_general_vrr_I(6, 0, 12, 0, 6,
1542                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1543                             PRIM_INT__h_s_q_s, PRIM_INT__g_s_q_s, NULL, PRIM_INT__h_s_o_s, NULL, PRIM_INT__i_s_q_s);
1544 
1545 
1546                     ostei_general_vrr_I(7, 0, 12, 0, 5,
1547                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1548                             PRIM_INT__i_s_q_s, PRIM_INT__h_s_q_s, NULL, PRIM_INT__i_s_o_s, NULL, PRIM_INT__k_s_q_s);
1549 
1550 
1551                     ostei_general_vrr_I(8, 0, 11, 0, 4,
1552                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1553                             PRIM_INT__k_s_o_s, PRIM_INT__i_s_o_s, NULL, PRIM_INT__k_s_n_s, NULL, PRIM_INT__l_s_o_s);
1554 
1555 
1556                     ostei_general_vrr_I(9, 0, 10, 0, 3,
1557                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1558                             PRIM_INT__l_s_n_s, PRIM_INT__k_s_n_s, NULL, PRIM_INT__l_s_m_s, NULL, PRIM_INT__m_s_n_s);
1559 
1560 
1561                     ostei_general_vrr_I(10, 0, 9, 0, 2,
1562                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1563                             PRIM_INT__m_s_m_s, PRIM_INT__l_s_m_s, NULL, PRIM_INT__m_s_l_s, NULL, PRIM_INT__n_s_m_s);
1564 
1565 
1566                     ostei_general_vrr_I(11, 0, 8, 0, 1,
1567                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1568                             PRIM_INT__n_s_l_s, PRIM_INT__m_s_l_s, NULL, PRIM_INT__n_s_k_s, NULL, PRIM_INT__o_s_l_s);
1569 
1570 
1571                     ostei_general_vrr1_K(13, 13,
1572                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1573                             PRIM_INT__s_s_q_s, PRIM_INT__s_s_o_s, PRIM_INT__s_s_r_s);
1574 
1575 
1576                     ostei_general_vrr_I(1, 0, 13, 0, 11,
1577                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1578                             PRIM_INT__s_s_r_s, NULL, NULL, PRIM_INT__s_s_q_s, NULL, PRIM_INT__p_s_r_s);
1579 
1580 
1581                     ostei_general_vrr_I(2, 0, 13, 0, 10,
1582                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1583                             PRIM_INT__p_s_r_s, PRIM_INT__s_s_r_s, NULL, PRIM_INT__p_s_q_s, NULL, PRIM_INT__d_s_r_s);
1584 
1585 
1586                     ostei_general_vrr_I(3, 0, 13, 0, 9,
1587                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1588                             PRIM_INT__d_s_r_s, PRIM_INT__p_s_r_s, NULL, PRIM_INT__d_s_q_s, NULL, PRIM_INT__f_s_r_s);
1589 
1590 
1591                     ostei_general_vrr_I(4, 0, 13, 0, 8,
1592                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1593                             PRIM_INT__f_s_r_s, PRIM_INT__d_s_r_s, NULL, PRIM_INT__f_s_q_s, NULL, PRIM_INT__g_s_r_s);
1594 
1595 
1596                     ostei_general_vrr_I(5, 0, 13, 0, 7,
1597                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1598                             PRIM_INT__g_s_r_s, PRIM_INT__f_s_r_s, NULL, PRIM_INT__g_s_q_s, NULL, PRIM_INT__h_s_r_s);
1599 
1600 
1601                     ostei_general_vrr_I(6, 0, 13, 0, 6,
1602                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1603                             PRIM_INT__h_s_r_s, PRIM_INT__g_s_r_s, NULL, PRIM_INT__h_s_q_s, NULL, PRIM_INT__i_s_r_s);
1604 
1605 
1606                     ostei_general_vrr_I(7, 0, 13, 0, 5,
1607                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1608                             PRIM_INT__i_s_r_s, PRIM_INT__h_s_r_s, NULL, PRIM_INT__i_s_q_s, NULL, PRIM_INT__k_s_r_s);
1609 
1610 
1611                     ostei_general_vrr_I(8, 0, 12, 0, 4,
1612                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1613                             PRIM_INT__k_s_q_s, PRIM_INT__i_s_q_s, NULL, PRIM_INT__k_s_o_s, NULL, PRIM_INT__l_s_q_s);
1614 
1615 
1616                     ostei_general_vrr_I(9, 0, 11, 0, 3,
1617                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1618                             PRIM_INT__l_s_o_s, PRIM_INT__k_s_o_s, NULL, PRIM_INT__l_s_n_s, NULL, PRIM_INT__m_s_o_s);
1619 
1620 
1621                     ostei_general_vrr_I(10, 0, 10, 0, 2,
1622                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1623                             PRIM_INT__m_s_n_s, PRIM_INT__l_s_n_s, NULL, PRIM_INT__m_s_m_s, NULL, PRIM_INT__n_s_n_s);
1624 
1625 
1626                     ostei_general_vrr_I(11, 0, 9, 0, 1,
1627                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1628                             PRIM_INT__n_s_m_s, PRIM_INT__m_s_m_s, NULL, PRIM_INT__n_s_l_s, NULL, PRIM_INT__o_s_m_s);
1629 
1630 
1631                     ostei_general_vrr1_K(14, 12,
1632                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1633                             PRIM_INT__s_s_r_s, PRIM_INT__s_s_q_s, PRIM_INT__s_s_t_s);
1634 
1635 
1636                     ostei_general_vrr_I(1, 0, 14, 0, 11,
1637                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1638                             PRIM_INT__s_s_t_s, NULL, NULL, PRIM_INT__s_s_r_s, NULL, PRIM_INT__p_s_t_s);
1639 
1640 
1641                     ostei_general_vrr_I(2, 0, 14, 0, 10,
1642                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1643                             PRIM_INT__p_s_t_s, PRIM_INT__s_s_t_s, NULL, PRIM_INT__p_s_r_s, NULL, PRIM_INT__d_s_t_s);
1644 
1645 
1646                     ostei_general_vrr_I(3, 0, 14, 0, 9,
1647                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1648                             PRIM_INT__d_s_t_s, PRIM_INT__p_s_t_s, NULL, PRIM_INT__d_s_r_s, NULL, PRIM_INT__f_s_t_s);
1649 
1650 
1651                     ostei_general_vrr_I(4, 0, 14, 0, 8,
1652                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1653                             PRIM_INT__f_s_t_s, PRIM_INT__d_s_t_s, NULL, PRIM_INT__f_s_r_s, NULL, PRIM_INT__g_s_t_s);
1654 
1655 
1656                     ostei_general_vrr_I(5, 0, 14, 0, 7,
1657                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1658                             PRIM_INT__g_s_t_s, PRIM_INT__f_s_t_s, NULL, PRIM_INT__g_s_r_s, NULL, PRIM_INT__h_s_t_s);
1659 
1660 
1661                     ostei_general_vrr_I(6, 0, 14, 0, 6,
1662                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1663                             PRIM_INT__h_s_t_s, PRIM_INT__g_s_t_s, NULL, PRIM_INT__h_s_r_s, NULL, PRIM_INT__i_s_t_s);
1664 
1665 
1666                     ostei_general_vrr_I(7, 0, 14, 0, 5,
1667                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1668                             PRIM_INT__i_s_t_s, PRIM_INT__h_s_t_s, NULL, PRIM_INT__i_s_r_s, NULL, PRIM_INT__k_s_t_s);
1669 
1670 
1671                     ostei_general_vrr_I(8, 0, 13, 0, 4,
1672                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1673                             PRIM_INT__k_s_r_s, PRIM_INT__i_s_r_s, NULL, PRIM_INT__k_s_q_s, NULL, PRIM_INT__l_s_r_s);
1674 
1675 
1676                     ostei_general_vrr_I(9, 0, 12, 0, 3,
1677                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1678                             PRIM_INT__l_s_q_s, PRIM_INT__k_s_q_s, NULL, PRIM_INT__l_s_o_s, NULL, PRIM_INT__m_s_q_s);
1679 
1680 
1681                     ostei_general_vrr_I(10, 0, 11, 0, 2,
1682                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1683                             PRIM_INT__m_s_o_s, PRIM_INT__l_s_o_s, NULL, PRIM_INT__m_s_n_s, NULL, PRIM_INT__n_s_o_s);
1684 
1685 
1686                     ostei_general_vrr_I(11, 0, 10, 0, 1,
1687                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1688                             PRIM_INT__n_s_n_s, PRIM_INT__m_s_n_s, NULL, PRIM_INT__n_s_m_s, NULL, PRIM_INT__o_s_n_s);
1689 
1690 
1691                     ostei_general_vrr_I(8, 0, 14, 0, 4,
1692                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1693                             PRIM_INT__k_s_t_s, PRIM_INT__i_s_t_s, NULL, PRIM_INT__k_s_r_s, NULL, PRIM_INT__l_s_t_s);
1694 
1695 
1696                     ostei_general_vrr_I(9, 0, 13, 0, 3,
1697                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1698                             PRIM_INT__l_s_r_s, PRIM_INT__k_s_r_s, NULL, PRIM_INT__l_s_q_s, NULL, PRIM_INT__m_s_r_s);
1699 
1700 
1701                     ostei_general_vrr_I(10, 0, 12, 0, 2,
1702                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1703                             PRIM_INT__m_s_q_s, PRIM_INT__l_s_q_s, NULL, PRIM_INT__m_s_o_s, NULL, PRIM_INT__n_s_q_s);
1704 
1705 
1706                     ostei_general_vrr_I(11, 0, 11, 0, 1,
1707                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1708                             PRIM_INT__n_s_o_s, PRIM_INT__m_s_o_s, NULL, PRIM_INT__n_s_n_s, NULL, PRIM_INT__o_s_o_s);
1709 
1710 
1711                     ostei_general_vrr_I(9, 0, 14, 0, 3,
1712                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1713                             PRIM_INT__l_s_t_s, PRIM_INT__k_s_t_s, NULL, PRIM_INT__l_s_r_s, NULL, PRIM_INT__m_s_t_s);
1714 
1715 
1716                     ostei_general_vrr_I(10, 0, 13, 0, 2,
1717                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1718                             PRIM_INT__m_s_r_s, PRIM_INT__l_s_r_s, NULL, PRIM_INT__m_s_q_s, NULL, PRIM_INT__n_s_r_s);
1719 
1720 
1721                     ostei_general_vrr_I(11, 0, 12, 0, 1,
1722                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1723                             PRIM_INT__n_s_q_s, PRIM_INT__m_s_q_s, NULL, PRIM_INT__n_s_o_s, NULL, PRIM_INT__o_s_q_s);
1724 
1725 
1726                     ostei_general_vrr_I(10, 0, 14, 0, 2,
1727                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1728                             PRIM_INT__m_s_t_s, PRIM_INT__l_s_t_s, NULL, PRIM_INT__m_s_r_s, NULL, PRIM_INT__n_s_t_s);
1729 
1730 
1731                     ostei_general_vrr_I(11, 0, 13, 0, 1,
1732                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1733                             PRIM_INT__n_s_r_s, PRIM_INT__m_s_r_s, NULL, PRIM_INT__n_s_q_s, NULL, PRIM_INT__o_s_r_s);
1734 
1735 
1736                     ostei_general_vrr_I(11, 0, 14, 0, 1,
1737                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1738                             PRIM_INT__n_s_t_s, PRIM_INT__m_s_t_s, NULL, PRIM_INT__n_s_r_s, NULL, PRIM_INT__o_s_t_s);
1739 
1740 
1741 
1742 
1743                     ////////////////////////////////////
1744                     // Accumulate contracted integrals
1745                     ////////////////////////////////////
1746                     if(lastoffset == 0)
1747                     {
1748                         contract_all(1296, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1749                         contract_all(1620, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1750                         contract_all(1980, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1751                         contract_all(2376, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1752                         contract_all(2808, PRIM_INT__k_s_o_s, PRIM_PTR_INT__k_s_o_s);
1753                         contract_all(3276, PRIM_INT__k_s_q_s, PRIM_PTR_INT__k_s_q_s);
1754                         contract_all(3780, PRIM_INT__k_s_r_s, PRIM_PTR_INT__k_s_r_s);
1755                         contract_all(4320, PRIM_INT__k_s_t_s, PRIM_PTR_INT__k_s_t_s);
1756                         contract_all(1620, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1757                         contract_all(2025, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1758                         contract_all(2475, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1759                         contract_all(2970, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1760                         contract_all(3510, PRIM_INT__l_s_o_s, PRIM_PTR_INT__l_s_o_s);
1761                         contract_all(4095, PRIM_INT__l_s_q_s, PRIM_PTR_INT__l_s_q_s);
1762                         contract_all(4725, PRIM_INT__l_s_r_s, PRIM_PTR_INT__l_s_r_s);
1763                         contract_all(5400, PRIM_INT__l_s_t_s, PRIM_PTR_INT__l_s_t_s);
1764                         contract_all(1980, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1765                         contract_all(2475, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1766                         contract_all(3025, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1767                         contract_all(3630, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1768                         contract_all(4290, PRIM_INT__m_s_o_s, PRIM_PTR_INT__m_s_o_s);
1769                         contract_all(5005, PRIM_INT__m_s_q_s, PRIM_PTR_INT__m_s_q_s);
1770                         contract_all(5775, PRIM_INT__m_s_r_s, PRIM_PTR_INT__m_s_r_s);
1771                         contract_all(6600, PRIM_INT__m_s_t_s, PRIM_PTR_INT__m_s_t_s);
1772                         contract_all(2376, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1773                         contract_all(2970, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1774                         contract_all(3630, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1775                         contract_all(4356, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1776                         contract_all(5148, PRIM_INT__n_s_o_s, PRIM_PTR_INT__n_s_o_s);
1777                         contract_all(6006, PRIM_INT__n_s_q_s, PRIM_PTR_INT__n_s_q_s);
1778                         contract_all(6930, PRIM_INT__n_s_r_s, PRIM_PTR_INT__n_s_r_s);
1779                         contract_all(7920, PRIM_INT__n_s_t_s, PRIM_PTR_INT__n_s_t_s);
1780                         contract_all(2808, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1781                         contract_all(3510, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1782                         contract_all(4290, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1783                         contract_all(5148, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1784                         contract_all(6084, PRIM_INT__o_s_o_s, PRIM_PTR_INT__o_s_o_s);
1785                         contract_all(7098, PRIM_INT__o_s_q_s, PRIM_PTR_INT__o_s_q_s);
1786                         contract_all(8190, PRIM_INT__o_s_r_s, PRIM_PTR_INT__o_s_r_s);
1787                         contract_all(9360, PRIM_INT__o_s_t_s, PRIM_PTR_INT__o_s_t_s);
1788                     }
1789                     else
1790                     {
1791                         contract(1296, shelloffsets, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1792                         contract(1620, shelloffsets, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1793                         contract(1980, shelloffsets, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1794                         contract(2376, shelloffsets, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1795                         contract(2808, shelloffsets, PRIM_INT__k_s_o_s, PRIM_PTR_INT__k_s_o_s);
1796                         contract(3276, shelloffsets, PRIM_INT__k_s_q_s, PRIM_PTR_INT__k_s_q_s);
1797                         contract(3780, shelloffsets, PRIM_INT__k_s_r_s, PRIM_PTR_INT__k_s_r_s);
1798                         contract(4320, shelloffsets, PRIM_INT__k_s_t_s, PRIM_PTR_INT__k_s_t_s);
1799                         contract(1620, shelloffsets, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1800                         contract(2025, shelloffsets, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1801                         contract(2475, shelloffsets, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1802                         contract(2970, shelloffsets, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1803                         contract(3510, shelloffsets, PRIM_INT__l_s_o_s, PRIM_PTR_INT__l_s_o_s);
1804                         contract(4095, shelloffsets, PRIM_INT__l_s_q_s, PRIM_PTR_INT__l_s_q_s);
1805                         contract(4725, shelloffsets, PRIM_INT__l_s_r_s, PRIM_PTR_INT__l_s_r_s);
1806                         contract(5400, shelloffsets, PRIM_INT__l_s_t_s, PRIM_PTR_INT__l_s_t_s);
1807                         contract(1980, shelloffsets, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1808                         contract(2475, shelloffsets, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1809                         contract(3025, shelloffsets, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1810                         contract(3630, shelloffsets, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1811                         contract(4290, shelloffsets, PRIM_INT__m_s_o_s, PRIM_PTR_INT__m_s_o_s);
1812                         contract(5005, shelloffsets, PRIM_INT__m_s_q_s, PRIM_PTR_INT__m_s_q_s);
1813                         contract(5775, shelloffsets, PRIM_INT__m_s_r_s, PRIM_PTR_INT__m_s_r_s);
1814                         contract(6600, shelloffsets, PRIM_INT__m_s_t_s, PRIM_PTR_INT__m_s_t_s);
1815                         contract(2376, shelloffsets, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1816                         contract(2970, shelloffsets, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1817                         contract(3630, shelloffsets, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1818                         contract(4356, shelloffsets, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1819                         contract(5148, shelloffsets, PRIM_INT__n_s_o_s, PRIM_PTR_INT__n_s_o_s);
1820                         contract(6006, shelloffsets, PRIM_INT__n_s_q_s, PRIM_PTR_INT__n_s_q_s);
1821                         contract(6930, shelloffsets, PRIM_INT__n_s_r_s, PRIM_PTR_INT__n_s_r_s);
1822                         contract(7920, shelloffsets, PRIM_INT__n_s_t_s, PRIM_PTR_INT__n_s_t_s);
1823                         contract(2808, shelloffsets, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1824                         contract(3510, shelloffsets, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1825                         contract(4290, shelloffsets, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1826                         contract(5148, shelloffsets, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1827                         contract(6084, shelloffsets, PRIM_INT__o_s_o_s, PRIM_PTR_INT__o_s_o_s);
1828                         contract(7098, shelloffsets, PRIM_INT__o_s_q_s, PRIM_PTR_INT__o_s_q_s);
1829                         contract(8190, shelloffsets, PRIM_INT__o_s_r_s, PRIM_PTR_INT__o_s_r_s);
1830                         contract(9360, shelloffsets, PRIM_INT__o_s_t_s, PRIM_PTR_INT__o_s_t_s);
1831                         PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
1832                         PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
1833                         PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
1834                         PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
1835                         PRIM_PTR_INT__k_s_o_s += lastoffset*2808;
1836                         PRIM_PTR_INT__k_s_q_s += lastoffset*3276;
1837                         PRIM_PTR_INT__k_s_r_s += lastoffset*3780;
1838                         PRIM_PTR_INT__k_s_t_s += lastoffset*4320;
1839                         PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
1840                         PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
1841                         PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
1842                         PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
1843                         PRIM_PTR_INT__l_s_o_s += lastoffset*3510;
1844                         PRIM_PTR_INT__l_s_q_s += lastoffset*4095;
1845                         PRIM_PTR_INT__l_s_r_s += lastoffset*4725;
1846                         PRIM_PTR_INT__l_s_t_s += lastoffset*5400;
1847                         PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
1848                         PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
1849                         PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
1850                         PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
1851                         PRIM_PTR_INT__m_s_o_s += lastoffset*4290;
1852                         PRIM_PTR_INT__m_s_q_s += lastoffset*5005;
1853                         PRIM_PTR_INT__m_s_r_s += lastoffset*5775;
1854                         PRIM_PTR_INT__m_s_t_s += lastoffset*6600;
1855                         PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
1856                         PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
1857                         PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
1858                         PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
1859                         PRIM_PTR_INT__n_s_o_s += lastoffset*5148;
1860                         PRIM_PTR_INT__n_s_q_s += lastoffset*6006;
1861                         PRIM_PTR_INT__n_s_r_s += lastoffset*6930;
1862                         PRIM_PTR_INT__n_s_t_s += lastoffset*7920;
1863                         PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
1864                         PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
1865                         PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
1866                         PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
1867                         PRIM_PTR_INT__o_s_o_s += lastoffset*6084;
1868                         PRIM_PTR_INT__o_s_q_s += lastoffset*7098;
1869                         PRIM_PTR_INT__o_s_r_s += lastoffset*8190;
1870                         PRIM_PTR_INT__o_s_t_s += lastoffset*9360;
1871                     }
1872 
1873                 }  // close loop over j
1874             }  // close loop over i
1875 
1876             //Advance to the next batch
1877             jstart = SIMINT_SIMD_ROUND(jend);
1878 
1879             //////////////////////////////////////////////
1880             // Contracted integrals: Horizontal recurrance
1881             //////////////////////////////////////////////
1882 
1883 
1884             const double hAB[3] = { P.AB_x[ab], P.AB_y[ab], P.AB_z[ab] };
1885 
1886 
1887             for(abcd = 0; abcd < nshellbatch; ++abcd, ++real_abcd)
1888             {
1889                 const double hCD[3] = { Q.AB_x[cd+abcd], Q.AB_y[cd+abcd], Q.AB_z[cd+abcd] };
1890 
1891                 // set up HRR pointers
1892                 double const * restrict HRR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
1893                 double const * restrict HRR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
1894                 double const * restrict HRR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
1895                 double const * restrict HRR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
1896                 double const * restrict HRR_INT__k_s_o_s = INT__k_s_o_s + abcd * 2808;
1897                 double const * restrict HRR_INT__k_s_q_s = INT__k_s_q_s + abcd * 3276;
1898                 double const * restrict HRR_INT__k_s_r_s = INT__k_s_r_s + abcd * 3780;
1899                 double const * restrict HRR_INT__k_s_t_s = INT__k_s_t_s + abcd * 4320;
1900                 double const * restrict HRR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
1901                 double const * restrict HRR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
1902                 double const * restrict HRR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
1903                 double const * restrict HRR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
1904                 double const * restrict HRR_INT__l_s_o_s = INT__l_s_o_s + abcd * 3510;
1905                 double const * restrict HRR_INT__l_s_q_s = INT__l_s_q_s + abcd * 4095;
1906                 double const * restrict HRR_INT__l_s_r_s = INT__l_s_r_s + abcd * 4725;
1907                 double const * restrict HRR_INT__l_s_t_s = INT__l_s_t_s + abcd * 5400;
1908                 double const * restrict HRR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
1909                 double const * restrict HRR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
1910                 double const * restrict HRR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
1911                 double const * restrict HRR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
1912                 double const * restrict HRR_INT__m_s_o_s = INT__m_s_o_s + abcd * 4290;
1913                 double const * restrict HRR_INT__m_s_q_s = INT__m_s_q_s + abcd * 5005;
1914                 double const * restrict HRR_INT__m_s_r_s = INT__m_s_r_s + abcd * 5775;
1915                 double const * restrict HRR_INT__m_s_t_s = INT__m_s_t_s + abcd * 6600;
1916                 double const * restrict HRR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
1917                 double const * restrict HRR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
1918                 double const * restrict HRR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
1919                 double const * restrict HRR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
1920                 double const * restrict HRR_INT__n_s_o_s = INT__n_s_o_s + abcd * 5148;
1921                 double const * restrict HRR_INT__n_s_q_s = INT__n_s_q_s + abcd * 6006;
1922                 double const * restrict HRR_INT__n_s_r_s = INT__n_s_r_s + abcd * 6930;
1923                 double const * restrict HRR_INT__n_s_t_s = INT__n_s_t_s + abcd * 7920;
1924                 double const * restrict HRR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
1925                 double const * restrict HRR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
1926                 double const * restrict HRR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
1927                 double const * restrict HRR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
1928                 double const * restrict HRR_INT__o_s_o_s = INT__o_s_o_s + abcd * 6084;
1929                 double const * restrict HRR_INT__o_s_q_s = INT__o_s_q_s + abcd * 7098;
1930                 double const * restrict HRR_INT__o_s_r_s = INT__o_s_r_s + abcd * 8190;
1931                 double const * restrict HRR_INT__o_s_t_s = INT__o_s_t_s + abcd * 9360;
1932                 double * restrict HRR_INT__k_g_k_k = INT__k_g_k_k + real_abcd * 699840;
1933 
1934                 // form INT__k_p_k_s
1935                 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);
1936 
1937                 // form INT__k_p_l_s
1938                 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);
1939 
1940                 // form INT__k_p_m_s
1941                 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);
1942 
1943                 // form INT__k_p_n_s
1944                 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);
1945 
1946                 // form INT__k_p_o_s
1947                 ostei_general_hrr_J(7, 1, 11, 0, hAB, HRR_INT__l_s_o_s, HRR_INT__k_s_o_s, HRR_INT__k_p_o_s);
1948 
1949                 // form INT__k_p_q_s
1950                 ostei_general_hrr_J(7, 1, 12, 0, hAB, HRR_INT__l_s_q_s, HRR_INT__k_s_q_s, HRR_INT__k_p_q_s);
1951 
1952                 // form INT__k_p_r_s
1953                 ostei_general_hrr_J(7, 1, 13, 0, hAB, HRR_INT__l_s_r_s, HRR_INT__k_s_r_s, HRR_INT__k_p_r_s);
1954 
1955                 // form INT__k_p_t_s
1956                 ostei_general_hrr_J(7, 1, 14, 0, hAB, HRR_INT__l_s_t_s, HRR_INT__k_s_t_s, HRR_INT__k_p_t_s);
1957 
1958                 // form INT__l_p_k_s
1959                 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);
1960 
1961                 // form INT__l_p_l_s
1962                 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);
1963 
1964                 // form INT__l_p_m_s
1965                 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);
1966 
1967                 // form INT__l_p_n_s
1968                 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);
1969 
1970                 // form INT__l_p_o_s
1971                 ostei_general_hrr_J(8, 1, 11, 0, hAB, HRR_INT__m_s_o_s, HRR_INT__l_s_o_s, HRR_INT__l_p_o_s);
1972 
1973                 // form INT__l_p_q_s
1974                 ostei_general_hrr_J(8, 1, 12, 0, hAB, HRR_INT__m_s_q_s, HRR_INT__l_s_q_s, HRR_INT__l_p_q_s);
1975 
1976                 // form INT__l_p_r_s
1977                 ostei_general_hrr_J(8, 1, 13, 0, hAB, HRR_INT__m_s_r_s, HRR_INT__l_s_r_s, HRR_INT__l_p_r_s);
1978 
1979                 // form INT__l_p_t_s
1980                 ostei_general_hrr_J(8, 1, 14, 0, hAB, HRR_INT__m_s_t_s, HRR_INT__l_s_t_s, HRR_INT__l_p_t_s);
1981 
1982                 // form INT__m_p_k_s
1983                 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);
1984 
1985                 // form INT__m_p_l_s
1986                 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);
1987 
1988                 // form INT__m_p_m_s
1989                 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);
1990 
1991                 // form INT__m_p_n_s
1992                 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);
1993 
1994                 // form INT__m_p_o_s
1995                 ostei_general_hrr_J(9, 1, 11, 0, hAB, HRR_INT__n_s_o_s, HRR_INT__m_s_o_s, HRR_INT__m_p_o_s);
1996 
1997                 // form INT__m_p_q_s
1998                 ostei_general_hrr_J(9, 1, 12, 0, hAB, HRR_INT__n_s_q_s, HRR_INT__m_s_q_s, HRR_INT__m_p_q_s);
1999 
2000                 // form INT__m_p_r_s
2001                 ostei_general_hrr_J(9, 1, 13, 0, hAB, HRR_INT__n_s_r_s, HRR_INT__m_s_r_s, HRR_INT__m_p_r_s);
2002 
2003                 // form INT__m_p_t_s
2004                 ostei_general_hrr_J(9, 1, 14, 0, hAB, HRR_INT__n_s_t_s, HRR_INT__m_s_t_s, HRR_INT__m_p_t_s);
2005 
2006                 // form INT__n_p_k_s
2007                 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);
2008 
2009                 // form INT__n_p_l_s
2010                 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);
2011 
2012                 // form INT__n_p_m_s
2013                 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);
2014 
2015                 // form INT__n_p_n_s
2016                 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);
2017 
2018                 // form INT__n_p_o_s
2019                 ostei_general_hrr_J(10, 1, 11, 0, hAB, HRR_INT__o_s_o_s, HRR_INT__n_s_o_s, HRR_INT__n_p_o_s);
2020 
2021                 // form INT__n_p_q_s
2022                 ostei_general_hrr_J(10, 1, 12, 0, hAB, HRR_INT__o_s_q_s, HRR_INT__n_s_q_s, HRR_INT__n_p_q_s);
2023 
2024                 // form INT__n_p_r_s
2025                 ostei_general_hrr_J(10, 1, 13, 0, hAB, HRR_INT__o_s_r_s, HRR_INT__n_s_r_s, HRR_INT__n_p_r_s);
2026 
2027                 // form INT__n_p_t_s
2028                 ostei_general_hrr_J(10, 1, 14, 0, hAB, HRR_INT__o_s_t_s, HRR_INT__n_s_t_s, HRR_INT__n_p_t_s);
2029 
2030                 // form INT__k_d_k_s
2031                 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);
2032 
2033                 // form INT__k_d_l_s
2034                 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);
2035 
2036                 // form INT__k_d_m_s
2037                 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);
2038 
2039                 // form INT__k_d_n_s
2040                 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);
2041 
2042                 // form INT__k_d_o_s
2043                 ostei_general_hrr_J(7, 2, 11, 0, hAB, HRR_INT__l_p_o_s, HRR_INT__k_p_o_s, HRR_INT__k_d_o_s);
2044 
2045                 // form INT__k_d_q_s
2046                 ostei_general_hrr_J(7, 2, 12, 0, hAB, HRR_INT__l_p_q_s, HRR_INT__k_p_q_s, HRR_INT__k_d_q_s);
2047 
2048                 // form INT__k_d_r_s
2049                 ostei_general_hrr_J(7, 2, 13, 0, hAB, HRR_INT__l_p_r_s, HRR_INT__k_p_r_s, HRR_INT__k_d_r_s);
2050 
2051                 // form INT__k_d_t_s
2052                 ostei_general_hrr_J(7, 2, 14, 0, hAB, HRR_INT__l_p_t_s, HRR_INT__k_p_t_s, HRR_INT__k_d_t_s);
2053 
2054                 // form INT__l_d_k_s
2055                 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);
2056 
2057                 // form INT__l_d_l_s
2058                 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);
2059 
2060                 // form INT__l_d_m_s
2061                 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);
2062 
2063                 // form INT__l_d_n_s
2064                 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);
2065 
2066                 // form INT__l_d_o_s
2067                 ostei_general_hrr_J(8, 2, 11, 0, hAB, HRR_INT__m_p_o_s, HRR_INT__l_p_o_s, HRR_INT__l_d_o_s);
2068 
2069                 // form INT__l_d_q_s
2070                 ostei_general_hrr_J(8, 2, 12, 0, hAB, HRR_INT__m_p_q_s, HRR_INT__l_p_q_s, HRR_INT__l_d_q_s);
2071 
2072                 // form INT__l_d_r_s
2073                 ostei_general_hrr_J(8, 2, 13, 0, hAB, HRR_INT__m_p_r_s, HRR_INT__l_p_r_s, HRR_INT__l_d_r_s);
2074 
2075                 // form INT__l_d_t_s
2076                 ostei_general_hrr_J(8, 2, 14, 0, hAB, HRR_INT__m_p_t_s, HRR_INT__l_p_t_s, HRR_INT__l_d_t_s);
2077 
2078                 // form INT__m_d_k_s
2079                 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);
2080 
2081                 // form INT__m_d_l_s
2082                 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);
2083 
2084                 // form INT__m_d_m_s
2085                 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);
2086 
2087                 // form INT__m_d_n_s
2088                 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);
2089 
2090                 // form INT__m_d_o_s
2091                 ostei_general_hrr_J(9, 2, 11, 0, hAB, HRR_INT__n_p_o_s, HRR_INT__m_p_o_s, HRR_INT__m_d_o_s);
2092 
2093                 // form INT__m_d_q_s
2094                 ostei_general_hrr_J(9, 2, 12, 0, hAB, HRR_INT__n_p_q_s, HRR_INT__m_p_q_s, HRR_INT__m_d_q_s);
2095 
2096                 // form INT__m_d_r_s
2097                 ostei_general_hrr_J(9, 2, 13, 0, hAB, HRR_INT__n_p_r_s, HRR_INT__m_p_r_s, HRR_INT__m_d_r_s);
2098 
2099                 // form INT__m_d_t_s
2100                 ostei_general_hrr_J(9, 2, 14, 0, hAB, HRR_INT__n_p_t_s, HRR_INT__m_p_t_s, HRR_INT__m_d_t_s);
2101 
2102                 // form INT__k_f_k_s
2103                 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);
2104 
2105                 // form INT__k_f_l_s
2106                 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);
2107 
2108                 // form INT__k_f_m_s
2109                 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);
2110 
2111                 // form INT__k_f_n_s
2112                 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);
2113 
2114                 // form INT__k_f_o_s
2115                 ostei_general_hrr_J(7, 3, 11, 0, hAB, HRR_INT__l_d_o_s, HRR_INT__k_d_o_s, HRR_INT__k_f_o_s);
2116 
2117                 // form INT__k_f_q_s
2118                 ostei_general_hrr_J(7, 3, 12, 0, hAB, HRR_INT__l_d_q_s, HRR_INT__k_d_q_s, HRR_INT__k_f_q_s);
2119 
2120                 // form INT__k_f_r_s
2121                 ostei_general_hrr_J(7, 3, 13, 0, hAB, HRR_INT__l_d_r_s, HRR_INT__k_d_r_s, HRR_INT__k_f_r_s);
2122 
2123                 // form INT__k_f_t_s
2124                 ostei_general_hrr_J(7, 3, 14, 0, hAB, HRR_INT__l_d_t_s, HRR_INT__k_d_t_s, HRR_INT__k_f_t_s);
2125 
2126                 // form INT__l_f_k_s
2127                 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);
2128 
2129                 // form INT__l_f_l_s
2130                 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);
2131 
2132                 // form INT__l_f_m_s
2133                 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);
2134 
2135                 // form INT__l_f_n_s
2136                 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);
2137 
2138                 // form INT__l_f_o_s
2139                 ostei_general_hrr_J(8, 3, 11, 0, hAB, HRR_INT__m_d_o_s, HRR_INT__l_d_o_s, HRR_INT__l_f_o_s);
2140 
2141                 // form INT__l_f_q_s
2142                 ostei_general_hrr_J(8, 3, 12, 0, hAB, HRR_INT__m_d_q_s, HRR_INT__l_d_q_s, HRR_INT__l_f_q_s);
2143 
2144                 // form INT__l_f_r_s
2145                 ostei_general_hrr_J(8, 3, 13, 0, hAB, HRR_INT__m_d_r_s, HRR_INT__l_d_r_s, HRR_INT__l_f_r_s);
2146 
2147                 // form INT__l_f_t_s
2148                 ostei_general_hrr_J(8, 3, 14, 0, hAB, HRR_INT__m_d_t_s, HRR_INT__l_d_t_s, HRR_INT__l_f_t_s);
2149 
2150                 // form INT__k_g_k_s
2151                 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);
2152 
2153                 // form INT__k_g_l_s
2154                 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);
2155 
2156                 // form INT__k_g_m_s
2157                 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);
2158 
2159                 // form INT__k_g_n_s
2160                 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);
2161 
2162                 // form INT__k_g_o_s
2163                 ostei_general_hrr_J(7, 4, 11, 0, hAB, HRR_INT__l_f_o_s, HRR_INT__k_f_o_s, HRR_INT__k_g_o_s);
2164 
2165                 // form INT__k_g_q_s
2166                 ostei_general_hrr_J(7, 4, 12, 0, hAB, HRR_INT__l_f_q_s, HRR_INT__k_f_q_s, HRR_INT__k_g_q_s);
2167 
2168                 // form INT__k_g_r_s
2169                 ostei_general_hrr_J(7, 4, 13, 0, hAB, HRR_INT__l_f_r_s, HRR_INT__k_f_r_s, HRR_INT__k_g_r_s);
2170 
2171                 // form INT__k_g_t_s
2172                 ostei_general_hrr_J(7, 4, 14, 0, hAB, HRR_INT__l_f_t_s, HRR_INT__k_f_t_s, HRR_INT__k_g_t_s);
2173 
2174                 // form INT__k_g_k_p
2175                 ostei_general_hrr_L(7, 4, 7, 1, hCD, HRR_INT__k_g_l_s, HRR_INT__k_g_k_s, HRR_INT__k_g_k_p);
2176 
2177                 // form INT__k_g_l_p
2178                 ostei_general_hrr_L(7, 4, 8, 1, hCD, HRR_INT__k_g_m_s, HRR_INT__k_g_l_s, HRR_INT__k_g_l_p);
2179 
2180                 // form INT__k_g_m_p
2181                 ostei_general_hrr_L(7, 4, 9, 1, hCD, HRR_INT__k_g_n_s, HRR_INT__k_g_m_s, HRR_INT__k_g_m_p);
2182 
2183                 // form INT__k_g_n_p
2184                 ostei_general_hrr_L(7, 4, 10, 1, hCD, HRR_INT__k_g_o_s, HRR_INT__k_g_n_s, HRR_INT__k_g_n_p);
2185 
2186                 // form INT__k_g_o_p
2187                 ostei_general_hrr_L(7, 4, 11, 1, hCD, HRR_INT__k_g_q_s, HRR_INT__k_g_o_s, HRR_INT__k_g_o_p);
2188 
2189                 // form INT__k_g_q_p
2190                 ostei_general_hrr_L(7, 4, 12, 1, hCD, HRR_INT__k_g_r_s, HRR_INT__k_g_q_s, HRR_INT__k_g_q_p);
2191 
2192                 // form INT__k_g_r_p
2193                 ostei_general_hrr_L(7, 4, 13, 1, hCD, HRR_INT__k_g_t_s, HRR_INT__k_g_r_s, HRR_INT__k_g_r_p);
2194 
2195                 // form INT__k_g_k_d
2196                 ostei_general_hrr_L(7, 4, 7, 2, hCD, HRR_INT__k_g_l_p, HRR_INT__k_g_k_p, HRR_INT__k_g_k_d);
2197 
2198                 // form INT__k_g_l_d
2199                 ostei_general_hrr_L(7, 4, 8, 2, hCD, HRR_INT__k_g_m_p, HRR_INT__k_g_l_p, HRR_INT__k_g_l_d);
2200 
2201                 // form INT__k_g_m_d
2202                 ostei_general_hrr_L(7, 4, 9, 2, hCD, HRR_INT__k_g_n_p, HRR_INT__k_g_m_p, HRR_INT__k_g_m_d);
2203 
2204                 // form INT__k_g_n_d
2205                 ostei_general_hrr_L(7, 4, 10, 2, hCD, HRR_INT__k_g_o_p, HRR_INT__k_g_n_p, HRR_INT__k_g_n_d);
2206 
2207                 // form INT__k_g_o_d
2208                 ostei_general_hrr_L(7, 4, 11, 2, hCD, HRR_INT__k_g_q_p, HRR_INT__k_g_o_p, HRR_INT__k_g_o_d);
2209 
2210                 // form INT__k_g_q_d
2211                 ostei_general_hrr_L(7, 4, 12, 2, hCD, HRR_INT__k_g_r_p, HRR_INT__k_g_q_p, HRR_INT__k_g_q_d);
2212 
2213                 // form INT__k_g_k_f
2214                 ostei_general_hrr_L(7, 4, 7, 3, hCD, HRR_INT__k_g_l_d, HRR_INT__k_g_k_d, HRR_INT__k_g_k_f);
2215 
2216                 // form INT__k_g_l_f
2217                 ostei_general_hrr_L(7, 4, 8, 3, hCD, HRR_INT__k_g_m_d, HRR_INT__k_g_l_d, HRR_INT__k_g_l_f);
2218 
2219                 // form INT__k_g_m_f
2220                 ostei_general_hrr_L(7, 4, 9, 3, hCD, HRR_INT__k_g_n_d, HRR_INT__k_g_m_d, HRR_INT__k_g_m_f);
2221 
2222                 // form INT__k_g_n_f
2223                 ostei_general_hrr_L(7, 4, 10, 3, hCD, HRR_INT__k_g_o_d, HRR_INT__k_g_n_d, HRR_INT__k_g_n_f);
2224 
2225                 // form INT__k_g_o_f
2226                 ostei_general_hrr_L(7, 4, 11, 3, hCD, HRR_INT__k_g_q_d, HRR_INT__k_g_o_d, HRR_INT__k_g_o_f);
2227 
2228                 // form INT__k_g_k_g
2229                 ostei_general_hrr_L(7, 4, 7, 4, hCD, HRR_INT__k_g_l_f, HRR_INT__k_g_k_f, HRR_INT__k_g_k_g);
2230 
2231                 // form INT__k_g_l_g
2232                 ostei_general_hrr_L(7, 4, 8, 4, hCD, HRR_INT__k_g_m_f, HRR_INT__k_g_l_f, HRR_INT__k_g_l_g);
2233 
2234                 // form INT__k_g_m_g
2235                 ostei_general_hrr_L(7, 4, 9, 4, hCD, HRR_INT__k_g_n_f, HRR_INT__k_g_m_f, HRR_INT__k_g_m_g);
2236 
2237                 // form INT__k_g_n_g
2238                 ostei_general_hrr_L(7, 4, 10, 4, hCD, HRR_INT__k_g_o_f, HRR_INT__k_g_n_f, HRR_INT__k_g_n_g);
2239 
2240                 // form INT__k_g_k_h
2241                 ostei_general_hrr_L(7, 4, 7, 5, hCD, HRR_INT__k_g_l_g, HRR_INT__k_g_k_g, HRR_INT__k_g_k_h);
2242 
2243                 // form INT__k_g_l_h
2244                 ostei_general_hrr_L(7, 4, 8, 5, hCD, HRR_INT__k_g_m_g, HRR_INT__k_g_l_g, HRR_INT__k_g_l_h);
2245 
2246                 // form INT__k_g_m_h
2247                 ostei_general_hrr_L(7, 4, 9, 5, hCD, HRR_INT__k_g_n_g, HRR_INT__k_g_m_g, HRR_INT__k_g_m_h);
2248 
2249                 // form INT__k_g_k_i
2250                 ostei_general_hrr_L(7, 4, 7, 6, hCD, HRR_INT__k_g_l_h, HRR_INT__k_g_k_h, HRR_INT__k_g_k_i);
2251 
2252                 // form INT__k_g_l_i
2253                 ostei_general_hrr_L(7, 4, 8, 6, hCD, HRR_INT__k_g_m_h, HRR_INT__k_g_l_h, HRR_INT__k_g_l_i);
2254 
2255                 // form INT__k_g_k_k
2256                 ostei_general_hrr_L(7, 4, 7, 7, hCD, HRR_INT__k_g_l_i, HRR_INT__k_g_k_i, HRR_INT__k_g_k_k);
2257 
2258 
2259             }  // close HRR loop
2260 
2261 
2262         }   // close loop cdbatch
2263 
2264         istart = iend;
2265     }  // close loop over ab
2266 
2267     return P.nshell12_clip * Q.nshell12_clip;
2268 }
2269 
ostei_g_k_k_k(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__g_k_k_k)2270 int ostei_g_k_k_k(struct simint_multi_shellpair const P,
2271                   struct simint_multi_shellpair const Q,
2272                   double screen_tol,
2273                   double * const restrict work,
2274                   double * const restrict INT__g_k_k_k)
2275 {
2276     double P_AB[3*P.nshell12];
2277     struct simint_multi_shellpair P_tmp = P;
2278     P_tmp.PA_x = P.PB_x;  P_tmp.PA_y = P.PB_y;  P_tmp.PA_z = P.PB_z;
2279     P_tmp.PB_x = P.PA_x;  P_tmp.PB_y = P.PA_y;  P_tmp.PB_z = P.PA_z;
2280     P_tmp.AB_x = P_AB;
2281     P_tmp.AB_y = P_AB + P.nshell12;
2282     P_tmp.AB_z = P_AB + 2*P.nshell12;
2283 
2284     for(int i = 0; i < P.nshell12; i++)
2285     {
2286         P_tmp.AB_x[i] = -P.AB_x[i];
2287         P_tmp.AB_y[i] = -P.AB_y[i];
2288         P_tmp.AB_z[i] = -P.AB_z[i];
2289     }
2290 
2291     int ret = ostei_k_g_k_k(P_tmp, Q, screen_tol, work, INT__g_k_k_k);
2292     double buffer[699840] SIMINT_ALIGN_ARRAY_DBL;
2293 
2294     for(int q = 0; q < ret; q++)
2295     {
2296         int idx = 0;
2297         for(int a = 0; a < 15; ++a)
2298         for(int b = 0; b < 36; ++b)
2299         for(int c = 0; c < 36; ++c)
2300         for(int d = 0; d < 36; ++d)
2301             buffer[idx++] = INT__g_k_k_k[q*699840+b*19440+a*1296+c*36+d];
2302 
2303         memcpy(INT__g_k_k_k+q*699840, buffer, 699840*sizeof(double));
2304     }
2305 
2306     return ret;
2307 }
2308 
2309