if (localflag) {
fail("*** mprove: Noisy vector too close to solution");
}
alu.mprove(r,y);
sbeps = 5.e-15;
localflag = maxel(vecsub(r,matmul(a,y))) > sbeps;
globalflag = globalflag || localflag;
if (localflag) {
fail("*** mprove: Attempt to recover accurate solution failed");