Skip to content

Commit 77bfd47

Browse files
committed
Fix p7
1 parent d261dd1 commit 77bfd47

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

Diff for: examples/brahma.rs

+15-6
Original file line numberDiff line numberDiff line change
@@ -257,14 +257,23 @@ fn p7(context: &z3::Context, opts: &Options) -> SynthResult<Program> {
257257
} else {
258258
Some(1)
259259
}));
260+
library
261+
.components
262+
.push(component::const_(if opts.synthesize_constants {
263+
None
264+
} else {
265+
Some(std::u64::MAX)
266+
}));
260267

261268
let mut builder = ProgramBuilder::new();
262-
let a = builder.var();
263-
let b = builder.const_(std::u64::MAX);
264-
let c = builder.xor(a, b);
265-
let d = builder.const_(1);
266-
let e = builder.add(c, d);
267-
let _ = builder.and(c, e);
269+
let x = builder.var();
270+
// o1 = bvnot(x) = xor(x, MAX)
271+
let a = builder.const_(std::u64::MAX);
272+
let o1 = builder.xor(x, a);
273+
// o2 = bvadd(x, 1)
274+
let b = builder.const_(1);
275+
let o2 = builder.add(x, b);
276+
let _ = builder.and(o1, o2);
268277
let spec = builder.finish();
269278

270279
synthesize(opts, context, &spec, &library)

0 commit comments

Comments
 (0)