-
Notifications
You must be signed in to change notification settings - Fork 104
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
Encode floating point operations as uninterpreted functions #1095
base: master
Are you sure you want to change the base?
Conversation
(not forgotten, but review delayed for a few weeks, sorry. PLDI deadline approaching) |
if (get_uf_float()) | ||
doesApproximation("uf-float"); |
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 am not sure what the best way to handle doesApproximation
is with this approach. One option would be to call it in fm_poison
in instr.cpp
, however we don't have direct access to the UFs anymore. From what I can tell from the source code, the second argument to doesApproximation
needs to be the APP node of the UF. However we do not have access to that anymore at this point. It may be possible to obtain the UFs by traversing the AST though. Another option might be to register a callback function with expr.h
which is called for each created UF.
Thanks for letting me know and no worries about the delay. |
Approach based on modifying expr.cpp. Please let me know what you think.
Previous PR: #1057