A second run of ddrescue with -r3
would be necessary if and only if the first run finished with "errsize > 0B" or "errors > 0" (something that was not recovered in the first pass).
You would also be able to tell if there were any errors (needing the second run) by checking rescue.log to see if there were any blocks left in states other than +
(finished).
But a second run would not be overkill. As long as the second run was given the same rescue.log
file produced by the first run, then the second run would finish immediately if there were no errors left over from the first run.