Skip to content

Conversation

@chriseth
Copy link
Member

@chriseth chriseth commented Dec 4, 2025

Replaces the "quadratic equivalence" code by a rule-based system.

TODO:

  • investigate expectation difference
  • check performance

AirMetrics {
widths: AirWidths {
preprocessed: 0,
main: 17300,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These differences appeared before the old code was removed, will investigate.

@chriseth
Copy link
Member Author

chriseth commented Dec 4, 2025

Ah nice, the rules capture some more cases because of the fact that e * (e + off) = 0 is considered both in the form
expr: e, offset: off and expr: e + off, offset: -off, but the old code did not have that.

@chriseth
Copy link
Member Author

chriseth commented Dec 4, 2025

Performance is good. It takes 250 ms on keccak when run before the solver runs (which is currently not the case).

The keccak test goes down from 17.3 seconds to 13.3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants