refined eigcg code, this is the first stage of the eigcg mixed precision implementation.