FP: Use Assert instead of PRECONDITION macro in converter. (#5119)
authorAina Niemetz <aina.niemetz@gmail.com>
Tue, 22 Sep 2020 23:15:54 +0000 (16:15 -0700)
committerGitHub <noreply@github.com>
Tue, 22 Sep 2020 23:15:54 +0000 (18:15 -0500)
commitbb0190a3d272e8d3207cfc358f79c647ed67acaf
treead127e5d46e4686e7b4f4b9e8725ce93978e7b3d
parent30e6dc83aed15ef002087e55cf228f0735c63f40
FP: Use Assert instead of PRECONDITION macro in converter. (#5119)

The FP converter (= word blaster) uses a PRECONDITION macro that is
defined in symFPU (if included) and calls traits::precondition. This is
a problem for two reasons. First, traits::precondition calls
AlwaysAssert, and PRECONDITION is called for every word-blasted node, so
this can be expensive. Second, in case of an assertion failure, we get
very generic failure messages, that don't allow to distinguish between
failures and are absolutely non-descriptive:

Check failure

b
This fixes both issues.

@martin-cs
src/theory/fp/fp_converter.cpp