Closed lee30sonia closed 2 years ago
After some investigation, it seems that the bug is caused by:
direct_resynthesis
does not support all of the 3-input functions (including 2-input functions such as AND/OR that are passed as a 3-input truth table).refactoring
does not check if the callback of the resynthesis functor is actually called, neither does it initialize new_f
to something non-random. (line 176)Which result in the algorithm sometimes substituting nodes more-or-less randomly.
Suspected bug in
refactoring
and/ordirect_resynthesis
reported by @KamilDre in #511. Test case and code to reproduce:Note: The reproducibility of the bug using the above case might be platform-dependent, as the bug seems to be related to an uninitialized variable (see below).