CGSolver should stop immediately if the defect is NaN
This is bogus:
=== CGSolver
Iter Defect Rate
0 -nan
1 nan nan
2 nan nan
3 nan nan
...
4998 nan nan
4999 nan nan
5000 nan nan
=== rate=nan, T=163.568, TIT=0.0327135, IT=5000