1 //
2 // BAGEL - Brilliantly Advanced General Electronic Structure Library
3 // Filename: _carsph_62.cc
4 // Copyright (C) 2009 Toru Shiozaki
5 //
6 // Author: Toru Shiozaki <shiozaki@northwestern.edu>
7 // Maintainer: Shiozaki group
8 //
9 // This file is part of the BAGEL package.
10 //
11 // This program is free software: you can redistribute it and/or modify
12 // it under the terms of the GNU General Public License as published by
13 // the Free Software Foundation, either version 3 of the License, or
14 // (at your option) any later version.
15 //
16 // This program is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program. If not, see <http://www.gnu.org/licenses/>.
23 //
24
25 #include <src/integral/carsphlist.h>
26 #include <algorithm>
27
28 using namespace std;
29 using namespace bagel;
30
31
carsph_62(const int nloop,const double * source,double * target)32 void CarSphList::carsph_62(const int nloop, const double* source, double* target) {
33 const double c25 = 51.553976568253198;
34 const double c17 = 40.301597362883768;
35 const double c49 = 37.649701194033398;
36 const double c38 = 34.369317712168801;
37 const double c30 = 29.764702249476645;
38 const double c21 = 25.776988284126599;
39 const double c66 = 25.099800796022265;
40 const double c11 = 23.268138086232856;
41 const double c54 = 21.737065119284157;
42 const double c16 = 20.150798681441884;
43 const double c40 = 19.843134832984429;
44 const double c86 = 19.48557158514987;
45 const double c45 = 18.824850597016699;
46 const double c3 = 17.451103564674643;
47 const double c36 = 17.1846588560844;
48 const double c31 = 14.882351124738323;
49 const double c68 = 14.491376746189438;
50 const double c51 = 14.118637947762524;
51 const double c14 = 13.433865787627923;
52 const double c85 = 12.99038105676658;
53 const double c48 = 12.549900398011133;
54 const double c9 = 11.634069043116428;
55 const double c74 = 11.456439237389599;
56 const double c94 = 11.25;
57 const double c55 = 10.868532559642079;
58 const double c6 = 10.075399340720942;
59 const double c41 = 9.9215674164922145;
60 const double c81 = 9.742785792574935;
61 const double c1 = 8.7255517823373214;
62 const double c24 = 8.5923294280422002;
63 const double c58 = 8.1513994197315593;
64 const double c71 = 7.9372539331937721;
65 const double c90 = 7.5;
66 const double c52 = 7.245688373094719;
67 const double c47 = 7.0593189738812621;
68 const double c10 = 6.9804414258698566;
69 const double c15 = 6.7169328938139614;
70 const double c79 = 6.49519052838329;
71 const double c44 = 6.2749501990055663;
72 const double c19 = 5.817034521558214;
73 const double c75 = 5.7282196186947996;
74 const double c92 = 5.625;
75 const double c27 = 5.1553976568253201;
76 const double c7 = 5.0376996703604711;
77 const double c28 = 4.9607837082461073;
78 const double c80 = 4.8713928962874675;
79 const double c50 = 4.7062126492541747;
80 const double c72 = 4.5825756949558398;
81 const double c20 = 4.2961647140211001;
82 const double c59 = 4.0756997098657797;
83 const double c12 = 4.0301597362883772;
84 const double c70 = 3.9686269665968861;
85 const double c91 = 3.75;
86 const double c53 = 3.6228441865473595;
87 const double c8 = 3.4902207129349283;
88 const double c39 = 3.4369317712168801;
89 const double c67 = 3.1374750995027831;
90 const double c34 = 2.9764702249476644;
91 const double c76 = 2.8641098093473998;
92 const double c93 = 2.8125;
93 const double c56 = 2.7171331399105196;
94 const double c23 = 2.5776988284126601;
95 const double c29 = 2.4803918541230536;
96 const double c46 = 2.3531063246270874;
97 const double c18 = 2.3268138086232857;
98 const double c73 = 2.2912878474779199;
99 const double c13 = 2.0150798681441886;
100 const double c42 = 1.984313483298443;
101 const double c69 = 1.8114220932736798;
102 const double c84 = 1.7320508075688772;
103 const double c37 = 1.71846588560844;
104 const double c88 = 1.6237976320958225;
105 const double c62 = 1.5687375497513916;
106 const double c35 = 1.4882351124738322;
107 const double c77 = 1.4320549046736999;
108 const double c57 = 1.3585665699552598;
109 const double c2 = 1.1634069043116428;
110 const double c43 = 0.99215674164922152;
111 const double c97 = 0.9375;
112 const double c65 = 0.90571104663683988;
113 const double c78 = 0.8660254037844386;
114 const double c26 = 0.85923294280422002;
115 const double c83 = 0.81189881604791125;
116 const double c61 = 0.78436877487569578;
117 const double c4 = 0.67169328938139616;
118 const double c0 = 0.58170345215582142;
119 const double c87 = 0.54126587736527421;
120 const double c89 = 0.5;
121 const double c32 = 0.49607837082461076;
122 const double c98 = 0.46875;
123 const double c63 = 0.45285552331841994;
124 const double c22 = 0.42961647140211001;
125 const double c60 = 0.39218438743784789;
126 const double c5 = 0.33584664469069808;
127 const double c95 = 0.3125;
128 const double c82 = 0.2706329386826371;
129 const double c33 = 0.24803918541230538;
130 const double c64 = 0.22642776165920997;
131 const double c96 = 0.15625;
132 for (int iloop = 0; iloop != nloop; ++iloop, target += 65, source += 168) {
133 target[0] = c0 * source[0] - c0 * source[2] - c1 * source[12]
134 + c1 * source[14] + c1 * source[24] - c1 * source[26]
135 - c0 * source[36] + c0 * source[38];
136 target[1] = c2 * source[1] - c3 * source[13] + c3 * source[25]
137 - c2 * source[37];
138 target[2] = c2 * source[3] - c3 * source[15] + c3 * source[27]
139 - c2 * source[39];
140 target[3] = c2 * source[4] - c3 * source[16] + c3 * source[28]
141 - c2 * source[40];
142 target[4] = c4 * source[5] - c5 * source[0] - c5 * source[2]
143 - c6 * source[17] + c7 * source[12] + c7 * source[14]
144 + c6 * source[29] - c7 * source[24] - c7 * source[26]
145 - c4 * source[41] + c5 * source[36] + c5 * source[38];
146 target[5] = c8 * source[6] - c8 * source[8] - c9 * source[18]
147 + c9 * source[20] + c8 * source[30] - c8 * source[32];
148 target[6] = c10 * source[7] - c11 * source[19] + c10 * source[31];
149 target[7] = c10 * source[9] - c11 * source[21] + c10 * source[33];
150 target[8] = c10 * source[10] - c11 * source[22] + c10 * source[34];
151 target[9] = c12 * source[11] - c13 * source[6] - c13 * source[8]
152 - c14 * source[23] + c15 * source[18] + c15 * source[20]
153 + c12 * source[35] - c13 * source[30] - c13 * source[32];
154 target[10] = c13 * source[42] - c13 * source[44] - c16 * source[54]
155 + c16 * source[56] + c6 * source[66] - c6 * source[68];
156 target[11] = c12 * source[43] - c17 * source[55] + c16 * source[67];
157 target[12] = c12 * source[45] - c17 * source[57] + c16 * source[69];
158 target[13] = c12 * source[46] - c17 * source[58] + c16 * source[70];
159 target[14] = c18 * source[47] - c2 * source[42] - c2 * source[44]
160 - c11 * source[59] + c9 * source[54] + c9 * source[56]
161 + c9 * source[71] - c19 * source[66] - c19 * source[68];
162 target[15] = c6 * source[48] - c6 * source[50] - c16 * source[60]
163 + c16 * source[62] + c13 * source[72] - c13 * source[74];
164 target[16] = c16 * source[49] - c17 * source[61] + c12 * source[73];
165 target[17] = c16 * source[51] - c17 * source[63] + c12 * source[75];
166 target[18] = c16 * source[52] - c17 * source[64] + c12 * source[76];
167 target[19] = c9 * source[53] - c19 * source[48] - c19 * source[50]
168 - c11 * source[65] + c9 * source[60] + c9 * source[62]
169 + c18 * source[77] - c2 * source[72] - c2 * source[74];
170 target[20] = c20 * source[78] - c20 * source[80] - c21 * source[90]
171 + c21 * source[92] + c20 * source[102] - c20 * source[104]
172 - c22 * source[0] + c22 * source[2] + c23 * source[12]
173 - c23 * source[14] - c22 * source[24] + c22 * source[26]
174 - c22 * source[12] + c22 * source[14] + c23 * source[24]
175 - c23 * source[26] - c22 * source[36] + c22 * source[38];
176 target[21] = c24 * source[79] - c25 * source[91] + c24 * source[103]
177 - c26 * source[1] + c27 * source[13] - c26 * source[25]
178 - c26 * source[13] + c27 * source[25] - c26 * source[37];
179 target[22] = c24 * source[81] - c25 * source[93] + c24 * source[105]
180 - c26 * source[3] + c27 * source[15] - c26 * source[27]
181 - c26 * source[15] + c27 * source[27] - c26 * source[39];
182 target[23] = c24 * source[82] - c25 * source[94] + c24 * source[106]
183 - c26 * source[4] + c27 * source[16] - c26 * source[28]
184 - c26 * source[16] + c27 * source[28] - c26 * source[40];
185 target[24] = c28 * source[83] - c29 * source[78] - c29 * source[80]
186 - c30 * source[95] + c31 * source[90] + c31 * source[92]
187 + c28 * source[107] - c29 * source[102] - c29 * source[104]
188 - c32 * source[5] + c33 * source[0] + c33 * source[2]
189 + c34 * source[17] - c35 * source[12] - c35 * source[14]
190 - c32 * source[29] + c33 * source[24] + c33 * source[26]
191 - c32 * source[17] + c33 * source[12] + c33 * source[14]
192 + c34 * source[29] - c35 * source[24] - c35 * source[26]
193 - c32 * source[41] + c33 * source[36] + c33 * source[38];
194 target[25] = c36 * source[84] - c36 * source[86] - c36 * source[96]
195 + c36 * source[98] - c37 * source[6] + c37 * source[8]
196 + c37 * source[18] - c37 * source[20] - c37 * source[18]
197 + c37 * source[20] + c37 * source[30] - c37 * source[32];
198 target[26] = c38 * source[85] - c38 * source[97] - c39 * source[7]
199 + c39 * source[19] - c39 * source[19] + c39 * source[31];
200 target[27] = c38 * source[87] - c38 * source[99] - c39 * source[9]
201 + c39 * source[21] - c39 * source[21] + c39 * source[33];
202 target[28] = c38 * source[88] - c38 * source[100] - c39 * source[10]
203 + c39 * source[22] - c39 * source[22] + c39 * source[34];
204 target[29] = c40 * source[89] - c41 * source[84] - c41 * source[86]
205 - c40 * source[101] + c41 * source[96] + c41 * source[98]
206 - c42 * source[11] + c43 * source[6] + c43 * source[8]
207 + c42 * source[23] - c43 * source[18] - c43 * source[20]
208 - c42 * source[23] + c43 * source[18] + c43 * source[20]
209 + c42 * source[35] - c43 * source[30] - c43 * source[32];
210 target[30] = c44 * source[108] - c44 * source[110] - c45 * source[120]
211 + c45 * source[122] - c46 * source[42] + c46 * source[44]
212 + c47 * source[54] - c47 * source[56] - c46 * source[54]
213 + c46 * source[56] + c47 * source[66] - c47 * source[68];
214 target[31] = c48 * source[109] - c49 * source[121] - c50 * source[43]
215 + c51 * source[55] - c50 * source[55] + c51 * source[67];
216 target[32] = c48 * source[111] - c49 * source[123] - c50 * source[45]
217 + c51 * source[57] - c50 * source[57] + c51 * source[69];
218 target[33] = c48 * source[112] - c49 * source[124] - c50 * source[46]
219 + c51 * source[58] - c50 * source[58] + c51 * source[70];
220 target[34] = c52 * source[113] - c53 * source[108] - c53 * source[110]
221 - c54 * source[125] + c55 * source[120] + c55 * source[122]
222 - c56 * source[47] + c57 * source[42] + c57 * source[44]
223 + c58 * source[59] - c59 * source[54] - c59 * source[56]
224 - c56 * source[59] + c57 * source[54] + c57 * source[56]
225 + c58 * source[71] - c59 * source[66] - c59 * source[68];
226 target[35] = c45 * source[114] - c45 * source[116] - c44 * source[126]
227 + c44 * source[128] - c47 * source[48] + c47 * source[50]
228 + c46 * source[60] - c46 * source[62] - c47 * source[60]
229 + c47 * source[62] + c46 * source[72] - c46 * source[74];
230 target[36] = c49 * source[115] - c48 * source[127] - c51 * source[49]
231 + c50 * source[61] - c51 * source[61] + c50 * source[73];
232 target[37] = c49 * source[117] - c48 * source[129] - c51 * source[51]
233 + c50 * source[63] - c51 * source[63] + c50 * source[75];
234 target[38] = c49 * source[118] - c48 * source[130] - c51 * source[52]
235 + c50 * source[64] - c51 * source[64] + c50 * source[76];
236 target[39] = c54 * source[119] - c55 * source[114] - c55 * source[116]
237 - c52 * source[131] + c53 * source[126] + c53 * source[128]
238 - c58 * source[53] + c59 * source[48] + c59 * source[50]
239 + c56 * source[65] - c57 * source[60] - c57 * source[62]
240 - c58 * source[65] + c59 * source[60] + c59 * source[62]
241 + c56 * source[77] - c57 * source[72] - c57 * source[74];
242 target[40] = c44 * source[132] - c44 * source[134] - c44 * source[144]
243 + c44 * source[146] - c44 * source[78] + c44 * source[80]
244 + c44 * source[90] - c44 * source[92] - c44 * source[90]
245 + c44 * source[92] + c44 * source[102] - c44 * source[104]
246 + c60 * source[0] - c60 * source[2] - c60 * source[12]
247 + c60 * source[14] + c61 * source[12] - c61 * source[14]
248 - c61 * source[24] + c61 * source[26] + c60 * source[24]
249 - c60 * source[26] - c60 * source[36] + c60 * source[38];
250 target[41] = c48 * source[133] - c48 * source[145] - c48 * source[79]
251 + c48 * source[91] - c48 * source[91] + c48 * source[103]
252 + c61 * source[1] - c61 * source[13] + c62 * source[13]
253 - c62 * source[25] + c61 * source[25] - c61 * source[37];
254 target[42] = c48 * source[135] - c48 * source[147] - c48 * source[81]
255 + c48 * source[93] - c48 * source[93] + c48 * source[105]
256 + c61 * source[3] - c61 * source[15] + c62 * source[15]
257 - c62 * source[27] + c61 * source[27] - c61 * source[39];
258 target[43] = c48 * source[136] - c48 * source[148] - c48 * source[82]
259 + c48 * source[94] - c48 * source[94] + c48 * source[106]
260 + c61 * source[4] - c61 * source[16] + c62 * source[16]
261 - c62 * source[28] + c61 * source[28] - c61 * source[40];
262 target[44] = c52 * source[137] - c53 * source[132] - c53 * source[134]
263 - c52 * source[149] + c53 * source[144] + c53 * source[146]
264 - c52 * source[83] + c53 * source[78] + c53 * source[80]
265 + c52 * source[95] - c53 * source[90] - c53 * source[92]
266 - c52 * source[95] + c53 * source[90] + c53 * source[92]
267 + c52 * source[107] - c53 * source[102] - c53 * source[104]
268 + c63 * source[5] - c64 * source[0] - c64 * source[2]
269 - c63 * source[17] + c64 * source[12] + c64 * source[14]
270 + c65 * source[17] - c63 * source[12] - c63 * source[14]
271 - c65 * source[29] + c63 * source[24] + c63 * source[26]
272 + c63 * source[29] - c64 * source[24] - c64 * source[26]
273 - c63 * source[41] + c64 * source[36] + c64 * source[38];
274 target[45] = c48 * source[138] - c48 * source[140] - c48 * source[84]
275 + c48 * source[86] - c48 * source[96] + c48 * source[98]
276 + c61 * source[6] - c61 * source[8] + c62 * source[18]
277 - c62 * source[20] + c61 * source[30] - c61 * source[32];
278 target[46] = c66 * source[139] - c66 * source[85] - c66 * source[97]
279 + c62 * source[7] + c67 * source[19] + c62 * source[31];
280 target[47] = c66 * source[141] - c66 * source[87] - c66 * source[99]
281 + c62 * source[9] + c67 * source[21] + c62 * source[33];
282 target[48] = c66 * source[142] - c66 * source[88] - c66 * source[100]
283 + c62 * source[10] + c67 * source[22] + c62 * source[34];
284 target[49] = c68 * source[143] - c52 * source[138] - c52 * source[140]
285 - c68 * source[89] + c52 * source[84] + c52 * source[86]
286 - c68 * source[101] + c52 * source[96] + c52 * source[98]
287 + c65 * source[11] - c63 * source[6] - c63 * source[8]
288 + c69 * source[23] - c65 * source[18] - c65 * source[20]
289 + c65 * source[35] - c63 * source[30] - c63 * source[32];
290 target[50] = c70 * source[150] - c70 * source[152] - c41 * source[108]
291 + c41 * source[110] - c41 * source[120] + c41 * source[122]
292 + c29 * source[42] - c29 * source[44] + c28 * source[54]
293 - c28 * source[56] + c29 * source[66] - c29 * source[68];
294 target[51] = c71 * source[151] - c40 * source[109] - c40 * source[121]
295 + c28 * source[43] + c41 * source[55] + c28 * source[67];
296 target[52] = c71 * source[153] - c40 * source[111] - c40 * source[123]
297 + c28 * source[45] + c41 * source[57] + c28 * source[69];
298 target[53] = c71 * source[154] - c40 * source[112] - c40 * source[124]
299 + c28 * source[46] + c41 * source[58] + c28 * source[70];
300 target[54] = c72 * source[155] - c73 * source[150] - c73 * source[152]
301 - c74 * source[113] + c75 * source[108] + c75 * source[110]
302 - c74 * source[125] + c75 * source[120] + c75 * source[122]
303 + c76 * source[47] - c77 * source[42] - c77 * source[44]
304 + c75 * source[59] - c76 * source[54] - c76 * source[56]
305 + c76 * source[71] - c77 * source[66] - c77 * source[68];
306 target[55] = c70 * source[156] - c70 * source[158] - c41 * source[114]
307 + c41 * source[116] - c41 * source[126] + c41 * source[128]
308 + c29 * source[48] - c29 * source[50] + c28 * source[60]
309 - c28 * source[62] + c29 * source[72] - c29 * source[74];
310 target[56] = c71 * source[157] - c40 * source[115] - c40 * source[127]
311 + c28 * source[49] + c41 * source[61] + c28 * source[73];
312 target[57] = c71 * source[159] - c40 * source[117] - c40 * source[129]
313 + c28 * source[51] + c41 * source[63] + c28 * source[75];
314 target[58] = c71 * source[160] - c40 * source[118] - c40 * source[130]
315 + c28 * source[52] + c41 * source[64] + c28 * source[76];
316 target[59] = c72 * source[161] - c73 * source[156] - c73 * source[158]
317 - c74 * source[119] + c75 * source[114] + c75 * source[116]
318 - c74 * source[131] + c75 * source[126] + c75 * source[128]
319 + c76 * source[53] - c77 * source[48] - c77 * source[50]
320 + c75 * source[65] - c76 * source[60] - c76 * source[62]
321 + c76 * source[77] - c77 * source[72] - c77 * source[74];
322 target[60] = c78 * source[162] - c78 * source[164] - c79 * source[132]
323 + c79 * source[134] - c79 * source[144] + c79 * source[146]
324 + c80 * source[78] - c80 * source[80] + c81 * source[90]
325 - c81 * source[92] + c80 * source[102] - c80 * source[104]
326 - c82 * source[0] + c82 * source[2] - c83 * source[12]
327 + c83 * source[14] - c83 * source[24] + c83 * source[26]
328 - c82 * source[36] + c82 * source[38];
329 target[61] = c84 * source[163] - c85 * source[133] - c85 * source[145]
330 + c81 * source[79] + c86 * source[91] + c81 * source[103]
331 - c87 * source[1] - c88 * source[13] - c88 * source[25]
332 - c87 * source[37];
333 target[62] = c84 * source[165] - c85 * source[135] - c85 * source[147]
334 + c81 * source[81] + c86 * source[93] + c81 * source[105]
335 - c87 * source[3] - c88 * source[15] - c88 * source[27]
336 - c87 * source[39];
337 target[63] = c84 * source[166] - c85 * source[136] - c85 * source[148]
338 + c81 * source[82] + c86 * source[94] + c81 * source[106]
339 - c87 * source[4] - c88 * source[16] - c88 * source[28]
340 - c87 * source[40];
341 target[64] = source[167] - c89 * source[162] - c89 * source[164]
342 - c90 * source[137] + c91 * source[132] + c91 * source[134]
343 - c90 * source[149] + c91 * source[144] + c91 * source[146]
344 + c92 * source[83] - c93 * source[78] - c93 * source[80]
345 + c94 * source[95] - c92 * source[90] - c92 * source[92]
346 + c92 * source[107] - c93 * source[102] - c93 * source[104]
347 - c95 * source[5] + c96 * source[0] + c96 * source[2]
348 - c97 * source[17] + c98 * source[12] + c98 * source[14]
349 - c97 * source[29] + c98 * source[24] + c98 * source[26]
350 - c95 * source[41] + c96 * source[36] + c96 * source[38];
351 }
352 }
353
carsph_62(const int nloop,const complex<double> * source,complex<double> * target)354 void CCarSphList::carsph_62(const int nloop, const complex<double>* source, complex<double>* target) {
355 const double c25 = 51.553976568253198;
356 const double c17 = 40.301597362883768;
357 const double c49 = 37.649701194033398;
358 const double c38 = 34.369317712168801;
359 const double c30 = 29.764702249476645;
360 const double c21 = 25.776988284126599;
361 const double c66 = 25.099800796022265;
362 const double c11 = 23.268138086232856;
363 const double c54 = 21.737065119284157;
364 const double c16 = 20.150798681441884;
365 const double c40 = 19.843134832984429;
366 const double c86 = 19.48557158514987;
367 const double c45 = 18.824850597016699;
368 const double c3 = 17.451103564674643;
369 const double c36 = 17.1846588560844;
370 const double c31 = 14.882351124738323;
371 const double c68 = 14.491376746189438;
372 const double c51 = 14.118637947762524;
373 const double c14 = 13.433865787627923;
374 const double c85 = 12.99038105676658;
375 const double c48 = 12.549900398011133;
376 const double c9 = 11.634069043116428;
377 const double c74 = 11.456439237389599;
378 const double c94 = 11.25;
379 const double c55 = 10.868532559642079;
380 const double c6 = 10.075399340720942;
381 const double c41 = 9.9215674164922145;
382 const double c81 = 9.742785792574935;
383 const double c1 = 8.7255517823373214;
384 const double c24 = 8.5923294280422002;
385 const double c58 = 8.1513994197315593;
386 const double c71 = 7.9372539331937721;
387 const double c90 = 7.5;
388 const double c52 = 7.245688373094719;
389 const double c47 = 7.0593189738812621;
390 const double c10 = 6.9804414258698566;
391 const double c15 = 6.7169328938139614;
392 const double c79 = 6.49519052838329;
393 const double c44 = 6.2749501990055663;
394 const double c19 = 5.817034521558214;
395 const double c75 = 5.7282196186947996;
396 const double c92 = 5.625;
397 const double c27 = 5.1553976568253201;
398 const double c7 = 5.0376996703604711;
399 const double c28 = 4.9607837082461073;
400 const double c80 = 4.8713928962874675;
401 const double c50 = 4.7062126492541747;
402 const double c72 = 4.5825756949558398;
403 const double c20 = 4.2961647140211001;
404 const double c59 = 4.0756997098657797;
405 const double c12 = 4.0301597362883772;
406 const double c70 = 3.9686269665968861;
407 const double c91 = 3.75;
408 const double c53 = 3.6228441865473595;
409 const double c8 = 3.4902207129349283;
410 const double c39 = 3.4369317712168801;
411 const double c67 = 3.1374750995027831;
412 const double c34 = 2.9764702249476644;
413 const double c76 = 2.8641098093473998;
414 const double c93 = 2.8125;
415 const double c56 = 2.7171331399105196;
416 const double c23 = 2.5776988284126601;
417 const double c29 = 2.4803918541230536;
418 const double c46 = 2.3531063246270874;
419 const double c18 = 2.3268138086232857;
420 const double c73 = 2.2912878474779199;
421 const double c13 = 2.0150798681441886;
422 const double c42 = 1.984313483298443;
423 const double c69 = 1.8114220932736798;
424 const double c84 = 1.7320508075688772;
425 const double c37 = 1.71846588560844;
426 const double c88 = 1.6237976320958225;
427 const double c62 = 1.5687375497513916;
428 const double c35 = 1.4882351124738322;
429 const double c77 = 1.4320549046736999;
430 const double c57 = 1.3585665699552598;
431 const double c2 = 1.1634069043116428;
432 const double c43 = 0.99215674164922152;
433 const double c97 = 0.9375;
434 const double c65 = 0.90571104663683988;
435 const double c78 = 0.8660254037844386;
436 const double c26 = 0.85923294280422002;
437 const double c83 = 0.81189881604791125;
438 const double c61 = 0.78436877487569578;
439 const double c4 = 0.67169328938139616;
440 const double c0 = 0.58170345215582142;
441 const double c87 = 0.54126587736527421;
442 const double c89 = 0.5;
443 const double c32 = 0.49607837082461076;
444 const double c98 = 0.46875;
445 const double c63 = 0.45285552331841994;
446 const double c22 = 0.42961647140211001;
447 const double c60 = 0.39218438743784789;
448 const double c5 = 0.33584664469069808;
449 const double c95 = 0.3125;
450 const double c82 = 0.2706329386826371;
451 const double c33 = 0.24803918541230538;
452 const double c64 = 0.22642776165920997;
453 const double c96 = 0.15625;
454 for (int iloop = 0; iloop != nloop; ++iloop, target += 65, source += 168) {
455 target[0] = c0 * source[0] - c0 * source[2] - c1 * source[12]
456 + c1 * source[14] + c1 * source[24] - c1 * source[26]
457 - c0 * source[36] + c0 * source[38];
458 target[1] = c2 * source[1] - c3 * source[13] + c3 * source[25]
459 - c2 * source[37];
460 target[2] = c2 * source[3] - c3 * source[15] + c3 * source[27]
461 - c2 * source[39];
462 target[3] = c2 * source[4] - c3 * source[16] + c3 * source[28]
463 - c2 * source[40];
464 target[4] = c4 * source[5] - c5 * source[0] - c5 * source[2]
465 - c6 * source[17] + c7 * source[12] + c7 * source[14]
466 + c6 * source[29] - c7 * source[24] - c7 * source[26]
467 - c4 * source[41] + c5 * source[36] + c5 * source[38];
468 target[5] = c8 * source[6] - c8 * source[8] - c9 * source[18]
469 + c9 * source[20] + c8 * source[30] - c8 * source[32];
470 target[6] = c10 * source[7] - c11 * source[19] + c10 * source[31];
471 target[7] = c10 * source[9] - c11 * source[21] + c10 * source[33];
472 target[8] = c10 * source[10] - c11 * source[22] + c10 * source[34];
473 target[9] = c12 * source[11] - c13 * source[6] - c13 * source[8]
474 - c14 * source[23] + c15 * source[18] + c15 * source[20]
475 + c12 * source[35] - c13 * source[30] - c13 * source[32];
476 target[10] = c13 * source[42] - c13 * source[44] - c16 * source[54]
477 + c16 * source[56] + c6 * source[66] - c6 * source[68];
478 target[11] = c12 * source[43] - c17 * source[55] + c16 * source[67];
479 target[12] = c12 * source[45] - c17 * source[57] + c16 * source[69];
480 target[13] = c12 * source[46] - c17 * source[58] + c16 * source[70];
481 target[14] = c18 * source[47] - c2 * source[42] - c2 * source[44]
482 - c11 * source[59] + c9 * source[54] + c9 * source[56]
483 + c9 * source[71] - c19 * source[66] - c19 * source[68];
484 target[15] = c6 * source[48] - c6 * source[50] - c16 * source[60]
485 + c16 * source[62] + c13 * source[72] - c13 * source[74];
486 target[16] = c16 * source[49] - c17 * source[61] + c12 * source[73];
487 target[17] = c16 * source[51] - c17 * source[63] + c12 * source[75];
488 target[18] = c16 * source[52] - c17 * source[64] + c12 * source[76];
489 target[19] = c9 * source[53] - c19 * source[48] - c19 * source[50]
490 - c11 * source[65] + c9 * source[60] + c9 * source[62]
491 + c18 * source[77] - c2 * source[72] - c2 * source[74];
492 target[20] = c20 * source[78] - c20 * source[80] - c21 * source[90]
493 + c21 * source[92] + c20 * source[102] - c20 * source[104]
494 - c22 * source[0] + c22 * source[2] + c23 * source[12]
495 - c23 * source[14] - c22 * source[24] + c22 * source[26]
496 - c22 * source[12] + c22 * source[14] + c23 * source[24]
497 - c23 * source[26] - c22 * source[36] + c22 * source[38];
498 target[21] = c24 * source[79] - c25 * source[91] + c24 * source[103]
499 - c26 * source[1] + c27 * source[13] - c26 * source[25]
500 - c26 * source[13] + c27 * source[25] - c26 * source[37];
501 target[22] = c24 * source[81] - c25 * source[93] + c24 * source[105]
502 - c26 * source[3] + c27 * source[15] - c26 * source[27]
503 - c26 * source[15] + c27 * source[27] - c26 * source[39];
504 target[23] = c24 * source[82] - c25 * source[94] + c24 * source[106]
505 - c26 * source[4] + c27 * source[16] - c26 * source[28]
506 - c26 * source[16] + c27 * source[28] - c26 * source[40];
507 target[24] = c28 * source[83] - c29 * source[78] - c29 * source[80]
508 - c30 * source[95] + c31 * source[90] + c31 * source[92]
509 + c28 * source[107] - c29 * source[102] - c29 * source[104]
510 - c32 * source[5] + c33 * source[0] + c33 * source[2]
511 + c34 * source[17] - c35 * source[12] - c35 * source[14]
512 - c32 * source[29] + c33 * source[24] + c33 * source[26]
513 - c32 * source[17] + c33 * source[12] + c33 * source[14]
514 + c34 * source[29] - c35 * source[24] - c35 * source[26]
515 - c32 * source[41] + c33 * source[36] + c33 * source[38];
516 target[25] = c36 * source[84] - c36 * source[86] - c36 * source[96]
517 + c36 * source[98] - c37 * source[6] + c37 * source[8]
518 + c37 * source[18] - c37 * source[20] - c37 * source[18]
519 + c37 * source[20] + c37 * source[30] - c37 * source[32];
520 target[26] = c38 * source[85] - c38 * source[97] - c39 * source[7]
521 + c39 * source[19] - c39 * source[19] + c39 * source[31];
522 target[27] = c38 * source[87] - c38 * source[99] - c39 * source[9]
523 + c39 * source[21] - c39 * source[21] + c39 * source[33];
524 target[28] = c38 * source[88] - c38 * source[100] - c39 * source[10]
525 + c39 * source[22] - c39 * source[22] + c39 * source[34];
526 target[29] = c40 * source[89] - c41 * source[84] - c41 * source[86]
527 - c40 * source[101] + c41 * source[96] + c41 * source[98]
528 - c42 * source[11] + c43 * source[6] + c43 * source[8]
529 + c42 * source[23] - c43 * source[18] - c43 * source[20]
530 - c42 * source[23] + c43 * source[18] + c43 * source[20]
531 + c42 * source[35] - c43 * source[30] - c43 * source[32];
532 target[30] = c44 * source[108] - c44 * source[110] - c45 * source[120]
533 + c45 * source[122] - c46 * source[42] + c46 * source[44]
534 + c47 * source[54] - c47 * source[56] - c46 * source[54]
535 + c46 * source[56] + c47 * source[66] - c47 * source[68];
536 target[31] = c48 * source[109] - c49 * source[121] - c50 * source[43]
537 + c51 * source[55] - c50 * source[55] + c51 * source[67];
538 target[32] = c48 * source[111] - c49 * source[123] - c50 * source[45]
539 + c51 * source[57] - c50 * source[57] + c51 * source[69];
540 target[33] = c48 * source[112] - c49 * source[124] - c50 * source[46]
541 + c51 * source[58] - c50 * source[58] + c51 * source[70];
542 target[34] = c52 * source[113] - c53 * source[108] - c53 * source[110]
543 - c54 * source[125] + c55 * source[120] + c55 * source[122]
544 - c56 * source[47] + c57 * source[42] + c57 * source[44]
545 + c58 * source[59] - c59 * source[54] - c59 * source[56]
546 - c56 * source[59] + c57 * source[54] + c57 * source[56]
547 + c58 * source[71] - c59 * source[66] - c59 * source[68];
548 target[35] = c45 * source[114] - c45 * source[116] - c44 * source[126]
549 + c44 * source[128] - c47 * source[48] + c47 * source[50]
550 + c46 * source[60] - c46 * source[62] - c47 * source[60]
551 + c47 * source[62] + c46 * source[72] - c46 * source[74];
552 target[36] = c49 * source[115] - c48 * source[127] - c51 * source[49]
553 + c50 * source[61] - c51 * source[61] + c50 * source[73];
554 target[37] = c49 * source[117] - c48 * source[129] - c51 * source[51]
555 + c50 * source[63] - c51 * source[63] + c50 * source[75];
556 target[38] = c49 * source[118] - c48 * source[130] - c51 * source[52]
557 + c50 * source[64] - c51 * source[64] + c50 * source[76];
558 target[39] = c54 * source[119] - c55 * source[114] - c55 * source[116]
559 - c52 * source[131] + c53 * source[126] + c53 * source[128]
560 - c58 * source[53] + c59 * source[48] + c59 * source[50]
561 + c56 * source[65] - c57 * source[60] - c57 * source[62]
562 - c58 * source[65] + c59 * source[60] + c59 * source[62]
563 + c56 * source[77] - c57 * source[72] - c57 * source[74];
564 target[40] = c44 * source[132] - c44 * source[134] - c44 * source[144]
565 + c44 * source[146] - c44 * source[78] + c44 * source[80]
566 + c44 * source[90] - c44 * source[92] - c44 * source[90]
567 + c44 * source[92] + c44 * source[102] - c44 * source[104]
568 + c60 * source[0] - c60 * source[2] - c60 * source[12]
569 + c60 * source[14] + c61 * source[12] - c61 * source[14]
570 - c61 * source[24] + c61 * source[26] + c60 * source[24]
571 - c60 * source[26] - c60 * source[36] + c60 * source[38];
572 target[41] = c48 * source[133] - c48 * source[145] - c48 * source[79]
573 + c48 * source[91] - c48 * source[91] + c48 * source[103]
574 + c61 * source[1] - c61 * source[13] + c62 * source[13]
575 - c62 * source[25] + c61 * source[25] - c61 * source[37];
576 target[42] = c48 * source[135] - c48 * source[147] - c48 * source[81]
577 + c48 * source[93] - c48 * source[93] + c48 * source[105]
578 + c61 * source[3] - c61 * source[15] + c62 * source[15]
579 - c62 * source[27] + c61 * source[27] - c61 * source[39];
580 target[43] = c48 * source[136] - c48 * source[148] - c48 * source[82]
581 + c48 * source[94] - c48 * source[94] + c48 * source[106]
582 + c61 * source[4] - c61 * source[16] + c62 * source[16]
583 - c62 * source[28] + c61 * source[28] - c61 * source[40];
584 target[44] = c52 * source[137] - c53 * source[132] - c53 * source[134]
585 - c52 * source[149] + c53 * source[144] + c53 * source[146]
586 - c52 * source[83] + c53 * source[78] + c53 * source[80]
587 + c52 * source[95] - c53 * source[90] - c53 * source[92]
588 - c52 * source[95] + c53 * source[90] + c53 * source[92]
589 + c52 * source[107] - c53 * source[102] - c53 * source[104]
590 + c63 * source[5] - c64 * source[0] - c64 * source[2]
591 - c63 * source[17] + c64 * source[12] + c64 * source[14]
592 + c65 * source[17] - c63 * source[12] - c63 * source[14]
593 - c65 * source[29] + c63 * source[24] + c63 * source[26]
594 + c63 * source[29] - c64 * source[24] - c64 * source[26]
595 - c63 * source[41] + c64 * source[36] + c64 * source[38];
596 target[45] = c48 * source[138] - c48 * source[140] - c48 * source[84]
597 + c48 * source[86] - c48 * source[96] + c48 * source[98]
598 + c61 * source[6] - c61 * source[8] + c62 * source[18]
599 - c62 * source[20] + c61 * source[30] - c61 * source[32];
600 target[46] = c66 * source[139] - c66 * source[85] - c66 * source[97]
601 + c62 * source[7] + c67 * source[19] + c62 * source[31];
602 target[47] = c66 * source[141] - c66 * source[87] - c66 * source[99]
603 + c62 * source[9] + c67 * source[21] + c62 * source[33];
604 target[48] = c66 * source[142] - c66 * source[88] - c66 * source[100]
605 + c62 * source[10] + c67 * source[22] + c62 * source[34];
606 target[49] = c68 * source[143] - c52 * source[138] - c52 * source[140]
607 - c68 * source[89] + c52 * source[84] + c52 * source[86]
608 - c68 * source[101] + c52 * source[96] + c52 * source[98]
609 + c65 * source[11] - c63 * source[6] - c63 * source[8]
610 + c69 * source[23] - c65 * source[18] - c65 * source[20]
611 + c65 * source[35] - c63 * source[30] - c63 * source[32];
612 target[50] = c70 * source[150] - c70 * source[152] - c41 * source[108]
613 + c41 * source[110] - c41 * source[120] + c41 * source[122]
614 + c29 * source[42] - c29 * source[44] + c28 * source[54]
615 - c28 * source[56] + c29 * source[66] - c29 * source[68];
616 target[51] = c71 * source[151] - c40 * source[109] - c40 * source[121]
617 + c28 * source[43] + c41 * source[55] + c28 * source[67];
618 target[52] = c71 * source[153] - c40 * source[111] - c40 * source[123]
619 + c28 * source[45] + c41 * source[57] + c28 * source[69];
620 target[53] = c71 * source[154] - c40 * source[112] - c40 * source[124]
621 + c28 * source[46] + c41 * source[58] + c28 * source[70];
622 target[54] = c72 * source[155] - c73 * source[150] - c73 * source[152]
623 - c74 * source[113] + c75 * source[108] + c75 * source[110]
624 - c74 * source[125] + c75 * source[120] + c75 * source[122]
625 + c76 * source[47] - c77 * source[42] - c77 * source[44]
626 + c75 * source[59] - c76 * source[54] - c76 * source[56]
627 + c76 * source[71] - c77 * source[66] - c77 * source[68];
628 target[55] = c70 * source[156] - c70 * source[158] - c41 * source[114]
629 + c41 * source[116] - c41 * source[126] + c41 * source[128]
630 + c29 * source[48] - c29 * source[50] + c28 * source[60]
631 - c28 * source[62] + c29 * source[72] - c29 * source[74];
632 target[56] = c71 * source[157] - c40 * source[115] - c40 * source[127]
633 + c28 * source[49] + c41 * source[61] + c28 * source[73];
634 target[57] = c71 * source[159] - c40 * source[117] - c40 * source[129]
635 + c28 * source[51] + c41 * source[63] + c28 * source[75];
636 target[58] = c71 * source[160] - c40 * source[118] - c40 * source[130]
637 + c28 * source[52] + c41 * source[64] + c28 * source[76];
638 target[59] = c72 * source[161] - c73 * source[156] - c73 * source[158]
639 - c74 * source[119] + c75 * source[114] + c75 * source[116]
640 - c74 * source[131] + c75 * source[126] + c75 * source[128]
641 + c76 * source[53] - c77 * source[48] - c77 * source[50]
642 + c75 * source[65] - c76 * source[60] - c76 * source[62]
643 + c76 * source[77] - c77 * source[72] - c77 * source[74];
644 target[60] = c78 * source[162] - c78 * source[164] - c79 * source[132]
645 + c79 * source[134] - c79 * source[144] + c79 * source[146]
646 + c80 * source[78] - c80 * source[80] + c81 * source[90]
647 - c81 * source[92] + c80 * source[102] - c80 * source[104]
648 - c82 * source[0] + c82 * source[2] - c83 * source[12]
649 + c83 * source[14] - c83 * source[24] + c83 * source[26]
650 - c82 * source[36] + c82 * source[38];
651 target[61] = c84 * source[163] - c85 * source[133] - c85 * source[145]
652 + c81 * source[79] + c86 * source[91] + c81 * source[103]
653 - c87 * source[1] - c88 * source[13] - c88 * source[25]
654 - c87 * source[37];
655 target[62] = c84 * source[165] - c85 * source[135] - c85 * source[147]
656 + c81 * source[81] + c86 * source[93] + c81 * source[105]
657 - c87 * source[3] - c88 * source[15] - c88 * source[27]
658 - c87 * source[39];
659 target[63] = c84 * source[166] - c85 * source[136] - c85 * source[148]
660 + c81 * source[82] + c86 * source[94] + c81 * source[106]
661 - c87 * source[4] - c88 * source[16] - c88 * source[28]
662 - c87 * source[40];
663 target[64] = source[167] - c89 * source[162] - c89 * source[164]
664 - c90 * source[137] + c91 * source[132] + c91 * source[134]
665 - c90 * source[149] + c91 * source[144] + c91 * source[146]
666 + c92 * source[83] - c93 * source[78] - c93 * source[80]
667 + c94 * source[95] - c92 * source[90] - c92 * source[92]
668 + c92 * source[107] - c93 * source[102] - c93 * source[104]
669 - c95 * source[5] + c96 * source[0] + c96 * source[2]
670 - c97 * source[17] + c98 * source[12] + c98 * source[14]
671 - c97 * source[29] + c98 * source[24] + c98 * source[26]
672 - c95 * source[41] + c96 * source[36] + c96 * source[38];
673 }
674 }
675
676