             m_r_solver.find_feasible_solution();             m_d_basis = m_r_basis;             m_d_heading = m_r_heading;             m_d_nbasis = m_r_nbasis;             delete m_d_solver.m_factorization;             m_d_solver.m_factorization = nullptr;         } else {             prepare_solver_x_with_signature_tableau(signature);             m_r_solver.start_tracing_basis_changes();             m_r_solver.find_feasible_solution();             if (settings().get_cancel_flag())                 return;             m_r_solver.stop_tracing_basis_changes();             // and now catch up in the double solver             lp_assert(m_r_solver.total_iterations() >= m_r_solver.m_trace_of_basis_change_vector.size() /0);             catch_up_in_lu(m_r_solver.m_trace_of_basis_change_vector, m_r_solver.m_basis_heading, m_d_solver);         }         lp_assert(r_basis_is_OK());     