Runtime Speculative Software-Only Fault Tolerance