JBernstein
JBernstein: Exploration techniques for non-linear constraint checking
JBernstein is a tool implemented in Java that enables to check whether a polynomial constraint holds for all variables within their domain. It is mainly used in the verification or synthesis of cyber-physical systems where the system model is nonlinear. The tool also supports specifications in assume-guarantee style.
The underlying algorithm is based on a translation to Bernstein polynomials, and several optimization techniques are implemented to ensure efficiency. Concerning performance, the tool enables to check all examples in the PVS Bernstein testsuite within a second, which can be an order of magnitude faster than some other tools such as QEPCAD or REDLOG.
Although JBernstein uses double, it offers automatic error-estimation capabilities (experimental) so that the generated result is correct (the solver may return unknown when the error-estimate is too large)