Traditional design of numerical software with result verification is based on the assumption that we know the algorithm f(x_1,...,xn) that transforms input x1,...,xn into the output y=f(x1,...,xn), and we know the intervals of possible values of the inputs. Many real-life problems go beyond this paradigm. In some cases, we do not have an algorithm f, we only know some relation (constraints) between xi and y. In other cases, in addition to knowing the intervals [xi], we may know some relations between xi; we may have some information about the probabilities of different values of xi, and we may know the exact values of some of the inputs (e.g., we may know that x1=pi/2).
In this paper, we describe the approaches for solving these real-life problems. In Section 2, we describe interval consistency techniques related to handling constraints; in Section 3, we describe techniques that take probabilistic information into consideration, and in Section 4, we overview techniques for processing exact real numbers.