Abstract. Solving constraints over oating-point numbers is a critical issue in numerous applications notably in program veri cation. Capabilities of ltering algorithms over the oating-point numbers (F) have been so far limited to 2b-consistency and its derivatives. Though safe, such ltering techniques su er from the well known pathological problems of local consistencies, e.g., inability to e ciently handle multiple occurrences of the variables. These limitations also have their origins in the strongly restricted oating-point arithmetic. To circumvent the poor properties of oating-point arithmetic, we propose in this paper a new ltering algorithm, called FPLP, which relies on various relaxations over the real numbers of the problem over F. Safe bounds of the domains are computed with a mixed integer linear programming solver (MILP) on safe linearizations of these relaxations. Preliminary experiments on a relevant set of benchmarks are promising and show that this approach can be e ective for boosting local consistency algorithms over F.
IntroductionCritical systems are more and more relying on oating-point (FP) computations. For instance, embedded systems are typically controlled by software that store measurements and environment data as oating-point number (F). The initial values and the results of all operations must therefore be rounded to some nearby oat. This rounding process can lead to signi cant changes, and, for example, can modify the control ow of the program. Thus, the veri cation of programs performing FP computations is a key issue in the development of critical systems.Methods for verifying programs performing FP computations are mainly derived from standard program veri cation methods. Bounded model checking (BMC) techniques have been widely used for nding bugs in hardware design [3] and software [11]. SMT solvers are now used in most of the state-of-the-art BMC tools to directly work on high level formula (see [2,9,11]). The bounded model checker CBMC encodes each FP operation of the program with a set of logic This work was partially supported by ANR VACSIM (ANR-11-INSE-0004), ANR AEOLUS (ANR-10-SEGI-0013) and OSEO ISI PAJERO projects.