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_g_g_i_i(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__g_g_i_i)8 int ostei_g_g_i_i(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__g_g_i_i)
13 {
14 
15     SIMINT_ASSUME_ALIGN_DBL(work);
16     SIMINT_ASSUME_ALIGN_DBL(INT__g_g_i_i);
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__g_s_i_s = work + (SIMINT_NSHELL_SIMD * 0);
30     double * const INT__g_s_k_s = work + (SIMINT_NSHELL_SIMD * 420);
31     double * const INT__g_s_l_s = work + (SIMINT_NSHELL_SIMD * 960);
32     double * const INT__g_s_m_s = work + (SIMINT_NSHELL_SIMD * 1635);
33     double * const INT__g_s_n_s = work + (SIMINT_NSHELL_SIMD * 2460);
34     double * const INT__g_s_o_s = work + (SIMINT_NSHELL_SIMD * 3450);
35     double * const INT__g_s_q_s = work + (SIMINT_NSHELL_SIMD * 4620);
36     double * const INT__h_s_i_s = work + (SIMINT_NSHELL_SIMD * 5985);
37     double * const INT__h_s_k_s = work + (SIMINT_NSHELL_SIMD * 6573);
38     double * const INT__h_s_l_s = work + (SIMINT_NSHELL_SIMD * 7329);
39     double * const INT__h_s_m_s = work + (SIMINT_NSHELL_SIMD * 8274);
40     double * const INT__h_s_n_s = work + (SIMINT_NSHELL_SIMD * 9429);
41     double * const INT__h_s_o_s = work + (SIMINT_NSHELL_SIMD * 10815);
42     double * const INT__h_s_q_s = work + (SIMINT_NSHELL_SIMD * 12453);
43     double * const INT__i_s_i_s = work + (SIMINT_NSHELL_SIMD * 14364);
44     double * const INT__i_s_k_s = work + (SIMINT_NSHELL_SIMD * 15148);
45     double * const INT__i_s_l_s = work + (SIMINT_NSHELL_SIMD * 16156);
46     double * const INT__i_s_m_s = work + (SIMINT_NSHELL_SIMD * 17416);
47     double * const INT__i_s_n_s = work + (SIMINT_NSHELL_SIMD * 18956);
48     double * const INT__i_s_o_s = work + (SIMINT_NSHELL_SIMD * 20804);
49     double * const INT__i_s_q_s = work + (SIMINT_NSHELL_SIMD * 22988);
50     double * const INT__k_s_i_s = work + (SIMINT_NSHELL_SIMD * 25536);
51     double * const INT__k_s_k_s = work + (SIMINT_NSHELL_SIMD * 26544);
52     double * const INT__k_s_l_s = work + (SIMINT_NSHELL_SIMD * 27840);
53     double * const INT__k_s_m_s = work + (SIMINT_NSHELL_SIMD * 29460);
54     double * const INT__k_s_n_s = work + (SIMINT_NSHELL_SIMD * 31440);
55     double * const INT__k_s_o_s = work + (SIMINT_NSHELL_SIMD * 33816);
56     double * const INT__k_s_q_s = work + (SIMINT_NSHELL_SIMD * 36624);
57     double * const INT__l_s_i_s = work + (SIMINT_NSHELL_SIMD * 39900);
58     double * const INT__l_s_k_s = work + (SIMINT_NSHELL_SIMD * 41160);
59     double * const INT__l_s_l_s = work + (SIMINT_NSHELL_SIMD * 42780);
60     double * const INT__l_s_m_s = work + (SIMINT_NSHELL_SIMD * 44805);
61     double * const INT__l_s_n_s = work + (SIMINT_NSHELL_SIMD * 47280);
62     double * const INT__l_s_o_s = work + (SIMINT_NSHELL_SIMD * 50250);
63     double * const INT__l_s_q_s = work + (SIMINT_NSHELL_SIMD * 53760);
64     SIMINT_DBLTYPE * const primwork = (SIMINT_DBLTYPE *)(work + SIMINT_NSHELL_SIMD*57855);
65     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_s_s = primwork + 0;
66     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_p_s = primwork + 21;
67     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_d_s = primwork + 81;
68     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_f_s = primwork + 195;
69     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_g_s = primwork + 375;
70     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_h_s = primwork + 630;
71     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_i_s = primwork + 966;
72     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_k_s = primwork + 1386;
73     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_l_s = primwork + 1890;
74     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_m_s = primwork + 2475;
75     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_n_s = primwork + 3135;
76     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_o_s = primwork + 3861;
77     SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_q_s = primwork + 4641;
78     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_s_s = primwork + 5460;
79     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_p_s = primwork + 5484;
80     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_d_s = primwork + 5556;
81     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_f_s = primwork + 5700;
82     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_g_s = primwork + 5940;
83     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_h_s = primwork + 6300;
84     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_i_s = primwork + 6804;
85     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_k_s = primwork + 7476;
86     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_l_s = primwork + 8340;
87     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_m_s = primwork + 9420;
88     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_n_s = primwork + 10740;
89     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_o_s = primwork + 12324;
90     SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_q_s = primwork + 14196;
91     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_s_s = primwork + 16380;
92     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_p_s = primwork + 16422;
93     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_d_s = primwork + 16548;
94     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_f_s = primwork + 16800;
95     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_g_s = primwork + 17220;
96     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_h_s = primwork + 17850;
97     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_i_s = primwork + 18732;
98     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_k_s = primwork + 19908;
99     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_l_s = primwork + 21420;
100     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_m_s = primwork + 23310;
101     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_n_s = primwork + 25620;
102     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_o_s = primwork + 28392;
103     SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_q_s = primwork + 31668;
104     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_p_s = primwork + 35490;
105     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_d_s = primwork + 35670;
106     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_f_s = primwork + 36030;
107     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_g_s = primwork + 36630;
108     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_h_s = primwork + 37530;
109     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_i_s = primwork + 38790;
110     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_k_s = primwork + 40470;
111     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_l_s = primwork + 42630;
112     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_m_s = primwork + 45330;
113     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_n_s = primwork + 48630;
114     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_o_s = primwork + 52590;
115     SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_q_s = primwork + 57270;
116     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_d_s = primwork + 62730;
117     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_f_s = primwork + 63180;
118     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_g_s = primwork + 63930;
119     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_h_s = primwork + 65055;
120     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_i_s = primwork + 66630;
121     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_k_s = primwork + 68730;
122     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_l_s = primwork + 71430;
123     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_m_s = primwork + 74805;
124     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_n_s = primwork + 78930;
125     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_o_s = primwork + 83880;
126     SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_q_s = primwork + 89730;
127     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_f_s = primwork + 96555;
128     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_g_s = primwork + 97395;
129     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_h_s = primwork + 98655;
130     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_i_s = primwork + 100419;
131     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_k_s = primwork + 102771;
132     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_l_s = primwork + 105795;
133     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_m_s = primwork + 109575;
134     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_n_s = primwork + 114195;
135     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_o_s = primwork + 119739;
136     SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_q_s = primwork + 126291;
137     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_g_s = primwork + 133935;
138     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_h_s = primwork + 135195;
139     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_i_s = primwork + 136959;
140     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_k_s = primwork + 139311;
141     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_l_s = primwork + 142335;
142     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_m_s = primwork + 146115;
143     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_n_s = primwork + 150735;
144     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_o_s = primwork + 156279;
145     SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_q_s = primwork + 162831;
146     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_h_s = primwork + 170475;
147     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_i_s = primwork + 171987;
148     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_k_s = primwork + 174003;
149     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_l_s = primwork + 176595;
150     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_m_s = primwork + 179835;
151     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_n_s = primwork + 183795;
152     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_o_s = primwork + 188547;
153     SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_q_s = primwork + 194163;
154     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_i_s = primwork + 200715;
155     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_k_s = primwork + 201975;
156     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_l_s = primwork + 203595;
157     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_m_s = primwork + 205620;
158     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_n_s = primwork + 208095;
159     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_o_s = primwork + 211065;
160     SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_q_s = primwork + 214575;
161     double * const hrrwork = (double *)(primwork + 218670);
162     double * const HRR_INT__g_p_i_s = hrrwork + 0;
163     double * const HRR_INT__g_p_k_s = hrrwork + 1260;
164     double * const HRR_INT__g_p_l_s = hrrwork + 2880;
165     double * const HRR_INT__g_p_m_s = hrrwork + 4905;
166     double * const HRR_INT__g_p_n_s = hrrwork + 7380;
167     double * const HRR_INT__g_p_o_s = hrrwork + 10350;
168     double * const HRR_INT__g_p_q_s = hrrwork + 13860;
169     double * const HRR_INT__g_d_i_s = hrrwork + 17955;
170     double * const HRR_INT__g_d_k_s = hrrwork + 20475;
171     double * const HRR_INT__g_d_l_s = hrrwork + 23715;
172     double * const HRR_INT__g_d_m_s = hrrwork + 27765;
173     double * const HRR_INT__g_d_n_s = hrrwork + 32715;
174     double * const HRR_INT__g_d_o_s = hrrwork + 38655;
175     double * const HRR_INT__g_d_q_s = hrrwork + 45675;
176     double * const HRR_INT__g_f_i_s = hrrwork + 53865;
177     double * const HRR_INT__g_f_k_s = hrrwork + 58065;
178     double * const HRR_INT__g_f_l_s = hrrwork + 63465;
179     double * const HRR_INT__g_f_m_s = hrrwork + 70215;
180     double * const HRR_INT__g_f_n_s = hrrwork + 78465;
181     double * const HRR_INT__g_f_o_s = hrrwork + 88365;
182     double * const HRR_INT__g_f_q_s = hrrwork + 100065;
183     double * const HRR_INT__g_g_i_s = hrrwork + 113715;
184     double * const HRR_INT__g_g_i_p = hrrwork + 120015;
185     double * const HRR_INT__g_g_i_d = hrrwork + 138915;
186     double * const HRR_INT__g_g_i_f = hrrwork + 176715;
187     double * const HRR_INT__g_g_i_g = hrrwork + 239715;
188     double * const HRR_INT__g_g_i_h = hrrwork + 334215;
189     double * const HRR_INT__g_g_k_s = hrrwork + 466515;
190     double * const HRR_INT__g_g_k_p = hrrwork + 474615;
191     double * const HRR_INT__g_g_k_d = hrrwork + 498915;
192     double * const HRR_INT__g_g_k_f = hrrwork + 547515;
193     double * const HRR_INT__g_g_k_g = hrrwork + 628515;
194     double * const HRR_INT__g_g_k_h = hrrwork + 750015;
195     double * const HRR_INT__g_g_l_s = hrrwork + 920115;
196     double * const HRR_INT__g_g_l_p = hrrwork + 930240;
197     double * const HRR_INT__g_g_l_d = hrrwork + 960615;
198     double * const HRR_INT__g_g_l_f = hrrwork + 1021365;
199     double * const HRR_INT__g_g_l_g = hrrwork + 1122615;
200     double * const HRR_INT__g_g_m_s = hrrwork + 1274490;
201     double * const HRR_INT__g_g_m_p = hrrwork + 1286865;
202     double * const HRR_INT__g_g_m_d = hrrwork + 1323990;
203     double * const HRR_INT__g_g_m_f = hrrwork + 1398240;
204     double * const HRR_INT__g_g_n_s = hrrwork + 1521990;
205     double * const HRR_INT__g_g_n_p = hrrwork + 1536840;
206     double * const HRR_INT__g_g_n_d = hrrwork + 1581390;
207     double * const HRR_INT__g_g_o_s = hrrwork + 1670490;
208     double * const HRR_INT__g_g_o_p = hrrwork + 1688040;
209     double * const HRR_INT__g_g_q_s = hrrwork + 1740690;
210     double * const HRR_INT__h_p_i_s = hrrwork + 1761165;
211     double * const HRR_INT__h_p_k_s = hrrwork + 1762929;
212     double * const HRR_INT__h_p_l_s = hrrwork + 1765197;
213     double * const HRR_INT__h_p_m_s = hrrwork + 1768032;
214     double * const HRR_INT__h_p_n_s = hrrwork + 1771497;
215     double * const HRR_INT__h_p_o_s = hrrwork + 1775655;
216     double * const HRR_INT__h_p_q_s = hrrwork + 1780569;
217     double * const HRR_INT__h_d_i_s = hrrwork + 1786302;
218     double * const HRR_INT__h_d_k_s = hrrwork + 1789830;
219     double * const HRR_INT__h_d_l_s = hrrwork + 1794366;
220     double * const HRR_INT__h_d_m_s = hrrwork + 1800036;
221     double * const HRR_INT__h_d_n_s = hrrwork + 1806966;
222     double * const HRR_INT__h_d_o_s = hrrwork + 1815282;
223     double * const HRR_INT__h_d_q_s = hrrwork + 1825110;
224     double * const HRR_INT__h_f_i_s = hrrwork + 1836576;
225     double * const HRR_INT__h_f_k_s = hrrwork + 1842456;
226     double * const HRR_INT__h_f_l_s = hrrwork + 1850016;
227     double * const HRR_INT__h_f_m_s = hrrwork + 1859466;
228     double * const HRR_INT__h_f_n_s = hrrwork + 1871016;
229     double * const HRR_INT__h_f_o_s = hrrwork + 1884876;
230     double * const HRR_INT__h_f_q_s = hrrwork + 1901256;
231     double * const HRR_INT__i_p_i_s = hrrwork + 1920366;
232     double * const HRR_INT__i_p_k_s = hrrwork + 1922718;
233     double * const HRR_INT__i_p_l_s = hrrwork + 1925742;
234     double * const HRR_INT__i_p_m_s = hrrwork + 1929522;
235     double * const HRR_INT__i_p_n_s = hrrwork + 1934142;
236     double * const HRR_INT__i_p_o_s = hrrwork + 1939686;
237     double * const HRR_INT__i_p_q_s = hrrwork + 1946238;
238     double * const HRR_INT__i_d_i_s = hrrwork + 1953882;
239     double * const HRR_INT__i_d_k_s = hrrwork + 1958586;
240     double * const HRR_INT__i_d_l_s = hrrwork + 1964634;
241     double * const HRR_INT__i_d_m_s = hrrwork + 1972194;
242     double * const HRR_INT__i_d_n_s = hrrwork + 1981434;
243     double * const HRR_INT__i_d_o_s = hrrwork + 1992522;
244     double * const HRR_INT__i_d_q_s = hrrwork + 2005626;
245     double * const HRR_INT__k_p_i_s = hrrwork + 2020914;
246     double * const HRR_INT__k_p_k_s = hrrwork + 2023938;
247     double * const HRR_INT__k_p_l_s = hrrwork + 2027826;
248     double * const HRR_INT__k_p_m_s = hrrwork + 2032686;
249     double * const HRR_INT__k_p_n_s = hrrwork + 2038626;
250     double * const HRR_INT__k_p_o_s = hrrwork + 2045754;
251     double * const HRR_INT__k_p_q_s = hrrwork + 2054178;
252 
253 
254     // Create constants
255     const SIMINT_DBLTYPE const_1 = SIMINT_DBLSET1(1);
256     const SIMINT_DBLTYPE const_10 = SIMINT_DBLSET1(10);
257     const SIMINT_DBLTYPE const_11 = SIMINT_DBLSET1(11);
258     const SIMINT_DBLTYPE const_12 = SIMINT_DBLSET1(12);
259     const SIMINT_DBLTYPE const_2 = SIMINT_DBLSET1(2);
260     const SIMINT_DBLTYPE const_3 = SIMINT_DBLSET1(3);
261     const SIMINT_DBLTYPE const_4 = SIMINT_DBLSET1(4);
262     const SIMINT_DBLTYPE const_5 = SIMINT_DBLSET1(5);
263     const SIMINT_DBLTYPE const_6 = SIMINT_DBLSET1(6);
264     const SIMINT_DBLTYPE const_7 = SIMINT_DBLSET1(7);
265     const SIMINT_DBLTYPE const_8 = SIMINT_DBLSET1(8);
266     const SIMINT_DBLTYPE const_9 = SIMINT_DBLSET1(9);
267     const SIMINT_DBLTYPE one_half = SIMINT_DBLSET1(0.5);
268 
269 
270     ////////////////////////////////////////
271     // Loop over shells and primitives
272     ////////////////////////////////////////
273 
274     real_abcd = 0;
275     istart = 0;
276     for(ab = 0; ab < P.nshell12_clip; ++ab)
277     {
278         const int iend = istart + P.nprim12[ab];
279 
280         cd = 0;
281         jstart = 0;
282 
283         for(cd = 0; cd < Q.nshell12_clip; cd += SIMINT_NSHELL_SIMD)
284         {
285             const int nshellbatch = ((cd + SIMINT_NSHELL_SIMD) > Q.nshell12_clip) ? Q.nshell12_clip - cd : SIMINT_NSHELL_SIMD;
286             int jend = jstart;
287             for(i = 0; i < nshellbatch; i++)
288                 jend += Q.nprim12[cd+i];
289 
290             // Clear the beginning of the workspace (where we are accumulating integrals)
291             memset(work, 0, SIMINT_NSHELL_SIMD * 57855 * sizeof(double));
292             abcd = 0;
293 
294 
295             for(i = istart; i < iend; ++i)
296             {
297                 SIMINT_DBLTYPE bra_screen_max;  // only used if check_screen
298 
299                 if(check_screen)
300                 {
301                     // Skip this whole thing if always insignificant
302                     if((P.screen[i] * Q.screen_max) < screen_tol)
303                         continue;
304                     bra_screen_max = SIMINT_DBLSET1(P.screen[i]);
305                 }
306 
307                 icd = 0;
308                 iprimcd = 0;
309                 nprim_icd = Q.nprim12[cd];
310                 double * restrict PRIM_PTR_INT__g_s_i_s = INT__g_s_i_s + abcd * 420;
311                 double * restrict PRIM_PTR_INT__g_s_k_s = INT__g_s_k_s + abcd * 540;
312                 double * restrict PRIM_PTR_INT__g_s_l_s = INT__g_s_l_s + abcd * 675;
313                 double * restrict PRIM_PTR_INT__g_s_m_s = INT__g_s_m_s + abcd * 825;
314                 double * restrict PRIM_PTR_INT__g_s_n_s = INT__g_s_n_s + abcd * 990;
315                 double * restrict PRIM_PTR_INT__g_s_o_s = INT__g_s_o_s + abcd * 1170;
316                 double * restrict PRIM_PTR_INT__g_s_q_s = INT__g_s_q_s + abcd * 1365;
317                 double * restrict PRIM_PTR_INT__h_s_i_s = INT__h_s_i_s + abcd * 588;
318                 double * restrict PRIM_PTR_INT__h_s_k_s = INT__h_s_k_s + abcd * 756;
319                 double * restrict PRIM_PTR_INT__h_s_l_s = INT__h_s_l_s + abcd * 945;
320                 double * restrict PRIM_PTR_INT__h_s_m_s = INT__h_s_m_s + abcd * 1155;
321                 double * restrict PRIM_PTR_INT__h_s_n_s = INT__h_s_n_s + abcd * 1386;
322                 double * restrict PRIM_PTR_INT__h_s_o_s = INT__h_s_o_s + abcd * 1638;
323                 double * restrict PRIM_PTR_INT__h_s_q_s = INT__h_s_q_s + abcd * 1911;
324                 double * restrict PRIM_PTR_INT__i_s_i_s = INT__i_s_i_s + abcd * 784;
325                 double * restrict PRIM_PTR_INT__i_s_k_s = INT__i_s_k_s + abcd * 1008;
326                 double * restrict PRIM_PTR_INT__i_s_l_s = INT__i_s_l_s + abcd * 1260;
327                 double * restrict PRIM_PTR_INT__i_s_m_s = INT__i_s_m_s + abcd * 1540;
328                 double * restrict PRIM_PTR_INT__i_s_n_s = INT__i_s_n_s + abcd * 1848;
329                 double * restrict PRIM_PTR_INT__i_s_o_s = INT__i_s_o_s + abcd * 2184;
330                 double * restrict PRIM_PTR_INT__i_s_q_s = INT__i_s_q_s + abcd * 2548;
331                 double * restrict PRIM_PTR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
332                 double * restrict PRIM_PTR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
333                 double * restrict PRIM_PTR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
334                 double * restrict PRIM_PTR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
335                 double * restrict PRIM_PTR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
336                 double * restrict PRIM_PTR_INT__k_s_o_s = INT__k_s_o_s + abcd * 2808;
337                 double * restrict PRIM_PTR_INT__k_s_q_s = INT__k_s_q_s + abcd * 3276;
338                 double * restrict PRIM_PTR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
339                 double * restrict PRIM_PTR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
340                 double * restrict PRIM_PTR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
341                 double * restrict PRIM_PTR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
342                 double * restrict PRIM_PTR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
343                 double * restrict PRIM_PTR_INT__l_s_o_s = INT__l_s_o_s + abcd * 3510;
344                 double * restrict PRIM_PTR_INT__l_s_q_s = INT__l_s_q_s + abcd * 4095;
345 
346 
347 
348                 // Load these one per loop over i
349                 const SIMINT_DBLTYPE P_alpha = SIMINT_DBLSET1(P.alpha[i]);
350                 const SIMINT_DBLTYPE P_prefac = SIMINT_DBLSET1(P.prefac[i]);
351                 const SIMINT_DBLTYPE Pxyz[3] = { SIMINT_DBLSET1(P.x[i]), SIMINT_DBLSET1(P.y[i]), SIMINT_DBLSET1(P.z[i]) };
352 
353                 const SIMINT_DBLTYPE P_PA[3] = { SIMINT_DBLSET1(P.PA_x[i]), SIMINT_DBLSET1(P.PA_y[i]), SIMINT_DBLSET1(P.PA_z[i]) };
354 
355                 for(j = jstart; j < jend; j += SIMINT_SIMD_LEN)
356                 {
357                     // calculate the shell offsets
358                     // these are the offset from the shell pointed to by cd
359                     // for each element
360                     int shelloffsets[SIMINT_SIMD_LEN] = {0};
361                     int lastoffset = 0;
362                     const int nlane = ( ((j + SIMINT_SIMD_LEN) < jend) ? SIMINT_SIMD_LEN : (jend - j));
363 
364                     if((iprimcd + SIMINT_SIMD_LEN) >= nprim_icd)
365                     {
366                         // Handle if the first element of the vector is a new shell
367                         if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
368                         {
369                             nprim_icd += Q.nprim12[cd + (++icd)];
370                             PRIM_PTR_INT__g_s_i_s += 420;
371                             PRIM_PTR_INT__g_s_k_s += 540;
372                             PRIM_PTR_INT__g_s_l_s += 675;
373                             PRIM_PTR_INT__g_s_m_s += 825;
374                             PRIM_PTR_INT__g_s_n_s += 990;
375                             PRIM_PTR_INT__g_s_o_s += 1170;
376                             PRIM_PTR_INT__g_s_q_s += 1365;
377                             PRIM_PTR_INT__h_s_i_s += 588;
378                             PRIM_PTR_INT__h_s_k_s += 756;
379                             PRIM_PTR_INT__h_s_l_s += 945;
380                             PRIM_PTR_INT__h_s_m_s += 1155;
381                             PRIM_PTR_INT__h_s_n_s += 1386;
382                             PRIM_PTR_INT__h_s_o_s += 1638;
383                             PRIM_PTR_INT__h_s_q_s += 1911;
384                             PRIM_PTR_INT__i_s_i_s += 784;
385                             PRIM_PTR_INT__i_s_k_s += 1008;
386                             PRIM_PTR_INT__i_s_l_s += 1260;
387                             PRIM_PTR_INT__i_s_m_s += 1540;
388                             PRIM_PTR_INT__i_s_n_s += 1848;
389                             PRIM_PTR_INT__i_s_o_s += 2184;
390                             PRIM_PTR_INT__i_s_q_s += 2548;
391                             PRIM_PTR_INT__k_s_i_s += 1008;
392                             PRIM_PTR_INT__k_s_k_s += 1296;
393                             PRIM_PTR_INT__k_s_l_s += 1620;
394                             PRIM_PTR_INT__k_s_m_s += 1980;
395                             PRIM_PTR_INT__k_s_n_s += 2376;
396                             PRIM_PTR_INT__k_s_o_s += 2808;
397                             PRIM_PTR_INT__k_s_q_s += 3276;
398                             PRIM_PTR_INT__l_s_i_s += 1260;
399                             PRIM_PTR_INT__l_s_k_s += 1620;
400                             PRIM_PTR_INT__l_s_l_s += 2025;
401                             PRIM_PTR_INT__l_s_m_s += 2475;
402                             PRIM_PTR_INT__l_s_n_s += 2970;
403                             PRIM_PTR_INT__l_s_o_s += 3510;
404                             PRIM_PTR_INT__l_s_q_s += 4095;
405                         }
406                         iprimcd++;
407                         for(n = 1; n < SIMINT_SIMD_LEN; ++n)
408                         {
409                             if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
410                             {
411                                 shelloffsets[n] = shelloffsets[n-1] + 1;
412                                 lastoffset++;
413                                 nprim_icd += Q.nprim12[cd + (++icd)];
414                             }
415                             else
416                                 shelloffsets[n] = shelloffsets[n-1];
417                             iprimcd++;
418                         }
419                     }
420                     else
421                         iprimcd += SIMINT_SIMD_LEN;
422 
423                     // Do we have to compute this vector (or has it been screened out)?
424                     // (not_screened != 0 means we have to do this vector)
425                     if(check_screen)
426                     {
427                         const double vmax = vector_max(SIMINT_MUL(bra_screen_max, SIMINT_DBLLOAD(Q.screen, j)));
428                         if(vmax < screen_tol)
429                         {
430                             PRIM_PTR_INT__g_s_i_s += lastoffset*420;
431                             PRIM_PTR_INT__g_s_k_s += lastoffset*540;
432                             PRIM_PTR_INT__g_s_l_s += lastoffset*675;
433                             PRIM_PTR_INT__g_s_m_s += lastoffset*825;
434                             PRIM_PTR_INT__g_s_n_s += lastoffset*990;
435                             PRIM_PTR_INT__g_s_o_s += lastoffset*1170;
436                             PRIM_PTR_INT__g_s_q_s += lastoffset*1365;
437                             PRIM_PTR_INT__h_s_i_s += lastoffset*588;
438                             PRIM_PTR_INT__h_s_k_s += lastoffset*756;
439                             PRIM_PTR_INT__h_s_l_s += lastoffset*945;
440                             PRIM_PTR_INT__h_s_m_s += lastoffset*1155;
441                             PRIM_PTR_INT__h_s_n_s += lastoffset*1386;
442                             PRIM_PTR_INT__h_s_o_s += lastoffset*1638;
443                             PRIM_PTR_INT__h_s_q_s += lastoffset*1911;
444                             PRIM_PTR_INT__i_s_i_s += lastoffset*784;
445                             PRIM_PTR_INT__i_s_k_s += lastoffset*1008;
446                             PRIM_PTR_INT__i_s_l_s += lastoffset*1260;
447                             PRIM_PTR_INT__i_s_m_s += lastoffset*1540;
448                             PRIM_PTR_INT__i_s_n_s += lastoffset*1848;
449                             PRIM_PTR_INT__i_s_o_s += lastoffset*2184;
450                             PRIM_PTR_INT__i_s_q_s += lastoffset*2548;
451                             PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
452                             PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
453                             PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
454                             PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
455                             PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
456                             PRIM_PTR_INT__k_s_o_s += lastoffset*2808;
457                             PRIM_PTR_INT__k_s_q_s += lastoffset*3276;
458                             PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
459                             PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
460                             PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
461                             PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
462                             PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
463                             PRIM_PTR_INT__l_s_o_s += lastoffset*3510;
464                             PRIM_PTR_INT__l_s_q_s += lastoffset*4095;
465                             continue;
466                         }
467                     }
468 
469                     const SIMINT_DBLTYPE Q_alpha = SIMINT_DBLLOAD(Q.alpha, j);
470                     const SIMINT_DBLTYPE PQalpha_mul = SIMINT_MUL(P_alpha, Q_alpha);
471                     const SIMINT_DBLTYPE PQalpha_sum = SIMINT_ADD(P_alpha, Q_alpha);
472                     const SIMINT_DBLTYPE one_over_PQalpha_sum = SIMINT_DIV(const_1, PQalpha_sum);
473 
474 
475                     /* construct R2 = (Px - Qx)**2 + (Py - Qy)**2 + (Pz -Qz)**2 */
476                     SIMINT_DBLTYPE PQ[3];
477                     PQ[0] = SIMINT_SUB(Pxyz[0], SIMINT_DBLLOAD(Q.x, j));
478                     PQ[1] = SIMINT_SUB(Pxyz[1], SIMINT_DBLLOAD(Q.y, j));
479                     PQ[2] = SIMINT_SUB(Pxyz[2], SIMINT_DBLLOAD(Q.z, j));
480                     SIMINT_DBLTYPE R2 = SIMINT_MUL(PQ[0], PQ[0]);
481                     R2 = SIMINT_FMADD(PQ[1], PQ[1], R2);
482                     R2 = SIMINT_FMADD(PQ[2], PQ[2], R2);
483 
484                     const SIMINT_DBLTYPE alpha = SIMINT_MUL(PQalpha_mul, one_over_PQalpha_sum); // alpha from MEST
485                     const SIMINT_DBLTYPE one_over_p = SIMINT_DIV(const_1, P_alpha);
486                     const SIMINT_DBLTYPE one_over_q = SIMINT_DIV(const_1, Q_alpha);
487                     const SIMINT_DBLTYPE one_over_2p = SIMINT_MUL(one_half, one_over_p);
488                     const SIMINT_DBLTYPE one_over_2q = SIMINT_MUL(one_half, one_over_q);
489                     const SIMINT_DBLTYPE one_over_2pq = SIMINT_MUL(one_half, one_over_PQalpha_sum);
490                     const SIMINT_DBLTYPE Q_PA[3] = { SIMINT_DBLLOAD(Q.PA_x, j), SIMINT_DBLLOAD(Q.PA_y, j), SIMINT_DBLLOAD(Q.PA_z, j) };
491 
492                     // NOTE: Minus sign!
493                     const SIMINT_DBLTYPE a_over_p = SIMINT_MUL(SIMINT_NEG(alpha), one_over_p);
494                     SIMINT_DBLTYPE aop_PQ[3];
495                     aop_PQ[0] = SIMINT_MUL(a_over_p, PQ[0]);
496                     aop_PQ[1] = SIMINT_MUL(a_over_p, PQ[1]);
497                     aop_PQ[2] = SIMINT_MUL(a_over_p, PQ[2]);
498 
499                     SIMINT_DBLTYPE a_over_q = SIMINT_MUL(alpha, one_over_q);
500                     SIMINT_DBLTYPE aoq_PQ[3];
501                     aoq_PQ[0] = SIMINT_MUL(a_over_q, PQ[0]);
502                     aoq_PQ[1] = SIMINT_MUL(a_over_q, PQ[1]);
503                     aoq_PQ[2] = SIMINT_MUL(a_over_q, PQ[2]);
504                     // Put a minus sign here so we don't have to in RR routines
505                     a_over_q = SIMINT_NEG(a_over_q);
506 
507 
508                     //////////////////////////////////////////////
509                     // Fjt function section
510                     // Maximum v value: 20
511                     //////////////////////////////////////////////
512                     // The parameter to the Fjt function
513                     const SIMINT_DBLTYPE F_x = SIMINT_MUL(R2, alpha);
514 
515 
516                     const SIMINT_DBLTYPE Q_prefac = mask_load(nlane, Q.prefac + j);
517 
518 
519                     boys_F_split(PRIM_INT__s_s_s_s, F_x, 20);
520                     SIMINT_DBLTYPE prefac = SIMINT_SQRT(one_over_PQalpha_sum);
521                     prefac = SIMINT_MUL(SIMINT_MUL(P_prefac, Q_prefac), prefac);
522                     for(n = 0; n <= 20; n++)
523                         PRIM_INT__s_s_s_s[n] = SIMINT_MUL(PRIM_INT__s_s_s_s[n], prefac);
524 
525                     //////////////////////////////////////////////
526                     // Primitive integrals: Vertical recurrance
527                     //////////////////////////////////////////////
528 
529                     const SIMINT_DBLTYPE vrr_const_1_over_2p = one_over_2p;
530                     const SIMINT_DBLTYPE vrr_const_2_over_2p = SIMINT_MUL(const_2, one_over_2p);
531                     const SIMINT_DBLTYPE vrr_const_3_over_2p = SIMINT_MUL(const_3, one_over_2p);
532                     const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(const_4, one_over_2p);
533                     const SIMINT_DBLTYPE vrr_const_5_over_2p = SIMINT_MUL(const_5, one_over_2p);
534                     const SIMINT_DBLTYPE vrr_const_6_over_2p = SIMINT_MUL(const_6, one_over_2p);
535                     const SIMINT_DBLTYPE vrr_const_7_over_2p = SIMINT_MUL(const_7, one_over_2p);
536                     const SIMINT_DBLTYPE vrr_const_1_over_2q = one_over_2q;
537                     const SIMINT_DBLTYPE vrr_const_2_over_2q = SIMINT_MUL(const_2, one_over_2q);
538                     const SIMINT_DBLTYPE vrr_const_3_over_2q = SIMINT_MUL(const_3, one_over_2q);
539                     const SIMINT_DBLTYPE vrr_const_4_over_2q = SIMINT_MUL(const_4, one_over_2q);
540                     const SIMINT_DBLTYPE vrr_const_5_over_2q = SIMINT_MUL(const_5, one_over_2q);
541                     const SIMINT_DBLTYPE vrr_const_6_over_2q = SIMINT_MUL(const_6, one_over_2q);
542                     const SIMINT_DBLTYPE vrr_const_7_over_2q = SIMINT_MUL(const_7, one_over_2q);
543                     const SIMINT_DBLTYPE vrr_const_8_over_2q = SIMINT_MUL(const_8, one_over_2q);
544                     const SIMINT_DBLTYPE vrr_const_9_over_2q = SIMINT_MUL(const_9, one_over_2q);
545                     const SIMINT_DBLTYPE vrr_const_10_over_2q = SIMINT_MUL(const_10, one_over_2q);
546                     const SIMINT_DBLTYPE vrr_const_11_over_2q = SIMINT_MUL(const_11, one_over_2q);
547                     const SIMINT_DBLTYPE vrr_const_1_over_2pq = one_over_2pq;
548                     const SIMINT_DBLTYPE vrr_const_2_over_2pq = SIMINT_MUL(const_2, one_over_2pq);
549                     const SIMINT_DBLTYPE vrr_const_3_over_2pq = SIMINT_MUL(const_3, one_over_2pq);
550                     const SIMINT_DBLTYPE vrr_const_4_over_2pq = SIMINT_MUL(const_4, one_over_2pq);
551                     const SIMINT_DBLTYPE vrr_const_5_over_2pq = SIMINT_MUL(const_5, one_over_2pq);
552                     const SIMINT_DBLTYPE vrr_const_6_over_2pq = SIMINT_MUL(const_6, one_over_2pq);
553                     const SIMINT_DBLTYPE vrr_const_7_over_2pq = SIMINT_MUL(const_7, one_over_2pq);
554                     const SIMINT_DBLTYPE vrr_const_8_over_2pq = SIMINT_MUL(const_8, one_over_2pq);
555                     const SIMINT_DBLTYPE vrr_const_9_over_2pq = SIMINT_MUL(const_9, one_over_2pq);
556                     const SIMINT_DBLTYPE vrr_const_10_over_2pq = SIMINT_MUL(const_10, one_over_2pq);
557                     const SIMINT_DBLTYPE vrr_const_11_over_2pq = SIMINT_MUL(const_11, one_over_2pq);
558                     const SIMINT_DBLTYPE vrr_const_12_over_2pq = SIMINT_MUL(const_12, one_over_2pq);
559 
560 
561 
562                     // Forming PRIM_INT__s_s_p_s[20 * 3];
563                     for(n = 0; n < 20; ++n)  // loop over orders of auxiliary function
564                     {
565 
566                         PRIM_INT__s_s_p_s[n * 3 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
567                         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]);
568 
569                         PRIM_INT__s_s_p_s[n * 3 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
570                         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]);
571 
572                         PRIM_INT__s_s_p_s[n * 3 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
573                         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]);
574 
575                     }
576 
577 
578 
579                     // Forming PRIM_INT__s_s_d_s[19 * 6];
580                     for(n = 0; n < 19; ++n)  // loop over orders of auxiliary function
581                     {
582 
583                         PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
584                         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]);
585                         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]);
586 
587                         PRIM_INT__s_s_d_s[n * 6 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 0]);
588                         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]);
589 
590                         PRIM_INT__s_s_d_s[n * 6 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 0]);
591                         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]);
592 
593                         PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
594                         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]);
595                         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]);
596 
597                         PRIM_INT__s_s_d_s[n * 6 + 4] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 1]);
598                         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]);
599 
600                         PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
601                         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]);
602                         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]);
603 
604                     }
605 
606 
607 
608                     // Forming PRIM_INT__s_s_f_s[18 * 10];
609                     for(n = 0; n < 18; ++n)  // loop over orders of auxiliary function
610                     {
611 
612                         PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
613                         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]);
614                         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]);
615 
616                         PRIM_INT__s_s_f_s[n * 10 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 0]);
617                         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]);
618 
619                         PRIM_INT__s_s_f_s[n * 10 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 0]);
620                         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]);
621 
622                         PRIM_INT__s_s_f_s[n * 10 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 3]);
623                         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]);
624 
625                         PRIM_INT__s_s_f_s[n * 10 + 4] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 1]);
626                         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]);
627 
628                         PRIM_INT__s_s_f_s[n * 10 + 5] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 5]);
629                         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]);
630 
631                         PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
632                         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]);
633                         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]);
634 
635                         PRIM_INT__s_s_f_s[n * 10 + 7] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 3]);
636                         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]);
637 
638                         PRIM_INT__s_s_f_s[n * 10 + 8] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 5]);
639                         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]);
640 
641                         PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
642                         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]);
643                         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]);
644 
645                     }
646 
647 
648                     VRR_K_s_s_g_s(
649                             PRIM_INT__s_s_g_s,
650                             PRIM_INT__s_s_f_s,
651                             PRIM_INT__s_s_d_s,
652                             Q_PA,
653                             a_over_q,
654                             aoq_PQ,
655                             one_over_2q,
656                             17);
657 
658 
659                     VRR_K_s_s_h_s(
660                             PRIM_INT__s_s_h_s,
661                             PRIM_INT__s_s_g_s,
662                             PRIM_INT__s_s_f_s,
663                             Q_PA,
664                             a_over_q,
665                             aoq_PQ,
666                             one_over_2q,
667                             16);
668 
669 
670                     ostei_general_vrr1_K(6, 15,
671                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
672                             PRIM_INT__s_s_h_s, PRIM_INT__s_s_g_s, PRIM_INT__s_s_i_s);
673 
674 
675                     ostei_general_vrr_I(1, 0, 6, 0, 8,
676                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
677                             PRIM_INT__s_s_i_s, NULL, NULL, PRIM_INT__s_s_h_s, NULL, PRIM_INT__p_s_i_s);
678 
679 
680                     ostei_general_vrr_I(1, 0, 5, 0, 8,
681                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
682                             PRIM_INT__s_s_h_s, NULL, NULL, PRIM_INT__s_s_g_s, NULL, PRIM_INT__p_s_h_s);
683 
684 
685                     ostei_general_vrr_I(2, 0, 6, 0, 7,
686                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
687                             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);
688 
689 
690                     VRR_I_p_s_g_s(
691                             PRIM_INT__p_s_g_s,
692                             PRIM_INT__s_s_g_s,
693                             PRIM_INT__s_s_f_s,
694                             P_PA,
695                             aop_PQ,
696                             one_over_2pq,
697                             8);
698 
699 
700                     ostei_general_vrr_I(2, 0, 5, 0, 7,
701                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
702                             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);
703 
704 
705                     ostei_general_vrr_I(3, 0, 6, 0, 6,
706                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
707                             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);
708 
709 
710                     VRR_I_p_s_f_s(
711                             PRIM_INT__p_s_f_s,
712                             PRIM_INT__s_s_f_s,
713                             PRIM_INT__s_s_d_s,
714                             P_PA,
715                             aop_PQ,
716                             one_over_2pq,
717                             8);
718 
719 
720                     ostei_general_vrr_I(2, 0, 4, 0, 7,
721                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
722                             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);
723 
724 
725                     ostei_general_vrr_I(3, 0, 5, 0, 6,
726                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
727                             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);
728 
729 
730                     ostei_general_vrr_I(4, 0, 6, 0, 5,
731                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
732                             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);
733 
734 
735                     ostei_general_vrr1_K(7, 14,
736                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
737                             PRIM_INT__s_s_i_s, PRIM_INT__s_s_h_s, PRIM_INT__s_s_k_s);
738 
739 
740                     ostei_general_vrr_I(1, 0, 7, 0, 8,
741                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
742                             PRIM_INT__s_s_k_s, NULL, NULL, PRIM_INT__s_s_i_s, NULL, PRIM_INT__p_s_k_s);
743 
744 
745                     ostei_general_vrr_I(2, 0, 7, 0, 7,
746                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
747                             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);
748 
749 
750                     ostei_general_vrr_I(3, 0, 7, 0, 6,
751                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
752                             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);
753 
754 
755                     ostei_general_vrr_I(4, 0, 7, 0, 5,
756                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
757                             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);
758 
759 
760 
761                     // Forming PRIM_INT__p_s_d_s[8 * 18];
762                     for(n = 0; n < 8; ++n)  // loop over orders of auxiliary function
763                     {
764 
765                         PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
766                         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]);
767                         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]);
768 
769                         PRIM_INT__p_s_d_s[n * 18 + 1] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 1]);
770                         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]);
771                         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]);
772 
773                         PRIM_INT__p_s_d_s[n * 18 + 2] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 2]);
774                         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]);
775                         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]);
776 
777                         PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 3]);
778                         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]);
779 
780                         PRIM_INT__p_s_d_s[n * 18 + 4] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 4]);
781                         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]);
782 
783                         PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_d_s[n * 6 + 5]);
784                         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]);
785 
786                         PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 0]);
787                         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]);
788 
789                         PRIM_INT__p_s_d_s[n * 18 + 7] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 1]);
790                         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]);
791                         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]);
792 
793                         PRIM_INT__p_s_d_s[n * 18 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 2]);
794                         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]);
795 
796                         PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
797                         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]);
798                         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]);
799 
800                         PRIM_INT__p_s_d_s[n * 18 + 10] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 4]);
801                         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]);
802                         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]);
803 
804                         PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_d_s[n * 6 + 5]);
805                         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]);
806 
807                         PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 0]);
808                         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]);
809 
810                         PRIM_INT__p_s_d_s[n * 18 + 13] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 1]);
811                         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]);
812 
813                         PRIM_INT__p_s_d_s[n * 18 + 14] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 2]);
814                         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]);
815                         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]);
816 
817                         PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 3]);
818                         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]);
819 
820                         PRIM_INT__p_s_d_s[n * 18 + 16] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 4]);
821                         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]);
822                         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]);
823 
824                         PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
825                         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]);
826                         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]);
827 
828                     }
829 
830 
831                     VRR_I_d_s_f_s(
832                             PRIM_INT__d_s_f_s,
833                             PRIM_INT__p_s_f_s,
834                             PRIM_INT__s_s_f_s,
835                             PRIM_INT__p_s_d_s,
836                             P_PA,
837                             a_over_p,
838                             aop_PQ,
839                             one_over_2p,
840                             one_over_2pq,
841                             7);
842 
843 
844                     ostei_general_vrr_I(3, 0, 4, 0, 6,
845                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
846                             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);
847 
848 
849                     ostei_general_vrr_I(4, 0, 5, 0, 5,
850                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
851                             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);
852 
853 
854                     ostei_general_vrr_I(5, 0, 6, 0, 4,
855                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
856                             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);
857 
858 
859                     ostei_general_vrr1_K(8, 13,
860                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
861                             PRIM_INT__s_s_k_s, PRIM_INT__s_s_i_s, PRIM_INT__s_s_l_s);
862 
863 
864                     ostei_general_vrr_I(1, 0, 8, 0, 8,
865                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
866                             PRIM_INT__s_s_l_s, NULL, NULL, PRIM_INT__s_s_k_s, NULL, PRIM_INT__p_s_l_s);
867 
868 
869                     ostei_general_vrr_I(2, 0, 8, 0, 7,
870                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
871                             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);
872 
873 
874                     ostei_general_vrr_I(3, 0, 8, 0, 6,
875                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
876                             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);
877 
878 
879                     ostei_general_vrr_I(4, 0, 8, 0, 5,
880                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
881                             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);
882 
883 
884                     ostei_general_vrr_I(5, 0, 7, 0, 4,
885                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
886                             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);
887 
888 
889 
890                     // Forming PRIM_INT__p_s_p_s[8 * 9];
891                     for(n = 0; n < 8; ++n)  // loop over orders of auxiliary function
892                     {
893 
894                         PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
895                         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]);
896                         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]);
897 
898                         PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_p_s[n * 3 + 1]);
899                         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]);
900 
901                         PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_p_s[n * 3 + 2]);
902                         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]);
903 
904                         PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_p_s[n * 3 + 0]);
905                         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]);
906 
907                         PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
908                         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]);
909                         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]);
910 
911                         PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_p_s[n * 3 + 2]);
912                         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]);
913 
914                         PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_p_s[n * 3 + 0]);
915                         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]);
916 
917                         PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_p_s[n * 3 + 1]);
918                         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]);
919 
920                         PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
921                         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]);
922                         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]);
923 
924                     }
925 
926 
927                     VRR_I_d_s_d_s(
928                             PRIM_INT__d_s_d_s,
929                             PRIM_INT__p_s_d_s,
930                             PRIM_INT__s_s_d_s,
931                             PRIM_INT__p_s_p_s,
932                             P_PA,
933                             a_over_p,
934                             aop_PQ,
935                             one_over_2p,
936                             one_over_2pq,
937                             7);
938 
939 
940                     ostei_general_vrr_I(3, 0, 3, 0, 6,
941                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
942                             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);
943 
944 
945                     ostei_general_vrr_I(4, 0, 4, 0, 5,
946                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
947                             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);
948 
949 
950                     ostei_general_vrr_I(5, 0, 5, 0, 4,
951                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
952                             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);
953 
954 
955                     ostei_general_vrr_I(6, 0, 6, 0, 3,
956                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
957                             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);
958 
959 
960                     ostei_general_vrr1_K(9, 12,
961                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
962                             PRIM_INT__s_s_l_s, PRIM_INT__s_s_k_s, PRIM_INT__s_s_m_s);
963 
964 
965                     ostei_general_vrr_I(1, 0, 9, 0, 8,
966                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
967                             PRIM_INT__s_s_m_s, NULL, NULL, PRIM_INT__s_s_l_s, NULL, PRIM_INT__p_s_m_s);
968 
969 
970                     ostei_general_vrr_I(2, 0, 9, 0, 7,
971                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
972                             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);
973 
974 
975                     ostei_general_vrr_I(3, 0, 9, 0, 6,
976                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
977                             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);
978 
979 
980                     ostei_general_vrr_I(4, 0, 9, 0, 5,
981                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
982                             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);
983 
984 
985                     ostei_general_vrr_I(5, 0, 8, 0, 4,
986                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
987                             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);
988 
989 
990                     ostei_general_vrr_I(6, 0, 7, 0, 3,
991                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
992                             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);
993 
994 
995 
996                     // Forming PRIM_INT__p_s_s_s[8 * 3];
997                     for(n = 0; n < 8; ++n)  // loop over orders of auxiliary function
998                     {
999 
1000                         PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
1001                         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]);
1002 
1003                         PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
1004                         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]);
1005 
1006                         PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
1007                         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]);
1008 
1009                     }
1010 
1011 
1012 
1013                     // Forming PRIM_INT__d_s_p_s[7 * 18];
1014                     for(n = 0; n < 7; ++n)  // loop over orders of auxiliary function
1015                     {
1016 
1017                         PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_p_s[n * 9 + 0]);
1018                         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]);
1019                         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]);
1020                         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]);
1021 
1022                         PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_p_s[n * 9 + 1]);
1023                         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]);
1024                         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]);
1025 
1026                         PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_p_s[n * 9 + 2]);
1027                         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]);
1028                         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]);
1029 
1030                         PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_p_s[n * 9 + 3]);
1031                         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]);
1032                         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]);
1033 
1034                         PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_p_s[n * 9 + 4]);
1035                         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]);
1036                         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]);
1037                         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]);
1038 
1039                         PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_p_s[n * 9 + 5]);
1040                         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]);
1041                         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]);
1042 
1043                         PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_p_s[n * 9 + 6]);
1044                         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]);
1045                         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]);
1046 
1047                         PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_p_s[n * 9 + 7]);
1048                         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]);
1049                         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]);
1050 
1051                         PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1052                         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]);
1053                         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]);
1054                         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]);
1055 
1056                     }
1057 
1058 
1059                     VRR_I_f_s_d_s(
1060                             PRIM_INT__f_s_d_s,
1061                             PRIM_INT__d_s_d_s,
1062                             PRIM_INT__p_s_d_s,
1063                             PRIM_INT__d_s_p_s,
1064                             P_PA,
1065                             a_over_p,
1066                             aop_PQ,
1067                             one_over_2p,
1068                             one_over_2pq,
1069                             6);
1070 
1071 
1072                     ostei_general_vrr_I(4, 0, 3, 0, 5,
1073                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1074                             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);
1075 
1076 
1077                     ostei_general_vrr_I(5, 0, 4, 0, 4,
1078                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1079                             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);
1080 
1081 
1082                     ostei_general_vrr_I(6, 0, 5, 0, 3,
1083                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1084                             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);
1085 
1086 
1087                     ostei_general_vrr_I(7, 0, 6, 0, 2,
1088                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1089                             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);
1090 
1091 
1092                     ostei_general_vrr1_K(10, 11,
1093                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1094                             PRIM_INT__s_s_m_s, PRIM_INT__s_s_l_s, PRIM_INT__s_s_n_s);
1095 
1096 
1097                     ostei_general_vrr_I(1, 0, 10, 0, 8,
1098                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1099                             PRIM_INT__s_s_n_s, NULL, NULL, PRIM_INT__s_s_m_s, NULL, PRIM_INT__p_s_n_s);
1100 
1101 
1102                     ostei_general_vrr_I(2, 0, 10, 0, 7,
1103                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1104                             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);
1105 
1106 
1107                     ostei_general_vrr_I(3, 0, 10, 0, 6,
1108                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1109                             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);
1110 
1111 
1112                     ostei_general_vrr_I(4, 0, 10, 0, 5,
1113                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1114                             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);
1115 
1116 
1117                     ostei_general_vrr_I(5, 0, 9, 0, 4,
1118                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1119                             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);
1120 
1121 
1122                     ostei_general_vrr_I(6, 0, 8, 0, 3,
1123                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1124                             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);
1125 
1126 
1127                     ostei_general_vrr_I(7, 0, 7, 0, 2,
1128                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1129                             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);
1130 
1131 
1132 
1133                     // Forming PRIM_INT__d_s_s_s[7 * 6];
1134                     for(n = 0; n < 7; ++n)  // loop over orders of auxiliary function
1135                     {
1136 
1137                         PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
1138                         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]);
1139                         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]);
1140 
1141                         PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
1142                         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]);
1143                         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]);
1144 
1145                         PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
1146                         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]);
1147                         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]);
1148 
1149                     }
1150 
1151 
1152                     VRR_I_f_s_p_s(
1153                             PRIM_INT__f_s_p_s,
1154                             PRIM_INT__d_s_p_s,
1155                             PRIM_INT__p_s_p_s,
1156                             PRIM_INT__d_s_s_s,
1157                             P_PA,
1158                             a_over_p,
1159                             aop_PQ,
1160                             one_over_2p,
1161                             one_over_2pq,
1162                             6);
1163 
1164 
1165                     ostei_general_vrr_I(4, 0, 2, 0, 5,
1166                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1167                             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);
1168 
1169 
1170                     ostei_general_vrr_I(5, 0, 3, 0, 4,
1171                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1172                             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);
1173 
1174 
1175                     ostei_general_vrr_I(6, 0, 4, 0, 3,
1176                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1177                             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);
1178 
1179 
1180                     ostei_general_vrr_I(7, 0, 5, 0, 2,
1181                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1182                             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);
1183 
1184 
1185                     ostei_general_vrr_I(8, 0, 6, 0, 1,
1186                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1187                             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);
1188 
1189 
1190                     ostei_general_vrr1_K(11, 10,
1191                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1192                             PRIM_INT__s_s_n_s, PRIM_INT__s_s_m_s, PRIM_INT__s_s_o_s);
1193 
1194 
1195                     ostei_general_vrr_I(1, 0, 11, 0, 8,
1196                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1197                             PRIM_INT__s_s_o_s, NULL, NULL, PRIM_INT__s_s_n_s, NULL, PRIM_INT__p_s_o_s);
1198 
1199 
1200                     ostei_general_vrr_I(2, 0, 11, 0, 7,
1201                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1202                             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);
1203 
1204 
1205                     ostei_general_vrr_I(3, 0, 11, 0, 6,
1206                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1207                             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);
1208 
1209 
1210                     ostei_general_vrr_I(4, 0, 11, 0, 5,
1211                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1212                             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);
1213 
1214 
1215                     ostei_general_vrr_I(5, 0, 10, 0, 4,
1216                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1217                             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);
1218 
1219 
1220                     ostei_general_vrr_I(6, 0, 9, 0, 3,
1221                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1222                             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);
1223 
1224 
1225                     ostei_general_vrr_I(7, 0, 8, 0, 2,
1226                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1227                             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);
1228 
1229 
1230                     ostei_general_vrr_I(8, 0, 7, 0, 1,
1231                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1232                             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);
1233 
1234 
1235                     ostei_general_vrr1_K(12, 9,
1236                             one_over_2q, a_over_q, aoq_PQ, Q_PA,
1237                             PRIM_INT__s_s_o_s, PRIM_INT__s_s_n_s, PRIM_INT__s_s_q_s);
1238 
1239 
1240                     ostei_general_vrr_I(1, 0, 12, 0, 8,
1241                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1242                             PRIM_INT__s_s_q_s, NULL, NULL, PRIM_INT__s_s_o_s, NULL, PRIM_INT__p_s_q_s);
1243 
1244 
1245                     ostei_general_vrr_I(2, 0, 12, 0, 7,
1246                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1247                             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);
1248 
1249 
1250                     ostei_general_vrr_I(3, 0, 12, 0, 6,
1251                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1252                             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);
1253 
1254 
1255                     ostei_general_vrr_I(4, 0, 12, 0, 5,
1256                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1257                             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);
1258 
1259 
1260                     ostei_general_vrr_I(5, 0, 11, 0, 4,
1261                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1262                             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);
1263 
1264 
1265                     ostei_general_vrr_I(6, 0, 10, 0, 3,
1266                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1267                             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);
1268 
1269 
1270                     ostei_general_vrr_I(7, 0, 9, 0, 2,
1271                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1272                             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);
1273 
1274 
1275                     ostei_general_vrr_I(8, 0, 8, 0, 1,
1276                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1277                             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);
1278 
1279 
1280                     ostei_general_vrr_I(5, 0, 12, 0, 4,
1281                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1282                             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);
1283 
1284 
1285                     ostei_general_vrr_I(6, 0, 11, 0, 3,
1286                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1287                             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);
1288 
1289 
1290                     ostei_general_vrr_I(7, 0, 10, 0, 2,
1291                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1292                             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);
1293 
1294 
1295                     ostei_general_vrr_I(8, 0, 9, 0, 1,
1296                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1297                             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);
1298 
1299 
1300                     ostei_general_vrr_I(6, 0, 12, 0, 3,
1301                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1302                             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);
1303 
1304 
1305                     ostei_general_vrr_I(7, 0, 11, 0, 2,
1306                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1307                             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);
1308 
1309 
1310                     ostei_general_vrr_I(8, 0, 10, 0, 1,
1311                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1312                             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);
1313 
1314 
1315                     ostei_general_vrr_I(7, 0, 12, 0, 2,
1316                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1317                             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);
1318 
1319 
1320                     ostei_general_vrr_I(8, 0, 11, 0, 1,
1321                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1322                             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);
1323 
1324 
1325                     ostei_general_vrr_I(8, 0, 12, 0, 1,
1326                             one_over_2p, a_over_p, one_over_2pq, aop_PQ, P_PA,
1327                             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);
1328 
1329 
1330 
1331 
1332                     ////////////////////////////////////
1333                     // Accumulate contracted integrals
1334                     ////////////////////////////////////
1335                     if(lastoffset == 0)
1336                     {
1337                         contract_all(420, PRIM_INT__g_s_i_s, PRIM_PTR_INT__g_s_i_s);
1338                         contract_all(540, PRIM_INT__g_s_k_s, PRIM_PTR_INT__g_s_k_s);
1339                         contract_all(675, PRIM_INT__g_s_l_s, PRIM_PTR_INT__g_s_l_s);
1340                         contract_all(825, PRIM_INT__g_s_m_s, PRIM_PTR_INT__g_s_m_s);
1341                         contract_all(990, PRIM_INT__g_s_n_s, PRIM_PTR_INT__g_s_n_s);
1342                         contract_all(1170, PRIM_INT__g_s_o_s, PRIM_PTR_INT__g_s_o_s);
1343                         contract_all(1365, PRIM_INT__g_s_q_s, PRIM_PTR_INT__g_s_q_s);
1344                         contract_all(588, PRIM_INT__h_s_i_s, PRIM_PTR_INT__h_s_i_s);
1345                         contract_all(756, PRIM_INT__h_s_k_s, PRIM_PTR_INT__h_s_k_s);
1346                         contract_all(945, PRIM_INT__h_s_l_s, PRIM_PTR_INT__h_s_l_s);
1347                         contract_all(1155, PRIM_INT__h_s_m_s, PRIM_PTR_INT__h_s_m_s);
1348                         contract_all(1386, PRIM_INT__h_s_n_s, PRIM_PTR_INT__h_s_n_s);
1349                         contract_all(1638, PRIM_INT__h_s_o_s, PRIM_PTR_INT__h_s_o_s);
1350                         contract_all(1911, PRIM_INT__h_s_q_s, PRIM_PTR_INT__h_s_q_s);
1351                         contract_all(784, PRIM_INT__i_s_i_s, PRIM_PTR_INT__i_s_i_s);
1352                         contract_all(1008, PRIM_INT__i_s_k_s, PRIM_PTR_INT__i_s_k_s);
1353                         contract_all(1260, PRIM_INT__i_s_l_s, PRIM_PTR_INT__i_s_l_s);
1354                         contract_all(1540, PRIM_INT__i_s_m_s, PRIM_PTR_INT__i_s_m_s);
1355                         contract_all(1848, PRIM_INT__i_s_n_s, PRIM_PTR_INT__i_s_n_s);
1356                         contract_all(2184, PRIM_INT__i_s_o_s, PRIM_PTR_INT__i_s_o_s);
1357                         contract_all(2548, PRIM_INT__i_s_q_s, PRIM_PTR_INT__i_s_q_s);
1358                         contract_all(1008, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1359                         contract_all(1296, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1360                         contract_all(1620, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1361                         contract_all(1980, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1362                         contract_all(2376, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1363                         contract_all(2808, PRIM_INT__k_s_o_s, PRIM_PTR_INT__k_s_o_s);
1364                         contract_all(3276, PRIM_INT__k_s_q_s, PRIM_PTR_INT__k_s_q_s);
1365                         contract_all(1260, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1366                         contract_all(1620, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1367                         contract_all(2025, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1368                         contract_all(2475, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1369                         contract_all(2970, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1370                         contract_all(3510, PRIM_INT__l_s_o_s, PRIM_PTR_INT__l_s_o_s);
1371                         contract_all(4095, PRIM_INT__l_s_q_s, PRIM_PTR_INT__l_s_q_s);
1372                     }
1373                     else
1374                     {
1375                         contract(420, shelloffsets, PRIM_INT__g_s_i_s, PRIM_PTR_INT__g_s_i_s);
1376                         contract(540, shelloffsets, PRIM_INT__g_s_k_s, PRIM_PTR_INT__g_s_k_s);
1377                         contract(675, shelloffsets, PRIM_INT__g_s_l_s, PRIM_PTR_INT__g_s_l_s);
1378                         contract(825, shelloffsets, PRIM_INT__g_s_m_s, PRIM_PTR_INT__g_s_m_s);
1379                         contract(990, shelloffsets, PRIM_INT__g_s_n_s, PRIM_PTR_INT__g_s_n_s);
1380                         contract(1170, shelloffsets, PRIM_INT__g_s_o_s, PRIM_PTR_INT__g_s_o_s);
1381                         contract(1365, shelloffsets, PRIM_INT__g_s_q_s, PRIM_PTR_INT__g_s_q_s);
1382                         contract(588, shelloffsets, PRIM_INT__h_s_i_s, PRIM_PTR_INT__h_s_i_s);
1383                         contract(756, shelloffsets, PRIM_INT__h_s_k_s, PRIM_PTR_INT__h_s_k_s);
1384                         contract(945, shelloffsets, PRIM_INT__h_s_l_s, PRIM_PTR_INT__h_s_l_s);
1385                         contract(1155, shelloffsets, PRIM_INT__h_s_m_s, PRIM_PTR_INT__h_s_m_s);
1386                         contract(1386, shelloffsets, PRIM_INT__h_s_n_s, PRIM_PTR_INT__h_s_n_s);
1387                         contract(1638, shelloffsets, PRIM_INT__h_s_o_s, PRIM_PTR_INT__h_s_o_s);
1388                         contract(1911, shelloffsets, PRIM_INT__h_s_q_s, PRIM_PTR_INT__h_s_q_s);
1389                         contract(784, shelloffsets, PRIM_INT__i_s_i_s, PRIM_PTR_INT__i_s_i_s);
1390                         contract(1008, shelloffsets, PRIM_INT__i_s_k_s, PRIM_PTR_INT__i_s_k_s);
1391                         contract(1260, shelloffsets, PRIM_INT__i_s_l_s, PRIM_PTR_INT__i_s_l_s);
1392                         contract(1540, shelloffsets, PRIM_INT__i_s_m_s, PRIM_PTR_INT__i_s_m_s);
1393                         contract(1848, shelloffsets, PRIM_INT__i_s_n_s, PRIM_PTR_INT__i_s_n_s);
1394                         contract(2184, shelloffsets, PRIM_INT__i_s_o_s, PRIM_PTR_INT__i_s_o_s);
1395                         contract(2548, shelloffsets, PRIM_INT__i_s_q_s, PRIM_PTR_INT__i_s_q_s);
1396                         contract(1008, shelloffsets, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1397                         contract(1296, shelloffsets, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1398                         contract(1620, shelloffsets, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1399                         contract(1980, shelloffsets, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1400                         contract(2376, shelloffsets, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1401                         contract(2808, shelloffsets, PRIM_INT__k_s_o_s, PRIM_PTR_INT__k_s_o_s);
1402                         contract(3276, shelloffsets, PRIM_INT__k_s_q_s, PRIM_PTR_INT__k_s_q_s);
1403                         contract(1260, shelloffsets, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1404                         contract(1620, shelloffsets, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1405                         contract(2025, shelloffsets, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1406                         contract(2475, shelloffsets, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1407                         contract(2970, shelloffsets, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1408                         contract(3510, shelloffsets, PRIM_INT__l_s_o_s, PRIM_PTR_INT__l_s_o_s);
1409                         contract(4095, shelloffsets, PRIM_INT__l_s_q_s, PRIM_PTR_INT__l_s_q_s);
1410                         PRIM_PTR_INT__g_s_i_s += lastoffset*420;
1411                         PRIM_PTR_INT__g_s_k_s += lastoffset*540;
1412                         PRIM_PTR_INT__g_s_l_s += lastoffset*675;
1413                         PRIM_PTR_INT__g_s_m_s += lastoffset*825;
1414                         PRIM_PTR_INT__g_s_n_s += lastoffset*990;
1415                         PRIM_PTR_INT__g_s_o_s += lastoffset*1170;
1416                         PRIM_PTR_INT__g_s_q_s += lastoffset*1365;
1417                         PRIM_PTR_INT__h_s_i_s += lastoffset*588;
1418                         PRIM_PTR_INT__h_s_k_s += lastoffset*756;
1419                         PRIM_PTR_INT__h_s_l_s += lastoffset*945;
1420                         PRIM_PTR_INT__h_s_m_s += lastoffset*1155;
1421                         PRIM_PTR_INT__h_s_n_s += lastoffset*1386;
1422                         PRIM_PTR_INT__h_s_o_s += lastoffset*1638;
1423                         PRIM_PTR_INT__h_s_q_s += lastoffset*1911;
1424                         PRIM_PTR_INT__i_s_i_s += lastoffset*784;
1425                         PRIM_PTR_INT__i_s_k_s += lastoffset*1008;
1426                         PRIM_PTR_INT__i_s_l_s += lastoffset*1260;
1427                         PRIM_PTR_INT__i_s_m_s += lastoffset*1540;
1428                         PRIM_PTR_INT__i_s_n_s += lastoffset*1848;
1429                         PRIM_PTR_INT__i_s_o_s += lastoffset*2184;
1430                         PRIM_PTR_INT__i_s_q_s += lastoffset*2548;
1431                         PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
1432                         PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
1433                         PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
1434                         PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
1435                         PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
1436                         PRIM_PTR_INT__k_s_o_s += lastoffset*2808;
1437                         PRIM_PTR_INT__k_s_q_s += lastoffset*3276;
1438                         PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
1439                         PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
1440                         PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
1441                         PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
1442                         PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
1443                         PRIM_PTR_INT__l_s_o_s += lastoffset*3510;
1444                         PRIM_PTR_INT__l_s_q_s += lastoffset*4095;
1445                     }
1446 
1447                 }  // close loop over j
1448             }  // close loop over i
1449 
1450             //Advance to the next batch
1451             jstart = SIMINT_SIMD_ROUND(jend);
1452 
1453             //////////////////////////////////////////////
1454             // Contracted integrals: Horizontal recurrance
1455             //////////////////////////////////////////////
1456 
1457 
1458             const double hAB[3] = { P.AB_x[ab], P.AB_y[ab], P.AB_z[ab] };
1459 
1460 
1461             for(abcd = 0; abcd < nshellbatch; ++abcd, ++real_abcd)
1462             {
1463                 const double hCD[3] = { Q.AB_x[cd+abcd], Q.AB_y[cd+abcd], Q.AB_z[cd+abcd] };
1464 
1465                 // set up HRR pointers
1466                 double const * restrict HRR_INT__g_s_i_s = INT__g_s_i_s + abcd * 420;
1467                 double const * restrict HRR_INT__g_s_k_s = INT__g_s_k_s + abcd * 540;
1468                 double const * restrict HRR_INT__g_s_l_s = INT__g_s_l_s + abcd * 675;
1469                 double const * restrict HRR_INT__g_s_m_s = INT__g_s_m_s + abcd * 825;
1470                 double const * restrict HRR_INT__g_s_n_s = INT__g_s_n_s + abcd * 990;
1471                 double const * restrict HRR_INT__g_s_o_s = INT__g_s_o_s + abcd * 1170;
1472                 double const * restrict HRR_INT__g_s_q_s = INT__g_s_q_s + abcd * 1365;
1473                 double const * restrict HRR_INT__h_s_i_s = INT__h_s_i_s + abcd * 588;
1474                 double const * restrict HRR_INT__h_s_k_s = INT__h_s_k_s + abcd * 756;
1475                 double const * restrict HRR_INT__h_s_l_s = INT__h_s_l_s + abcd * 945;
1476                 double const * restrict HRR_INT__h_s_m_s = INT__h_s_m_s + abcd * 1155;
1477                 double const * restrict HRR_INT__h_s_n_s = INT__h_s_n_s + abcd * 1386;
1478                 double const * restrict HRR_INT__h_s_o_s = INT__h_s_o_s + abcd * 1638;
1479                 double const * restrict HRR_INT__h_s_q_s = INT__h_s_q_s + abcd * 1911;
1480                 double const * restrict HRR_INT__i_s_i_s = INT__i_s_i_s + abcd * 784;
1481                 double const * restrict HRR_INT__i_s_k_s = INT__i_s_k_s + abcd * 1008;
1482                 double const * restrict HRR_INT__i_s_l_s = INT__i_s_l_s + abcd * 1260;
1483                 double const * restrict HRR_INT__i_s_m_s = INT__i_s_m_s + abcd * 1540;
1484                 double const * restrict HRR_INT__i_s_n_s = INT__i_s_n_s + abcd * 1848;
1485                 double const * restrict HRR_INT__i_s_o_s = INT__i_s_o_s + abcd * 2184;
1486                 double const * restrict HRR_INT__i_s_q_s = INT__i_s_q_s + abcd * 2548;
1487                 double const * restrict HRR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
1488                 double const * restrict HRR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
1489                 double const * restrict HRR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
1490                 double const * restrict HRR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
1491                 double const * restrict HRR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
1492                 double const * restrict HRR_INT__k_s_o_s = INT__k_s_o_s + abcd * 2808;
1493                 double const * restrict HRR_INT__k_s_q_s = INT__k_s_q_s + abcd * 3276;
1494                 double const * restrict HRR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
1495                 double const * restrict HRR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
1496                 double const * restrict HRR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
1497                 double const * restrict HRR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
1498                 double const * restrict HRR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
1499                 double const * restrict HRR_INT__l_s_o_s = INT__l_s_o_s + abcd * 3510;
1500                 double const * restrict HRR_INT__l_s_q_s = INT__l_s_q_s + abcd * 4095;
1501                 double * restrict HRR_INT__g_g_i_i = INT__g_g_i_i + real_abcd * 176400;
1502 
1503                 // form INT__g_p_i_s
1504                 HRR_J_g_p(
1505                     HRR_INT__g_p_i_s,
1506                     HRR_INT__g_s_i_s,
1507                     HRR_INT__h_s_i_s,
1508                     hAB, 28);
1509 
1510                 // form INT__g_p_k_s
1511                 HRR_J_g_p(
1512                     HRR_INT__g_p_k_s,
1513                     HRR_INT__g_s_k_s,
1514                     HRR_INT__h_s_k_s,
1515                     hAB, 36);
1516 
1517                 // form INT__g_p_l_s
1518                 HRR_J_g_p(
1519                     HRR_INT__g_p_l_s,
1520                     HRR_INT__g_s_l_s,
1521                     HRR_INT__h_s_l_s,
1522                     hAB, 45);
1523 
1524                 // form INT__g_p_m_s
1525                 HRR_J_g_p(
1526                     HRR_INT__g_p_m_s,
1527                     HRR_INT__g_s_m_s,
1528                     HRR_INT__h_s_m_s,
1529                     hAB, 55);
1530 
1531                 // form INT__g_p_n_s
1532                 HRR_J_g_p(
1533                     HRR_INT__g_p_n_s,
1534                     HRR_INT__g_s_n_s,
1535                     HRR_INT__h_s_n_s,
1536                     hAB, 66);
1537 
1538                 // form INT__g_p_o_s
1539                 HRR_J_g_p(
1540                     HRR_INT__g_p_o_s,
1541                     HRR_INT__g_s_o_s,
1542                     HRR_INT__h_s_o_s,
1543                     hAB, 78);
1544 
1545                 // form INT__g_p_q_s
1546                 HRR_J_g_p(
1547                     HRR_INT__g_p_q_s,
1548                     HRR_INT__g_s_q_s,
1549                     HRR_INT__h_s_q_s,
1550                     hAB, 91);
1551 
1552                 // form INT__h_p_i_s
1553                 ostei_general_hrr_J(5, 1, 6, 0, hAB, HRR_INT__i_s_i_s, HRR_INT__h_s_i_s, HRR_INT__h_p_i_s);
1554 
1555                 // form INT__h_p_k_s
1556                 ostei_general_hrr_J(5, 1, 7, 0, hAB, HRR_INT__i_s_k_s, HRR_INT__h_s_k_s, HRR_INT__h_p_k_s);
1557 
1558                 // form INT__h_p_l_s
1559                 ostei_general_hrr_J(5, 1, 8, 0, hAB, HRR_INT__i_s_l_s, HRR_INT__h_s_l_s, HRR_INT__h_p_l_s);
1560 
1561                 // form INT__h_p_m_s
1562                 ostei_general_hrr_J(5, 1, 9, 0, hAB, HRR_INT__i_s_m_s, HRR_INT__h_s_m_s, HRR_INT__h_p_m_s);
1563 
1564                 // form INT__h_p_n_s
1565                 ostei_general_hrr_J(5, 1, 10, 0, hAB, HRR_INT__i_s_n_s, HRR_INT__h_s_n_s, HRR_INT__h_p_n_s);
1566 
1567                 // form INT__h_p_o_s
1568                 ostei_general_hrr_J(5, 1, 11, 0, hAB, HRR_INT__i_s_o_s, HRR_INT__h_s_o_s, HRR_INT__h_p_o_s);
1569 
1570                 // form INT__h_p_q_s
1571                 ostei_general_hrr_J(5, 1, 12, 0, hAB, HRR_INT__i_s_q_s, HRR_INT__h_s_q_s, HRR_INT__h_p_q_s);
1572 
1573                 // form INT__i_p_i_s
1574                 ostei_general_hrr_J(6, 1, 6, 0, hAB, HRR_INT__k_s_i_s, HRR_INT__i_s_i_s, HRR_INT__i_p_i_s);
1575 
1576                 // form INT__i_p_k_s
1577                 ostei_general_hrr_J(6, 1, 7, 0, hAB, HRR_INT__k_s_k_s, HRR_INT__i_s_k_s, HRR_INT__i_p_k_s);
1578 
1579                 // form INT__i_p_l_s
1580                 ostei_general_hrr_J(6, 1, 8, 0, hAB, HRR_INT__k_s_l_s, HRR_INT__i_s_l_s, HRR_INT__i_p_l_s);
1581 
1582                 // form INT__i_p_m_s
1583                 ostei_general_hrr_J(6, 1, 9, 0, hAB, HRR_INT__k_s_m_s, HRR_INT__i_s_m_s, HRR_INT__i_p_m_s);
1584 
1585                 // form INT__i_p_n_s
1586                 ostei_general_hrr_J(6, 1, 10, 0, hAB, HRR_INT__k_s_n_s, HRR_INT__i_s_n_s, HRR_INT__i_p_n_s);
1587 
1588                 // form INT__i_p_o_s
1589                 ostei_general_hrr_J(6, 1, 11, 0, hAB, HRR_INT__k_s_o_s, HRR_INT__i_s_o_s, HRR_INT__i_p_o_s);
1590 
1591                 // form INT__i_p_q_s
1592                 ostei_general_hrr_J(6, 1, 12, 0, hAB, HRR_INT__k_s_q_s, HRR_INT__i_s_q_s, HRR_INT__i_p_q_s);
1593 
1594                 // form INT__k_p_i_s
1595                 ostei_general_hrr_J(7, 1, 6, 0, hAB, HRR_INT__l_s_i_s, HRR_INT__k_s_i_s, HRR_INT__k_p_i_s);
1596 
1597                 // form INT__k_p_k_s
1598                 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);
1599 
1600                 // form INT__k_p_l_s
1601                 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);
1602 
1603                 // form INT__k_p_m_s
1604                 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);
1605 
1606                 // form INT__k_p_n_s
1607                 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);
1608 
1609                 // form INT__k_p_o_s
1610                 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);
1611 
1612                 // form INT__k_p_q_s
1613                 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);
1614 
1615                 // form INT__g_d_i_s
1616                 ostei_general_hrr_J(4, 2, 6, 0, hAB, HRR_INT__h_p_i_s, HRR_INT__g_p_i_s, HRR_INT__g_d_i_s);
1617 
1618                 // form INT__g_d_k_s
1619                 ostei_general_hrr_J(4, 2, 7, 0, hAB, HRR_INT__h_p_k_s, HRR_INT__g_p_k_s, HRR_INT__g_d_k_s);
1620 
1621                 // form INT__g_d_l_s
1622                 ostei_general_hrr_J(4, 2, 8, 0, hAB, HRR_INT__h_p_l_s, HRR_INT__g_p_l_s, HRR_INT__g_d_l_s);
1623 
1624                 // form INT__g_d_m_s
1625                 ostei_general_hrr_J(4, 2, 9, 0, hAB, HRR_INT__h_p_m_s, HRR_INT__g_p_m_s, HRR_INT__g_d_m_s);
1626 
1627                 // form INT__g_d_n_s
1628                 ostei_general_hrr_J(4, 2, 10, 0, hAB, HRR_INT__h_p_n_s, HRR_INT__g_p_n_s, HRR_INT__g_d_n_s);
1629 
1630                 // form INT__g_d_o_s
1631                 ostei_general_hrr_J(4, 2, 11, 0, hAB, HRR_INT__h_p_o_s, HRR_INT__g_p_o_s, HRR_INT__g_d_o_s);
1632 
1633                 // form INT__g_d_q_s
1634                 ostei_general_hrr_J(4, 2, 12, 0, hAB, HRR_INT__h_p_q_s, HRR_INT__g_p_q_s, HRR_INT__g_d_q_s);
1635 
1636                 // form INT__h_d_i_s
1637                 ostei_general_hrr_J(5, 2, 6, 0, hAB, HRR_INT__i_p_i_s, HRR_INT__h_p_i_s, HRR_INT__h_d_i_s);
1638 
1639                 // form INT__h_d_k_s
1640                 ostei_general_hrr_J(5, 2, 7, 0, hAB, HRR_INT__i_p_k_s, HRR_INT__h_p_k_s, HRR_INT__h_d_k_s);
1641 
1642                 // form INT__h_d_l_s
1643                 ostei_general_hrr_J(5, 2, 8, 0, hAB, HRR_INT__i_p_l_s, HRR_INT__h_p_l_s, HRR_INT__h_d_l_s);
1644 
1645                 // form INT__h_d_m_s
1646                 ostei_general_hrr_J(5, 2, 9, 0, hAB, HRR_INT__i_p_m_s, HRR_INT__h_p_m_s, HRR_INT__h_d_m_s);
1647 
1648                 // form INT__h_d_n_s
1649                 ostei_general_hrr_J(5, 2, 10, 0, hAB, HRR_INT__i_p_n_s, HRR_INT__h_p_n_s, HRR_INT__h_d_n_s);
1650 
1651                 // form INT__h_d_o_s
1652                 ostei_general_hrr_J(5, 2, 11, 0, hAB, HRR_INT__i_p_o_s, HRR_INT__h_p_o_s, HRR_INT__h_d_o_s);
1653 
1654                 // form INT__h_d_q_s
1655                 ostei_general_hrr_J(5, 2, 12, 0, hAB, HRR_INT__i_p_q_s, HRR_INT__h_p_q_s, HRR_INT__h_d_q_s);
1656 
1657                 // form INT__i_d_i_s
1658                 ostei_general_hrr_J(6, 2, 6, 0, hAB, HRR_INT__k_p_i_s, HRR_INT__i_p_i_s, HRR_INT__i_d_i_s);
1659 
1660                 // form INT__i_d_k_s
1661                 ostei_general_hrr_J(6, 2, 7, 0, hAB, HRR_INT__k_p_k_s, HRR_INT__i_p_k_s, HRR_INT__i_d_k_s);
1662 
1663                 // form INT__i_d_l_s
1664                 ostei_general_hrr_J(6, 2, 8, 0, hAB, HRR_INT__k_p_l_s, HRR_INT__i_p_l_s, HRR_INT__i_d_l_s);
1665 
1666                 // form INT__i_d_m_s
1667                 ostei_general_hrr_J(6, 2, 9, 0, hAB, HRR_INT__k_p_m_s, HRR_INT__i_p_m_s, HRR_INT__i_d_m_s);
1668 
1669                 // form INT__i_d_n_s
1670                 ostei_general_hrr_J(6, 2, 10, 0, hAB, HRR_INT__k_p_n_s, HRR_INT__i_p_n_s, HRR_INT__i_d_n_s);
1671 
1672                 // form INT__i_d_o_s
1673                 ostei_general_hrr_J(6, 2, 11, 0, hAB, HRR_INT__k_p_o_s, HRR_INT__i_p_o_s, HRR_INT__i_d_o_s);
1674 
1675                 // form INT__i_d_q_s
1676                 ostei_general_hrr_J(6, 2, 12, 0, hAB, HRR_INT__k_p_q_s, HRR_INT__i_p_q_s, HRR_INT__i_d_q_s);
1677 
1678                 // form INT__g_f_i_s
1679                 ostei_general_hrr_J(4, 3, 6, 0, hAB, HRR_INT__h_d_i_s, HRR_INT__g_d_i_s, HRR_INT__g_f_i_s);
1680 
1681                 // form INT__g_f_k_s
1682                 ostei_general_hrr_J(4, 3, 7, 0, hAB, HRR_INT__h_d_k_s, HRR_INT__g_d_k_s, HRR_INT__g_f_k_s);
1683 
1684                 // form INT__g_f_l_s
1685                 ostei_general_hrr_J(4, 3, 8, 0, hAB, HRR_INT__h_d_l_s, HRR_INT__g_d_l_s, HRR_INT__g_f_l_s);
1686 
1687                 // form INT__g_f_m_s
1688                 ostei_general_hrr_J(4, 3, 9, 0, hAB, HRR_INT__h_d_m_s, HRR_INT__g_d_m_s, HRR_INT__g_f_m_s);
1689 
1690                 // form INT__g_f_n_s
1691                 ostei_general_hrr_J(4, 3, 10, 0, hAB, HRR_INT__h_d_n_s, HRR_INT__g_d_n_s, HRR_INT__g_f_n_s);
1692 
1693                 // form INT__g_f_o_s
1694                 ostei_general_hrr_J(4, 3, 11, 0, hAB, HRR_INT__h_d_o_s, HRR_INT__g_d_o_s, HRR_INT__g_f_o_s);
1695 
1696                 // form INT__g_f_q_s
1697                 ostei_general_hrr_J(4, 3, 12, 0, hAB, HRR_INT__h_d_q_s, HRR_INT__g_d_q_s, HRR_INT__g_f_q_s);
1698 
1699                 // form INT__h_f_i_s
1700                 ostei_general_hrr_J(5, 3, 6, 0, hAB, HRR_INT__i_d_i_s, HRR_INT__h_d_i_s, HRR_INT__h_f_i_s);
1701 
1702                 // form INT__h_f_k_s
1703                 ostei_general_hrr_J(5, 3, 7, 0, hAB, HRR_INT__i_d_k_s, HRR_INT__h_d_k_s, HRR_INT__h_f_k_s);
1704 
1705                 // form INT__h_f_l_s
1706                 ostei_general_hrr_J(5, 3, 8, 0, hAB, HRR_INT__i_d_l_s, HRR_INT__h_d_l_s, HRR_INT__h_f_l_s);
1707 
1708                 // form INT__h_f_m_s
1709                 ostei_general_hrr_J(5, 3, 9, 0, hAB, HRR_INT__i_d_m_s, HRR_INT__h_d_m_s, HRR_INT__h_f_m_s);
1710 
1711                 // form INT__h_f_n_s
1712                 ostei_general_hrr_J(5, 3, 10, 0, hAB, HRR_INT__i_d_n_s, HRR_INT__h_d_n_s, HRR_INT__h_f_n_s);
1713 
1714                 // form INT__h_f_o_s
1715                 ostei_general_hrr_J(5, 3, 11, 0, hAB, HRR_INT__i_d_o_s, HRR_INT__h_d_o_s, HRR_INT__h_f_o_s);
1716 
1717                 // form INT__h_f_q_s
1718                 ostei_general_hrr_J(5, 3, 12, 0, hAB, HRR_INT__i_d_q_s, HRR_INT__h_d_q_s, HRR_INT__h_f_q_s);
1719 
1720                 // form INT__g_g_i_s
1721                 ostei_general_hrr_J(4, 4, 6, 0, hAB, HRR_INT__h_f_i_s, HRR_INT__g_f_i_s, HRR_INT__g_g_i_s);
1722 
1723                 // form INT__g_g_k_s
1724                 ostei_general_hrr_J(4, 4, 7, 0, hAB, HRR_INT__h_f_k_s, HRR_INT__g_f_k_s, HRR_INT__g_g_k_s);
1725 
1726                 // form INT__g_g_l_s
1727                 ostei_general_hrr_J(4, 4, 8, 0, hAB, HRR_INT__h_f_l_s, HRR_INT__g_f_l_s, HRR_INT__g_g_l_s);
1728 
1729                 // form INT__g_g_m_s
1730                 ostei_general_hrr_J(4, 4, 9, 0, hAB, HRR_INT__h_f_m_s, HRR_INT__g_f_m_s, HRR_INT__g_g_m_s);
1731 
1732                 // form INT__g_g_n_s
1733                 ostei_general_hrr_J(4, 4, 10, 0, hAB, HRR_INT__h_f_n_s, HRR_INT__g_f_n_s, HRR_INT__g_g_n_s);
1734 
1735                 // form INT__g_g_o_s
1736                 ostei_general_hrr_J(4, 4, 11, 0, hAB, HRR_INT__h_f_o_s, HRR_INT__g_f_o_s, HRR_INT__g_g_o_s);
1737 
1738                 // form INT__g_g_q_s
1739                 ostei_general_hrr_J(4, 4, 12, 0, hAB, HRR_INT__h_f_q_s, HRR_INT__g_f_q_s, HRR_INT__g_g_q_s);
1740 
1741                 // form INT__g_g_i_p
1742                 ostei_general_hrr_L(4, 4, 6, 1, hCD, HRR_INT__g_g_k_s, HRR_INT__g_g_i_s, HRR_INT__g_g_i_p);
1743 
1744                 // form INT__g_g_k_p
1745                 ostei_general_hrr_L(4, 4, 7, 1, hCD, HRR_INT__g_g_l_s, HRR_INT__g_g_k_s, HRR_INT__g_g_k_p);
1746 
1747                 // form INT__g_g_l_p
1748                 ostei_general_hrr_L(4, 4, 8, 1, hCD, HRR_INT__g_g_m_s, HRR_INT__g_g_l_s, HRR_INT__g_g_l_p);
1749 
1750                 // form INT__g_g_m_p
1751                 ostei_general_hrr_L(4, 4, 9, 1, hCD, HRR_INT__g_g_n_s, HRR_INT__g_g_m_s, HRR_INT__g_g_m_p);
1752 
1753                 // form INT__g_g_n_p
1754                 ostei_general_hrr_L(4, 4, 10, 1, hCD, HRR_INT__g_g_o_s, HRR_INT__g_g_n_s, HRR_INT__g_g_n_p);
1755 
1756                 // form INT__g_g_o_p
1757                 ostei_general_hrr_L(4, 4, 11, 1, hCD, HRR_INT__g_g_q_s, HRR_INT__g_g_o_s, HRR_INT__g_g_o_p);
1758 
1759                 // form INT__g_g_i_d
1760                 ostei_general_hrr_L(4, 4, 6, 2, hCD, HRR_INT__g_g_k_p, HRR_INT__g_g_i_p, HRR_INT__g_g_i_d);
1761 
1762                 // form INT__g_g_k_d
1763                 ostei_general_hrr_L(4, 4, 7, 2, hCD, HRR_INT__g_g_l_p, HRR_INT__g_g_k_p, HRR_INT__g_g_k_d);
1764 
1765                 // form INT__g_g_l_d
1766                 ostei_general_hrr_L(4, 4, 8, 2, hCD, HRR_INT__g_g_m_p, HRR_INT__g_g_l_p, HRR_INT__g_g_l_d);
1767 
1768                 // form INT__g_g_m_d
1769                 ostei_general_hrr_L(4, 4, 9, 2, hCD, HRR_INT__g_g_n_p, HRR_INT__g_g_m_p, HRR_INT__g_g_m_d);
1770 
1771                 // form INT__g_g_n_d
1772                 ostei_general_hrr_L(4, 4, 10, 2, hCD, HRR_INT__g_g_o_p, HRR_INT__g_g_n_p, HRR_INT__g_g_n_d);
1773 
1774                 // form INT__g_g_i_f
1775                 ostei_general_hrr_L(4, 4, 6, 3, hCD, HRR_INT__g_g_k_d, HRR_INT__g_g_i_d, HRR_INT__g_g_i_f);
1776 
1777                 // form INT__g_g_k_f
1778                 ostei_general_hrr_L(4, 4, 7, 3, hCD, HRR_INT__g_g_l_d, HRR_INT__g_g_k_d, HRR_INT__g_g_k_f);
1779 
1780                 // form INT__g_g_l_f
1781                 ostei_general_hrr_L(4, 4, 8, 3, hCD, HRR_INT__g_g_m_d, HRR_INT__g_g_l_d, HRR_INT__g_g_l_f);
1782 
1783                 // form INT__g_g_m_f
1784                 ostei_general_hrr_L(4, 4, 9, 3, hCD, HRR_INT__g_g_n_d, HRR_INT__g_g_m_d, HRR_INT__g_g_m_f);
1785 
1786                 // form INT__g_g_i_g
1787                 ostei_general_hrr_L(4, 4, 6, 4, hCD, HRR_INT__g_g_k_f, HRR_INT__g_g_i_f, HRR_INT__g_g_i_g);
1788 
1789                 // form INT__g_g_k_g
1790                 ostei_general_hrr_L(4, 4, 7, 4, hCD, HRR_INT__g_g_l_f, HRR_INT__g_g_k_f, HRR_INT__g_g_k_g);
1791 
1792                 // form INT__g_g_l_g
1793                 ostei_general_hrr_L(4, 4, 8, 4, hCD, HRR_INT__g_g_m_f, HRR_INT__g_g_l_f, HRR_INT__g_g_l_g);
1794 
1795                 // form INT__g_g_i_h
1796                 ostei_general_hrr_L(4, 4, 6, 5, hCD, HRR_INT__g_g_k_g, HRR_INT__g_g_i_g, HRR_INT__g_g_i_h);
1797 
1798                 // form INT__g_g_k_h
1799                 ostei_general_hrr_L(4, 4, 7, 5, hCD, HRR_INT__g_g_l_g, HRR_INT__g_g_k_g, HRR_INT__g_g_k_h);
1800 
1801                 // form INT__g_g_i_i
1802                 ostei_general_hrr_L(4, 4, 6, 6, hCD, HRR_INT__g_g_k_h, HRR_INT__g_g_i_h, HRR_INT__g_g_i_i);
1803 
1804 
1805             }  // close HRR loop
1806 
1807 
1808         }   // close loop cdbatch
1809 
1810         istart = iend;
1811     }  // close loop over ab
1812 
1813     return P.nshell12_clip * Q.nshell12_clip;
1814 }
1815 
1816