1 #include "simint/boys/boys.h"
2 #include "simint/ostei/gen/ostei_generated.h"
3 #include "simint/vectorization/vectorization.h"
4 #include <math.h>
5 #include <string.h>
6
7
ostei_k_k_k_g(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_k_k_g)8 int ostei_k_k_k_g(struct simint_multi_shellpair const P,
9 struct simint_multi_shellpair const Q,
10 double screen_tol,
11 double * const restrict work,
12 double * const restrict INT__k_k_k_g)
13 {
14
15 SIMINT_ASSUME_ALIGN_DBL(work);
16 SIMINT_ASSUME_ALIGN_DBL(INT__k_k_k_g);
17 int ab, cd, abcd;
18 int istart, jstart;
19 int iprimcd, nprim_icd, icd;
20 const int check_screen = (screen_tol > 0.0);
21 int i, j;
22 int n;
23 int not_screened;
24 int real_abcd;
25 int iket;
26 int ibra;
27
28 // partition workspace
29 double * const INT__k_s_k_s = work + (SIMINT_NSHELL_SIMD * 0);
30 double * const INT__k_s_l_s = work + (SIMINT_NSHELL_SIMD * 1296);
31 double * const INT__k_s_m_s = work + (SIMINT_NSHELL_SIMD * 2916);
32 double * const INT__k_s_n_s = work + (SIMINT_NSHELL_SIMD * 4896);
33 double * const INT__k_s_o_s = work + (SIMINT_NSHELL_SIMD * 7272);
34 double * const INT__l_s_k_s = work + (SIMINT_NSHELL_SIMD * 10080);
35 double * const INT__l_s_l_s = work + (SIMINT_NSHELL_SIMD * 11700);
36 double * const INT__l_s_m_s = work + (SIMINT_NSHELL_SIMD * 13725);
37 double * const INT__l_s_n_s = work + (SIMINT_NSHELL_SIMD * 16200);
38 double * const INT__l_s_o_s = work + (SIMINT_NSHELL_SIMD * 19170);
39 double * const INT__m_s_k_s = work + (SIMINT_NSHELL_SIMD * 22680);
40 double * const INT__m_s_l_s = work + (SIMINT_NSHELL_SIMD * 24660);
41 double * const INT__m_s_m_s = work + (SIMINT_NSHELL_SIMD * 27135);
42 double * const INT__m_s_n_s = work + (SIMINT_NSHELL_SIMD * 30160);
43 double * const INT__m_s_o_s = work + (SIMINT_NSHELL_SIMD * 33790);
44 double * const INT__n_s_k_s = work + (SIMINT_NSHELL_SIMD * 38080);
45 double * const INT__n_s_l_s = work + (SIMINT_NSHELL_SIMD * 40456);
46 double * const INT__n_s_m_s = work + (SIMINT_NSHELL_SIMD * 43426);
47 double * const INT__n_s_n_s = work + (SIMINT_NSHELL_SIMD * 47056);
48 double * const INT__n_s_o_s = work + (SIMINT_NSHELL_SIMD * 51412);
49 double * const INT__o_s_k_s = work + (SIMINT_NSHELL_SIMD * 56560);
50 double * const INT__o_s_l_s = work + (SIMINT_NSHELL_SIMD * 59368);
51 double * const INT__o_s_m_s = work + (SIMINT_NSHELL_SIMD * 62878);
52 double * const INT__o_s_n_s = work + (SIMINT_NSHELL_SIMD * 67168);
53 double * const INT__o_s_o_s = work + (SIMINT_NSHELL_SIMD * 72316);
54 double * const INT__q_s_k_s = work + (SIMINT_NSHELL_SIMD * 78400);
55 double * const INT__q_s_l_s = work + (SIMINT_NSHELL_SIMD * 81676);
56 double * const INT__q_s_m_s = work + (SIMINT_NSHELL_SIMD * 85771);
57 double * const INT__q_s_n_s = work + (SIMINT_NSHELL_SIMD * 90776);
58 double * const INT__q_s_o_s = work + (SIMINT_NSHELL_SIMD * 96782);
59 double * const INT__r_s_k_s = work + (SIMINT_NSHELL_SIMD * 103880);
60 double * const INT__r_s_l_s = work + (SIMINT_NSHELL_SIMD * 107660);
61 double * const INT__r_s_m_s = work + (SIMINT_NSHELL_SIMD * 112385);
62 double * const INT__r_s_n_s = work + (SIMINT_NSHELL_SIMD * 118160);
63 double * const INT__r_s_o_s = work + (SIMINT_NSHELL_SIMD * 125090);
64 double * const INT__t_s_k_s = work + (SIMINT_NSHELL_SIMD * 133280);
65 double * const INT__t_s_l_s = work + (SIMINT_NSHELL_SIMD * 137600);
66 double * const INT__t_s_m_s = work + (SIMINT_NSHELL_SIMD * 143000);
67 double * const INT__t_s_n_s = work + (SIMINT_NSHELL_SIMD * 149600);
68 double * const INT__t_s_o_s = work + (SIMINT_NSHELL_SIMD * 157520);
69 SIMINT_DBLTYPE * const primwork = (SIMINT_DBLTYPE *)(work + SIMINT_NSHELL_SIMD*166880);
70 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_s_s = primwork + 0;
71 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_p_s = primwork + 26;
72 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_d_s = primwork + 59;
73 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_f_s = primwork + 119;
74 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_g_s = primwork + 209;
75 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_s_s = primwork + 329;
76 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_p_s = primwork + 404;
77 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_d_s = primwork + 503;
78 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_f_s = primwork + 683;
79 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_g_s = primwork + 953;
80 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_h_s = primwork + 1313;
81 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_s_s = primwork + 1754;
82 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_p_s = primwork + 1898;
83 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_d_s = primwork + 2096;
84 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_f_s = primwork + 2456;
85 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_g_s = primwork + 2996;
86 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_h_s = primwork + 3716;
87 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_i_s = primwork + 4598;
88 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s = primwork + 5606;
89 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_p_s = primwork + 5836;
90 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_d_s = primwork + 6166;
91 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_f_s = primwork + 6766;
92 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_g_s = primwork + 7666;
93 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_h_s = primwork + 8866;
94 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_i_s = primwork + 10336;
95 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_k_s = primwork + 12016;
96 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s = primwork + 13816;
97 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_p_s = primwork + 14146;
98 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_d_s = primwork + 14641;
99 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_f_s = primwork + 15541;
100 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_g_s = primwork + 16891;
101 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_h_s = primwork + 18691;
102 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_i_s = primwork + 20896;
103 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_k_s = primwork + 23416;
104 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_l_s = primwork + 26116;
105 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_s_s = primwork + 28816;
106 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_p_s = primwork + 29257;
107 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_d_s = primwork + 29950;
108 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_f_s = primwork + 31210;
109 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_g_s = primwork + 33100;
110 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_h_s = primwork + 35620;
111 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_i_s = primwork + 38707;
112 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_k_s = primwork + 42235;
113 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_l_s = primwork + 46015;
114 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_m_s = primwork + 49795;
115 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_s_s = primwork + 53260;
116 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_p_s = primwork + 53820;
117 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_d_s = primwork + 54744;
118 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_f_s = primwork + 56424;
119 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_g_s = primwork + 58944;
120 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_h_s = primwork + 62304;
121 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_i_s = primwork + 66420;
122 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_k_s = primwork + 71124;
123 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_l_s = primwork + 76164;
124 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_m_s = primwork + 81204;
125 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_n_s = primwork + 85824;
126 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_s_s = primwork + 89520;
127 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_p_s = primwork + 90204;
128 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_d_s = primwork + 91392;
129 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_f_s = primwork + 93552;
130 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_g_s = primwork + 96792;
131 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_h_s = primwork + 101112;
132 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_i_s = primwork + 106404;
133 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_k_s = primwork + 112452;
134 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_l_s = primwork + 118932;
135 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_m_s = primwork + 125412;
136 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_n_s = primwork + 131352;
137 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_o_s = primwork + 136104;
138 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_s_s = primwork + 138912;
139 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_p_s = primwork + 139722;
140 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_d_s = primwork + 141207;
141 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_f_s = primwork + 143907;
142 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_g_s = primwork + 147957;
143 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_h_s = primwork + 153357;
144 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_i_s = primwork + 159972;
145 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_k_s = primwork + 167532;
146 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_l_s = primwork + 175632;
147 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_m_s = primwork + 183732;
148 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_n_s = primwork + 191157;
149 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_o_s = primwork + 197097;
150 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_s_s = primwork + 200607;
151 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_p_s = primwork + 201542;
152 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_d_s = primwork + 203357;
153 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_f_s = primwork + 206657;
154 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_g_s = primwork + 211607;
155 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_h_s = primwork + 218207;
156 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_i_s = primwork + 226292;
157 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_k_s = primwork + 235532;
158 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_l_s = primwork + 245432;
159 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_m_s = primwork + 255332;
160 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_n_s = primwork + 264407;
161 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_o_s = primwork + 271667;
162 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_s_s = primwork + 275957;
163 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_p_s = primwork + 277013;
164 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_d_s = primwork + 279191;
165 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_f_s = primwork + 283151;
166 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_g_s = primwork + 289091;
167 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_h_s = primwork + 297011;
168 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_i_s = primwork + 306713;
169 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_k_s = primwork + 317801;
170 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_l_s = primwork + 329681;
171 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_m_s = primwork + 341561;
172 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_n_s = primwork + 352451;
173 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_o_s = primwork + 361163;
174 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_s_s = primwork + 366311;
175 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_p_s = primwork + 367481;
176 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_d_s = primwork + 370055;
177 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_f_s = primwork + 374735;
178 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_g_s = primwork + 381755;
179 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_h_s = primwork + 391115;
180 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_i_s = primwork + 402581;
181 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_k_s = primwork + 415685;
182 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_l_s = primwork + 429725;
183 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_m_s = primwork + 443765;
184 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_n_s = primwork + 456635;
185 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_o_s = primwork + 466931;
186 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_s_s = primwork + 473015;
187 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_p_s = primwork + 474289;
188 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_d_s = primwork + 477292;
189 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_f_s = primwork + 482752;
190 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_g_s = primwork + 490942;
191 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_h_s = primwork + 501862;
192 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_i_s = primwork + 515239;
193 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_k_s = primwork + 530527;
194 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_l_s = primwork + 546907;
195 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_m_s = primwork + 563287;
196 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_n_s = primwork + 578302;
197 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_o_s = primwork + 590314;
198 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_s_s = primwork + 597412;
199 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_p_s = primwork + 598777;
200 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_d_s = primwork + 602242;
201 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_f_s = primwork + 608542;
202 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_g_s = primwork + 617992;
203 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_h_s = primwork + 630592;
204 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_i_s = primwork + 646027;
205 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_k_s = primwork + 663667;
206 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_l_s = primwork + 682567;
207 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_m_s = primwork + 701467;
208 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_n_s = primwork + 718792;
209 SIMINT_DBLTYPE * const restrict PRIM_INT__r_s_o_s = primwork + 732652;
210 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_s_s = primwork + 740842;
211 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_p_s = primwork + 742282;
212 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_d_s = primwork + 746242;
213 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_f_s = primwork + 753442;
214 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_g_s = primwork + 764242;
215 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_h_s = primwork + 778642;
216 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_i_s = primwork + 796282;
217 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_k_s = primwork + 816442;
218 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_l_s = primwork + 838042;
219 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_m_s = primwork + 859642;
220 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_n_s = primwork + 879442;
221 SIMINT_DBLTYPE * const restrict PRIM_INT__t_s_o_s = primwork + 895282;
222 double * const hrrwork = (double *)(primwork + 904642);
223 double * const HRR_INT__k_p_k_s = hrrwork + 0;
224 double * const HRR_INT__k_p_l_s = hrrwork + 3888;
225 double * const HRR_INT__k_p_m_s = hrrwork + 8748;
226 double * const HRR_INT__k_p_n_s = hrrwork + 14688;
227 double * const HRR_INT__k_p_o_s = hrrwork + 21816;
228 double * const HRR_INT__k_d_k_s = hrrwork + 30240;
229 double * const HRR_INT__k_d_l_s = hrrwork + 38016;
230 double * const HRR_INT__k_d_m_s = hrrwork + 47736;
231 double * const HRR_INT__k_d_n_s = hrrwork + 59616;
232 double * const HRR_INT__k_d_o_s = hrrwork + 73872;
233 double * const HRR_INT__k_f_k_s = hrrwork + 90720;
234 double * const HRR_INT__k_f_l_s = hrrwork + 103680;
235 double * const HRR_INT__k_f_m_s = hrrwork + 119880;
236 double * const HRR_INT__k_f_n_s = hrrwork + 139680;
237 double * const HRR_INT__k_f_o_s = hrrwork + 163440;
238 double * const HRR_INT__k_g_k_s = hrrwork + 191520;
239 double * const HRR_INT__k_g_l_s = hrrwork + 210960;
240 double * const HRR_INT__k_g_m_s = hrrwork + 235260;
241 double * const HRR_INT__k_g_n_s = hrrwork + 264960;
242 double * const HRR_INT__k_g_o_s = hrrwork + 300600;
243 double * const HRR_INT__k_h_k_s = hrrwork + 342720;
244 double * const HRR_INT__k_h_l_s = hrrwork + 369936;
245 double * const HRR_INT__k_h_m_s = hrrwork + 403956;
246 double * const HRR_INT__k_h_n_s = hrrwork + 445536;
247 double * const HRR_INT__k_h_o_s = hrrwork + 495432;
248 double * const HRR_INT__k_i_k_s = hrrwork + 554400;
249 double * const HRR_INT__k_i_l_s = hrrwork + 590688;
250 double * const HRR_INT__k_i_m_s = hrrwork + 636048;
251 double * const HRR_INT__k_i_n_s = hrrwork + 691488;
252 double * const HRR_INT__k_i_o_s = hrrwork + 758016;
253 double * const HRR_INT__k_k_k_s = hrrwork + 836640;
254 double * const HRR_INT__k_k_k_p = hrrwork + 883296;
255 double * const HRR_INT__k_k_k_d = hrrwork + 1023264;
256 double * const HRR_INT__k_k_k_f = hrrwork + 1303200;
257 double * const HRR_INT__k_k_l_s = hrrwork + 1769760;
258 double * const HRR_INT__k_k_l_p = hrrwork + 1828080;
259 double * const HRR_INT__k_k_l_d = hrrwork + 2003040;
260 double * const HRR_INT__k_k_l_f = hrrwork + 2352960;
261 double * const HRR_INT__k_k_m_s = hrrwork + 2936160;
262 double * const HRR_INT__k_k_m_p = hrrwork + 3007440;
263 double * const HRR_INT__k_k_m_d = hrrwork + 3221280;
264 double * const HRR_INT__k_k_n_s = hrrwork + 3648960;
265 double * const HRR_INT__k_k_n_p = hrrwork + 3734496;
266 double * const HRR_INT__k_k_o_s = hrrwork + 3991104;
267 double * const HRR_INT__l_p_k_s = hrrwork + 4092192;
268 double * const HRR_INT__l_p_l_s = hrrwork + 4097052;
269 double * const HRR_INT__l_p_m_s = hrrwork + 4103127;
270 double * const HRR_INT__l_p_n_s = hrrwork + 4110552;
271 double * const HRR_INT__l_p_o_s = hrrwork + 4119462;
272 double * const HRR_INT__l_d_k_s = hrrwork + 4129992;
273 double * const HRR_INT__l_d_l_s = hrrwork + 4139712;
274 double * const HRR_INT__l_d_m_s = hrrwork + 4151862;
275 double * const HRR_INT__l_d_n_s = hrrwork + 4166712;
276 double * const HRR_INT__l_d_o_s = hrrwork + 4184532;
277 double * const HRR_INT__l_f_k_s = hrrwork + 4205592;
278 double * const HRR_INT__l_f_l_s = hrrwork + 4221792;
279 double * const HRR_INT__l_f_m_s = hrrwork + 4242042;
280 double * const HRR_INT__l_f_n_s = hrrwork + 4266792;
281 double * const HRR_INT__l_f_o_s = hrrwork + 4296492;
282 double * const HRR_INT__l_g_k_s = hrrwork + 4331592;
283 double * const HRR_INT__l_g_l_s = hrrwork + 4355892;
284 double * const HRR_INT__l_g_m_s = hrrwork + 4386267;
285 double * const HRR_INT__l_g_n_s = hrrwork + 4423392;
286 double * const HRR_INT__l_g_o_s = hrrwork + 4467942;
287 double * const HRR_INT__l_h_k_s = hrrwork + 4520592;
288 double * const HRR_INT__l_h_l_s = hrrwork + 4554612;
289 double * const HRR_INT__l_h_m_s = hrrwork + 4597137;
290 double * const HRR_INT__l_h_n_s = hrrwork + 4649112;
291 double * const HRR_INT__l_h_o_s = hrrwork + 4711482;
292 double * const HRR_INT__l_i_k_s = hrrwork + 4785192;
293 double * const HRR_INT__l_i_l_s = hrrwork + 4830552;
294 double * const HRR_INT__l_i_m_s = hrrwork + 4887252;
295 double * const HRR_INT__l_i_n_s = hrrwork + 4956552;
296 double * const HRR_INT__l_i_o_s = hrrwork + 5039712;
297 double * const HRR_INT__m_p_k_s = hrrwork + 5137992;
298 double * const HRR_INT__m_p_l_s = hrrwork + 5143932;
299 double * const HRR_INT__m_p_m_s = hrrwork + 5151357;
300 double * const HRR_INT__m_p_n_s = hrrwork + 5160432;
301 double * const HRR_INT__m_p_o_s = hrrwork + 5171322;
302 double * const HRR_INT__m_d_k_s = hrrwork + 5184192;
303 double * const HRR_INT__m_d_l_s = hrrwork + 5196072;
304 double * const HRR_INT__m_d_m_s = hrrwork + 5210922;
305 double * const HRR_INT__m_d_n_s = hrrwork + 5229072;
306 double * const HRR_INT__m_d_o_s = hrrwork + 5250852;
307 double * const HRR_INT__m_f_k_s = hrrwork + 5276592;
308 double * const HRR_INT__m_f_l_s = hrrwork + 5296392;
309 double * const HRR_INT__m_f_m_s = hrrwork + 5321142;
310 double * const HRR_INT__m_f_n_s = hrrwork + 5351392;
311 double * const HRR_INT__m_f_o_s = hrrwork + 5387692;
312 double * const HRR_INT__m_g_k_s = hrrwork + 5430592;
313 double * const HRR_INT__m_g_l_s = hrrwork + 5460292;
314 double * const HRR_INT__m_g_m_s = hrrwork + 5497417;
315 double * const HRR_INT__m_g_n_s = hrrwork + 5542792;
316 double * const HRR_INT__m_g_o_s = hrrwork + 5597242;
317 double * const HRR_INT__m_h_k_s = hrrwork + 5661592;
318 double * const HRR_INT__m_h_l_s = hrrwork + 5703172;
319 double * const HRR_INT__m_h_m_s = hrrwork + 5755147;
320 double * const HRR_INT__m_h_n_s = hrrwork + 5818672;
321 double * const HRR_INT__m_h_o_s = hrrwork + 5894902;
322 double * const HRR_INT__n_p_k_s = hrrwork + 5984992;
323 double * const HRR_INT__n_p_l_s = hrrwork + 5992120;
324 double * const HRR_INT__n_p_m_s = hrrwork + 6001030;
325 double * const HRR_INT__n_p_n_s = hrrwork + 6011920;
326 double * const HRR_INT__n_p_o_s = hrrwork + 6024988;
327 double * const HRR_INT__n_d_k_s = hrrwork + 6040432;
328 double * const HRR_INT__n_d_l_s = hrrwork + 6054688;
329 double * const HRR_INT__n_d_m_s = hrrwork + 6072508;
330 double * const HRR_INT__n_d_n_s = hrrwork + 6094288;
331 double * const HRR_INT__n_d_o_s = hrrwork + 6120424;
332 double * const HRR_INT__n_f_k_s = hrrwork + 6151312;
333 double * const HRR_INT__n_f_l_s = hrrwork + 6175072;
334 double * const HRR_INT__n_f_m_s = hrrwork + 6204772;
335 double * const HRR_INT__n_f_n_s = hrrwork + 6241072;
336 double * const HRR_INT__n_f_o_s = hrrwork + 6284632;
337 double * const HRR_INT__n_g_k_s = hrrwork + 6336112;
338 double * const HRR_INT__n_g_l_s = hrrwork + 6371752;
339 double * const HRR_INT__n_g_m_s = hrrwork + 6416302;
340 double * const HRR_INT__n_g_n_s = hrrwork + 6470752;
341 double * const HRR_INT__n_g_o_s = hrrwork + 6536092;
342 double * const HRR_INT__o_p_k_s = hrrwork + 6613312;
343 double * const HRR_INT__o_p_l_s = hrrwork + 6621736;
344 double * const HRR_INT__o_p_m_s = hrrwork + 6632266;
345 double * const HRR_INT__o_p_n_s = hrrwork + 6645136;
346 double * const HRR_INT__o_p_o_s = hrrwork + 6660580;
347 double * const HRR_INT__o_d_k_s = hrrwork + 6678832;
348 double * const HRR_INT__o_d_l_s = hrrwork + 6695680;
349 double * const HRR_INT__o_d_m_s = hrrwork + 6716740;
350 double * const HRR_INT__o_d_n_s = hrrwork + 6742480;
351 double * const HRR_INT__o_d_o_s = hrrwork + 6773368;
352 double * const HRR_INT__o_f_k_s = hrrwork + 6809872;
353 double * const HRR_INT__o_f_l_s = hrrwork + 6837952;
354 double * const HRR_INT__o_f_m_s = hrrwork + 6873052;
355 double * const HRR_INT__o_f_n_s = hrrwork + 6915952;
356 double * const HRR_INT__o_f_o_s = hrrwork + 6967432;
357 double * const HRR_INT__q_p_k_s = hrrwork + 7028272;
358 double * const HRR_INT__q_p_l_s = hrrwork + 7038100;
359 double * const HRR_INT__q_p_m_s = hrrwork + 7050385;
360 double * const HRR_INT__q_p_n_s = hrrwork + 7065400;
361 double * const HRR_INT__q_p_o_s = hrrwork + 7083418;
362 double * const HRR_INT__q_d_k_s = hrrwork + 7104712;
363 double * const HRR_INT__q_d_l_s = hrrwork + 7124368;
364 double * const HRR_INT__q_d_m_s = hrrwork + 7148938;
365 double * const HRR_INT__q_d_n_s = hrrwork + 7178968;
366 double * const HRR_INT__q_d_o_s = hrrwork + 7215004;
367 double * const HRR_INT__r_p_k_s = hrrwork + 7257592;
368 double * const HRR_INT__r_p_l_s = hrrwork + 7268932;
369 double * const HRR_INT__r_p_m_s = hrrwork + 7283107;
370 double * const HRR_INT__r_p_n_s = hrrwork + 7300432;
371 double * const HRR_INT__r_p_o_s = hrrwork + 7321222;
372
373
374 // Create constants
375 const SIMINT_DBLTYPE const_1 = SIMINT_DBLSET1(1);
376 const SIMINT_DBLTYPE const_10 = SIMINT_DBLSET1(10);
377 const SIMINT_DBLTYPE const_11 = SIMINT_DBLSET1(11);
378 const SIMINT_DBLTYPE const_12 = SIMINT_DBLSET1(12);
379 const SIMINT_DBLTYPE const_13 = SIMINT_DBLSET1(13);
380 const SIMINT_DBLTYPE const_14 = SIMINT_DBLSET1(14);
381 const SIMINT_DBLTYPE const_2 = SIMINT_DBLSET1(2);
382 const SIMINT_DBLTYPE const_3 = SIMINT_DBLSET1(3);
383 const SIMINT_DBLTYPE const_4 = SIMINT_DBLSET1(4);
384 const SIMINT_DBLTYPE const_5 = SIMINT_DBLSET1(5);
385 const SIMINT_DBLTYPE const_6 = SIMINT_DBLSET1(6);
386 const SIMINT_DBLTYPE const_7 = SIMINT_DBLSET1(7);
387 const SIMINT_DBLTYPE const_8 = SIMINT_DBLSET1(8);
388 const SIMINT_DBLTYPE const_9 = SIMINT_DBLSET1(9);
389 const SIMINT_DBLTYPE one_half = SIMINT_DBLSET1(0.5);
390
391
392 ////////////////////////////////////////
393 // Loop over shells and primitives
394 ////////////////////////////////////////
395
396 real_abcd = 0;
397 istart = 0;
398 for(ab = 0; ab < P.nshell12_clip; ++ab)
399 {
400 const int iend = istart + P.nprim12[ab];
401
402 cd = 0;
403 jstart = 0;
404
405 for(cd = 0; cd < Q.nshell12_clip; cd += SIMINT_NSHELL_SIMD)
406 {
407 const int nshellbatch = ((cd + SIMINT_NSHELL_SIMD) > Q.nshell12_clip) ? Q.nshell12_clip - cd : SIMINT_NSHELL_SIMD;
408 int jend = jstart;
409 for(i = 0; i < nshellbatch; i++)
410 jend += Q.nprim12[cd+i];
411
412 // Clear the beginning of the workspace (where we are accumulating integrals)
413 memset(work, 0, SIMINT_NSHELL_SIMD * 166880 * sizeof(double));
414 abcd = 0;
415
416
417 for(i = istart; i < iend; ++i)
418 {
419 SIMINT_DBLTYPE bra_screen_max; // only used if check_screen
420
421 if(check_screen)
422 {
423 // Skip this whole thing if always insignificant
424 if((P.screen[i] * Q.screen_max) < screen_tol)
425 continue;
426 bra_screen_max = SIMINT_DBLSET1(P.screen[i]);
427 }
428
429 icd = 0;
430 iprimcd = 0;
431 nprim_icd = Q.nprim12[cd];
432 double * restrict PRIM_PTR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
433 double * restrict PRIM_PTR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
434 double * restrict PRIM_PTR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
435 double * restrict PRIM_PTR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
436 double * restrict PRIM_PTR_INT__k_s_o_s = INT__k_s_o_s + abcd * 2808;
437 double * restrict PRIM_PTR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
438 double * restrict PRIM_PTR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
439 double * restrict PRIM_PTR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
440 double * restrict PRIM_PTR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
441 double * restrict PRIM_PTR_INT__l_s_o_s = INT__l_s_o_s + abcd * 3510;
442 double * restrict PRIM_PTR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
443 double * restrict PRIM_PTR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
444 double * restrict PRIM_PTR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
445 double * restrict PRIM_PTR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
446 double * restrict PRIM_PTR_INT__m_s_o_s = INT__m_s_o_s + abcd * 4290;
447 double * restrict PRIM_PTR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
448 double * restrict PRIM_PTR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
449 double * restrict PRIM_PTR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
450 double * restrict PRIM_PTR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
451 double * restrict PRIM_PTR_INT__n_s_o_s = INT__n_s_o_s + abcd * 5148;
452 double * restrict PRIM_PTR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
453 double * restrict PRIM_PTR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
454 double * restrict PRIM_PTR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
455 double * restrict PRIM_PTR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
456 double * restrict PRIM_PTR_INT__o_s_o_s = INT__o_s_o_s + abcd * 6084;
457 double * restrict PRIM_PTR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
458 double * restrict PRIM_PTR_INT__q_s_l_s = INT__q_s_l_s + abcd * 4095;
459 double * restrict PRIM_PTR_INT__q_s_m_s = INT__q_s_m_s + abcd * 5005;
460 double * restrict PRIM_PTR_INT__q_s_n_s = INT__q_s_n_s + abcd * 6006;
461 double * restrict PRIM_PTR_INT__q_s_o_s = INT__q_s_o_s + abcd * 7098;
462 double * restrict PRIM_PTR_INT__r_s_k_s = INT__r_s_k_s + abcd * 3780;
463 double * restrict PRIM_PTR_INT__r_s_l_s = INT__r_s_l_s + abcd * 4725;
464 double * restrict PRIM_PTR_INT__r_s_m_s = INT__r_s_m_s + abcd * 5775;
465 double * restrict PRIM_PTR_INT__r_s_n_s = INT__r_s_n_s + abcd * 6930;
466 double * restrict PRIM_PTR_INT__r_s_o_s = INT__r_s_o_s + abcd * 8190;
467 double * restrict PRIM_PTR_INT__t_s_k_s = INT__t_s_k_s + abcd * 4320;
468 double * restrict PRIM_PTR_INT__t_s_l_s = INT__t_s_l_s + abcd * 5400;
469 double * restrict PRIM_PTR_INT__t_s_m_s = INT__t_s_m_s + abcd * 6600;
470 double * restrict PRIM_PTR_INT__t_s_n_s = INT__t_s_n_s + abcd * 7920;
471 double * restrict PRIM_PTR_INT__t_s_o_s = INT__t_s_o_s + abcd * 9360;
472
473
474
475 // Load these one per loop over i
476 const SIMINT_DBLTYPE P_alpha = SIMINT_DBLSET1(P.alpha[i]);
477 const SIMINT_DBLTYPE P_prefac = SIMINT_DBLSET1(P.prefac[i]);
478 const SIMINT_DBLTYPE Pxyz[3] = { SIMINT_DBLSET1(P.x[i]), SIMINT_DBLSET1(P.y[i]), SIMINT_DBLSET1(P.z[i]) };
479
480 const SIMINT_DBLTYPE P_PA[3] = { SIMINT_DBLSET1(P.PA_x[i]), SIMINT_DBLSET1(P.PA_y[i]), SIMINT_DBLSET1(P.PA_z[i]) };
481
482 for(j = jstart; j < jend; j += SIMINT_SIMD_LEN)
483 {
484 // calculate the shell offsets
485 // these are the offset from the shell pointed to by cd
486 // for each element
487 int shelloffsets[SIMINT_SIMD_LEN] = {0};
488 int lastoffset = 0;
489 const int nlane = ( ((j + SIMINT_SIMD_LEN) < jend) ? SIMINT_SIMD_LEN : (jend - j));
490
491 if((iprimcd + SIMINT_SIMD_LEN) >= nprim_icd)
492 {
493 // Handle if the first element of the vector is a new shell
494 if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
495 {
496 nprim_icd += Q.nprim12[cd + (++icd)];
497 PRIM_PTR_INT__k_s_k_s += 1296;
498 PRIM_PTR_INT__k_s_l_s += 1620;
499 PRIM_PTR_INT__k_s_m_s += 1980;
500 PRIM_PTR_INT__k_s_n_s += 2376;
501 PRIM_PTR_INT__k_s_o_s += 2808;
502 PRIM_PTR_INT__l_s_k_s += 1620;
503 PRIM_PTR_INT__l_s_l_s += 2025;
504 PRIM_PTR_INT__l_s_m_s += 2475;
505 PRIM_PTR_INT__l_s_n_s += 2970;
506 PRIM_PTR_INT__l_s_o_s += 3510;
507 PRIM_PTR_INT__m_s_k_s += 1980;
508 PRIM_PTR_INT__m_s_l_s += 2475;
509 PRIM_PTR_INT__m_s_m_s += 3025;
510 PRIM_PTR_INT__m_s_n_s += 3630;
511 PRIM_PTR_INT__m_s_o_s += 4290;
512 PRIM_PTR_INT__n_s_k_s += 2376;
513 PRIM_PTR_INT__n_s_l_s += 2970;
514 PRIM_PTR_INT__n_s_m_s += 3630;
515 PRIM_PTR_INT__n_s_n_s += 4356;
516 PRIM_PTR_INT__n_s_o_s += 5148;
517 PRIM_PTR_INT__o_s_k_s += 2808;
518 PRIM_PTR_INT__o_s_l_s += 3510;
519 PRIM_PTR_INT__o_s_m_s += 4290;
520 PRIM_PTR_INT__o_s_n_s += 5148;
521 PRIM_PTR_INT__o_s_o_s += 6084;
522 PRIM_PTR_INT__q_s_k_s += 3276;
523 PRIM_PTR_INT__q_s_l_s += 4095;
524 PRIM_PTR_INT__q_s_m_s += 5005;
525 PRIM_PTR_INT__q_s_n_s += 6006;
526 PRIM_PTR_INT__q_s_o_s += 7098;
527 PRIM_PTR_INT__r_s_k_s += 3780;
528 PRIM_PTR_INT__r_s_l_s += 4725;
529 PRIM_PTR_INT__r_s_m_s += 5775;
530 PRIM_PTR_INT__r_s_n_s += 6930;
531 PRIM_PTR_INT__r_s_o_s += 8190;
532 PRIM_PTR_INT__t_s_k_s += 4320;
533 PRIM_PTR_INT__t_s_l_s += 5400;
534 PRIM_PTR_INT__t_s_m_s += 6600;
535 PRIM_PTR_INT__t_s_n_s += 7920;
536 PRIM_PTR_INT__t_s_o_s += 9360;
537 }
538 iprimcd++;
539 for(n = 1; n < SIMINT_SIMD_LEN; ++n)
540 {
541 if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
542 {
543 shelloffsets[n] = shelloffsets[n-1] + 1;
544 lastoffset++;
545 nprim_icd += Q.nprim12[cd + (++icd)];
546 }
547 else
548 shelloffsets[n] = shelloffsets[n-1];
549 iprimcd++;
550 }
551 }
552 else
553 iprimcd += SIMINT_SIMD_LEN;
554
555 // Do we have to compute this vector (or has it been screened out)?
556 // (not_screened != 0 means we have to do this vector)
557 if(check_screen)
558 {
559 const double vmax = vector_max(SIMINT_MUL(bra_screen_max, SIMINT_DBLLOAD(Q.screen, j)));
560 if(vmax < screen_tol)
561 {
562 PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
563 PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
564 PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
565 PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
566 PRIM_PTR_INT__k_s_o_s += lastoffset*2808;
567 PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
568 PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
569 PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
570 PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
571 PRIM_PTR_INT__l_s_o_s += lastoffset*3510;
572 PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
573 PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
574 PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
575 PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
576 PRIM_PTR_INT__m_s_o_s += lastoffset*4290;
577 PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
578 PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
579 PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
580 PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
581 PRIM_PTR_INT__n_s_o_s += lastoffset*5148;
582 PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
583 PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
584 PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
585 PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
586 PRIM_PTR_INT__o_s_o_s += lastoffset*6084;
587 PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
588 PRIM_PTR_INT__q_s_l_s += lastoffset*4095;
589 PRIM_PTR_INT__q_s_m_s += lastoffset*5005;
590 PRIM_PTR_INT__q_s_n_s += lastoffset*6006;
591 PRIM_PTR_INT__q_s_o_s += lastoffset*7098;
592 PRIM_PTR_INT__r_s_k_s += lastoffset*3780;
593 PRIM_PTR_INT__r_s_l_s += lastoffset*4725;
594 PRIM_PTR_INT__r_s_m_s += lastoffset*5775;
595 PRIM_PTR_INT__r_s_n_s += lastoffset*6930;
596 PRIM_PTR_INT__r_s_o_s += lastoffset*8190;
597 PRIM_PTR_INT__t_s_k_s += lastoffset*4320;
598 PRIM_PTR_INT__t_s_l_s += lastoffset*5400;
599 PRIM_PTR_INT__t_s_m_s += lastoffset*6600;
600 PRIM_PTR_INT__t_s_n_s += lastoffset*7920;
601 PRIM_PTR_INT__t_s_o_s += lastoffset*9360;
602 continue;
603 }
604 }
605
606 const SIMINT_DBLTYPE Q_alpha = SIMINT_DBLLOAD(Q.alpha, j);
607 const SIMINT_DBLTYPE PQalpha_mul = SIMINT_MUL(P_alpha, Q_alpha);
608 const SIMINT_DBLTYPE PQalpha_sum = SIMINT_ADD(P_alpha, Q_alpha);
609 const SIMINT_DBLTYPE one_over_PQalpha_sum = SIMINT_DIV(const_1, PQalpha_sum);
610
611
612 /* construct R2 = (Px - Qx)**2 + (Py - Qy)**2 + (Pz -Qz)**2 */
613 SIMINT_DBLTYPE PQ[3];
614 PQ[0] = SIMINT_SUB(Pxyz[0], SIMINT_DBLLOAD(Q.x, j));
615 PQ[1] = SIMINT_SUB(Pxyz[1], SIMINT_DBLLOAD(Q.y, j));
616 PQ[2] = SIMINT_SUB(Pxyz[2], SIMINT_DBLLOAD(Q.z, j));
617 SIMINT_DBLTYPE R2 = SIMINT_MUL(PQ[0], PQ[0]);
618 R2 = SIMINT_FMADD(PQ[1], PQ[1], R2);
619 R2 = SIMINT_FMADD(PQ[2], PQ[2], R2);
620
621 const SIMINT_DBLTYPE alpha = SIMINT_MUL(PQalpha_mul, one_over_PQalpha_sum); // alpha from MEST
622 const SIMINT_DBLTYPE one_over_p = SIMINT_DIV(const_1, P_alpha);
623 const SIMINT_DBLTYPE one_over_q = SIMINT_DIV(const_1, Q_alpha);
624 const SIMINT_DBLTYPE one_over_2p = SIMINT_MUL(one_half, one_over_p);
625 const SIMINT_DBLTYPE one_over_2q = SIMINT_MUL(one_half, one_over_q);
626 const SIMINT_DBLTYPE one_over_2pq = SIMINT_MUL(one_half, one_over_PQalpha_sum);
627 const SIMINT_DBLTYPE Q_PA[3] = { SIMINT_DBLLOAD(Q.PA_x, j), SIMINT_DBLLOAD(Q.PA_y, j), SIMINT_DBLLOAD(Q.PA_z, j) };
628
629 // NOTE: Minus sign!
630 const SIMINT_DBLTYPE a_over_p = SIMINT_MUL(SIMINT_NEG(alpha), one_over_p);
631 SIMINT_DBLTYPE aop_PQ[3];
632 aop_PQ[0] = SIMINT_MUL(a_over_p, PQ[0]);
633 aop_PQ[1] = SIMINT_MUL(a_over_p, PQ[1]);
634 aop_PQ[2] = SIMINT_MUL(a_over_p, PQ[2]);
635
636 SIMINT_DBLTYPE a_over_q = SIMINT_MUL(alpha, one_over_q);
637 SIMINT_DBLTYPE aoq_PQ[3];
638 aoq_PQ[0] = SIMINT_MUL(a_over_q, PQ[0]);
639 aoq_PQ[1] = SIMINT_MUL(a_over_q, PQ[1]);
640 aoq_PQ[2] = SIMINT_MUL(a_over_q, PQ[2]);
641 // Put a minus sign here so we don't have to in RR routines
642 a_over_q = SIMINT_NEG(a_over_q);
643
644
645 //////////////////////////////////////////////
646 // Fjt function section
647 // Maximum v value: 25
648 //////////////////////////////////////////////
649 // The parameter to the Fjt function
650 const SIMINT_DBLTYPE F_x = SIMINT_MUL(R2, alpha);
651
652
653 const SIMINT_DBLTYPE Q_prefac = mask_load(nlane, Q.prefac + j);
654
655
656 boys_F_split(PRIM_INT__s_s_s_s, F_x, 25);
657 SIMINT_DBLTYPE prefac = SIMINT_SQRT(one_over_PQalpha_sum);
658 prefac = SIMINT_MUL(SIMINT_MUL(P_prefac, Q_prefac), prefac);
659 for(n = 0; n <= 25; n++)
660 PRIM_INT__s_s_s_s[n] = SIMINT_MUL(PRIM_INT__s_s_s_s[n], prefac);
661
662 //////////////////////////////////////////////
663 // Primitive integrals: Vertical recurrance
664 //////////////////////////////////////////////
665
666 const SIMINT_DBLTYPE vrr_const_1_over_2p = one_over_2p;
667 const SIMINT_DBLTYPE vrr_const_2_over_2p = SIMINT_MUL(const_2, one_over_2p);
668 const SIMINT_DBLTYPE vrr_const_3_over_2p = SIMINT_MUL(const_3, one_over_2p);
669 const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(const_4, one_over_2p);
670 const SIMINT_DBLTYPE vrr_const_5_over_2p = SIMINT_MUL(const_5, one_over_2p);
671 const SIMINT_DBLTYPE vrr_const_6_over_2p = SIMINT_MUL(const_6, one_over_2p);
672 const SIMINT_DBLTYPE vrr_const_7_over_2p = SIMINT_MUL(const_7, one_over_2p);
673 const SIMINT_DBLTYPE vrr_const_8_over_2p = SIMINT_MUL(const_8, one_over_2p);
674 const SIMINT_DBLTYPE vrr_const_9_over_2p = SIMINT_MUL(const_9, one_over_2p);
675 const SIMINT_DBLTYPE vrr_const_10_over_2p = SIMINT_MUL(const_10, one_over_2p);
676 const SIMINT_DBLTYPE vrr_const_11_over_2p = SIMINT_MUL(const_11, one_over_2p);
677 const SIMINT_DBLTYPE vrr_const_12_over_2p = SIMINT_MUL(const_12, one_over_2p);
678 const SIMINT_DBLTYPE vrr_const_13_over_2p = SIMINT_MUL(const_13, one_over_2p);
679 const SIMINT_DBLTYPE vrr_const_1_over_2q = one_over_2q;
680 const SIMINT_DBLTYPE vrr_const_2_over_2q = SIMINT_MUL(const_2, one_over_2q);
681 const SIMINT_DBLTYPE vrr_const_3_over_2q = SIMINT_MUL(const_3, one_over_2q);
682 const SIMINT_DBLTYPE vrr_const_4_over_2q = SIMINT_MUL(const_4, one_over_2q);
683 const SIMINT_DBLTYPE vrr_const_5_over_2q = SIMINT_MUL(const_5, one_over_2q);
684 const SIMINT_DBLTYPE vrr_const_6_over_2q = SIMINT_MUL(const_6, one_over_2q);
685 const SIMINT_DBLTYPE vrr_const_7_over_2q = SIMINT_MUL(const_7, one_over_2q);
686 const SIMINT_DBLTYPE vrr_const_8_over_2q = SIMINT_MUL(const_8, one_over_2q);
687 const SIMINT_DBLTYPE vrr_const_9_over_2q = SIMINT_MUL(const_9, one_over_2q);
688 const SIMINT_DBLTYPE vrr_const_10_over_2q = SIMINT_MUL(const_10, one_over_2q);
689 const SIMINT_DBLTYPE vrr_const_1_over_2pq = one_over_2pq;
690 const SIMINT_DBLTYPE vrr_const_2_over_2pq = SIMINT_MUL(const_2, one_over_2pq);
691 const SIMINT_DBLTYPE vrr_const_3_over_2pq = SIMINT_MUL(const_3, one_over_2pq);
692 const SIMINT_DBLTYPE vrr_const_4_over_2pq = SIMINT_MUL(const_4, one_over_2pq);
693 const SIMINT_DBLTYPE vrr_const_5_over_2pq = SIMINT_MUL(const_5, one_over_2pq);
694 const SIMINT_DBLTYPE vrr_const_6_over_2pq = SIMINT_MUL(const_6, one_over_2pq);
695 const SIMINT_DBLTYPE vrr_const_7_over_2pq = SIMINT_MUL(const_7, one_over_2pq);
696 const SIMINT_DBLTYPE vrr_const_8_over_2pq = SIMINT_MUL(const_8, one_over_2pq);
697 const SIMINT_DBLTYPE vrr_const_9_over_2pq = SIMINT_MUL(const_9, one_over_2pq);
698 const SIMINT_DBLTYPE vrr_const_10_over_2pq = SIMINT_MUL(const_10, one_over_2pq);
699 const SIMINT_DBLTYPE vrr_const_11_over_2pq = SIMINT_MUL(const_11, one_over_2pq);
700 const SIMINT_DBLTYPE vrr_const_12_over_2pq = SIMINT_MUL(const_12, one_over_2pq);
701 const SIMINT_DBLTYPE vrr_const_13_over_2pq = SIMINT_MUL(const_13, one_over_2pq);
702 const SIMINT_DBLTYPE vrr_const_14_over_2pq = SIMINT_MUL(const_14, one_over_2pq);
703
704
705
706 // Forming PRIM_INT__p_s_s_s[25 * 3];
707 for(n = 0; n < 25; ++n) // loop over orders of auxiliary function
708 {
709
710 PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
711 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]);
712
713 PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
714 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]);
715
716 PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
717 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]);
718
719 }
720
721
722
723 // Forming PRIM_INT__d_s_s_s[24 * 6];
724 for(n = 0; n < 24; ++n) // loop over orders of auxiliary function
725 {
726
727 PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
728 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]);
729 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]);
730
731 PRIM_INT__d_s_s_s[n * 6 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
732 PRIM_INT__d_s_s_s[n * 6 + 1] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_s_s[n * 6 + 1]);
733
734 PRIM_INT__d_s_s_s[n * 6 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
735 PRIM_INT__d_s_s_s[n * 6 + 2] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_s_s[n * 6 + 2]);
736
737 PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
738 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]);
739 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]);
740
741 PRIM_INT__d_s_s_s[n * 6 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
742 PRIM_INT__d_s_s_s[n * 6 + 4] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_s_s[n * 6 + 4]);
743
744 PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
745 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]);
746 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]);
747
748 }
749
750
751
752 // Forming PRIM_INT__f_s_s_s[23 * 10];
753 for(n = 0; n < 23; ++n) // loop over orders of auxiliary function
754 {
755
756 PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
757 PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__f_s_s_s[n * 10 + 0]);
758 PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_FMADD( vrr_const_2_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]), PRIM_INT__f_s_s_s[n * 10 + 0]);
759
760 PRIM_INT__f_s_s_s[n * 10 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
761 PRIM_INT__f_s_s_s[n * 10 + 1] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__f_s_s_s[n * 10 + 1]);
762
763 PRIM_INT__f_s_s_s[n * 10 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
764 PRIM_INT__f_s_s_s[n * 10 + 2] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__f_s_s_s[n * 10 + 2]);
765
766 PRIM_INT__f_s_s_s[n * 10 + 3] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
767 PRIM_INT__f_s_s_s[n * 10 + 3] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__f_s_s_s[n * 10 + 3]);
768
769 PRIM_INT__f_s_s_s[n * 10 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
770 PRIM_INT__f_s_s_s[n * 10 + 4] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 1], PRIM_INT__f_s_s_s[n * 10 + 4]);
771
772 PRIM_INT__f_s_s_s[n * 10 + 5] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
773 PRIM_INT__f_s_s_s[n * 10 + 5] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__f_s_s_s[n * 10 + 5]);
774
775 PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
776 PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__f_s_s_s[n * 10 + 6]);
777 PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_FMADD( vrr_const_2_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_s_s[n * 3 + 1]), PRIM_INT__f_s_s_s[n * 10 + 6]);
778
779 PRIM_INT__f_s_s_s[n * 10 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
780 PRIM_INT__f_s_s_s[n * 10 + 7] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__f_s_s_s[n * 10 + 7]);
781
782 PRIM_INT__f_s_s_s[n * 10 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
783 PRIM_INT__f_s_s_s[n * 10 + 8] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__f_s_s_s[n * 10 + 8]);
784
785 PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
786 PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__f_s_s_s[n * 10 + 9]);
787 PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_FMADD( vrr_const_2_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_s_s[n * 3 + 2]), PRIM_INT__f_s_s_s[n * 10 + 9]);
788
789 }
790
791
792 VRR_I_g_s_s_s(
793 PRIM_INT__g_s_s_s,
794 PRIM_INT__f_s_s_s,
795 PRIM_INT__d_s_s_s,
796 P_PA,
797 a_over_p,
798 aop_PQ,
799 one_over_2p,
800 22);
801
802
803 VRR_I_h_s_s_s(
804 PRIM_INT__h_s_s_s,
805 PRIM_INT__g_s_s_s,
806 PRIM_INT__f_s_s_s,
807 P_PA,
808 a_over_p,
809 aop_PQ,
810 one_over_2p,
811 21);
812
813
814 ostei_general_vrr1_I(6, 20,
815 one_over_2p, a_over_p, aop_PQ, P_PA,
816 PRIM_INT__h_s_s_s, PRIM_INT__g_s_s_s, PRIM_INT__i_s_s_s);
817
818
819 ostei_general_vrr1_I(7, 19,
820 one_over_2p, a_over_p, aop_PQ, P_PA,
821 PRIM_INT__i_s_s_s, PRIM_INT__h_s_s_s, PRIM_INT__k_s_s_s);
822
823
824 ostei_general_vrr_K(7, 0, 1, 0, 11,
825 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
826 PRIM_INT__k_s_s_s, NULL, NULL, PRIM_INT__i_s_s_s, NULL, PRIM_INT__k_s_p_s);
827
828
829 ostei_general_vrr_K(6, 0, 1, 0, 11,
830 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
831 PRIM_INT__i_s_s_s, NULL, NULL, PRIM_INT__h_s_s_s, NULL, PRIM_INT__i_s_p_s);
832
833
834 ostei_general_vrr_K(7, 0, 2, 0, 10,
835 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
836 PRIM_INT__k_s_p_s, PRIM_INT__k_s_s_s, NULL, PRIM_INT__i_s_p_s, NULL, PRIM_INT__k_s_d_s);
837
838
839 ostei_general_vrr_K(5, 0, 1, 0, 11,
840 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
841 PRIM_INT__h_s_s_s, NULL, NULL, PRIM_INT__g_s_s_s, NULL, PRIM_INT__h_s_p_s);
842
843
844 ostei_general_vrr_K(6, 0, 2, 0, 10,
845 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
846 PRIM_INT__i_s_p_s, PRIM_INT__i_s_s_s, NULL, PRIM_INT__h_s_p_s, NULL, PRIM_INT__i_s_d_s);
847
848
849 ostei_general_vrr_K(7, 0, 3, 0, 9,
850 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
851 PRIM_INT__k_s_d_s, PRIM_INT__k_s_p_s, NULL, PRIM_INT__i_s_d_s, NULL, PRIM_INT__k_s_f_s);
852
853
854 VRR_K_g_s_p_s(
855 PRIM_INT__g_s_p_s,
856 PRIM_INT__g_s_s_s,
857 PRIM_INT__f_s_s_s,
858 Q_PA,
859 aoq_PQ,
860 one_over_2pq,
861 11);
862
863
864 ostei_general_vrr_K(5, 0, 2, 0, 10,
865 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
866 PRIM_INT__h_s_p_s, PRIM_INT__h_s_s_s, NULL, PRIM_INT__g_s_p_s, NULL, PRIM_INT__h_s_d_s);
867
868
869 ostei_general_vrr_K(6, 0, 3, 0, 9,
870 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
871 PRIM_INT__i_s_d_s, PRIM_INT__i_s_p_s, NULL, PRIM_INT__h_s_d_s, NULL, PRIM_INT__i_s_f_s);
872
873
874 ostei_general_vrr_K(7, 0, 4, 0, 8,
875 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
876 PRIM_INT__k_s_f_s, PRIM_INT__k_s_d_s, NULL, PRIM_INT__i_s_f_s, NULL, PRIM_INT__k_s_g_s);
877
878
879 VRR_K_f_s_p_s(
880 PRIM_INT__f_s_p_s,
881 PRIM_INT__f_s_s_s,
882 PRIM_INT__d_s_s_s,
883 Q_PA,
884 aoq_PQ,
885 one_over_2pq,
886 11);
887
888
889 ostei_general_vrr_K(4, 0, 2, 0, 10,
890 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
891 PRIM_INT__g_s_p_s, PRIM_INT__g_s_s_s, NULL, PRIM_INT__f_s_p_s, NULL, PRIM_INT__g_s_d_s);
892
893
894 ostei_general_vrr_K(5, 0, 3, 0, 9,
895 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
896 PRIM_INT__h_s_d_s, PRIM_INT__h_s_p_s, NULL, PRIM_INT__g_s_d_s, NULL, PRIM_INT__h_s_f_s);
897
898
899 ostei_general_vrr_K(6, 0, 4, 0, 8,
900 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
901 PRIM_INT__i_s_f_s, PRIM_INT__i_s_d_s, NULL, PRIM_INT__h_s_f_s, NULL, PRIM_INT__i_s_g_s);
902
903
904 ostei_general_vrr_K(7, 0, 5, 0, 7,
905 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
906 PRIM_INT__k_s_g_s, PRIM_INT__k_s_f_s, NULL, PRIM_INT__i_s_g_s, NULL, PRIM_INT__k_s_h_s);
907
908
909
910 // Forming PRIM_INT__d_s_p_s[11 * 18];
911 for(n = 0; n < 11; ++n) // loop over orders of auxiliary function
912 {
913
914 PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
915 PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__d_s_p_s[n * 18 + 0]);
916 PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_p_s[n * 18 + 0]);
917
918 PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
919 PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__d_s_p_s[n * 18 + 1]);
920
921 PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
922 PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 0], PRIM_INT__d_s_p_s[n * 18 + 2]);
923
924 PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 1]);
925 PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 1], PRIM_INT__d_s_p_s[n * 18 + 3]);
926 PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_p_s[n * 18 + 3]);
927
928 PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 1]);
929 PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 1], PRIM_INT__d_s_p_s[n * 18 + 4]);
930 PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_p_s[n * 18 + 4]);
931
932 PRIM_INT__d_s_p_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
933 PRIM_INT__d_s_p_s[n * 18 + 5] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 1], PRIM_INT__d_s_p_s[n * 18 + 5]);
934
935 PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 2]);
936 PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 2], PRIM_INT__d_s_p_s[n * 18 + 6]);
937 PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__d_s_p_s[n * 18 + 6]);
938
939 PRIM_INT__d_s_p_s[n * 18 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 2]);
940 PRIM_INT__d_s_p_s[n * 18 + 7] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 2], PRIM_INT__d_s_p_s[n * 18 + 7]);
941
942 PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 2]);
943 PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 2], PRIM_INT__d_s_p_s[n * 18 + 8]);
944 PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__d_s_p_s[n * 18 + 8]);
945
946 PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
947 PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__d_s_p_s[n * 18 + 9]);
948
949 PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
950 PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__d_s_p_s[n * 18 + 10]);
951 PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_p_s[n * 18 + 10]);
952
953 PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
954 PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 3], PRIM_INT__d_s_p_s[n * 18 + 11]);
955
956 PRIM_INT__d_s_p_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 4]);
957 PRIM_INT__d_s_p_s[n * 18 + 12] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 4], PRIM_INT__d_s_p_s[n * 18 + 12]);
958
959 PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 4]);
960 PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 4], PRIM_INT__d_s_p_s[n * 18 + 13]);
961 PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__d_s_p_s[n * 18 + 13]);
962
963 PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 4]);
964 PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 4], PRIM_INT__d_s_p_s[n * 18 + 14]);
965 PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__d_s_p_s[n * 18 + 14]);
966
967 PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
968 PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__d_s_p_s[n * 18 + 15]);
969
970 PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
971 PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__d_s_p_s[n * 18 + 16]);
972
973 PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
974 PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__d_s_s_s[(n+1) * 6 + 5], PRIM_INT__d_s_p_s[n * 18 + 17]);
975 PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_FMADD( vrr_const_2_over_2pq, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__d_s_p_s[n * 18 + 17]);
976
977 }
978
979
980 VRR_K_f_s_d_s(
981 PRIM_INT__f_s_d_s,
982 PRIM_INT__f_s_p_s,
983 PRIM_INT__f_s_s_s,
984 PRIM_INT__d_s_p_s,
985 Q_PA,
986 a_over_q,
987 aoq_PQ,
988 one_over_2pq,
989 one_over_2q,
990 10);
991
992
993 ostei_general_vrr_K(4, 0, 3, 0, 9,
994 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
995 PRIM_INT__g_s_d_s, PRIM_INT__g_s_p_s, NULL, PRIM_INT__f_s_d_s, NULL, PRIM_INT__g_s_f_s);
996
997
998 ostei_general_vrr_K(5, 0, 4, 0, 8,
999 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1000 PRIM_INT__h_s_f_s, PRIM_INT__h_s_d_s, NULL, PRIM_INT__g_s_f_s, NULL, PRIM_INT__h_s_g_s);
1001
1002
1003 ostei_general_vrr_K(6, 0, 5, 0, 7,
1004 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1005 PRIM_INT__i_s_g_s, PRIM_INT__i_s_f_s, NULL, PRIM_INT__h_s_g_s, NULL, PRIM_INT__i_s_h_s);
1006
1007
1008 ostei_general_vrr_K(7, 0, 6, 0, 6,
1009 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1010 PRIM_INT__k_s_h_s, PRIM_INT__k_s_g_s, NULL, PRIM_INT__i_s_h_s, NULL, PRIM_INT__k_s_i_s);
1011
1012
1013
1014 // Forming PRIM_INT__p_s_p_s[11 * 9];
1015 for(n = 0; n < 11; ++n) // loop over orders of auxiliary function
1016 {
1017
1018 PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
1019 PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 0]);
1020 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]);
1021
1022 PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
1023 PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 1]);
1024
1025 PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
1026 PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_p_s[n * 9 + 2]);
1027
1028 PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 1]);
1029 PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 3]);
1030
1031 PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
1032 PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 4]);
1033 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]);
1034
1035 PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
1036 PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_p_s[n * 9 + 5]);
1037
1038 PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 2]);
1039 PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 6]);
1040
1041 PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 2]);
1042 PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 7]);
1043
1044 PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
1045 PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1046 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]);
1047
1048 }
1049
1050
1051 VRR_K_d_s_d_s(
1052 PRIM_INT__d_s_d_s,
1053 PRIM_INT__d_s_p_s,
1054 PRIM_INT__d_s_s_s,
1055 PRIM_INT__p_s_p_s,
1056 Q_PA,
1057 a_over_q,
1058 aoq_PQ,
1059 one_over_2pq,
1060 one_over_2q,
1061 10);
1062
1063
1064 ostei_general_vrr_K(3, 0, 3, 0, 9,
1065 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1066 PRIM_INT__f_s_d_s, PRIM_INT__f_s_p_s, NULL, PRIM_INT__d_s_d_s, NULL, PRIM_INT__f_s_f_s);
1067
1068
1069 ostei_general_vrr_K(4, 0, 4, 0, 8,
1070 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1071 PRIM_INT__g_s_f_s, PRIM_INT__g_s_d_s, NULL, PRIM_INT__f_s_f_s, NULL, PRIM_INT__g_s_g_s);
1072
1073
1074 ostei_general_vrr_K(5, 0, 5, 0, 7,
1075 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1076 PRIM_INT__h_s_g_s, PRIM_INT__h_s_f_s, NULL, PRIM_INT__g_s_g_s, NULL, PRIM_INT__h_s_h_s);
1077
1078
1079 ostei_general_vrr_K(6, 0, 6, 0, 6,
1080 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1081 PRIM_INT__i_s_h_s, PRIM_INT__i_s_g_s, NULL, PRIM_INT__h_s_h_s, NULL, PRIM_INT__i_s_i_s);
1082
1083
1084 ostei_general_vrr_K(7, 0, 7, 0, 5,
1085 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1086 PRIM_INT__k_s_i_s, PRIM_INT__k_s_h_s, NULL, PRIM_INT__i_s_i_s, NULL, PRIM_INT__k_s_k_s);
1087
1088
1089
1090 // Forming PRIM_INT__s_s_p_s[11 * 3];
1091 for(n = 0; n < 11; ++n) // loop over orders of auxiliary function
1092 {
1093
1094 PRIM_INT__s_s_p_s[n * 3 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
1095 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]);
1096
1097 PRIM_INT__s_s_p_s[n * 3 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
1098 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]);
1099
1100 PRIM_INT__s_s_p_s[n * 3 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
1101 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]);
1102
1103 }
1104
1105
1106
1107 // Forming PRIM_INT__p_s_d_s[10 * 18];
1108 for(n = 0; n < 10; ++n) // loop over orders of auxiliary function
1109 {
1110
1111 PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 0]);
1112 PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 0], PRIM_INT__p_s_d_s[n * 18 + 0]);
1113 PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]), PRIM_INT__p_s_d_s[n * 18 + 0]);
1114 PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 0], PRIM_INT__p_s_d_s[n * 18 + 0]);
1115
1116 PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 1]);
1117 PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 1], PRIM_INT__p_s_d_s[n * 18 + 3]);
1118 PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]), PRIM_INT__p_s_d_s[n * 18 + 3]);
1119
1120 PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 2]);
1121 PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 2], PRIM_INT__p_s_d_s[n * 18 + 5]);
1122 PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 0], PRIM_INT__p_s_s_s[n * 3 + 0]), PRIM_INT__p_s_d_s[n * 18 + 5]);
1123
1124 PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 3]);
1125 PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 3], PRIM_INT__p_s_d_s[n * 18 + 6]);
1126 PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_s_s[n * 3 + 1]), PRIM_INT__p_s_d_s[n * 18 + 6]);
1127
1128 PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 4]);
1129 PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 4], PRIM_INT__p_s_d_s[n * 18 + 9]);
1130 PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_s_s[n * 3 + 1]), PRIM_INT__p_s_d_s[n * 18 + 9]);
1131 PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 1], PRIM_INT__p_s_d_s[n * 18 + 9]);
1132
1133 PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 5]);
1134 PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 5], PRIM_INT__p_s_d_s[n * 18 + 11]);
1135 PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 1], PRIM_INT__p_s_s_s[n * 3 + 1]), PRIM_INT__p_s_d_s[n * 18 + 11]);
1136
1137 PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 6]);
1138 PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_FMADD( aoq_PQ[0], PRIM_INT__p_s_p_s[(n+1) * 9 + 6], PRIM_INT__p_s_d_s[n * 18 + 12]);
1139 PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_s_s[n * 3 + 2]), PRIM_INT__p_s_d_s[n * 18 + 12]);
1140
1141 PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 7]);
1142 PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_FMADD( aoq_PQ[1], PRIM_INT__p_s_p_s[(n+1) * 9 + 7], PRIM_INT__p_s_d_s[n * 18 + 15]);
1143 PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_s_s[n * 3 + 2]), PRIM_INT__p_s_d_s[n * 18 + 15]);
1144
1145 PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1146 PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_FMADD( aoq_PQ[2], PRIM_INT__p_s_p_s[(n+1) * 9 + 8], PRIM_INT__p_s_d_s[n * 18 + 17]);
1147 PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_FMADD( vrr_const_1_over_2q, SIMINT_FMADD(a_over_q, PRIM_INT__p_s_s_s[(n+1) * 3 + 2], PRIM_INT__p_s_s_s[n * 3 + 2]), PRIM_INT__p_s_d_s[n * 18 + 17]);
1148 PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_FMADD( vrr_const_1_over_2pq, PRIM_INT__s_s_p_s[(n+1) * 3 + 2], PRIM_INT__p_s_d_s[n * 18 + 17]);
1149
1150 }
1151
1152
1153 VRR_K_d_s_f_s(
1154 PRIM_INT__d_s_f_s,
1155 PRIM_INT__d_s_d_s,
1156 PRIM_INT__d_s_p_s,
1157 PRIM_INT__p_s_d_s,
1158 Q_PA,
1159 a_over_q,
1160 aoq_PQ,
1161 one_over_2pq,
1162 one_over_2q,
1163 9);
1164
1165
1166 ostei_general_vrr_K(3, 0, 4, 0, 8,
1167 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1168 PRIM_INT__f_s_f_s, PRIM_INT__f_s_d_s, NULL, PRIM_INT__d_s_f_s, NULL, PRIM_INT__f_s_g_s);
1169
1170
1171 ostei_general_vrr_K(4, 0, 5, 0, 7,
1172 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1173 PRIM_INT__g_s_g_s, PRIM_INT__g_s_f_s, NULL, PRIM_INT__f_s_g_s, NULL, PRIM_INT__g_s_h_s);
1174
1175
1176 ostei_general_vrr_K(5, 0, 6, 0, 6,
1177 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1178 PRIM_INT__h_s_h_s, PRIM_INT__h_s_g_s, NULL, PRIM_INT__g_s_h_s, NULL, PRIM_INT__h_s_i_s);
1179
1180
1181 ostei_general_vrr_K(6, 0, 7, 0, 5,
1182 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1183 PRIM_INT__i_s_i_s, PRIM_INT__i_s_h_s, NULL, PRIM_INT__h_s_i_s, NULL, PRIM_INT__i_s_k_s);
1184
1185
1186 ostei_general_vrr_K(7, 0, 8, 0, 4,
1187 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1188 PRIM_INT__k_s_k_s, PRIM_INT__k_s_i_s, NULL, PRIM_INT__i_s_k_s, NULL, PRIM_INT__k_s_l_s);
1189
1190
1191 ostei_general_vrr1_I(8, 18,
1192 one_over_2p, a_over_p, aop_PQ, P_PA,
1193 PRIM_INT__k_s_s_s, PRIM_INT__i_s_s_s, PRIM_INT__l_s_s_s);
1194
1195
1196 ostei_general_vrr_K(8, 0, 1, 0, 11,
1197 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1198 PRIM_INT__l_s_s_s, NULL, NULL, PRIM_INT__k_s_s_s, NULL, PRIM_INT__l_s_p_s);
1199
1200
1201 ostei_general_vrr_K(8, 0, 2, 0, 10,
1202 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1203 PRIM_INT__l_s_p_s, PRIM_INT__l_s_s_s, NULL, PRIM_INT__k_s_p_s, NULL, PRIM_INT__l_s_d_s);
1204
1205
1206 ostei_general_vrr_K(8, 0, 3, 0, 9,
1207 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1208 PRIM_INT__l_s_d_s, PRIM_INT__l_s_p_s, NULL, PRIM_INT__k_s_d_s, NULL, PRIM_INT__l_s_f_s);
1209
1210
1211 ostei_general_vrr_K(8, 0, 4, 0, 8,
1212 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1213 PRIM_INT__l_s_f_s, PRIM_INT__l_s_d_s, NULL, PRIM_INT__k_s_f_s, NULL, PRIM_INT__l_s_g_s);
1214
1215
1216 ostei_general_vrr_K(8, 0, 5, 0, 7,
1217 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1218 PRIM_INT__l_s_g_s, PRIM_INT__l_s_f_s, NULL, PRIM_INT__k_s_g_s, NULL, PRIM_INT__l_s_h_s);
1219
1220
1221 ostei_general_vrr_K(8, 0, 6, 0, 6,
1222 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1223 PRIM_INT__l_s_h_s, PRIM_INT__l_s_g_s, NULL, PRIM_INT__k_s_h_s, NULL, PRIM_INT__l_s_i_s);
1224
1225
1226 ostei_general_vrr_K(8, 0, 7, 0, 5,
1227 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1228 PRIM_INT__l_s_i_s, PRIM_INT__l_s_h_s, NULL, PRIM_INT__k_s_i_s, NULL, PRIM_INT__l_s_k_s);
1229
1230
1231
1232 // Forming PRIM_INT__s_s_d_s[10 * 6];
1233 for(n = 0; n < 10; ++n) // loop over orders of auxiliary function
1234 {
1235
1236 PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
1237 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]);
1238 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]);
1239
1240 PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
1241 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]);
1242 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]);
1243
1244 PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
1245 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]);
1246 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]);
1247
1248 }
1249
1250
1251 VRR_K_p_s_f_s(
1252 PRIM_INT__p_s_f_s,
1253 PRIM_INT__p_s_d_s,
1254 PRIM_INT__p_s_p_s,
1255 PRIM_INT__s_s_d_s,
1256 Q_PA,
1257 a_over_q,
1258 aoq_PQ,
1259 one_over_2pq,
1260 one_over_2q,
1261 9);
1262
1263
1264 ostei_general_vrr_K(2, 0, 4, 0, 8,
1265 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1266 PRIM_INT__d_s_f_s, PRIM_INT__d_s_d_s, NULL, PRIM_INT__p_s_f_s, NULL, PRIM_INT__d_s_g_s);
1267
1268
1269 ostei_general_vrr_K(3, 0, 5, 0, 7,
1270 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1271 PRIM_INT__f_s_g_s, PRIM_INT__f_s_f_s, NULL, PRIM_INT__d_s_g_s, NULL, PRIM_INT__f_s_h_s);
1272
1273
1274 ostei_general_vrr_K(4, 0, 6, 0, 6,
1275 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1276 PRIM_INT__g_s_h_s, PRIM_INT__g_s_g_s, NULL, PRIM_INT__f_s_h_s, NULL, PRIM_INT__g_s_i_s);
1277
1278
1279 ostei_general_vrr_K(5, 0, 7, 0, 5,
1280 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1281 PRIM_INT__h_s_i_s, PRIM_INT__h_s_h_s, NULL, PRIM_INT__g_s_i_s, NULL, PRIM_INT__h_s_k_s);
1282
1283
1284 ostei_general_vrr_K(6, 0, 8, 0, 4,
1285 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1286 PRIM_INT__i_s_k_s, PRIM_INT__i_s_i_s, NULL, PRIM_INT__h_s_k_s, NULL, PRIM_INT__i_s_l_s);
1287
1288
1289 ostei_general_vrr_K(7, 0, 9, 0, 3,
1290 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1291 PRIM_INT__k_s_l_s, PRIM_INT__k_s_k_s, NULL, PRIM_INT__i_s_l_s, NULL, PRIM_INT__k_s_m_s);
1292
1293
1294 ostei_general_vrr_K(8, 0, 8, 0, 4,
1295 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1296 PRIM_INT__l_s_k_s, PRIM_INT__l_s_i_s, NULL, PRIM_INT__k_s_k_s, NULL, PRIM_INT__l_s_l_s);
1297
1298
1299 ostei_general_vrr1_I(9, 17,
1300 one_over_2p, a_over_p, aop_PQ, P_PA,
1301 PRIM_INT__l_s_s_s, PRIM_INT__k_s_s_s, PRIM_INT__m_s_s_s);
1302
1303
1304 ostei_general_vrr_K(9, 0, 1, 0, 11,
1305 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1306 PRIM_INT__m_s_s_s, NULL, NULL, PRIM_INT__l_s_s_s, NULL, PRIM_INT__m_s_p_s);
1307
1308
1309 ostei_general_vrr_K(9, 0, 2, 0, 10,
1310 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1311 PRIM_INT__m_s_p_s, PRIM_INT__m_s_s_s, NULL, PRIM_INT__l_s_p_s, NULL, PRIM_INT__m_s_d_s);
1312
1313
1314 ostei_general_vrr_K(9, 0, 3, 0, 9,
1315 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1316 PRIM_INT__m_s_d_s, PRIM_INT__m_s_p_s, NULL, PRIM_INT__l_s_d_s, NULL, PRIM_INT__m_s_f_s);
1317
1318
1319 ostei_general_vrr_K(9, 0, 4, 0, 8,
1320 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1321 PRIM_INT__m_s_f_s, PRIM_INT__m_s_d_s, NULL, PRIM_INT__l_s_f_s, NULL, PRIM_INT__m_s_g_s);
1322
1323
1324 ostei_general_vrr_K(9, 0, 5, 0, 7,
1325 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1326 PRIM_INT__m_s_g_s, PRIM_INT__m_s_f_s, NULL, PRIM_INT__l_s_g_s, NULL, PRIM_INT__m_s_h_s);
1327
1328
1329 ostei_general_vrr_K(9, 0, 6, 0, 6,
1330 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1331 PRIM_INT__m_s_h_s, PRIM_INT__m_s_g_s, NULL, PRIM_INT__l_s_h_s, NULL, PRIM_INT__m_s_i_s);
1332
1333
1334 ostei_general_vrr_K(9, 0, 7, 0, 5,
1335 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1336 PRIM_INT__m_s_i_s, PRIM_INT__m_s_h_s, NULL, PRIM_INT__l_s_i_s, NULL, PRIM_INT__m_s_k_s);
1337
1338
1339
1340 // Forming PRIM_INT__s_s_f_s[9 * 10];
1341 for(n = 0; n < 9; ++n) // loop over orders of auxiliary function
1342 {
1343
1344 PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
1345 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]);
1346 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]);
1347
1348 PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
1349 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]);
1350 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]);
1351
1352 PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
1353 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]);
1354 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]);
1355
1356 }
1357
1358
1359 VRR_K_p_s_g_s(
1360 PRIM_INT__p_s_g_s,
1361 PRIM_INT__p_s_f_s,
1362 PRIM_INT__p_s_d_s,
1363 PRIM_INT__s_s_f_s,
1364 Q_PA,
1365 a_over_q,
1366 aoq_PQ,
1367 one_over_2pq,
1368 one_over_2q,
1369 8);
1370
1371
1372 ostei_general_vrr_K(2, 0, 5, 0, 7,
1373 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1374 PRIM_INT__d_s_g_s, PRIM_INT__d_s_f_s, NULL, PRIM_INT__p_s_g_s, NULL, PRIM_INT__d_s_h_s);
1375
1376
1377 ostei_general_vrr_K(3, 0, 6, 0, 6,
1378 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1379 PRIM_INT__f_s_h_s, PRIM_INT__f_s_g_s, NULL, PRIM_INT__d_s_h_s, NULL, PRIM_INT__f_s_i_s);
1380
1381
1382 ostei_general_vrr_K(4, 0, 7, 0, 5,
1383 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1384 PRIM_INT__g_s_i_s, PRIM_INT__g_s_h_s, NULL, PRIM_INT__f_s_i_s, NULL, PRIM_INT__g_s_k_s);
1385
1386
1387 ostei_general_vrr_K(5, 0, 8, 0, 4,
1388 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1389 PRIM_INT__h_s_k_s, PRIM_INT__h_s_i_s, NULL, PRIM_INT__g_s_k_s, NULL, PRIM_INT__h_s_l_s);
1390
1391
1392 ostei_general_vrr_K(6, 0, 9, 0, 3,
1393 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1394 PRIM_INT__i_s_l_s, PRIM_INT__i_s_k_s, NULL, PRIM_INT__h_s_l_s, NULL, PRIM_INT__i_s_m_s);
1395
1396
1397 ostei_general_vrr_K(7, 0, 10, 0, 2,
1398 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1399 PRIM_INT__k_s_m_s, PRIM_INT__k_s_l_s, NULL, PRIM_INT__i_s_m_s, NULL, PRIM_INT__k_s_n_s);
1400
1401
1402 ostei_general_vrr_K(8, 0, 9, 0, 3,
1403 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1404 PRIM_INT__l_s_l_s, PRIM_INT__l_s_k_s, NULL, PRIM_INT__k_s_l_s, NULL, PRIM_INT__l_s_m_s);
1405
1406
1407 ostei_general_vrr_K(9, 0, 8, 0, 4,
1408 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1409 PRIM_INT__m_s_k_s, PRIM_INT__m_s_i_s, NULL, PRIM_INT__l_s_k_s, NULL, PRIM_INT__m_s_l_s);
1410
1411
1412 ostei_general_vrr1_I(10, 16,
1413 one_over_2p, a_over_p, aop_PQ, P_PA,
1414 PRIM_INT__m_s_s_s, PRIM_INT__l_s_s_s, PRIM_INT__n_s_s_s);
1415
1416
1417 ostei_general_vrr_K(10, 0, 1, 0, 11,
1418 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1419 PRIM_INT__n_s_s_s, NULL, NULL, PRIM_INT__m_s_s_s, NULL, PRIM_INT__n_s_p_s);
1420
1421
1422 ostei_general_vrr_K(10, 0, 2, 0, 10,
1423 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1424 PRIM_INT__n_s_p_s, PRIM_INT__n_s_s_s, NULL, PRIM_INT__m_s_p_s, NULL, PRIM_INT__n_s_d_s);
1425
1426
1427 ostei_general_vrr_K(10, 0, 3, 0, 9,
1428 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1429 PRIM_INT__n_s_d_s, PRIM_INT__n_s_p_s, NULL, PRIM_INT__m_s_d_s, NULL, PRIM_INT__n_s_f_s);
1430
1431
1432 ostei_general_vrr_K(10, 0, 4, 0, 8,
1433 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1434 PRIM_INT__n_s_f_s, PRIM_INT__n_s_d_s, NULL, PRIM_INT__m_s_f_s, NULL, PRIM_INT__n_s_g_s);
1435
1436
1437 ostei_general_vrr_K(10, 0, 5, 0, 7,
1438 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1439 PRIM_INT__n_s_g_s, PRIM_INT__n_s_f_s, NULL, PRIM_INT__m_s_g_s, NULL, PRIM_INT__n_s_h_s);
1440
1441
1442 ostei_general_vrr_K(10, 0, 6, 0, 6,
1443 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1444 PRIM_INT__n_s_h_s, PRIM_INT__n_s_g_s, NULL, PRIM_INT__m_s_h_s, NULL, PRIM_INT__n_s_i_s);
1445
1446
1447 ostei_general_vrr_K(10, 0, 7, 0, 5,
1448 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1449 PRIM_INT__n_s_i_s, PRIM_INT__n_s_h_s, NULL, PRIM_INT__m_s_i_s, NULL, PRIM_INT__n_s_k_s);
1450
1451
1452 VRR_K_s_s_g_s(
1453 PRIM_INT__s_s_g_s,
1454 PRIM_INT__s_s_f_s,
1455 PRIM_INT__s_s_d_s,
1456 Q_PA,
1457 a_over_q,
1458 aoq_PQ,
1459 one_over_2q,
1460 8);
1461
1462
1463 ostei_general_vrr_K(1, 0, 5, 0, 7,
1464 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1465 PRIM_INT__p_s_g_s, PRIM_INT__p_s_f_s, NULL, PRIM_INT__s_s_g_s, NULL, PRIM_INT__p_s_h_s);
1466
1467
1468 ostei_general_vrr_K(2, 0, 6, 0, 6,
1469 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1470 PRIM_INT__d_s_h_s, PRIM_INT__d_s_g_s, NULL, PRIM_INT__p_s_h_s, NULL, PRIM_INT__d_s_i_s);
1471
1472
1473 ostei_general_vrr_K(3, 0, 7, 0, 5,
1474 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1475 PRIM_INT__f_s_i_s, PRIM_INT__f_s_h_s, NULL, PRIM_INT__d_s_i_s, NULL, PRIM_INT__f_s_k_s);
1476
1477
1478 ostei_general_vrr_K(4, 0, 8, 0, 4,
1479 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1480 PRIM_INT__g_s_k_s, PRIM_INT__g_s_i_s, NULL, PRIM_INT__f_s_k_s, NULL, PRIM_INT__g_s_l_s);
1481
1482
1483 ostei_general_vrr_K(5, 0, 9, 0, 3,
1484 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1485 PRIM_INT__h_s_l_s, PRIM_INT__h_s_k_s, NULL, PRIM_INT__g_s_l_s, NULL, PRIM_INT__h_s_m_s);
1486
1487
1488 ostei_general_vrr_K(6, 0, 10, 0, 2,
1489 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1490 PRIM_INT__i_s_m_s, PRIM_INT__i_s_l_s, NULL, PRIM_INT__h_s_m_s, NULL, PRIM_INT__i_s_n_s);
1491
1492
1493 ostei_general_vrr_K(7, 0, 11, 0, 1,
1494 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1495 PRIM_INT__k_s_n_s, PRIM_INT__k_s_m_s, NULL, PRIM_INT__i_s_n_s, NULL, PRIM_INT__k_s_o_s);
1496
1497
1498 ostei_general_vrr_K(8, 0, 10, 0, 2,
1499 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1500 PRIM_INT__l_s_m_s, PRIM_INT__l_s_l_s, NULL, PRIM_INT__k_s_m_s, NULL, PRIM_INT__l_s_n_s);
1501
1502
1503 ostei_general_vrr_K(9, 0, 9, 0, 3,
1504 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1505 PRIM_INT__m_s_l_s, PRIM_INT__m_s_k_s, NULL, PRIM_INT__l_s_l_s, NULL, PRIM_INT__m_s_m_s);
1506
1507
1508 ostei_general_vrr_K(10, 0, 8, 0, 4,
1509 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1510 PRIM_INT__n_s_k_s, PRIM_INT__n_s_i_s, NULL, PRIM_INT__m_s_k_s, NULL, PRIM_INT__n_s_l_s);
1511
1512
1513 ostei_general_vrr1_I(11, 15,
1514 one_over_2p, a_over_p, aop_PQ, P_PA,
1515 PRIM_INT__n_s_s_s, PRIM_INT__m_s_s_s, PRIM_INT__o_s_s_s);
1516
1517
1518 ostei_general_vrr_K(11, 0, 1, 0, 11,
1519 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1520 PRIM_INT__o_s_s_s, NULL, NULL, PRIM_INT__n_s_s_s, NULL, PRIM_INT__o_s_p_s);
1521
1522
1523 ostei_general_vrr_K(11, 0, 2, 0, 10,
1524 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1525 PRIM_INT__o_s_p_s, PRIM_INT__o_s_s_s, NULL, PRIM_INT__n_s_p_s, NULL, PRIM_INT__o_s_d_s);
1526
1527
1528 ostei_general_vrr_K(11, 0, 3, 0, 9,
1529 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1530 PRIM_INT__o_s_d_s, PRIM_INT__o_s_p_s, NULL, PRIM_INT__n_s_d_s, NULL, PRIM_INT__o_s_f_s);
1531
1532
1533 ostei_general_vrr_K(11, 0, 4, 0, 8,
1534 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1535 PRIM_INT__o_s_f_s, PRIM_INT__o_s_d_s, NULL, PRIM_INT__n_s_f_s, NULL, PRIM_INT__o_s_g_s);
1536
1537
1538 ostei_general_vrr_K(11, 0, 5, 0, 7,
1539 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1540 PRIM_INT__o_s_g_s, PRIM_INT__o_s_f_s, NULL, PRIM_INT__n_s_g_s, NULL, PRIM_INT__o_s_h_s);
1541
1542
1543 ostei_general_vrr_K(11, 0, 6, 0, 6,
1544 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1545 PRIM_INT__o_s_h_s, PRIM_INT__o_s_g_s, NULL, PRIM_INT__n_s_h_s, NULL, PRIM_INT__o_s_i_s);
1546
1547
1548 ostei_general_vrr_K(11, 0, 7, 0, 5,
1549 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1550 PRIM_INT__o_s_i_s, PRIM_INT__o_s_h_s, NULL, PRIM_INT__n_s_i_s, NULL, PRIM_INT__o_s_k_s);
1551
1552
1553 ostei_general_vrr_K(8, 0, 11, 0, 1,
1554 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1555 PRIM_INT__l_s_n_s, PRIM_INT__l_s_m_s, NULL, PRIM_INT__k_s_n_s, NULL, PRIM_INT__l_s_o_s);
1556
1557
1558 ostei_general_vrr_K(9, 0, 10, 0, 2,
1559 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1560 PRIM_INT__m_s_m_s, PRIM_INT__m_s_l_s, NULL, PRIM_INT__l_s_m_s, NULL, PRIM_INT__m_s_n_s);
1561
1562
1563 ostei_general_vrr_K(10, 0, 9, 0, 3,
1564 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1565 PRIM_INT__n_s_l_s, PRIM_INT__n_s_k_s, NULL, PRIM_INT__m_s_l_s, NULL, PRIM_INT__n_s_m_s);
1566
1567
1568 ostei_general_vrr_K(11, 0, 8, 0, 4,
1569 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1570 PRIM_INT__o_s_k_s, PRIM_INT__o_s_i_s, NULL, PRIM_INT__n_s_k_s, NULL, PRIM_INT__o_s_l_s);
1571
1572
1573 ostei_general_vrr1_I(12, 14,
1574 one_over_2p, a_over_p, aop_PQ, P_PA,
1575 PRIM_INT__o_s_s_s, PRIM_INT__n_s_s_s, PRIM_INT__q_s_s_s);
1576
1577
1578 ostei_general_vrr_K(12, 0, 1, 0, 11,
1579 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1580 PRIM_INT__q_s_s_s, NULL, NULL, PRIM_INT__o_s_s_s, NULL, PRIM_INT__q_s_p_s);
1581
1582
1583 ostei_general_vrr_K(12, 0, 2, 0, 10,
1584 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1585 PRIM_INT__q_s_p_s, PRIM_INT__q_s_s_s, NULL, PRIM_INT__o_s_p_s, NULL, PRIM_INT__q_s_d_s);
1586
1587
1588 ostei_general_vrr_K(12, 0, 3, 0, 9,
1589 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1590 PRIM_INT__q_s_d_s, PRIM_INT__q_s_p_s, NULL, PRIM_INT__o_s_d_s, NULL, PRIM_INT__q_s_f_s);
1591
1592
1593 ostei_general_vrr_K(12, 0, 4, 0, 8,
1594 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1595 PRIM_INT__q_s_f_s, PRIM_INT__q_s_d_s, NULL, PRIM_INT__o_s_f_s, NULL, PRIM_INT__q_s_g_s);
1596
1597
1598 ostei_general_vrr_K(12, 0, 5, 0, 7,
1599 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1600 PRIM_INT__q_s_g_s, PRIM_INT__q_s_f_s, NULL, PRIM_INT__o_s_g_s, NULL, PRIM_INT__q_s_h_s);
1601
1602
1603 ostei_general_vrr_K(12, 0, 6, 0, 6,
1604 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1605 PRIM_INT__q_s_h_s, PRIM_INT__q_s_g_s, NULL, PRIM_INT__o_s_h_s, NULL, PRIM_INT__q_s_i_s);
1606
1607
1608 ostei_general_vrr_K(12, 0, 7, 0, 5,
1609 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1610 PRIM_INT__q_s_i_s, PRIM_INT__q_s_h_s, NULL, PRIM_INT__o_s_i_s, NULL, PRIM_INT__q_s_k_s);
1611
1612
1613 ostei_general_vrr_K(9, 0, 11, 0, 1,
1614 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1615 PRIM_INT__m_s_n_s, PRIM_INT__m_s_m_s, NULL, PRIM_INT__l_s_n_s, NULL, PRIM_INT__m_s_o_s);
1616
1617
1618 ostei_general_vrr_K(10, 0, 10, 0, 2,
1619 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1620 PRIM_INT__n_s_m_s, PRIM_INT__n_s_l_s, NULL, PRIM_INT__m_s_m_s, NULL, PRIM_INT__n_s_n_s);
1621
1622
1623 ostei_general_vrr_K(11, 0, 9, 0, 3,
1624 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1625 PRIM_INT__o_s_l_s, PRIM_INT__o_s_k_s, NULL, PRIM_INT__n_s_l_s, NULL, PRIM_INT__o_s_m_s);
1626
1627
1628 ostei_general_vrr_K(12, 0, 8, 0, 4,
1629 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1630 PRIM_INT__q_s_k_s, PRIM_INT__q_s_i_s, NULL, PRIM_INT__o_s_k_s, NULL, PRIM_INT__q_s_l_s);
1631
1632
1633 ostei_general_vrr1_I(13, 13,
1634 one_over_2p, a_over_p, aop_PQ, P_PA,
1635 PRIM_INT__q_s_s_s, PRIM_INT__o_s_s_s, PRIM_INT__r_s_s_s);
1636
1637
1638 ostei_general_vrr_K(13, 0, 1, 0, 11,
1639 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1640 PRIM_INT__r_s_s_s, NULL, NULL, PRIM_INT__q_s_s_s, NULL, PRIM_INT__r_s_p_s);
1641
1642
1643 ostei_general_vrr_K(13, 0, 2, 0, 10,
1644 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1645 PRIM_INT__r_s_p_s, PRIM_INT__r_s_s_s, NULL, PRIM_INT__q_s_p_s, NULL, PRIM_INT__r_s_d_s);
1646
1647
1648 ostei_general_vrr_K(13, 0, 3, 0, 9,
1649 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1650 PRIM_INT__r_s_d_s, PRIM_INT__r_s_p_s, NULL, PRIM_INT__q_s_d_s, NULL, PRIM_INT__r_s_f_s);
1651
1652
1653 ostei_general_vrr_K(13, 0, 4, 0, 8,
1654 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1655 PRIM_INT__r_s_f_s, PRIM_INT__r_s_d_s, NULL, PRIM_INT__q_s_f_s, NULL, PRIM_INT__r_s_g_s);
1656
1657
1658 ostei_general_vrr_K(13, 0, 5, 0, 7,
1659 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1660 PRIM_INT__r_s_g_s, PRIM_INT__r_s_f_s, NULL, PRIM_INT__q_s_g_s, NULL, PRIM_INT__r_s_h_s);
1661
1662
1663 ostei_general_vrr_K(13, 0, 6, 0, 6,
1664 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1665 PRIM_INT__r_s_h_s, PRIM_INT__r_s_g_s, NULL, PRIM_INT__q_s_h_s, NULL, PRIM_INT__r_s_i_s);
1666
1667
1668 ostei_general_vrr_K(13, 0, 7, 0, 5,
1669 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1670 PRIM_INT__r_s_i_s, PRIM_INT__r_s_h_s, NULL, PRIM_INT__q_s_i_s, NULL, PRIM_INT__r_s_k_s);
1671
1672
1673 ostei_general_vrr_K(10, 0, 11, 0, 1,
1674 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1675 PRIM_INT__n_s_n_s, PRIM_INT__n_s_m_s, NULL, PRIM_INT__m_s_n_s, NULL, PRIM_INT__n_s_o_s);
1676
1677
1678 ostei_general_vrr_K(11, 0, 10, 0, 2,
1679 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1680 PRIM_INT__o_s_m_s, PRIM_INT__o_s_l_s, NULL, PRIM_INT__n_s_m_s, NULL, PRIM_INT__o_s_n_s);
1681
1682
1683 ostei_general_vrr_K(12, 0, 9, 0, 3,
1684 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1685 PRIM_INT__q_s_l_s, PRIM_INT__q_s_k_s, NULL, PRIM_INT__o_s_l_s, NULL, PRIM_INT__q_s_m_s);
1686
1687
1688 ostei_general_vrr_K(13, 0, 8, 0, 4,
1689 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1690 PRIM_INT__r_s_k_s, PRIM_INT__r_s_i_s, NULL, PRIM_INT__q_s_k_s, NULL, PRIM_INT__r_s_l_s);
1691
1692
1693 ostei_general_vrr1_I(14, 12,
1694 one_over_2p, a_over_p, aop_PQ, P_PA,
1695 PRIM_INT__r_s_s_s, PRIM_INT__q_s_s_s, PRIM_INT__t_s_s_s);
1696
1697
1698 ostei_general_vrr_K(14, 0, 1, 0, 11,
1699 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1700 PRIM_INT__t_s_s_s, NULL, NULL, PRIM_INT__r_s_s_s, NULL, PRIM_INT__t_s_p_s);
1701
1702
1703 ostei_general_vrr_K(14, 0, 2, 0, 10,
1704 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1705 PRIM_INT__t_s_p_s, PRIM_INT__t_s_s_s, NULL, PRIM_INT__r_s_p_s, NULL, PRIM_INT__t_s_d_s);
1706
1707
1708 ostei_general_vrr_K(14, 0, 3, 0, 9,
1709 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1710 PRIM_INT__t_s_d_s, PRIM_INT__t_s_p_s, NULL, PRIM_INT__r_s_d_s, NULL, PRIM_INT__t_s_f_s);
1711
1712
1713 ostei_general_vrr_K(14, 0, 4, 0, 8,
1714 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1715 PRIM_INT__t_s_f_s, PRIM_INT__t_s_d_s, NULL, PRIM_INT__r_s_f_s, NULL, PRIM_INT__t_s_g_s);
1716
1717
1718 ostei_general_vrr_K(14, 0, 5, 0, 7,
1719 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1720 PRIM_INT__t_s_g_s, PRIM_INT__t_s_f_s, NULL, PRIM_INT__r_s_g_s, NULL, PRIM_INT__t_s_h_s);
1721
1722
1723 ostei_general_vrr_K(14, 0, 6, 0, 6,
1724 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1725 PRIM_INT__t_s_h_s, PRIM_INT__t_s_g_s, NULL, PRIM_INT__r_s_h_s, NULL, PRIM_INT__t_s_i_s);
1726
1727
1728 ostei_general_vrr_K(14, 0, 7, 0, 5,
1729 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1730 PRIM_INT__t_s_i_s, PRIM_INT__t_s_h_s, NULL, PRIM_INT__r_s_i_s, NULL, PRIM_INT__t_s_k_s);
1731
1732
1733 ostei_general_vrr_K(11, 0, 11, 0, 1,
1734 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1735 PRIM_INT__o_s_n_s, PRIM_INT__o_s_m_s, NULL, PRIM_INT__n_s_n_s, NULL, PRIM_INT__o_s_o_s);
1736
1737
1738 ostei_general_vrr_K(12, 0, 10, 0, 2,
1739 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1740 PRIM_INT__q_s_m_s, PRIM_INT__q_s_l_s, NULL, PRIM_INT__o_s_m_s, NULL, PRIM_INT__q_s_n_s);
1741
1742
1743 ostei_general_vrr_K(13, 0, 9, 0, 3,
1744 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1745 PRIM_INT__r_s_l_s, PRIM_INT__r_s_k_s, NULL, PRIM_INT__q_s_l_s, NULL, PRIM_INT__r_s_m_s);
1746
1747
1748 ostei_general_vrr_K(14, 0, 8, 0, 4,
1749 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1750 PRIM_INT__t_s_k_s, PRIM_INT__t_s_i_s, NULL, PRIM_INT__r_s_k_s, NULL, PRIM_INT__t_s_l_s);
1751
1752
1753 ostei_general_vrr_K(12, 0, 11, 0, 1,
1754 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1755 PRIM_INT__q_s_n_s, PRIM_INT__q_s_m_s, NULL, PRIM_INT__o_s_n_s, NULL, PRIM_INT__q_s_o_s);
1756
1757
1758 ostei_general_vrr_K(13, 0, 10, 0, 2,
1759 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1760 PRIM_INT__r_s_m_s, PRIM_INT__r_s_l_s, NULL, PRIM_INT__q_s_m_s, NULL, PRIM_INT__r_s_n_s);
1761
1762
1763 ostei_general_vrr_K(14, 0, 9, 0, 3,
1764 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1765 PRIM_INT__t_s_l_s, PRIM_INT__t_s_k_s, NULL, PRIM_INT__r_s_l_s, NULL, PRIM_INT__t_s_m_s);
1766
1767
1768 ostei_general_vrr_K(13, 0, 11, 0, 1,
1769 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1770 PRIM_INT__r_s_n_s, PRIM_INT__r_s_m_s, NULL, PRIM_INT__q_s_n_s, NULL, PRIM_INT__r_s_o_s);
1771
1772
1773 ostei_general_vrr_K(14, 0, 10, 0, 2,
1774 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1775 PRIM_INT__t_s_m_s, PRIM_INT__t_s_l_s, NULL, PRIM_INT__r_s_m_s, NULL, PRIM_INT__t_s_n_s);
1776
1777
1778 ostei_general_vrr_K(14, 0, 11, 0, 1,
1779 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1780 PRIM_INT__t_s_n_s, PRIM_INT__t_s_m_s, NULL, PRIM_INT__r_s_n_s, NULL, PRIM_INT__t_s_o_s);
1781
1782
1783
1784
1785 ////////////////////////////////////
1786 // Accumulate contracted integrals
1787 ////////////////////////////////////
1788 if(lastoffset == 0)
1789 {
1790 contract_all(1296, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1791 contract_all(1620, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1792 contract_all(1980, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1793 contract_all(2376, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1794 contract_all(2808, PRIM_INT__k_s_o_s, PRIM_PTR_INT__k_s_o_s);
1795 contract_all(1620, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1796 contract_all(2025, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1797 contract_all(2475, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1798 contract_all(2970, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1799 contract_all(3510, PRIM_INT__l_s_o_s, PRIM_PTR_INT__l_s_o_s);
1800 contract_all(1980, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1801 contract_all(2475, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1802 contract_all(3025, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1803 contract_all(3630, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1804 contract_all(4290, PRIM_INT__m_s_o_s, PRIM_PTR_INT__m_s_o_s);
1805 contract_all(2376, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1806 contract_all(2970, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1807 contract_all(3630, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1808 contract_all(4356, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1809 contract_all(5148, PRIM_INT__n_s_o_s, PRIM_PTR_INT__n_s_o_s);
1810 contract_all(2808, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1811 contract_all(3510, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1812 contract_all(4290, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1813 contract_all(5148, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1814 contract_all(6084, PRIM_INT__o_s_o_s, PRIM_PTR_INT__o_s_o_s);
1815 contract_all(3276, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1816 contract_all(4095, PRIM_INT__q_s_l_s, PRIM_PTR_INT__q_s_l_s);
1817 contract_all(5005, PRIM_INT__q_s_m_s, PRIM_PTR_INT__q_s_m_s);
1818 contract_all(6006, PRIM_INT__q_s_n_s, PRIM_PTR_INT__q_s_n_s);
1819 contract_all(7098, PRIM_INT__q_s_o_s, PRIM_PTR_INT__q_s_o_s);
1820 contract_all(3780, PRIM_INT__r_s_k_s, PRIM_PTR_INT__r_s_k_s);
1821 contract_all(4725, PRIM_INT__r_s_l_s, PRIM_PTR_INT__r_s_l_s);
1822 contract_all(5775, PRIM_INT__r_s_m_s, PRIM_PTR_INT__r_s_m_s);
1823 contract_all(6930, PRIM_INT__r_s_n_s, PRIM_PTR_INT__r_s_n_s);
1824 contract_all(8190, PRIM_INT__r_s_o_s, PRIM_PTR_INT__r_s_o_s);
1825 contract_all(4320, PRIM_INT__t_s_k_s, PRIM_PTR_INT__t_s_k_s);
1826 contract_all(5400, PRIM_INT__t_s_l_s, PRIM_PTR_INT__t_s_l_s);
1827 contract_all(6600, PRIM_INT__t_s_m_s, PRIM_PTR_INT__t_s_m_s);
1828 contract_all(7920, PRIM_INT__t_s_n_s, PRIM_PTR_INT__t_s_n_s);
1829 contract_all(9360, PRIM_INT__t_s_o_s, PRIM_PTR_INT__t_s_o_s);
1830 }
1831 else
1832 {
1833 contract(1296, shelloffsets, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1834 contract(1620, shelloffsets, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1835 contract(1980, shelloffsets, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1836 contract(2376, shelloffsets, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1837 contract(2808, shelloffsets, PRIM_INT__k_s_o_s, PRIM_PTR_INT__k_s_o_s);
1838 contract(1620, shelloffsets, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1839 contract(2025, shelloffsets, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1840 contract(2475, shelloffsets, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1841 contract(2970, shelloffsets, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1842 contract(3510, shelloffsets, PRIM_INT__l_s_o_s, PRIM_PTR_INT__l_s_o_s);
1843 contract(1980, shelloffsets, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1844 contract(2475, shelloffsets, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1845 contract(3025, shelloffsets, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1846 contract(3630, shelloffsets, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1847 contract(4290, shelloffsets, PRIM_INT__m_s_o_s, PRIM_PTR_INT__m_s_o_s);
1848 contract(2376, shelloffsets, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1849 contract(2970, shelloffsets, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1850 contract(3630, shelloffsets, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1851 contract(4356, shelloffsets, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1852 contract(5148, shelloffsets, PRIM_INT__n_s_o_s, PRIM_PTR_INT__n_s_o_s);
1853 contract(2808, shelloffsets, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1854 contract(3510, shelloffsets, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1855 contract(4290, shelloffsets, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1856 contract(5148, shelloffsets, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1857 contract(6084, shelloffsets, PRIM_INT__o_s_o_s, PRIM_PTR_INT__o_s_o_s);
1858 contract(3276, shelloffsets, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1859 contract(4095, shelloffsets, PRIM_INT__q_s_l_s, PRIM_PTR_INT__q_s_l_s);
1860 contract(5005, shelloffsets, PRIM_INT__q_s_m_s, PRIM_PTR_INT__q_s_m_s);
1861 contract(6006, shelloffsets, PRIM_INT__q_s_n_s, PRIM_PTR_INT__q_s_n_s);
1862 contract(7098, shelloffsets, PRIM_INT__q_s_o_s, PRIM_PTR_INT__q_s_o_s);
1863 contract(3780, shelloffsets, PRIM_INT__r_s_k_s, PRIM_PTR_INT__r_s_k_s);
1864 contract(4725, shelloffsets, PRIM_INT__r_s_l_s, PRIM_PTR_INT__r_s_l_s);
1865 contract(5775, shelloffsets, PRIM_INT__r_s_m_s, PRIM_PTR_INT__r_s_m_s);
1866 contract(6930, shelloffsets, PRIM_INT__r_s_n_s, PRIM_PTR_INT__r_s_n_s);
1867 contract(8190, shelloffsets, PRIM_INT__r_s_o_s, PRIM_PTR_INT__r_s_o_s);
1868 contract(4320, shelloffsets, PRIM_INT__t_s_k_s, PRIM_PTR_INT__t_s_k_s);
1869 contract(5400, shelloffsets, PRIM_INT__t_s_l_s, PRIM_PTR_INT__t_s_l_s);
1870 contract(6600, shelloffsets, PRIM_INT__t_s_m_s, PRIM_PTR_INT__t_s_m_s);
1871 contract(7920, shelloffsets, PRIM_INT__t_s_n_s, PRIM_PTR_INT__t_s_n_s);
1872 contract(9360, shelloffsets, PRIM_INT__t_s_o_s, PRIM_PTR_INT__t_s_o_s);
1873 PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
1874 PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
1875 PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
1876 PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
1877 PRIM_PTR_INT__k_s_o_s += lastoffset*2808;
1878 PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
1879 PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
1880 PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
1881 PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
1882 PRIM_PTR_INT__l_s_o_s += lastoffset*3510;
1883 PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
1884 PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
1885 PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
1886 PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
1887 PRIM_PTR_INT__m_s_o_s += lastoffset*4290;
1888 PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
1889 PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
1890 PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
1891 PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
1892 PRIM_PTR_INT__n_s_o_s += lastoffset*5148;
1893 PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
1894 PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
1895 PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
1896 PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
1897 PRIM_PTR_INT__o_s_o_s += lastoffset*6084;
1898 PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
1899 PRIM_PTR_INT__q_s_l_s += lastoffset*4095;
1900 PRIM_PTR_INT__q_s_m_s += lastoffset*5005;
1901 PRIM_PTR_INT__q_s_n_s += lastoffset*6006;
1902 PRIM_PTR_INT__q_s_o_s += lastoffset*7098;
1903 PRIM_PTR_INT__r_s_k_s += lastoffset*3780;
1904 PRIM_PTR_INT__r_s_l_s += lastoffset*4725;
1905 PRIM_PTR_INT__r_s_m_s += lastoffset*5775;
1906 PRIM_PTR_INT__r_s_n_s += lastoffset*6930;
1907 PRIM_PTR_INT__r_s_o_s += lastoffset*8190;
1908 PRIM_PTR_INT__t_s_k_s += lastoffset*4320;
1909 PRIM_PTR_INT__t_s_l_s += lastoffset*5400;
1910 PRIM_PTR_INT__t_s_m_s += lastoffset*6600;
1911 PRIM_PTR_INT__t_s_n_s += lastoffset*7920;
1912 PRIM_PTR_INT__t_s_o_s += lastoffset*9360;
1913 }
1914
1915 } // close loop over j
1916 } // close loop over i
1917
1918 //Advance to the next batch
1919 jstart = SIMINT_SIMD_ROUND(jend);
1920
1921 //////////////////////////////////////////////
1922 // Contracted integrals: Horizontal recurrance
1923 //////////////////////////////////////////////
1924
1925
1926 const double hAB[3] = { P.AB_x[ab], P.AB_y[ab], P.AB_z[ab] };
1927
1928
1929 for(abcd = 0; abcd < nshellbatch; ++abcd, ++real_abcd)
1930 {
1931 const double hCD[3] = { Q.AB_x[cd+abcd], Q.AB_y[cd+abcd], Q.AB_z[cd+abcd] };
1932
1933 // set up HRR pointers
1934 double const * restrict HRR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
1935 double const * restrict HRR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
1936 double const * restrict HRR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
1937 double const * restrict HRR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
1938 double const * restrict HRR_INT__k_s_o_s = INT__k_s_o_s + abcd * 2808;
1939 double const * restrict HRR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
1940 double const * restrict HRR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
1941 double const * restrict HRR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
1942 double const * restrict HRR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
1943 double const * restrict HRR_INT__l_s_o_s = INT__l_s_o_s + abcd * 3510;
1944 double const * restrict HRR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
1945 double const * restrict HRR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
1946 double const * restrict HRR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
1947 double const * restrict HRR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
1948 double const * restrict HRR_INT__m_s_o_s = INT__m_s_o_s + abcd * 4290;
1949 double const * restrict HRR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
1950 double const * restrict HRR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
1951 double const * restrict HRR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
1952 double const * restrict HRR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
1953 double const * restrict HRR_INT__n_s_o_s = INT__n_s_o_s + abcd * 5148;
1954 double const * restrict HRR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
1955 double const * restrict HRR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
1956 double const * restrict HRR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
1957 double const * restrict HRR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
1958 double const * restrict HRR_INT__o_s_o_s = INT__o_s_o_s + abcd * 6084;
1959 double const * restrict HRR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
1960 double const * restrict HRR_INT__q_s_l_s = INT__q_s_l_s + abcd * 4095;
1961 double const * restrict HRR_INT__q_s_m_s = INT__q_s_m_s + abcd * 5005;
1962 double const * restrict HRR_INT__q_s_n_s = INT__q_s_n_s + abcd * 6006;
1963 double const * restrict HRR_INT__q_s_o_s = INT__q_s_o_s + abcd * 7098;
1964 double const * restrict HRR_INT__r_s_k_s = INT__r_s_k_s + abcd * 3780;
1965 double const * restrict HRR_INT__r_s_l_s = INT__r_s_l_s + abcd * 4725;
1966 double const * restrict HRR_INT__r_s_m_s = INT__r_s_m_s + abcd * 5775;
1967 double const * restrict HRR_INT__r_s_n_s = INT__r_s_n_s + abcd * 6930;
1968 double const * restrict HRR_INT__r_s_o_s = INT__r_s_o_s + abcd * 8190;
1969 double const * restrict HRR_INT__t_s_k_s = INT__t_s_k_s + abcd * 4320;
1970 double const * restrict HRR_INT__t_s_l_s = INT__t_s_l_s + abcd * 5400;
1971 double const * restrict HRR_INT__t_s_m_s = INT__t_s_m_s + abcd * 6600;
1972 double const * restrict HRR_INT__t_s_n_s = INT__t_s_n_s + abcd * 7920;
1973 double const * restrict HRR_INT__t_s_o_s = INT__t_s_o_s + abcd * 9360;
1974 double * restrict HRR_INT__k_k_k_g = INT__k_k_k_g + real_abcd * 699840;
1975
1976 // form INT__k_p_k_s
1977 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);
1978
1979 // form INT__k_p_l_s
1980 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);
1981
1982 // form INT__k_p_m_s
1983 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);
1984
1985 // form INT__k_p_n_s
1986 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);
1987
1988 // form INT__k_p_o_s
1989 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);
1990
1991 // form INT__l_p_k_s
1992 ostei_general_hrr_J(8, 1, 7, 0, hAB, HRR_INT__m_s_k_s, HRR_INT__l_s_k_s, HRR_INT__l_p_k_s);
1993
1994 // form INT__l_p_l_s
1995 ostei_general_hrr_J(8, 1, 8, 0, hAB, HRR_INT__m_s_l_s, HRR_INT__l_s_l_s, HRR_INT__l_p_l_s);
1996
1997 // form INT__l_p_m_s
1998 ostei_general_hrr_J(8, 1, 9, 0, hAB, HRR_INT__m_s_m_s, HRR_INT__l_s_m_s, HRR_INT__l_p_m_s);
1999
2000 // form INT__l_p_n_s
2001 ostei_general_hrr_J(8, 1, 10, 0, hAB, HRR_INT__m_s_n_s, HRR_INT__l_s_n_s, HRR_INT__l_p_n_s);
2002
2003 // form INT__l_p_o_s
2004 ostei_general_hrr_J(8, 1, 11, 0, hAB, HRR_INT__m_s_o_s, HRR_INT__l_s_o_s, HRR_INT__l_p_o_s);
2005
2006 // form INT__m_p_k_s
2007 ostei_general_hrr_J(9, 1, 7, 0, hAB, HRR_INT__n_s_k_s, HRR_INT__m_s_k_s, HRR_INT__m_p_k_s);
2008
2009 // form INT__m_p_l_s
2010 ostei_general_hrr_J(9, 1, 8, 0, hAB, HRR_INT__n_s_l_s, HRR_INT__m_s_l_s, HRR_INT__m_p_l_s);
2011
2012 // form INT__m_p_m_s
2013 ostei_general_hrr_J(9, 1, 9, 0, hAB, HRR_INT__n_s_m_s, HRR_INT__m_s_m_s, HRR_INT__m_p_m_s);
2014
2015 // form INT__m_p_n_s
2016 ostei_general_hrr_J(9, 1, 10, 0, hAB, HRR_INT__n_s_n_s, HRR_INT__m_s_n_s, HRR_INT__m_p_n_s);
2017
2018 // form INT__m_p_o_s
2019 ostei_general_hrr_J(9, 1, 11, 0, hAB, HRR_INT__n_s_o_s, HRR_INT__m_s_o_s, HRR_INT__m_p_o_s);
2020
2021 // form INT__n_p_k_s
2022 ostei_general_hrr_J(10, 1, 7, 0, hAB, HRR_INT__o_s_k_s, HRR_INT__n_s_k_s, HRR_INT__n_p_k_s);
2023
2024 // form INT__n_p_l_s
2025 ostei_general_hrr_J(10, 1, 8, 0, hAB, HRR_INT__o_s_l_s, HRR_INT__n_s_l_s, HRR_INT__n_p_l_s);
2026
2027 // form INT__n_p_m_s
2028 ostei_general_hrr_J(10, 1, 9, 0, hAB, HRR_INT__o_s_m_s, HRR_INT__n_s_m_s, HRR_INT__n_p_m_s);
2029
2030 // form INT__n_p_n_s
2031 ostei_general_hrr_J(10, 1, 10, 0, hAB, HRR_INT__o_s_n_s, HRR_INT__n_s_n_s, HRR_INT__n_p_n_s);
2032
2033 // form INT__n_p_o_s
2034 ostei_general_hrr_J(10, 1, 11, 0, hAB, HRR_INT__o_s_o_s, HRR_INT__n_s_o_s, HRR_INT__n_p_o_s);
2035
2036 // form INT__o_p_k_s
2037 ostei_general_hrr_J(11, 1, 7, 0, hAB, HRR_INT__q_s_k_s, HRR_INT__o_s_k_s, HRR_INT__o_p_k_s);
2038
2039 // form INT__o_p_l_s
2040 ostei_general_hrr_J(11, 1, 8, 0, hAB, HRR_INT__q_s_l_s, HRR_INT__o_s_l_s, HRR_INT__o_p_l_s);
2041
2042 // form INT__o_p_m_s
2043 ostei_general_hrr_J(11, 1, 9, 0, hAB, HRR_INT__q_s_m_s, HRR_INT__o_s_m_s, HRR_INT__o_p_m_s);
2044
2045 // form INT__o_p_n_s
2046 ostei_general_hrr_J(11, 1, 10, 0, hAB, HRR_INT__q_s_n_s, HRR_INT__o_s_n_s, HRR_INT__o_p_n_s);
2047
2048 // form INT__o_p_o_s
2049 ostei_general_hrr_J(11, 1, 11, 0, hAB, HRR_INT__q_s_o_s, HRR_INT__o_s_o_s, HRR_INT__o_p_o_s);
2050
2051 // form INT__q_p_k_s
2052 ostei_general_hrr_J(12, 1, 7, 0, hAB, HRR_INT__r_s_k_s, HRR_INT__q_s_k_s, HRR_INT__q_p_k_s);
2053
2054 // form INT__q_p_l_s
2055 ostei_general_hrr_J(12, 1, 8, 0, hAB, HRR_INT__r_s_l_s, HRR_INT__q_s_l_s, HRR_INT__q_p_l_s);
2056
2057 // form INT__q_p_m_s
2058 ostei_general_hrr_J(12, 1, 9, 0, hAB, HRR_INT__r_s_m_s, HRR_INT__q_s_m_s, HRR_INT__q_p_m_s);
2059
2060 // form INT__q_p_n_s
2061 ostei_general_hrr_J(12, 1, 10, 0, hAB, HRR_INT__r_s_n_s, HRR_INT__q_s_n_s, HRR_INT__q_p_n_s);
2062
2063 // form INT__q_p_o_s
2064 ostei_general_hrr_J(12, 1, 11, 0, hAB, HRR_INT__r_s_o_s, HRR_INT__q_s_o_s, HRR_INT__q_p_o_s);
2065
2066 // form INT__r_p_k_s
2067 ostei_general_hrr_J(13, 1, 7, 0, hAB, HRR_INT__t_s_k_s, HRR_INT__r_s_k_s, HRR_INT__r_p_k_s);
2068
2069 // form INT__r_p_l_s
2070 ostei_general_hrr_J(13, 1, 8, 0, hAB, HRR_INT__t_s_l_s, HRR_INT__r_s_l_s, HRR_INT__r_p_l_s);
2071
2072 // form INT__r_p_m_s
2073 ostei_general_hrr_J(13, 1, 9, 0, hAB, HRR_INT__t_s_m_s, HRR_INT__r_s_m_s, HRR_INT__r_p_m_s);
2074
2075 // form INT__r_p_n_s
2076 ostei_general_hrr_J(13, 1, 10, 0, hAB, HRR_INT__t_s_n_s, HRR_INT__r_s_n_s, HRR_INT__r_p_n_s);
2077
2078 // form INT__r_p_o_s
2079 ostei_general_hrr_J(13, 1, 11, 0, hAB, HRR_INT__t_s_o_s, HRR_INT__r_s_o_s, HRR_INT__r_p_o_s);
2080
2081 // form INT__k_d_k_s
2082 ostei_general_hrr_J(7, 2, 7, 0, hAB, HRR_INT__l_p_k_s, HRR_INT__k_p_k_s, HRR_INT__k_d_k_s);
2083
2084 // form INT__k_d_l_s
2085 ostei_general_hrr_J(7, 2, 8, 0, hAB, HRR_INT__l_p_l_s, HRR_INT__k_p_l_s, HRR_INT__k_d_l_s);
2086
2087 // form INT__k_d_m_s
2088 ostei_general_hrr_J(7, 2, 9, 0, hAB, HRR_INT__l_p_m_s, HRR_INT__k_p_m_s, HRR_INT__k_d_m_s);
2089
2090 // form INT__k_d_n_s
2091 ostei_general_hrr_J(7, 2, 10, 0, hAB, HRR_INT__l_p_n_s, HRR_INT__k_p_n_s, HRR_INT__k_d_n_s);
2092
2093 // form INT__k_d_o_s
2094 ostei_general_hrr_J(7, 2, 11, 0, hAB, HRR_INT__l_p_o_s, HRR_INT__k_p_o_s, HRR_INT__k_d_o_s);
2095
2096 // form INT__l_d_k_s
2097 ostei_general_hrr_J(8, 2, 7, 0, hAB, HRR_INT__m_p_k_s, HRR_INT__l_p_k_s, HRR_INT__l_d_k_s);
2098
2099 // form INT__l_d_l_s
2100 ostei_general_hrr_J(8, 2, 8, 0, hAB, HRR_INT__m_p_l_s, HRR_INT__l_p_l_s, HRR_INT__l_d_l_s);
2101
2102 // form INT__l_d_m_s
2103 ostei_general_hrr_J(8, 2, 9, 0, hAB, HRR_INT__m_p_m_s, HRR_INT__l_p_m_s, HRR_INT__l_d_m_s);
2104
2105 // form INT__l_d_n_s
2106 ostei_general_hrr_J(8, 2, 10, 0, hAB, HRR_INT__m_p_n_s, HRR_INT__l_p_n_s, HRR_INT__l_d_n_s);
2107
2108 // form INT__l_d_o_s
2109 ostei_general_hrr_J(8, 2, 11, 0, hAB, HRR_INT__m_p_o_s, HRR_INT__l_p_o_s, HRR_INT__l_d_o_s);
2110
2111 // form INT__m_d_k_s
2112 ostei_general_hrr_J(9, 2, 7, 0, hAB, HRR_INT__n_p_k_s, HRR_INT__m_p_k_s, HRR_INT__m_d_k_s);
2113
2114 // form INT__m_d_l_s
2115 ostei_general_hrr_J(9, 2, 8, 0, hAB, HRR_INT__n_p_l_s, HRR_INT__m_p_l_s, HRR_INT__m_d_l_s);
2116
2117 // form INT__m_d_m_s
2118 ostei_general_hrr_J(9, 2, 9, 0, hAB, HRR_INT__n_p_m_s, HRR_INT__m_p_m_s, HRR_INT__m_d_m_s);
2119
2120 // form INT__m_d_n_s
2121 ostei_general_hrr_J(9, 2, 10, 0, hAB, HRR_INT__n_p_n_s, HRR_INT__m_p_n_s, HRR_INT__m_d_n_s);
2122
2123 // form INT__m_d_o_s
2124 ostei_general_hrr_J(9, 2, 11, 0, hAB, HRR_INT__n_p_o_s, HRR_INT__m_p_o_s, HRR_INT__m_d_o_s);
2125
2126 // form INT__n_d_k_s
2127 ostei_general_hrr_J(10, 2, 7, 0, hAB, HRR_INT__o_p_k_s, HRR_INT__n_p_k_s, HRR_INT__n_d_k_s);
2128
2129 // form INT__n_d_l_s
2130 ostei_general_hrr_J(10, 2, 8, 0, hAB, HRR_INT__o_p_l_s, HRR_INT__n_p_l_s, HRR_INT__n_d_l_s);
2131
2132 // form INT__n_d_m_s
2133 ostei_general_hrr_J(10, 2, 9, 0, hAB, HRR_INT__o_p_m_s, HRR_INT__n_p_m_s, HRR_INT__n_d_m_s);
2134
2135 // form INT__n_d_n_s
2136 ostei_general_hrr_J(10, 2, 10, 0, hAB, HRR_INT__o_p_n_s, HRR_INT__n_p_n_s, HRR_INT__n_d_n_s);
2137
2138 // form INT__n_d_o_s
2139 ostei_general_hrr_J(10, 2, 11, 0, hAB, HRR_INT__o_p_o_s, HRR_INT__n_p_o_s, HRR_INT__n_d_o_s);
2140
2141 // form INT__o_d_k_s
2142 ostei_general_hrr_J(11, 2, 7, 0, hAB, HRR_INT__q_p_k_s, HRR_INT__o_p_k_s, HRR_INT__o_d_k_s);
2143
2144 // form INT__o_d_l_s
2145 ostei_general_hrr_J(11, 2, 8, 0, hAB, HRR_INT__q_p_l_s, HRR_INT__o_p_l_s, HRR_INT__o_d_l_s);
2146
2147 // form INT__o_d_m_s
2148 ostei_general_hrr_J(11, 2, 9, 0, hAB, HRR_INT__q_p_m_s, HRR_INT__o_p_m_s, HRR_INT__o_d_m_s);
2149
2150 // form INT__o_d_n_s
2151 ostei_general_hrr_J(11, 2, 10, 0, hAB, HRR_INT__q_p_n_s, HRR_INT__o_p_n_s, HRR_INT__o_d_n_s);
2152
2153 // form INT__o_d_o_s
2154 ostei_general_hrr_J(11, 2, 11, 0, hAB, HRR_INT__q_p_o_s, HRR_INT__o_p_o_s, HRR_INT__o_d_o_s);
2155
2156 // form INT__q_d_k_s
2157 ostei_general_hrr_J(12, 2, 7, 0, hAB, HRR_INT__r_p_k_s, HRR_INT__q_p_k_s, HRR_INT__q_d_k_s);
2158
2159 // form INT__q_d_l_s
2160 ostei_general_hrr_J(12, 2, 8, 0, hAB, HRR_INT__r_p_l_s, HRR_INT__q_p_l_s, HRR_INT__q_d_l_s);
2161
2162 // form INT__q_d_m_s
2163 ostei_general_hrr_J(12, 2, 9, 0, hAB, HRR_INT__r_p_m_s, HRR_INT__q_p_m_s, HRR_INT__q_d_m_s);
2164
2165 // form INT__q_d_n_s
2166 ostei_general_hrr_J(12, 2, 10, 0, hAB, HRR_INT__r_p_n_s, HRR_INT__q_p_n_s, HRR_INT__q_d_n_s);
2167
2168 // form INT__q_d_o_s
2169 ostei_general_hrr_J(12, 2, 11, 0, hAB, HRR_INT__r_p_o_s, HRR_INT__q_p_o_s, HRR_INT__q_d_o_s);
2170
2171 // form INT__k_f_k_s
2172 ostei_general_hrr_J(7, 3, 7, 0, hAB, HRR_INT__l_d_k_s, HRR_INT__k_d_k_s, HRR_INT__k_f_k_s);
2173
2174 // form INT__k_f_l_s
2175 ostei_general_hrr_J(7, 3, 8, 0, hAB, HRR_INT__l_d_l_s, HRR_INT__k_d_l_s, HRR_INT__k_f_l_s);
2176
2177 // form INT__k_f_m_s
2178 ostei_general_hrr_J(7, 3, 9, 0, hAB, HRR_INT__l_d_m_s, HRR_INT__k_d_m_s, HRR_INT__k_f_m_s);
2179
2180 // form INT__k_f_n_s
2181 ostei_general_hrr_J(7, 3, 10, 0, hAB, HRR_INT__l_d_n_s, HRR_INT__k_d_n_s, HRR_INT__k_f_n_s);
2182
2183 // form INT__k_f_o_s
2184 ostei_general_hrr_J(7, 3, 11, 0, hAB, HRR_INT__l_d_o_s, HRR_INT__k_d_o_s, HRR_INT__k_f_o_s);
2185
2186 // form INT__l_f_k_s
2187 ostei_general_hrr_J(8, 3, 7, 0, hAB, HRR_INT__m_d_k_s, HRR_INT__l_d_k_s, HRR_INT__l_f_k_s);
2188
2189 // form INT__l_f_l_s
2190 ostei_general_hrr_J(8, 3, 8, 0, hAB, HRR_INT__m_d_l_s, HRR_INT__l_d_l_s, HRR_INT__l_f_l_s);
2191
2192 // form INT__l_f_m_s
2193 ostei_general_hrr_J(8, 3, 9, 0, hAB, HRR_INT__m_d_m_s, HRR_INT__l_d_m_s, HRR_INT__l_f_m_s);
2194
2195 // form INT__l_f_n_s
2196 ostei_general_hrr_J(8, 3, 10, 0, hAB, HRR_INT__m_d_n_s, HRR_INT__l_d_n_s, HRR_INT__l_f_n_s);
2197
2198 // form INT__l_f_o_s
2199 ostei_general_hrr_J(8, 3, 11, 0, hAB, HRR_INT__m_d_o_s, HRR_INT__l_d_o_s, HRR_INT__l_f_o_s);
2200
2201 // form INT__m_f_k_s
2202 ostei_general_hrr_J(9, 3, 7, 0, hAB, HRR_INT__n_d_k_s, HRR_INT__m_d_k_s, HRR_INT__m_f_k_s);
2203
2204 // form INT__m_f_l_s
2205 ostei_general_hrr_J(9, 3, 8, 0, hAB, HRR_INT__n_d_l_s, HRR_INT__m_d_l_s, HRR_INT__m_f_l_s);
2206
2207 // form INT__m_f_m_s
2208 ostei_general_hrr_J(9, 3, 9, 0, hAB, HRR_INT__n_d_m_s, HRR_INT__m_d_m_s, HRR_INT__m_f_m_s);
2209
2210 // form INT__m_f_n_s
2211 ostei_general_hrr_J(9, 3, 10, 0, hAB, HRR_INT__n_d_n_s, HRR_INT__m_d_n_s, HRR_INT__m_f_n_s);
2212
2213 // form INT__m_f_o_s
2214 ostei_general_hrr_J(9, 3, 11, 0, hAB, HRR_INT__n_d_o_s, HRR_INT__m_d_o_s, HRR_INT__m_f_o_s);
2215
2216 // form INT__n_f_k_s
2217 ostei_general_hrr_J(10, 3, 7, 0, hAB, HRR_INT__o_d_k_s, HRR_INT__n_d_k_s, HRR_INT__n_f_k_s);
2218
2219 // form INT__n_f_l_s
2220 ostei_general_hrr_J(10, 3, 8, 0, hAB, HRR_INT__o_d_l_s, HRR_INT__n_d_l_s, HRR_INT__n_f_l_s);
2221
2222 // form INT__n_f_m_s
2223 ostei_general_hrr_J(10, 3, 9, 0, hAB, HRR_INT__o_d_m_s, HRR_INT__n_d_m_s, HRR_INT__n_f_m_s);
2224
2225 // form INT__n_f_n_s
2226 ostei_general_hrr_J(10, 3, 10, 0, hAB, HRR_INT__o_d_n_s, HRR_INT__n_d_n_s, HRR_INT__n_f_n_s);
2227
2228 // form INT__n_f_o_s
2229 ostei_general_hrr_J(10, 3, 11, 0, hAB, HRR_INT__o_d_o_s, HRR_INT__n_d_o_s, HRR_INT__n_f_o_s);
2230
2231 // form INT__o_f_k_s
2232 ostei_general_hrr_J(11, 3, 7, 0, hAB, HRR_INT__q_d_k_s, HRR_INT__o_d_k_s, HRR_INT__o_f_k_s);
2233
2234 // form INT__o_f_l_s
2235 ostei_general_hrr_J(11, 3, 8, 0, hAB, HRR_INT__q_d_l_s, HRR_INT__o_d_l_s, HRR_INT__o_f_l_s);
2236
2237 // form INT__o_f_m_s
2238 ostei_general_hrr_J(11, 3, 9, 0, hAB, HRR_INT__q_d_m_s, HRR_INT__o_d_m_s, HRR_INT__o_f_m_s);
2239
2240 // form INT__o_f_n_s
2241 ostei_general_hrr_J(11, 3, 10, 0, hAB, HRR_INT__q_d_n_s, HRR_INT__o_d_n_s, HRR_INT__o_f_n_s);
2242
2243 // form INT__o_f_o_s
2244 ostei_general_hrr_J(11, 3, 11, 0, hAB, HRR_INT__q_d_o_s, HRR_INT__o_d_o_s, HRR_INT__o_f_o_s);
2245
2246 // form INT__k_g_k_s
2247 ostei_general_hrr_J(7, 4, 7, 0, hAB, HRR_INT__l_f_k_s, HRR_INT__k_f_k_s, HRR_INT__k_g_k_s);
2248
2249 // form INT__k_g_l_s
2250 ostei_general_hrr_J(7, 4, 8, 0, hAB, HRR_INT__l_f_l_s, HRR_INT__k_f_l_s, HRR_INT__k_g_l_s);
2251
2252 // form INT__k_g_m_s
2253 ostei_general_hrr_J(7, 4, 9, 0, hAB, HRR_INT__l_f_m_s, HRR_INT__k_f_m_s, HRR_INT__k_g_m_s);
2254
2255 // form INT__k_g_n_s
2256 ostei_general_hrr_J(7, 4, 10, 0, hAB, HRR_INT__l_f_n_s, HRR_INT__k_f_n_s, HRR_INT__k_g_n_s);
2257
2258 // form INT__k_g_o_s
2259 ostei_general_hrr_J(7, 4, 11, 0, hAB, HRR_INT__l_f_o_s, HRR_INT__k_f_o_s, HRR_INT__k_g_o_s);
2260
2261 // form INT__l_g_k_s
2262 ostei_general_hrr_J(8, 4, 7, 0, hAB, HRR_INT__m_f_k_s, HRR_INT__l_f_k_s, HRR_INT__l_g_k_s);
2263
2264 // form INT__l_g_l_s
2265 ostei_general_hrr_J(8, 4, 8, 0, hAB, HRR_INT__m_f_l_s, HRR_INT__l_f_l_s, HRR_INT__l_g_l_s);
2266
2267 // form INT__l_g_m_s
2268 ostei_general_hrr_J(8, 4, 9, 0, hAB, HRR_INT__m_f_m_s, HRR_INT__l_f_m_s, HRR_INT__l_g_m_s);
2269
2270 // form INT__l_g_n_s
2271 ostei_general_hrr_J(8, 4, 10, 0, hAB, HRR_INT__m_f_n_s, HRR_INT__l_f_n_s, HRR_INT__l_g_n_s);
2272
2273 // form INT__l_g_o_s
2274 ostei_general_hrr_J(8, 4, 11, 0, hAB, HRR_INT__m_f_o_s, HRR_INT__l_f_o_s, HRR_INT__l_g_o_s);
2275
2276 // form INT__m_g_k_s
2277 ostei_general_hrr_J(9, 4, 7, 0, hAB, HRR_INT__n_f_k_s, HRR_INT__m_f_k_s, HRR_INT__m_g_k_s);
2278
2279 // form INT__m_g_l_s
2280 ostei_general_hrr_J(9, 4, 8, 0, hAB, HRR_INT__n_f_l_s, HRR_INT__m_f_l_s, HRR_INT__m_g_l_s);
2281
2282 // form INT__m_g_m_s
2283 ostei_general_hrr_J(9, 4, 9, 0, hAB, HRR_INT__n_f_m_s, HRR_INT__m_f_m_s, HRR_INT__m_g_m_s);
2284
2285 // form INT__m_g_n_s
2286 ostei_general_hrr_J(9, 4, 10, 0, hAB, HRR_INT__n_f_n_s, HRR_INT__m_f_n_s, HRR_INT__m_g_n_s);
2287
2288 // form INT__m_g_o_s
2289 ostei_general_hrr_J(9, 4, 11, 0, hAB, HRR_INT__n_f_o_s, HRR_INT__m_f_o_s, HRR_INT__m_g_o_s);
2290
2291 // form INT__n_g_k_s
2292 ostei_general_hrr_J(10, 4, 7, 0, hAB, HRR_INT__o_f_k_s, HRR_INT__n_f_k_s, HRR_INT__n_g_k_s);
2293
2294 // form INT__n_g_l_s
2295 ostei_general_hrr_J(10, 4, 8, 0, hAB, HRR_INT__o_f_l_s, HRR_INT__n_f_l_s, HRR_INT__n_g_l_s);
2296
2297 // form INT__n_g_m_s
2298 ostei_general_hrr_J(10, 4, 9, 0, hAB, HRR_INT__o_f_m_s, HRR_INT__n_f_m_s, HRR_INT__n_g_m_s);
2299
2300 // form INT__n_g_n_s
2301 ostei_general_hrr_J(10, 4, 10, 0, hAB, HRR_INT__o_f_n_s, HRR_INT__n_f_n_s, HRR_INT__n_g_n_s);
2302
2303 // form INT__n_g_o_s
2304 ostei_general_hrr_J(10, 4, 11, 0, hAB, HRR_INT__o_f_o_s, HRR_INT__n_f_o_s, HRR_INT__n_g_o_s);
2305
2306 // form INT__k_h_k_s
2307 ostei_general_hrr_J(7, 5, 7, 0, hAB, HRR_INT__l_g_k_s, HRR_INT__k_g_k_s, HRR_INT__k_h_k_s);
2308
2309 // form INT__k_h_l_s
2310 ostei_general_hrr_J(7, 5, 8, 0, hAB, HRR_INT__l_g_l_s, HRR_INT__k_g_l_s, HRR_INT__k_h_l_s);
2311
2312 // form INT__k_h_m_s
2313 ostei_general_hrr_J(7, 5, 9, 0, hAB, HRR_INT__l_g_m_s, HRR_INT__k_g_m_s, HRR_INT__k_h_m_s);
2314
2315 // form INT__k_h_n_s
2316 ostei_general_hrr_J(7, 5, 10, 0, hAB, HRR_INT__l_g_n_s, HRR_INT__k_g_n_s, HRR_INT__k_h_n_s);
2317
2318 // form INT__k_h_o_s
2319 ostei_general_hrr_J(7, 5, 11, 0, hAB, HRR_INT__l_g_o_s, HRR_INT__k_g_o_s, HRR_INT__k_h_o_s);
2320
2321 // form INT__l_h_k_s
2322 ostei_general_hrr_J(8, 5, 7, 0, hAB, HRR_INT__m_g_k_s, HRR_INT__l_g_k_s, HRR_INT__l_h_k_s);
2323
2324 // form INT__l_h_l_s
2325 ostei_general_hrr_J(8, 5, 8, 0, hAB, HRR_INT__m_g_l_s, HRR_INT__l_g_l_s, HRR_INT__l_h_l_s);
2326
2327 // form INT__l_h_m_s
2328 ostei_general_hrr_J(8, 5, 9, 0, hAB, HRR_INT__m_g_m_s, HRR_INT__l_g_m_s, HRR_INT__l_h_m_s);
2329
2330 // form INT__l_h_n_s
2331 ostei_general_hrr_J(8, 5, 10, 0, hAB, HRR_INT__m_g_n_s, HRR_INT__l_g_n_s, HRR_INT__l_h_n_s);
2332
2333 // form INT__l_h_o_s
2334 ostei_general_hrr_J(8, 5, 11, 0, hAB, HRR_INT__m_g_o_s, HRR_INT__l_g_o_s, HRR_INT__l_h_o_s);
2335
2336 // form INT__m_h_k_s
2337 ostei_general_hrr_J(9, 5, 7, 0, hAB, HRR_INT__n_g_k_s, HRR_INT__m_g_k_s, HRR_INT__m_h_k_s);
2338
2339 // form INT__m_h_l_s
2340 ostei_general_hrr_J(9, 5, 8, 0, hAB, HRR_INT__n_g_l_s, HRR_INT__m_g_l_s, HRR_INT__m_h_l_s);
2341
2342 // form INT__m_h_m_s
2343 ostei_general_hrr_J(9, 5, 9, 0, hAB, HRR_INT__n_g_m_s, HRR_INT__m_g_m_s, HRR_INT__m_h_m_s);
2344
2345 // form INT__m_h_n_s
2346 ostei_general_hrr_J(9, 5, 10, 0, hAB, HRR_INT__n_g_n_s, HRR_INT__m_g_n_s, HRR_INT__m_h_n_s);
2347
2348 // form INT__m_h_o_s
2349 ostei_general_hrr_J(9, 5, 11, 0, hAB, HRR_INT__n_g_o_s, HRR_INT__m_g_o_s, HRR_INT__m_h_o_s);
2350
2351 // form INT__k_i_k_s
2352 ostei_general_hrr_J(7, 6, 7, 0, hAB, HRR_INT__l_h_k_s, HRR_INT__k_h_k_s, HRR_INT__k_i_k_s);
2353
2354 // form INT__k_i_l_s
2355 ostei_general_hrr_J(7, 6, 8, 0, hAB, HRR_INT__l_h_l_s, HRR_INT__k_h_l_s, HRR_INT__k_i_l_s);
2356
2357 // form INT__k_i_m_s
2358 ostei_general_hrr_J(7, 6, 9, 0, hAB, HRR_INT__l_h_m_s, HRR_INT__k_h_m_s, HRR_INT__k_i_m_s);
2359
2360 // form INT__k_i_n_s
2361 ostei_general_hrr_J(7, 6, 10, 0, hAB, HRR_INT__l_h_n_s, HRR_INT__k_h_n_s, HRR_INT__k_i_n_s);
2362
2363 // form INT__k_i_o_s
2364 ostei_general_hrr_J(7, 6, 11, 0, hAB, HRR_INT__l_h_o_s, HRR_INT__k_h_o_s, HRR_INT__k_i_o_s);
2365
2366 // form INT__l_i_k_s
2367 ostei_general_hrr_J(8, 6, 7, 0, hAB, HRR_INT__m_h_k_s, HRR_INT__l_h_k_s, HRR_INT__l_i_k_s);
2368
2369 // form INT__l_i_l_s
2370 ostei_general_hrr_J(8, 6, 8, 0, hAB, HRR_INT__m_h_l_s, HRR_INT__l_h_l_s, HRR_INT__l_i_l_s);
2371
2372 // form INT__l_i_m_s
2373 ostei_general_hrr_J(8, 6, 9, 0, hAB, HRR_INT__m_h_m_s, HRR_INT__l_h_m_s, HRR_INT__l_i_m_s);
2374
2375 // form INT__l_i_n_s
2376 ostei_general_hrr_J(8, 6, 10, 0, hAB, HRR_INT__m_h_n_s, HRR_INT__l_h_n_s, HRR_INT__l_i_n_s);
2377
2378 // form INT__l_i_o_s
2379 ostei_general_hrr_J(8, 6, 11, 0, hAB, HRR_INT__m_h_o_s, HRR_INT__l_h_o_s, HRR_INT__l_i_o_s);
2380
2381 // form INT__k_k_k_s
2382 ostei_general_hrr_J(7, 7, 7, 0, hAB, HRR_INT__l_i_k_s, HRR_INT__k_i_k_s, HRR_INT__k_k_k_s);
2383
2384 // form INT__k_k_l_s
2385 ostei_general_hrr_J(7, 7, 8, 0, hAB, HRR_INT__l_i_l_s, HRR_INT__k_i_l_s, HRR_INT__k_k_l_s);
2386
2387 // form INT__k_k_m_s
2388 ostei_general_hrr_J(7, 7, 9, 0, hAB, HRR_INT__l_i_m_s, HRR_INT__k_i_m_s, HRR_INT__k_k_m_s);
2389
2390 // form INT__k_k_n_s
2391 ostei_general_hrr_J(7, 7, 10, 0, hAB, HRR_INT__l_i_n_s, HRR_INT__k_i_n_s, HRR_INT__k_k_n_s);
2392
2393 // form INT__k_k_o_s
2394 ostei_general_hrr_J(7, 7, 11, 0, hAB, HRR_INT__l_i_o_s, HRR_INT__k_i_o_s, HRR_INT__k_k_o_s);
2395
2396 // form INT__k_k_k_p
2397 ostei_general_hrr_L(7, 7, 7, 1, hCD, HRR_INT__k_k_l_s, HRR_INT__k_k_k_s, HRR_INT__k_k_k_p);
2398
2399 // form INT__k_k_l_p
2400 ostei_general_hrr_L(7, 7, 8, 1, hCD, HRR_INT__k_k_m_s, HRR_INT__k_k_l_s, HRR_INT__k_k_l_p);
2401
2402 // form INT__k_k_m_p
2403 ostei_general_hrr_L(7, 7, 9, 1, hCD, HRR_INT__k_k_n_s, HRR_INT__k_k_m_s, HRR_INT__k_k_m_p);
2404
2405 // form INT__k_k_n_p
2406 ostei_general_hrr_L(7, 7, 10, 1, hCD, HRR_INT__k_k_o_s, HRR_INT__k_k_n_s, HRR_INT__k_k_n_p);
2407
2408 // form INT__k_k_k_d
2409 ostei_general_hrr_L(7, 7, 7, 2, hCD, HRR_INT__k_k_l_p, HRR_INT__k_k_k_p, HRR_INT__k_k_k_d);
2410
2411 // form INT__k_k_l_d
2412 ostei_general_hrr_L(7, 7, 8, 2, hCD, HRR_INT__k_k_m_p, HRR_INT__k_k_l_p, HRR_INT__k_k_l_d);
2413
2414 // form INT__k_k_m_d
2415 ostei_general_hrr_L(7, 7, 9, 2, hCD, HRR_INT__k_k_n_p, HRR_INT__k_k_m_p, HRR_INT__k_k_m_d);
2416
2417 // form INT__k_k_k_f
2418 ostei_general_hrr_L(7, 7, 7, 3, hCD, HRR_INT__k_k_l_d, HRR_INT__k_k_k_d, HRR_INT__k_k_k_f);
2419
2420 // form INT__k_k_l_f
2421 ostei_general_hrr_L(7, 7, 8, 3, hCD, HRR_INT__k_k_m_d, HRR_INT__k_k_l_d, HRR_INT__k_k_l_f);
2422
2423 // form INT__k_k_k_g
2424 ostei_general_hrr_L(7, 7, 7, 4, hCD, HRR_INT__k_k_l_f, HRR_INT__k_k_k_f, HRR_INT__k_k_k_g);
2425
2426
2427 } // close HRR loop
2428
2429
2430 } // close loop cdbatch
2431
2432 istart = iend;
2433 } // close loop over ab
2434
2435 return P.nshell12_clip * Q.nshell12_clip;
2436 }
2437
ostei_k_k_g_k(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__k_k_g_k)2438 int ostei_k_k_g_k(struct simint_multi_shellpair const P,
2439 struct simint_multi_shellpair const Q,
2440 double screen_tol,
2441 double * const restrict work,
2442 double * const restrict INT__k_k_g_k)
2443 {
2444 double Q_AB[3*Q.nshell12];
2445 struct simint_multi_shellpair Q_tmp = Q;
2446 Q_tmp.PA_x = Q.PB_x; Q_tmp.PA_y = Q.PB_y; Q_tmp.PA_z = Q.PB_z;
2447 Q_tmp.PB_x = Q.PA_x; Q_tmp.PB_y = Q.PA_y; Q_tmp.PB_z = Q.PA_z;
2448 Q_tmp.AB_x = Q_AB;
2449 Q_tmp.AB_y = Q_AB + Q.nshell12;
2450 Q_tmp.AB_z = Q_AB + 2*Q.nshell12;
2451
2452 for(int i = 0; i < Q.nshell12; i++)
2453 {
2454 Q_tmp.AB_x[i] = -Q.AB_x[i];
2455 Q_tmp.AB_y[i] = -Q.AB_y[i];
2456 Q_tmp.AB_z[i] = -Q.AB_z[i];
2457 }
2458
2459 int ret = ostei_k_k_k_g(P, Q_tmp, screen_tol, work, INT__k_k_g_k);
2460 double buffer[699840] SIMINT_ALIGN_ARRAY_DBL;
2461
2462 for(int q = 0; q < ret; q++)
2463 {
2464 int idx = 0;
2465 for(int a = 0; a < 36; ++a)
2466 for(int b = 0; b < 36; ++b)
2467 for(int c = 0; c < 15; ++c)
2468 for(int d = 0; d < 36; ++d)
2469 buffer[idx++] = INT__k_k_g_k[q*699840+a*19440+b*540+d*15+c];
2470
2471 memcpy(INT__k_k_g_k+q*699840, buffer, 699840*sizeof(double));
2472 }
2473
2474 return ret;
2475 }
2476
2477