AngouriMath

Navigation

← Back to list of members

MaxVariables

 Field

Summary

Above this many variables the table is not built at all. The cost is
2^n evaluations of the expression before any minimising starts, and the
expression is substituted into once per row -- so this is a bound on work that is
already lost by the time it is found to be wasted.

Remarks

Ten variables is 1024 rows, and the worst case is parity -- a xor b xor ...,
where no two minterms combine. Measured on that: 13 ms at eight variables, 22 at
nine, 34 at ten, roughly doubling per variable. Without the early exit below the
same three were 196 ms, 803 ms and 1517 ms, so most of what the bound is protecting
against is handled by not searching rather than by refusing.
What remains is the table itself, which has to be built before anything can be said
about it. The bound is where that stops being worth paying blind, and it exists so
a wide expression declines rather than hangs -- the behaviour every other guard
here has.

























Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 1953 pages online