def do_run_2(self):
while not self.check_terminate():<EOL><INDENT>self._has_run = True<EOL>self._run2()<EOL>self._num_iter += <NUM_LIT:1><EOL><DEDENT>
LM run evaluating 2 steps (damped and not) and choosing the best.

After finding the best of 2 steps, runs with that damping + Broyden
or eigendirection updates, until deciding to do a full-J update.
Only changes damping after full-J updates.