I've written some code for applications that required extreme resistance to failing in an unsafe manner. The code was written entirely in assembly language, and kept two copies of many important variables, with a fixed delta between them. Rather than computing and storing the value for the second variable based upon the first one, the code would be something like:
' Code to add reg1a to reg2a and maintain delta invariants
if reg1b reg1a + REG1_DELTA then error
if reg2b reg2a + REG2_DELTA then error
reg2b += reg1b - REG1_DELTA
reg2a += reg1a
if reg2b reg2a + REG2_DELTA then error
Any register that got corrupted would immediately get flagged as an error. It would be unlikely for multiple registers to get corrupted in such a way as to coincidentally avoid causing an error. Because the 'b' registers aren't computed based upon the 'a' registers, a glitch which hits an 'a' register won't cause the proper corresponding change in a 'b' register, no matter when it occurs.