Fixed a bug in PipeCG that caused loss of precision: on the boundary the search vector would become nonzero sometimes