for (AssignmentIterator assnIt = marg2.assignmentIterator (); assnIt.hasNext();) {
energy += marg1.value (assnIt) * marg2.logValue (assnIt);
assnIt.advance();
}
}
for (Iterator it = jt2.sepsetPotentials ().iterator(); it.hasNext();) {
Factor marg2 = (Factor) it.next ();
Factor marg1 = inf1.lookupMarginal (marg2.varSet ());
for (AssignmentIterator assnIt = marg2.assignmentIterator (); assnIt.hasNext();) {
energy -= marg1.value (assnIt) * marg2.logValue (assnIt);
assnIt.advance();