Transient software fault tolerance using single-version algorithm