/** * 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)); }