1. A method for detecting computational errors in a digital processor executing a program, the method comprising steps of: separating the program into computation segments; compiling source code for at least one of the segments to generate two code sections, one of which is functionally redundant with respect to the other; generating comparison code for comparing results produced by execution of the two code sections; executing each of the code sections in a different computational domain to generate respective results; comparing the respective results using the comparison code; and executing one of the code sections to alter further flow of execution of the program only if the respective results are identical.