Solving the FP completeness issues in #1723#3023
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 |
|
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.