Split single and double precision preconditioner