 program will increase the run time; the performance penalty is nearly linearly dependent upon the number of error conditions which exist in program execution and must be tolerated. Most ABFT techniques developed to date address computational problems that exhibit structure and regularity which can be exploited to develop informational redundancy, such as matrix computations, sorting, Fast Fourier Transforms (FFT), QR factorization, singular value decomposition, least squares minimization, and other signal processing applications. There exist several techniques for specific computational problems encountered in processor applications; as an example, consider the problem of matrix multiplication. In the checksum encoding, an extra row and column consisting of column and row checksums are added to the original multiplier and multiplicand, respectively, as indicated in Figure 6-14. The resulting matrix should preserve the checksum property. If it does not, an error has occurred. b1(P+1) C(P+1)1 bn(P+1) C(P+1)M a(M+1)1 a(M+1)N C1(M+1) C(P+1)(M+1) [3 10 3] Figure 6-14. Checksum Technique in Matrix Multiplication [Blaquiere95] Direct examination of the checksums enables identification of a single error; weighted checksum techniques enable the detection and isolation of a limited number of concurrent errors. The number of numerical operations associated with the computation of the checksum row and column vectors and the expanded size of the array multiplication are significantly less than the number of operations required to perform the matrix multiplication twice, checking the results for consistency (error detection) and computation a third time for error correction. The exact equal sign cannot be used in comparing row and column checksum results in the case of possible rounding or truncation errors, resulting in a Type I statistical error rejecting a correct outcome. In this case error analysis must be used to bound the range of possible valid outcomes and computation must allow for such variance in the results. An a