-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Labels
Description
Hi @filipeom,
I've had a crash in smtml with the following PC coming from owi:
(let-const symbol_0 f64)
(assert (f64.le_s (f64.abs symbol_0) (f64 0x4202a05f20000000)))
(assert (f64.lt_s
(f64 0x4066800000000000)
(bool.ite
(f64.lt_s symbol_0 (f64 0x0000000000000000))
(f64.neg symbol_0)
symbol_0)))
The crash is the following: File "src/smtml/mappings.ml", line 419, characters 15-21: Assertion failed.
I think I found the reason why it crashes: the bool.ite has type bool because the Bool.ite is written as follow in smtml:
let ite c r1 r2 = triop Ty_bool Ite c r1 r2Which seems to be wrong, as it should have the type of r1 (or r2 as they should be equal).
WDYT?
To reproduce, you can use:
owi c testcomp/sv-benchmarks/c/float-benchs/sin_interpolated_index-1.c -vv