1 //
2 // BAGEL - Brilliantly Advanced General Electronic Structure Library
3 // Filename: RelCASPT2_residualqq.cc
4 // Copyright (C) 2014 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 <bagel_config.h>
26 #ifdef COMPILE_SMITH
27
28
29 #include <src/smith/relcaspt2/RelCASPT2.h>
30 #include <src/smith/relcaspt2/RelCASPT2_tasks.h>
31
32 using namespace std;
33 using namespace bagel;
34 using namespace bagel::SMITH;
35
make_residualq(const bool reset,const bool diagonal)36 shared_ptr<Queue> RelCASPT2::RelCASPT2::make_residualq(const bool reset, const bool diagonal) {
37
38 array<shared_ptr<const IndexRange>,3> pindex = {{rclosed_, ractive_, rvirt_}};
39 auto residualq = make_shared<Queue>();
40 auto tensor30 = vector<shared_ptr<Tensor>>{r};
41 auto task30 = make_shared<Task30>(tensor30, reset);
42 residualq->add_task(task30);
43
44 vector<IndexRange> I0_index = {closed_, closed_, active_, active_};
45 auto I0 = make_shared<Tensor>(I0_index);
46 auto tensor31 = vector<shared_ptr<Tensor>>{r, I0};
47 auto task31 = make_shared<Task31>(tensor31, pindex);
48 task31->add_dep(task30);
49 residualq->add_task(task31);
50
51 auto tensor32 = vector<shared_ptr<Tensor>>{I0, Gamma0_(), t2};
52 auto task32 = make_shared<Task32>(tensor32, pindex);
53 task31->add_dep(task32);
54 task32->add_dep(task30);
55 residualq->add_task(task32);
56
57 auto tensor33 = vector<shared_ptr<Tensor>>{I0, Gamma92_(), t2};
58 auto task33 = make_shared<Task33>(tensor33, pindex, this->e0_);
59 task31->add_dep(task33);
60 task33->add_dep(task30);
61 residualq->add_task(task33);
62
63 vector<IndexRange> I2_index = {closed_, active_, active_, closed_};
64 auto I2 = make_shared<Tensor>(I2_index);
65 auto tensor34 = vector<shared_ptr<Tensor>>{r, I2};
66 auto task34 = make_shared<Task34>(tensor34, pindex);
67 task34->add_dep(task30);
68 residualq->add_task(task34);
69
70 vector<IndexRange> I3_index = {closed_, closed_, active_, active_};
71 auto I3 = make_shared<Tensor>(I3_index);
72 auto tensor35 = vector<shared_ptr<Tensor>>{I2, f1_, I3};
73 auto task35 = make_shared<Task35>(tensor35, pindex);
74 task34->add_dep(task35);
75 task35->add_dep(task30);
76 residualq->add_task(task35);
77
78 auto tensor36 = vector<shared_ptr<Tensor>>{I3, Gamma92_(), t2};
79 auto task36 = make_shared<Task36>(tensor36, pindex);
80 task35->add_dep(task36);
81 task36->add_dep(task30);
82 residualq->add_task(task36);
83
84 vector<IndexRange> I6_index = {closed_, active_, active_, active_};
85 auto I6 = make_shared<Tensor>(I6_index);
86 auto tensor37 = vector<shared_ptr<Tensor>>{I2, f1_, I6};
87 auto task37 = make_shared<Task37>(tensor37, pindex);
88 task34->add_dep(task37);
89 task37->add_dep(task30);
90 residualq->add_task(task37);
91
92 auto tensor38 = vector<shared_ptr<Tensor>>{I6, Gamma2_(), t2};
93 auto task38 = make_shared<Task38>(tensor38, pindex);
94 task37->add_dep(task38);
95 task38->add_dep(task30);
96 residualq->add_task(task38);
97
98 vector<IndexRange> I9_index = {closed_, closed_, active_, active_};
99 auto I9 = make_shared<Tensor>(I9_index);
100 auto tensor39 = vector<shared_ptr<Tensor>>{I2, Gamma3_(), I9};
101 auto task39 = make_shared<Task39>(tensor39, pindex);
102 task34->add_dep(task39);
103 task39->add_dep(task30);
104 residualq->add_task(task39);
105
106 auto tensor40 = vector<shared_ptr<Tensor>>{I9, f1_, t2};
107 auto task40 = make_shared<Task40>(tensor40, pindex);
108 task39->add_dep(task40);
109 task40->add_dep(task30);
110 residualq->add_task(task40);
111
112 vector<IndexRange> I11_index = {closed_, active_, active_, active_};
113 auto I11 = make_shared<Tensor>(I11_index);
114 auto tensor41 = vector<shared_ptr<Tensor>>{r, I11};
115 auto task41 = make_shared<Task41>(tensor41, pindex);
116 task41->add_dep(task30);
117 residualq->add_task(task41);
118
119 vector<IndexRange> I12_index = {closed_, active_, active_, active_};
120 auto I12 = make_shared<Tensor>(I12_index);
121 auto tensor42 = vector<shared_ptr<Tensor>>{I11, Gamma4_(), I12};
122 auto task42 = make_shared<Task42>(tensor42, pindex);
123 task41->add_dep(task42);
124 task42->add_dep(task30);
125 residualq->add_task(task42);
126
127 auto tensor43 = vector<shared_ptr<Tensor>>{I12, f1_, t2};
128 auto task43 = make_shared<Task43>(tensor43, pindex);
129 task42->add_dep(task43);
130 task43->add_dep(task30);
131 residualq->add_task(task43);
132
133 auto tensor44 = vector<shared_ptr<Tensor>>{I11, Gamma5_(), t2};
134 auto task44 = make_shared<Task44>(tensor44, pindex);
135 task41->add_dep(task44);
136 task44->add_dep(task30);
137 residualq->add_task(task44);
138
139 vector<IndexRange> I17_index = {closed_, active_, active_, active_};
140 auto I17 = make_shared<Tensor>(I17_index);
141 auto tensor45 = vector<shared_ptr<Tensor>>{I11, f1_, I17};
142 auto task45 = make_shared<Task45>(tensor45, pindex);
143 task41->add_dep(task45);
144 task45->add_dep(task30);
145 residualq->add_task(task45);
146
147 auto tensor46 = vector<shared_ptr<Tensor>>{I17, Gamma6_(), t2};
148 auto task46 = make_shared<Task46>(tensor46, pindex);
149 task45->add_dep(task46);
150 task46->add_dep(task30);
151 residualq->add_task(task46);
152
153 vector<IndexRange> I20_index = {closed_, active_};
154 auto I20 = make_shared<Tensor>(I20_index);
155 auto tensor47 = vector<shared_ptr<Tensor>>{I11, Gamma7_(), I20};
156 auto task47 = make_shared<Task47>(tensor47, pindex);
157 task41->add_dep(task47);
158 task47->add_dep(task30);
159 residualq->add_task(task47);
160
161 vector<IndexRange> I21_index = {closed_, virt_, closed_, active_};
162 auto I21 = make_shared<Tensor>(I21_index);
163 auto tensor48 = vector<shared_ptr<Tensor>>{I20, f1_, I21};
164 auto task48 = make_shared<Task48>(tensor48, pindex);
165 task47->add_dep(task48);
166 task48->add_dep(task30);
167 residualq->add_task(task48);
168
169 auto tensor49 = vector<shared_ptr<Tensor>>{I21, t2};
170 auto task49 = make_shared<Task49>(tensor49, pindex);
171 task48->add_dep(task49);
172 task49->add_dep(task30);
173 residualq->add_task(task49);
174
175 vector<IndexRange> I26_index = {active_, closed_, active_, active_};
176 auto I26 = make_shared<Tensor>(I26_index);
177 auto tensor50 = vector<shared_ptr<Tensor>>{I11, Gamma9_(), I26};
178 auto task50 = make_shared<Task50>(tensor50, pindex);
179 task41->add_dep(task50);
180 task50->add_dep(task30);
181 residualq->add_task(task50);
182
183 auto tensor51 = vector<shared_ptr<Tensor>>{I26, f1_, t2};
184 auto task51 = make_shared<Task51>(tensor51, pindex);
185 task50->add_dep(task51);
186 task51->add_dep(task30);
187 residualq->add_task(task51);
188
189 vector<IndexRange> I29_index = {closed_, active_, active_, active_};
190 auto I29 = make_shared<Tensor>(I29_index);
191 auto tensor52 = vector<shared_ptr<Tensor>>{I11, Gamma6_(), I29};
192 auto task52 = make_shared<Task52>(tensor52, pindex);
193 task41->add_dep(task52);
194 task52->add_dep(task30);
195 residualq->add_task(task52);
196
197 auto tensor53 = vector<shared_ptr<Tensor>>{I29, t2};
198 auto task53 = make_shared<Task53>(tensor53, pindex, this->e0_);
199 task52->add_dep(task53);
200 task53->add_dep(task30);
201 residualq->add_task(task53);
202
203 auto tensor54 = vector<shared_ptr<Tensor>>{I29, f1_, t2};
204 auto task54 = make_shared<Task54>(tensor54, pindex);
205 task52->add_dep(task54);
206 task54->add_dep(task30);
207 residualq->add_task(task54);
208
209 vector<IndexRange> I31_index = {closed_, closed_, active_, virt_};
210 auto I31 = make_shared<Tensor>(I31_index);
211 auto tensor55 = vector<shared_ptr<Tensor>>{r, I31};
212 auto task55 = make_shared<Task55>(tensor55, pindex);
213 task55->add_dep(task30);
214 residualq->add_task(task55);
215
216 vector<IndexRange> I32_index = {closed_, closed_, active_, active_};
217 auto I32 = make_shared<Tensor>(I32_index);
218 auto tensor56 = vector<shared_ptr<Tensor>>{I31, f1_, I32};
219 auto task56 = make_shared<Task56>(tensor56, pindex);
220 task55->add_dep(task56);
221 task56->add_dep(task30);
222 residualq->add_task(task56);
223
224 auto tensor57 = vector<shared_ptr<Tensor>>{I32, Gamma3_(), t2};
225 auto task57 = make_shared<Task57>(tensor57, pindex);
226 task56->add_dep(task57);
227 task57->add_dep(task30);
228 residualq->add_task(task57);
229
230 vector<IndexRange> I35_index = {closed_, active_};
231 auto I35 = make_shared<Tensor>(I35_index);
232 auto tensor58 = vector<shared_ptr<Tensor>>{I31, f1_, I35};
233 auto task58 = make_shared<Task58>(tensor58, pindex);
234 task55->add_dep(task58);
235 task58->add_dep(task30);
236 residualq->add_task(task58);
237
238 auto tensor59 = vector<shared_ptr<Tensor>>{I35, Gamma12_(), t2};
239 auto task59 = make_shared<Task59>(tensor59, pindex);
240 task58->add_dep(task59);
241 task59->add_dep(task30);
242 residualq->add_task(task59);
243
244 vector<IndexRange> I38_index = {closed_, active_};
245 auto I38 = make_shared<Tensor>(I38_index);
246 auto tensor60 = vector<shared_ptr<Tensor>>{I31, f1_, I38};
247 auto task60 = make_shared<Task60>(tensor60, pindex);
248 task55->add_dep(task60);
249 task60->add_dep(task30);
250 residualq->add_task(task60);
251
252 auto tensor61 = vector<shared_ptr<Tensor>>{I38, Gamma12_(), t2};
253 auto task61 = make_shared<Task61>(tensor61, pindex);
254 task60->add_dep(task61);
255 task61->add_dep(task30);
256 residualq->add_task(task61);
257
258 vector<IndexRange> I41_index = {closed_, virt_, closed_, active_};
259 auto I41 = make_shared<Tensor>(I41_index);
260 auto tensor62 = vector<shared_ptr<Tensor>>{I31, Gamma14_(), I41};
261 auto task62 = make_shared<Task62>(tensor62, pindex);
262 task55->add_dep(task62);
263 task62->add_dep(task30);
264 residualq->add_task(task62);
265
266 auto tensor63 = vector<shared_ptr<Tensor>>{I41, t2};
267 auto task63 = make_shared<Task63>(tensor63, pindex);
268 task62->add_dep(task63);
269 task63->add_dep(task30);
270 residualq->add_task(task63);
271
272 vector<IndexRange> I45_index = {closed_, virt_, closed_, active_};
273 auto I45 = make_shared<Tensor>(I45_index);
274 auto tensor64 = vector<shared_ptr<Tensor>>{I31, f1_, I45};
275 auto task64 = make_shared<Task64>(tensor64, pindex);
276 task55->add_dep(task64);
277 task64->add_dep(task30);
278 residualq->add_task(task64);
279
280 vector<IndexRange> I46_index = {closed_, virt_, closed_, active_};
281 auto I46 = make_shared<Tensor>(I46_index);
282 auto tensor65 = vector<shared_ptr<Tensor>>{I45, Gamma16_(), I46};
283 auto task65 = make_shared<Task65>(tensor65, pindex);
284 task64->add_dep(task65);
285 task65->add_dep(task30);
286 residualq->add_task(task65);
287
288 auto tensor66 = vector<shared_ptr<Tensor>>{I46, t2};
289 auto task66 = make_shared<Task66>(tensor66, pindex);
290 task65->add_dep(task66);
291 task66->add_dep(task30);
292 residualq->add_task(task66);
293
294 vector<IndexRange> I51_index = {closed_, virt_, closed_, active_};
295 auto I51 = make_shared<Tensor>(I51_index);
296 auto tensor67 = vector<shared_ptr<Tensor>>{I31, f1_, I51};
297 auto task67 = make_shared<Task67>(tensor67, pindex);
298 task55->add_dep(task67);
299 task67->add_dep(task30);
300 residualq->add_task(task67);
301
302 vector<IndexRange> I52_index = {closed_, virt_, closed_, active_};
303 auto I52 = make_shared<Tensor>(I52_index);
304 auto tensor68 = vector<shared_ptr<Tensor>>{I51, Gamma16_(), I52};
305 auto task68 = make_shared<Task68>(tensor68, pindex);
306 task67->add_dep(task68);
307 task68->add_dep(task30);
308 residualq->add_task(task68);
309
310 auto tensor69 = vector<shared_ptr<Tensor>>{I52, t2};
311 auto task69 = make_shared<Task69>(tensor69, pindex);
312 task68->add_dep(task69);
313 task69->add_dep(task30);
314 residualq->add_task(task69);
315
316 vector<IndexRange> I54_index = {closed_, virt_, closed_, active_};
317 auto I54 = make_shared<Tensor>(I54_index);
318 auto tensor70 = vector<shared_ptr<Tensor>>{I31, f1_, I54};
319 auto task70 = make_shared<Task70>(tensor70, pindex);
320 task55->add_dep(task70);
321 task70->add_dep(task30);
322 residualq->add_task(task70);
323
324 vector<IndexRange> I55_index = {closed_, virt_, closed_, active_};
325 auto I55 = make_shared<Tensor>(I55_index);
326 auto tensor71 = vector<shared_ptr<Tensor>>{I54, Gamma16_(), I55};
327 auto task71 = make_shared<Task71>(tensor71, pindex);
328 task70->add_dep(task71);
329 task71->add_dep(task30);
330 residualq->add_task(task71);
331
332 auto tensor72 = vector<shared_ptr<Tensor>>{I55, t2};
333 auto task72 = make_shared<Task72>(tensor72, pindex);
334 task71->add_dep(task72);
335 task72->add_dep(task30);
336 residualq->add_task(task72);
337
338 vector<IndexRange> I63_index = {virt_, closed_, active_, active_};
339 auto I63 = make_shared<Tensor>(I63_index);
340 auto tensor73 = vector<shared_ptr<Tensor>>{I31, f1_, I63};
341 auto task73 = make_shared<Task73>(tensor73, pindex);
342 task55->add_dep(task73);
343 task73->add_dep(task30);
344 residualq->add_task(task73);
345
346 auto tensor74 = vector<shared_ptr<Tensor>>{I63, Gamma22_(), t2};
347 auto task74 = make_shared<Task74>(tensor74, pindex);
348 task73->add_dep(task74);
349 task74->add_dep(task30);
350 residualq->add_task(task74);
351
352 auto tensor75 = vector<shared_ptr<Tensor>>{I63, Gamma12_(), t2};
353 auto task75 = make_shared<Task75>(tensor75, pindex);
354 task73->add_dep(task75);
355 task75->add_dep(task30);
356 residualq->add_task(task75);
357
358 vector<IndexRange> I66_index = {virt_, closed_, active_, active_};
359 auto I66 = make_shared<Tensor>(I66_index);
360 auto tensor76 = vector<shared_ptr<Tensor>>{I31, f1_, I66};
361 auto task76 = make_shared<Task76>(tensor76, pindex);
362 task55->add_dep(task76);
363 task76->add_dep(task30);
364 residualq->add_task(task76);
365
366 vector<IndexRange> I67_index = {active_, virt_, closed_, active_};
367 auto I67 = make_shared<Tensor>(I67_index);
368 auto tensor77 = vector<shared_ptr<Tensor>>{I66, Gamma12_(), I67};
369 auto task77 = make_shared<Task77>(tensor77, pindex);
370 task76->add_dep(task77);
371 task77->add_dep(task30);
372 residualq->add_task(task77);
373
374 auto tensor78 = vector<shared_ptr<Tensor>>{I67, t2};
375 auto task78 = make_shared<Task78>(tensor78, pindex);
376 task77->add_dep(task78);
377 task78->add_dep(task30);
378 residualq->add_task(task78);
379
380 vector<IndexRange> I75_index = {virt_, active_};
381 auto I75 = make_shared<Tensor>(I75_index);
382 auto tensor79 = vector<shared_ptr<Tensor>>{I31, t2, I75};
383 auto task79 = make_shared<Task79>(tensor79, pindex);
384 task55->add_dep(task79);
385 task79->add_dep(task30);
386 residualq->add_task(task79);
387
388 auto tensor80 = vector<shared_ptr<Tensor>>{I75, Gamma16_(), f1_};
389 auto task80 = make_shared<Task80>(tensor80, pindex);
390 task79->add_dep(task80);
391 task80->add_dep(task30);
392 residualq->add_task(task80);
393
394 vector<IndexRange> I78_index = {virt_, active_};
395 auto I78 = make_shared<Tensor>(I78_index);
396 auto tensor81 = vector<shared_ptr<Tensor>>{I31, t2, I78};
397 auto task81 = make_shared<Task81>(tensor81, pindex);
398 task55->add_dep(task81);
399 task81->add_dep(task30);
400 residualq->add_task(task81);
401
402 auto tensor82 = vector<shared_ptr<Tensor>>{I78, Gamma16_(), f1_};
403 auto task82 = make_shared<Task82>(tensor82, pindex);
404 task81->add_dep(task82);
405 task82->add_dep(task30);
406 residualq->add_task(task82);
407
408 vector<IndexRange> I269_index = {closed_, virt_, closed_, active_};
409 auto I269 = make_shared<Tensor>(I269_index);
410 auto tensor83 = vector<shared_ptr<Tensor>>{I31, Gamma16_(), I269};
411 auto task83 = make_shared<Task83>(tensor83, pindex);
412 task55->add_dep(task83);
413 task83->add_dep(task30);
414 residualq->add_task(task83);
415
416 auto tensor84 = vector<shared_ptr<Tensor>>{I269, t2};
417 auto task84 = make_shared<Task84>(tensor84, pindex, this->e0_);
418 task83->add_dep(task84);
419 task84->add_dep(task30);
420 residualq->add_task(task84);
421
422 vector<IndexRange> I80_index = {closed_, active_, active_, virt_};
423 auto I80 = make_shared<Tensor>(I80_index);
424 auto tensor85 = vector<shared_ptr<Tensor>>{r, I80};
425 auto task85 = make_shared<Task85>(tensor85, pindex);
426 task85->add_dep(task30);
427 residualq->add_task(task85);
428
429 vector<IndexRange> I81_index = {closed_, active_, active_, active_};
430 auto I81 = make_shared<Tensor>(I81_index);
431 auto tensor86 = vector<shared_ptr<Tensor>>{I80, f1_, I81};
432 auto task86 = make_shared<Task86>(tensor86, pindex);
433 task85->add_dep(task86);
434 task86->add_dep(task30);
435 residualq->add_task(task86);
436
437 auto tensor87 = vector<shared_ptr<Tensor>>{I81, Gamma28_(), t2};
438 auto task87 = make_shared<Task87>(tensor87, pindex);
439 task86->add_dep(task87);
440 task87->add_dep(task30);
441 residualq->add_task(task87);
442
443 vector<IndexRange> I84_index = {virt_, closed_, active_, active_};
444 auto I84 = make_shared<Tensor>(I84_index);
445 auto tensor88 = vector<shared_ptr<Tensor>>{I80, Gamma29_(), I84};
446 auto task88 = make_shared<Task88>(tensor88, pindex);
447 task85->add_dep(task88);
448 task88->add_dep(task30);
449 residualq->add_task(task88);
450
451 auto tensor89 = vector<shared_ptr<Tensor>>{I84, f1_, t2};
452 auto task89 = make_shared<Task89>(tensor89, pindex);
453 task88->add_dep(task89);
454 task89->add_dep(task30);
455 residualq->add_task(task89);
456
457 vector<IndexRange> I87_index = {closed_, virt_, active_, active_};
458 auto I87 = make_shared<Tensor>(I87_index);
459 auto tensor90 = vector<shared_ptr<Tensor>>{I80, Gamma7_(), I87};
460 auto task90 = make_shared<Task90>(tensor90, pindex);
461 task85->add_dep(task90);
462 task90->add_dep(task30);
463 residualq->add_task(task90);
464
465 auto tensor91 = vector<shared_ptr<Tensor>>{I87, f1_, t2};
466 auto task91 = make_shared<Task91>(tensor91, pindex);
467 task90->add_dep(task91);
468 task91->add_dep(task30);
469 residualq->add_task(task91);
470
471 auto tensor92 = vector<shared_ptr<Tensor>>{I80, Gamma31_(), t2};
472 auto task92 = make_shared<Task92>(tensor92, pindex);
473 task85->add_dep(task92);
474 task92->add_dep(task30);
475 residualq->add_task(task92);
476
477 vector<IndexRange> I92_index = {virt_, closed_, active_, active_};
478 auto I92 = make_shared<Tensor>(I92_index);
479 auto tensor93 = vector<shared_ptr<Tensor>>{I80, f1_, I92};
480 auto task93 = make_shared<Task93>(tensor93, pindex);
481 task85->add_dep(task93);
482 task93->add_dep(task30);
483 residualq->add_task(task93);
484
485 auto tensor94 = vector<shared_ptr<Tensor>>{I92, Gamma32_(), t2};
486 auto task94 = make_shared<Task94>(tensor94, pindex);
487 task93->add_dep(task94);
488 task94->add_dep(task30);
489 residualq->add_task(task94);
490
491 auto tensor95 = vector<shared_ptr<Tensor>>{I92, Gamma35_(), t2};
492 auto task95 = make_shared<Task95>(tensor95, pindex);
493 task93->add_dep(task95);
494 task95->add_dep(task30);
495 residualq->add_task(task95);
496
497 vector<IndexRange> I95_index = {virt_, closed_, active_, active_};
498 auto I95 = make_shared<Tensor>(I95_index);
499 auto tensor96 = vector<shared_ptr<Tensor>>{I80, f1_, I95};
500 auto task96 = make_shared<Task96>(tensor96, pindex);
501 task85->add_dep(task96);
502 task96->add_dep(task30);
503 residualq->add_task(task96);
504
505 auto tensor97 = vector<shared_ptr<Tensor>>{I95, Gamma32_(), t2};
506 auto task97 = make_shared<Task97>(tensor97, pindex);
507 task96->add_dep(task97);
508 task97->add_dep(task30);
509 residualq->add_task(task97);
510
511 auto tensor98 = vector<shared_ptr<Tensor>>{I95, Gamma35_(), t2};
512 auto task98 = make_shared<Task98>(tensor98, pindex);
513 task96->add_dep(task98);
514 task98->add_dep(task30);
515 residualq->add_task(task98);
516
517 auto tensor99 = vector<shared_ptr<Tensor>>{I80, Gamma34_(), t2};
518 auto task99 = make_shared<Task99>(tensor99, pindex);
519 task85->add_dep(task99);
520 task99->add_dep(task30);
521 residualq->add_task(task99);
522
523 vector<IndexRange> I106_index = {virt_, active_, active_, active_};
524 auto I106 = make_shared<Tensor>(I106_index);
525 auto tensor100 = vector<shared_ptr<Tensor>>{I80, f1_, I106};
526 auto task100 = make_shared<Task100>(tensor100, pindex);
527 task85->add_dep(task100);
528 task100->add_dep(task30);
529 residualq->add_task(task100);
530
531 auto tensor101 = vector<shared_ptr<Tensor>>{I106, Gamma37_(), t2};
532 auto task101 = make_shared<Task101>(tensor101, pindex);
533 task100->add_dep(task101);
534 task101->add_dep(task30);
535 residualq->add_task(task101);
536
537 vector<IndexRange> I109_index = {closed_, virt_};
538 auto I109 = make_shared<Tensor>(I109_index);
539 auto tensor102 = vector<shared_ptr<Tensor>>{I80, Gamma38_(), I109};
540 auto task102 = make_shared<Task102>(tensor102, pindex);
541 task85->add_dep(task102);
542 task102->add_dep(task30);
543 residualq->add_task(task102);
544
545 vector<IndexRange> I110_index = {closed_, virt_, closed_, virt_};
546 auto I110 = make_shared<Tensor>(I110_index);
547 auto tensor103 = vector<shared_ptr<Tensor>>{I109, f1_, I110};
548 auto task103 = make_shared<Task103>(tensor103, pindex);
549 task102->add_dep(task103);
550 task103->add_dep(task30);
551 residualq->add_task(task103);
552
553 auto tensor104 = vector<shared_ptr<Tensor>>{I110, t2};
554 auto task104 = make_shared<Task104>(tensor104, pindex);
555 task103->add_dep(task104);
556 task104->add_dep(task30);
557 residualq->add_task(task104);
558
559 vector<IndexRange> I115_index = {active_, closed_, virt_, active_};
560 auto I115 = make_shared<Tensor>(I115_index);
561 auto tensor105 = vector<shared_ptr<Tensor>>{I80, Gamma35_(), I115};
562 auto task105 = make_shared<Task105>(tensor105, pindex);
563 task85->add_dep(task105);
564 task105->add_dep(task30);
565 residualq->add_task(task105);
566
567 auto tensor106 = vector<shared_ptr<Tensor>>{I115, t2};
568 auto task106 = make_shared<Task106>(tensor106, pindex, this->e0_);
569 task105->add_dep(task106);
570 task106->add_dep(task30);
571 residualq->add_task(task106);
572
573 auto tensor107 = vector<shared_ptr<Tensor>>{I115, f1_, t2};
574 auto task107 = make_shared<Task107>(tensor107, pindex);
575 task105->add_dep(task107);
576 task107->add_dep(task30);
577 residualq->add_task(task107);
578
579 vector<IndexRange> I118_index = {active_, virt_, closed_, active_};
580 auto I118 = make_shared<Tensor>(I118_index);
581 auto tensor108 = vector<shared_ptr<Tensor>>{I80, Gamma32_(), I118};
582 auto task108 = make_shared<Task108>(tensor108, pindex);
583 task85->add_dep(task108);
584 task108->add_dep(task30);
585 residualq->add_task(task108);
586
587 auto tensor109 = vector<shared_ptr<Tensor>>{I118, t2};
588 auto task109 = make_shared<Task109>(tensor109, pindex, this->e0_);
589 task108->add_dep(task109);
590 task109->add_dep(task30);
591 residualq->add_task(task109);
592
593 auto tensor110 = vector<shared_ptr<Tensor>>{I118, f1_, t2};
594 auto task110 = make_shared<Task110>(tensor110, pindex);
595 task108->add_dep(task110);
596 task110->add_dep(task30);
597 residualq->add_task(task110);
598
599 vector<IndexRange> I120_index = {closed_, active_, active_, virt_};
600 auto I120 = make_shared<Tensor>(I120_index);
601 auto tensor111 = vector<shared_ptr<Tensor>>{r, I120};
602 auto task111 = make_shared<Task111>(tensor111, pindex);
603 task111->add_dep(task30);
604 residualq->add_task(task111);
605
606 vector<IndexRange> I121_index = {closed_, active_, active_, active_};
607 auto I121 = make_shared<Tensor>(I121_index);
608 auto tensor112 = vector<shared_ptr<Tensor>>{I120, f1_, I121};
609 auto task112 = make_shared<Task112>(tensor112, pindex);
610 task111->add_dep(task112);
611 task112->add_dep(task30);
612 residualq->add_task(task112);
613
614 auto tensor113 = vector<shared_ptr<Tensor>>{I121, Gamma6_(), t2};
615 auto task113 = make_shared<Task113>(tensor113, pindex);
616 task112->add_dep(task113);
617 task113->add_dep(task30);
618 residualq->add_task(task113);
619
620 vector<IndexRange> I124_index = {virt_, closed_, active_, active_};
621 auto I124 = make_shared<Tensor>(I124_index);
622 auto tensor114 = vector<shared_ptr<Tensor>>{I120, Gamma7_(), I124};
623 auto task114 = make_shared<Task114>(tensor114, pindex);
624 task111->add_dep(task114);
625 task114->add_dep(task30);
626 residualq->add_task(task114);
627
628 vector<IndexRange> I125_index = {closed_, virt_, closed_, active_};
629 auto I125 = make_shared<Tensor>(I125_index);
630 auto tensor115 = vector<shared_ptr<Tensor>>{I124, f1_, I125};
631 auto task115 = make_shared<Task115>(tensor115, pindex);
632 task114->add_dep(task115);
633 task115->add_dep(task30);
634 residualq->add_task(task115);
635
636 auto tensor116 = vector<shared_ptr<Tensor>>{I125, t2};
637 auto task116 = make_shared<Task116>(tensor116, pindex);
638 task115->add_dep(task116);
639 task116->add_dep(task30);
640 residualq->add_task(task116);
641
642 vector<IndexRange> I130_index = {active_, virt_, closed_, active_};
643 auto I130 = make_shared<Tensor>(I130_index);
644 auto tensor117 = vector<shared_ptr<Tensor>>{I120, Gamma34_(), I130};
645 auto task117 = make_shared<Task117>(tensor117, pindex);
646 task111->add_dep(task117);
647 task117->add_dep(task30);
648 residualq->add_task(task117);
649
650 auto tensor118 = vector<shared_ptr<Tensor>>{I130, t2};
651 auto task118 = make_shared<Task118>(tensor118, pindex);
652 task117->add_dep(task118);
653 task118->add_dep(task30);
654 residualq->add_task(task118);
655
656 vector<IndexRange> I132_index = {virt_, closed_, active_, active_};
657 auto I132 = make_shared<Tensor>(I132_index);
658 auto tensor119 = vector<shared_ptr<Tensor>>{I120, f1_, I132};
659 auto task119 = make_shared<Task119>(tensor119, pindex);
660 task111->add_dep(task119);
661 task119->add_dep(task30);
662 residualq->add_task(task119);
663
664 vector<IndexRange> I133_index = {active_, virt_, closed_, active_};
665 auto I133 = make_shared<Tensor>(I133_index);
666 auto tensor120 = vector<shared_ptr<Tensor>>{I132, Gamma35_(), I133};
667 auto task120 = make_shared<Task120>(tensor120, pindex);
668 task119->add_dep(task120);
669 task120->add_dep(task30);
670 residualq->add_task(task120);
671
672 auto tensor121 = vector<shared_ptr<Tensor>>{I133, t2};
673 auto task121 = make_shared<Task121>(tensor121, pindex);
674 task120->add_dep(task121);
675 task121->add_dep(task30);
676 residualq->add_task(task121);
677
678 vector<IndexRange> I135_index = {virt_, closed_, active_, active_};
679 auto I135 = make_shared<Tensor>(I135_index);
680 auto tensor122 = vector<shared_ptr<Tensor>>{I120, f1_, I135};
681 auto task122 = make_shared<Task122>(tensor122, pindex);
682 task111->add_dep(task122);
683 task122->add_dep(task30);
684 residualq->add_task(task122);
685
686 vector<IndexRange> I136_index = {active_, virt_, closed_, active_};
687 auto I136 = make_shared<Tensor>(I136_index);
688 auto tensor123 = vector<shared_ptr<Tensor>>{I135, Gamma35_(), I136};
689 auto task123 = make_shared<Task123>(tensor123, pindex);
690 task122->add_dep(task123);
691 task123->add_dep(task30);
692 residualq->add_task(task123);
693
694 auto tensor124 = vector<shared_ptr<Tensor>>{I136, t2};
695 auto task124 = make_shared<Task124>(tensor124, pindex);
696 task123->add_dep(task124);
697 task124->add_dep(task30);
698 residualq->add_task(task124);
699
700 vector<IndexRange> I146_index = {virt_, active_, active_, active_};
701 auto I146 = make_shared<Tensor>(I146_index);
702 auto tensor125 = vector<shared_ptr<Tensor>>{I120, f1_, I146};
703 auto task125 = make_shared<Task125>(tensor125, pindex);
704 task111->add_dep(task125);
705 task125->add_dep(task30);
706 residualq->add_task(task125);
707
708 auto tensor126 = vector<shared_ptr<Tensor>>{I146, Gamma51_(), t2};
709 auto task126 = make_shared<Task126>(tensor126, pindex);
710 task125->add_dep(task126);
711 task126->add_dep(task30);
712 residualq->add_task(task126);
713
714 vector<IndexRange> I149_index = {closed_, virt_};
715 auto I149 = make_shared<Tensor>(I149_index);
716 auto tensor127 = vector<shared_ptr<Tensor>>{I120, Gamma38_(), I149};
717 auto task127 = make_shared<Task127>(tensor127, pindex);
718 task111->add_dep(task127);
719 task127->add_dep(task30);
720 residualq->add_task(task127);
721
722 vector<IndexRange> I150_index = {closed_, virt_, closed_, virt_};
723 auto I150 = make_shared<Tensor>(I150_index);
724 auto tensor128 = vector<shared_ptr<Tensor>>{I149, f1_, I150};
725 auto task128 = make_shared<Task128>(tensor128, pindex);
726 task127->add_dep(task128);
727 task128->add_dep(task30);
728 residualq->add_task(task128);
729
730 auto tensor129 = vector<shared_ptr<Tensor>>{I150, t2};
731 auto task129 = make_shared<Task129>(tensor129, pindex);
732 task128->add_dep(task129);
733 task129->add_dep(task30);
734 residualq->add_task(task129);
735
736 vector<IndexRange> I155_index = {active_, closed_, virt_, active_};
737 auto I155 = make_shared<Tensor>(I155_index);
738 auto tensor130 = vector<shared_ptr<Tensor>>{I120, Gamma35_(), I155};
739 auto task130 = make_shared<Task130>(tensor130, pindex);
740 task111->add_dep(task130);
741 task130->add_dep(task30);
742 residualq->add_task(task130);
743
744 auto tensor131 = vector<shared_ptr<Tensor>>{I155, t2};
745 auto task131 = make_shared<Task131>(tensor131, pindex, this->e0_);
746 task130->add_dep(task131);
747 task131->add_dep(task30);
748 residualq->add_task(task131);
749
750 vector<IndexRange> I156_index = {active_, virt_, closed_, virt_};
751 auto I156 = make_shared<Tensor>(I156_index);
752 auto tensor132 = vector<shared_ptr<Tensor>>{I155, f1_, I156};
753 auto task132 = make_shared<Task132>(tensor132, pindex);
754 task130->add_dep(task132);
755 task132->add_dep(task30);
756 residualq->add_task(task132);
757
758 auto tensor133 = vector<shared_ptr<Tensor>>{I156, t2};
759 auto task133 = make_shared<Task133>(tensor133, pindex);
760 task132->add_dep(task133);
761 task133->add_dep(task30);
762 residualq->add_task(task133);
763
764 vector<IndexRange> I160_index = {virt_, active_, active_, active_};
765 auto I160 = make_shared<Tensor>(I160_index);
766 auto tensor134 = vector<shared_ptr<Tensor>>{r, I160};
767 auto task134 = make_shared<Task134>(tensor134, pindex);
768 task134->add_dep(task30);
769 residualq->add_task(task134);
770
771 vector<IndexRange> I161_index = {active_, virt_, active_, active_};
772 auto I161 = make_shared<Tensor>(I161_index);
773 auto tensor135 = vector<shared_ptr<Tensor>>{I160, Gamma56_(), I161};
774 auto task135 = make_shared<Task135>(tensor135, pindex);
775 task134->add_dep(task135);
776 task135->add_dep(task30);
777 residualq->add_task(task135);
778
779 auto tensor136 = vector<shared_ptr<Tensor>>{I161, f1_, t2};
780 auto task136 = make_shared<Task136>(tensor136, pindex);
781 task135->add_dep(task136);
782 task136->add_dep(task30);
783 residualq->add_task(task136);
784
785 vector<IndexRange> I164_index = {virt_, active_, active_, active_};
786 auto I164 = make_shared<Tensor>(I164_index);
787 auto tensor137 = vector<shared_ptr<Tensor>>{I160, Gamma57_(), I164};
788 auto task137 = make_shared<Task137>(tensor137, pindex);
789 task134->add_dep(task137);
790 task137->add_dep(task30);
791 residualq->add_task(task137);
792
793 auto tensor138 = vector<shared_ptr<Tensor>>{I164, f1_, t2};
794 auto task138 = make_shared<Task138>(tensor138, pindex);
795 task137->add_dep(task138);
796 task138->add_dep(task30);
797 residualq->add_task(task138);
798
799 auto tensor139 = vector<shared_ptr<Tensor>>{I160, Gamma58_(), t2};
800 auto task139 = make_shared<Task139>(tensor139, pindex);
801 task134->add_dep(task139);
802 task139->add_dep(task30);
803 residualq->add_task(task139);
804
805 vector<IndexRange> I169_index = {virt_, active_, active_, active_};
806 auto I169 = make_shared<Tensor>(I169_index);
807 auto tensor140 = vector<shared_ptr<Tensor>>{I160, f1_, I169};
808 auto task140 = make_shared<Task140>(tensor140, pindex);
809 task134->add_dep(task140);
810 task140->add_dep(task30);
811 residualq->add_task(task140);
812
813 auto tensor141 = vector<shared_ptr<Tensor>>{I169, Gamma59_(), t2};
814 auto task141 = make_shared<Task141>(tensor141, pindex);
815 task140->add_dep(task141);
816 task141->add_dep(task30);
817 residualq->add_task(task141);
818
819 vector<IndexRange> I172_index = {active_, virt_};
820 auto I172 = make_shared<Tensor>(I172_index);
821 auto tensor142 = vector<shared_ptr<Tensor>>{I160, Gamma60_(), I172};
822 auto task142 = make_shared<Task142>(tensor142, pindex);
823 task134->add_dep(task142);
824 task142->add_dep(task30);
825 residualq->add_task(task142);
826
827 vector<IndexRange> I173_index = {active_, virt_, closed_, virt_};
828 auto I173 = make_shared<Tensor>(I173_index);
829 auto tensor143 = vector<shared_ptr<Tensor>>{I172, f1_, I173};
830 auto task143 = make_shared<Task143>(tensor143, pindex);
831 task142->add_dep(task143);
832 task143->add_dep(task30);
833 residualq->add_task(task143);
834
835 auto tensor144 = vector<shared_ptr<Tensor>>{I173, t2};
836 auto task144 = make_shared<Task144>(tensor144, pindex);
837 task143->add_dep(task144);
838 task144->add_dep(task30);
839 residualq->add_task(task144);
840
841 vector<IndexRange> I178_index = {active_, virt_, active_, active_};
842 auto I178 = make_shared<Tensor>(I178_index);
843 auto tensor145 = vector<shared_ptr<Tensor>>{I160, Gamma59_(), I178};
844 auto task145 = make_shared<Task145>(tensor145, pindex);
845 task134->add_dep(task145);
846 task145->add_dep(task30);
847 residualq->add_task(task145);
848
849 auto tensor146 = vector<shared_ptr<Tensor>>{I178, t2};
850 auto task146 = make_shared<Task146>(tensor146, pindex, this->e0_);
851 task145->add_dep(task146);
852 task146->add_dep(task30);
853 residualq->add_task(task146);
854
855 auto tensor147 = vector<shared_ptr<Tensor>>{I178, f1_, t2};
856 auto task147 = make_shared<Task147>(tensor147, pindex);
857 task145->add_dep(task147);
858 task147->add_dep(task30);
859 residualq->add_task(task147);
860
861 vector<IndexRange> I180_index = {virt_, closed_, virt_, closed_};
862 auto I180 = make_shared<Tensor>(I180_index);
863 auto tensor148 = vector<shared_ptr<Tensor>>{r, I180};
864 auto task148 = make_shared<Task148>(tensor148, pindex);
865 task148->add_dep(task30);
866 residualq->add_task(task148);
867
868 vector<IndexRange> I181_index = {virt_, active_};
869 auto I181 = make_shared<Tensor>(I181_index);
870 auto tensor149 = vector<shared_ptr<Tensor>>{I180, t2, I181};
871 auto task149 = make_shared<Task149>(tensor149, pindex);
872 task148->add_dep(task149);
873 task149->add_dep(task30);
874 residualq->add_task(task149);
875
876 auto tensor150 = vector<shared_ptr<Tensor>>{I181, Gamma16_(), f1_};
877 auto task150 = make_shared<Task150>(tensor150, pindex);
878 task149->add_dep(task150);
879 task150->add_dep(task30);
880 residualq->add_task(task150);
881
882 vector<IndexRange> I184_index = {virt_, active_};
883 auto I184 = make_shared<Tensor>(I184_index);
884 auto tensor151 = vector<shared_ptr<Tensor>>{I180, t2, I184};
885 auto task151 = make_shared<Task151>(tensor151, pindex);
886 task148->add_dep(task151);
887 task151->add_dep(task30);
888 residualq->add_task(task151);
889
890 auto tensor152 = vector<shared_ptr<Tensor>>{I184, Gamma16_(), f1_};
891 auto task152 = make_shared<Task152>(tensor152, pindex);
892 task151->add_dep(task152);
893 task152->add_dep(task30);
894 residualq->add_task(task152);
895
896 vector<IndexRange> I187_index = {virt_, closed_};
897 auto I187 = make_shared<Tensor>(I187_index);
898 auto tensor153 = vector<shared_ptr<Tensor>>{I180, f1_, I187};
899 auto task153 = make_shared<Task153>(tensor153, pindex);
900 task148->add_dep(task153);
901 task153->add_dep(task30);
902 residualq->add_task(task153);
903
904 vector<IndexRange> I188_index = {active_, virt_, closed_, active_};
905 auto I188 = make_shared<Tensor>(I188_index);
906 auto tensor154 = vector<shared_ptr<Tensor>>{I187, Gamma38_(), I188};
907 auto task154 = make_shared<Task154>(tensor154, pindex);
908 task153->add_dep(task154);
909 task154->add_dep(task30);
910 residualq->add_task(task154);
911
912 auto tensor155 = vector<shared_ptr<Tensor>>{I188, t2};
913 auto task155 = make_shared<Task155>(tensor155, pindex);
914 task154->add_dep(task155);
915 task155->add_dep(task30);
916 residualq->add_task(task155);
917
918 vector<IndexRange> I190_index = {virt_, closed_};
919 auto I190 = make_shared<Tensor>(I190_index);
920 auto tensor156 = vector<shared_ptr<Tensor>>{I180, f1_, I190};
921 auto task156 = make_shared<Task156>(tensor156, pindex);
922 task148->add_dep(task156);
923 task156->add_dep(task30);
924 residualq->add_task(task156);
925
926 vector<IndexRange> I191_index = {active_, virt_, closed_, active_};
927 auto I191 = make_shared<Tensor>(I191_index);
928 auto tensor157 = vector<shared_ptr<Tensor>>{I190, Gamma38_(), I191};
929 auto task157 = make_shared<Task157>(tensor157, pindex);
930 task156->add_dep(task157);
931 task157->add_dep(task30);
932 residualq->add_task(task157);
933
934 auto tensor158 = vector<shared_ptr<Tensor>>{I191, t2};
935 auto task158 = make_shared<Task158>(tensor158, pindex);
936 task157->add_dep(task158);
937 task158->add_dep(task30);
938 residualq->add_task(task158);
939
940 vector<IndexRange> I199_index = {closed_, active_};
941 auto I199 = make_shared<Tensor>(I199_index);
942 auto tensor159 = vector<shared_ptr<Tensor>>{I180, t2, I199};
943 auto task159 = make_shared<Task159>(tensor159, pindex);
944 task148->add_dep(task159);
945 task159->add_dep(task30);
946 residualq->add_task(task159);
947
948 auto tensor160 = vector<shared_ptr<Tensor>>{I199, Gamma38_(), f1_};
949 auto task160 = make_shared<Task160>(tensor160, pindex);
950 task159->add_dep(task160);
951 task160->add_dep(task30);
952 residualq->add_task(task160);
953
954 vector<IndexRange> I202_index = {closed_, active_};
955 auto I202 = make_shared<Tensor>(I202_index);
956 auto tensor161 = vector<shared_ptr<Tensor>>{I180, t2, I202};
957 auto task161 = make_shared<Task161>(tensor161, pindex);
958 task148->add_dep(task161);
959 task161->add_dep(task30);
960 residualq->add_task(task161);
961
962 auto tensor162 = vector<shared_ptr<Tensor>>{I202, Gamma38_(), f1_};
963 auto task162 = make_shared<Task162>(tensor162, pindex);
964 task161->add_dep(task162);
965 task162->add_dep(task30);
966 residualq->add_task(task162);
967
968 vector<IndexRange> I204_index = {virt_, closed_, active_, virt_};
969 auto I204 = make_shared<Tensor>(I204_index);
970 auto tensor163 = vector<shared_ptr<Tensor>>{r, I204};
971 auto task163 = make_shared<Task163>(tensor163, pindex);
972 task163->add_dep(task30);
973 residualq->add_task(task163);
974
975 vector<IndexRange> I205_index = {virt_, closed_, active_, active_};
976 auto I205 = make_shared<Tensor>(I205_index);
977 auto tensor164 = vector<shared_ptr<Tensor>>{I204, f1_, I205};
978 auto task164 = make_shared<Task164>(tensor164, pindex);
979 task163->add_dep(task164);
980 task164->add_dep(task30);
981 residualq->add_task(task164);
982
983 vector<IndexRange> I206_index = {active_, virt_, closed_, active_};
984 auto I206 = make_shared<Tensor>(I206_index);
985 auto tensor165 = vector<shared_ptr<Tensor>>{I205, Gamma35_(), I206};
986 auto task165 = make_shared<Task165>(tensor165, pindex);
987 task164->add_dep(task165);
988 task165->add_dep(task30);
989 residualq->add_task(task165);
990
991 auto tensor166 = vector<shared_ptr<Tensor>>{I206, t2};
992 auto task166 = make_shared<Task166>(tensor166, pindex);
993 task165->add_dep(task166);
994 task166->add_dep(task30);
995 residualq->add_task(task166);
996
997 vector<IndexRange> I208_index = {virt_, closed_, active_, active_};
998 auto I208 = make_shared<Tensor>(I208_index);
999 auto tensor167 = vector<shared_ptr<Tensor>>{I204, f1_, I208};
1000 auto task167 = make_shared<Task167>(tensor167, pindex);
1001 task163->add_dep(task167);
1002 task167->add_dep(task30);
1003 residualq->add_task(task167);
1004
1005 auto tensor168 = vector<shared_ptr<Tensor>>{I208, Gamma32_(), t2};
1006 auto task168 = make_shared<Task168>(tensor168, pindex);
1007 task167->add_dep(task168);
1008 task168->add_dep(task30);
1009 residualq->add_task(task168);
1010
1011 auto tensor169 = vector<shared_ptr<Tensor>>{I208, Gamma35_(), t2};
1012 auto task169 = make_shared<Task169>(tensor169, pindex);
1013 task167->add_dep(task169);
1014 task169->add_dep(task30);
1015 residualq->add_task(task169);
1016
1017 vector<IndexRange> I217_index = {virt_, active_};
1018 auto I217 = make_shared<Tensor>(I217_index);
1019 auto tensor170 = vector<shared_ptr<Tensor>>{I204, f1_, I217};
1020 auto task170 = make_shared<Task170>(tensor170, pindex);
1021 task163->add_dep(task170);
1022 task170->add_dep(task30);
1023 residualq->add_task(task170);
1024
1025 auto tensor171 = vector<shared_ptr<Tensor>>{I217, Gamma60_(), t2};
1026 auto task171 = make_shared<Task171>(tensor171, pindex);
1027 task170->add_dep(task171);
1028 task171->add_dep(task30);
1029 residualq->add_task(task171);
1030
1031 vector<IndexRange> I220_index = {virt_, active_};
1032 auto I220 = make_shared<Tensor>(I220_index);
1033 auto tensor172 = vector<shared_ptr<Tensor>>{I204, f1_, I220};
1034 auto task172 = make_shared<Task172>(tensor172, pindex);
1035 task163->add_dep(task172);
1036 task172->add_dep(task30);
1037 residualq->add_task(task172);
1038
1039 auto tensor173 = vector<shared_ptr<Tensor>>{I220, Gamma60_(), t2};
1040 auto task173 = make_shared<Task173>(tensor173, pindex);
1041 task172->add_dep(task173);
1042 task173->add_dep(task30);
1043 residualq->add_task(task173);
1044
1045 vector<IndexRange> I223_index = {closed_, active_};
1046 auto I223 = make_shared<Tensor>(I223_index);
1047 auto tensor174 = vector<shared_ptr<Tensor>>{I204, t2, I223};
1048 auto task174 = make_shared<Task174>(tensor174, pindex);
1049 task163->add_dep(task174);
1050 task174->add_dep(task30);
1051 residualq->add_task(task174);
1052
1053 auto tensor175 = vector<shared_ptr<Tensor>>{I223, Gamma38_(), f1_};
1054 auto task175 = make_shared<Task175>(tensor175, pindex);
1055 task174->add_dep(task175);
1056 task175->add_dep(task30);
1057 residualq->add_task(task175);
1058
1059 vector<IndexRange> I226_index = {closed_, active_};
1060 auto I226 = make_shared<Tensor>(I226_index);
1061 auto tensor176 = vector<shared_ptr<Tensor>>{I204, t2, I226};
1062 auto task176 = make_shared<Task176>(tensor176, pindex);
1063 task163->add_dep(task176);
1064 task176->add_dep(task30);
1065 residualq->add_task(task176);
1066
1067 auto tensor177 = vector<shared_ptr<Tensor>>{I226, Gamma38_(), f1_};
1068 auto task177 = make_shared<Task177>(tensor177, pindex);
1069 task176->add_dep(task177);
1070 task177->add_dep(task30);
1071 residualq->add_task(task177);
1072
1073 vector<IndexRange> I229_index = {active_, virt_, closed_, virt_};
1074 auto I229 = make_shared<Tensor>(I229_index);
1075 auto tensor178 = vector<shared_ptr<Tensor>>{I204, Gamma79_(), I229};
1076 auto task178 = make_shared<Task178>(tensor178, pindex);
1077 task163->add_dep(task178);
1078 task178->add_dep(task30);
1079 residualq->add_task(task178);
1080
1081 auto tensor179 = vector<shared_ptr<Tensor>>{I229, t2};
1082 auto task179 = make_shared<Task179>(tensor179, pindex);
1083 task178->add_dep(task179);
1084 task179->add_dep(task30);
1085 residualq->add_task(task179);
1086
1087 vector<IndexRange> I233_index = {virt_, closed_, virt_, active_};
1088 auto I233 = make_shared<Tensor>(I233_index);
1089 auto tensor180 = vector<shared_ptr<Tensor>>{I204, f1_, I233};
1090 auto task180 = make_shared<Task180>(tensor180, pindex);
1091 task163->add_dep(task180);
1092 task180->add_dep(task30);
1093 residualq->add_task(task180);
1094
1095 vector<IndexRange> I234_index = {active_, virt_, closed_, virt_};
1096 auto I234 = make_shared<Tensor>(I234_index);
1097 auto tensor181 = vector<shared_ptr<Tensor>>{I233, Gamma38_(), I234};
1098 auto task181 = make_shared<Task181>(tensor181, pindex);
1099 task180->add_dep(task181);
1100 task181->add_dep(task30);
1101 residualq->add_task(task181);
1102
1103 auto tensor182 = vector<shared_ptr<Tensor>>{I234, t2};
1104 auto task182 = make_shared<Task182>(tensor182, pindex);
1105 task181->add_dep(task182);
1106 task182->add_dep(task30);
1107 residualq->add_task(task182);
1108
1109 vector<IndexRange> I239_index = {virt_, closed_, virt_, active_};
1110 auto I239 = make_shared<Tensor>(I239_index);
1111 auto tensor183 = vector<shared_ptr<Tensor>>{I204, f1_, I239};
1112 auto task183 = make_shared<Task183>(tensor183, pindex);
1113 task163->add_dep(task183);
1114 task183->add_dep(task30);
1115 residualq->add_task(task183);
1116
1117 vector<IndexRange> I240_index = {active_, virt_, closed_, virt_};
1118 auto I240 = make_shared<Tensor>(I240_index);
1119 auto tensor184 = vector<shared_ptr<Tensor>>{I239, Gamma38_(), I240};
1120 auto task184 = make_shared<Task184>(tensor184, pindex);
1121 task183->add_dep(task184);
1122 task184->add_dep(task30);
1123 residualq->add_task(task184);
1124
1125 auto tensor185 = vector<shared_ptr<Tensor>>{I240, t2};
1126 auto task185 = make_shared<Task185>(tensor185, pindex);
1127 task184->add_dep(task185);
1128 task185->add_dep(task30);
1129 residualq->add_task(task185);
1130
1131 vector<IndexRange> I245_index = {virt_, closed_, virt_, active_};
1132 auto I245 = make_shared<Tensor>(I245_index);
1133 auto tensor186 = vector<shared_ptr<Tensor>>{I204, f1_, I245};
1134 auto task186 = make_shared<Task186>(tensor186, pindex);
1135 task163->add_dep(task186);
1136 task186->add_dep(task30);
1137 residualq->add_task(task186);
1138
1139 vector<IndexRange> I246_index = {active_, virt_, closed_, virt_};
1140 auto I246 = make_shared<Tensor>(I246_index);
1141 auto tensor187 = vector<shared_ptr<Tensor>>{I245, Gamma38_(), I246};
1142 auto task187 = make_shared<Task187>(tensor187, pindex);
1143 task186->add_dep(task187);
1144 task187->add_dep(task30);
1145 residualq->add_task(task187);
1146
1147 auto tensor188 = vector<shared_ptr<Tensor>>{I246, t2};
1148 auto task188 = make_shared<Task188>(tensor188, pindex);
1149 task187->add_dep(task188);
1150 task188->add_dep(task30);
1151 residualq->add_task(task188);
1152
1153 vector<IndexRange> I251_index = {virt_, virt_, active_, active_};
1154 auto I251 = make_shared<Tensor>(I251_index);
1155 auto tensor189 = vector<shared_ptr<Tensor>>{I204, f1_, I251};
1156 auto task189 = make_shared<Task189>(tensor189, pindex);
1157 task163->add_dep(task189);
1158 task189->add_dep(task30);
1159 residualq->add_task(task189);
1160
1161 auto tensor190 = vector<shared_ptr<Tensor>>{I251, Gamma60_(), t2};
1162 auto task190 = make_shared<Task190>(tensor190, pindex);
1163 task189->add_dep(task190);
1164 task190->add_dep(task30);
1165 residualq->add_task(task190);
1166
1167 vector<IndexRange> I283_index = {active_, virt_, closed_, virt_};
1168 auto I283 = make_shared<Tensor>(I283_index);
1169 auto tensor191 = vector<shared_ptr<Tensor>>{I204, Gamma38_(), I283};
1170 auto task191 = make_shared<Task191>(tensor191, pindex);
1171 task163->add_dep(task191);
1172 task191->add_dep(task30);
1173 residualq->add_task(task191);
1174
1175 auto tensor192 = vector<shared_ptr<Tensor>>{I283, t2};
1176 auto task192 = make_shared<Task192>(tensor192, pindex, this->e0_);
1177 task191->add_dep(task192);
1178 task192->add_dep(task30);
1179 residualq->add_task(task192);
1180
1181 vector<IndexRange> I253_index = {virt_, active_, active_, virt_};
1182 auto I253 = make_shared<Tensor>(I253_index);
1183 auto tensor193 = vector<shared_ptr<Tensor>>{r, I253};
1184 auto task193 = make_shared<Task193>(tensor193, pindex);
1185 task193->add_dep(task30);
1186 residualq->add_task(task193);
1187
1188 vector<IndexRange> I254_index = {virt_, active_, active_, active_};
1189 auto I254 = make_shared<Tensor>(I254_index);
1190 auto tensor194 = vector<shared_ptr<Tensor>>{I253, f1_, I254};
1191 auto task194 = make_shared<Task194>(tensor194, pindex);
1192 task193->add_dep(task194);
1193 task194->add_dep(task30);
1194 residualq->add_task(task194);
1195
1196 auto tensor195 = vector<shared_ptr<Tensor>>{I254, Gamma59_(), t2};
1197 auto task195 = make_shared<Task195>(tensor195, pindex);
1198 task194->add_dep(task195);
1199 task195->add_dep(task30);
1200 residualq->add_task(task195);
1201
1202 vector<IndexRange> I257_index = {active_, virt_, virt_, active_};
1203 auto I257 = make_shared<Tensor>(I257_index);
1204 auto tensor196 = vector<shared_ptr<Tensor>>{I253, Gamma60_(), I257};
1205 auto task196 = make_shared<Task196>(tensor196, pindex);
1206 task193->add_dep(task196);
1207 task196->add_dep(task30);
1208 residualq->add_task(task196);
1209
1210 auto tensor197 = vector<shared_ptr<Tensor>>{I257, f1_, t2};
1211 auto task197 = make_shared<Task197>(tensor197, pindex);
1212 task196->add_dep(task197);
1213 task197->add_dep(task30);
1214 residualq->add_task(task197);
1215
1216 vector<IndexRange> I262_index = {virt_, virt_, active_, active_};
1217 auto I262 = make_shared<Tensor>(I262_index);
1218 auto tensor198 = vector<shared_ptr<Tensor>>{I253, f1_, I262};
1219 auto task198 = make_shared<Task198>(tensor198, pindex);
1220 task193->add_dep(task198);
1221 task198->add_dep(task30);
1222 residualq->add_task(task198);
1223
1224 auto tensor199 = vector<shared_ptr<Tensor>>{I262, Gamma60_(), t2};
1225 auto task199 = make_shared<Task199>(tensor199, pindex);
1226 task198->add_dep(task199);
1227 task199->add_dep(task30);
1228 residualq->add_task(task199);
1229
1230 vector<IndexRange> I259_index = {virt_, virt_, active_, active_};
1231 auto I259 = make_shared<Tensor>(I259_index);
1232 auto tensor200 = vector<shared_ptr<Tensor>>{r, I259};
1233 auto task200 = make_shared<Task200>(tensor200, pindex);
1234 task200->add_dep(task30);
1235 residualq->add_task(task200);
1236
1237 auto tensor201 = vector<shared_ptr<Tensor>>{I259, Gamma90_(), t2};
1238 auto task201 = make_shared<Task201>(tensor201, pindex);
1239 task200->add_dep(task201);
1240 task201->add_dep(task30);
1241 residualq->add_task(task201);
1242
1243 auto tensor202 = vector<shared_ptr<Tensor>>{I259, Gamma60_(), t2};
1244 auto task202 = make_shared<Task202>(tensor202, pindex, this->e0_);
1245 task200->add_dep(task202);
1246 task202->add_dep(task30);
1247 residualq->add_task(task202);
1248
1249 return residualq;
1250 }
1251
1252
1253 #endif
1254