If a < c OR a==c AND b < d.
- This condition is senseless and boils down to a < c. There is not other pair with a==c
- The point that 1 is not a prime shoud be put to task explicitly. Only this explains why fo 4 = 2+2, not 1+3 but for 10 = 3 + 7 not 5 + 5.
- Tests are not of valid complexity check for O(n log log n). It is enough use O(n sqrt(n)) but return after first found pair with smallest first prime.