c2x Charge Density Notes
A couple of points which it may be worth considering.
If ultrasoft pseudopotentials are used, the wavefunctions are not normalised, and the total charge density is not the sum of the individual wavefunctions squared. This is a feature of ultrasofts, not a bug... To reconstruct the density, the pseudopotentials would be required, and c2x does not attempt to read more than the pseudocharge from pseudopotentials.
If density mixing is used, the total charge density is the sum of the individual wavefunctions squared only when the wavefunctions are fully converged.
Various things can cause the density to take (small) negative, unphysical, values in regions where it is close to zero. This should not be an issue. Some codes mask it by replacing negative values with zero.