~ubuntu-branches/ubuntu/quantal/psicode/quantal

« back to all changes in this revision

Viewing changes to src/bin/cchbar/Wabei_ROHF.c

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2006-09-10 14:01:33 UTC
  • Revision ID: james.westby@ubuntu.com-20060910140133-ib2j86trekykfsfv
Tags: upstream-3.2.3
ImportĀ upstreamĀ versionĀ 3.2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <stdio.h>
 
2
#include <libdpd/dpd.h>
 
3
#define EXTERN
 
4
#include "globals.h"
 
5
 
 
6
/** Wabei intermediates are stored here as (ei,ab) **/
 
7
 
 
8
void Wabei_ROHF(void)
 
9
{
 
10
  dpdfile2 Fme, T1;
 
11
  dpdbuf4 F, W, T2, B, Z, Z1, Z2, D, T, E, C;
 
12
 
 
13
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 7, 10, 5, 1, "F <ia|bc>");
 
14
  /** <EI||AB> **/
 
15
  dpd_buf4_sort(&F, CC_HBAR, qprs, 11, 7, "WEIAB");
 
16
  /** <ei||ab> **/
 
17
  dpd_buf4_sort(&F, CC_HBAR, qprs, 11, 7, "Weiab");
 
18
  dpd_buf4_close(&F);
 
19
 
 
20
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "WEIAB");
 
21
  dpd_buf4_scm(&W, -1.0);
 
22
  dpd_buf4_close(&W);
 
23
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "Weiab");
 
24
  dpd_buf4_scm(&W, -1.0);
 
25
  dpd_buf4_close(&W);
 
26
  
 
27
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
28
  /** <iE|bA> **/
 
29
  dpd_buf4_sort(&F, CC_TMP0, qprs, 11, 5, "W(Ei,bA)");
 
30
  dpd_buf4_close(&F);
 
31
  dpd_buf4_init(&W, CC_TMP0, 0, 11, 5, 11, 5, 0, "W(Ei,bA)");
 
32
  dpd_buf4_sort(&W, CC_HBAR, pqsr, 11, 5, "WEiAb");
 
33
  dpd_buf4_close(&W);
 
34
  /** <Ie|Ba> **/
 
35
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WEiAb");
 
36
  dpd_buf4_copy(&W, CC_HBAR, "WeIaB");
 
37
  dpd_buf4_close(&W);
 
38
 
 
39
  /** - F_ME t_MI^AB **/
 
40
  dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tIJAB");
 
41
  dpd_file2_init(&Fme, CC_OEI, 0, 0, 1, "FME");
 
42
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "WEIAB");
 
43
  dpd_contract244(&Fme, &T2, &W, 0, 0, 0, -1.0, 1.0);
 
44
  dpd_buf4_close(&W);
 
45
  dpd_file2_close(&Fme);
 
46
  dpd_buf4_close(&T2);
 
47
 
 
48
  /** - F_me t_mi^ab **/
 
49
  dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tijab");
 
50
  dpd_file2_init(&Fme, CC_OEI, 0, 0, 1, "Fme");
 
51
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "Weiab");
 
52
  dpd_contract244(&Fme, &T2, &W, 0, 0, 0, -1.0, 1.0);
 
53
  dpd_buf4_close(&W);
 
54
  dpd_file2_close(&Fme);
 
55
  dpd_buf4_close(&T2);
 
56
 
 
57
  /** - F_ME t_Mi^Ab **/
 
58
  dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
 
59
  dpd_file2_init(&Fme, CC_OEI, 0, 0, 1, "FME");
 
60
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WEiAb");
 
61
  dpd_contract244(&Fme, &T2, &W, 0, 0, 0, -1.0, 1.0);
 
62
  dpd_buf4_close(&W);
 
63
  dpd_file2_close(&Fme);
 
64
  dpd_buf4_close(&T2);
 
65
 
 
66
  /** - F_me t_mI^aB **/
 
67
  dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tiJaB");
 
68
  dpd_file2_init(&Fme, CC_OEI, 0, 0, 1, "Fme");
 
69
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WeIaB");
 
70
  dpd_contract244(&Fme, &T2, &W, 0, 0, 0, -1.0, 1.0);
 
71
  dpd_buf4_close(&W);
 
72
  dpd_file2_close(&Fme);
 
73
  dpd_buf4_close(&T2);
 
74
 
 
75
  /** <AB||EF> t_I^F **/
 
76
  dpd_buf4_init(&Z, CC_TMP0, 0, 7, 11, 7, 11, 0, "Z(AB,EI)");
 
77
  dpd_buf4_init(&B, CC_BINTS, 0, 7, 5, 5, 5, 1, "B <ab|cd>");
 
78
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
79
  dpd_contract424(&B, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
80
  dpd_file2_close(&T1);
 
81
  dpd_buf4_close(&B);
 
82
  dpd_buf4_sort(&Z, CC_TMP1, rspq, 11, 7, "Z(EI,AB)");
 
83
  dpd_buf4_close(&Z);
 
84
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 7, 11, 7, 0, "Z(EI,AB)");
 
85
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "WEIAB");
 
86
  dpd_buf4_axpy(&Z, &W, 1.0);
 
87
  dpd_buf4_close(&W);
 
88
  dpd_buf4_close(&Z);
 
89
 
 
90
  /** <ab||ef> t_i^f **/
 
91
  dpd_buf4_init(&Z, CC_TMP0, 0, 7, 11, 7, 11, 0, "Z(ab,ei)");
 
92
  dpd_buf4_init(&B, CC_BINTS, 0, 7, 5, 5, 5, 1, "B <ab|cd>");
 
93
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
94
  dpd_contract424(&B, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
95
  dpd_file2_close(&T1);
 
96
  dpd_buf4_close(&B);
 
97
  dpd_buf4_sort(&Z, CC_TMP1, rspq, 11, 7, "Z(ei,ab)");
 
98
  dpd_buf4_close(&Z);
 
99
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 7, 11, 7, 0, "Z(ei,ab)");
 
100
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "Weiab");
 
101
  dpd_buf4_axpy(&Z, &W, 1.0);
 
102
  dpd_buf4_close(&W);
 
103
  dpd_buf4_close(&Z);
 
104
 
 
105
  /** <Ab|Ef> t_i^f **/
 
106
  dpd_buf4_init(&Z, CC_TMP0, 0, 5, 11, 5, 11, 0, "Z(Ab,Ei)");
 
107
  dpd_buf4_init(&B, CC_BINTS, 0, 5, 5, 5, 5, 0, "B <ab|cd>");
 
108
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
109
  dpd_contract424(&B, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
110
  dpd_file2_close(&T1);
 
111
  dpd_buf4_close(&B);
 
112
  dpd_buf4_sort(&Z, CC_TMP1, rspq, 11, 5, "Z(Ei,Ab)");
 
113
  dpd_buf4_close(&Z);
 
114
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(Ei,Ab)");
 
115
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WEiAb");
 
116
  dpd_buf4_axpy(&Z, &W, 1.0);
 
117
  dpd_buf4_close(&W);
 
118
  dpd_buf4_close(&Z);
 
119
 
 
120
  /** - <Fe|Ba> t_I^F **/
 
121
  dpd_buf4_init(&Z, CC_TMP0, 0, 5, 11, 5, 11, 0, "Z(aB,eI)");
 
122
  dpd_buf4_init(&B, CC_BINTS, 0, 5, 5, 5, 5, 0, "B <ab|cd>");
 
123
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
124
  dpd_contract424(&B, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
125
  dpd_file2_close(&T1);
 
126
  dpd_buf4_close(&B);
 
127
  dpd_buf4_sort(&Z, CC_TMP1, rspq, 11, 5, "Z(eI,aB)");
 
128
  dpd_buf4_close(&Z);
 
129
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(eI,aB)");
 
130
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WeIaB");
 
131
  dpd_buf4_axpy(&Z, &W, 1.0);
 
132
  dpd_buf4_close(&W);
 
133
  dpd_buf4_close(&Z);
 
134
 
 
135
  /** Prepare intermediates for second Wabef contribution to Wabei **/
 
136
 
 
137
  /** Z(MA,EI) <-- <MA||EF> t_I^F **/
 
138
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(MA,EI)");
 
139
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 1, "F <ia|bc>");
 
140
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
141
  dpd_contract424(&F, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
142
  dpd_file2_close(&T1);
 
143
  dpd_buf4_close(&F);
 
144
  dpd_buf4_close(&Z);
 
145
 
 
146
  /** t_M^B Z(MA,EI) --> Z'(BA,EI) --> Z1(AB,EI) **/
 
147
  dpd_buf4_init(&Z1, CC_TMP1, 0, 5, 11, 5, 11, 0, "Z(BA,EI)");
 
148
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(MA,EI)");
 
149
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
150
  dpd_contract244(&T1, &Z, &Z1, 0, 0, 0, 1.0, 0.0);
 
151
  dpd_file2_close(&T1);
 
152
  dpd_buf4_close(&Z);
 
153
  dpd_buf4_sort(&Z1, CC_TMP2, qprs, 5, 11, "Z(AB,EI)");
 
154
  dpd_buf4_close(&Z1);
 
155
 
 
156
  /** t_M^A Z(MB,EI) --> Z2(AB,EI) **/
 
157
  dpd_buf4_init(&Z2, CC_TMP1, 0, 5, 11, 5, 11, 0, "Z(AB,EI)");
 
158
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(MA,EI)");
 
159
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
160
  dpd_contract244(&T1, &Z, &Z2, 0, 0, 0, -1.0, 0.0);
 
161
  dpd_file2_close(&T1);
 
162
  dpd_buf4_close(&Z);
 
163
 
 
164
  /** Z1(AB,EI) + Z2(AB,EI) --> W(AB,EI) --> W(EI,AB) **/
 
165
  dpd_buf4_init(&Z1, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z(AB,EI)");
 
166
  dpd_buf4_axpy(&Z1, &Z2, 1.0);
 
167
  dpd_buf4_close(&Z1);
 
168
  dpd_buf4_sort(&Z2, CC_TMP0, rspq, 11, 5, "Z(EI,AB)");
 
169
  dpd_buf4_close(&Z2);
 
170
  dpd_buf4_init(&Z2, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(EI,AB)");
 
171
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 7, 0, "WEIAB");
 
172
  dpd_buf4_axpy(&Z2, &W, 1.0);
 
173
  dpd_buf4_close(&W);
 
174
  dpd_buf4_close(&Z2);
 
175
 
 
176
  
 
177
  /** Z(ma,ei) <-- <ma||ef> t_i^f **/
 
178
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(ma,ei)");
 
179
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 1, "F <ia|bc>");
 
180
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
181
  dpd_contract424(&F, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
182
  dpd_file2_close(&T1);
 
183
  dpd_buf4_close(&F);
 
184
  dpd_buf4_close(&Z);
 
185
 
 
186
  /** t_m^b Z(ma,ei) --> Z'(ba,ei) --> Z1(ab,ei) **/
 
187
  dpd_buf4_init(&Z1, CC_TMP1, 0, 5, 11, 5, 11, 0, "Z(ba,ei)");
 
188
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(ma,ei)");
 
189
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
190
  dpd_contract244(&T1, &Z, &Z1, 0, 0, 0, 1.0, 0.0);
 
191
  dpd_file2_close(&T1);
 
192
  dpd_buf4_close(&Z);
 
193
  dpd_buf4_sort(&Z1, CC_TMP2, qprs, 5, 11, "Z(ab,ei)");
 
194
  dpd_buf4_close(&Z1);
 
195
 
 
196
  /** t_m^a Z(mb,ei) --> Z2(ab,ei) **/
 
197
  dpd_buf4_init(&Z2, CC_TMP1, 0, 5, 11, 5, 11, 0, "Z(ab,ei)");
 
198
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(ma,ei)");
 
199
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
200
  dpd_contract244(&T1, &Z, &Z2, 0, 0, 0, -1.0, 0.0);
 
201
  dpd_file2_close(&T1);
 
202
  dpd_buf4_close(&Z);
 
203
 
 
204
  /** Z1(ab,ei) + Z2(ab,ei) --> W(ab,ei) --> W(ie,ab) **/
 
205
  dpd_buf4_init(&Z1, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z(ab,ei)");
 
206
  dpd_buf4_axpy(&Z1, &Z2, 1.0);
 
207
  dpd_buf4_close(&Z1);
 
208
  dpd_buf4_sort(&Z2, CC_TMP0, rspq, 11, 5, "Z(ei,ab)");
 
209
  dpd_buf4_close(&Z2);
 
210
  dpd_buf4_init(&Z2, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(ei,ab)");
 
211
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 7, 0, "Weiab");
 
212
  dpd_buf4_axpy(&Z2, &W, 1.0);
 
213
  dpd_buf4_close(&W);
 
214
  dpd_buf4_close(&Z2);
 
215
 
 
216
  /** t_i^f <mA|fE> --> Z(mA,Ei) **/
 
217
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(mA,iE)");
 
218
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
219
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
220
  dpd_contract244(&T1, &F, &Z, 1, 2, 1, 1.0, 0.0);
 
221
  dpd_file2_close(&T1);
 
222
  dpd_buf4_close(&F);
 
223
  dpd_buf4_sort(&Z, CC_TMP1, pqsr, 10, 11, "Z(mA,Ei)");
 
224
  dpd_buf4_close(&Z);
 
225
 
 
226
  /** <Mb|Ef> t_i^f --> Z(Mb,Ei) **/
 
227
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(Mb,Ei)");
 
228
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
229
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
230
  dpd_contract424(&F, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
231
  dpd_file2_close(&T1);
 
232
  dpd_buf4_close(&F);
 
233
  dpd_buf4_close(&Z);
 
234
 
 
235
  /** - T_M^A Z(Mb,Ei) --> Z(Ab,Ei) **/
 
236
  dpd_buf4_init(&Z1, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z(Ab,Ei)");
 
237
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(Mb,Ei)");
 
238
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
239
  dpd_contract244(&T1, &Z, &Z1, 0, 0, 0, -1.0, 0.0);
 
240
  dpd_file2_close(&T1);
 
241
  dpd_buf4_close(&Z);
 
242
  dpd_buf4_close(&Z1);
 
243
 
 
244
  /** - t_m^b Z(mA,Ei) --> Z1(Ab,Ei) **/
 
245
  dpd_buf4_init(&Z1, CC_TMP0, 0, 5, 11, 5, 11, 0, "Z1(bA,Ei)");
 
246
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 11, 10, 11, 0, "Z(mA,Ei)");
 
247
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
248
  dpd_contract244(&T1, &Z, &Z1, 0, 0, 0, -1.0, 0.0);
 
249
  dpd_file2_close(&T1);
 
250
  dpd_buf4_close(&Z);
 
251
  dpd_buf4_sort(&Z1, CC_TMP1, qprs, 5, 11, "Z(Ab,Ei)");
 
252
  dpd_buf4_close(&Z1);
 
253
 
 
254
  /** Z1(Ab,Ei) + Z2(Ab,Ei) --> W(Ab,Ei) **/
 
255
  dpd_buf4_init(&Z1, CC_TMP1, 0, 5, 11, 5, 11, 0, "Z(Ab,Ei)");
 
256
  dpd_buf4_init(&Z2, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z(Ab,Ei)");
 
257
  dpd_buf4_axpy(&Z1, &Z2, 1.0);
 
258
  dpd_buf4_close(&Z1);
 
259
  dpd_buf4_sort(&Z2, CC_TMP0, rspq, 11, 5, "Z(Ei,Ab)");
 
260
  dpd_buf4_close(&Z2);
 
261
  dpd_buf4_init(&Z, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(Ei,Ab)");
 
262
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WEiAb");
 
263
  dpd_buf4_axpy(&Z, &W, 1.0);
 
264
  dpd_buf4_close(&Z);
 
265
  dpd_buf4_close(&W);
 
266
 
 
267
  /** t_I^F <Ma|Fe> --> Z(Ma,eI) **/
 
268
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(Ma,Ie)");
 
269
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
270
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
271
  dpd_contract244(&T1, &F, &Z, 1, 2, 1, 1.0, 0.0);
 
272
  dpd_file2_close(&T1);
 
273
  dpd_buf4_close(&F);
 
274
  dpd_buf4_sort(&Z, CC_TMP1, pqsr, 10, 11, "Z(Ma,eI)");
 
275
  dpd_buf4_close(&Z);
 
276
 
 
277
  /** <mB|eF> t_I^F --> Z(mB,eI) **/
 
278
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(mB,eI)");
 
279
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
280
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
281
  dpd_contract424(&F, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
282
  dpd_file2_close(&T1);
 
283
  dpd_buf4_close(&F);
 
284
  dpd_buf4_close(&Z);
 
285
 
 
286
  /** t_m^a Z(mB,eI) --> Z(aB,eI) **/
 
287
  dpd_buf4_init(&Z1, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z(aB,eI)");
 
288
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(mB,eI)");
 
289
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
290
  dpd_contract244(&T1, &Z, &Z1, 0, 0, 0, -1.0, 0.0);
 
291
  dpd_file2_close(&T1);
 
292
  dpd_buf4_close(&Z);
 
293
  dpd_buf4_close(&Z1);
 
294
 
 
295
  /** t_M^B Z(Ma,eI) --> Z1(aB,eI) **/
 
296
  dpd_buf4_init(&Z1, CC_TMP0, 0, 5, 11, 5, 11, 0, "Z1(Ba,eI)");
 
297
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 11, 10, 11, 0, "Z(Ma,eI)");
 
298
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
299
  dpd_contract244(&T1, &Z, &Z1, 0, 0, 0, -1.0, 0.0);
 
300
  dpd_file2_close(&T1);
 
301
  dpd_buf4_close(&Z);
 
302
  dpd_buf4_sort(&Z1, CC_TMP1, qprs, 5, 11, "Z(aB,eI)");
 
303
  dpd_buf4_close(&Z1);
 
304
 
 
305
  /** Z1(aB,eI) + Z2(aB,eI) --> W(aB,eI) **/
 
306
  dpd_buf4_init(&Z1, CC_TMP1, 0, 5, 11, 5, 11, 0, "Z(aB,eI)");
 
307
  dpd_buf4_init(&Z2, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z(aB,eI)");
 
308
  dpd_buf4_axpy(&Z1, &Z2, 1.0);
 
309
  dpd_buf4_close(&Z1);
 
310
  dpd_buf4_sort(&Z2, CC_TMP0, rspq, 11, 5, "Z(eI,aB)");
 
311
  dpd_buf4_close(&Z2);
 
312
  dpd_buf4_init(&Z, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(eI,aB)");
 
313
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WeIaB");
 
314
  dpd_buf4_axpy(&Z, &W, 1.0);
 
315
  dpd_buf4_close(&Z);
 
316
  dpd_buf4_close(&W);
 
317
 
 
318
 
 
319
 
 
320
  /** Final term of Wabef contribution to Wabei **/
 
321
 
 
322
  /** t_I^F <MN||EF> --> Z(MN,EI) **/
 
323
  dpd_buf4_init(&Z, CC_TMP0, 0, 2, 11, 2, 11, 0, "Z(MN,EI)");
 
324
  dpd_buf4_init(&D, CC_DINTS, 0, 2, 5, 2, 5, 0, "D <ij||ab> (i>j,ab)");
 
325
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
326
  dpd_contract424(&D, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
327
  dpd_file2_close(&T1);
 
328
  dpd_buf4_close(&D);
 
329
  /** Z(MN,EI) Tau(MN,AB) --> W(EI,AB) **/
 
330
  dpd_buf4_init(&T, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tauIJAB");
 
331
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "WEIAB");
 
332
  dpd_contract444(&Z, &T, &W, 1, 1, 1.0, 1.0);
 
333
  dpd_buf4_close(&W);
 
334
  dpd_buf4_close(&T);
 
335
  dpd_buf4_close(&Z);
 
336
 
 
337
  /** t_i^f <mn||ef> --> Z(mn,ei) **/
 
338
  dpd_buf4_init(&Z, CC_TMP0, 0, 2, 11, 2, 11, 0, "Z(mn,ei)");
 
339
  dpd_buf4_init(&D, CC_DINTS, 0, 2, 5, 2, 5, 0, "D <ij||ab> (i>j,ab)");
 
340
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
341
  dpd_contract424(&D, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
342
  dpd_file2_close(&T1);
 
343
  dpd_buf4_close(&D);
 
344
  /** Z(mn,ei) Tau(mn,ab) --> W(ei,ab) **/
 
345
  dpd_buf4_init(&T, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tauijab");
 
346
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "Weiab");
 
347
  dpd_contract444(&Z, &T, &W, 1, 1, 1.0, 1.0);
 
348
  dpd_buf4_close(&W);
 
349
  dpd_buf4_close(&T);
 
350
  dpd_buf4_close(&Z);
 
351
 
 
352
  /** t_i^f <Mn|Ef> --> Z(Mn,Ei) **/
 
353
  dpd_buf4_init(&Z, CC_TMP0, 0, 0, 11, 0, 11, 0, "Z(Mn,Ei)");
 
354
  dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
 
355
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
356
  dpd_contract424(&D, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
357
  dpd_file2_close(&T1);
 
358
  dpd_buf4_close(&D);
 
359
  /** Z(Mn,Ei) Tau(Mn,Ab) --> W(Ei,Ab) **/
 
360
  dpd_buf4_init(&T, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tauIjAb");
 
361
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WEiAb");
 
362
  dpd_contract444(&Z, &T, &W, 1, 1, 1.0, 1.0);
 
363
  dpd_buf4_close(&W);
 
364
  dpd_buf4_close(&T);
 
365
  dpd_buf4_close(&Z);
 
366
 
 
367
  /** t_I^F <mN|eF> --> Z(mN,eI) **/
 
368
  dpd_buf4_init(&Z, CC_TMP0, 0, 0, 11, 0, 11, 0, "Z(mN,eI)");
 
369
  dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
 
370
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
371
  dpd_contract424(&D, &T1, &Z, 3, 1, 0, 1.0, 0.0);
 
372
  dpd_file2_close(&T1);
 
373
  dpd_buf4_close(&D);
 
374
  /** Z(mN,eI) Tau(mN,aB) --> W(eI,aB) **/
 
375
  dpd_buf4_init(&T, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tauiJaB");
 
376
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WeIaB");
 
377
  dpd_contract444(&Z, &T, &W, 1, 1, 1.0, 1.0);
 
378
  dpd_buf4_close(&W);
 
379
  dpd_buf4_close(&T);
 
380
  dpd_buf4_close(&Z);
 
381
 
 
382
 
 
383
  /** <MN||EI> Tau(MN,AB) --> W(EI,AB) **/
 
384
  dpd_buf4_init(&E, CC_EINTS, 0, 2, 10, 2, 10, 0, "E <ij||ka> (i>j,ka)");
 
385
  dpd_buf4_init(&T, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tauIJAB");
 
386
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 7, 10, 7, 0, "Z(IE,AB)");
 
387
  dpd_contract444(&E, &T, &Z, 1, 1, -1.0, 0.0);
 
388
  dpd_buf4_sort(&Z, CC_TMP1, qprs, 11, 7, "Z(EI,AB)");
 
389
  dpd_buf4_close(&Z);
 
390
  dpd_buf4_close(&T);
 
391
  dpd_buf4_close(&E);
 
392
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 7, 11, 7, 0, "Z(EI,AB)");
 
393
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "WEIAB");
 
394
  dpd_buf4_axpy(&Z, &W, 1.0);
 
395
  dpd_buf4_close(&W);
 
396
  dpd_buf4_close(&Z);
 
397
 
 
398
  /** <mn||ei> Tau(mn,ab) --> W(ei,ab) **/
 
399
  dpd_buf4_init(&E, CC_EINTS, 0, 2, 10, 2, 10, 0, "E <ij||ka> (i>j,ka)");
 
400
  dpd_buf4_init(&T, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tauijab");
 
401
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 7, 10, 7, 0, "Z(ie,ab)");
 
402
  dpd_contract444(&E, &T, &Z, 1, 1, -1.0, 0.0);
 
403
  dpd_buf4_sort(&Z, CC_TMP1, qprs, 11, 7, "Z(ei,ab)");
 
404
  dpd_buf4_close(&Z);
 
405
  dpd_buf4_close(&T);
 
406
  dpd_buf4_close(&E);
 
407
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 7, 11, 7, 0, "Z(ei,ab)");
 
408
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 7, 11, 7, 0, "Weiab");
 
409
  dpd_buf4_axpy(&Z, &W, 1.0);
 
410
  dpd_buf4_close(&W);
 
411
  dpd_buf4_close(&Z);
 
412
 
 
413
  /** <Mn|Ei> Tau(Mn,Ab) --> W(Ei,Ab) **/
 
414
  dpd_buf4_init(&E, CC_EINTS, 0, 0, 10, 0, 10, 0, "E <ij|ka>");
 
415
  dpd_buf4_init(&T, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tauiJaB");
 
416
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z(iE,bA)");
 
417
  dpd_contract444(&E, &T, &Z, 1, 1, 1.0, 0.0);
 
418
  dpd_buf4_sort(&Z, CC_TMP1, qprs, 11, 5, "Z(Ei,bA)");
 
419
  dpd_buf4_close(&Z);
 
420
  dpd_buf4_close(&T);
 
421
  dpd_buf4_close(&E);
 
422
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(Ei,bA)");
 
423
  dpd_buf4_sort(&Z, CC_TMP0, pqsr, 11, 5, "Z(Ei,Ab)");
 
424
  dpd_buf4_close(&Z);
 
425
  dpd_buf4_init(&Z, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(Ei,Ab)");
 
426
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WEiAb");
 
427
  dpd_buf4_axpy(&Z, &W, 1.0);
 
428
  dpd_buf4_close(&W);
 
429
  dpd_buf4_close(&Z);
 
430
 
 
431
  /** <mN|eI> Tau(mN,aB) --> W(eI,aB) **/
 
432
  dpd_buf4_init(&E, CC_EINTS, 0, 0, 10, 0, 10, 0, "E <ij|ka>");
 
433
  dpd_buf4_init(&T, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tauIjAb");
 
434
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z(Ie,Ba)");
 
435
  dpd_contract444(&E, &T, &Z, 1, 1, 1.0, 0.0);
 
436
  dpd_buf4_sort(&Z, CC_TMP1, qprs, 11, 5, "Z(eI,Ba)");
 
437
  dpd_buf4_close(&Z);
 
438
  dpd_buf4_close(&T);
 
439
  dpd_buf4_close(&E);
 
440
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(eI,Ba)");
 
441
  dpd_buf4_sort(&Z, CC_TMP0, pqsr, 11, 5, "Z(eI,aB)");
 
442
  dpd_buf4_close(&Z);
 
443
  dpd_buf4_init(&Z, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(eI,aB)");
 
444
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WeIaB");
 
445
  dpd_buf4_axpy(&Z, &W, 1.0);
 
446
  dpd_buf4_close(&W);
 
447
  dpd_buf4_close(&Z);
 
448
 
 
449
  /** <MB||EF> t_IM^AF + <MA||FE> t_IM^BF --> W(EI,AB) **/
 
450
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 1, "F <ia|bc>");
 
451
  dpd_buf4_sort(&F, CC_TMP0, prqs, 10, 5, "F(MF,AE)");
 
452
  dpd_buf4_close(&F);
 
453
  dpd_buf4_init(&F, CC_TMP0, 0, 10, 5, 10, 5, 0, "F(MF,AE)");
 
454
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
 
455
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 5, 10, 5, 0, "Z(IB,AE)");
 
456
  dpd_contract444(&T2, &F, &Z, 0, 1, 1.0, 0.0);
 
457
  dpd_buf4_sort(&Z, CC_TMP0, psrq, 10, 5, "Z(IE,AB)2");
 
458
  dpd_buf4_close(&Z);
 
459
  dpd_buf4_close(&T2);
 
460
  dpd_buf4_close(&F);
 
461
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z(IE,AB)2");
 
462
  dpd_buf4_sort(&Z, CC_TMP1, qprs, 11, 5, "Z(EI,AB)2");
 
463
  dpd_buf4_close(&Z);
 
464
  dpd_buf4_init(&Z1, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(EI,AB)2");
 
465
  dpd_buf4_sort(&Z1, CC_TMP0, pqsr, 11, 5, "Z(EI,BA)");
 
466
  dpd_buf4_init(&Z2, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(EI,BA)");
 
467
  dpd_buf4_axpy(&Z2, &Z1, -1.0);
 
468
  dpd_buf4_close(&Z2);
 
469
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 7, 0, "WEIAB");
 
470
  dpd_buf4_axpy(&Z1, &W, 1.0);
 
471
  dpd_buf4_close(&Z1);
 
472
  dpd_buf4_close(&W);
 
473
 
 
474
  /** -<mB|fE> t_Im^Af + <mA|fE> t_Im^Bf --> W(EI,AB) **/
 
475
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
476
  dpd_buf4_sort(&F, CC_TMP0, prqs, 10, 5, "F(mf,AE)");
 
477
  dpd_buf4_close(&F);
 
478
  dpd_buf4_init(&F, CC_TMP0, 0, 10, 5, 10, 5, 0, "F(mf,AE)");
 
479
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
 
480
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 5, 10, 5, 0, "Z(IB,AE)");
 
481
  dpd_contract444(&T2, &F, &Z, 0, 1, 1.0, 0.0);
 
482
  dpd_buf4_close(&T2);
 
483
  dpd_buf4_close(&F);
 
484
  dpd_buf4_sort(&Z, CC_TMP0, psrq, 10, 5, "Z(IE,AB)2");
 
485
  dpd_buf4_close(&Z);
 
486
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z(IE,AB)2");
 
487
  dpd_buf4_sort(&Z, CC_TMP1, qprs, 11, 5, "Z(EI,AB)2");
 
488
  dpd_buf4_close(&Z);
 
489
  dpd_buf4_init(&Z1, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(EI,AB)2");
 
490
  dpd_buf4_sort(&Z1, CC_TMP0, pqsr, 11, 5, "Z(EI,BA)");
 
491
  dpd_buf4_init(&Z2, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(EI,BA)");
 
492
  dpd_buf4_axpy(&Z2, &Z1, -1.0);
 
493
  dpd_buf4_close(&Z2);
 
494
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 7, 0, "WEIAB");
 
495
  dpd_buf4_axpy(&Z1, &W, 1.0);
 
496
  dpd_buf4_close(&Z1);
 
497
  dpd_buf4_close(&W);
 
498
 
 
499
  /** <mb||ef> t_im^af + <ma||fe> t_im^bf --> W(ei,ab) **/
 
500
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 1, "F <ia|bc>");
 
501
  dpd_buf4_sort(&F, CC_TMP0, prqs, 10, 5, "F(mf,ae)");
 
502
  dpd_buf4_close(&F);
 
503
  dpd_buf4_init(&F, CC_TMP0, 0, 10, 5, 10, 5, 0, "F(mf,ae)");
 
504
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
 
505
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 5, 10, 5, 0, "Z(ib,ae)");
 
506
  dpd_contract444(&T2, &F, &Z, 0, 1, 1.0, 0.0);
 
507
  dpd_buf4_sort(&Z, CC_TMP0, psrq, 10, 5, "Z(ie,ab)2");
 
508
  dpd_buf4_close(&Z);
 
509
  dpd_buf4_close(&T2);
 
510
  dpd_buf4_close(&F);
 
511
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z(ie,ab)2");
 
512
  dpd_buf4_sort(&Z, CC_TMP1, qprs, 11, 5, "Z(ei,ab)2");
 
513
  dpd_buf4_close(&Z);
 
514
  dpd_buf4_init(&Z1, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(ei,ab)2");
 
515
  dpd_buf4_sort(&Z1, CC_TMP0, pqsr, 11, 5, "Z(ei,ba)");
 
516
  dpd_buf4_init(&Z2, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(ei,ba)");
 
517
  dpd_buf4_axpy(&Z2, &Z1, -1.0);
 
518
  dpd_buf4_close(&Z2);
 
519
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 7, 0, "Weiab");
 
520
  dpd_buf4_axpy(&Z1, &W, 1.0);
 
521
  dpd_buf4_close(&Z1);
 
522
  dpd_buf4_close(&W);
 
523
 
 
524
  /** -<Mb|Fe> t_iM^aF + <Ma|Fe> t_iM^bF --> W(ei,ab) **/
 
525
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
526
  dpd_buf4_sort(&F, CC_TMP0, prqs, 10, 5, "F(MF,ae)");
 
527
  dpd_buf4_close(&F);
 
528
  dpd_buf4_init(&F, CC_TMP0, 0, 10, 5, 10, 5, 0, "F(MF,ae)");
 
529
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
 
530
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 5, 10, 5, 0, "Z(ib,ae)");
 
531
  dpd_contract444(&T2, &F, &Z, 0, 1, 1.0, 0.0);
 
532
  dpd_buf4_close(&T2);
 
533
  dpd_buf4_close(&F);
 
534
  dpd_buf4_sort(&Z, CC_TMP0, psrq, 10, 5, "Z(ie,ab)2");
 
535
  dpd_buf4_close(&Z);
 
536
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z(ie,ab)2");
 
537
  dpd_buf4_sort(&Z, CC_TMP1, qprs, 11, 5, "Z(ei,ab)2");
 
538
  dpd_buf4_close(&Z);
 
539
  dpd_buf4_init(&Z1, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(ei,ab)2");
 
540
  dpd_buf4_sort(&Z1, CC_TMP0, pqsr, 11, 5, "Z(ei,ba)");
 
541
  dpd_buf4_init(&Z2, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(ei,ba)");
 
542
  dpd_buf4_axpy(&Z2, &Z1, -1.0);
 
543
  dpd_buf4_close(&Z2);
 
544
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 7, 0, "Weiab");
 
545
  dpd_buf4_axpy(&Z1, &W, 1.0);
 
546
  dpd_buf4_close(&Z1);
 
547
  dpd_buf4_close(&W);
 
548
 
 
549
  /** -<Mb|Ef> t_Mi^Af - <MA||EF> t_iM^bF + <mA|fE> t_im^bf --> W(Ei,Ab) **/
 
550
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
551
  dpd_buf4_sort(&F, CC_TMP0, psrq, 10, 5, "F(Mf,Eb)");
 
552
  dpd_buf4_close(&F);
 
553
  dpd_buf4_init(&F, CC_TMP0, 0, 10, 5, 10, 5, 0, "F(Mf,Eb)");
 
554
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIbjA");
 
555
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 5, 10, 5, 0, "Z(iA,Eb)");
 
556
  dpd_contract444(&T2, &F, &Z, 1, 1, -1.0, 0.0);
 
557
  dpd_buf4_close(&T2);
 
558
  dpd_buf4_close(&F);
 
559
  dpd_buf4_sort(&Z, CC_TMP0, prqs, 10, 5, "Z(iE,Ab)");
 
560
  dpd_buf4_close(&Z);
 
561
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
562
  dpd_buf4_sort(&F, CC_TMP1, prqs, 10, 5, "F(mf,AE)");
 
563
  dpd_buf4_close(&F);
 
564
  dpd_buf4_init(&F, CC_TMP1, 0, 10, 5, 10, 5, 0, "F(mf,AE)");
 
565
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
 
566
  dpd_buf4_init(&Z, CC_TMP2, 0, 10, 5, 10, 5, 0, "Z(ib,AE)");
 
567
  dpd_contract444(&T2, &F, &Z, 0, 1, 1.0, 0.0);
 
568
  dpd_buf4_close(&T2);
 
569
  dpd_buf4_close(&F);
 
570
  dpd_buf4_sort(&Z, CC_TMP1, psrq, 10, 5, "Z(iE,Ab)");
 
571
  dpd_buf4_close(&Z);
 
572
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 1, "F <ia|bc>");
 
573
  dpd_buf4_sort(&F, CC_TMP2, psrq, 10, 5, "F(MF,EA)");
 
574
  dpd_buf4_close(&F);
 
575
  dpd_buf4_init(&F, CC_TMP2, 0, 10, 5, 10, 5, 0, "F(MF,EA)");
 
576
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
 
577
  dpd_buf4_init(&Z, CC_TMP3, 0, 10, 5, 10, 5, 0, "Z(ib,EA)");
 
578
  dpd_contract444(&T2, &F, &Z, 0, 1, -1.0, 0.0);
 
579
  dpd_buf4_close(&T2);
 
580
  dpd_buf4_close(&F);
 
581
  dpd_buf4_sort(&Z, CC_TMP4, prqs, 10, 5, "Z(iE,bA)");
 
582
  dpd_buf4_close(&Z);
 
583
  dpd_buf4_init(&Z, CC_TMP4, 0, 10, 5, 10, 5, 0, "Z(iE,bA)");
 
584
  dpd_buf4_sort(&Z, CC_TMP2, pqsr, 10, 5, "Z(iE,Ab)");
 
585
  dpd_buf4_close(&Z);
 
586
  dpd_buf4_init(&Z1, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z(iE,Ab)");
 
587
  dpd_buf4_init(&Z2, CC_TMP1, 0, 10, 5, 10, 5, 0, "Z(iE,Ab)");
 
588
  dpd_buf4_axpy(&Z1, &Z2, 1.0);
 
589
  dpd_buf4_close(&Z1);
 
590
  dpd_buf4_init(&Z1, CC_TMP2, 0, 10, 5, 10, 5, 0, "Z(iE,Ab)");
 
591
  dpd_buf4_axpy(&Z1, &Z2, 1.0);
 
592
  dpd_buf4_close(&Z1);
 
593
  dpd_buf4_sort(&Z2, CC_TMP0, qprs, 11, 5, "Z(Ei,Ab)");
 
594
  dpd_buf4_close(&Z2);
 
595
  dpd_buf4_init(&Z, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(Ei,Ab)");
 
596
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WEiAb");
 
597
  dpd_buf4_axpy(&Z, &W, 1.0);
 
598
  dpd_buf4_close(&Z);
 
599
  dpd_buf4_close(&W);
 
600
 
 
601
  /** -<mB|eF> t_mI^aF - <ma||ef> t_Im^Bf + <Ma|Fe> t_IM^BF --> W(eI,aB) **/
 
602
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
603
  dpd_buf4_sort(&F, CC_TMP0, psrq, 10, 5, "F(mF,eB)");
 
604
  dpd_buf4_close(&F);
 
605
  dpd_buf4_init(&F, CC_TMP0, 0, 10, 5, 10, 5, 0, "F(mF,eB)");
 
606
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tjAIb");
 
607
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 5, 10, 5, 0, "Z(Ia,eB)");
 
608
  dpd_contract444(&T2, &F, &Z, 1, 1, -1.0, 0.0);
 
609
  dpd_buf4_close(&T2);
 
610
  dpd_buf4_close(&F);
 
611
  dpd_buf4_sort(&Z, CC_TMP0, prqs, 10, 5, "Z(Ie,aB)");
 
612
  dpd_buf4_close(&Z);
 
613
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
 
614
  dpd_buf4_sort(&F, CC_TMP1, prqs, 10, 5, "F(MF,ae)");
 
615
  dpd_buf4_close(&F);
 
616
  dpd_buf4_init(&F, CC_TMP1, 0, 10, 5, 10, 5, 0, "F(MF,ae)");
 
617
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
 
618
  dpd_buf4_init(&Z, CC_TMP2, 0, 10, 5, 10, 5, 0, "Z(IB,ae)");
 
619
  dpd_contract444(&T2, &F, &Z, 0, 1, 1.0, 0.0);
 
620
  dpd_buf4_close(&T2);
 
621
  dpd_buf4_close(&F);
 
622
  dpd_buf4_sort(&Z, CC_TMP1, psrq, 10, 5, "Z(Ie,aB)");
 
623
  dpd_buf4_close(&Z);
 
624
  dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 1, "F <ia|bc>");
 
625
  dpd_buf4_sort(&F, CC_TMP2, psrq, 10, 5, "F(mf,ea)");
 
626
  dpd_buf4_close(&F);
 
627
  dpd_buf4_init(&F, CC_TMP2, 0, 10, 5, 10, 5, 0, "F(mf,ea)");
 
628
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
 
629
  dpd_buf4_init(&Z, CC_TMP3, 0, 10, 5, 10, 5, 0, "Z(IB,ea)");
 
630
  dpd_contract444(&T2, &F, &Z, 0, 1, -1.0, 0.0);
 
631
  dpd_buf4_close(&T2);
 
632
  dpd_buf4_close(&F);
 
633
  dpd_buf4_sort(&Z, CC_TMP4, prqs, 10, 5, "Z(Ie,Ba)");
 
634
  dpd_buf4_close(&Z);
 
635
  dpd_buf4_init(&Z, CC_TMP4, 0, 10, 5, 10, 5, 0, "Z(Ie,Ba)");
 
636
  dpd_buf4_sort(&Z, CC_TMP2, pqsr, 10, 5, "Z(Ie,aB)");
 
637
  dpd_buf4_close(&Z);
 
638
  dpd_buf4_init(&Z1, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z(Ie,aB)");
 
639
  dpd_buf4_init(&Z2, CC_TMP1, 0, 10, 5, 10, 5, 0, "Z(Ie,aB)");
 
640
  dpd_buf4_axpy(&Z1, &Z2, 1.0);
 
641
  dpd_buf4_close(&Z1);
 
642
  dpd_buf4_init(&Z1, CC_TMP2, 0, 10, 5, 10, 5, 0, "Z(Ie,aB)");
 
643
  dpd_buf4_axpy(&Z1, &Z2, 1.0);
 
644
  dpd_buf4_close(&Z1);
 
645
  dpd_buf4_sort(&Z2, CC_TMP0, qprs, 11, 5, "Z(eI,aB)");
 
646
  dpd_buf4_close(&Z2);
 
647
  dpd_buf4_init(&Z, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(eI,aB)");
 
648
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WeIaB");
 
649
  dpd_buf4_axpy(&Z, &W, 1.0);
 
650
  dpd_buf4_close(&Z);
 
651
  dpd_buf4_close(&W);
 
652
 
 
653
  /** Final terms of Wabei **/
 
654
 
 
655
  /** t_IN^BF <MN||EF> --> Z_IBME **/
 
656
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(IB,ME)");
 
657
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
 
658
  dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
 
659
  dpd_contract444(&T2, &D, &Z, 0, 0, 1.0, 0.0);
 
660
  dpd_buf4_close(&D);
 
661
  dpd_buf4_close(&T2);
 
662
  dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
 
663
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
 
664
  dpd_contract444(&T2, &D, &Z, 0, 0, 1.0, 1.0);
 
665
  dpd_buf4_close(&T2);
 
666
  dpd_buf4_close(&D);
 
667
  dpd_buf4_sort(&Z, CC_TMP1, psrq, 10, 10, "Z(IE,MB)");
 
668
  dpd_buf4_close(&Z);
 
669
 
 
670
  /** t_M^A ( -<MB||IE> + Z1_IEMB ) --> Z2_EIAB **/
 
671
  dpd_buf4_init(&Z1, CC_TMP1, 0, 10, 10, 10, 10, 0, "Z(IE,MB)");
 
672
  dpd_buf4_init(&C, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia||jb>");
 
673
  dpd_buf4_axpy(&C, &Z1, -1.0);
 
674
  dpd_buf4_close(&C);
 
675
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
676
  dpd_buf4_init(&Z2, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z2(IE,AB)");
 
677
  dpd_contract244(&T1, &Z1, &Z2, 0, 2, 1, 1.0, 0.0);
 
678
  dpd_file2_close(&T1);
 
679
  dpd_buf4_close(&Z1);
 
680
  dpd_buf4_sort(&Z2, CC_TMP1, qprs, 11, 5, "Z(EI,AB)2");
 
681
  dpd_buf4_close(&Z2);
 
682
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(EI,AB)2");
 
683
  dpd_buf4_sort(&Z, CC_TMP0, pqsr, 11, 5, "Z(EI,BA)");
 
684
  dpd_buf4_close(&Z);
 
685
 
 
686
  /** Z1_EIAB - Z2_EIBA --> W_EIAB **/
 
687
  dpd_buf4_init(&Z1, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(EI,AB)2");
 
688
  dpd_buf4_init(&Z2, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(EI,BA)");
 
689
  dpd_buf4_axpy(&Z1, &Z2, -1.0);
 
690
  dpd_buf4_close(&Z1);
 
691
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 7, 0, "WEIAB");
 
692
  dpd_buf4_axpy(&Z2, &W, 1.0);
 
693
  dpd_buf4_close(&Z2);
 
694
  dpd_buf4_close(&W);
 
695
 
 
696
  
 
697
  /** t_in^bf <mn||ef> --> Z_ibme **/
 
698
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(ib,me)");
 
699
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
 
700
  dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
 
701
  dpd_contract444(&T2, &D, &Z, 0, 0, 1.0, 0.0);
 
702
  dpd_buf4_close(&D);
 
703
  dpd_buf4_close(&T2);
 
704
  dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
 
705
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
 
706
  dpd_contract444(&T2, &D, &Z, 0, 0, 1.0, 1.0);
 
707
  dpd_buf4_close(&T2);
 
708
  dpd_buf4_close(&D);
 
709
  dpd_buf4_sort(&Z, CC_TMP1, psrq, 10, 10, "Z(ie,mb)");
 
710
  dpd_buf4_close(&Z);
 
711
 
 
712
  /** t_m^a ( -<mb||ie> + Z1_iemb ) --> Z2_eiab **/
 
713
  dpd_buf4_init(&Z1, CC_TMP1, 0, 10, 10, 10, 10, 0, "Z(ie,mb)");
 
714
  dpd_buf4_init(&C, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia||jb>");
 
715
  dpd_buf4_axpy(&C, &Z1, -1.0);
 
716
  dpd_buf4_close(&C);
 
717
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
718
  dpd_buf4_init(&Z2, CC_TMP0, 0, 10, 5, 10, 5, 0, "Z2(ie,ab)");
 
719
  dpd_contract244(&T1, &Z1, &Z2, 0, 2, 1, 1.0, 0.0);
 
720
  dpd_file2_close(&T1);
 
721
  dpd_buf4_close(&Z1);
 
722
  dpd_buf4_sort(&Z2, CC_TMP1, qprs, 11, 5, "Z(ei,ab)2");
 
723
  dpd_buf4_close(&Z2);
 
724
  dpd_buf4_init(&Z, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(ei,ab)2");
 
725
  dpd_buf4_sort(&Z, CC_TMP0, pqsr, 11, 5, "Z(ei,ba)");
 
726
  dpd_buf4_close(&Z);
 
727
 
 
728
  /** - Z1_eiab + Z2_eiba --> W_eiab **/
 
729
  dpd_buf4_init(&Z1, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z(ei,ab)2");
 
730
  dpd_buf4_init(&Z2, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z(ei,ba)");
 
731
  dpd_buf4_axpy(&Z1, &Z2, -1.0);
 
732
  dpd_buf4_close(&Z1);
 
733
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 7, 0, "Weiab");
 
734
  dpd_buf4_axpy(&Z2, &W, 1.0);
 
735
  dpd_buf4_close(&Z2);
 
736
  dpd_buf4_close(&W);
 
737
 
 
738
  /** t_in^bf  <Mn|Ef> + t_iN^bF <MN||EF> --> Z1_MEib **/
 
739
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(ME,ib)");
 
740
  dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
 
741
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
 
742
  dpd_contract444(&D, &T2, &Z, 0, 0, 1.0, 0.0);
 
743
  dpd_buf4_close(&T2);
 
744
  dpd_buf4_close(&D);
 
745
  dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
 
746
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
 
747
  dpd_contract444(&D, &T2, &Z, 0, 0, 1.0, 1.0);
 
748
  dpd_buf4_close(&D);
 
749
  dpd_buf4_close(&T2);
 
750
  dpd_buf4_close(&Z);
 
751
 
 
752
  /** - t_Ni^Af <mN|fE> --> Z2_mEiA **/
 
753
  dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
 
754
  dpd_buf4_sort(&D, CC_TMP1, psrq, 10, 11, "D(mE,fN)");
 
755
  dpd_buf4_close(&D);
 
756
  dpd_buf4_init(&D, CC_TMP1, 0, 10, 11, 10, 11, 0, "D(mE,fN)");
 
757
  dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tiJaB");
 
758
  dpd_buf4_sort(&T2, CC_TMP2, psrq, 10, 11, "T2(iA,fN)");
 
759
  dpd_buf4_close(&T2);
 
760
  dpd_buf4_init(&D, CC_TMP1, 0, 10, 11, 10, 11, 0, "D(mE,fN)");
 
761
  dpd_buf4_init(&T2, CC_TMP2, 0, 10, 11, 10, 11, 0, "T2(iA,fN)");
 
762
  dpd_buf4_init(&Z, CC_TMP3, 0, 10, 10, 10, 10, 0, "Z(mE,iA)");
 
763
  dpd_contract444(&D, &T2, &Z, 0, 0, 1.0, 0.0);
 
764
  dpd_buf4_close(&T2);
 
765
  dpd_buf4_close(&D);
 
766
  dpd_buf4_close(&Z);
 
767
 
 
768
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(ME,ib)");
 
769
  dpd_buf4_sort(&Z, CC_TMP1, psrq, 10, 10, "Z(Mb,iE)");
 
770
  dpd_buf4_close(&Z);
 
771
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 10, 10, 10, 0, "Z(Mb,iE)");
 
772
  dpd_buf4_sort(&Z, CC_TMP0, pqsr, 10, 11, "Z(Mb,Ei)");
 
773
  dpd_buf4_close(&Z);
 
774
  dpd_buf4_init(&Z, CC_TMP3, 0, 10, 10, 10, 10, 0, "Z(mE,iA)");
 
775
  dpd_buf4_sort(&Z, CC_TMP1, psrq, 10, 10, "Z(mA,iE)");
 
776
  dpd_buf4_close(&Z);
 
777
 
 
778
  /** - t_M^A ( <Mb|Ei> + Z(Mb,Ei) ) --> Z1(Ab,Ei) **/
 
779
  dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
 
780
  dpd_buf4_sort(&D, CC_TMP2, psrq, 10, 11, "D(Mb,Ei)");
 
781
  dpd_buf4_close(&D);
 
782
  dpd_buf4_init(&D, CC_TMP2, 0, 10, 11, 10, 11, 0, "D(Mb,Ei)");
 
783
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(Mb,Ei)");
 
784
  dpd_buf4_axpy(&D, &Z, 1.0);
 
785
  dpd_buf4_close(&D);
 
786
  dpd_buf4_init(&Z1, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z1(Ab,Ei)");
 
787
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
788
  dpd_contract244(&T1, &Z, &Z1, 0, 0, 0, -1.0, 0.0);
 
789
  dpd_file2_close(&T1);
 
790
  dpd_buf4_close(&Z);
 
791
  dpd_buf4_sort(&Z1, CC_TMP0, rspq, 11, 5, "Z1(Ei,Ab)");
 
792
  dpd_buf4_close(&Z1);
 
793
 
 
794
  /** t_m^b ( - <mA|iE> + Z(mA,iE) ) --> Z2(Ab,Ei) **/
 
795
  dpd_buf4_init(&C, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia|jb>");
 
796
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 10, 10, 10, 0, "Z(mA,iE)");
 
797
  dpd_buf4_axpy(&C, &Z, -1.0);
 
798
  dpd_buf4_close(&C);
 
799
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
800
  dpd_buf4_init(&Z2, CC_TMP2, 0, 5, 10, 5, 10, 0, "Z2(bA,iE)");
 
801
  dpd_contract244(&T1, &Z, &Z2, 0, 0, 0, 1.0, 0.0);
 
802
  dpd_file2_close(&T1);
 
803
  dpd_buf4_close(&Z);
 
804
  dpd_buf4_sort(&Z2, CC_TMP1, qprs, 5, 10, "Z2(Ab,iE)");
 
805
  dpd_buf4_close(&Z2);
 
806
  dpd_buf4_init(&Z2, CC_TMP1, 0, 5, 10, 5, 10, 0, "Z2(Ab,iE)");
 
807
  dpd_buf4_sort(&Z2, CC_TMP2, pqsr, 5, 11, "Z2(Ab,Ei)");
 
808
  dpd_buf4_close(&Z2);
 
809
  dpd_buf4_init(&Z2, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z2(Ab,Ei)");
 
810
  dpd_buf4_sort(&Z2, CC_TMP1, rspq, 11, 5, "Z2(Ei,Ab)");
 
811
  dpd_buf4_close(&Z2);
 
812
 
 
813
  /** Z1(Ei,Ab) + Z2(Ei,Ab) --> W(Ei,Ab) **/
 
814
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WEiAb");
 
815
  dpd_buf4_init(&Z1, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z1(Ei,Ab)");
 
816
  dpd_buf4_axpy(&Z1, &W, 1.0);
 
817
  dpd_buf4_close(&Z1);
 
818
  dpd_buf4_init(&Z2, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z2(Ei,Ab)");
 
819
  dpd_buf4_axpy(&Z2, &W, 1.0);
 
820
  dpd_buf4_close(&Z2);
 
821
  dpd_buf4_close(&W);
 
822
 
 
823
  /** t_IN^BF  <mN|eF> + t_In^Bf <mn||ef> --> Z1_meIB **/
 
824
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(me,IB)");
 
825
  dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
 
826
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
 
827
  dpd_contract444(&D, &T2, &Z, 0, 0, 1.0, 0.0);
 
828
  dpd_buf4_close(&T2);
 
829
  dpd_buf4_close(&D);
 
830
  dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
 
831
  dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
 
832
  dpd_contract444(&D, &T2, &Z, 0, 0, 1.0, 1.0);
 
833
  dpd_buf4_close(&D);
 
834
  dpd_buf4_close(&T2);
 
835
  dpd_buf4_close(&Z);
 
836
 
 
837
  /** - t_Ni^Af <mN|fE> --> Z2_mEiA **/
 
838
  dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
 
839
  dpd_buf4_sort(&D, CC_TMP1, psrq, 10, 11, "D(Me,Fn)");
 
840
  dpd_buf4_close(&D);
 
841
  dpd_buf4_init(&D, CC_TMP1, 0, 10, 11, 10, 11, 0, "D(Me,Fn)");
 
842
  dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
 
843
  dpd_buf4_sort(&T2, CC_TMP2, psrq, 10, 11, "T2(Ia,Fn)");
 
844
  dpd_buf4_close(&T2);
 
845
  dpd_buf4_init(&D, CC_TMP1, 0, 10, 11, 10, 11, 0, "D(Me,Fn)");
 
846
  dpd_buf4_init(&T2, CC_TMP2, 0, 10, 11, 10, 11, 0, "T2(Ia,Fn)");
 
847
  dpd_buf4_init(&Z, CC_TMP3, 0, 10, 10, 10, 10, 0, "Z(Me,Ia)");
 
848
  dpd_contract444(&D, &T2, &Z, 0, 0, 1.0, 0.0);
 
849
  dpd_buf4_close(&T2);
 
850
  dpd_buf4_close(&D);
 
851
  dpd_buf4_close(&Z);
 
852
 
 
853
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(me,IB)");
 
854
  dpd_buf4_sort(&Z, CC_TMP1, psrq, 10, 10, "Z(mB,Ie)");
 
855
  dpd_buf4_close(&Z);
 
856
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 10, 10, 10, 0, "Z(mB,Ie)");
 
857
  dpd_buf4_sort(&Z, CC_TMP0, pqsr, 10, 11, "Z(mB,eI)");
 
858
  dpd_buf4_close(&Z);
 
859
  dpd_buf4_init(&Z, CC_TMP3, 0, 10, 10, 10, 10, 0, "Z(Me,Ia)");
 
860
  dpd_buf4_sort(&Z, CC_TMP1, psrq, 10, 10, "Z(Ma,Ie)");
 
861
  dpd_buf4_close(&Z);
 
862
 
 
863
  /** - t_m^a ( <mB|eI> + Z(mB,eI) ) --> Z1(aB,eI) **/
 
864
  dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
 
865
  dpd_buf4_sort(&D, CC_TMP2, psrq, 10, 11, "D(mB,eI)");
 
866
  dpd_buf4_close(&D);
 
867
  dpd_buf4_init(&D, CC_TMP2, 0, 10, 11, 10, 11, 0, "D(mB,eI)");
 
868
  dpd_buf4_init(&Z, CC_TMP0, 0, 10, 11, 10, 11, 0, "Z(mB,eI)");
 
869
  dpd_buf4_axpy(&D, &Z, 1.0);
 
870
  dpd_buf4_close(&D);
 
871
  dpd_buf4_init(&Z1, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z1(aB,eI)");
 
872
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
873
  dpd_contract244(&T1, &Z, &Z1, 0, 0, 0, -1.0, 0.0);
 
874
  dpd_file2_close(&T1);
 
875
  dpd_buf4_close(&Z);
 
876
  dpd_buf4_sort(&Z1, CC_TMP0, rspq, 11, 5, "Z1(eI,aB)");
 
877
  dpd_buf4_close(&Z1);
 
878
 
 
879
  /** t_M^B ( - <Ma|Ie> + Z(Ma,Ie) ) --> Z2(aB,eI) **/
 
880
  dpd_buf4_init(&C, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia|jb>");
 
881
  dpd_buf4_init(&Z, CC_TMP1, 0, 10, 10, 10, 10, 0, "Z(Ma,Ie)");
 
882
  dpd_buf4_axpy(&C, &Z, -1.0);
 
883
  dpd_buf4_close(&C);
 
884
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
885
  dpd_buf4_init(&Z2, CC_TMP2, 0, 5, 10, 5, 10, 0, "Z2(Ba,Ie)");
 
886
  dpd_contract244(&T1, &Z, &Z2, 0, 0, 0, 1.0, 0.0);
 
887
  dpd_file2_close(&T1);
 
888
  dpd_buf4_close(&Z);
 
889
  dpd_buf4_sort(&Z2, CC_TMP1, qprs, 5, 10, "Z2(aB,Ie)");
 
890
  dpd_buf4_close(&Z2);
 
891
  dpd_buf4_init(&Z2, CC_TMP1, 0, 5, 10, 5, 10, 0, "Z2(aB,Ie)");
 
892
  dpd_buf4_sort(&Z2, CC_TMP2, pqsr, 5, 11, "Z2(aB,eI)");
 
893
  dpd_buf4_close(&Z2);
 
894
  dpd_buf4_init(&Z2, CC_TMP2, 0, 5, 11, 5, 11, 0, "Z2(aB,eI)");
 
895
  dpd_buf4_sort(&Z2, CC_TMP1, rspq, 11, 5, "Z2(eI,aB)");
 
896
  dpd_buf4_close(&Z2);
 
897
 
 
898
  /** Z1(eI,aB) + Z2(eI,aB) --> W(eI,aB) **/
 
899
  dpd_buf4_init(&W, CC_HBAR, 0, 11, 5, 11, 5, 0, "WeIaB");
 
900
  dpd_buf4_init(&Z1, CC_TMP0, 0, 11, 5, 11, 5, 0, "Z1(eI,aB)");
 
901
  dpd_buf4_axpy(&Z1, &W, 1.0);
 
902
  dpd_buf4_close(&Z1);
 
903
  dpd_buf4_init(&Z2, CC_TMP1, 0, 11, 5, 11, 5, 0, "Z2(eI,aB)");
 
904
  dpd_buf4_axpy(&Z2, &W, 1.0);
 
905
  dpd_buf4_close(&Z2);
 
906
  dpd_buf4_close(&W);
 
907
}