bfgs preconditioner extreme case limiter