  Floating point error is a drawback of embedded systems implementation that is
difficult to avoid. Computing rigorous upper bounds of roundoff errors is
absolutely necessary for the validation of critical software. This problem of
computing rigorous upper bounds is even more challenging when addressing
non-linear programs. In this paper, we propose and compare two new algorithms
based on Bernstein expansions and sparse Krivine-Stengle representations,
adapted from the field of the global optimization, to compute upper bounds of
roundoff errors for programs implementing polynomial and rational functions. We
also provide the convergence rate of these two algorithms. We release two
related software package FPBern and FPKriSten, and compare them with the
state-of-the-art tools. We show that these two methods achieve competitive
performance, while providing accurate upper bounds by comparison with the other
tools.
