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_i_i_h_h(struct simint_multi_shellpair const P,struct simint_multi_shellpair const Q,double screen_tol,double * const restrict work,double * const restrict INT__i_i_h_h)8 int ostei_i_i_h_h(struct simint_multi_shellpair const P,
9 struct simint_multi_shellpair const Q,
10 double screen_tol,
11 double * const restrict work,
12 double * const restrict INT__i_i_h_h)
13 {
14
15 SIMINT_ASSUME_ALIGN_DBL(work);
16 SIMINT_ASSUME_ALIGN_DBL(INT__i_i_h_h);
17 int ab, cd, abcd;
18 int istart, jstart;
19 int iprimcd, nprim_icd, icd;
20 const int check_screen = (screen_tol > 0.0);
21 int i, j;
22 int n;
23 int not_screened;
24 int real_abcd;
25 int iket;
26 int ibra;
27
28 // partition workspace
29 double * const INT__i_s_h_s = work + (SIMINT_NSHELL_SIMD * 0);
30 double * const INT__i_s_i_s = work + (SIMINT_NSHELL_SIMD * 588);
31 double * const INT__i_s_k_s = work + (SIMINT_NSHELL_SIMD * 1372);
32 double * const INT__i_s_l_s = work + (SIMINT_NSHELL_SIMD * 2380);
33 double * const INT__i_s_m_s = work + (SIMINT_NSHELL_SIMD * 3640);
34 double * const INT__i_s_n_s = work + (SIMINT_NSHELL_SIMD * 5180);
35 double * const INT__k_s_h_s = work + (SIMINT_NSHELL_SIMD * 7028);
36 double * const INT__k_s_i_s = work + (SIMINT_NSHELL_SIMD * 7784);
37 double * const INT__k_s_k_s = work + (SIMINT_NSHELL_SIMD * 8792);
38 double * const INT__k_s_l_s = work + (SIMINT_NSHELL_SIMD * 10088);
39 double * const INT__k_s_m_s = work + (SIMINT_NSHELL_SIMD * 11708);
40 double * const INT__k_s_n_s = work + (SIMINT_NSHELL_SIMD * 13688);
41 double * const INT__l_s_h_s = work + (SIMINT_NSHELL_SIMD * 16064);
42 double * const INT__l_s_i_s = work + (SIMINT_NSHELL_SIMD * 17009);
43 double * const INT__l_s_k_s = work + (SIMINT_NSHELL_SIMD * 18269);
44 double * const INT__l_s_l_s = work + (SIMINT_NSHELL_SIMD * 19889);
45 double * const INT__l_s_m_s = work + (SIMINT_NSHELL_SIMD * 21914);
46 double * const INT__l_s_n_s = work + (SIMINT_NSHELL_SIMD * 24389);
47 double * const INT__m_s_h_s = work + (SIMINT_NSHELL_SIMD * 27359);
48 double * const INT__m_s_i_s = work + (SIMINT_NSHELL_SIMD * 28514);
49 double * const INT__m_s_k_s = work + (SIMINT_NSHELL_SIMD * 30054);
50 double * const INT__m_s_l_s = work + (SIMINT_NSHELL_SIMD * 32034);
51 double * const INT__m_s_m_s = work + (SIMINT_NSHELL_SIMD * 34509);
52 double * const INT__m_s_n_s = work + (SIMINT_NSHELL_SIMD * 37534);
53 double * const INT__n_s_h_s = work + (SIMINT_NSHELL_SIMD * 41164);
54 double * const INT__n_s_i_s = work + (SIMINT_NSHELL_SIMD * 42550);
55 double * const INT__n_s_k_s = work + (SIMINT_NSHELL_SIMD * 44398);
56 double * const INT__n_s_l_s = work + (SIMINT_NSHELL_SIMD * 46774);
57 double * const INT__n_s_m_s = work + (SIMINT_NSHELL_SIMD * 49744);
58 double * const INT__n_s_n_s = work + (SIMINT_NSHELL_SIMD * 53374);
59 double * const INT__o_s_h_s = work + (SIMINT_NSHELL_SIMD * 57730);
60 double * const INT__o_s_i_s = work + (SIMINT_NSHELL_SIMD * 59368);
61 double * const INT__o_s_k_s = work + (SIMINT_NSHELL_SIMD * 61552);
62 double * const INT__o_s_l_s = work + (SIMINT_NSHELL_SIMD * 64360);
63 double * const INT__o_s_m_s = work + (SIMINT_NSHELL_SIMD * 67870);
64 double * const INT__o_s_n_s = work + (SIMINT_NSHELL_SIMD * 72160);
65 double * const INT__q_s_h_s = work + (SIMINT_NSHELL_SIMD * 77308);
66 double * const INT__q_s_i_s = work + (SIMINT_NSHELL_SIMD * 79219);
67 double * const INT__q_s_k_s = work + (SIMINT_NSHELL_SIMD * 81767);
68 double * const INT__q_s_l_s = work + (SIMINT_NSHELL_SIMD * 85043);
69 double * const INT__q_s_m_s = work + (SIMINT_NSHELL_SIMD * 89138);
70 double * const INT__q_s_n_s = work + (SIMINT_NSHELL_SIMD * 94143);
71 SIMINT_DBLTYPE * const primwork = (SIMINT_DBLTYPE *)(work + SIMINT_NSHELL_SIMD*100149);
72 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_s_s = primwork + 0;
73 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_p_s = primwork + 23;
74 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_d_s = primwork + 53;
75 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_f_s = primwork + 107;
76 SIMINT_DBLTYPE * const restrict PRIM_INT__s_s_g_s = primwork + 187;
77 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_s_s = primwork + 292;
78 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_p_s = primwork + 358;
79 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_d_s = primwork + 448;
80 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_f_s = primwork + 610;
81 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_g_s = primwork + 850;
82 SIMINT_DBLTYPE * const restrict PRIM_INT__p_s_h_s = primwork + 1165;
83 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_s_s = primwork + 1543;
84 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_p_s = primwork + 1669;
85 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_d_s = primwork + 1849;
86 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_f_s = primwork + 2173;
87 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_g_s = primwork + 2653;
88 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_h_s = primwork + 3283;
89 SIMINT_DBLTYPE * const restrict PRIM_INT__d_s_i_s = primwork + 4039;
90 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s = primwork + 4879;
91 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_p_s = primwork + 5079;
92 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_d_s = primwork + 5379;
93 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_f_s = primwork + 5919;
94 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_g_s = primwork + 6719;
95 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_h_s = primwork + 7769;
96 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_i_s = primwork + 9029;
97 SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_k_s = primwork + 10429;
98 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s = primwork + 11869;
99 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_p_s = primwork + 12154;
100 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_d_s = primwork + 12604;
101 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_f_s = primwork + 13414;
102 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_g_s = primwork + 14614;
103 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_h_s = primwork + 16189;
104 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_i_s = primwork + 18079;
105 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_k_s = primwork + 20179;
106 SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_l_s = primwork + 22339;
107 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_s_s = primwork + 24364;
108 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_p_s = primwork + 24742;
109 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_d_s = primwork + 25372;
110 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_f_s = primwork + 26506;
111 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_g_s = primwork + 28186;
112 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_h_s = primwork + 30391;
113 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_i_s = primwork + 33037;
114 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_k_s = primwork + 35977;
115 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_l_s = primwork + 39001;
116 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_m_s = primwork + 41836;
117 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_s_s = primwork + 44146;
118 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_p_s = primwork + 44622;
119 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_d_s = primwork + 45462;
120 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_f_s = primwork + 46974;
121 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_g_s = primwork + 49214;
122 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_h_s = primwork + 52154;
123 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_i_s = primwork + 55682;
124 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_k_s = primwork + 59602;
125 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_l_s = primwork + 63634;
126 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_m_s = primwork + 67414;
127 SIMINT_DBLTYPE * const restrict PRIM_INT__i_s_n_s = primwork + 70494;
128 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_s_s = primwork + 72342;
129 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_p_s = primwork + 72918;
130 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_d_s = primwork + 73998;
131 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_f_s = primwork + 75942;
132 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_g_s = primwork + 78822;
133 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_h_s = primwork + 82602;
134 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_i_s = primwork + 87138;
135 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_k_s = primwork + 92178;
136 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_l_s = primwork + 97362;
137 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_m_s = primwork + 102222;
138 SIMINT_DBLTYPE * const restrict PRIM_INT__k_s_n_s = primwork + 106182;
139 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_s_s = primwork + 108558;
140 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_p_s = primwork + 109233;
141 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_d_s = primwork + 110583;
142 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_f_s = primwork + 113013;
143 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_g_s = primwork + 116613;
144 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_h_s = primwork + 121338;
145 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_i_s = primwork + 127008;
146 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_k_s = primwork + 133308;
147 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_l_s = primwork + 139788;
148 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_m_s = primwork + 145863;
149 SIMINT_DBLTYPE * const restrict PRIM_INT__l_s_n_s = primwork + 150813;
150 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_s_s = primwork + 153783;
151 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_p_s = primwork + 154553;
152 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_d_s = primwork + 156203;
153 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_f_s = primwork + 159173;
154 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_g_s = primwork + 163573;
155 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_h_s = primwork + 169348;
156 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_i_s = primwork + 176278;
157 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_k_s = primwork + 183978;
158 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_l_s = primwork + 191898;
159 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_m_s = primwork + 199323;
160 SIMINT_DBLTYPE * const restrict PRIM_INT__m_s_n_s = primwork + 205373;
161 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_s_s = primwork + 209003;
162 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_p_s = primwork + 209861;
163 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_d_s = primwork + 211841;
164 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_f_s = primwork + 215405;
165 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_g_s = primwork + 220685;
166 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_h_s = primwork + 227615;
167 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_i_s = primwork + 235931;
168 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_k_s = primwork + 245171;
169 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_l_s = primwork + 254675;
170 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_m_s = primwork + 263585;
171 SIMINT_DBLTYPE * const restrict PRIM_INT__n_s_n_s = primwork + 270845;
172 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_s_s = primwork + 275201;
173 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_p_s = primwork + 276137;
174 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_d_s = primwork + 278477;
175 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_f_s = primwork + 282689;
176 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_g_s = primwork + 288929;
177 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_h_s = primwork + 297119;
178 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_i_s = primwork + 306947;
179 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_k_s = primwork + 317867;
180 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_l_s = primwork + 329099;
181 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_m_s = primwork + 339629;
182 SIMINT_DBLTYPE * const restrict PRIM_INT__o_s_n_s = primwork + 348209;
183 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_s_s = primwork + 353357;
184 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_p_s = primwork + 354358;
185 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_d_s = primwork + 357088;
186 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_f_s = primwork + 362002;
187 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_g_s = primwork + 369282;
188 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_h_s = primwork + 378837;
189 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_i_s = primwork + 390303;
190 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_k_s = primwork + 403043;
191 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_l_s = primwork + 416147;
192 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_m_s = primwork + 428432;
193 SIMINT_DBLTYPE * const restrict PRIM_INT__q_s_n_s = primwork + 438442;
194 double * const hrrwork = (double *)(primwork + 444448);
195 double * const HRR_INT__i_p_h_s = hrrwork + 0;
196 double * const HRR_INT__i_p_i_s = hrrwork + 1764;
197 double * const HRR_INT__i_p_k_s = hrrwork + 4116;
198 double * const HRR_INT__i_p_l_s = hrrwork + 7140;
199 double * const HRR_INT__i_p_m_s = hrrwork + 10920;
200 double * const HRR_INT__i_p_n_s = hrrwork + 15540;
201 double * const HRR_INT__i_d_h_s = hrrwork + 21084;
202 double * const HRR_INT__i_d_i_s = hrrwork + 24612;
203 double * const HRR_INT__i_d_k_s = hrrwork + 29316;
204 double * const HRR_INT__i_d_l_s = hrrwork + 35364;
205 double * const HRR_INT__i_d_m_s = hrrwork + 42924;
206 double * const HRR_INT__i_d_n_s = hrrwork + 52164;
207 double * const HRR_INT__i_f_h_s = hrrwork + 63252;
208 double * const HRR_INT__i_f_i_s = hrrwork + 69132;
209 double * const HRR_INT__i_f_k_s = hrrwork + 76972;
210 double * const HRR_INT__i_f_l_s = hrrwork + 87052;
211 double * const HRR_INT__i_f_m_s = hrrwork + 99652;
212 double * const HRR_INT__i_f_n_s = hrrwork + 115052;
213 double * const HRR_INT__i_g_h_s = hrrwork + 133532;
214 double * const HRR_INT__i_g_i_s = hrrwork + 142352;
215 double * const HRR_INT__i_g_k_s = hrrwork + 154112;
216 double * const HRR_INT__i_g_l_s = hrrwork + 169232;
217 double * const HRR_INT__i_g_m_s = hrrwork + 188132;
218 double * const HRR_INT__i_g_n_s = hrrwork + 211232;
219 double * const HRR_INT__i_h_h_s = hrrwork + 238952;
220 double * const HRR_INT__i_h_i_s = hrrwork + 251300;
221 double * const HRR_INT__i_h_k_s = hrrwork + 267764;
222 double * const HRR_INT__i_h_l_s = hrrwork + 288932;
223 double * const HRR_INT__i_h_m_s = hrrwork + 315392;
224 double * const HRR_INT__i_h_n_s = hrrwork + 347732;
225 double * const HRR_INT__i_i_h_s = hrrwork + 386540;
226 double * const HRR_INT__i_i_h_p = hrrwork + 403004;
227 double * const HRR_INT__i_i_h_d = hrrwork + 452396;
228 double * const HRR_INT__i_i_h_f = hrrwork + 551180;
229 double * const HRR_INT__i_i_h_g = hrrwork + 715820;
230 double * const HRR_INT__i_i_i_s = hrrwork + 962780;
231 double * const HRR_INT__i_i_i_p = hrrwork + 984732;
232 double * const HRR_INT__i_i_i_d = hrrwork + 1050588;
233 double * const HRR_INT__i_i_i_f = hrrwork + 1182300;
234 double * const HRR_INT__i_i_i_g = hrrwork + 1401820;
235 double * const HRR_INT__i_i_k_s = hrrwork + 1731100;
236 double * const HRR_INT__i_i_k_p = hrrwork + 1759324;
237 double * const HRR_INT__i_i_k_d = hrrwork + 1843996;
238 double * const HRR_INT__i_i_k_f = hrrwork + 2013340;
239 double * const HRR_INT__i_i_l_s = hrrwork + 2295580;
240 double * const HRR_INT__i_i_l_p = hrrwork + 2330860;
241 double * const HRR_INT__i_i_l_d = hrrwork + 2436700;
242 double * const HRR_INT__i_i_m_s = hrrwork + 2648380;
243 double * const HRR_INT__i_i_m_p = hrrwork + 2691500;
244 double * const HRR_INT__i_i_n_s = hrrwork + 2820860;
245 double * const HRR_INT__k_p_h_s = hrrwork + 2872604;
246 double * const HRR_INT__k_p_i_s = hrrwork + 2874872;
247 double * const HRR_INT__k_p_k_s = hrrwork + 2877896;
248 double * const HRR_INT__k_p_l_s = hrrwork + 2881784;
249 double * const HRR_INT__k_p_m_s = hrrwork + 2886644;
250 double * const HRR_INT__k_p_n_s = hrrwork + 2892584;
251 double * const HRR_INT__k_d_h_s = hrrwork + 2899712;
252 double * const HRR_INT__k_d_i_s = hrrwork + 2904248;
253 double * const HRR_INT__k_d_k_s = hrrwork + 2910296;
254 double * const HRR_INT__k_d_l_s = hrrwork + 2918072;
255 double * const HRR_INT__k_d_m_s = hrrwork + 2927792;
256 double * const HRR_INT__k_d_n_s = hrrwork + 2939672;
257 double * const HRR_INT__k_f_h_s = hrrwork + 2953928;
258 double * const HRR_INT__k_f_i_s = hrrwork + 2961488;
259 double * const HRR_INT__k_f_k_s = hrrwork + 2971568;
260 double * const HRR_INT__k_f_l_s = hrrwork + 2984528;
261 double * const HRR_INT__k_f_m_s = hrrwork + 3000728;
262 double * const HRR_INT__k_f_n_s = hrrwork + 3020528;
263 double * const HRR_INT__k_g_h_s = hrrwork + 3044288;
264 double * const HRR_INT__k_g_i_s = hrrwork + 3055628;
265 double * const HRR_INT__k_g_k_s = hrrwork + 3070748;
266 double * const HRR_INT__k_g_l_s = hrrwork + 3090188;
267 double * const HRR_INT__k_g_m_s = hrrwork + 3114488;
268 double * const HRR_INT__k_g_n_s = hrrwork + 3144188;
269 double * const HRR_INT__k_h_h_s = hrrwork + 3179828;
270 double * const HRR_INT__k_h_i_s = hrrwork + 3195704;
271 double * const HRR_INT__k_h_k_s = hrrwork + 3216872;
272 double * const HRR_INT__k_h_l_s = hrrwork + 3244088;
273 double * const HRR_INT__k_h_m_s = hrrwork + 3278108;
274 double * const HRR_INT__k_h_n_s = hrrwork + 3319688;
275 double * const HRR_INT__l_p_h_s = hrrwork + 3369584;
276 double * const HRR_INT__l_p_i_s = hrrwork + 3372419;
277 double * const HRR_INT__l_p_k_s = hrrwork + 3376199;
278 double * const HRR_INT__l_p_l_s = hrrwork + 3381059;
279 double * const HRR_INT__l_p_m_s = hrrwork + 3387134;
280 double * const HRR_INT__l_p_n_s = hrrwork + 3394559;
281 double * const HRR_INT__l_d_h_s = hrrwork + 3403469;
282 double * const HRR_INT__l_d_i_s = hrrwork + 3409139;
283 double * const HRR_INT__l_d_k_s = hrrwork + 3416699;
284 double * const HRR_INT__l_d_l_s = hrrwork + 3426419;
285 double * const HRR_INT__l_d_m_s = hrrwork + 3438569;
286 double * const HRR_INT__l_d_n_s = hrrwork + 3453419;
287 double * const HRR_INT__l_f_h_s = hrrwork + 3471239;
288 double * const HRR_INT__l_f_i_s = hrrwork + 3480689;
289 double * const HRR_INT__l_f_k_s = hrrwork + 3493289;
290 double * const HRR_INT__l_f_l_s = hrrwork + 3509489;
291 double * const HRR_INT__l_f_m_s = hrrwork + 3529739;
292 double * const HRR_INT__l_f_n_s = hrrwork + 3554489;
293 double * const HRR_INT__l_g_h_s = hrrwork + 3584189;
294 double * const HRR_INT__l_g_i_s = hrrwork + 3598364;
295 double * const HRR_INT__l_g_k_s = hrrwork + 3617264;
296 double * const HRR_INT__l_g_l_s = hrrwork + 3641564;
297 double * const HRR_INT__l_g_m_s = hrrwork + 3671939;
298 double * const HRR_INT__l_g_n_s = hrrwork + 3709064;
299 double * const HRR_INT__m_p_h_s = hrrwork + 3753614;
300 double * const HRR_INT__m_p_i_s = hrrwork + 3757079;
301 double * const HRR_INT__m_p_k_s = hrrwork + 3761699;
302 double * const HRR_INT__m_p_l_s = hrrwork + 3767639;
303 double * const HRR_INT__m_p_m_s = hrrwork + 3775064;
304 double * const HRR_INT__m_p_n_s = hrrwork + 3784139;
305 double * const HRR_INT__m_d_h_s = hrrwork + 3795029;
306 double * const HRR_INT__m_d_i_s = hrrwork + 3801959;
307 double * const HRR_INT__m_d_k_s = hrrwork + 3811199;
308 double * const HRR_INT__m_d_l_s = hrrwork + 3823079;
309 double * const HRR_INT__m_d_m_s = hrrwork + 3837929;
310 double * const HRR_INT__m_d_n_s = hrrwork + 3856079;
311 double * const HRR_INT__m_f_h_s = hrrwork + 3877859;
312 double * const HRR_INT__m_f_i_s = hrrwork + 3889409;
313 double * const HRR_INT__m_f_k_s = hrrwork + 3904809;
314 double * const HRR_INT__m_f_l_s = hrrwork + 3924609;
315 double * const HRR_INT__m_f_m_s = hrrwork + 3949359;
316 double * const HRR_INT__m_f_n_s = hrrwork + 3979609;
317 double * const HRR_INT__n_p_h_s = hrrwork + 4015909;
318 double * const HRR_INT__n_p_i_s = hrrwork + 4020067;
319 double * const HRR_INT__n_p_k_s = hrrwork + 4025611;
320 double * const HRR_INT__n_p_l_s = hrrwork + 4032739;
321 double * const HRR_INT__n_p_m_s = hrrwork + 4041649;
322 double * const HRR_INT__n_p_n_s = hrrwork + 4052539;
323 double * const HRR_INT__n_d_h_s = hrrwork + 4065607;
324 double * const HRR_INT__n_d_i_s = hrrwork + 4073923;
325 double * const HRR_INT__n_d_k_s = hrrwork + 4085011;
326 double * const HRR_INT__n_d_l_s = hrrwork + 4099267;
327 double * const HRR_INT__n_d_m_s = hrrwork + 4117087;
328 double * const HRR_INT__n_d_n_s = hrrwork + 4138867;
329 double * const HRR_INT__o_p_h_s = hrrwork + 4165003;
330 double * const HRR_INT__o_p_i_s = hrrwork + 4169917;
331 double * const HRR_INT__o_p_k_s = hrrwork + 4176469;
332 double * const HRR_INT__o_p_l_s = hrrwork + 4184893;
333 double * const HRR_INT__o_p_m_s = hrrwork + 4195423;
334 double * const HRR_INT__o_p_n_s = hrrwork + 4208293;
335
336
337 // Create constants
338 const SIMINT_DBLTYPE const_1 = SIMINT_DBLSET1(1);
339 const SIMINT_DBLTYPE const_10 = SIMINT_DBLSET1(10);
340 const SIMINT_DBLTYPE const_11 = SIMINT_DBLSET1(11);
341 const SIMINT_DBLTYPE const_12 = SIMINT_DBLSET1(12);
342 const SIMINT_DBLTYPE const_2 = SIMINT_DBLSET1(2);
343 const SIMINT_DBLTYPE const_3 = SIMINT_DBLSET1(3);
344 const SIMINT_DBLTYPE const_4 = SIMINT_DBLSET1(4);
345 const SIMINT_DBLTYPE const_5 = SIMINT_DBLSET1(5);
346 const SIMINT_DBLTYPE const_6 = SIMINT_DBLSET1(6);
347 const SIMINT_DBLTYPE const_7 = SIMINT_DBLSET1(7);
348 const SIMINT_DBLTYPE const_8 = SIMINT_DBLSET1(8);
349 const SIMINT_DBLTYPE const_9 = SIMINT_DBLSET1(9);
350 const SIMINT_DBLTYPE one_half = SIMINT_DBLSET1(0.5);
351
352
353 ////////////////////////////////////////
354 // Loop over shells and primitives
355 ////////////////////////////////////////
356
357 real_abcd = 0;
358 istart = 0;
359 for(ab = 0; ab < P.nshell12_clip; ++ab)
360 {
361 const int iend = istart + P.nprim12[ab];
362
363 cd = 0;
364 jstart = 0;
365
366 for(cd = 0; cd < Q.nshell12_clip; cd += SIMINT_NSHELL_SIMD)
367 {
368 const int nshellbatch = ((cd + SIMINT_NSHELL_SIMD) > Q.nshell12_clip) ? Q.nshell12_clip - cd : SIMINT_NSHELL_SIMD;
369 int jend = jstart;
370 for(i = 0; i < nshellbatch; i++)
371 jend += Q.nprim12[cd+i];
372
373 // Clear the beginning of the workspace (where we are accumulating integrals)
374 memset(work, 0, SIMINT_NSHELL_SIMD * 100149 * sizeof(double));
375 abcd = 0;
376
377
378 for(i = istart; i < iend; ++i)
379 {
380 SIMINT_DBLTYPE bra_screen_max; // only used if check_screen
381
382 if(check_screen)
383 {
384 // Skip this whole thing if always insignificant
385 if((P.screen[i] * Q.screen_max) < screen_tol)
386 continue;
387 bra_screen_max = SIMINT_DBLSET1(P.screen[i]);
388 }
389
390 icd = 0;
391 iprimcd = 0;
392 nprim_icd = Q.nprim12[cd];
393 double * restrict PRIM_PTR_INT__i_s_h_s = INT__i_s_h_s + abcd * 588;
394 double * restrict PRIM_PTR_INT__i_s_i_s = INT__i_s_i_s + abcd * 784;
395 double * restrict PRIM_PTR_INT__i_s_k_s = INT__i_s_k_s + abcd * 1008;
396 double * restrict PRIM_PTR_INT__i_s_l_s = INT__i_s_l_s + abcd * 1260;
397 double * restrict PRIM_PTR_INT__i_s_m_s = INT__i_s_m_s + abcd * 1540;
398 double * restrict PRIM_PTR_INT__i_s_n_s = INT__i_s_n_s + abcd * 1848;
399 double * restrict PRIM_PTR_INT__k_s_h_s = INT__k_s_h_s + abcd * 756;
400 double * restrict PRIM_PTR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
401 double * restrict PRIM_PTR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
402 double * restrict PRIM_PTR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
403 double * restrict PRIM_PTR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
404 double * restrict PRIM_PTR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
405 double * restrict PRIM_PTR_INT__l_s_h_s = INT__l_s_h_s + abcd * 945;
406 double * restrict PRIM_PTR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
407 double * restrict PRIM_PTR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
408 double * restrict PRIM_PTR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
409 double * restrict PRIM_PTR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
410 double * restrict PRIM_PTR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
411 double * restrict PRIM_PTR_INT__m_s_h_s = INT__m_s_h_s + abcd * 1155;
412 double * restrict PRIM_PTR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
413 double * restrict PRIM_PTR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
414 double * restrict PRIM_PTR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
415 double * restrict PRIM_PTR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
416 double * restrict PRIM_PTR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
417 double * restrict PRIM_PTR_INT__n_s_h_s = INT__n_s_h_s + abcd * 1386;
418 double * restrict PRIM_PTR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
419 double * restrict PRIM_PTR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
420 double * restrict PRIM_PTR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
421 double * restrict PRIM_PTR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
422 double * restrict PRIM_PTR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
423 double * restrict PRIM_PTR_INT__o_s_h_s = INT__o_s_h_s + abcd * 1638;
424 double * restrict PRIM_PTR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
425 double * restrict PRIM_PTR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
426 double * restrict PRIM_PTR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
427 double * restrict PRIM_PTR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
428 double * restrict PRIM_PTR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
429 double * restrict PRIM_PTR_INT__q_s_h_s = INT__q_s_h_s + abcd * 1911;
430 double * restrict PRIM_PTR_INT__q_s_i_s = INT__q_s_i_s + abcd * 2548;
431 double * restrict PRIM_PTR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
432 double * restrict PRIM_PTR_INT__q_s_l_s = INT__q_s_l_s + abcd * 4095;
433 double * restrict PRIM_PTR_INT__q_s_m_s = INT__q_s_m_s + abcd * 5005;
434 double * restrict PRIM_PTR_INT__q_s_n_s = INT__q_s_n_s + abcd * 6006;
435
436
437
438 // Load these one per loop over i
439 const SIMINT_DBLTYPE P_alpha = SIMINT_DBLSET1(P.alpha[i]);
440 const SIMINT_DBLTYPE P_prefac = SIMINT_DBLSET1(P.prefac[i]);
441 const SIMINT_DBLTYPE Pxyz[3] = { SIMINT_DBLSET1(P.x[i]), SIMINT_DBLSET1(P.y[i]), SIMINT_DBLSET1(P.z[i]) };
442
443 const SIMINT_DBLTYPE P_PA[3] = { SIMINT_DBLSET1(P.PA_x[i]), SIMINT_DBLSET1(P.PA_y[i]), SIMINT_DBLSET1(P.PA_z[i]) };
444
445 for(j = jstart; j < jend; j += SIMINT_SIMD_LEN)
446 {
447 // calculate the shell offsets
448 // these are the offset from the shell pointed to by cd
449 // for each element
450 int shelloffsets[SIMINT_SIMD_LEN] = {0};
451 int lastoffset = 0;
452 const int nlane = ( ((j + SIMINT_SIMD_LEN) < jend) ? SIMINT_SIMD_LEN : (jend - j));
453
454 if((iprimcd + SIMINT_SIMD_LEN) >= nprim_icd)
455 {
456 // Handle if the first element of the vector is a new shell
457 if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
458 {
459 nprim_icd += Q.nprim12[cd + (++icd)];
460 PRIM_PTR_INT__i_s_h_s += 588;
461 PRIM_PTR_INT__i_s_i_s += 784;
462 PRIM_PTR_INT__i_s_k_s += 1008;
463 PRIM_PTR_INT__i_s_l_s += 1260;
464 PRIM_PTR_INT__i_s_m_s += 1540;
465 PRIM_PTR_INT__i_s_n_s += 1848;
466 PRIM_PTR_INT__k_s_h_s += 756;
467 PRIM_PTR_INT__k_s_i_s += 1008;
468 PRIM_PTR_INT__k_s_k_s += 1296;
469 PRIM_PTR_INT__k_s_l_s += 1620;
470 PRIM_PTR_INT__k_s_m_s += 1980;
471 PRIM_PTR_INT__k_s_n_s += 2376;
472 PRIM_PTR_INT__l_s_h_s += 945;
473 PRIM_PTR_INT__l_s_i_s += 1260;
474 PRIM_PTR_INT__l_s_k_s += 1620;
475 PRIM_PTR_INT__l_s_l_s += 2025;
476 PRIM_PTR_INT__l_s_m_s += 2475;
477 PRIM_PTR_INT__l_s_n_s += 2970;
478 PRIM_PTR_INT__m_s_h_s += 1155;
479 PRIM_PTR_INT__m_s_i_s += 1540;
480 PRIM_PTR_INT__m_s_k_s += 1980;
481 PRIM_PTR_INT__m_s_l_s += 2475;
482 PRIM_PTR_INT__m_s_m_s += 3025;
483 PRIM_PTR_INT__m_s_n_s += 3630;
484 PRIM_PTR_INT__n_s_h_s += 1386;
485 PRIM_PTR_INT__n_s_i_s += 1848;
486 PRIM_PTR_INT__n_s_k_s += 2376;
487 PRIM_PTR_INT__n_s_l_s += 2970;
488 PRIM_PTR_INT__n_s_m_s += 3630;
489 PRIM_PTR_INT__n_s_n_s += 4356;
490 PRIM_PTR_INT__o_s_h_s += 1638;
491 PRIM_PTR_INT__o_s_i_s += 2184;
492 PRIM_PTR_INT__o_s_k_s += 2808;
493 PRIM_PTR_INT__o_s_l_s += 3510;
494 PRIM_PTR_INT__o_s_m_s += 4290;
495 PRIM_PTR_INT__o_s_n_s += 5148;
496 PRIM_PTR_INT__q_s_h_s += 1911;
497 PRIM_PTR_INT__q_s_i_s += 2548;
498 PRIM_PTR_INT__q_s_k_s += 3276;
499 PRIM_PTR_INT__q_s_l_s += 4095;
500 PRIM_PTR_INT__q_s_m_s += 5005;
501 PRIM_PTR_INT__q_s_n_s += 6006;
502 }
503 iprimcd++;
504 for(n = 1; n < SIMINT_SIMD_LEN; ++n)
505 {
506 if(iprimcd >= nprim_icd && ((icd+1) < nshellbatch))
507 {
508 shelloffsets[n] = shelloffsets[n-1] + 1;
509 lastoffset++;
510 nprim_icd += Q.nprim12[cd + (++icd)];
511 }
512 else
513 shelloffsets[n] = shelloffsets[n-1];
514 iprimcd++;
515 }
516 }
517 else
518 iprimcd += SIMINT_SIMD_LEN;
519
520 // Do we have to compute this vector (or has it been screened out)?
521 // (not_screened != 0 means we have to do this vector)
522 if(check_screen)
523 {
524 const double vmax = vector_max(SIMINT_MUL(bra_screen_max, SIMINT_DBLLOAD(Q.screen, j)));
525 if(vmax < screen_tol)
526 {
527 PRIM_PTR_INT__i_s_h_s += lastoffset*588;
528 PRIM_PTR_INT__i_s_i_s += lastoffset*784;
529 PRIM_PTR_INT__i_s_k_s += lastoffset*1008;
530 PRIM_PTR_INT__i_s_l_s += lastoffset*1260;
531 PRIM_PTR_INT__i_s_m_s += lastoffset*1540;
532 PRIM_PTR_INT__i_s_n_s += lastoffset*1848;
533 PRIM_PTR_INT__k_s_h_s += lastoffset*756;
534 PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
535 PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
536 PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
537 PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
538 PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
539 PRIM_PTR_INT__l_s_h_s += lastoffset*945;
540 PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
541 PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
542 PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
543 PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
544 PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
545 PRIM_PTR_INT__m_s_h_s += lastoffset*1155;
546 PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
547 PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
548 PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
549 PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
550 PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
551 PRIM_PTR_INT__n_s_h_s += lastoffset*1386;
552 PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
553 PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
554 PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
555 PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
556 PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
557 PRIM_PTR_INT__o_s_h_s += lastoffset*1638;
558 PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
559 PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
560 PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
561 PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
562 PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
563 PRIM_PTR_INT__q_s_h_s += lastoffset*1911;
564 PRIM_PTR_INT__q_s_i_s += lastoffset*2548;
565 PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
566 PRIM_PTR_INT__q_s_l_s += lastoffset*4095;
567 PRIM_PTR_INT__q_s_m_s += lastoffset*5005;
568 PRIM_PTR_INT__q_s_n_s += lastoffset*6006;
569 continue;
570 }
571 }
572
573 const SIMINT_DBLTYPE Q_alpha = SIMINT_DBLLOAD(Q.alpha, j);
574 const SIMINT_DBLTYPE PQalpha_mul = SIMINT_MUL(P_alpha, Q_alpha);
575 const SIMINT_DBLTYPE PQalpha_sum = SIMINT_ADD(P_alpha, Q_alpha);
576 const SIMINT_DBLTYPE one_over_PQalpha_sum = SIMINT_DIV(const_1, PQalpha_sum);
577
578
579 /* construct R2 = (Px - Qx)**2 + (Py - Qy)**2 + (Pz -Qz)**2 */
580 SIMINT_DBLTYPE PQ[3];
581 PQ[0] = SIMINT_SUB(Pxyz[0], SIMINT_DBLLOAD(Q.x, j));
582 PQ[1] = SIMINT_SUB(Pxyz[1], SIMINT_DBLLOAD(Q.y, j));
583 PQ[2] = SIMINT_SUB(Pxyz[2], SIMINT_DBLLOAD(Q.z, j));
584 SIMINT_DBLTYPE R2 = SIMINT_MUL(PQ[0], PQ[0]);
585 R2 = SIMINT_FMADD(PQ[1], PQ[1], R2);
586 R2 = SIMINT_FMADD(PQ[2], PQ[2], R2);
587
588 const SIMINT_DBLTYPE alpha = SIMINT_MUL(PQalpha_mul, one_over_PQalpha_sum); // alpha from MEST
589 const SIMINT_DBLTYPE one_over_p = SIMINT_DIV(const_1, P_alpha);
590 const SIMINT_DBLTYPE one_over_q = SIMINT_DIV(const_1, Q_alpha);
591 const SIMINT_DBLTYPE one_over_2p = SIMINT_MUL(one_half, one_over_p);
592 const SIMINT_DBLTYPE one_over_2q = SIMINT_MUL(one_half, one_over_q);
593 const SIMINT_DBLTYPE one_over_2pq = SIMINT_MUL(one_half, one_over_PQalpha_sum);
594 const SIMINT_DBLTYPE Q_PA[3] = { SIMINT_DBLLOAD(Q.PA_x, j), SIMINT_DBLLOAD(Q.PA_y, j), SIMINT_DBLLOAD(Q.PA_z, j) };
595
596 // NOTE: Minus sign!
597 const SIMINT_DBLTYPE a_over_p = SIMINT_MUL(SIMINT_NEG(alpha), one_over_p);
598 SIMINT_DBLTYPE aop_PQ[3];
599 aop_PQ[0] = SIMINT_MUL(a_over_p, PQ[0]);
600 aop_PQ[1] = SIMINT_MUL(a_over_p, PQ[1]);
601 aop_PQ[2] = SIMINT_MUL(a_over_p, PQ[2]);
602
603 SIMINT_DBLTYPE a_over_q = SIMINT_MUL(alpha, one_over_q);
604 SIMINT_DBLTYPE aoq_PQ[3];
605 aoq_PQ[0] = SIMINT_MUL(a_over_q, PQ[0]);
606 aoq_PQ[1] = SIMINT_MUL(a_over_q, PQ[1]);
607 aoq_PQ[2] = SIMINT_MUL(a_over_q, PQ[2]);
608 // Put a minus sign here so we don't have to in RR routines
609 a_over_q = SIMINT_NEG(a_over_q);
610
611
612 //////////////////////////////////////////////
613 // Fjt function section
614 // Maximum v value: 22
615 //////////////////////////////////////////////
616 // The parameter to the Fjt function
617 const SIMINT_DBLTYPE F_x = SIMINT_MUL(R2, alpha);
618
619
620 const SIMINT_DBLTYPE Q_prefac = mask_load(nlane, Q.prefac + j);
621
622
623 boys_F_split(PRIM_INT__s_s_s_s, F_x, 22);
624 SIMINT_DBLTYPE prefac = SIMINT_SQRT(one_over_PQalpha_sum);
625 prefac = SIMINT_MUL(SIMINT_MUL(P_prefac, Q_prefac), prefac);
626 for(n = 0; n <= 22; n++)
627 PRIM_INT__s_s_s_s[n] = SIMINT_MUL(PRIM_INT__s_s_s_s[n], prefac);
628
629 //////////////////////////////////////////////
630 // Primitive integrals: Vertical recurrance
631 //////////////////////////////////////////////
632
633 const SIMINT_DBLTYPE vrr_const_1_over_2p = one_over_2p;
634 const SIMINT_DBLTYPE vrr_const_2_over_2p = SIMINT_MUL(const_2, one_over_2p);
635 const SIMINT_DBLTYPE vrr_const_3_over_2p = SIMINT_MUL(const_3, one_over_2p);
636 const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(const_4, one_over_2p);
637 const SIMINT_DBLTYPE vrr_const_5_over_2p = SIMINT_MUL(const_5, one_over_2p);
638 const SIMINT_DBLTYPE vrr_const_6_over_2p = SIMINT_MUL(const_6, one_over_2p);
639 const SIMINT_DBLTYPE vrr_const_7_over_2p = SIMINT_MUL(const_7, one_over_2p);
640 const SIMINT_DBLTYPE vrr_const_8_over_2p = SIMINT_MUL(const_8, one_over_2p);
641 const SIMINT_DBLTYPE vrr_const_9_over_2p = SIMINT_MUL(const_9, one_over_2p);
642 const SIMINT_DBLTYPE vrr_const_10_over_2p = SIMINT_MUL(const_10, one_over_2p);
643 const SIMINT_DBLTYPE vrr_const_11_over_2p = SIMINT_MUL(const_11, one_over_2p);
644 const SIMINT_DBLTYPE vrr_const_1_over_2q = one_over_2q;
645 const SIMINT_DBLTYPE vrr_const_2_over_2q = SIMINT_MUL(const_2, one_over_2q);
646 const SIMINT_DBLTYPE vrr_const_3_over_2q = SIMINT_MUL(const_3, one_over_2q);
647 const SIMINT_DBLTYPE vrr_const_4_over_2q = SIMINT_MUL(const_4, one_over_2q);
648 const SIMINT_DBLTYPE vrr_const_5_over_2q = SIMINT_MUL(const_5, one_over_2q);
649 const SIMINT_DBLTYPE vrr_const_6_over_2q = SIMINT_MUL(const_6, one_over_2q);
650 const SIMINT_DBLTYPE vrr_const_7_over_2q = SIMINT_MUL(const_7, one_over_2q);
651 const SIMINT_DBLTYPE vrr_const_8_over_2q = SIMINT_MUL(const_8, one_over_2q);
652 const SIMINT_DBLTYPE vrr_const_9_over_2q = SIMINT_MUL(const_9, one_over_2q);
653 const SIMINT_DBLTYPE vrr_const_1_over_2pq = one_over_2pq;
654 const SIMINT_DBLTYPE vrr_const_2_over_2pq = SIMINT_MUL(const_2, one_over_2pq);
655 const SIMINT_DBLTYPE vrr_const_3_over_2pq = SIMINT_MUL(const_3, one_over_2pq);
656 const SIMINT_DBLTYPE vrr_const_4_over_2pq = SIMINT_MUL(const_4, one_over_2pq);
657 const SIMINT_DBLTYPE vrr_const_5_over_2pq = SIMINT_MUL(const_5, one_over_2pq);
658 const SIMINT_DBLTYPE vrr_const_6_over_2pq = SIMINT_MUL(const_6, one_over_2pq);
659 const SIMINT_DBLTYPE vrr_const_7_over_2pq = SIMINT_MUL(const_7, one_over_2pq);
660 const SIMINT_DBLTYPE vrr_const_8_over_2pq = SIMINT_MUL(const_8, one_over_2pq);
661 const SIMINT_DBLTYPE vrr_const_9_over_2pq = SIMINT_MUL(const_9, one_over_2pq);
662 const SIMINT_DBLTYPE vrr_const_10_over_2pq = SIMINT_MUL(const_10, one_over_2pq);
663 const SIMINT_DBLTYPE vrr_const_11_over_2pq = SIMINT_MUL(const_11, one_over_2pq);
664 const SIMINT_DBLTYPE vrr_const_12_over_2pq = SIMINT_MUL(const_12, one_over_2pq);
665
666
667
668 // Forming PRIM_INT__p_s_s_s[22 * 3];
669 for(n = 0; n < 22; ++n) // loop over orders of auxiliary function
670 {
671
672 PRIM_INT__p_s_s_s[n * 3 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
673 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]);
674
675 PRIM_INT__p_s_s_s[n * 3 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
676 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]);
677
678 PRIM_INT__p_s_s_s[n * 3 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
679 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]);
680
681 }
682
683
684
685 // Forming PRIM_INT__d_s_s_s[21 * 6];
686 for(n = 0; n < 21; ++n) // loop over orders of auxiliary function
687 {
688
689 PRIM_INT__d_s_s_s[n * 6 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
690 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]);
691 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]);
692
693 PRIM_INT__d_s_s_s[n * 6 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
694 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]);
695
696 PRIM_INT__d_s_s_s[n * 6 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
697 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]);
698
699 PRIM_INT__d_s_s_s[n * 6 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
700 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]);
701 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]);
702
703 PRIM_INT__d_s_s_s[n * 6 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
704 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]);
705
706 PRIM_INT__d_s_s_s[n * 6 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
707 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]);
708 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]);
709
710 }
711
712
713
714 // Forming PRIM_INT__f_s_s_s[20 * 10];
715 for(n = 0; n < 20; ++n) // loop over orders of auxiliary function
716 {
717
718 PRIM_INT__f_s_s_s[n * 10 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
719 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]);
720 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]);
721
722 PRIM_INT__f_s_s_s[n * 10 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
723 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]);
724
725 PRIM_INT__f_s_s_s[n * 10 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
726 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]);
727
728 PRIM_INT__f_s_s_s[n * 10 + 3] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
729 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]);
730
731 PRIM_INT__f_s_s_s[n * 10 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
732 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]);
733
734 PRIM_INT__f_s_s_s[n * 10 + 5] = SIMINT_MUL(P_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
735 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]);
736
737 PRIM_INT__f_s_s_s[n * 10 + 6] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
738 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]);
739 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]);
740
741 PRIM_INT__f_s_s_s[n * 10 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
742 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]);
743
744 PRIM_INT__f_s_s_s[n * 10 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
745 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]);
746
747 PRIM_INT__f_s_s_s[n * 10 + 9] = SIMINT_MUL(P_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
748 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]);
749 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]);
750
751 }
752
753
754 VRR_I_g_s_s_s(
755 PRIM_INT__g_s_s_s,
756 PRIM_INT__f_s_s_s,
757 PRIM_INT__d_s_s_s,
758 P_PA,
759 a_over_p,
760 aop_PQ,
761 one_over_2p,
762 19);
763
764
765 VRR_I_h_s_s_s(
766 PRIM_INT__h_s_s_s,
767 PRIM_INT__g_s_s_s,
768 PRIM_INT__f_s_s_s,
769 P_PA,
770 a_over_p,
771 aop_PQ,
772 one_over_2p,
773 18);
774
775
776 ostei_general_vrr1_I(6, 17,
777 one_over_2p, a_over_p, aop_PQ, P_PA,
778 PRIM_INT__h_s_s_s, PRIM_INT__g_s_s_s, PRIM_INT__i_s_s_s);
779
780
781 ostei_general_vrr_K(6, 0, 1, 0, 10,
782 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
783 PRIM_INT__i_s_s_s, NULL, NULL, PRIM_INT__h_s_s_s, NULL, PRIM_INT__i_s_p_s);
784
785
786 ostei_general_vrr_K(5, 0, 1, 0, 10,
787 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
788 PRIM_INT__h_s_s_s, NULL, NULL, PRIM_INT__g_s_s_s, NULL, PRIM_INT__h_s_p_s);
789
790
791 ostei_general_vrr_K(6, 0, 2, 0, 9,
792 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
793 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);
794
795
796 VRR_K_g_s_p_s(
797 PRIM_INT__g_s_p_s,
798 PRIM_INT__g_s_s_s,
799 PRIM_INT__f_s_s_s,
800 Q_PA,
801 aoq_PQ,
802 one_over_2pq,
803 10);
804
805
806 ostei_general_vrr_K(5, 0, 2, 0, 9,
807 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
808 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);
809
810
811 ostei_general_vrr_K(6, 0, 3, 0, 8,
812 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
813 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);
814
815
816 VRR_K_f_s_p_s(
817 PRIM_INT__f_s_p_s,
818 PRIM_INT__f_s_s_s,
819 PRIM_INT__d_s_s_s,
820 Q_PA,
821 aoq_PQ,
822 one_over_2pq,
823 10);
824
825
826 ostei_general_vrr_K(4, 0, 2, 0, 9,
827 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
828 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);
829
830
831 ostei_general_vrr_K(5, 0, 3, 0, 8,
832 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
833 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);
834
835
836 ostei_general_vrr_K(6, 0, 4, 0, 7,
837 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
838 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);
839
840
841
842 // Forming PRIM_INT__d_s_p_s[10 * 18];
843 for(n = 0; n < 10; ++n) // loop over orders of auxiliary function
844 {
845
846 PRIM_INT__d_s_p_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 0]);
847 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]);
848 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]);
849
850 PRIM_INT__d_s_p_s[n * 18 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 0]);
851 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]);
852
853 PRIM_INT__d_s_p_s[n * 18 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 0]);
854 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]);
855
856 PRIM_INT__d_s_p_s[n * 18 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 1]);
857 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]);
858 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]);
859
860 PRIM_INT__d_s_p_s[n * 18 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 1]);
861 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]);
862 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]);
863
864 PRIM_INT__d_s_p_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 1]);
865 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]);
866
867 PRIM_INT__d_s_p_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 2]);
868 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]);
869 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]);
870
871 PRIM_INT__d_s_p_s[n * 18 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 2]);
872 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]);
873
874 PRIM_INT__d_s_p_s[n * 18 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 2]);
875 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]);
876 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]);
877
878 PRIM_INT__d_s_p_s[n * 18 + 9] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 3]);
879 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]);
880
881 PRIM_INT__d_s_p_s[n * 18 + 10] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 3]);
882 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]);
883 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]);
884
885 PRIM_INT__d_s_p_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 3]);
886 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]);
887
888 PRIM_INT__d_s_p_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 4]);
889 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]);
890
891 PRIM_INT__d_s_p_s[n * 18 + 13] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 4]);
892 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]);
893 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]);
894
895 PRIM_INT__d_s_p_s[n * 18 + 14] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 4]);
896 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]);
897 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]);
898
899 PRIM_INT__d_s_p_s[n * 18 + 15] = SIMINT_MUL(Q_PA[0], PRIM_INT__d_s_s_s[n * 6 + 5]);
900 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]);
901
902 PRIM_INT__d_s_p_s[n * 18 + 16] = SIMINT_MUL(Q_PA[1], PRIM_INT__d_s_s_s[n * 6 + 5]);
903 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]);
904
905 PRIM_INT__d_s_p_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__d_s_s_s[n * 6 + 5]);
906 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]);
907 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]);
908
909 }
910
911
912 VRR_K_f_s_d_s(
913 PRIM_INT__f_s_d_s,
914 PRIM_INT__f_s_p_s,
915 PRIM_INT__f_s_s_s,
916 PRIM_INT__d_s_p_s,
917 Q_PA,
918 a_over_q,
919 aoq_PQ,
920 one_over_2pq,
921 one_over_2q,
922 9);
923
924
925 ostei_general_vrr_K(4, 0, 3, 0, 8,
926 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
927 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);
928
929
930 ostei_general_vrr_K(5, 0, 4, 0, 7,
931 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
932 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);
933
934
935 ostei_general_vrr_K(6, 0, 5, 0, 6,
936 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
937 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);
938
939
940
941 // Forming PRIM_INT__p_s_p_s[10 * 9];
942 for(n = 0; n < 10; ++n) // loop over orders of auxiliary function
943 {
944
945 PRIM_INT__p_s_p_s[n * 9 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 0]);
946 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]);
947 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]);
948
949 PRIM_INT__p_s_p_s[n * 9 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 0]);
950 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]);
951
952 PRIM_INT__p_s_p_s[n * 9 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 0]);
953 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]);
954
955 PRIM_INT__p_s_p_s[n * 9 + 3] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 1]);
956 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]);
957
958 PRIM_INT__p_s_p_s[n * 9 + 4] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 1]);
959 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]);
960 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]);
961
962 PRIM_INT__p_s_p_s[n * 9 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 1]);
963 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]);
964
965 PRIM_INT__p_s_p_s[n * 9 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_s_s[n * 3 + 2]);
966 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]);
967
968 PRIM_INT__p_s_p_s[n * 9 + 7] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_s_s[n * 3 + 2]);
969 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]);
970
971 PRIM_INT__p_s_p_s[n * 9 + 8] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_s_s[n * 3 + 2]);
972 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]);
973 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]);
974
975 }
976
977
978 VRR_K_d_s_d_s(
979 PRIM_INT__d_s_d_s,
980 PRIM_INT__d_s_p_s,
981 PRIM_INT__d_s_s_s,
982 PRIM_INT__p_s_p_s,
983 Q_PA,
984 a_over_q,
985 aoq_PQ,
986 one_over_2pq,
987 one_over_2q,
988 9);
989
990
991 ostei_general_vrr_K(3, 0, 3, 0, 8,
992 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
993 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);
994
995
996 ostei_general_vrr_K(4, 0, 4, 0, 7,
997 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
998 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);
999
1000
1001 ostei_general_vrr_K(5, 0, 5, 0, 6,
1002 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1003 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);
1004
1005
1006 ostei_general_vrr_K(6, 0, 6, 0, 5,
1007 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1008 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);
1009
1010
1011 ostei_general_vrr1_I(7, 16,
1012 one_over_2p, a_over_p, aop_PQ, P_PA,
1013 PRIM_INT__i_s_s_s, PRIM_INT__h_s_s_s, PRIM_INT__k_s_s_s);
1014
1015
1016 ostei_general_vrr_K(7, 0, 1, 0, 10,
1017 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1018 PRIM_INT__k_s_s_s, NULL, NULL, PRIM_INT__i_s_s_s, NULL, PRIM_INT__k_s_p_s);
1019
1020
1021 ostei_general_vrr_K(7, 0, 2, 0, 9,
1022 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1023 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);
1024
1025
1026 ostei_general_vrr_K(7, 0, 3, 0, 8,
1027 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1028 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);
1029
1030
1031 ostei_general_vrr_K(7, 0, 4, 0, 7,
1032 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1033 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);
1034
1035
1036 ostei_general_vrr_K(7, 0, 5, 0, 6,
1037 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1038 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);
1039
1040
1041
1042 // Forming PRIM_INT__s_s_p_s[10 * 3];
1043 for(n = 0; n < 10; ++n) // loop over orders of auxiliary function
1044 {
1045
1046 PRIM_INT__s_s_p_s[n * 3 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_s_s[n * 1 + 0]);
1047 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]);
1048
1049 PRIM_INT__s_s_p_s[n * 3 + 1] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_s_s[n * 1 + 0]);
1050 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]);
1051
1052 PRIM_INT__s_s_p_s[n * 3 + 2] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_s_s[n * 1 + 0]);
1053 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]);
1054
1055 }
1056
1057
1058
1059 // Forming PRIM_INT__p_s_d_s[9 * 18];
1060 for(n = 0; n < 9; ++n) // loop over orders of auxiliary function
1061 {
1062
1063 PRIM_INT__p_s_d_s[n * 18 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 0]);
1064 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]);
1065 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]);
1066 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]);
1067
1068 PRIM_INT__p_s_d_s[n * 18 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 1]);
1069 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]);
1070 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]);
1071
1072 PRIM_INT__p_s_d_s[n * 18 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 2]);
1073 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]);
1074 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]);
1075
1076 PRIM_INT__p_s_d_s[n * 18 + 6] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 3]);
1077 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]);
1078 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]);
1079
1080 PRIM_INT__p_s_d_s[n * 18 + 9] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 4]);
1081 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]);
1082 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]);
1083 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]);
1084
1085 PRIM_INT__p_s_d_s[n * 18 + 11] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 5]);
1086 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]);
1087 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]);
1088
1089 PRIM_INT__p_s_d_s[n * 18 + 12] = SIMINT_MUL(Q_PA[0], PRIM_INT__p_s_p_s[n * 9 + 6]);
1090 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]);
1091 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]);
1092
1093 PRIM_INT__p_s_d_s[n * 18 + 15] = SIMINT_MUL(Q_PA[1], PRIM_INT__p_s_p_s[n * 9 + 7]);
1094 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]);
1095 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]);
1096
1097 PRIM_INT__p_s_d_s[n * 18 + 17] = SIMINT_MUL(Q_PA[2], PRIM_INT__p_s_p_s[n * 9 + 8]);
1098 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]);
1099 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]);
1100 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]);
1101
1102 }
1103
1104
1105 VRR_K_d_s_f_s(
1106 PRIM_INT__d_s_f_s,
1107 PRIM_INT__d_s_d_s,
1108 PRIM_INT__d_s_p_s,
1109 PRIM_INT__p_s_d_s,
1110 Q_PA,
1111 a_over_q,
1112 aoq_PQ,
1113 one_over_2pq,
1114 one_over_2q,
1115 8);
1116
1117
1118 ostei_general_vrr_K(3, 0, 4, 0, 7,
1119 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1120 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);
1121
1122
1123 ostei_general_vrr_K(4, 0, 5, 0, 6,
1124 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1125 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);
1126
1127
1128 ostei_general_vrr_K(5, 0, 6, 0, 5,
1129 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1130 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);
1131
1132
1133 ostei_general_vrr_K(6, 0, 7, 0, 4,
1134 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1135 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);
1136
1137
1138 ostei_general_vrr_K(7, 0, 6, 0, 5,
1139 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1140 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);
1141
1142
1143 ostei_general_vrr1_I(8, 15,
1144 one_over_2p, a_over_p, aop_PQ, P_PA,
1145 PRIM_INT__k_s_s_s, PRIM_INT__i_s_s_s, PRIM_INT__l_s_s_s);
1146
1147
1148 ostei_general_vrr_K(8, 0, 1, 0, 10,
1149 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1150 PRIM_INT__l_s_s_s, NULL, NULL, PRIM_INT__k_s_s_s, NULL, PRIM_INT__l_s_p_s);
1151
1152
1153 ostei_general_vrr_K(8, 0, 2, 0, 9,
1154 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1155 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);
1156
1157
1158 ostei_general_vrr_K(8, 0, 3, 0, 8,
1159 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1160 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);
1161
1162
1163 ostei_general_vrr_K(8, 0, 4, 0, 7,
1164 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1165 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);
1166
1167
1168 ostei_general_vrr_K(8, 0, 5, 0, 6,
1169 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1170 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);
1171
1172
1173
1174 // Forming PRIM_INT__s_s_d_s[9 * 6];
1175 for(n = 0; n < 9; ++n) // loop over orders of auxiliary function
1176 {
1177
1178 PRIM_INT__s_s_d_s[n * 6 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_p_s[n * 3 + 0]);
1179 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]);
1180 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]);
1181
1182 PRIM_INT__s_s_d_s[n * 6 + 3] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_p_s[n * 3 + 1]);
1183 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]);
1184 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]);
1185
1186 PRIM_INT__s_s_d_s[n * 6 + 5] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_p_s[n * 3 + 2]);
1187 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]);
1188 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]);
1189
1190 }
1191
1192
1193 VRR_K_p_s_f_s(
1194 PRIM_INT__p_s_f_s,
1195 PRIM_INT__p_s_d_s,
1196 PRIM_INT__p_s_p_s,
1197 PRIM_INT__s_s_d_s,
1198 Q_PA,
1199 a_over_q,
1200 aoq_PQ,
1201 one_over_2pq,
1202 one_over_2q,
1203 8);
1204
1205
1206 ostei_general_vrr_K(2, 0, 4, 0, 7,
1207 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1208 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);
1209
1210
1211 ostei_general_vrr_K(3, 0, 5, 0, 6,
1212 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1213 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);
1214
1215
1216 ostei_general_vrr_K(4, 0, 6, 0, 5,
1217 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1218 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);
1219
1220
1221 ostei_general_vrr_K(5, 0, 7, 0, 4,
1222 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1223 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);
1224
1225
1226 ostei_general_vrr_K(6, 0, 8, 0, 3,
1227 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1228 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);
1229
1230
1231 ostei_general_vrr_K(7, 0, 7, 0, 4,
1232 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1233 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);
1234
1235
1236 ostei_general_vrr_K(8, 0, 6, 0, 5,
1237 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1238 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);
1239
1240
1241 ostei_general_vrr1_I(9, 14,
1242 one_over_2p, a_over_p, aop_PQ, P_PA,
1243 PRIM_INT__l_s_s_s, PRIM_INT__k_s_s_s, PRIM_INT__m_s_s_s);
1244
1245
1246 ostei_general_vrr_K(9, 0, 1, 0, 10,
1247 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1248 PRIM_INT__m_s_s_s, NULL, NULL, PRIM_INT__l_s_s_s, NULL, PRIM_INT__m_s_p_s);
1249
1250
1251 ostei_general_vrr_K(9, 0, 2, 0, 9,
1252 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1253 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);
1254
1255
1256 ostei_general_vrr_K(9, 0, 3, 0, 8,
1257 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1258 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);
1259
1260
1261 ostei_general_vrr_K(9, 0, 4, 0, 7,
1262 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1263 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);
1264
1265
1266 ostei_general_vrr_K(9, 0, 5, 0, 6,
1267 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1268 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);
1269
1270
1271
1272 // Forming PRIM_INT__s_s_f_s[8 * 10];
1273 for(n = 0; n < 8; ++n) // loop over orders of auxiliary function
1274 {
1275
1276 PRIM_INT__s_s_f_s[n * 10 + 0] = SIMINT_MUL(Q_PA[0], PRIM_INT__s_s_d_s[n * 6 + 0]);
1277 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]);
1278 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]);
1279
1280 PRIM_INT__s_s_f_s[n * 10 + 6] = SIMINT_MUL(Q_PA[1], PRIM_INT__s_s_d_s[n * 6 + 3]);
1281 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]);
1282 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]);
1283
1284 PRIM_INT__s_s_f_s[n * 10 + 9] = SIMINT_MUL(Q_PA[2], PRIM_INT__s_s_d_s[n * 6 + 5]);
1285 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]);
1286 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]);
1287
1288 }
1289
1290
1291 VRR_K_p_s_g_s(
1292 PRIM_INT__p_s_g_s,
1293 PRIM_INT__p_s_f_s,
1294 PRIM_INT__p_s_d_s,
1295 PRIM_INT__s_s_f_s,
1296 Q_PA,
1297 a_over_q,
1298 aoq_PQ,
1299 one_over_2pq,
1300 one_over_2q,
1301 7);
1302
1303
1304 ostei_general_vrr_K(2, 0, 5, 0, 6,
1305 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1306 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);
1307
1308
1309 ostei_general_vrr_K(3, 0, 6, 0, 5,
1310 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1311 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);
1312
1313
1314 ostei_general_vrr_K(4, 0, 7, 0, 4,
1315 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1316 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);
1317
1318
1319 ostei_general_vrr_K(5, 0, 8, 0, 3,
1320 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1321 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);
1322
1323
1324 ostei_general_vrr_K(6, 0, 9, 0, 2,
1325 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1326 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);
1327
1328
1329 ostei_general_vrr_K(7, 0, 8, 0, 3,
1330 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1331 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);
1332
1333
1334 ostei_general_vrr_K(8, 0, 7, 0, 4,
1335 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1336 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);
1337
1338
1339 ostei_general_vrr_K(9, 0, 6, 0, 5,
1340 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1341 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);
1342
1343
1344 ostei_general_vrr1_I(10, 13,
1345 one_over_2p, a_over_p, aop_PQ, P_PA,
1346 PRIM_INT__m_s_s_s, PRIM_INT__l_s_s_s, PRIM_INT__n_s_s_s);
1347
1348
1349 ostei_general_vrr_K(10, 0, 1, 0, 10,
1350 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1351 PRIM_INT__n_s_s_s, NULL, NULL, PRIM_INT__m_s_s_s, NULL, PRIM_INT__n_s_p_s);
1352
1353
1354 ostei_general_vrr_K(10, 0, 2, 0, 9,
1355 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1356 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);
1357
1358
1359 ostei_general_vrr_K(10, 0, 3, 0, 8,
1360 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1361 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);
1362
1363
1364 ostei_general_vrr_K(10, 0, 4, 0, 7,
1365 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1366 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);
1367
1368
1369 ostei_general_vrr_K(10, 0, 5, 0, 6,
1370 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1371 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);
1372
1373
1374 VRR_K_s_s_g_s(
1375 PRIM_INT__s_s_g_s,
1376 PRIM_INT__s_s_f_s,
1377 PRIM_INT__s_s_d_s,
1378 Q_PA,
1379 a_over_q,
1380 aoq_PQ,
1381 one_over_2q,
1382 7);
1383
1384
1385 ostei_general_vrr_K(1, 0, 5, 0, 6,
1386 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1387 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);
1388
1389
1390 ostei_general_vrr_K(2, 0, 6, 0, 5,
1391 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1392 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);
1393
1394
1395 ostei_general_vrr_K(3, 0, 7, 0, 4,
1396 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1397 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);
1398
1399
1400 ostei_general_vrr_K(4, 0, 8, 0, 3,
1401 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1402 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);
1403
1404
1405 ostei_general_vrr_K(5, 0, 9, 0, 2,
1406 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1407 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);
1408
1409
1410 ostei_general_vrr_K(6, 0, 10, 0, 1,
1411 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1412 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);
1413
1414
1415 ostei_general_vrr_K(7, 0, 9, 0, 2,
1416 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1417 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);
1418
1419
1420 ostei_general_vrr_K(8, 0, 8, 0, 3,
1421 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1422 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);
1423
1424
1425 ostei_general_vrr_K(9, 0, 7, 0, 4,
1426 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1427 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);
1428
1429
1430 ostei_general_vrr_K(10, 0, 6, 0, 5,
1431 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1432 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);
1433
1434
1435 ostei_general_vrr1_I(11, 12,
1436 one_over_2p, a_over_p, aop_PQ, P_PA,
1437 PRIM_INT__n_s_s_s, PRIM_INT__m_s_s_s, PRIM_INT__o_s_s_s);
1438
1439
1440 ostei_general_vrr_K(11, 0, 1, 0, 10,
1441 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1442 PRIM_INT__o_s_s_s, NULL, NULL, PRIM_INT__n_s_s_s, NULL, PRIM_INT__o_s_p_s);
1443
1444
1445 ostei_general_vrr_K(11, 0, 2, 0, 9,
1446 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1447 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);
1448
1449
1450 ostei_general_vrr_K(11, 0, 3, 0, 8,
1451 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1452 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);
1453
1454
1455 ostei_general_vrr_K(11, 0, 4, 0, 7,
1456 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1457 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);
1458
1459
1460 ostei_general_vrr_K(11, 0, 5, 0, 6,
1461 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1462 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);
1463
1464
1465 ostei_general_vrr_K(7, 0, 10, 0, 1,
1466 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1467 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);
1468
1469
1470 ostei_general_vrr_K(8, 0, 9, 0, 2,
1471 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1472 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);
1473
1474
1475 ostei_general_vrr_K(9, 0, 8, 0, 3,
1476 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1477 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);
1478
1479
1480 ostei_general_vrr_K(10, 0, 7, 0, 4,
1481 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1482 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);
1483
1484
1485 ostei_general_vrr_K(11, 0, 6, 0, 5,
1486 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1487 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);
1488
1489
1490 ostei_general_vrr1_I(12, 11,
1491 one_over_2p, a_over_p, aop_PQ, P_PA,
1492 PRIM_INT__o_s_s_s, PRIM_INT__n_s_s_s, PRIM_INT__q_s_s_s);
1493
1494
1495 ostei_general_vrr_K(12, 0, 1, 0, 10,
1496 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1497 PRIM_INT__q_s_s_s, NULL, NULL, PRIM_INT__o_s_s_s, NULL, PRIM_INT__q_s_p_s);
1498
1499
1500 ostei_general_vrr_K(12, 0, 2, 0, 9,
1501 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1502 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);
1503
1504
1505 ostei_general_vrr_K(12, 0, 3, 0, 8,
1506 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1507 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);
1508
1509
1510 ostei_general_vrr_K(12, 0, 4, 0, 7,
1511 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1512 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);
1513
1514
1515 ostei_general_vrr_K(12, 0, 5, 0, 6,
1516 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1517 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);
1518
1519
1520 ostei_general_vrr_K(8, 0, 10, 0, 1,
1521 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1522 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);
1523
1524
1525 ostei_general_vrr_K(9, 0, 9, 0, 2,
1526 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1527 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);
1528
1529
1530 ostei_general_vrr_K(10, 0, 8, 0, 3,
1531 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1532 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);
1533
1534
1535 ostei_general_vrr_K(11, 0, 7, 0, 4,
1536 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1537 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);
1538
1539
1540 ostei_general_vrr_K(12, 0, 6, 0, 5,
1541 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1542 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);
1543
1544
1545 ostei_general_vrr_K(9, 0, 10, 0, 1,
1546 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1547 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);
1548
1549
1550 ostei_general_vrr_K(10, 0, 9, 0, 2,
1551 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1552 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);
1553
1554
1555 ostei_general_vrr_K(11, 0, 8, 0, 3,
1556 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1557 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);
1558
1559
1560 ostei_general_vrr_K(12, 0, 7, 0, 4,
1561 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1562 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);
1563
1564
1565 ostei_general_vrr_K(10, 0, 10, 0, 1,
1566 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1567 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);
1568
1569
1570 ostei_general_vrr_K(11, 0, 9, 0, 2,
1571 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1572 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);
1573
1574
1575 ostei_general_vrr_K(12, 0, 8, 0, 3,
1576 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1577 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);
1578
1579
1580 ostei_general_vrr_K(11, 0, 10, 0, 1,
1581 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1582 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);
1583
1584
1585 ostei_general_vrr_K(12, 0, 9, 0, 2,
1586 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1587 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);
1588
1589
1590 ostei_general_vrr_K(12, 0, 10, 0, 1,
1591 one_over_2q, a_over_q, one_over_2pq, aoq_PQ, Q_PA,
1592 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);
1593
1594
1595
1596
1597 ////////////////////////////////////
1598 // Accumulate contracted integrals
1599 ////////////////////////////////////
1600 if(lastoffset == 0)
1601 {
1602 contract_all(588, PRIM_INT__i_s_h_s, PRIM_PTR_INT__i_s_h_s);
1603 contract_all(784, PRIM_INT__i_s_i_s, PRIM_PTR_INT__i_s_i_s);
1604 contract_all(1008, PRIM_INT__i_s_k_s, PRIM_PTR_INT__i_s_k_s);
1605 contract_all(1260, PRIM_INT__i_s_l_s, PRIM_PTR_INT__i_s_l_s);
1606 contract_all(1540, PRIM_INT__i_s_m_s, PRIM_PTR_INT__i_s_m_s);
1607 contract_all(1848, PRIM_INT__i_s_n_s, PRIM_PTR_INT__i_s_n_s);
1608 contract_all(756, PRIM_INT__k_s_h_s, PRIM_PTR_INT__k_s_h_s);
1609 contract_all(1008, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1610 contract_all(1296, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1611 contract_all(1620, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1612 contract_all(1980, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1613 contract_all(2376, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1614 contract_all(945, PRIM_INT__l_s_h_s, PRIM_PTR_INT__l_s_h_s);
1615 contract_all(1260, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1616 contract_all(1620, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1617 contract_all(2025, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1618 contract_all(2475, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1619 contract_all(2970, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1620 contract_all(1155, PRIM_INT__m_s_h_s, PRIM_PTR_INT__m_s_h_s);
1621 contract_all(1540, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1622 contract_all(1980, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1623 contract_all(2475, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1624 contract_all(3025, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1625 contract_all(3630, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1626 contract_all(1386, PRIM_INT__n_s_h_s, PRIM_PTR_INT__n_s_h_s);
1627 contract_all(1848, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1628 contract_all(2376, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1629 contract_all(2970, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1630 contract_all(3630, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1631 contract_all(4356, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1632 contract_all(1638, PRIM_INT__o_s_h_s, PRIM_PTR_INT__o_s_h_s);
1633 contract_all(2184, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1634 contract_all(2808, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1635 contract_all(3510, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1636 contract_all(4290, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1637 contract_all(5148, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1638 contract_all(1911, PRIM_INT__q_s_h_s, PRIM_PTR_INT__q_s_h_s);
1639 contract_all(2548, PRIM_INT__q_s_i_s, PRIM_PTR_INT__q_s_i_s);
1640 contract_all(3276, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1641 contract_all(4095, PRIM_INT__q_s_l_s, PRIM_PTR_INT__q_s_l_s);
1642 contract_all(5005, PRIM_INT__q_s_m_s, PRIM_PTR_INT__q_s_m_s);
1643 contract_all(6006, PRIM_INT__q_s_n_s, PRIM_PTR_INT__q_s_n_s);
1644 }
1645 else
1646 {
1647 contract(588, shelloffsets, PRIM_INT__i_s_h_s, PRIM_PTR_INT__i_s_h_s);
1648 contract(784, shelloffsets, PRIM_INT__i_s_i_s, PRIM_PTR_INT__i_s_i_s);
1649 contract(1008, shelloffsets, PRIM_INT__i_s_k_s, PRIM_PTR_INT__i_s_k_s);
1650 contract(1260, shelloffsets, PRIM_INT__i_s_l_s, PRIM_PTR_INT__i_s_l_s);
1651 contract(1540, shelloffsets, PRIM_INT__i_s_m_s, PRIM_PTR_INT__i_s_m_s);
1652 contract(1848, shelloffsets, PRIM_INT__i_s_n_s, PRIM_PTR_INT__i_s_n_s);
1653 contract(756, shelloffsets, PRIM_INT__k_s_h_s, PRIM_PTR_INT__k_s_h_s);
1654 contract(1008, shelloffsets, PRIM_INT__k_s_i_s, PRIM_PTR_INT__k_s_i_s);
1655 contract(1296, shelloffsets, PRIM_INT__k_s_k_s, PRIM_PTR_INT__k_s_k_s);
1656 contract(1620, shelloffsets, PRIM_INT__k_s_l_s, PRIM_PTR_INT__k_s_l_s);
1657 contract(1980, shelloffsets, PRIM_INT__k_s_m_s, PRIM_PTR_INT__k_s_m_s);
1658 contract(2376, shelloffsets, PRIM_INT__k_s_n_s, PRIM_PTR_INT__k_s_n_s);
1659 contract(945, shelloffsets, PRIM_INT__l_s_h_s, PRIM_PTR_INT__l_s_h_s);
1660 contract(1260, shelloffsets, PRIM_INT__l_s_i_s, PRIM_PTR_INT__l_s_i_s);
1661 contract(1620, shelloffsets, PRIM_INT__l_s_k_s, PRIM_PTR_INT__l_s_k_s);
1662 contract(2025, shelloffsets, PRIM_INT__l_s_l_s, PRIM_PTR_INT__l_s_l_s);
1663 contract(2475, shelloffsets, PRIM_INT__l_s_m_s, PRIM_PTR_INT__l_s_m_s);
1664 contract(2970, shelloffsets, PRIM_INT__l_s_n_s, PRIM_PTR_INT__l_s_n_s);
1665 contract(1155, shelloffsets, PRIM_INT__m_s_h_s, PRIM_PTR_INT__m_s_h_s);
1666 contract(1540, shelloffsets, PRIM_INT__m_s_i_s, PRIM_PTR_INT__m_s_i_s);
1667 contract(1980, shelloffsets, PRIM_INT__m_s_k_s, PRIM_PTR_INT__m_s_k_s);
1668 contract(2475, shelloffsets, PRIM_INT__m_s_l_s, PRIM_PTR_INT__m_s_l_s);
1669 contract(3025, shelloffsets, PRIM_INT__m_s_m_s, PRIM_PTR_INT__m_s_m_s);
1670 contract(3630, shelloffsets, PRIM_INT__m_s_n_s, PRIM_PTR_INT__m_s_n_s);
1671 contract(1386, shelloffsets, PRIM_INT__n_s_h_s, PRIM_PTR_INT__n_s_h_s);
1672 contract(1848, shelloffsets, PRIM_INT__n_s_i_s, PRIM_PTR_INT__n_s_i_s);
1673 contract(2376, shelloffsets, PRIM_INT__n_s_k_s, PRIM_PTR_INT__n_s_k_s);
1674 contract(2970, shelloffsets, PRIM_INT__n_s_l_s, PRIM_PTR_INT__n_s_l_s);
1675 contract(3630, shelloffsets, PRIM_INT__n_s_m_s, PRIM_PTR_INT__n_s_m_s);
1676 contract(4356, shelloffsets, PRIM_INT__n_s_n_s, PRIM_PTR_INT__n_s_n_s);
1677 contract(1638, shelloffsets, PRIM_INT__o_s_h_s, PRIM_PTR_INT__o_s_h_s);
1678 contract(2184, shelloffsets, PRIM_INT__o_s_i_s, PRIM_PTR_INT__o_s_i_s);
1679 contract(2808, shelloffsets, PRIM_INT__o_s_k_s, PRIM_PTR_INT__o_s_k_s);
1680 contract(3510, shelloffsets, PRIM_INT__o_s_l_s, PRIM_PTR_INT__o_s_l_s);
1681 contract(4290, shelloffsets, PRIM_INT__o_s_m_s, PRIM_PTR_INT__o_s_m_s);
1682 contract(5148, shelloffsets, PRIM_INT__o_s_n_s, PRIM_PTR_INT__o_s_n_s);
1683 contract(1911, shelloffsets, PRIM_INT__q_s_h_s, PRIM_PTR_INT__q_s_h_s);
1684 contract(2548, shelloffsets, PRIM_INT__q_s_i_s, PRIM_PTR_INT__q_s_i_s);
1685 contract(3276, shelloffsets, PRIM_INT__q_s_k_s, PRIM_PTR_INT__q_s_k_s);
1686 contract(4095, shelloffsets, PRIM_INT__q_s_l_s, PRIM_PTR_INT__q_s_l_s);
1687 contract(5005, shelloffsets, PRIM_INT__q_s_m_s, PRIM_PTR_INT__q_s_m_s);
1688 contract(6006, shelloffsets, PRIM_INT__q_s_n_s, PRIM_PTR_INT__q_s_n_s);
1689 PRIM_PTR_INT__i_s_h_s += lastoffset*588;
1690 PRIM_PTR_INT__i_s_i_s += lastoffset*784;
1691 PRIM_PTR_INT__i_s_k_s += lastoffset*1008;
1692 PRIM_PTR_INT__i_s_l_s += lastoffset*1260;
1693 PRIM_PTR_INT__i_s_m_s += lastoffset*1540;
1694 PRIM_PTR_INT__i_s_n_s += lastoffset*1848;
1695 PRIM_PTR_INT__k_s_h_s += lastoffset*756;
1696 PRIM_PTR_INT__k_s_i_s += lastoffset*1008;
1697 PRIM_PTR_INT__k_s_k_s += lastoffset*1296;
1698 PRIM_PTR_INT__k_s_l_s += lastoffset*1620;
1699 PRIM_PTR_INT__k_s_m_s += lastoffset*1980;
1700 PRIM_PTR_INT__k_s_n_s += lastoffset*2376;
1701 PRIM_PTR_INT__l_s_h_s += lastoffset*945;
1702 PRIM_PTR_INT__l_s_i_s += lastoffset*1260;
1703 PRIM_PTR_INT__l_s_k_s += lastoffset*1620;
1704 PRIM_PTR_INT__l_s_l_s += lastoffset*2025;
1705 PRIM_PTR_INT__l_s_m_s += lastoffset*2475;
1706 PRIM_PTR_INT__l_s_n_s += lastoffset*2970;
1707 PRIM_PTR_INT__m_s_h_s += lastoffset*1155;
1708 PRIM_PTR_INT__m_s_i_s += lastoffset*1540;
1709 PRIM_PTR_INT__m_s_k_s += lastoffset*1980;
1710 PRIM_PTR_INT__m_s_l_s += lastoffset*2475;
1711 PRIM_PTR_INT__m_s_m_s += lastoffset*3025;
1712 PRIM_PTR_INT__m_s_n_s += lastoffset*3630;
1713 PRIM_PTR_INT__n_s_h_s += lastoffset*1386;
1714 PRIM_PTR_INT__n_s_i_s += lastoffset*1848;
1715 PRIM_PTR_INT__n_s_k_s += lastoffset*2376;
1716 PRIM_PTR_INT__n_s_l_s += lastoffset*2970;
1717 PRIM_PTR_INT__n_s_m_s += lastoffset*3630;
1718 PRIM_PTR_INT__n_s_n_s += lastoffset*4356;
1719 PRIM_PTR_INT__o_s_h_s += lastoffset*1638;
1720 PRIM_PTR_INT__o_s_i_s += lastoffset*2184;
1721 PRIM_PTR_INT__o_s_k_s += lastoffset*2808;
1722 PRIM_PTR_INT__o_s_l_s += lastoffset*3510;
1723 PRIM_PTR_INT__o_s_m_s += lastoffset*4290;
1724 PRIM_PTR_INT__o_s_n_s += lastoffset*5148;
1725 PRIM_PTR_INT__q_s_h_s += lastoffset*1911;
1726 PRIM_PTR_INT__q_s_i_s += lastoffset*2548;
1727 PRIM_PTR_INT__q_s_k_s += lastoffset*3276;
1728 PRIM_PTR_INT__q_s_l_s += lastoffset*4095;
1729 PRIM_PTR_INT__q_s_m_s += lastoffset*5005;
1730 PRIM_PTR_INT__q_s_n_s += lastoffset*6006;
1731 }
1732
1733 } // close loop over j
1734 } // close loop over i
1735
1736 //Advance to the next batch
1737 jstart = SIMINT_SIMD_ROUND(jend);
1738
1739 //////////////////////////////////////////////
1740 // Contracted integrals: Horizontal recurrance
1741 //////////////////////////////////////////////
1742
1743
1744 const double hAB[3] = { P.AB_x[ab], P.AB_y[ab], P.AB_z[ab] };
1745
1746
1747 for(abcd = 0; abcd < nshellbatch; ++abcd, ++real_abcd)
1748 {
1749 const double hCD[3] = { Q.AB_x[cd+abcd], Q.AB_y[cd+abcd], Q.AB_z[cd+abcd] };
1750
1751 // set up HRR pointers
1752 double const * restrict HRR_INT__i_s_h_s = INT__i_s_h_s + abcd * 588;
1753 double const * restrict HRR_INT__i_s_i_s = INT__i_s_i_s + abcd * 784;
1754 double const * restrict HRR_INT__i_s_k_s = INT__i_s_k_s + abcd * 1008;
1755 double const * restrict HRR_INT__i_s_l_s = INT__i_s_l_s + abcd * 1260;
1756 double const * restrict HRR_INT__i_s_m_s = INT__i_s_m_s + abcd * 1540;
1757 double const * restrict HRR_INT__i_s_n_s = INT__i_s_n_s + abcd * 1848;
1758 double const * restrict HRR_INT__k_s_h_s = INT__k_s_h_s + abcd * 756;
1759 double const * restrict HRR_INT__k_s_i_s = INT__k_s_i_s + abcd * 1008;
1760 double const * restrict HRR_INT__k_s_k_s = INT__k_s_k_s + abcd * 1296;
1761 double const * restrict HRR_INT__k_s_l_s = INT__k_s_l_s + abcd * 1620;
1762 double const * restrict HRR_INT__k_s_m_s = INT__k_s_m_s + abcd * 1980;
1763 double const * restrict HRR_INT__k_s_n_s = INT__k_s_n_s + abcd * 2376;
1764 double const * restrict HRR_INT__l_s_h_s = INT__l_s_h_s + abcd * 945;
1765 double const * restrict HRR_INT__l_s_i_s = INT__l_s_i_s + abcd * 1260;
1766 double const * restrict HRR_INT__l_s_k_s = INT__l_s_k_s + abcd * 1620;
1767 double const * restrict HRR_INT__l_s_l_s = INT__l_s_l_s + abcd * 2025;
1768 double const * restrict HRR_INT__l_s_m_s = INT__l_s_m_s + abcd * 2475;
1769 double const * restrict HRR_INT__l_s_n_s = INT__l_s_n_s + abcd * 2970;
1770 double const * restrict HRR_INT__m_s_h_s = INT__m_s_h_s + abcd * 1155;
1771 double const * restrict HRR_INT__m_s_i_s = INT__m_s_i_s + abcd * 1540;
1772 double const * restrict HRR_INT__m_s_k_s = INT__m_s_k_s + abcd * 1980;
1773 double const * restrict HRR_INT__m_s_l_s = INT__m_s_l_s + abcd * 2475;
1774 double const * restrict HRR_INT__m_s_m_s = INT__m_s_m_s + abcd * 3025;
1775 double const * restrict HRR_INT__m_s_n_s = INT__m_s_n_s + abcd * 3630;
1776 double const * restrict HRR_INT__n_s_h_s = INT__n_s_h_s + abcd * 1386;
1777 double const * restrict HRR_INT__n_s_i_s = INT__n_s_i_s + abcd * 1848;
1778 double const * restrict HRR_INT__n_s_k_s = INT__n_s_k_s + abcd * 2376;
1779 double const * restrict HRR_INT__n_s_l_s = INT__n_s_l_s + abcd * 2970;
1780 double const * restrict HRR_INT__n_s_m_s = INT__n_s_m_s + abcd * 3630;
1781 double const * restrict HRR_INT__n_s_n_s = INT__n_s_n_s + abcd * 4356;
1782 double const * restrict HRR_INT__o_s_h_s = INT__o_s_h_s + abcd * 1638;
1783 double const * restrict HRR_INT__o_s_i_s = INT__o_s_i_s + abcd * 2184;
1784 double const * restrict HRR_INT__o_s_k_s = INT__o_s_k_s + abcd * 2808;
1785 double const * restrict HRR_INT__o_s_l_s = INT__o_s_l_s + abcd * 3510;
1786 double const * restrict HRR_INT__o_s_m_s = INT__o_s_m_s + abcd * 4290;
1787 double const * restrict HRR_INT__o_s_n_s = INT__o_s_n_s + abcd * 5148;
1788 double const * restrict HRR_INT__q_s_h_s = INT__q_s_h_s + abcd * 1911;
1789 double const * restrict HRR_INT__q_s_i_s = INT__q_s_i_s + abcd * 2548;
1790 double const * restrict HRR_INT__q_s_k_s = INT__q_s_k_s + abcd * 3276;
1791 double const * restrict HRR_INT__q_s_l_s = INT__q_s_l_s + abcd * 4095;
1792 double const * restrict HRR_INT__q_s_m_s = INT__q_s_m_s + abcd * 5005;
1793 double const * restrict HRR_INT__q_s_n_s = INT__q_s_n_s + abcd * 6006;
1794 double * restrict HRR_INT__i_i_h_h = INT__i_i_h_h + real_abcd * 345744;
1795
1796 // form INT__i_p_h_s
1797 ostei_general_hrr_J(6, 1, 5, 0, hAB, HRR_INT__k_s_h_s, HRR_INT__i_s_h_s, HRR_INT__i_p_h_s);
1798
1799 // form INT__i_p_i_s
1800 ostei_general_hrr_J(6, 1, 6, 0, hAB, HRR_INT__k_s_i_s, HRR_INT__i_s_i_s, HRR_INT__i_p_i_s);
1801
1802 // form INT__i_p_k_s
1803 ostei_general_hrr_J(6, 1, 7, 0, hAB, HRR_INT__k_s_k_s, HRR_INT__i_s_k_s, HRR_INT__i_p_k_s);
1804
1805 // form INT__i_p_l_s
1806 ostei_general_hrr_J(6, 1, 8, 0, hAB, HRR_INT__k_s_l_s, HRR_INT__i_s_l_s, HRR_INT__i_p_l_s);
1807
1808 // form INT__i_p_m_s
1809 ostei_general_hrr_J(6, 1, 9, 0, hAB, HRR_INT__k_s_m_s, HRR_INT__i_s_m_s, HRR_INT__i_p_m_s);
1810
1811 // form INT__i_p_n_s
1812 ostei_general_hrr_J(6, 1, 10, 0, hAB, HRR_INT__k_s_n_s, HRR_INT__i_s_n_s, HRR_INT__i_p_n_s);
1813
1814 // form INT__k_p_h_s
1815 ostei_general_hrr_J(7, 1, 5, 0, hAB, HRR_INT__l_s_h_s, HRR_INT__k_s_h_s, HRR_INT__k_p_h_s);
1816
1817 // form INT__k_p_i_s
1818 ostei_general_hrr_J(7, 1, 6, 0, hAB, HRR_INT__l_s_i_s, HRR_INT__k_s_i_s, HRR_INT__k_p_i_s);
1819
1820 // form INT__k_p_k_s
1821 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);
1822
1823 // form INT__k_p_l_s
1824 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);
1825
1826 // form INT__k_p_m_s
1827 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);
1828
1829 // form INT__k_p_n_s
1830 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);
1831
1832 // form INT__l_p_h_s
1833 ostei_general_hrr_J(8, 1, 5, 0, hAB, HRR_INT__m_s_h_s, HRR_INT__l_s_h_s, HRR_INT__l_p_h_s);
1834
1835 // form INT__l_p_i_s
1836 ostei_general_hrr_J(8, 1, 6, 0, hAB, HRR_INT__m_s_i_s, HRR_INT__l_s_i_s, HRR_INT__l_p_i_s);
1837
1838 // form INT__l_p_k_s
1839 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);
1840
1841 // form INT__l_p_l_s
1842 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);
1843
1844 // form INT__l_p_m_s
1845 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);
1846
1847 // form INT__l_p_n_s
1848 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);
1849
1850 // form INT__m_p_h_s
1851 ostei_general_hrr_J(9, 1, 5, 0, hAB, HRR_INT__n_s_h_s, HRR_INT__m_s_h_s, HRR_INT__m_p_h_s);
1852
1853 // form INT__m_p_i_s
1854 ostei_general_hrr_J(9, 1, 6, 0, hAB, HRR_INT__n_s_i_s, HRR_INT__m_s_i_s, HRR_INT__m_p_i_s);
1855
1856 // form INT__m_p_k_s
1857 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);
1858
1859 // form INT__m_p_l_s
1860 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);
1861
1862 // form INT__m_p_m_s
1863 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);
1864
1865 // form INT__m_p_n_s
1866 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);
1867
1868 // form INT__n_p_h_s
1869 ostei_general_hrr_J(10, 1, 5, 0, hAB, HRR_INT__o_s_h_s, HRR_INT__n_s_h_s, HRR_INT__n_p_h_s);
1870
1871 // form INT__n_p_i_s
1872 ostei_general_hrr_J(10, 1, 6, 0, hAB, HRR_INT__o_s_i_s, HRR_INT__n_s_i_s, HRR_INT__n_p_i_s);
1873
1874 // form INT__n_p_k_s
1875 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);
1876
1877 // form INT__n_p_l_s
1878 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);
1879
1880 // form INT__n_p_m_s
1881 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);
1882
1883 // form INT__n_p_n_s
1884 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);
1885
1886 // form INT__o_p_h_s
1887 ostei_general_hrr_J(11, 1, 5, 0, hAB, HRR_INT__q_s_h_s, HRR_INT__o_s_h_s, HRR_INT__o_p_h_s);
1888
1889 // form INT__o_p_i_s
1890 ostei_general_hrr_J(11, 1, 6, 0, hAB, HRR_INT__q_s_i_s, HRR_INT__o_s_i_s, HRR_INT__o_p_i_s);
1891
1892 // form INT__o_p_k_s
1893 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);
1894
1895 // form INT__o_p_l_s
1896 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);
1897
1898 // form INT__o_p_m_s
1899 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);
1900
1901 // form INT__o_p_n_s
1902 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);
1903
1904 // form INT__i_d_h_s
1905 ostei_general_hrr_J(6, 2, 5, 0, hAB, HRR_INT__k_p_h_s, HRR_INT__i_p_h_s, HRR_INT__i_d_h_s);
1906
1907 // form INT__i_d_i_s
1908 ostei_general_hrr_J(6, 2, 6, 0, hAB, HRR_INT__k_p_i_s, HRR_INT__i_p_i_s, HRR_INT__i_d_i_s);
1909
1910 // form INT__i_d_k_s
1911 ostei_general_hrr_J(6, 2, 7, 0, hAB, HRR_INT__k_p_k_s, HRR_INT__i_p_k_s, HRR_INT__i_d_k_s);
1912
1913 // form INT__i_d_l_s
1914 ostei_general_hrr_J(6, 2, 8, 0, hAB, HRR_INT__k_p_l_s, HRR_INT__i_p_l_s, HRR_INT__i_d_l_s);
1915
1916 // form INT__i_d_m_s
1917 ostei_general_hrr_J(6, 2, 9, 0, hAB, HRR_INT__k_p_m_s, HRR_INT__i_p_m_s, HRR_INT__i_d_m_s);
1918
1919 // form INT__i_d_n_s
1920 ostei_general_hrr_J(6, 2, 10, 0, hAB, HRR_INT__k_p_n_s, HRR_INT__i_p_n_s, HRR_INT__i_d_n_s);
1921
1922 // form INT__k_d_h_s
1923 ostei_general_hrr_J(7, 2, 5, 0, hAB, HRR_INT__l_p_h_s, HRR_INT__k_p_h_s, HRR_INT__k_d_h_s);
1924
1925 // form INT__k_d_i_s
1926 ostei_general_hrr_J(7, 2, 6, 0, hAB, HRR_INT__l_p_i_s, HRR_INT__k_p_i_s, HRR_INT__k_d_i_s);
1927
1928 // form INT__k_d_k_s
1929 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);
1930
1931 // form INT__k_d_l_s
1932 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);
1933
1934 // form INT__k_d_m_s
1935 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);
1936
1937 // form INT__k_d_n_s
1938 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);
1939
1940 // form INT__l_d_h_s
1941 ostei_general_hrr_J(8, 2, 5, 0, hAB, HRR_INT__m_p_h_s, HRR_INT__l_p_h_s, HRR_INT__l_d_h_s);
1942
1943 // form INT__l_d_i_s
1944 ostei_general_hrr_J(8, 2, 6, 0, hAB, HRR_INT__m_p_i_s, HRR_INT__l_p_i_s, HRR_INT__l_d_i_s);
1945
1946 // form INT__l_d_k_s
1947 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);
1948
1949 // form INT__l_d_l_s
1950 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);
1951
1952 // form INT__l_d_m_s
1953 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);
1954
1955 // form INT__l_d_n_s
1956 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);
1957
1958 // form INT__m_d_h_s
1959 ostei_general_hrr_J(9, 2, 5, 0, hAB, HRR_INT__n_p_h_s, HRR_INT__m_p_h_s, HRR_INT__m_d_h_s);
1960
1961 // form INT__m_d_i_s
1962 ostei_general_hrr_J(9, 2, 6, 0, hAB, HRR_INT__n_p_i_s, HRR_INT__m_p_i_s, HRR_INT__m_d_i_s);
1963
1964 // form INT__m_d_k_s
1965 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);
1966
1967 // form INT__m_d_l_s
1968 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);
1969
1970 // form INT__m_d_m_s
1971 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);
1972
1973 // form INT__m_d_n_s
1974 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);
1975
1976 // form INT__n_d_h_s
1977 ostei_general_hrr_J(10, 2, 5, 0, hAB, HRR_INT__o_p_h_s, HRR_INT__n_p_h_s, HRR_INT__n_d_h_s);
1978
1979 // form INT__n_d_i_s
1980 ostei_general_hrr_J(10, 2, 6, 0, hAB, HRR_INT__o_p_i_s, HRR_INT__n_p_i_s, HRR_INT__n_d_i_s);
1981
1982 // form INT__n_d_k_s
1983 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);
1984
1985 // form INT__n_d_l_s
1986 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);
1987
1988 // form INT__n_d_m_s
1989 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);
1990
1991 // form INT__n_d_n_s
1992 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);
1993
1994 // form INT__i_f_h_s
1995 ostei_general_hrr_J(6, 3, 5, 0, hAB, HRR_INT__k_d_h_s, HRR_INT__i_d_h_s, HRR_INT__i_f_h_s);
1996
1997 // form INT__i_f_i_s
1998 ostei_general_hrr_J(6, 3, 6, 0, hAB, HRR_INT__k_d_i_s, HRR_INT__i_d_i_s, HRR_INT__i_f_i_s);
1999
2000 // form INT__i_f_k_s
2001 ostei_general_hrr_J(6, 3, 7, 0, hAB, HRR_INT__k_d_k_s, HRR_INT__i_d_k_s, HRR_INT__i_f_k_s);
2002
2003 // form INT__i_f_l_s
2004 ostei_general_hrr_J(6, 3, 8, 0, hAB, HRR_INT__k_d_l_s, HRR_INT__i_d_l_s, HRR_INT__i_f_l_s);
2005
2006 // form INT__i_f_m_s
2007 ostei_general_hrr_J(6, 3, 9, 0, hAB, HRR_INT__k_d_m_s, HRR_INT__i_d_m_s, HRR_INT__i_f_m_s);
2008
2009 // form INT__i_f_n_s
2010 ostei_general_hrr_J(6, 3, 10, 0, hAB, HRR_INT__k_d_n_s, HRR_INT__i_d_n_s, HRR_INT__i_f_n_s);
2011
2012 // form INT__k_f_h_s
2013 ostei_general_hrr_J(7, 3, 5, 0, hAB, HRR_INT__l_d_h_s, HRR_INT__k_d_h_s, HRR_INT__k_f_h_s);
2014
2015 // form INT__k_f_i_s
2016 ostei_general_hrr_J(7, 3, 6, 0, hAB, HRR_INT__l_d_i_s, HRR_INT__k_d_i_s, HRR_INT__k_f_i_s);
2017
2018 // form INT__k_f_k_s
2019 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);
2020
2021 // form INT__k_f_l_s
2022 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);
2023
2024 // form INT__k_f_m_s
2025 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);
2026
2027 // form INT__k_f_n_s
2028 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);
2029
2030 // form INT__l_f_h_s
2031 ostei_general_hrr_J(8, 3, 5, 0, hAB, HRR_INT__m_d_h_s, HRR_INT__l_d_h_s, HRR_INT__l_f_h_s);
2032
2033 // form INT__l_f_i_s
2034 ostei_general_hrr_J(8, 3, 6, 0, hAB, HRR_INT__m_d_i_s, HRR_INT__l_d_i_s, HRR_INT__l_f_i_s);
2035
2036 // form INT__l_f_k_s
2037 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);
2038
2039 // form INT__l_f_l_s
2040 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);
2041
2042 // form INT__l_f_m_s
2043 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);
2044
2045 // form INT__l_f_n_s
2046 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);
2047
2048 // form INT__m_f_h_s
2049 ostei_general_hrr_J(9, 3, 5, 0, hAB, HRR_INT__n_d_h_s, HRR_INT__m_d_h_s, HRR_INT__m_f_h_s);
2050
2051 // form INT__m_f_i_s
2052 ostei_general_hrr_J(9, 3, 6, 0, hAB, HRR_INT__n_d_i_s, HRR_INT__m_d_i_s, HRR_INT__m_f_i_s);
2053
2054 // form INT__m_f_k_s
2055 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);
2056
2057 // form INT__m_f_l_s
2058 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);
2059
2060 // form INT__m_f_m_s
2061 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);
2062
2063 // form INT__m_f_n_s
2064 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);
2065
2066 // form INT__i_g_h_s
2067 ostei_general_hrr_J(6, 4, 5, 0, hAB, HRR_INT__k_f_h_s, HRR_INT__i_f_h_s, HRR_INT__i_g_h_s);
2068
2069 // form INT__i_g_i_s
2070 ostei_general_hrr_J(6, 4, 6, 0, hAB, HRR_INT__k_f_i_s, HRR_INT__i_f_i_s, HRR_INT__i_g_i_s);
2071
2072 // form INT__i_g_k_s
2073 ostei_general_hrr_J(6, 4, 7, 0, hAB, HRR_INT__k_f_k_s, HRR_INT__i_f_k_s, HRR_INT__i_g_k_s);
2074
2075 // form INT__i_g_l_s
2076 ostei_general_hrr_J(6, 4, 8, 0, hAB, HRR_INT__k_f_l_s, HRR_INT__i_f_l_s, HRR_INT__i_g_l_s);
2077
2078 // form INT__i_g_m_s
2079 ostei_general_hrr_J(6, 4, 9, 0, hAB, HRR_INT__k_f_m_s, HRR_INT__i_f_m_s, HRR_INT__i_g_m_s);
2080
2081 // form INT__i_g_n_s
2082 ostei_general_hrr_J(6, 4, 10, 0, hAB, HRR_INT__k_f_n_s, HRR_INT__i_f_n_s, HRR_INT__i_g_n_s);
2083
2084 // form INT__k_g_h_s
2085 ostei_general_hrr_J(7, 4, 5, 0, hAB, HRR_INT__l_f_h_s, HRR_INT__k_f_h_s, HRR_INT__k_g_h_s);
2086
2087 // form INT__k_g_i_s
2088 ostei_general_hrr_J(7, 4, 6, 0, hAB, HRR_INT__l_f_i_s, HRR_INT__k_f_i_s, HRR_INT__k_g_i_s);
2089
2090 // form INT__k_g_k_s
2091 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);
2092
2093 // form INT__k_g_l_s
2094 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);
2095
2096 // form INT__k_g_m_s
2097 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);
2098
2099 // form INT__k_g_n_s
2100 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);
2101
2102 // form INT__l_g_h_s
2103 ostei_general_hrr_J(8, 4, 5, 0, hAB, HRR_INT__m_f_h_s, HRR_INT__l_f_h_s, HRR_INT__l_g_h_s);
2104
2105 // form INT__l_g_i_s
2106 ostei_general_hrr_J(8, 4, 6, 0, hAB, HRR_INT__m_f_i_s, HRR_INT__l_f_i_s, HRR_INT__l_g_i_s);
2107
2108 // form INT__l_g_k_s
2109 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);
2110
2111 // form INT__l_g_l_s
2112 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);
2113
2114 // form INT__l_g_m_s
2115 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);
2116
2117 // form INT__l_g_n_s
2118 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);
2119
2120 // form INT__i_h_h_s
2121 ostei_general_hrr_J(6, 5, 5, 0, hAB, HRR_INT__k_g_h_s, HRR_INT__i_g_h_s, HRR_INT__i_h_h_s);
2122
2123 // form INT__i_h_i_s
2124 ostei_general_hrr_J(6, 5, 6, 0, hAB, HRR_INT__k_g_i_s, HRR_INT__i_g_i_s, HRR_INT__i_h_i_s);
2125
2126 // form INT__i_h_k_s
2127 ostei_general_hrr_J(6, 5, 7, 0, hAB, HRR_INT__k_g_k_s, HRR_INT__i_g_k_s, HRR_INT__i_h_k_s);
2128
2129 // form INT__i_h_l_s
2130 ostei_general_hrr_J(6, 5, 8, 0, hAB, HRR_INT__k_g_l_s, HRR_INT__i_g_l_s, HRR_INT__i_h_l_s);
2131
2132 // form INT__i_h_m_s
2133 ostei_general_hrr_J(6, 5, 9, 0, hAB, HRR_INT__k_g_m_s, HRR_INT__i_g_m_s, HRR_INT__i_h_m_s);
2134
2135 // form INT__i_h_n_s
2136 ostei_general_hrr_J(6, 5, 10, 0, hAB, HRR_INT__k_g_n_s, HRR_INT__i_g_n_s, HRR_INT__i_h_n_s);
2137
2138 // form INT__k_h_h_s
2139 ostei_general_hrr_J(7, 5, 5, 0, hAB, HRR_INT__l_g_h_s, HRR_INT__k_g_h_s, HRR_INT__k_h_h_s);
2140
2141 // form INT__k_h_i_s
2142 ostei_general_hrr_J(7, 5, 6, 0, hAB, HRR_INT__l_g_i_s, HRR_INT__k_g_i_s, HRR_INT__k_h_i_s);
2143
2144 // form INT__k_h_k_s
2145 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);
2146
2147 // form INT__k_h_l_s
2148 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);
2149
2150 // form INT__k_h_m_s
2151 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);
2152
2153 // form INT__k_h_n_s
2154 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);
2155
2156 // form INT__i_i_h_s
2157 ostei_general_hrr_J(6, 6, 5, 0, hAB, HRR_INT__k_h_h_s, HRR_INT__i_h_h_s, HRR_INT__i_i_h_s);
2158
2159 // form INT__i_i_i_s
2160 ostei_general_hrr_J(6, 6, 6, 0, hAB, HRR_INT__k_h_i_s, HRR_INT__i_h_i_s, HRR_INT__i_i_i_s);
2161
2162 // form INT__i_i_k_s
2163 ostei_general_hrr_J(6, 6, 7, 0, hAB, HRR_INT__k_h_k_s, HRR_INT__i_h_k_s, HRR_INT__i_i_k_s);
2164
2165 // form INT__i_i_l_s
2166 ostei_general_hrr_J(6, 6, 8, 0, hAB, HRR_INT__k_h_l_s, HRR_INT__i_h_l_s, HRR_INT__i_i_l_s);
2167
2168 // form INT__i_i_m_s
2169 ostei_general_hrr_J(6, 6, 9, 0, hAB, HRR_INT__k_h_m_s, HRR_INT__i_h_m_s, HRR_INT__i_i_m_s);
2170
2171 // form INT__i_i_n_s
2172 ostei_general_hrr_J(6, 6, 10, 0, hAB, HRR_INT__k_h_n_s, HRR_INT__i_h_n_s, HRR_INT__i_i_n_s);
2173
2174 // form INT__i_i_h_p
2175 ostei_general_hrr_L(6, 6, 5, 1, hCD, HRR_INT__i_i_i_s, HRR_INT__i_i_h_s, HRR_INT__i_i_h_p);
2176
2177 // form INT__i_i_i_p
2178 ostei_general_hrr_L(6, 6, 6, 1, hCD, HRR_INT__i_i_k_s, HRR_INT__i_i_i_s, HRR_INT__i_i_i_p);
2179
2180 // form INT__i_i_k_p
2181 ostei_general_hrr_L(6, 6, 7, 1, hCD, HRR_INT__i_i_l_s, HRR_INT__i_i_k_s, HRR_INT__i_i_k_p);
2182
2183 // form INT__i_i_l_p
2184 ostei_general_hrr_L(6, 6, 8, 1, hCD, HRR_INT__i_i_m_s, HRR_INT__i_i_l_s, HRR_INT__i_i_l_p);
2185
2186 // form INT__i_i_m_p
2187 ostei_general_hrr_L(6, 6, 9, 1, hCD, HRR_INT__i_i_n_s, HRR_INT__i_i_m_s, HRR_INT__i_i_m_p);
2188
2189 // form INT__i_i_h_d
2190 ostei_general_hrr_L(6, 6, 5, 2, hCD, HRR_INT__i_i_i_p, HRR_INT__i_i_h_p, HRR_INT__i_i_h_d);
2191
2192 // form INT__i_i_i_d
2193 ostei_general_hrr_L(6, 6, 6, 2, hCD, HRR_INT__i_i_k_p, HRR_INT__i_i_i_p, HRR_INT__i_i_i_d);
2194
2195 // form INT__i_i_k_d
2196 ostei_general_hrr_L(6, 6, 7, 2, hCD, HRR_INT__i_i_l_p, HRR_INT__i_i_k_p, HRR_INT__i_i_k_d);
2197
2198 // form INT__i_i_l_d
2199 ostei_general_hrr_L(6, 6, 8, 2, hCD, HRR_INT__i_i_m_p, HRR_INT__i_i_l_p, HRR_INT__i_i_l_d);
2200
2201 // form INT__i_i_h_f
2202 ostei_general_hrr_L(6, 6, 5, 3, hCD, HRR_INT__i_i_i_d, HRR_INT__i_i_h_d, HRR_INT__i_i_h_f);
2203
2204 // form INT__i_i_i_f
2205 ostei_general_hrr_L(6, 6, 6, 3, hCD, HRR_INT__i_i_k_d, HRR_INT__i_i_i_d, HRR_INT__i_i_i_f);
2206
2207 // form INT__i_i_k_f
2208 ostei_general_hrr_L(6, 6, 7, 3, hCD, HRR_INT__i_i_l_d, HRR_INT__i_i_k_d, HRR_INT__i_i_k_f);
2209
2210 // form INT__i_i_h_g
2211 ostei_general_hrr_L(6, 6, 5, 4, hCD, HRR_INT__i_i_i_f, HRR_INT__i_i_h_f, HRR_INT__i_i_h_g);
2212
2213 // form INT__i_i_i_g
2214 ostei_general_hrr_L(6, 6, 6, 4, hCD, HRR_INT__i_i_k_f, HRR_INT__i_i_i_f, HRR_INT__i_i_i_g);
2215
2216 // form INT__i_i_h_h
2217 ostei_general_hrr_L(6, 6, 5, 5, hCD, HRR_INT__i_i_i_g, HRR_INT__i_i_h_g, HRR_INT__i_i_h_h);
2218
2219
2220 } // close HRR loop
2221
2222
2223 } // close loop cdbatch
2224
2225 istart = iend;
2226 } // close loop over ab
2227
2228 return P.nshell12_clip * Q.nshell12_clip;
2229 }
2230
2231