diff --git a/test/regression/block.ref b/test/regression/block.ref
new file mode 100644
index 0000000..9f18fcc
--- /dev/null
+++ b/test/regression/block.ref
@@ -0,0 +1,95 @@
+
+
+ .K
+
+
+ BlockTest
+
+
+ .IfaceCellMap
+
+
+
+
+ BlockTest
+
+
+ .Map
+
+
+ .List
+
+
+
+
+ constructor
+
+
+ public
+
+
+ .List
+
+
+ .List
+
+
+ .List
+
+
+ .List
+
+
+ bool x = false ; { bool x = true ; require ( x , "" , .TypedVals ) ; .Statements } if ( x ) { require ( false , "" , .TypedVals ) ; .Statements } .Statements
+
+
+
+
+ .ContractEventCellMap
+
+
+
+
+
+ 1p160
+
+
+ 0p256
+
+
+ 1p160
+
+
+ 2p160
+
+
+ BlockTest
+
+
+ x |-> var ( 0 , bool )
+
+
+ 0 |-> false
+ 1 |-> true
+
+
+ .List
+
+
+
+
+ 2p160
+
+
+ BlockTest
+
+
+ .Map
+
+
+
+
+ 3p160
+
+
+
diff --git a/test/regression/block.sol b/test/regression/block.sol
new file mode 100644
index 0000000..c3a9706
--- /dev/null
+++ b/test/regression/block.sol
@@ -0,0 +1,15 @@
+pragma solidity ^0.8.24;
+
+contract BlockTest {
+
+ constructor() {
+ bool x = false;
+ {
+ bool x = true;
+ require(x, "");
+ }
+ if (x) {
+ require(false, "");
+ }
+ }
+}
diff --git a/test/regression/block.txn b/test/regression/block.txn
new file mode 100644
index 0000000..9571da7
--- /dev/null
+++ b/test/regression/block.txn
@@ -0,0 +1 @@
+create(1, 0, BlockTest, )
diff --git a/test/regression/boolean.ref b/test/regression/boolean.ref
new file mode 100644
index 0000000..135972b
--- /dev/null
+++ b/test/regression/boolean.ref
@@ -0,0 +1,116 @@
+
+
+ .K
+
+
+ BoolTest
+
+
+ .IfaceCellMap
+
+
+
+
+ BoolTest
+
+
+ .Map
+
+
+ .List
+
+
+
+
+ constructor
+
+
+ public
+
+
+ .List
+
+
+ .List
+
+
+ .List
+
+
+ .List
+
+
+ bool x = true ; if ( x || fail ( .TypedVals ) ) { .Statements } else { require ( false , "" , .TypedVals ) ; .Statements } if ( x && true ) { .Statements } else { require ( false , "" , .TypedVals ) ; .Statements } x = false ; if ( x && fail ( .TypedVals ) ) { require ( false , "" , .TypedVals ) ; .Statements } if ( x || true ) { .Statements } else { require ( false , "" , .TypedVals ) ; .Statements } .Statements
+
+
+
+ fail
+
+
+ private
+
+
+ .List
+
+
+ .List
+
+
+ .List
+
+
+ .List
+
+
+ require ( false , "" , .TypedVals ) ; .Statements
+
+
+
+
+ .ContractEventCellMap
+
+
+
+
+
+ 1p160
+
+
+ 0p256
+
+
+ 1p160
+
+
+ 2p160
+
+
+ BoolTest
+
+
+ x |-> var ( 0 , bool )
+
+
+ 0 |-> false
+
+
+ .List
+
+
+
+
+ 2p160
+
+
+ BoolTest
+
+
+ .Map
+
+
+
+
+ 3p160
+
+
+
diff --git a/test/regression/boolean.sol b/test/regression/boolean.sol
new file mode 100644
index 0000000..bdf3984
--- /dev/null
+++ b/test/regression/boolean.sol
@@ -0,0 +1,28 @@
+pragma solidity ^0.8.24;
+
+contract BoolTest {
+
+ function fail() private {
+ require(false, "");
+ }
+
+ constructor() {
+ bool x = true;
+ if (x || fail()) {
+ } else {
+ require(false, "");
+ }
+ if (x && true) {
+ } else {
+ require(false, "");
+ }
+ x = false;
+ if (x && fail()) {
+ require(false, "");
+ }
+ if (x || true) {
+ } else {
+ require(false, "");
+ }
+ }
+}
diff --git a/test/regression/boolean.txn b/test/regression/boolean.txn
new file mode 100644
index 0000000..561f2f3
--- /dev/null
+++ b/test/regression/boolean.txn
@@ -0,0 +1 @@
+create(1, 0, BoolTest, )
diff --git a/test/regression/if.ref b/test/regression/if.ref
new file mode 100644
index 0000000..ca54898
--- /dev/null
+++ b/test/regression/if.ref
@@ -0,0 +1,94 @@
+
+
+ .K
+
+
+ IfTest
+
+
+ .IfaceCellMap
+
+
+
+
+ IfTest
+
+
+ .Map
+
+
+ .List
+
+
+
+
+ constructor
+
+
+ public
+
+
+ .List
+
+
+ .List
+
+
+ .List
+
+
+ .List
+
+
+ bool x = true ; if ( x ) { .Statements } else { require ( false , "" , .TypedVals ) ; .Statements } x = false ; if ( x ) { require ( false , "" , .TypedVals ) ; .Statements } else { .Statements } if ( x ) { require ( false , "" , .TypedVals ) ; .Statements } .Statements
+
+
+
+
+ .ContractEventCellMap
+
+
+
+
+
+ 1p160
+
+
+ 0p256
+
+
+ 1p160
+
+
+ 2p160
+
+
+ IfTest
+
+
+ x |-> var ( 0 , bool )
+
+
+ 0 |-> false
+
+
+ .List
+
+
+
+
+ 2p160
+
+
+ IfTest
+
+
+ .Map
+
+
+
+
+ 3p160
+
+
+
diff --git a/test/regression/if.sol b/test/regression/if.sol
new file mode 100644
index 0000000..fdf7c43
--- /dev/null
+++ b/test/regression/if.sol
@@ -0,0 +1,20 @@
+pragma solidity ^0.8.24;
+
+contract IfTest {
+
+ constructor() {
+ bool x = true;
+ if (x) {
+ } else {
+ require(false, "");
+ }
+ x = false;
+ if (x) {
+ require(false, "");
+ } else {
+ }
+ if (x) {
+ require(false, "");
+ }
+ }
+}
diff --git a/test/regression/if.txn b/test/regression/if.txn
new file mode 100644
index 0000000..904ffed
--- /dev/null
+++ b/test/regression/if.txn
@@ -0,0 +1 @@
+create(1, 0, IfTest, )