Comments (2)
While this is annoying, it is also kind of cool. What happens is that the test attempts to show that squaring and then taking the square root of a number results in either infinity (on overflow), zero (on underflow) or roughly the same number as before.
What I missed when writing the test is that the approximation can be quite significant, when not quite underflowing! The example input you mention results in the smallest denormal number after squaring, thus losing 22 bits of precision. This causes the final result to not be an over-/underflow situation, but still miss the expected range for the result.
I really like this result, as it perfectly shows the pitfalls of floating point numbers and how our tools can find even pretty damn exotic failures - we should probably discuss this in the paper!
from fp-benchmarks-aachen.
@danielschemmel Just to note we don't necessarily need to fix this benchmark during our runs. Originally your tool was penalised due to it not matching the spec but now that we incorporate information from attempting to replay all bug reporting KTest files your false positive gets turned into a true positive during ranking.
We should definitely fix the benchmark at some point though.
from fp-benchmarks-aachen.
Related Issues (9)
- gmp_klee_inv_arg.x86_64 crashes KLEE by calling `raise()` HOT 1
- klee_assume(f == f) is not a good way to ignore paths where symbolics are NaN HOT 4
- The specification for `real/sorting_doubles` is incorrect. HOT 4
- Mistakes in `aachen/syn/sqr/spec.yml` HOT 4
- Ninja & GMP HOT 2
- `ld-unnormal_default.x86_64` is mis-compiled by Clang when optimizations are enabled HOT 1
- `ld-unnormal` requires more investigation HOT 4
- syn/atof_default.x86_64 is incorrect despite the spec saying it should be correct HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fp-benchmarks-aachen.