…input Fixes #144: now `svTestBit` should work properly for signed words.
Fixes #129. NOTE: This patch changes the SMTLib encoding for the testbit operation.
This avoids a "high extract index is bigger than the size of the bit-vector" error message from the SMT solver in case the user runs svTestBit with a large index.
In case of “unknown” the backend solver may not have a model to present. Watch for that case and respond appropriately, instead of choking.. This is terribly z3 specific I’m afraid, but will have to do for now; until SMTLib folks come up with a way to query solvers to see if there’s model available.
Implement sRealToSFloat, sRealToSDouble, and fpToSReal. Also add symbolic rounding modes as convenient shortcuts. Note that while the conversion seems to be working OK, Z3 is having hard time actually producing results for queries involving these conversions. Filed this issue: Z3Prover/z3#14
This fixes a bug that was triggered by the implementation of svNot: 'svNot svFalse' would produce 'CW KBool (CWInteger -1)', which is not in normal form.