29 #ifndef __chemistry_qc_ccr12_ccsd_sub_bar_r12_h
30 #define __chemistry_qc_ccr12_ccsd_sub_bar_r12_h
32 #include <chemistry/qc/ccr12/ccsd_sub_r12.h>
33 #include <chemistry/qc/ccr12/ccr12_info.h>
51 if (!z->r12world()->r12tech()->ansatz()->diag()) {
53 z->denom_contraction(tildeV_, intermediate_);
54 z->
prod_iiii(tildeV_, intermediate_, energy_,
true);
55 return z->
get_e(energy_);
59 intermediate_->zero();
60 z->denom_contraction(gt2, intermediate_);
61 z->
prod_iiii(gt2, intermediate_, energy_,
true);
62 const double bterm = z->
get_e(energy_);
64 z->
prod_iiii(tildeV_, gt2, energy_,
false);
65 const double direct_en = 2.0*(z->
get_e(energy_));
66 return direct_en - bterm;