void testAndCorrectNumerics() { // not much left here

    	/* Flat Fitness, Test if function values are identical */
    	if (getCountIter() > 1 || (getCountIter() == 1 && state >= 3))
    		if (fit.fitness[0].val == fit.fitness[Math.min(sp.getLambda()-1, sp.getLambda()/2+1) - 1].val) {
    			warning("flat fitness landscape, consider reformulation of fitness, step-size increased");
    			sigma *= Math.exp(0.2+sp.getCs()/sp.getDamps());
    		}

    	/* Align (renormalize) scale C (and consequently sigma) */
    	/* e.g. for infinite stationary state simulations (noise
    	 * handling needs to be introduced for that) */
    	double fac = 1;
    	if (math.max(diagD) < 1e-6) 
    		fac = 1./math.max(diagD);
    	else if (math.min(diagD) > 1e4)
    		fac = 1./math.min(diagD);

    	if (fac != 1.) {
    		sigma /= fac;
    		for(int i = 0; i < N; ++i) {
    			pc[i] *= fac;
    			diagD[i] *= fac;
    			for (int j = 0; j <= i; ++j)
    				C[i][j] *= fac*fac;
    		}
    	}
    } // Test...