-
Notifications
You must be signed in to change notification settings - Fork 71
Fix issues with EXP handling, add testing, add more rules #958
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
0ac6cf8 to
6b51cd6
Compare
| Lit 0 -> do | ||
| benc <- exprToSMT b | ||
| pure $ "(ite (= " <> benc `sp` zero <> " ) " <> one `sp` zero <> ")" | ||
| Lit 1 -> pure one |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: I added this here, because while simplify indeed handles special cases, we ALSO have fuzz-testing and I want to be able to fuzz-test, which does NOT use the simplify since we are testing if the simplify is correct :)
62f7e67 to
7bb5b96
Compare
…wModNatural Removing powModNatural Update changelog
b9a282f to
c2e937e
Compare
blishko
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
I think the last line in changelog is unnecessary, no?
Otherwise good to merge!
CHANGELOG.md
Outdated
| - Encode symbolic power of 2 as bit-shift in SMT encoding. | ||
| - Limit the expansion of the EXP operation to avoid blow-up in the size of the SMT expressions. | ||
| - New EXP rewrite rule for base-2 exponents | ||
| - Use `bvshl` in SMT for base-2 exponentiation so we can explore more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this refers to the change from the previous PR, no?
It should be covered by Encode symbolic power of 2 as bit-shift in SMT encoding.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, removing last line!
6cb01a1 to
4e66adf
Compare
Description
Checklist