Поскольку все они являются положительными целыми числами, большая часть повторений может быть удалена:
Итак, в качестве первого шага,
(((a+p) <= b) && (a == 0 || a > 1) && (b >= p)) && ((b - (a + p) == 0) || (b - (a + p) > 1))
становится
((a+p) <= b) && (a != 1) && (b >= p)) && ((b - (a + p) != 1)
Для ясности, это просто замена шаблона (foo == 0 || foo > 1)
на foo != 1
Этот шаблон появляется дважды выше, один раз с foo = a и один раз с foo = (b - (a+p))