Testing for numerical computations

We consider the problem of error detection in programs or specialised devices computing real functions f(x), where the argument x is represented in binary form. For error detection we use the linear check inequalities |∑τeTf(x ⊕ τ) − C| ≤ e, where e ≥ 0 is some given small constant, ⊕denotes componentwise addition mod 2 of binary vectors, T is some set of binary vectors and C is a constant. A method for the construction of a minimal check set T and constant C for the given f(x) and ɛ is proposed. This method is based on the techniques of Walsh transforms and least-absolute-error polynomial approximation. Several important examples of optimal checks for programs computing exponential, logarithmic and trigonometric functions will be given.