1 //
2 // BAGEL - Brilliantly Advanced General Electronic Structure Library
3 // Filename: _carsph_43.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_43(const int nloop,const double * source,double * target)32 void CarSphList::carsph_43(const int nloop, const double* source, double* target) {
33 const double c56 = 25.98076211353316;
34 const double c28 = 24.302777619029477;
35 const double c7 = 17.1846588560844;
36 const double c58 = 16.431676725154983;
37 const double c54 = 15.90990257669732;
38 const double c31 = 15.370426148939398;
39 const double c24 = 14.882351124738323;
40 const double c43 = 12.99038105676658;
41 const double c72 = 12.24744871391589;
42 const double c26 = 12.151388809514739;
43 const double c90 = 11.61895003862225;
44 const double c19 = 11.456439237389599;
45 const double c10 = 10.868532559642079;
46 const double c3 = 10.523411400301709;
47 const double c63 = 10.062305898749054;
48 const double c36 = 9.4124252985083494;
49 const double c73 = 9.1855865354369186;
50 const double c5 = 8.5923294280422002;
51 const double c45 = 8.2158383625774913;
52 const double c27 = 8.1009258730098246;
53 const double c38 = 7.9549512883486599;
54 const double c74 = 7.745966692414834;
55 const double c67 = 7.5;
56 const double c94 = 7.3484692283495345;
57 const double c20 = 7.245688373094719;
58 const double c83 = 7.1151247353788536;
59 const double c17 = 7.0156076002011405;
60 const double c62 = 6.7082039324993694;
61 const double c15 = 6.6555897559870685;
62 const double c41 = 6.49519052838329;
63 const double c35 = 6.2749501990055663;
64 const double c70 = 6.1237243569579451;
65 const double c76 = 5.8094750193111251;
66 const double c18 = 5.7282196186947996;
67 const double c69 = 5.625;
68 const double c53 = 5.3033008588991066;
69 const double c29 = 5.123475382979799;
70 const double c50 = 5.0311529493745271;
71 const double c23 = 4.9607837082461073;
72 const double c79 = 4.7434164902525691;
73 const double c71 = 4.5927932677184593;
74 const double c101 = 4.5;
75 const double c14 = 4.4370598373247123;
76 const double c57 = 4.3301270189221936;
77 const double c59 = 4.1079191812887457;
78 const double c25 = 4.0504629365049123;
79 const double c89 = 3.872983346207417;
80 const double c32 = 3.8426065372348495;
81 const double c81 = 3.5575623676894268;
82 const double c2 = 3.5078038001005702;
83 const double c49 = 3.3541019662496847;
84 const double c78 = 3.1622776601683795;
85 const double c34 = 3.1374750995027831;
86 const double c100 = 3;
87 const double c21 = 2.9580398915498081;
88 const double c91 = 2.9047375096555625;
89 const double c6 = 2.8641098093473998;
90 const double c60 = 2.7386127875258306;
91 const double c11 = 2.7171331399105196;
92 const double c37 = 2.6516504294495533;
93 const double c66 = 2.5;
94 const double c92 = 2.4494897427831779;
95 const double c80 = 2.3717082451262845;
96 const double c16 = 2.3385358667337135;
97 const double c44 = 2.1650635094610968;
98 const double c33 = 2.0916500663351889;
99 const double c46 = 2.0539595906443728;
100 const double c75 = 1.9364916731037085;
101 const double c68 = 1.875;
102 const double c95 = 1.8371173070873836;
103 const double c8 = 1.8114220932736798;
104 const double c87 = 1.7787811838447134;
105 const double c1 = 1.7539019000502851;
106 const double c65 = 1.6770509831248424;
107 const double c22 = 1.6535945694153691;
108 const double c99 = 1.5;
109 const double c77 = 1.4523687548277813;
110 const double c4 = 1.4320549046736999;
111 const double c47 = 1.3693063937629153;
112 const double c40 = 1.3258252147247767;
113 const double c30 = 1.2808688457449497;
114 const double c105 = 1.125;
115 const double c64 = 1.1180339887498949;
116 const double c13 = 1.1092649593311781;
117 const double c42 = 1.0825317547305484;
118 const double c96 = 0.91855865354369182;
119 const double c85 = 0.8893905919223567;
120 const double c55 = 0.88388347648318444;
121 const double c52 = 0.83852549156242118;
122 const double c82 = 0.79056941504209488;
123 const double c104 = 0.75;
124 const double c12 = 0.73950997288745202;
125 const double c88 = 0.72618437741389064;
126 const double c61 = 0.68465319688145765;
127 const double c93 = 0.61237243569579447;
128 const double c86 = 0.59292706128157113;
129 const double c0 = 0.58463396668342837;
130 const double c103 = 0.5625;
131 const double c51 = 0.55901699437494745;
132 const double c98 = 0.45927932677184591;
133 const double c9 = 0.45285552331841994;
134 const double c39 = 0.44194173824159222;
135 const double c102 = 0.375;
136 const double c48 = 0.34232659844072882;
137 const double c84 = 0.29646353064078557;
138 const double c97 = 0.22963966338592295;
139 for (int iloop = 0; iloop != nloop; ++iloop, target += 63, source += 150) {
140 target[0] = c0 * source[0] - c1 * source[2] - c2 * source[20]
141 + c3 * source[22] + c0 * source[40] - c1 * source[42];
142 target[1] = c1 * source[1] - c0 * source[3] - c3 * source[21]
143 + c2 * source[23] + c1 * source[41] - c0 * source[43];
144 target[2] = c4 * source[4] - c4 * source[6] - c5 * source[24]
145 + c5 * source[26] + c4 * source[44] - c4 * source[46];
146 target[3] = c6 * source[5] - c7 * source[25] + c6 * source[45];
147 target[4] = c8 * source[7] - c9 * source[0] - c9 * source[2]
148 - c10 * source[27] + c11 * source[20] + c11 * source[22]
149 + c8 * source[47] - c9 * source[40] - c9 * source[42];
150 target[5] = c8 * source[8] - c9 * source[1] - c9 * source[3]
151 - c10 * source[28] + c11 * source[21] + c11 * source[23]
152 + c8 * source[48] - c9 * source[41] - c9 * source[43];
153 target[6] = c12 * source[9] - c13 * source[4] - c13 * source[6]
154 - c14 * source[29] + c15 * source[24] + c15 * source[26]
155 + c12 * source[49] - c13 * source[44] - c13 * source[46];
156 target[7] = c16 * source[10] - c17 * source[12] - c16 * source[30]
157 + c17 * source[32];
158 target[8] = c17 * source[11] - c16 * source[13] - c17 * source[31]
159 + c16 * source[33];
160 target[9] = c18 * source[14] - c18 * source[16] - c18 * source[34]
161 + c18 * source[36];
162 target[10] = c19 * source[15] - c19 * source[35];
163 target[11] = c20 * source[17] - c8 * source[10] - c8 * source[12]
164 - c20 * source[37] + c8 * source[30] + c8 * source[32];
165 target[12] = c20 * source[18] - c8 * source[11] - c8 * source[13]
166 - c20 * source[38] + c8 * source[31] + c8 * source[33];
167 target[13] = c21 * source[19] - c14 * source[14] - c14 * source[16]
168 - c21 * source[39] + c14 * source[34] + c14 * source[36];
169 target[14] = c22 * source[50] - c23 * source[52] - c23 * source[70]
170 + c24 * source[72];
171 target[15] = c23 * source[51] - c22 * source[53] - c24 * source[71]
172 + c23 * source[73];
173 target[16] = c25 * source[54] - c25 * source[56] - c26 * source[74]
174 + c26 * source[76];
175 target[17] = c27 * source[55] - c28 * source[75];
176 target[18] = c29 * source[57] - c30 * source[50] - c30 * source[52]
177 - c31 * source[77] + c32 * source[70] + c32 * source[72];
178 target[19] = c29 * source[58] - c30 * source[51] - c30 * source[53]
179 - c31 * source[78] + c32 * source[71] + c32 * source[73];
180 target[20] = c33 * source[59] - c34 * source[54] - c34 * source[56]
181 - c35 * source[79] + c36 * source[74] + c36 * source[76];
182 target[21] = c23 * source[60] - c24 * source[62] - c22 * source[80]
183 + c23 * source[82];
184 target[22] = c24 * source[61] - c23 * source[63] - c23 * source[81]
185 + c22 * source[83];
186 target[23] = c26 * source[64] - c26 * source[66] - c25 * source[84]
187 + c25 * source[86];
188 target[24] = c28 * source[65] - c27 * source[85];
189 target[25] = c31 * source[67] - c32 * source[60] - c32 * source[62]
190 - c29 * source[87] + c30 * source[80] + c30 * source[82];
191 target[26] = c31 * source[68] - c32 * source[61] - c32 * source[63]
192 - c29 * source[88] + c30 * source[81] + c30 * source[83];
193 target[27] = c35 * source[69] - c36 * source[64] - c36 * source[66]
194 - c33 * source[89] + c34 * source[84] + c34 * source[86];
195 target[28] = c37 * source[90] - c38 * source[92] - c37 * source[110]
196 + c38 * source[112] - c39 * source[0] + c40 * source[2]
197 + c39 * source[20] - c40 * source[22] - c39 * source[20]
198 + c40 * source[22] + c39 * source[40] - c40 * source[42];
199 target[29] = c38 * source[91] - c37 * source[93] - c38 * source[111]
200 + c37 * source[113] - c40 * source[1] + c39 * source[3]
201 + c40 * source[21] - c39 * source[23] - c40 * source[21]
202 + c39 * source[23] + c40 * source[41] - c39 * source[43];
203 target[30] = c41 * source[94] - c41 * source[96] - c41 * source[114]
204 + c41 * source[116] - c42 * source[4] + c42 * source[6]
205 + c42 * source[24] - c42 * source[26] - c42 * source[24]
206 + c42 * source[26] + c42 * source[44] - c42 * source[46];
207 target[31] = c43 * source[95] - c43 * source[115] - c44 * source[5]
208 + c44 * source[25] - c44 * source[25] + c44 * source[45];
209 target[32] = c45 * source[97] - c46 * source[90] - c46 * source[92]
210 - c45 * source[117] + c46 * source[110] + c46 * source[112]
211 - c47 * source[7] + c48 * source[0] + c48 * source[2]
212 + c47 * source[27] - c48 * source[20] - c48 * source[22]
213 - c47 * source[27] + c48 * source[20] + c48 * source[22]
214 + c47 * source[47] - c48 * source[40] - c48 * source[42];
215 target[33] = c45 * source[98] - c46 * source[91] - c46 * source[93]
216 - c45 * source[118] + c46 * source[111] + c46 * source[113]
217 - c47 * source[8] + c48 * source[1] + c48 * source[3]
218 + c47 * source[28] - c48 * source[21] - c48 * source[23]
219 - c47 * source[28] + c48 * source[21] + c48 * source[23]
220 + c47 * source[48] - c48 * source[41] - c48 * source[43];
221 target[34] = c49 * source[99] - c50 * source[94] - c50 * source[96]
222 - c49 * source[119] + c50 * source[114] + c50 * source[116]
223 - c51 * source[9] + c52 * source[4] + c52 * source[6]
224 + c51 * source[29] - c52 * source[24] - c52 * source[26]
225 - c51 * source[29] + c52 * source[24] + c52 * source[26]
226 + c51 * source[49] - c52 * source[44] - c52 * source[46];
227 target[35] = c53 * source[100] - c54 * source[102] - c55 * source[10]
228 + c37 * source[12] - c55 * source[30] + c37 * source[32];
229 target[36] = c54 * source[101] - c53 * source[103] - c37 * source[11]
230 + c55 * source[13] - c37 * source[31] + c55 * source[33];
231 target[37] = c43 * source[104] - c43 * source[106] - c44 * source[14]
232 + c44 * source[16] - c44 * source[34] + c44 * source[36];
233 target[38] = c56 * source[105] - c57 * source[15] - c57 * source[35];
234 target[39] = c58 * source[107] - c59 * source[100] - c59 * source[102]
235 - c60 * source[17] + c61 * source[10] + c61 * source[12]
236 - c60 * source[37] + c61 * source[30] + c61 * source[32];
237 target[40] = c58 * source[108] - c59 * source[101] - c59 * source[103]
238 - c60 * source[18] + c61 * source[11] + c61 * source[13]
239 - c60 * source[38] + c61 * source[31] + c61 * source[33];
240 target[41] = c62 * source[109] - c63 * source[104] - c63 * source[106]
241 - c64 * source[19] + c65 * source[14] + c65 * source[16]
242 - c64 * source[39] + c65 * source[34] + c65 * source[36];
243 target[42] = c66 * source[120] - c67 * source[122] - c68 * source[50]
244 + c69 * source[52] - c68 * source[70] + c69 * source[72];
245 target[43] = c67 * source[121] - c66 * source[123] - c69 * source[51]
246 + c68 * source[53] - c69 * source[71] + c68 * source[73];
247 target[44] = c70 * source[124] - c70 * source[126] - c71 * source[54]
248 + c71 * source[56] - c71 * source[74] + c71 * source[76];
249 target[45] = c72 * source[125] - c73 * source[55] - c73 * source[75];
250 target[46] = c74 * source[127] - c75 * source[120] - c75 * source[122]
251 - c76 * source[57] + c77 * source[50] + c77 * source[52]
252 - c76 * source[77] + c77 * source[70] + c77 * source[72];
253 target[47] = c74 * source[128] - c75 * source[121] - c75 * source[123]
254 - c76 * source[58] + c77 * source[51] + c77 * source[53]
255 - c76 * source[78] + c77 * source[71] + c77 * source[73];
256 target[48] = c78 * source[129] - c79 * source[124] - c79 * source[126]
257 - c80 * source[59] + c81 * source[54] + c81 * source[56]
258 - c80 * source[79] + c81 * source[74] + c81 * source[76];
259 target[49] = c66 * source[130] - c67 * source[132] - c68 * source[60]
260 + c69 * source[62] - c68 * source[80] + c69 * source[82];
261 target[50] = c67 * source[131] - c66 * source[133] - c69 * source[61]
262 + c68 * source[63] - c69 * source[81] + c68 * source[83];
263 target[51] = c70 * source[134] - c70 * source[136] - c71 * source[64]
264 + c71 * source[66] - c71 * source[84] + c71 * source[86];
265 target[52] = c72 * source[135] - c73 * source[65] - c73 * source[85];
266 target[53] = c74 * source[137] - c75 * source[130] - c75 * source[132]
267 - c76 * source[67] + c77 * source[60] + c77 * source[62]
268 - c76 * source[87] + c77 * source[80] + c77 * source[82];
269 target[54] = c74 * source[138] - c75 * source[131] - c75 * source[133]
270 - c76 * source[68] + c77 * source[61] + c77 * source[63]
271 - c76 * source[88] + c77 * source[81] + c77 * source[83];
272 target[55] = c78 * source[139] - c79 * source[134] - c79 * source[136]
273 - c80 * source[69] + c81 * source[64] + c81 * source[66]
274 - c80 * source[89] + c81 * source[84] + c81 * source[86];
275 target[56] = c82 * source[140] - c80 * source[142] - c80 * source[90]
276 + c83 * source[92] - c80 * source[110] + c83 * source[112]
277 + c84 * source[0] - c85 * source[2] + c86 * source[20]
278 - c87 * source[22] + c84 * source[40] - c85 * source[42];
279 target[57] = c80 * source[141] - c82 * source[143] - c83 * source[91]
280 + c80 * source[93] - c83 * source[111] + c80 * source[113]
281 + c85 * source[1] - c84 * source[3] + c87 * source[21]
282 - c86 * source[23] + c85 * source[41] - c84 * source[43];
283 target[58] = c75 * source[144] - c75 * source[146] - c76 * source[94]
284 + c76 * source[96] - c76 * source[114] + c76 * source[116]
285 + c88 * source[4] - c88 * source[6] + c77 * source[24]
286 - c77 * source[26] + c88 * source[44] - c88 * source[46];
287 target[59] = c89 * source[145] - c90 * source[95] - c90 * source[115]
288 + c77 * source[5] + c91 * source[25] + c77 * source[45];
289 target[60] = c92 * source[147] - c93 * source[140] - c93 * source[142]
290 - c94 * source[97] + c95 * source[90] + c95 * source[92]
291 - c94 * source[117] + c95 * source[110] + c95 * source[112]
292 + c96 * source[7] - c97 * source[0] - c97 * source[2]
293 + c95 * source[27] - c98 * source[20] - c98 * source[22]
294 + c96 * source[47] - c97 * source[40] - c97 * source[42];
295 target[61] = c92 * source[148] - c93 * source[141] - c93 * source[143]
296 - c94 * source[98] + c95 * source[91] + c95 * source[93]
297 - c94 * source[118] + c95 * source[111] + c95 * source[113]
298 + c96 * source[8] - c97 * source[1] - c97 * source[3]
299 + c95 * source[28] - c98 * source[21] - c98 * source[23]
300 + c96 * source[48] - c97 * source[41] - c97 * source[43];
301 target[62] = source[149] - c99 * source[144] - c99 * source[146]
302 - c100 * source[99] + c101 * source[94] + c101 * source[96]
303 - c100 * source[119] + c101 * source[114] + c101 * source[116]
304 + c102 * source[9] - c103 * source[4] - c103 * source[6]
305 + c104 * source[29] - c105 * source[24] - c105 * source[26]
306 + c102 * source[49] - c103 * source[44] - c103 * source[46];
307 }
308 }
309
carsph_43(const int nloop,const complex<double> * source,complex<double> * target)310 void CCarSphList::carsph_43(const int nloop, const complex<double>* source, complex<double>* target) {
311 const double c56 = 25.98076211353316;
312 const double c28 = 24.302777619029477;
313 const double c7 = 17.1846588560844;
314 const double c58 = 16.431676725154983;
315 const double c54 = 15.90990257669732;
316 const double c31 = 15.370426148939398;
317 const double c24 = 14.882351124738323;
318 const double c43 = 12.99038105676658;
319 const double c72 = 12.24744871391589;
320 const double c26 = 12.151388809514739;
321 const double c90 = 11.61895003862225;
322 const double c19 = 11.456439237389599;
323 const double c10 = 10.868532559642079;
324 const double c3 = 10.523411400301709;
325 const double c63 = 10.062305898749054;
326 const double c36 = 9.4124252985083494;
327 const double c73 = 9.1855865354369186;
328 const double c5 = 8.5923294280422002;
329 const double c45 = 8.2158383625774913;
330 const double c27 = 8.1009258730098246;
331 const double c38 = 7.9549512883486599;
332 const double c74 = 7.745966692414834;
333 const double c67 = 7.5;
334 const double c94 = 7.3484692283495345;
335 const double c20 = 7.245688373094719;
336 const double c83 = 7.1151247353788536;
337 const double c17 = 7.0156076002011405;
338 const double c62 = 6.7082039324993694;
339 const double c15 = 6.6555897559870685;
340 const double c41 = 6.49519052838329;
341 const double c35 = 6.2749501990055663;
342 const double c70 = 6.1237243569579451;
343 const double c76 = 5.8094750193111251;
344 const double c18 = 5.7282196186947996;
345 const double c69 = 5.625;
346 const double c53 = 5.3033008588991066;
347 const double c29 = 5.123475382979799;
348 const double c50 = 5.0311529493745271;
349 const double c23 = 4.9607837082461073;
350 const double c79 = 4.7434164902525691;
351 const double c71 = 4.5927932677184593;
352 const double c101 = 4.5;
353 const double c14 = 4.4370598373247123;
354 const double c57 = 4.3301270189221936;
355 const double c59 = 4.1079191812887457;
356 const double c25 = 4.0504629365049123;
357 const double c89 = 3.872983346207417;
358 const double c32 = 3.8426065372348495;
359 const double c81 = 3.5575623676894268;
360 const double c2 = 3.5078038001005702;
361 const double c49 = 3.3541019662496847;
362 const double c78 = 3.1622776601683795;
363 const double c34 = 3.1374750995027831;
364 const double c100 = 3;
365 const double c21 = 2.9580398915498081;
366 const double c91 = 2.9047375096555625;
367 const double c6 = 2.8641098093473998;
368 const double c60 = 2.7386127875258306;
369 const double c11 = 2.7171331399105196;
370 const double c37 = 2.6516504294495533;
371 const double c66 = 2.5;
372 const double c92 = 2.4494897427831779;
373 const double c80 = 2.3717082451262845;
374 const double c16 = 2.3385358667337135;
375 const double c44 = 2.1650635094610968;
376 const double c33 = 2.0916500663351889;
377 const double c46 = 2.0539595906443728;
378 const double c75 = 1.9364916731037085;
379 const double c68 = 1.875;
380 const double c95 = 1.8371173070873836;
381 const double c8 = 1.8114220932736798;
382 const double c87 = 1.7787811838447134;
383 const double c1 = 1.7539019000502851;
384 const double c65 = 1.6770509831248424;
385 const double c22 = 1.6535945694153691;
386 const double c99 = 1.5;
387 const double c77 = 1.4523687548277813;
388 const double c4 = 1.4320549046736999;
389 const double c47 = 1.3693063937629153;
390 const double c40 = 1.3258252147247767;
391 const double c30 = 1.2808688457449497;
392 const double c105 = 1.125;
393 const double c64 = 1.1180339887498949;
394 const double c13 = 1.1092649593311781;
395 const double c42 = 1.0825317547305484;
396 const double c96 = 0.91855865354369182;
397 const double c85 = 0.8893905919223567;
398 const double c55 = 0.88388347648318444;
399 const double c52 = 0.83852549156242118;
400 const double c82 = 0.79056941504209488;
401 const double c104 = 0.75;
402 const double c12 = 0.73950997288745202;
403 const double c88 = 0.72618437741389064;
404 const double c61 = 0.68465319688145765;
405 const double c93 = 0.61237243569579447;
406 const double c86 = 0.59292706128157113;
407 const double c0 = 0.58463396668342837;
408 const double c103 = 0.5625;
409 const double c51 = 0.55901699437494745;
410 const double c98 = 0.45927932677184591;
411 const double c9 = 0.45285552331841994;
412 const double c39 = 0.44194173824159222;
413 const double c102 = 0.375;
414 const double c48 = 0.34232659844072882;
415 const double c84 = 0.29646353064078557;
416 const double c97 = 0.22963966338592295;
417 for (int iloop = 0; iloop != nloop; ++iloop, target += 63, source += 150) {
418 target[0] = c0 * source[0] - c1 * source[2] - c2 * source[20]
419 + c3 * source[22] + c0 * source[40] - c1 * source[42];
420 target[1] = c1 * source[1] - c0 * source[3] - c3 * source[21]
421 + c2 * source[23] + c1 * source[41] - c0 * source[43];
422 target[2] = c4 * source[4] - c4 * source[6] - c5 * source[24]
423 + c5 * source[26] + c4 * source[44] - c4 * source[46];
424 target[3] = c6 * source[5] - c7 * source[25] + c6 * source[45];
425 target[4] = c8 * source[7] - c9 * source[0] - c9 * source[2]
426 - c10 * source[27] + c11 * source[20] + c11 * source[22]
427 + c8 * source[47] - c9 * source[40] - c9 * source[42];
428 target[5] = c8 * source[8] - c9 * source[1] - c9 * source[3]
429 - c10 * source[28] + c11 * source[21] + c11 * source[23]
430 + c8 * source[48] - c9 * source[41] - c9 * source[43];
431 target[6] = c12 * source[9] - c13 * source[4] - c13 * source[6]
432 - c14 * source[29] + c15 * source[24] + c15 * source[26]
433 + c12 * source[49] - c13 * source[44] - c13 * source[46];
434 target[7] = c16 * source[10] - c17 * source[12] - c16 * source[30]
435 + c17 * source[32];
436 target[8] = c17 * source[11] - c16 * source[13] - c17 * source[31]
437 + c16 * source[33];
438 target[9] = c18 * source[14] - c18 * source[16] - c18 * source[34]
439 + c18 * source[36];
440 target[10] = c19 * source[15] - c19 * source[35];
441 target[11] = c20 * source[17] - c8 * source[10] - c8 * source[12]
442 - c20 * source[37] + c8 * source[30] + c8 * source[32];
443 target[12] = c20 * source[18] - c8 * source[11] - c8 * source[13]
444 - c20 * source[38] + c8 * source[31] + c8 * source[33];
445 target[13] = c21 * source[19] - c14 * source[14] - c14 * source[16]
446 - c21 * source[39] + c14 * source[34] + c14 * source[36];
447 target[14] = c22 * source[50] - c23 * source[52] - c23 * source[70]
448 + c24 * source[72];
449 target[15] = c23 * source[51] - c22 * source[53] - c24 * source[71]
450 + c23 * source[73];
451 target[16] = c25 * source[54] - c25 * source[56] - c26 * source[74]
452 + c26 * source[76];
453 target[17] = c27 * source[55] - c28 * source[75];
454 target[18] = c29 * source[57] - c30 * source[50] - c30 * source[52]
455 - c31 * source[77] + c32 * source[70] + c32 * source[72];
456 target[19] = c29 * source[58] - c30 * source[51] - c30 * source[53]
457 - c31 * source[78] + c32 * source[71] + c32 * source[73];
458 target[20] = c33 * source[59] - c34 * source[54] - c34 * source[56]
459 - c35 * source[79] + c36 * source[74] + c36 * source[76];
460 target[21] = c23 * source[60] - c24 * source[62] - c22 * source[80]
461 + c23 * source[82];
462 target[22] = c24 * source[61] - c23 * source[63] - c23 * source[81]
463 + c22 * source[83];
464 target[23] = c26 * source[64] - c26 * source[66] - c25 * source[84]
465 + c25 * source[86];
466 target[24] = c28 * source[65] - c27 * source[85];
467 target[25] = c31 * source[67] - c32 * source[60] - c32 * source[62]
468 - c29 * source[87] + c30 * source[80] + c30 * source[82];
469 target[26] = c31 * source[68] - c32 * source[61] - c32 * source[63]
470 - c29 * source[88] + c30 * source[81] + c30 * source[83];
471 target[27] = c35 * source[69] - c36 * source[64] - c36 * source[66]
472 - c33 * source[89] + c34 * source[84] + c34 * source[86];
473 target[28] = c37 * source[90] - c38 * source[92] - c37 * source[110]
474 + c38 * source[112] - c39 * source[0] + c40 * source[2]
475 + c39 * source[20] - c40 * source[22] - c39 * source[20]
476 + c40 * source[22] + c39 * source[40] - c40 * source[42];
477 target[29] = c38 * source[91] - c37 * source[93] - c38 * source[111]
478 + c37 * source[113] - c40 * source[1] + c39 * source[3]
479 + c40 * source[21] - c39 * source[23] - c40 * source[21]
480 + c39 * source[23] + c40 * source[41] - c39 * source[43];
481 target[30] = c41 * source[94] - c41 * source[96] - c41 * source[114]
482 + c41 * source[116] - c42 * source[4] + c42 * source[6]
483 + c42 * source[24] - c42 * source[26] - c42 * source[24]
484 + c42 * source[26] + c42 * source[44] - c42 * source[46];
485 target[31] = c43 * source[95] - c43 * source[115] - c44 * source[5]
486 + c44 * source[25] - c44 * source[25] + c44 * source[45];
487 target[32] = c45 * source[97] - c46 * source[90] - c46 * source[92]
488 - c45 * source[117] + c46 * source[110] + c46 * source[112]
489 - c47 * source[7] + c48 * source[0] + c48 * source[2]
490 + c47 * source[27] - c48 * source[20] - c48 * source[22]
491 - c47 * source[27] + c48 * source[20] + c48 * source[22]
492 + c47 * source[47] - c48 * source[40] - c48 * source[42];
493 target[33] = c45 * source[98] - c46 * source[91] - c46 * source[93]
494 - c45 * source[118] + c46 * source[111] + c46 * source[113]
495 - c47 * source[8] + c48 * source[1] + c48 * source[3]
496 + c47 * source[28] - c48 * source[21] - c48 * source[23]
497 - c47 * source[28] + c48 * source[21] + c48 * source[23]
498 + c47 * source[48] - c48 * source[41] - c48 * source[43];
499 target[34] = c49 * source[99] - c50 * source[94] - c50 * source[96]
500 - c49 * source[119] + c50 * source[114] + c50 * source[116]
501 - c51 * source[9] + c52 * source[4] + c52 * source[6]
502 + c51 * source[29] - c52 * source[24] - c52 * source[26]
503 - c51 * source[29] + c52 * source[24] + c52 * source[26]
504 + c51 * source[49] - c52 * source[44] - c52 * source[46];
505 target[35] = c53 * source[100] - c54 * source[102] - c55 * source[10]
506 + c37 * source[12] - c55 * source[30] + c37 * source[32];
507 target[36] = c54 * source[101] - c53 * source[103] - c37 * source[11]
508 + c55 * source[13] - c37 * source[31] + c55 * source[33];
509 target[37] = c43 * source[104] - c43 * source[106] - c44 * source[14]
510 + c44 * source[16] - c44 * source[34] + c44 * source[36];
511 target[38] = c56 * source[105] - c57 * source[15] - c57 * source[35];
512 target[39] = c58 * source[107] - c59 * source[100] - c59 * source[102]
513 - c60 * source[17] + c61 * source[10] + c61 * source[12]
514 - c60 * source[37] + c61 * source[30] + c61 * source[32];
515 target[40] = c58 * source[108] - c59 * source[101] - c59 * source[103]
516 - c60 * source[18] + c61 * source[11] + c61 * source[13]
517 - c60 * source[38] + c61 * source[31] + c61 * source[33];
518 target[41] = c62 * source[109] - c63 * source[104] - c63 * source[106]
519 - c64 * source[19] + c65 * source[14] + c65 * source[16]
520 - c64 * source[39] + c65 * source[34] + c65 * source[36];
521 target[42] = c66 * source[120] - c67 * source[122] - c68 * source[50]
522 + c69 * source[52] - c68 * source[70] + c69 * source[72];
523 target[43] = c67 * source[121] - c66 * source[123] - c69 * source[51]
524 + c68 * source[53] - c69 * source[71] + c68 * source[73];
525 target[44] = c70 * source[124] - c70 * source[126] - c71 * source[54]
526 + c71 * source[56] - c71 * source[74] + c71 * source[76];
527 target[45] = c72 * source[125] - c73 * source[55] - c73 * source[75];
528 target[46] = c74 * source[127] - c75 * source[120] - c75 * source[122]
529 - c76 * source[57] + c77 * source[50] + c77 * source[52]
530 - c76 * source[77] + c77 * source[70] + c77 * source[72];
531 target[47] = c74 * source[128] - c75 * source[121] - c75 * source[123]
532 - c76 * source[58] + c77 * source[51] + c77 * source[53]
533 - c76 * source[78] + c77 * source[71] + c77 * source[73];
534 target[48] = c78 * source[129] - c79 * source[124] - c79 * source[126]
535 - c80 * source[59] + c81 * source[54] + c81 * source[56]
536 - c80 * source[79] + c81 * source[74] + c81 * source[76];
537 target[49] = c66 * source[130] - c67 * source[132] - c68 * source[60]
538 + c69 * source[62] - c68 * source[80] + c69 * source[82];
539 target[50] = c67 * source[131] - c66 * source[133] - c69 * source[61]
540 + c68 * source[63] - c69 * source[81] + c68 * source[83];
541 target[51] = c70 * source[134] - c70 * source[136] - c71 * source[64]
542 + c71 * source[66] - c71 * source[84] + c71 * source[86];
543 target[52] = c72 * source[135] - c73 * source[65] - c73 * source[85];
544 target[53] = c74 * source[137] - c75 * source[130] - c75 * source[132]
545 - c76 * source[67] + c77 * source[60] + c77 * source[62]
546 - c76 * source[87] + c77 * source[80] + c77 * source[82];
547 target[54] = c74 * source[138] - c75 * source[131] - c75 * source[133]
548 - c76 * source[68] + c77 * source[61] + c77 * source[63]
549 - c76 * source[88] + c77 * source[81] + c77 * source[83];
550 target[55] = c78 * source[139] - c79 * source[134] - c79 * source[136]
551 - c80 * source[69] + c81 * source[64] + c81 * source[66]
552 - c80 * source[89] + c81 * source[84] + c81 * source[86];
553 target[56] = c82 * source[140] - c80 * source[142] - c80 * source[90]
554 + c83 * source[92] - c80 * source[110] + c83 * source[112]
555 + c84 * source[0] - c85 * source[2] + c86 * source[20]
556 - c87 * source[22] + c84 * source[40] - c85 * source[42];
557 target[57] = c80 * source[141] - c82 * source[143] - c83 * source[91]
558 + c80 * source[93] - c83 * source[111] + c80 * source[113]
559 + c85 * source[1] - c84 * source[3] + c87 * source[21]
560 - c86 * source[23] + c85 * source[41] - c84 * source[43];
561 target[58] = c75 * source[144] - c75 * source[146] - c76 * source[94]
562 + c76 * source[96] - c76 * source[114] + c76 * source[116]
563 + c88 * source[4] - c88 * source[6] + c77 * source[24]
564 - c77 * source[26] + c88 * source[44] - c88 * source[46];
565 target[59] = c89 * source[145] - c90 * source[95] - c90 * source[115]
566 + c77 * source[5] + c91 * source[25] + c77 * source[45];
567 target[60] = c92 * source[147] - c93 * source[140] - c93 * source[142]
568 - c94 * source[97] + c95 * source[90] + c95 * source[92]
569 - c94 * source[117] + c95 * source[110] + c95 * source[112]
570 + c96 * source[7] - c97 * source[0] - c97 * source[2]
571 + c95 * source[27] - c98 * source[20] - c98 * source[22]
572 + c96 * source[47] - c97 * source[40] - c97 * source[42];
573 target[61] = c92 * source[148] - c93 * source[141] - c93 * source[143]
574 - c94 * source[98] + c95 * source[91] + c95 * source[93]
575 - c94 * source[118] + c95 * source[111] + c95 * source[113]
576 + c96 * source[8] - c97 * source[1] - c97 * source[3]
577 + c95 * source[28] - c98 * source[21] - c98 * source[23]
578 + c96 * source[48] - c97 * source[41] - c97 * source[43];
579 target[62] = source[149] - c99 * source[144] - c99 * source[146]
580 - c100 * source[99] + c101 * source[94] + c101 * source[96]
581 - c100 * source[119] + c101 * source[114] + c101 * source[116]
582 + c102 * source[9] - c103 * source[4] - c103 * source[6]
583 + c104 * source[29] - c105 * source[24] - c105 * source[26]
584 + c102 * source[49] - c103 * source[44] - c103 * source[46];
585 }
586 }
587
588