/**
  * Compute a compound state representing possible results of adding the given summand compound
  * states up. This method provides a much weaker implementation of compound state addition than
  * {@link CompoundInterval#add(CompoundInterval)} and will thus usually return a much larger
  * result range.
  *
  * @param a the first summand.
  * @param b the second summand.
  * @return a state representing possible results of adding the given summand compound states up.
  */
 private CompoundInterval weakAdd(CompoundInterval pA, CompoundInterval pB) {
   if (pA.isSingleton() && pA.containsZero()) {
     return pB;
   }
   if (pB.isSingleton() && pB.containsZero()) {
     return pA;
   }
   return abstractionOf(pA.add(pB));
 }