Comments (2)
Deactivating NORMALISE_CONSTANT_TESTS in util/simplify_expr_int.cpp:1907 makes the problem disappear
from cbmc.
I'm not convinced the claims about the models or the bug here are correct. I will assume that &&
has higher precedence than ||
(as is the case in C). With this in mind, and reordering operands a bit:
f.a <= -1 && -((signed __CPROVER_bitvector[33])f.a) <= 2147483648 ||
f.a <= 2147483646 && -((signed __CPROVER_bitvector[33])f.a) <= -1 ||
f.a <= 2147483647 && -((signed __CPROVER_bitvector[33])f.a) <= -2147483647 ||
FALSE && FALSE ||
FALSE && FALSE
vs.
!(f.a >= 0) && !(-((signed __CPROVER_bitvector[33])f.a) >= 2147483649) ||
!(f.a >= 2147483647) && !(-((signed __CPROVER_bitvector[33])f.a) >= 0) ||
!(-((signed __CPROVER_bitvector[33])f.a) >= -2147483646)
Note that f.a <= 2147483647
was removed by the simplifier, because it is trivially true for signed 32-bit integers. Then I'd conclude that both expressions evaluate to true for all values of f.a
other than 0.
Resolving, but please feel free to reopen if my reasoning is flawed.
from cbmc.
Related Issues (20)
- [Question] Is it possible to get the specific values of all variables in a witness file in GraphML format?
- CBMC ran out of memory HOT 1
- Incorrect location coverage results in the presence of assumptions HOT 7
- DFCC loop contracts crashes with VS HOT 2
- Finite loop run can't be terminated? HOT 4
- An assertion about complex numbers. HOT 1
- Pointer to enum gives the failure result. HOT 1
- Unexpected result for struct member with bit fields.
- CBMC gives unexpected result in equivalent transformation.
- Whether cbmc supports built-in functions? HOT 1
- CBMC deals with mmap and munmap in pointer check.
- abs() >=0 assertion failed HOT 5
- The transformation between pointer and array of type char16_t & char32_t.
- The size of the first dimension is omitted when the array is defined. HOT 2
- C code has extern keyword in pointer check. HOT 4
- issues with auto-objects
- [Safety feature] Error when enforcing contracts twice
- [Question] Could not find goto-cc in the windows MSI HOT 2
- [Question] Minimum requirements for running CBMC in windows HOT 4
- [RFC] Build system support in CBMC version 6 HOT 3
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 cbmc.