-
Notifications
You must be signed in to change notification settings - Fork 24
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
Solving the FP completeness issues in #1723 #3023
base: main
Are you sure you want to change the base?
Conversation
I just did some testing and the floating point balancing seems to work relatively reliably for binary operations. Edge case for binary expressionsThere seems to be one edge case due to the replacement strategy of
At some point within the proof we get to the expression
This is because
How to do position based replacement? Assignments/ReturnsThe current rules did not yet take this case into account, to this end I began drafting rules in #3062 (On my own fork since I don't have writing rights on this branch).
Notes from our conversation just now:
|
f7924c8
to
085614e
Compare
Huh interesting, so what really happens when you click GitHub's innocently looking "rebase" button is a force-push... |
Ok, anything lost or was it a fast-forward with a more aggressive name? |
I don't think anything should have gotten lost. On that note: Unfortunately, I just realized #3027 is not merged yet |
…mu/unbalancedFloats
You have successfully added a new QDJVMC configuration |
|
||
BinaryOperator properResultInst = balance(inInst, services); | ||
if (properResultInst == null) { | ||
return null; |
Check warning
Code scanning / QDJVMC
Constant conditions & exceptions
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.
Smells like a false alert?
I'm saving the runtimes of the last test run here so that we can compare runtimes once my pull request (with lots of additional
|
This should fix the floating point cast completeness issues -- let's see whether it breaks anything (check the CI tests and runtimes after this merge)
Looks like all tests are passing.
*repeating the run resulted in a runtime of 1h 24m 34s -- it seems this was just due to the high variance of runtimes on GitHub (so it's very likely that all the other "better" results are noise as well) Left to do:
|
Alternative to variable conditions: Create a new schema variable |
Related Issue
This pull request answers to issue #1723.
Intended Change
Floats and doubles are currently incorrectly insufficiently handled when they appear in
one expression.
Casts need to be added and casts need to be dealt with. ...
Type of pull request
Ensuring quality
Additional information and contact(s)
It's still W I P.
@samysweb
The contributions within this pull request will be licensed under GPL2-or-later wihtin KeY.