aboutsummaryrefslogtreecommitdiffstats
path: root/bugs
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2019-11-14 16:27:19 +0000
committerYann Herklotz <git@yannherklotz.com>2019-11-14 16:27:19 +0000
commit798f54c05376ec3b4ebbe8326d0a91eec807df3d (patch)
tree29274e92b775d280238ea15e0b46fb545b55b559 /bugs
parent809d342084e39432615945edac7662e6f9968b7f (diff)
downloadverismith-798f54c05376ec3b4ebbe8326d0a91eec807df3d.tar.gz
verismith-798f54c05376ec3b4ebbe8326d0a91eec807df3d.zip
Add proper reports to bugs
Diffstat (limited to 'bugs')
-rw-r--r--bugs/icarus_10.md38
-rw-r--r--bugs/minimal_1.v7
-rw-r--r--bugs/minimal_2.v16
-rw-r--r--bugs/minimal_3.v16
-rw-r--r--bugs/minimal_4.v16
-rw-r--r--bugs/minimal_5.v16
-rw-r--r--bugs/minimal_6.v16
-rw-r--r--bugs/original_2.v194
-rw-r--r--bugs/original_3.v194
-rw-r--r--bugs/original_4.v194
-rw-r--r--bugs/original_5.v194
-rw-r--r--bugs/original_6.v194
-rw-r--r--bugs/vivado/1_generated.v31
-rw-r--r--bugs/vivado/1_minimal.v8
-rw-r--r--bugs/vivado/1_original.v501
-rw-r--r--bugs/vivado/2_minimal.v28
-rw-r--r--bugs/vivado/2_original.v44
-rw-r--r--bugs/vivado_1.md60
-rw-r--r--bugs/vivado_2.md60
-rw-r--r--bugs/vivado_3.md27
-rw-r--r--bugs/vivado_4.md53
-rw-r--r--bugs/vivado_5.md32
-rw-r--r--bugs/xst_1_comment.md2
-rw-r--r--bugs/xst_1_minimal.v16
-rw-r--r--bugs/xst_1_original.v194
-rw-r--r--bugs/xst_2_minimal.v16
-rw-r--r--bugs/xst_2_original.v194
-rw-r--r--bugs/yosys_6.md73
-rw-r--r--bugs/yosys_7.md78
-rw-r--r--bugs/yosys_8.md49
-rw-r--r--bugs/yosys_9.md78
31 files changed, 548 insertions, 2091 deletions
diff --git a/bugs/icarus_10.md b/bugs/icarus_10.md
new file mode 100644
index 0000000..ea9959d
--- /dev/null
+++ b/bugs/icarus_10.md
@@ -0,0 +1,38 @@
+# Expression evaluates to 1'bx instead of expected 1'b0
+
+[ [Issue 283](https://github.com/steveicarus/iverilog/issues/283) ]
+
+The following code outputs and assigns `y` to 1'bx instead of 1'b0. This happens in iverilog version 10.3 and also happens in version 10.0 (11/23/14) on edaplayground. However, this seems to execute fine in version 9.6 and 9.7 on edaplayground.
+
+I have a link to the design loaded in [edaplayground](https://www.edaplayground.com/x/5SMW).
+
+```verilog
+module testbench;
+ wire y;
+ reg clk;
+ reg [15:0] wire0; // Reducing the size of wire0 to 15 bits seems to fix the output.
+ reg reg1 = 1'h0;
+ assign y = reg1;
+ initial
+ begin
+ clk = 1'h0;
+ wire0 = 1'h0;
+ #10 $finish;
+ end
+ always #5 clk = ~clk;
+ always @(posedge clk) $strobe("%b", y);
+ // Problematic line, should assign 1'b0 but assigns 1'bx.
+ always @(posedge clk) reg1 <= (wire0 >> {wire0 ~^ 1'b1, wire0});
+endmodule
+```
+
+After running
+
+```
+iverilog testbench.v -o im && ./im
+```
+
+the output is `x` instead of `0`.
+
+If the always block is not used, and the expression is assigned to `y` directly, the result is the expected 1'b0. Any changes to the expression seems to fix the result as well.
+
diff --git a/bugs/minimal_1.v b/bugs/minimal_1.v
deleted file mode 100644
index 95957ff..0000000
--- a/bugs/minimal_1.v
+++ /dev/null
@@ -1,7 +0,0 @@
-// Increasing the size of the wires makes yosys hang
-module div_error(y, w1, w2);
- output [50:0] y;
- input [50:0] w1;
- input [50:0] w2;
- assign y = w1 / w2;
-endmodule // div_error
diff --git a/bugs/minimal_2.v b/bugs/minimal_2.v
deleted file mode 100644
index 176b522..0000000
--- a/bugs/minimal_2.v
+++ /dev/null
@@ -1,16 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1372:0] y;
-input wire [6:0] w1;
-input wire [18:0] w2;
-input wire [9:0] w3;
-input wire [5:0] w4;
-input wire w5;
-input wire [28:0] w6;
-input wire [17:0] w7;
-input wire [29:0] w8;
-input wire [10:0] w9;
-input wire [5:0] w10;
-wire [20:0] w97;
-assign w97 = ({(w9 ^ w7), ((-(27'he)) != (1'h0)), ((-(19'h17)) ? w1 : (23'h1e)), (w10 ? w9 : (1'h11)), (w2 ? (1'hc) : (8'h5)), (-(28'h11)), (w3 ? (1'h0) : w6), $unsigned(w9), ((1'h0) > (-(5'hc))), (-(5'h14)), ((-(20'h0)) ^~ (-(4'h1b))), {(8'ha), (1'h0), w1, (-(3'h1d)), (1'h0), w6, w9, (-(15'hc)), (1'h0), (-(18'h4)), (-(4'h1b)), w3, (20'h6), (27'h5), w3}, (1'h0), (~^(-(26'h11)))} ? $signed(($signed((-(7'h1c))) ? (w4 >>> (-(2'h4))) : ((-(23'h10)) && w3))) : {(+(-(17'he))), (^(18'h10)), {w2, (1'h0), w7, (1'h0), (-(26'h1)), w6, w4, (9'hb), (29'h1), (-(1'h1e)), (-(15'h11)), (29'h18), (-(4'h1a)), (23'ha), (24'h14), (17'h10), (28'h14), (32'hc), (1'h0), (-(29'hc)), (-(10'hf)), (-(24'h11)), (31'h19), w2, (-(14'h15)), w6, w4, (2'hc), w7, (-(17'h7))}, (&(1'h0)), {(29'h18), (-(25'h4)), (6'h13), (27'h7), (-(22'h18)), (-(23'h4)), w3, (-(26'h1)), (29'h1d)}, ((19'h1b) ? w3 : w3), (4'ha), $unsigned(w6), ((-(19'hc)) ? w8 : (29'h9)), (1'h0), (w7 && w4), (|w5), {(7'h4), w1, w3, (1'h0)}, w10, ((-(2'h13)) * (1'h0)), (w8 + (-(5'h12))), (-(17'h16))});
-assign y = {w97};
-endmodule
diff --git a/bugs/minimal_3.v b/bugs/minimal_3.v
deleted file mode 100644
index f3cfbf7..0000000
--- a/bugs/minimal_3.v
+++ /dev/null
@@ -1,16 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1505:0] y;
-input wire [12:0] w1;
-input wire [2:0] w2;
-input wire [16:0] w3;
-input wire [8:0] w4;
-input wire [15:0] w5;
-input wire [22:0] w6;
-input wire [8:0] w7;
-input wire [16:0] w8;
-input wire [17:0] w9;
-input wire [20:0] w10;
-wire [18:0] w98;
-assign w98 = (~&{((22'h5) ? w4 : w3)});
-assign y = {w98};
-endmodule
diff --git a/bugs/minimal_4.v b/bugs/minimal_4.v
deleted file mode 100644
index 5cf8bbe..0000000
--- a/bugs/minimal_4.v
+++ /dev/null
@@ -1,16 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1458:0] y;
-input wire [26:0] w1;
-input wire [24:0] w2;
-input wire [23:0] w3;
-input wire [1:0] w4;
-input wire [5:0] w5;
-input wire [12:0] w6;
-input wire [27:0] w7;
-input wire [16:0] w8;
-input wire [14:0] w9;
-input wire [13:0] w10;
-wire [23:0] w96;
-assign w96 = {(-(-(10'h1))), ({(6'hb), (-(25'h3)), w7, w10, (1'h0), w2, w2, (17'h1c)} ? $signed(w6) : ((22'hd) | w10))};
-assign y = {w96};
-endmodule
diff --git a/bugs/minimal_5.v b/bugs/minimal_5.v
deleted file mode 100644
index 1b7cf7c..0000000
--- a/bugs/minimal_5.v
+++ /dev/null
@@ -1,16 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1328:0] y;
-input wire [19:0] w1;
-input wire [5:0] w2;
-input wire [29:0] w3;
-input wire [20:0] w4;
-input wire [7:0] w5;
-input wire w6;
-input wire [18:0] w7;
-input wire [11:0] w8;
-input wire [20:0] w9;
-input wire [26:0] w10;
-wire [14:0] w97;
-assign w97 = (~^({w5, w7, (-(17'h18)), (30'hf), w1, (-(3'h14)), w6, (1'h0), (-(10'h12)), w2, (1'h0), (10'h3), (21'h9), w4, w6, w5, (1'h0), w7, w1, (1'h0)} ? {(-(14'h7)), (-(28'h16)), (25'h1b), (14'h7), (26'h1d), (9'h14), (-(22'hc)), (6'h1d), w10, (5'h8), w10, (5'h1b)} : $unsigned($signed(((-(29'h12)) <= (-(19'h14)))))));
-assign y = {w97};
-endmodule
diff --git a/bugs/minimal_6.v b/bugs/minimal_6.v
deleted file mode 100644
index d833681..0000000
--- a/bugs/minimal_6.v
+++ /dev/null
@@ -1,16 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1393:0] y;
-input wire [8:0] w1;
-input wire [25:0] w2;
-input wire [24:0] w3;
-input wire [16:0] w4;
-input wire [29:0] w5;
-input wire [28:0] w6;
-input wire [21:0] w7;
-input wire [22:0] w8;
-input wire [29:0] w9;
-input wire [20:0] w10;
-wire [24:0] w99;
-assign w99 = ({(17'h19), {w3, (5'h9), w4, (15'hc), (-(30'h18)), (-(5'h14)), (27'h15), (24'he), w10, w8, w2}, w4, w1, ((-(18'h13)) + (-(25'h9))), (~|w2), ((8'h1e) ? (-(17'hf)) : (-(13'h9))), (w7 <= (-(13'h6))), (-(23'hd)), (4'h13), (w8 >> (-(11'h14))), w3, w8, {(-(4'ha)), w8, w10, (21'h1e), (1'h0), w5, (-(18'h16)), (1'h0), (7'h6), (12'h5), (14'h13), (-(26'h7))}, (w6 ? w6 : (-(13'h13))), (w5 ? w10 : (1'h0)), w2, w4, (4'h5), (11'h15)} ? $signed((|(17'h1e))) : $unsigned((~^((-(7'he)) ^ {(1'h0), (-(7'h10)), (-(13'h7)), w9, w3, (-(10'h13)), (3'h17), w6, (21'h6), (-(29'h6)), (28'h19), w1, (-(19'hf)), w10, (7'h12), (26'h9), w7, w6, (1'h0), (-(21'h15)), (18'hb), (-(6'ha)), (16'h16), (12'h17), (-(6'h17)), (-(7'h15)), w1}))));
-assign y = {w99};
-endmodule
diff --git a/bugs/original_2.v b/bugs/original_2.v
deleted file mode 100644
index 02b47a6..0000000
--- a/bugs/original_2.v
+++ /dev/null
@@ -1,194 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1372:0] y;
-input wire [6:0] w1;
-input wire [18:0] w2;
-input wire [9:0] w3;
-input wire [5:0] w4;
-input wire w5;
-input wire [28:0] w6;
-input wire [17:0] w7;
-input wire [29:0] w8;
-input wire [10:0] w9;
-input wire [5:0] w10;
-wire [26:0] w11;
-wire [21:0] w12;
-wire [24:0] w13;
-wire [16:0] w14;
-wire [10:0] w15;
-wire [29:0] w16;
-wire [3:0] w17;
-wire [25:0] w18;
-wire [22:0] w19;
-wire [26:0] w20;
-wire w21;
-wire [6:0] w22;
-wire [8:0] w23;
-wire [3:0] w24;
-wire [24:0] w25;
-wire [11:0] w26;
-wire [1:0] w27;
-wire [24:0] w28;
-wire [11:0] w29;
-wire [2:0] w30;
-wire [4:0] w31;
-wire [11:0] w32;
-wire [24:0] w33;
-wire [27:0] w34;
-wire [18:0] w35;
-wire [28:0] w36;
-wire [5:0] w37;
-wire [4:0] w38;
-wire [3:0] w39;
-wire [12:0] w40;
-wire [18:0] w41;
-wire [11:0] w42;
-wire [3:0] w43;
-wire [27:0] w44;
-wire [10:0] w45;
-wire [8:0] w46;
-wire [17:0] w47;
-wire w48;
-wire [10:0] w49;
-wire [14:0] w50;
-wire [3:0] w51;
-wire [22:0] w52;
-wire [1:0] w53;
-wire [29:0] w54;
-wire [15:0] w55;
-wire [10:0] w56;
-wire [10:0] w57;
-wire [27:0] w58;
-wire [24:0] w59;
-wire [7:0] w60;
-wire [14:0] w61;
-wire [17:0] w62;
-wire [26:0] w63;
-wire [27:0] w64;
-wire [4:0] w65;
-wire [23:0] w66;
-wire [9:0] w67;
-wire [9:0] w68;
-wire [11:0] w69;
-wire [11:0] w70;
-wire [19:0] w71;
-wire [8:0] w72;
-wire [1:0] w73;
-wire [5:0] w74;
-wire [14:0] w75;
-wire [10:0] w76;
-wire [8:0] w77;
-wire [17:0] w78;
-wire [2:0] w79;
-wire [10:0] w80;
-wire [17:0] w81;
-wire [2:0] w82;
-wire [21:0] w83;
-wire [8:0] w84;
-wire [8:0] w85;
-wire [10:0] w86;
-wire [27:0] w87;
-wire [20:0] w88;
-wire [12:0] w89;
-wire [26:0] w90;
-wire [4:0] w91;
-wire [25:0] w92;
-wire [17:0] w93;
-wire [20:0] w94;
-wire [25:0] w95;
-wire [16:0] w96;
-wire [20:0] w97;
-wire [17:0] w98;
-wire [28:0] w99;
-wire [22:0] w100;
-assign w11 = w78;
-assign w12 = $signed((-13'h10));
-assign w13 = ({(w4 < (-21'h7)), (w91 * w38), (^w66), (^~w60), ((26'h8) ? w74 : w55), (w25 ? w30 : (-12'h5)), (w100 >> (36'h10)), ((-6'h11) <= (3'h1d)), (w85 ? (-17'he) : (-19'h1d)), {(20'h9), w73, w3, (9'h19), (-10'h1a), w60, w40, (20'hd), (14'h11), (-3'h1), (-17'h14)}, $signed((12'h9)), ((7'h1b) ? (-1'h1) : w3), (+(17'hd)), (+(14'h3)), ((17'h11) ^ (-15'h13)), (-29'h18), (+w67), $signed((23'h9)), {w42, (-2'h12), w100, (13'ha), (5'h1), w34, w59, w78, (26'hd), w32, w21, (-6'h19)}, $signed((-2'h11)), (+w93), w65, $unsigned(w22), ((-13'h4) ~^ w69), {w71, (-27'h1c), (22'h6), (-18'h15), (26'h18), (21'h17), w16, w69, (23'hc)}, ((-6'he) <= w64), w43, (-(-21'h2)), (w61 ? w93 : (-18'he)), w94} | (w41 >>> $signed((1'hb))));
-assign w14 = ((~^(&({(-17'h2), w90, w90, w3, w85, (-6'hc), (4'h1c), w58, (-23'h12), w56, w86, w85, (3'h10), (24'hf), w56, (-23'h3), w46, (13'h19), w41, (-2'h7), w77, (-14'h6), w87, w69} > {w16, (-3'h13), w61, (-13'h8), w7, (11'h6), w84, (-27'h3), (24'h1a), (-1'h12), (-21'h8)}))) === {(^w15), (~&w79), w76, ((2'h1a) ? (-5'h16) : (-31'h9)), (-3'h16), (w20 ? w90 : w50), ((11'h3) ? (7'hc) : w24), (&(-7'h14)), (-28'h17), $signed((12'h4))});
-assign w15 = w50;
-assign w16 = (-2'h1e);
-assign w17 = ($signed(({(9'h6), w67, w75, w19, w25, (13'h7), w71, (16'h9), w48, (-6'h4), (27'h17), (3'h11), w65, (24'h15)} != ((~&(-26'h8)) ? (w73 ? w28 : w10) : (4'he)))) >>> $signed({(-24'h1e), w6, (-23'hc), w98, w84, w53, w26, w63, (6'h1b), (-19'h15), w72, (-3'h3), (12'h8), w63, w72, w87, (-12'hd)}));
-assign w18 = (-({w27, (4'h1a), w54, (-15'h17), w80, (5'h1), w100, w6, w46, (9'h15), w77, (-35'h6), w93, w100, w33, w99} ^ w6));
-assign w19 = (-19'h5);
-assign w20 = $unsigned(((+(14'ha)) <= (13'h11)));
-assign w21 = (-30'h12);
-assign w22 = $unsigned(((+{(9'h12), w60, w88, (-14'h5)}) < $unsigned($signed(((-5'h0) ? w88 : (-6'hf))))));
-assign w23 = $unsigned((-32'h17));
-assign w24 = {((w2 ^~ w49) & w82), ((w71 ? w71 : (22'h1c)) | ((14'h8) != w38)), (w32 ? ((-28'h11) >= (-23'h1b)) : $signed((27'h1e))), w55, ($unsigned(w87) ? (-24'hf) : (w60 >= w56)), {w35, (-10'hf), (-25'h12), w58, (14'h1e), (10'h9), w63, (4'h15), w54, (-7'he), (-10'h12), (27'h18), (14'hd), w7, (16'hf), w63, w8, (19'h12), w27, (-16'h4), w26, w55, w74, (4'h5), w8, (-6'h16), (11'h1c), w38, (11'h1a)}, (-24'ha), w37, (25'h3), ($unsigned(w70) != (-3'h9)), (~&$unsigned((-10'h19))), {w8, w96, w36, w33, w100, (-6'hf), (-8'hc), w59, w72, (-14'h1d), (-11'h2), w68, w4, w36, w61, w9, (2'h1), (-17'h16), w30, (9'h13), w89, (-19'h9), w97, w60}, (~^(-25'h12)), {w54, (-3'hc), w56, w45, (10'h17), (-17'h19), w85, w61, (13'h1d), w49, w30, w26, (-12'h5), (-18'h13), (-28'h1a), (27'h19), w7, (20'h10), w78, (-15'h1c), (8'h2)}, $unsigned((w98 !== (-10'h1e))), w57, {(-30'ha), (-3'h17), (29'h2), (-26'h13), (-32'h3), (-22'h5), (5'h3), w69, w85, w9, w95, (-19'ha), (-29'h16), w34, (-19'h1e), w77, (-9'h14), w49, (31'h10), w87, (-10'h19), (-4'h3), (6'h4), w39, w4, w56, (-14'h1e), w92}, ({(11'h5), w47, w41, (23'ha), (-15'h0), (-4'hd), (16'h1d), (-9'hb), (18'h3)} ? (-21'h12) : {w67, (-20'h15), w32, w90, w52, w88, w35, (19'h16), (-12'hf), (15'h1a), w42, w75, w36, (-29'h8), (34'h1), w87, (-31'ha), w57, w8, (-27'h9)})};
-assign w25 = ((3'h4) ? (({(26'h1b), (10'hf), (-9'h5), (21'h1b), w90, w59} >> {w74, w53, w76, (22'hd), w86}) ? ({w54, w41, w26, w37, (-28'h3), w9, (-11'hd), (-22'h6), (18'h1), (16'h1a), w98, w3, (22'hc), (-19'he), w60} ? (&(-4'h1b)) : (-4'h18)) : (w5 < (-(-6'h10)))) : {{w57, w3, w86, (-6'hc), w99, (9'h18), (23'h2), w3, w26, (-16'h4), w63, (24'h2), w83, (29'h14), (-30'h1d), w71, w96, (5'h16), (17'hd), (7'h14), (-2'h15), (-20'h5), (28'h19), w64}, {(-29'h1e), w30, (-24'h19), (24'hf), (-11'hc), (7'hd), (1'h5), (23'h3), w49, w98, (25'h15), w80, w98, w61, (21'h7), w61, (-28'h15), w61, w93, (22'hd), (-12'hb), (20'h11), (-24'h6), w6, (-13'hd), w65, (31'h1c), w71, w47, (13'h1)}, ((10'h10) > (27'h1)), (~|(-11'h17)), $unsigned((-2'h11)), $signed((-4'h12)), (-29'h7), (-19'h6), (~|w80), w86, (w51 ? w75 : (10'h7)), {(-17'ha), w48, (7'h12), w67, (23'he), (11'h2), w1, w96, w88}, w62, {(23'h1d), w83}, (+w5), ((9'h19) ~^ w76), w51, ((21'h10) + w99), (&w2), (^(-6'h15)), (-w56), ((20'h5) ? w64 : w63), w50, (w70 ? w95 : w87), w83, (9'h1b), w9, $signed((24'h14)), (+(-20'hd))});
-assign w26 = (($signed((-12'h0)) <= w32) && w72);
-assign w27 = $signed((^(-15'h1d)));
-assign w28 = $signed($signed((8'h1c)));
-assign w29 = (^(~|$signed(w9)));
-assign w30 = $signed({w3, w79});
-assign w31 = $unsigned($signed($signed($signed(w82))));
-assign w32 = ((({w7} * $unsigned($signed(w62))) ? w57 : $unsigned((|(+w1)))) & (-35'h0));
-assign w33 = (~|w78);
-assign w34 = (30'h17);
-assign w35 = ((({w1, w4, (-4'h7), w73, (-26'hb), (-22'h12), w8, (-20'h11), (-24'he), w98} || ($signed(w7) ? (17'h12) : (w74 ? w68 : w100))) ~^ (((w10 << w1) >>> {(-22'h8), w45, (-9'hf), (-28'h1), (-12'hf), (16'h1b), (29'h17), (-19'h6), (3'h10), w94, w10, (-32'h2), (-14'h3), (19'h2), (-19'h1), (12'h7), (-30'h15), w92, (18'h3), w60, w54, w100}) !== (-24'h1))) < w37);
-assign w36 = (-(-((&(~&(-22'h16))) & $unsigned($unsigned(w42)))));
-assign w37 = (!((~|{(-18'h4), w42, (-27'h7), w60, (23'h11), (24'ha), (30'he), w90, w64, w40}) <<< (-27'h5)));
-assign w38 = (24'h13);
-assign w39 = (^~$unsigned($signed(w8)));
-assign w40 = {$unsigned((w83 ? (-6'h1d) : (26'h14))), (~|(w58 ? w98 : (-15'h1e))), (w81 * $signed(w43)), (3'h3), (w60 ? $signed((-6'h10)) : ((28'h18) ? w47 : (-20'h5))), (-14'h15), ((~^(15'h3)) ? (10'h5) : (-2'hf)), $signed(w10), w9, (16'h16), (((-32'ha) ? w83 : w72) ? (+(32'h1)) : (^~(2'h7))), ((19'h13) ? w76 : (-3'h12)), (-20'h13), ($unsigned(w89) ? (-19'h18) : (12'h11)), $unsigned({(-31'h0), (1'h1d), w67, w88, w56, (11'h14), w59, (-23'h5), (-30'h8), (4'h6), w81, (-29'ha), (5'hc), w54, w99, (-3'h3), (-14'h5), w49, (16'hd), (22'h1), w45, (-28'h6), w2, w83, w45, (30'h1d), w87}), (^~(6'h5))};
-assign w41 = w5;
-assign w42 = {w88, ((w57 << (14'h1)) >= $signed(w8)), w72, $signed((-30'h6)), ($signed(w90) >>> w74), ((-1'h12) ? ((9'h4) ? w73 : (24'hd)) : (-17'h14)), {(-17'h7), w52, w100, w87, w43, (23'hd), (2'h17), (19'h16), (-10'h16), (17'h7), (-24'hb), w75, (5'h5), w68, w53, (-13'h17), (-15'h0)}, w52, ({(13'h4), (18'h10), w50, (5'h16), (-28'h10)} ? (-25'h6) : $signed((12'hf)))};
-assign w43 = (($unsigned(w90) ? ((w89 ? (23'h18) : w44) ? ((-2'h3) >= (20'h1c)) : $signed((13'h1e))) : ({w61, (-23'h10), w57} ? (w51 >= w2) : w53)) ? $signed({w65, (1'h19), w98, w70, (9'h1d), w76, w88, w70, w51, (27'h3), w71, (-5'h2), (12'h10), (24'hb), w48, w72, w8, (-10'h1c), (-11'hf), (-15'h3), (-5'h1d), (19'hd), (6'h3), (-15'h1b), w94, w63, w1, (-10'h19), (-17'h15)}) : (+{(-9'hb), (10'hf), w94, (14'h1b), (19'h1b), (-2'h1), (16'h17), (-30'h2), w94, w69, w91, (-10'h3), w89, (-7'h9), (-30'h1), (12'h17), (-6'hb), w84, w79, w97, w70, (19'h5)}));
-assign w44 = ((w48 ? $signed((17'h14)) : {(13'h6), (-18'h18), (23'ha), (3'h1b), (10'he), w65, (10'h1d), (30'h2), w45, (-23'h1e), w53, w57, w65, (27'h8), (14'h18)}) ? {(-2'h7), (w61 !== w2), (!w68), (^(16'h18)), (~|(14'h3)), (30'h16), w59, {w100, w94, (-25'h1a), (8'ha), w3, (-18'h5), w84, (-25'h0), (-17'h3), (20'h1), w8, (21'hd), (21'h18), (30'h1e)}, (w82 < (16'hc)), (-19'h0), (w93 == w10), ((-2'h17) ? w7 : w7), (17'h1), ((30'h2) ? w53 : (24'he)), (w52 * (30'h14)), (26'h13), {(11'h9), (7'h16), w75, w3, (1'h5), (30'hf), (-24'hd), w79, (23'h18), (-18'hf), w1, w52, w74}, (11'h1c), $unsigned((-30'h2)), (^~(-12'h18)), {(-22'h1b), w51, w81, (-7'h1c), (-19'h19), (18'h17), w78, (-13'h11), w97, (-24'h1a), (-22'hf), (-13'h18), w7, (-25'hd), (-31'h13), (5'h5), w100, w5, w76, (-3'h1c), w75, (25'h6), (12'h19), (13'h8), (12'h8), (10'h6), w77, w84}, (^w72), (9'h7)} : {(w68 ? (7'hf) : (2'h1b)), ((-3'h17) <= (31'h10)), (w8 | (-19'h2)), (w50 ^~ (-29'h9)), (w69 ? w95 : w97), w62, w98, (-11'hb)});
-assign w45 = (-12'h6);
-assign w46 = $unsigned((-4'h0));
-assign w47 = (w87 ? (-12'h6) : {((13'h2) & w48), $unsigned((27'h11)), w74, (w56 == w55), (~^(4'h1e)), (-27'h1), (w50 ? w5 : (19'h3)), (w91 === (-26'hc)), $signed(w78), ((25'he) <<< w75), {w81, w58, w76, (-24'hf), w2, w65, (36'h3), w78, (15'h9), (18'ha), w64, w84, (-5'h1d), w60, w52, (29'hf), w53, (-24'h16), w48}, (3'h11)});
-assign w48 = w100;
-assign w49 = $signed({((18'h14) ? (32'hf) : (-3'hf)), (-14'hd), {w66, w95, w79, w71}, w98, w53, (^w3), {w80, (-15'h0)}, $signed(w73), $signed((-16'h1d)), ((-31'h1c) && w89)});
-assign w50 = {(((-5'h5) | (-17'h3)) ? (+w57) : w65), $signed((16'h1d)), (20'h4), (-w75), $unsigned((-24'h15)), w73, $signed({w52, w65, w69, (16'h6), (28'h9), (-5'hb), w10, (-15'hf), (14'h1c), (-15'he), (-16'h13), w4, (-26'h17), w89, (31'h15), w10, (-31'h1d), (11'h18), (28'h1a), w68, (15'hd), w2, (-10'h12), (-10'h14)}), {w61, w85, (-22'h10), (24'h3)}, w86, {w10, (9'h18), (13'h6), w6, w98, (-1'hc), w63, (9'h1e), w84, (14'h12), (-26'hf), w60, w94, (-20'h17), w88, (-23'h1d), (-12'h1c), w60, (24'h10), (2'ha), (-1'h12), (-8'h16), (-32'h15), w59, w55}, (-13'h14), (~|w1), {(-30'h14), (-24'h1c), w81, w81, (-17'h7), w56, w87, (-32'h1b), w98, w87, (24'h1), w9, (27'h13), w90, (-19'hf), (6'h18), (8'h6), w6, (-28'h1e), (26'h1), (29'h11), w71, (6'h1b), (-13'h3), (8'h18), (-3'h1a), (20'h3), (6'h7), (-19'h1b), w79}, w95, (12'h4), $signed((w3 & w7)), (~&$signed((8'h16))), (-12'h8), (-3'h1a), (|(w51 >= w100)), w69, w69, ({w76} ? w89 : w51), (|((-4'h13) ? (-2'h1b) : w61)), (-3'h18), (w91 ? {w67, (-27'h1e), w73, (-25'hd), w95, w56, w62, w55, (31'h14), w87, w90, (11'ha), w80, (-19'h16), (25'h2), w67, (14'h3), (14'h1b)} : $unsigned((1'h9))), ($unsigned(w6) >> (w7 > w94))};
-assign w51 = $signed({{w5, (21'h1e), w3, (14'h1b), w97, w69, w5, w68, (30'h14), w71, (-10'hd), (-17'h1c), w57, (-17'h14), w73, w86, w57, (12'hd), w74, w99}, (-11'h0), ((-9'h1a) ? w3 : w72), (w100 << (20'h1)), $unsigned((12'h17)), (15'h2), (4'he), (~^w10), ((11'h1c) > (-22'h1)), {(-13'hc), (-26'h7), (-19'hb), w97, w75, w95, (8'h1), (-12'h13), (-20'h12), w8, (33'hc), w5, (-27'h10), w8, (8'hd), w67, (-1'ha), (-9'h17), w57, (29'h19), w88, (22'hc), (-6'h12), (-9'he), w67, w52, w87}, ((1'h1a) ? (3'h1a) : (14'h18)), ((-8'h1e) ? (-5'hb) : (-5'h14)), (-25'h17)});
-assign w52 = w86;
-assign w53 = {(~&{(-17'h18)}), ($unsigned((-28'h14)) != w9), $unsigned(((8'h4) ? (21'h18) : w79)), {w97, w91, (27'h1), w92, w61, (-9'h5), w6, w84, w54, (27'h1c), w96, (9'h1a), (22'h1a), w75, w62, w55, (-4'h3)}, $signed(((7'h13) ? (19'hf) : (22'h4))), ((26'h6) ? ((14'h14) <<< w85) : {w4, w10, w76, (-28'h9), (-28'h8), (20'h1b), (-12'h15), w78, w5, (14'h10), (-27'h14), w64}), {w8, w94, w74, (-28'hc), w99, (-23'h18), w74, w84, w100, (16'h6), (17'hb), w69, (-28'h4), (-30'h8), (-8'h17), w88}, (((16'h7) ? w5 : w74) ? (~&(19'h16)) : {(-6'h7), w77, (21'h1a), (-26'h7), (-10'hd), w4, w73, (14'h1)}), (w77 ? {w1, w85, (-15'h1a), (-29'h2), (-20'h2), w72, w2, w73, w79, (9'hd), (-31'h13), (20'h15), (-13'h14), w91, w80, w9, (8'h15)} : (~&(10'ha))), (2'h16), {w57, w89, (-4'h5), (28'h11), (-9'h6), w67, w83, w64, (-10'h19), w56, (20'h8), w6, w91, (-14'hc), (6'h6), (-6'h0), (-9'h1), w70, (-4'h16), (33'h1a)}, $signed((-33'h1)), (8'h2)};
-assign w54 = ((((((21'ha) >> w58) == ((-17'he) ? w92 : w91)) ? {w72, w86, w60, w96, (11'h15), w76, (4'h9), (-23'h1), w74, w78, (26'h17), w100, w100, (12'h15), (-7'h4), w4, w88, w74, w95, (1'h18), w9} : $unsigned((w100 ? w70 : w63))) ^~ w95) | {((10'h1d) + w62), $signed((15'h1a)), (w71 ? w55 : (23'h13))});
-assign w55 = $signed((1'h4));
-assign w56 = ($unsigned({(-28'h1), (8'h1b)}) ? (|(28'h1b)) : (-1'hb));
-assign w57 = ((w82 ^~ $unsigned(w66)) || (^~$unsigned((-23'h1d))));
-assign w58 = w6;
-assign w59 = (~^(27'h14));
-assign w60 = w74;
-assign w61 = ($unsigned(((&(-24'h6)) ? ($signed(w76) < (1'h4)) : ((w90 ? w81 : w4) || w65))) <<< ((({w80, (2'h15), (-31'hd), (-8'h17), (17'hc), w81, (26'hb), w95, w78, w97, w88, (24'h17), (9'h1d)} > $unsigned((-8'h1))) || (((-7'h13) ? (-30'hd) : (-7'h17)) ? ((14'h1e) === (23'h1c)) : (w89 ? w9 : w76))) == (17'h13)));
-assign w62 = (8'h1b);
-assign w63 = {w76, ({(-14'h2), w88, (31'h1), (19'h3), (-16'h2), w1, w3, w9, w99, w83, (25'hb), w97, (-20'h9), w95, (8'h18), w99, w88, (-11'h8), (-26'h18), (-18'hf), w70, w92, w80, (-26'hd), (28'h6), (-15'hf), w89, (4'h8), (-1'hb), w6} ? $unsigned(w78) : $unsigned(w67)), (-12'hf), w99, (-1'h11), ((w9 ? w2 : (15'h12)) ? {w9, w7} : {(11'h4), w10}), ((-25'h1e) >>> (w73 !== (-26'h4))), (-16'hf), (^{w92, (32'h19), (-23'h1), w4, (-15'h6), w86, (-27'h19), (20'h19), (26'h16), (7'ha), (11'h18), (-27'h1), w91, (22'h11), (-18'h4), w89, w81, (-17'h1e), w80, w69, (-7'h9), w82, w88, (-6'h16), w92, (21'h8), w73, (-20'h6), w81, (8'hd)}), (7'hb), ((w65 ? (22'hf) : (-15'h10)) ? (w91 ? (-15'h9) : w4) : w77), ((-25'he) ? (-2'h13) : (w5 ? w7 : (-7'h15))), (~|((-14'he) ? (-2'h4) : w75)), w91, ($unsigned((-14'hb)) == (w66 ? (-9'h1b) : w77))};
-assign w64 = (3'h14);
-assign w65 = {(29'h10), (((30'h6) ^~ w87) != ((25'h3) <<< w94)), (-29'h6), $unsigned(((-1'h4) <= w73)), w97, $unsigned(w92), $signed(w76), ({w3, (15'h17)} ? ((-24'h8) ~^ w83) : (~|w76)), w97, ((-31'h1b) ? ((14'h3) ? (26'h1e) : (-28'h9)) : w86), ((10'h7) <<< (~|w75))};
-assign w66 = {(+((23'hc) + (16'h10))), $unsigned((w94 | (13'h9))), (-19'h8), {w97, w7}, w98, w89, $unsigned((-w73)), ((~^w9) ? w10 : (w75 & w81)), {(-29'h1d), (18'h3), (-16'hc), w9, (25'h7), (-9'hd), (25'h10), w86, w100, (-24'hc), (-1'h13), w9, (-16'h14), w6, (-30'hb), (31'h10), w100}, (~&$unsigned(w99)), ((~^w1) ^~ $unsigned((8'hc))), (~^(w96 >> w6)), (-7'h18), $unsigned({(10'hb), (-6'h10), (-20'h17), w10, (17'h10), w70, w81, (18'h7), (-23'h9), w100, w88, (11'hc), (-9'h7), w72, (-6'h16), (-25'h3), (-13'h12), w99, w4, (-8'h12), w86, (10'h1e), (13'h6), w67, w4})};
-assign w67 = $signed({w90, $unsigned(w69), (w8 < w88), (18'h4), w83, (w93 !== w88), (&w91), (!(25'h9)), (-16'h9), {(12'h5), w99, (-5'h19), w96, w92, (-20'hf), w81, w72}, (21'he), w91, w5, ((11'h2) ? w75 : (-12'hd)), {(17'h9), (9'h2), w96, (-25'h9), (-7'h9), w87, (28'hc), w5, (-12'h4), (-19'h1c)}, (w87 ^~ w79), (w5 !== w86), ((19'h12) >= w77), $signed((27'h19)), ((23'h12) >= w90), (w80 ? (26'h1d) : (21'h3)), w94, (-23'h3), w2, w93, {w8, (7'h1), (-12'h1b)}});
-assign w68 = (^~$unsigned(w96));
-assign w69 = (+(+w6));
-assign w70 = (~|w10);
-assign w71 = (4'he);
-assign w72 = (((~&((-25'h15) || w97)) ? ((-22'h5) ? (-4'h3) : (^w7)) : w100) ? (-24'h1d) : (-24'he));
-assign w73 = w6;
-assign w74 = (2'h10);
-assign w75 = ((~|{w98, w3, (-19'h8), w95, (30'h1c), w7, w92, (7'h6), (-27'hb), w99, w82, w91, (-9'h18), (25'h18), w90, w82}) <<< w9);
-assign w76 = w8;
-assign w77 = {{(17'h8), (-9'h0), (-17'h1)}, $signed({(-16'hd), w84, w82, w88, w78, (-23'h2), (28'h1b), (-24'h3)}), ((|w98) == {w6, (-31'h1b), (17'hd), w95, w7, (-15'h1a), w89}), {w4, (-18'h1d), w98, w95, (2'he), w99}, (-(!w100)), w82, ((30'h1e) | (^w3)), w5, $signed({(31'h1e), (13'h9), w81, (29'h10), w79, w82, w5, (-11'h16), w84, w80, (-10'h12), (8'h8), (-29'h8), w98, (-5'h17), w99, w92, w90, (-13'h1), (-20'h9), (-24'h1c), w82, w97, w89, w88, w81}), {w94, w78, w83, w92, (24'hc), (5'h19), (8'h1c), w87, w90, w91, w81, (20'hd), w6}, (17'ha), (1'h1a), {(-5'h1), w5, (21'h19), w86, (-16'he), w79, w93, w7, w94, w95, w83, w79}, (!{w78, w8, (-12'h7), (7'h2), w92, (-25'hf), (-30'h8), w7, w86, (26'h8), w93, (-1'h11), w98, w95, (-14'h0), w1, (25'he), (-12'hd), (-12'hf), (-13'h1d), w85, w84, w82, w86, (-29'h15)}), {(-30'ha), w79, w78, (-16'h10), w94, w86, w92, w1, (12'h19), w7, (11'h1d)}, {(-19'h1), w82, (2'h17), w7, w89, w80, (19'hf), w81, (23'h1b), (6'h9), (10'h1e), (15'h4), w79, (-34'he)}, (-14'h1c), (-18'he), (~&$signed((5'he))), (30'h1c), w87, ({w100, (-13'h1a), w96, (18'h1b), (14'h14), w88, (29'h15), (26'h14), (4'h19), w99, w92, (-15'h10)} || (w86 ? w91 : (-26'h4))), {(20'h11), (-9'h17), (1'h15), (15'h1c), (-15'hd), (24'h10), (10'hd), (-11'h12), w99, (23'h19), w4, (-6'h9), w8, (15'h1a), w79, w100, w88, (-27'h1b)}};
-assign w78 = (~|({(-22'h19), (5'h7), w99, (-27'h5), w93, w100, w88, (-10'he)} ? (17'h6) : ((11'h19) ? ((23'h5) ? (6'hf) : w86) : (~&(-3'hf)))));
-assign w79 = (+(29'h15));
-assign w80 = {$unsigned(w7), w86};
-assign w81 = $signed((+(-31'h16)));
-assign w82 = (&(w6 ? w98 : ((-7'h4) <= (~^$unsigned((30'h16))))));
-assign w83 = (+(|(((-32'h10) << ((-16'h18) * w94)) ? (w87 ? w7 : w8) : (w92 <<< ((-29'h12) ? (-3'h1d) : (3'h2))))));
-assign w84 = {{(-19'h18), w10, w8, (6'h2)}, w94, (18'h5), (!((17'h1c) ? (-18'h6) : (4'h1))), {(-18'h8), (12'hf), (-2'h19), (-25'h14), w9, (18'he), (-3'h9), w99, (27'h19), w99, (23'h13)}};
-assign w85 = $unsigned({(-22'h1d), (^w100), {w95, (-7'h4), (13'h13), w1}, {(-29'h16), w94, (-4'h5), w89, (23'h10), (-20'h4), (3'h7), w6, (4'hb), w95, (-5'h11), (-7'h5), w8, (-23'hb), w4, w90, (25'ha), w8}, w2, {w94, (17'h15), w93, (-3'h7), w93, (30'h19), w99, w3, w8, w4, w96, (11'h4), w1, w94, w95, w92, (16'he), (7'h1a), (16'h14), w87, (12'h8), w92, w7, (-5'h1b), (-27'hf), (28'h11), (-31'h7), w6, w96, (19'h16)}, {w2, (-6'h4), (3'h1a), w92, w87, w91, w8, (-17'h15), (-23'h9), (18'h8), w92, w89, w10, (16'h12), (21'h19), (-16'h14), (1'h1c), (-11'he), w4, w1, w90, (26'h4), (5'h10), (-10'h15), w89, (-10'h1), (9'hf), w87}, ((21'h11) === (-9'h18)), $unsigned((-21'h13)), (22'h17), (w94 ? w6 : w93), (w9 ? w94 : w92), $signed(w10), (&(-28'h18)), ((-12'h0) ~^ (-5'h16)), (22'hd), (-16'h1e), (-6'h3), w3, {w87, (-24'h1a), (22'h8), w9, w10, (-18'h10), (-2'ha), w1, w100, w6, (-3'h1b), w3, (-15'h14), (23'h1d), w4, (-7'h6), w87, w10, (-19'h16), (12'h1c), w4, w95, (12'hc), w3, w1, w3, (-7'he), w9}, $signed((17'h3)), $signed((-16'hb)), (~&w8), (w87 ? (-23'h19) : w7), {w91, w88, w87, (-15'h0), (27'h13), (-28'h0), w94, (-1'h5), w95, w5, (-24'h10), (-6'hd), w94, (7'h14), (-21'hf), w91, w97, (-30'h3), w97, w96, w7, w93, (-26'h11)}});
-assign w86 = (-$unsigned(($signed(w2) >= ((w3 !== w96) ~^ ((-30'h5) & w88)))));
-assign w87 = {{(13'h16), (23'h1b), w90, (-5'h17), (30'h16), (11'hc), w94, (-20'h17), (-8'h1b), w3, (29'hc), w7, w90, (-1'h1a), (28'h7)}, w6, $unsigned((14'h1c)), ((~^(-13'hc)) ? (~|(2'h7)) : (^~(2'h1b))), {w94, (-16'h14), (25'he), w91, w10, (19'hd), (8'h18), w96, w10, (-28'he), (-16'h11), (23'h15), (14'h1c), w100, w3, (-18'h14), w90, (-3'h1d)}, (^((-3'h19) > (-12'hf))), w95, {w2, (19'h2)}, $signed((-(33'h9))), w97, (+(^~w93)), (|((-28'h0) ? w3 : w92)), $unsigned((&(-2'h1c))), $signed(w4), w100};
-assign w88 = {{(-19'h9), w96, (22'h3), w94, w99, w91, (-10'h12), (-7'h1b), (6'h17), (9'h1c), w100, w90, (-25'hf), (13'h13), w5, w6, w90, w91, (-14'h19), (-29'h1e), w98}, (w4 != (18'h1e)), ((w3 ^ w97) < (!(17'h1))), {w92, (-9'h15), (-24'h15), w10, w91, w99, w99}, {w91, (-28'h8)}, {(17'h8), (25'h13), (31'hc), (27'h18), w1, w2, (8'h1), (16'hd), (-25'h4), (13'h1a)}, {(1'hf), (28'h15), (-25'h7), (7'h14), (4'h1b), (-23'h14), (4'h8), (4'h7), (27'h4), w95, w97, w1, (31'h10), (23'h1), w90, w91}, ((20'h9) <= w10), $signed($unsigned(w1)), $unsigned(w90), {(-13'h17), (24'h15), (-23'h13), (-1'h2), w99, (-29'h11), (-18'h1d), (29'h16), (16'h11), (-4'h2), (-29'h3), (27'h1b), (12'h1b), w97, (-28'h13), w95, (3'h3), (14'h12), (-10'h1a), w1, (1'h7)}, (((8'h1e) ? (29'h3) : (25'h4)) <= (-30'h5)), (!((-30'h1b) ? (10'h1c) : w2)), ((w91 == (15'he)) ? (^(1'h7)) : (w96 < (-15'h16))), ((w4 ? w89 : (-29'ha)) ? (~|w95) : {(-28'h16), w1, w93, w92, (30'h1e), (-21'h1d), w6, (25'h1e), (16'h18), w8, w96, w98, w99, (-30'h1c), (-6'h2), w4, (-22'h6), (-18'h3), w10, (-18'h1a), w89, (25'h8), (-17'hb), w2, w98, w94}), ({(7'he), (28'h17), w92} ? {w91, w97, (9'h8), (24'he), (-30'hf), (-4'h12), w2, w2, w90, (7'h1), w7, w9, w6} : w94), $unsigned(((8'hb) ? w4 : w6))};
-assign w89 = ($signed((^w94)) ? ($signed((12'he)) ? (-29'hd) : (-28'h16)) : (~^(-21'h13)));
-assign w90 = (({(29'h9), w93, w98, (9'h2), w6} ? (10'hd) : (17'h1)) ? $unsigned(((-30'h1d) || (~|w96))) : ({w7, (2'h9), (5'h1e), w97, (-26'h16), (24'h14)} >= (17'h5)));
-assign w91 = ((27'h1d) > ($signed(((7'h10) !== (-30'h19))) ~^ {w92, (-30'h1d), (-12'hd), (30'he), (-7'hc), (-25'h16), w93, (-20'h1a), w1, w1, (-1'hc), (-28'h1c), w92}));
-assign w92 = ({{w1, w99}, (&(-6'hb)), (-19'hd), (w93 && (-11'hb)), (w94 ? w97 : (-2'h9)), ((-30'h8) ? (-8'he) : (-24'h2)), {w94, (-19'h17), (7'hf), w97, (5'ha), w9, w10, w93, w2, (-28'h0), (-19'hb), w93, w93, w93, (20'h11), (24'h5), w3, (-1'h15), (-4'h17), (27'h13), w96, w7, w95, w94, w93}, (^(-20'h10)), ((-3'h16) > w100)} ? (($unsigned((-30'h1b)) <<< (6'h19)) ? ((~^(23'ha)) == (w98 ^ (-10'h1))) : (20'h16)) : {((28'h4) != w8), (~^(18'h9)), $signed(w97), w1, w94, $signed(w4), w1, ((20'h13) ? (6'h1b) : w97), (^w4), $signed(w97), {(-9'ha), (25'h11), w98, w99, (-19'h18), (12'h1e), (29'h1a), w93, w96, (6'h1), (9'h17), w98, (-13'ha), (-3'h1e), w97, w100, w96, (-21'he), w94, w8}, {(28'ha), (11'hd), (-20'h16), (-13'h3), w98, (-16'h19), w99, w9, w5}, (-29'h13), {w5, (20'ha), w5, w94, (-1'h12), (-26'h12), (2'hd), w8, w6, w94, (-28'hb), (-11'hf), (-7'h2), (27'h16), w8, w95, w2, w8, (1'h10), (-9'h12), (-1'h0)}, ((-20'h5) & w94), {(-30'h16), (-23'h17), w97, (18'h16), (-2'h0), w10, w10, w5, w6, (28'h13), (-19'h0)}, w98, $signed((18'h3)), w8, $unsigned(w97), ((-25'h16) ^~ (-18'h7)), (-15'ha)});
-assign w93 = {((+(28'ha)) >>> w2), (-11'h15), $signed(w4), ((12'h7) < w6), (2'h19), (!(-(-30'h19))), ((~&(-15'hf)) ? (^~(12'h17)) : $signed((-4'h1d))), ((^w95) ? $signed(w1) : $unsigned(w5)), $signed((w96 ? (-31'h3) : w100)), w99, w95, w7, (-2'hb), (+w5), ({(-30'h0), w96, w10, (-23'h0), w98, w2, w1, w96, (19'h8), (-22'h18), (3'h1b), (6'h6), w7, w99, (18'h19), (10'he), (16'hf)} ? ((19'h12) ? (-2'h8) : (23'h6)) : $unsigned(w9))};
-assign w94 = ((10'hc) ? (~&{w100, w100, (17'he), (10'h1b), (4'h1a), (2'h15), (-4'h4), w3, w1, (-9'hf), (19'h1c), w99, (29'h2)}) : w2);
-assign w95 = w3;
-assign w96 = $unsigned((-1'h17));
-assign w97 = ({(w9 ^ w7), ((-27'he) != w99), ((-19'h17) ? w1 : (23'h1e)), (w10 ? w9 : (1'h11)), (w2 ? (1'hc) : (8'h5)), (-28'h11), (w3 ? w99 : w6), $unsigned(w9), (w98 > (-5'hc)), (-5'h14), ((-20'h0) ^~ (-4'h1b)), {(8'ha), w100, w1, (-3'h1d), w98, w6, w9, (-15'hc), w99, (-18'h4), (-4'h1b), w3, (20'h6), (27'h5), w3}, w99, (~^(-26'h11))} ? $signed(($signed((-7'h1c)) ? (w4 >>> (-2'h4)) : ((-23'h10) && w3))) : {(+(-17'he)), (^(18'h10)), {w2, w98, w7, w98, (-26'h1), w6, w4, (9'hb), (29'h1), (-1'h1e), (-15'h11), (29'h18), (-4'h1a), (23'ha), (24'h14), (17'h10), (28'h14), (32'hc), w99, (-29'hc), (-10'hf), (-24'h11), (31'h19), w2, (-14'h15), w6, w4, (2'hc), w7, (-17'h7)}, (&w100), {(29'h18), (-25'h4), (6'h13), (27'h7), (-22'h18), (-23'h4), w3, (-26'h1), (29'h1d)}, ((19'h1b) ? w3 : w3), (4'ha), $unsigned(w6), ((-19'hc) ? w8 : (29'h9)), w99, (w7 && w4), (|w5), {(7'h4), w1, w3, w98}, w10, ((-2'h13) * w99), (w8 + (-5'h12)), (-17'h16)});
-assign w98 = (w4 >> (-11'h3));
-assign w99 = w2;
-assign w100 = (10'h3);
-assign y = {w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, w29, w30, w31, w32, w33, w34, w35, w36, w37, w38, w39, w40, w41, w42, w43, w44, w45, w46, w47, w48, w49, w50, w51, w52, w53, w54, w55, w56, w57, w58, w59, w60, w61, w62, w63, w64, w65, w66, w67, w68, w69, w70, w71, w72, w73, w74, w75, w76, w77, w78, w79, w80, w81, w82, w83, w84, w85, w86, w87, w88, w89, w90, w91, w92, w93, w94, w95, w96, w97, w98, w99, w100};
-endmodule
diff --git a/bugs/original_3.v b/bugs/original_3.v
deleted file mode 100644
index d29bda1..0000000
--- a/bugs/original_3.v
+++ /dev/null
@@ -1,194 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1505:0] y;
-input wire [12:0] w1;
-input wire [2:0] w2;
-input wire [16:0] w3;
-input wire [8:0] w4;
-input wire [15:0] w5;
-input wire [22:0] w6;
-input wire [8:0] w7;
-input wire [16:0] w8;
-input wire [17:0] w9;
-input wire [20:0] w10;
-wire [2:0] w11;
-wire [15:0] w12;
-wire [8:0] w13;
-wire [10:0] w14;
-wire [28:0] w15;
-wire [23:0] w16;
-wire w17;
-wire [10:0] w18;
-wire [8:0] w19;
-wire [8:0] w20;
-wire [28:0] w21;
-wire [10:0] w22;
-wire [6:0] w23;
-wire [5:0] w24;
-wire [22:0] w25;
-wire [15:0] w26;
-wire [27:0] w27;
-wire [18:0] w28;
-wire [13:0] w29;
-wire [19:0] w30;
-wire [1:0] w31;
-wire [14:0] w32;
-wire [29:0] w33;
-wire [25:0] w34;
-wire [18:0] w35;
-wire [19:0] w36;
-wire [17:0] w37;
-wire [2:0] w38;
-wire [15:0] w39;
-wire [21:0] w40;
-wire [27:0] w41;
-wire [23:0] w42;
-wire [14:0] w43;
-wire [28:0] w44;
-wire [10:0] w45;
-wire [15:0] w46;
-wire [17:0] w47;
-wire [4:0] w48;
-wire [26:0] w49;
-wire [27:0] w50;
-wire [21:0] w51;
-wire [23:0] w52;
-wire [5:0] w53;
-wire [12:0] w54;
-wire [15:0] w55;
-wire [25:0] w56;
-wire [26:0] w57;
-wire w58;
-wire [14:0] w59;
-wire [19:0] w60;
-wire [28:0] w61;
-wire [10:0] w62;
-wire [11:0] w63;
-wire [19:0] w64;
-wire [17:0] w65;
-wire [1:0] w66;
-wire [21:0] w67;
-wire [14:0] w68;
-wire [5:0] w69;
-wire [18:0] w70;
-wire [26:0] w71;
-wire [26:0] w72;
-wire [2:0] w73;
-wire [2:0] w74;
-wire [15:0] w75;
-wire [10:0] w76;
-wire [19:0] w77;
-wire [16:0] w78;
-wire [9:0] w79;
-wire [8:0] w80;
-wire [8:0] w81;
-wire [24:0] w82;
-wire [28:0] w83;
-wire [10:0] w84;
-wire [29:0] w85;
-wire [18:0] w86;
-wire [6:0] w87;
-wire [18:0] w88;
-wire [27:0] w89;
-wire [24:0] w90;
-wire [11:0] w91;
-wire [13:0] w92;
-wire [9:0] w93;
-wire [16:0] w94;
-wire [25:0] w95;
-wire [16:0] w96;
-wire [21:0] w97;
-wire [18:0] w98;
-wire [25:0] w99;
-wire [6:0] w100;
-assign w11 = (^{(w10 ? w30 : (26'hb)), (w89 ^ w59), (-2'h19), (|(-19'h6)), w93, ((13'hf) ? w20 : (11'h17)), {w15, (1'h3), (-29'h1c), w64}, (w87 && (-6'h13)), (^w85), $unsigned(w21), (~^(17'h1e)), (w3 ^~ (-22'h19)), $unsigned((-29'h15)), (-(-19'h7)), (w40 <= (-22'h17)), ((-29'h6) ? w41 : (-16'h17)), {w78, (-25'he), (30'h1), w1, (-12'h9), w13, w81, (-30'h15), (8'h1c), w73, (17'h1), (-17'h1b), (30'h9), w68, (12'h1d), w12, w42, (-6'h17), w73, (10'h1b), w10, (-8'h12), w28, w74, (24'h10), (30'h17), (2'h1c)}, (w13 ? w81 : w12), {(-7'hd), (2'h5), (-25'h1e), (6'h4), (20'h11), w3, (14'he), (21'h15), (-2'h1d), (14'hc), (-24'h1), w40}, {w49, (-23'h2), (23'h7), w67, w39, (-29'hb), w61, w18, (-24'ha), w93, w37}, w39, ((8'h16) >= (18'h1c)), (!(-3'h16)), (~|(-22'h1a)), {w92, (25'h15)}, {w98, w43, (-26'h1), (-1'h16), (-23'h1d), (-18'h1b), w5, (14'h1), w26}});
-assign w12 = ((({(-7'h4), (10'h10), (3'hc), (26'hf), (-18'h1), (-22'h1e), (27'h8), w84, w60, (22'h8), w4, w65, w92, (-30'h17), w10, (16'hc)} ? (6'h17) : (|(w40 ? (23'h19) : w67))) ^ (w90 ? (-18'hd) : ((-12'hb) ? w81 : w54))) >>> w65);
-assign w13 = (w64 ? (-15'h14) : (~&(~|{w9, w83, w68, (-11'h12), (-6'hb), w96, (25'hd), (-12'h0), w62, (-5'h18), w44, w41, (8'h1e), (-4'h1), w44, (-30'h1d), (16'h1c), (3'h14)})));
-assign w14 = w50;
-assign w15 = {(^~$unsigned(w21)), ($unsigned((11'h16)) - (~&w24)), {(31'h4), (-35'hc), (1'h1d)}, ((^(-25'hf)) ? (24'h1e) : (w67 ? w81 : w84)), {(-20'h14), (-25'hf), (-17'h5), w54, (2'h13), (-29'h5), w37, (-10'ha), w70, (-16'ha), (14'h1e), w56, w67, w82, (17'h14), (20'h1)}, $signed((-15'hd)), (~^{w87, w74, w35, w47, (-31'h17), w70, (3'h3), w64, (-5'ha), w44, w41, w76, w47, (-18'h15)}), $unsigned((w70 - w31)), {w34, (-12'h1b), (-5'h1d), w20, w33, w4, (17'h1b), w4, (-13'h17), w48, w25, w48, (-10'h17), w25}, (-11'h8), $signed((w96 ? (-9'h1e) : w38)), $signed((^~(-19'h3))), ((!w30) === (~|w24)), (^~(24'h14)), (+(^w100)), (~&w67), (-19'h0), (-3'h7), (14'h9), ((-(22'ha)) <<< w55), w6, {(-12'hb), w51, (20'h6), (-5'h1b), w4, w25, (-15'h1a), w17, (3'h10), w68, w45, (-4'h1e), (-5'h19), (-13'h12), w75, (9'h1a)}, (-13'h0), ((-8'h8) ? {(23'h18), (-9'h18), w81, w20, w4} : {w51, (-25'h12), w70, (18'ha), w23, w80, w48, w41, (11'h1e), w35, (9'ha), (14'hf), w44, (12'h3), (12'h2), (13'h7), w82, w18, (7'h1b), w62, w58, (7'h2), w2, w31, (-21'hc)}), (w5 ? (w56 ? w56 : w24) : (7'h1a)), (-22'h5), (17'h19), w45, {w53, w98, (12'h14), (25'he), w92, (-9'h1a), w79, w28, (-28'h2), (29'h1b), (-23'h8), (27'hd), w19, (2'h3), w32, w65, (-25'h5), (-23'h16), (-19'hb), (14'h6), w39, (14'h14), (3'h12), (-20'h9), w66, w24}, {(-3'h14), (26'h10), (-10'h16), (-20'h19), (-21'h1c), w83, w23, w40}};
-assign w16 = (-15'h15);
-assign w17 = ($signed(((!(w89 ? w96 : w46)) ? $unsigned($unsigned(w81)) : {(16'h14), w40, w95, (-9'ha), (4'h1d), w7, (-24'h10), (-6'h15), w36, (-4'h10), (-3'h1c), w73, w83, w34, (-26'hf)})) > ({(6'h7), w33, w83, (1'h1), w47, (-17'hf), w9, w20, (-6'h7), w10, w64, w20, w20, w60, w4, w2} | (-9'hd)));
-assign w18 = {(|((-23'h1d) ~^ w23)), {w94, (2'h5), (-14'h18), w96, (-28'h18), (3'h2), w31}, w26, (-(17'he)), (-4'h16), $unsigned((-31'h1b)), w96, (w53 ? $signed(w22) : (20'h1)), $unsigned((15'h1b)), {(-16'ha), (15'he), w79, w9, w91, (22'h18), (-17'h7), (12'he), w53, (-18'hb), w31, (25'h2)}, ($signed((-15'h2)) ? w4 : ((-12'h10) ? (15'h16) : w4)), $signed({w75, (13'h16), w49, w37, (3'h7), w69, w1, w95, (8'h1), (-23'h5), (18'h5), (5'h18), (-20'h3), w72, w63, w74}), $unsigned(((1'h8) != w6)), (((15'h15) ? w76 : (-29'h4)) * (20'h1)), ((w9 ? (-26'h10) : (18'h16)) == (w56 == (16'he)))};
-assign w19 = (-{((3'h1b) ~^ w51), (-(11'h7)), $unsigned((-27'h1b)), (w30 ? w48 : w78), $unsigned(w71), {w75, (12'h11), w69, w32, (30'h18)}, (22'h2), w30, $signed(w35), w90, w92, ((-29'h14) ^~ (-26'h1e)), (|w81), w82, (w7 ? w52 : (14'h10))});
-assign w20 = {((w97 ? w33 : (2'h2)) ? $unsigned(w26) : ((3'h5) ~^ w57)), (^~(w28 ? (-10'hc) : (26'hf))), ($unsigned((-14'ha)) <<< (~|w39)), (13'h2), (((10'hc) ? (6'h8) : (-1'h1)) < (^(-11'h1b))), (-17'h2), ((w22 <= (23'h16)) ? (w76 ? (11'h16) : (-25'h1d)) : {(12'h4), (25'h15), (-16'h14), w1, (-29'h16), (20'h17), w90, w96, (23'h1d), (3'hd), w94, w67, (-27'h1d), (-21'hc), w57, w73, w71, w10, w96, (23'h6), w85, (32'hd), (-10'h2), (-25'h6), w60, (1'h5)}), {w47, w88, (-5'ha), w99, w100, w81, (-24'h15), w28, (-23'hb), (-17'h6), (-15'h9), (7'ha), w37, w55, (-24'h10)}, ((-22'h13) ^ {(-11'h13), w22, (2'hb), w55, w91, (-27'h6), (-29'hd), w96, (-6'h13), (-27'h16), (22'hb), w33, (-5'hf), w1, (-12'h1a), w83, w35, (-23'h7), w86, (4'h10), w77, w73, w92, w21, w70, w97}), (28'h8), ((w87 | w5) ? w43 : {w99, w36, (-29'h1), w34, w30, (-7'he), (-29'h17), w4, (-5'h13), w62, w6, w28, (-30'h15), (-18'h8), w84, w54, w45, w25, w46, w5, (-10'ha), w29, w40, (15'h1e), (-12'he), (23'hd), w35, w64}), $signed((13'hc))};
-assign w21 = ((-7'h12) ? (w71 <<< (&(4'h11))) : (w67 <<< ({w2, w60, w38, (12'h4), (-1'hb), w39, w50, (-1'he), (16'h1a), (-31'h13), w61, (-17'h1b), w34, w29, w22, w68, (8'h3), (1'h1c), (12'h5)} ~^ ((|w38) & ((-2'h12) ? (-18'h8) : w84)))));
-assign w22 = ((w61 && ((w44 ? (-11'h19) : (-19'h6)) ? (^(!(-1'h8))) : ((-24'h12) ? (27'h6) : w70))) <<< w84);
-assign w23 = w68;
-assign w24 = (-8'h3);
-assign w25 = (24'ha);
-assign w26 = (&{(-14'h3), (12'h8), (10'h19), (25'h17), (w96 - (27'h4)), {(-5'h16), (-26'h6), (-24'h4), (21'h13), w64, w81, w6, w81, (5'h7), (3'h2), (19'h16), (-29'h1c), w2, (29'h3), (-4'h14), w99, (-9'h9), (-12'h15), w53, (14'h1c), w42}, w65, (2'hf), (w5 !== w30), ((-6'h19) ? w95 : (-23'h1a)), $unsigned(w53), (^(22'h9)), (w96 ? w82 : (13'hb)), w35, w9, $signed(w72), (+(10'h1b)), {(-16'h17), w40, w56, (16'hb), w64, (-11'h15), w68, (32'h18), (-14'h13), (6'h4), w82, (-26'h16)}});
-assign w27 = (($signed((-17'h2)) & ({w42, (12'h18), (-28'h1c), w7, w92, w8, (10'h2), w97, w2, w57, w97, w71, (1'h4), (16'h13), w47, w89, (4'hf), w72, w32, (-22'h6), w66, w68, (-30'h0), w48, w70, w44, (-3'h15), w63, w76, (26'h5)} ? ((~^(32'hd)) >= {w89, (18'h1d), (5'hb), w57, (-30'h2), w94, (15'h16), w38, w70, (-5'ha), (17'h9), w39, w45, w72, w79, w39, (25'h7), (-8'h13), w30, w29, w51, w59, w7, w82, w92, (3'hf), (-20'h1a), (17'hc), (28'ha), (11'h9)}) : ((-16'h12) ? (23'h16) : (30'h3)))) || (-30'h1));
-assign w28 = ((($signed((14'h19)) << (&w30)) ? $signed((!(21'hc))) : (-14'h1e)) ? w80 : {((24'h3) ? (19'h12) : (-7'hf)), (&(9'h13)), ((-3'h16) - (-35'h12)), (w45 ? w94 : (29'h17)), (w45 ? (24'hd) : (28'h17)), (w73 ? (17'hf) : (-29'h13)), $unsigned((-36'h8)), $unsigned(w99), (w91 | (29'h4)), {w73, (17'h2), (-26'h1b), w67, w86, (2'h8), w79, w44, w78, (-9'he), w43, (30'hb), w33, (-8'h19), (-17'h1), (-23'h6), w86, (-8'h19), (12'h16), (9'hd), (10'h15), w49, w35, (-1'h10), (20'h11)}});
-assign w29 = (-27'h4);
-assign w30 = w60;
-assign w31 = (6'ha);
-assign w32 = w43;
-assign w33 = $signed($signed((-6'hf)));
-assign w34 = w78;
-assign w35 = $signed({w61, ((-13'h16) ? (-15'ha) : (33'h18)), ((20'h13) ? w75 : w40), w39, ((19'h1c) ^~ (7'ha)), ((16'h17) - (-20'h5)), w36, (~&(17'h17)), w67, (^(10'h11)), ((9'h13) ? w84 : (-25'h16)), (w49 ? (-15'hd) : w79), {(19'hc), w49, (-26'hb), (30'h1c), w92, w68, w72, (17'h3), (5'h14), w99}, ((19'ha) && w63), (&w43), {(11'h10), (-4'h10), (-30'h0), (-28'h15), w38, (3'h2), w99, w39, w85, w63, w79, (22'hc), w48, w99, (14'h16), w56, w40, (27'h1c), (16'hc)}, {w63, (-15'h1a), (-1'h2), (-22'hc), (1'h13), (16'h3), (-18'h1d), w66, w92, w41, w95, w51, w3, w43, (-7'h1e), (6'h1e), (-29'h18), w47, (29'h13), w70, w78, w50, w66, w45, (-26'h2), w53, w92, (22'h5), (-14'hc), w10}, ((3'h4) || (20'h6)), {(7'h18), w86, w84, (-21'h18), (6'h1b), w61, w9, (-7'hf), w73, (17'h1), w96, (-8'h16), w84, w40, w73, w48, w9, w57, w80, w87, w95, (22'h18), (17'h17), w66, w43}});
-assign w36 = $signed($signed(w5));
-assign w37 = ({(w86 ? w51 : (11'h14)), (^~w87), {(9'h6), (22'h1b), w10, w57, w56, (3'hd)}, w49, ((-34'hd) ? w88 : w3), (-15'h18), (+(-11'h8)), w59, (-5'h7), $signed((-19'h1a)), (w44 * w50), (~&(-28'h1e)), (w43 * w97), ((-8'h1d) ? w89 : (-18'h1b)), $signed(w49)} | {(^~(13'h14)), w74});
-assign w38 = (~&(28'hb));
-assign w39 = {(11'h16), ((-36'ha) ? (~^(-32'h16)) : ((-13'ha) + (21'h14))), ((w1 && w57) - {(3'h19), (-20'h1a), w85, (-23'h18), w85, w88, w68, w56, w54}), (-{(28'h8), (15'h1a), (10'hd), (-17'h11), w56, w55, (-27'h14), (-7'h12), (-10'h12), (-34'hd), (22'h17), w79, w88, w46, (7'hb), w59, (-26'h12), w6, (26'ha), w88, (27'h1c), (-9'h14), (-15'h11), w70, w87, w3}), {(-32'h1b), (-16'hc), (29'ha), (-24'h5), (-28'h8), (8'h1b), w76, w41, w75, w94, (23'h3), w45, (21'h6), (-26'h1c), w82, w57, (-7'h2), w43, w98, (-18'h18), w56, (-8'h1a), w95, w97, w62, (-8'h8), (24'h3)}, (w82 >> $signed(w88)), {(16'hb), (22'h1e), (5'h7), (-7'h17), w70, w63, (2'ha), (16'h15), w49, (-16'hf), (-9'h1d), w53, (19'hb), (-22'h14), (-13'h18), w66, (-28'h14), (24'h1d), (-28'h1), (-2'he), (11'h1e), (-12'h17), w56, (1'h17), w95, w42, (1'h5), (-19'h0)}, $unsigned(w55), ((&w8) ? w60 : $unsigned(w59)), {w72, (-15'h11), w2, w63, w59, (10'h1a), w48, w71, (-27'hf), (-29'h17), w91, (-8'h1a), (-11'h4), (7'h15), (-26'h15), (10'h16), w7, (-29'h11), w81, (12'h4), (23'h8)}, w56, $unsigned(((1'h2) ? (4'h6) : w98))};
-assign w40 = $unsigned({((27'h1a) ? (31'h17) : w92), {(-31'h1), (-10'h7), w9, w83, w2}, (w78 ? (-7'h2) : (-2'h1b)), (28'h13), (23'h3), (-16'hc), (|w46), $unsigned((-23'h1c)), (w50 ? w72 : w100), (6'hc), (w87 ~^ (-26'h1a)), (w89 >= w88), (30'h8), w87, $unsigned((21'h8)), (^(12'h1c)), $unsigned(w96), (-15'hb)});
-assign w41 = (20'h19);
-assign w42 = ($unsigned(w97) ~^ $unsigned((19'h1c)));
-assign w43 = (-27'h10);
-assign w44 = (-29'h19);
-assign w45 = {($signed(w46) ? ((24'h10) << w93) : $signed(w78)), ($unsigned(w93) >> (~&w84)), (^((-21'h16) >= (29'h11)))};
-assign w46 = {$unsigned(w68), (&(20'h18)), w98, (-9'h1c), {w72, w47, w74, w88, (-25'h3), w62, (12'h15), (29'h9), w80, w66, w63, w70, w67, (16'h4), w70, w1, (-6'hb), w56, (-26'hb), (25'h1b), (24'hb), (-20'h11), (13'h5), (-5'h7), (-6'hf), (-21'h1d), (-7'hb), (-28'hb)}, ({(-17'h1e), (-12'h1d), w5, w92, (22'h1a), (6'h15), (18'h12), w77, w97, w58, w64, (6'h2), (-27'h2), w47, w9, w81, (18'hd), (9'hc), w97, w57, w96} >>> w76), $signed({(11'h5), w53, (8'h1e), w99, w100, w83, w62, w68, w79, w83, w62, (31'h1c), (15'h3), w77, (1'h11), (6'h19), w8, w63, (-23'h9), (10'h15), (-26'h18), (-25'h1d), w59, w99, w89, w64, (13'h1b), w50, w98, w76}), $unsigned($signed(w74)), $signed((-31'h19)), ({w97, (26'h1), (20'h15), w50} ? ((-21'hf) ? w63 : w83) : (16'h10)), {(25'hd), w94, (22'hb), w78, (1'h12), (12'h1b), w91, w5, (-8'ha), w47, (9'h1e), w49, (-32'hf), (-11'h7), w76, (6'hb), (2'h1a), w68, (-20'h6), w58, (-16'h1b), w79, w1, w81, w62, w75, w85}};
-assign w47 = ((5'h10) ? ($signed((&(-16'hd))) ? (27'h19) : w78) : {(-5'h15), (w88 ? (-19'hb) : (-19'h0)), $unsigned((14'h3)), $unsigned((-23'h10)), $unsigned((-25'h7)), w54, (-(11'h11)), ((1'h9) && w96), (-10'h5), $unsigned(w95), {(30'h16), (-19'h10), (-27'hd), (17'h1e), w69, (-5'h7), (-29'h13), w66, (-8'h9), (-9'h15), w94, w76, (-20'h16), (4'h2)}, ((-17'h16) <= w75), w53, $unsigned(w58), {w89, w68, w88, (-28'h17), w53, (20'h3), (7'h4), w76, (8'h17), w55, w1, w67, (18'h1b), w82, w10, w98, w70, (-23'h15), (12'h1e), w64, (20'h10), w63, w5, w60, w81, (11'h13), w76, (8'h17), (-1'h14), w68}, w94, w93, (+(19'h13)), $signed((6'h2)), {w78, w61, w65, (-28'h17), w54, (27'h8), (-21'h4), w72, w1, w83, w66, (-7'he), w93, (-13'h3), (4'hf), (-12'ha), w55, (-22'h3), w54, (-10'hc), w55, (11'h1e)}});
-assign w48 = {(-(11'h9)), {(-29'h4), (23'h17)}, ((^(17'h8)) ? (|w57) : {w10, (-32'h14), w64, (-20'h19), (5'h1b), w7, (17'h17), (12'h10), w65, (16'h13), w51, (-5'ha), (-14'hd), w10, w53, (30'he), (27'h19), w53, w71, w90, (19'h9), w86, w8, w72, (-9'h12), w71, w73, (16'he), (-29'he)}), {(10'ha), (-18'h4), (-22'h14), (20'ha), w61, w68, (19'h16), w4}, (~|$signed((11'h12))), (((19'hd) ^~ (-19'h0)) ? (+w66) : w99), {(-21'h1c), w65, (-15'h16), (-32'h5), (29'h16), (-8'h14), (8'ha), (19'h3), w6, (25'h17), w72, w70, w4, w72, w60, w88, w77, (13'h18), w3, w63, w98, w96}, w86};
-assign w49 = (-10'h1b);
-assign w50 = $signed(({w89, w86, (22'h8), w81, (25'h3), w59, w78, (-15'h14)} >> $unsigned($unsigned((~&w78)))));
-assign w51 = $unsigned({(24'hf), (!(13'h16))});
-assign w52 = (-7'h15);
-assign w53 = (({w8, (-11'h1), (-28'h1a), w64, (1'h1a), (8'h12), (21'h17), w98, (-21'h17), w78, (3'h1d), (24'h18), (-1'ha), (13'h1), (28'h18), (18'h4), (-11'h18), (-9'h8), (-10'h16), (-14'h5), w74, w92, w81, w59} ^ (~&(-7'h1))) < $signed((-7'h1a)));
-assign w54 = (^((((w73 <= (11'h7)) > (^~w9)) ? ((18'hb) ? (-14'ha) : (-15'h9)) : $signed({(17'h1b), (16'ha), w84, w82})) <= w79));
-assign w55 = ((-28'hc) ? w62 : ((|(~&w67)) ? (-((8'ha) ? (-32'h3) : (-17'h19))) : $signed(((-7'h7) ? (23'h8) : w59))));
-assign w56 = (~&w68);
-assign w57 = ({(25'h5), w79} + (w87 ? w76 : (-8'h10)));
-assign w58 = ({w74, (w92 ? w6 : (-27'hf)), ((5'h1b) ? (18'h1d) : (-9'h1c)), (~&w59), (w82 ? (30'h4) : (6'h16)), (~&(30'hf)), (w77 ~^ (20'hf)), (!w92), (19'h3), {(-8'h1e), (25'h17), (19'h4), (-16'h9), (-16'h1a), w86, w9, w63, (-19'h6), w80, (-5'hb), (-29'h11), w80, (-5'h17), w98, w84, (17'h9)}, (w96 ^~ (2'he)), (-1'h18), (30'h12), (-13'h1a), w5, {w79, w59, w6, (3'h10), (-15'h16), (-23'h5), (17'h1e), (25'h12), w86, w92, w85, w72, (-20'h0), (-24'h3), w94, w65, w88, (-12'h2), (-14'ha), (30'h1a), w68, (7'h1a), (-2'h19)}, w78, ((18'hf) ^~ w67), (~|(26'h1a)), (-14'hd), $unsigned((-6'h1c)), {w65, (29'h19), (18'hf), (-26'hf), w97, (-19'hf), (26'h1), (28'h10), w72, w81, (19'h19), w60, w87, (-26'h16), (-7'h9), w73, (-31'h19)}} > (|(((15'h3) ? (2'h19) : (16'h19)) ? w10 : (&{(6'ha), w62, w73, w83, (-9'h2), (-17'h1c), (11'hf), (-28'h12), (-27'h8)}))));
-assign w59 = {{(-33'h1c), w68, (5'h1d), (-10'h4), (-13'h1b), w5, w75}, w97, (^(15'hc)), ({(-20'h13), (16'h4), (21'h1c), w8, w82, w62, (-11'h1), w95, (-26'h3), w6, (-5'h1c), (-20'h10), (7'h1d), w6, (-9'hf), (26'hc), (13'h3), (24'h10), (3'h5), (10'hd), (-8'h1b), (-5'h4), w2} ? w98 : (w90 | (-4'h16))), w5, (3'h1), w85, (~&w67), w76, ($signed(w68) || (w95 ? (-12'hf) : w84)), {w3, (23'h1c), w86, (-21'h18), w97, w10, (-15'h4), w4, (30'hc), w65, (-10'ha), w63, (19'hb), (31'h8), w61, (6'h19), (10'hc), w8, w90}, (&((9'h1a) >= (27'h6))), ((~&w87) != ((11'h4) ~^ (13'h16))), w1, (w3 < ((16'h13) !== w66)), (-{(4'h1c), (-14'h2), w6, (12'h1e), (-21'h3), w68, w71, w88, (-2'h8), w4, w96, (28'h12), w63, w8, w72, (1'hb), w2, w98, (14'h8), w83, (-1'h1d), w75, w71, (-1'h5), (-28'hd), w89, w88, w65, w100}), (((-29'ha) ? w73 : w69) ? $unsigned((-11'h12)) : $signed((21'h16))), ({w91, w8, w96, (14'h4), (6'h3)} == {(29'h13), (8'h14), w5, (23'h12), w61, (11'h14), w64, w80, (-25'h12), (-2'h13), w7, (-17'h18), w85, (23'h5), (20'h6), w86, (24'h5), w74, (-15'h19), w65, w99, (2'hb), (-9'hb), w88, (-11'hb)}), (^(w7 >= w70)), ($signed((-20'h4)) ? w76 : (w6 ? w2 : (-24'h2))), (w78 ? ((24'h4) ~^ (-25'h1c)) : $unsigned((22'h6))), {(-26'h5), w71, (4'h7), (2'h12), w89, w67, w97, w71, (24'h19), (-12'h1d), w99, (-27'h18), (-10'h14), w75, (23'h1a), w96, w67}, ((-16'h2) ? (w9 ? (-24'h8) : w63) : {w91, w96, (9'hd), w92, (-11'h8), w100, (15'h18), w89, (9'h10), (-32'h17), w9, w61, w62, (16'h4), w100, w95}), ({(16'h10), (-20'h19), w82, (2'h9), w88, (-9'h17), (-6'h16), (-2'h1d), w92, (12'ha), (24'h9), (-16'h5), w9, (18'h9), w72, (-6'h1d), w10} <<< (w7 ? w1 : w80)), (w62 ? (!(-30'hd)) : (w99 <= (30'h1b))), (|(|(-25'h1d))), ((-5'h10) != ((-20'h14) === w75)), {w9, w98, (33'h6), w62, w8, w79, (19'h1), w6, (6'he), (-1'h2), w95, (4'h15), (26'h1), (2'h2), w63}};
-assign w60 = {w78, w79, ((w90 ? (-7'h1) : (20'ha)) || (-23'h10)), (^~(-11'h1e)), ({w82, (-1'h17), w91, w3, (2'h1a), (21'h19), (14'h12), (31'h14), (-10'h0), w2, (-33'h11), w7} && w81), (w96 <= {w88, (14'hc)}), w81, (-7'h1c), ($signed((-15'h16)) + (~^(-9'h1c)))};
-assign w61 = $unsigned(({w100, w64, (-12'h1), w96, (-13'h15), (22'ha), (-29'h9), w2, w9, w2, (8'h16), (26'h19), w93, w7, w88, w69, w67, w95, (-29'h15), w5} ? w65 : ((w74 !== (16'h1)) ? ((-27'h16) >= w85) : (18'hc))));
-assign w62 = ((&(4'h11)) + $signed((w84 ? (10'hc) : ($signed((-20'ha)) <= (w8 ^~ w86)))));
-assign w63 = w67;
-assign w64 = ({(15'hf), (-10'hc), ((18'he) !== w84), ((6'h15) ? (-3'h0) : (9'h1d)), (w10 ? w84 : w93), {w93, w66, (2'h16), (2'hb), w98, w2, w9, (-19'h13), w2, w2, (-22'h13), w80, (-14'h4), w2, (16'h12), (11'he), w84, (-8'h3), (6'h9), w71, w91, w65, (-23'h16), w1, (-2'h17), (-30'ha), (-30'h17)}, (w87 ? w78 : (-2'h11)), (!w94), {(9'h1d), w2, (12'h17), (24'h8), (21'h14), (21'ha), (9'h2), (8'h13), w85, w87, w65, (23'h2), (17'hf), (8'h3), (11'h14), w82, (-28'h1), w1, (-29'h7), w9, w9, (5'h17), w98, (29'h1b), (6'h19), (27'h5), (16'h13), (-29'ha), (-20'h1e), w94}, (~&w100), w91, (^w73), (w78 ^~ w69), (26'h1b), $unsigned(w5), (w74 ? (-20'h18) : (-2'hf)), (23'hb), (-26'h1b), ((-3'h14) - (26'h10))} >= ((~&w94) ~^ $signed(((-31'h2) == w90))));
-assign w65 = $signed(((24'h1) ? w67 : {(-4'hb), w9, w82, (9'h1), (-18'h13), w81, (-21'h17), (2'hb), (-10'h1c), (-13'h4), (-21'h1d), (-11'h15), w8, w72, (-23'h13), w10, w67, w97, (3'h10), (-9'h7), (-19'h13), (35'h1b), (19'h5), w6, w3, w67, (28'h1e), w86}));
-assign w66 = {(^((18'ha) <<< w68)), $unsigned({w86, (-4'h15), (14'h13), (-6'h1c), (5'h1e), (31'h15), (-15'h1d), w80, w9, w8, w93, (-30'hc), w76, w89, w97, w88, w5, (33'h1d), w87, w84}), (^~(-2'h18)), (~|{w71, w93, w90, w7, (7'h15), (-23'h8), (-27'h2), (26'h6)}), (29'h1a), w89, (4'h1b)};
-assign w67 = (-14'h2);
-assign w68 = w82;
-assign w69 = (w5 ^~ {((12'h1d) ? w96 : w3), {(26'hd), w3, w71, w70, (17'h1c), (18'h15), (-27'hf), (16'h10), (-25'hb), (-25'h11), (-27'h0), w99, (-9'h17), w89, w88, (-13'h1d), (-6'h1a), w79, (6'hf), (3'h19), (-23'h5), (25'h1a), w90, w2, w3, (26'he), w89}, (^~w1), (w79 ? (25'h3) : w4), $unsigned((-6'h16)), ((10'h19) === w78), (~^(2'h16)), ((-25'ha) ? (25'h12) : (-29'h7)), (w99 ~^ w72), (w71 ? w76 : w81), (w83 ? w84 : w2), w86, (20'h19), (-11'hf), (-22'hf), (w72 ? w100 : (-12'h1b)), {(13'h13), (-25'h1e), w86, w75, (-9'h16), w77, (-5'hf), (-17'h2), w2, w89, w98, (20'h19), w79, (-15'h2), (22'h1e), w82, w81, (-16'h1e), w87, (-18'h0), w2, (14'h1e)}, w77, ((-13'h10) ? w2 : (8'h18)), (-4'h7), w98, (~|w86), $signed(w100), {(24'hc), (-31'he), (12'h16), w10, w86, (-17'h18), w89, w3, w75, (-26'h8), (-21'hb), (-31'h11), (-9'h1a), (29'h13), (30'h14), w100}});
-assign w70 = w81;
-assign w71 = $unsigned((-17'h11));
-assign w72 = ((-3'h13) ? ((-21'h1c) ^ $unsigned((-{(-20'h1b), (20'h13), (4'hc), (-12'h11), w10, (23'h7), w77, (-30'h7), (-2'h4), (-15'h1b), w1, (-7'h5), w81, w89, w81, w97, w94, (14'h2), (-7'h5), w4, (30'h16), (-15'h7), (-17'h8), w4, w97, (32'h1a), (24'h1), w80}))) : (^~$signed((((2'hc) ? w78 : w91) ~^ w7))));
-assign w73 = ({{(30'h17), (-27'hb), w97}, (w4 !== (33'h16)), ((-26'hd) ? w92 : (26'h10)), (21'h1), ((-11'h16) ? w100 : w82), (w95 ? w10 : w81), (21'h1b), w89, {(-18'h10), (-18'h1a), (-7'h16), w77, (22'h7), w83, w2, w90, w97, (-19'h0), (-1'h6), w90, w75, (19'h1c), (-22'h1e), w6, w93, w93}, {(26'h16), (-16'ha), (-16'h12), w3, w1, w99, w96, (-16'h10), w95, w5, (27'hb), (13'h2), (17'h7), w84, (9'h12), (-19'h14), (17'h7), w78, (-26'he), w8, w83, w7, w90, (20'h11), w91, w76}, (^~(4'hf))} ? (-3'ha) : {{(-9'h15), w80, (16'h1a), w87, w90, (5'h2), (-12'h14), w78, (2'h12), w78, (-24'h8), w87, w89, w90, w76}, (-14'hc), w86, (~|(-3'he)), w86, ((-2'h16) == w4), (~&w89), (^w78), $signed(w93), ((-10'h17) != w76), (-9'h8), (-(28'he))});
-assign w74 = {w80, (6'h4), {(20'ha), (-27'hb), (5'h14), w76, w9, w100, (23'h9), w10, w82, w4, w85, w86, (28'ha), w87, w82, w3, w78, w99, w84, w100, w99, w90, (-27'h10), w1, w93}, (-20'h16), w94, ({w87, (-24'h3), w100, (26'h13), (29'h8), (11'hf), (-5'h1b), w98, w93, (-9'h6), w93, w4, w90, (-22'he), (26'h1a), w91, w2, (24'h17), w95, w85, w77, (5'h1d), (16'ha), (26'h9), (19'h10), w94, w4} ? (!w75) : $unsigned(w87)), w6, $unsigned((6'h10)), $signed({(4'h4), (-22'h2), (27'h16), w10, w2, w98, w1, (-32'h14), (28'hf), (22'h15), w9, w84, (-1'h19), w98, (14'hf), (-28'h4), w94, (31'h3), (-28'h1d), w95, (18'h2), w1, (6'h17)}), w98, w95, (^((5'h16) + w89)), (10'h1e), ((w4 <= w87) ? (!w82) : ((6'h8) >= (-20'hf))), (&w1), {(24'h16), (30'h7), (9'hb), (-15'he)}};
-assign w75 = ($unsigned(($unsigned(w3) ? (w76 <= w89) : {w77, (-7'h18), (-14'hc), w86, w79, (26'h1e), w5, (-22'h9), (-25'h1b), (-6'h13), w87, w92, w8, w85, (-3'hb), w78, (-15'he), (31'h15), w8, (11'h3), (4'h19)})) ? $signed(((10'h17) <= ((w93 ? w1 : w7) <<< (-27'hc)))) : {$unsigned((10'h12)), (-(23'h11)), ((-16'h17) ? (5'h9) : (-12'h4)), $unsigned((21'h15)), (w86 << (-13'h13)), (w93 ? w2 : (-28'h16)), (w97 & w92), (~&(9'h1c)), ((26'h1) ? (-25'h7) : (-25'hd)), {w84, w94, (28'h3), w96, (10'h19), w93, (-28'h12), (23'h8), (-9'h0), w76, (-32'h1e), w94, (-6'h14), (-9'h12), w97, w98, w7, w91, w92}, $unsigned(w6), {w76}, (-6'ha), w99, (&w4), {(-30'h1c), (-28'hd), (-27'h15), (-8'h0), w87, (30'ha), w79, w92}, w89, ((30'h5) ? (1'he) : (18'h6)), $unsigned((9'h8)), {w84}, (~|(-25'h0))});
-assign w76 = {(13'h15), {w100, (8'h1), (16'h13), (-20'h12), (-2'h8), (24'hc), w85, w1, w6, w81, w99, (31'h7), (4'h6), (-4'h2), w5}, (&(^(-7'h9))), (~&{w94, (15'h17), w9, w93, w3, (2'h1e)}), w91, $signed((w87 ? w9 : w9)), w97, $signed((-21'hb)), (^~(-21'h12)), (^(-24'h8)), {(-30'h13), (-17'ha), (-31'hf), w85, w2, w99, w96, w99}, (w94 !== $unsigned(w6)), (5'h2), ((5'h2) ? ((-5'hd) ? (-14'hb) : w81) : (23'hb)), ((w81 ? (-18'h2) : w91) || (w95 | (-1'h16))), ({w3, w8, (-11'h6), w3, (15'h5), (24'h10), (-9'h18), w83, (8'h3), w82, w81, w78, w83, (-8'h7), w4, (-23'h2), w82, (-17'h11), (-14'h16), (28'h1d), w85, (5'h10), (-7'he), (14'h1e)} || {w99, (-14'h8), w78, w90, w88, (24'h1a), (29'he), (5'hd), (18'h1d), w96, w90, w1, w91, (22'he), (-27'hd), w87, w91, w78, (-10'hf), (-1'h1), w10, (26'h6)}), (((-15'h18) ? (21'h11) : w8) <= (w83 ^~ (-26'h9))), $unsigned({(-13'h5), (-7'h1a), w4, w96, w90, w2, (28'hd), w4, w87, w2, w2, (26'h14), w80, w96, w95, (5'hf), w99, (-25'hd)}), (-21'h6), (w96 ^ (-w9)), w94};
-assign w77 = (-7'h3);
-assign w78 = w84;
-assign w79 = (32'h13);
-assign w80 = (-10'h2);
-assign w81 = (((29'h1d) !== {w91, (-23'hc), w88, (-3'h11), (-28'he), (3'hf), w85, w2, (26'h8), (-25'h15), w10, w96, (-3'h17), w99, w84, w91, w8, w1, w97, w86, (31'h1a)}) ? (|$signed((14'h12))) : ({(1'he), w3, (11'h19), w88, w9, w2, (27'hf)} ? ((-7'h18) || (27'h9)) : ((-19'h9) - (-25'h1b))));
-assign w82 = {{w91, w7, w7, w97, (15'h19), w87, w4, w97, (-25'h0), w8, (3'h4), (-19'he), (33'he), (26'h12), (-20'h1b), (17'h1e), (-10'h1a), w91, w92, (21'h1), (-27'h1d), (-23'h7), w7, w88, w96, (8'h3)}, ((~|(-2'h6)) ? ((19'he) ? (19'h7) : (2'h11)) : {(18'h17), (5'h4), (-21'ha), w1, w7, (13'hc), (13'h1c), (22'h1), (-21'h17), (-31'h3), (25'h6), (-24'h1b), (17'h12), (29'ha), w84, w91, (-16'h4)}), $signed((14'h19)), {w86, w89, (22'h14), w85, w98, w8, w1, w88, w90, (-7'h10), w93, (24'h9), (-21'h1b), w92, (18'hc), (-29'h9), w96, w95, (-14'h6), (27'h3), (-30'h1a), w97, (15'h7), w96, w98, w89, w85, w85, (29'hb)}, {(-9'h19), (9'h9), w88, (-14'h1c), (-9'h1b), (-12'hf), w2, (-14'h3), (6'hc)}, ((5'h1d) ? ((15'he) < w6) : (w6 ~^ w9)), ($signed((9'h6)) == w3), ({w93, (3'h6), w89, (20'h18), w6, w3, w9, w88, (1'h19), (-7'h2), w84, (-4'h5), (-28'h2), w99, w97} > ((6'h10) - w9)), ($unsigned((29'ha)) ? $signed(w9) : {(2'h5), w93, w2, w86, w94}), w1, (11'h10), (!(^~(-17'h6))), {(-14'h1), w89, (27'h15), w4, (-12'h13), w2, (24'h19), (-18'h7), w91, w2, (-19'h1a), (-31'h1c), w86, w1, w96, w9, (16'h3), w86, (11'hc), w83, (-19'h17), w97, w3, w2, (22'hc), (-7'he), (27'h1b)}, (-22'h5), (-10'h3), w8, $signed(w88), ({(-20'hf), (34'hf), (28'h1c), w10, w93, w97, w87, w87, (-12'h4), (-14'h17), (-3'h8), w2, w98} == (w96 ? (16'h2) : (-12'h1d))), (((26'h14) !== w97) << ((26'h1d) ? w95 : w10)), $unsigned((-27'h16)), (!(10'h6)), (+w7), ((5'h17) ^~ w88)};
-assign w83 = (-22'h1b);
-assign w84 = {{w2, w9, w85, w93, w92, w3, w2, (2'hf), (-8'h8), w94, (-10'h4), (-29'h11), (4'h13), w91, (28'hc), w93, w94, (-12'h1e)}, ((&(-3'h14)) ? (-9'h1) : (!(-6'h1c))), w8, $unsigned((9'h6)), {w87, (16'h5), (-30'h18), w10, (-25'he), w9, (-15'h15), w9, w1, (-11'h19), (-21'h1c), w7, (-13'hc), (2'h12), (14'hc), w90, w85, w96, w2}, $unsigned((~|(-27'h12))), (-29'h13), w96, {(-25'h9), w96, (-27'he), (-19'h5), (-12'h2), (-5'h19), w99, w6, w3, (12'h18), (6'h17), (-17'hb), w89, (1'h2), (-21'h4), (-30'h1e), (-13'he), (29'hf), (5'h13), w7, (-7'h1b), w89, w98, w7, w6, w100}, w95, (-8'hb), (20'h2), $unsigned(((-3'hb) ? (2'hc) : w88)), ((|w86) ? (-(25'hc)) : $signed(w95)), ({(20'h8), w6, w8, w1, w4, (-9'h1c), w94, (21'h11), (-30'h17), (-2'h1d), (27'h6), (-5'h13), (-17'h18), w87, w88, (-29'h1e), (-34'h17), (-4'h6), (21'h1c)} ^ (w96 ? w100 : w90)), {w88, (-14'hd), w88, (10'h9), (-29'h1a), (-15'h9), (10'h13), (5'h2), (28'ha), (15'hf), w97, w91, (-3'hd), (24'hf), (1'h4), w4, w99, (-28'ha), (26'h7)}, w10, ((w4 ? w4 : (-21'hb)) ? (-(-16'h17)) : {w97, (7'hf), (26'hd)}), (^~{w90, w6, (-26'h5), (28'h11), w4, w1, w88, w10, (4'h1c)}), (-w9), (-18'h13), $signed((|w9)), (((7'h1e) == w88) ? $unsigned((19'h11)) : $unsigned((28'h1))), ($unsigned(w93) | {(-26'h1), w3, (5'h15), w92, (25'h3), (-17'h3), (-26'h4), w95, (3'h3)}), (!{(-9'h9), (28'h7), w94, w89, (22'h17), (-26'h18), w86, w89, w4, w9, (17'h6), (-21'h19), (-9'h17), w9, (-4'h1a), w2}), (-31'h1c), ((w2 ? (29'h16) : w98) ? w95 : $signed((12'h17))), ((w97 ? (-3'h3) : w7) - ((19'h1) == w93)), {w86, (-22'h10), w86, w88, (-19'h2), (22'h15), (18'h14), w9, w88, (-2'h6), (-10'h18), w10, (30'h4)}, w100};
-assign w85 = {(!w89), ((w99 ? (-12'h1b) : w93) ? $unsigned((8'h5)) : w88), $signed({w87, w98, w97, (-29'h9), (-10'hd), (-9'h10), (-18'h4), (7'hc), (10'h6), (13'h7), (12'h8), w97, (-1'h18), w95, w96, w88, (7'h1b), (-4'h18), w86, w92, (3'h1), w90, w93, (9'h1d), (23'h17), (-9'h17), w91, (3'h8)}), (25'h1c), (~|$signed(w89)), $unsigned((-23'h1c)), ((w5 ? w88 : (14'h12)) ? (w90 < (-30'h0)) : {w89, w89, (2'hb), w1, (1'h1), (16'h1c), w10, w2, (2'h1a), w91, w10, (23'h1d), (18'h16), (-5'h12), w91, w89, (1'h6), (-23'h16), w1, w95, w91, (-8'h0), w9}), $signed((~|w92))};
-assign w86 = (15'h14);
-assign w87 = ({$signed((-30'h5)), {(-1'h16), w8, w88, w1, w98, w99, (24'h4), (-17'h1e), (-20'h10), (-11'h16), (31'h1b), (-20'he), (3'hc)}, (w94 ? (-4'h1c) : (1'h14)), (^w95), $unsigned((-24'h1d)), w98, (w1 ? (23'hf) : (26'h3)), ((-21'h13) ? w93 : w9), $signed((21'he)), {w98, w4, w98}, (10'h9), (w10 ? (10'he) : w88), {(23'h10), (-29'h17), (15'h12), (21'h1), w93, (15'h1a), (20'h4), (-21'hc), w91, w96, (30'ha)}, (-23'h1c)} + $signed((&(!((-10'h18) * (-13'h1))))));
-assign w88 = (($unsigned((-27'h14)) >>> $signed((-$signed(w94)))) - $signed(w6));
-assign w89 = $unsigned((11'h13));
-assign w90 = $unsigned((~|(&(-26'he))));
-assign w91 = $signed(($unsigned((^~(-13'h13))) ? ((w94 ? (-27'h5) : w10) != {(-5'hc), w94, (21'he), w95, (-4'ha), (3'h8), (-30'h1), w1, (-15'h1b), (22'h5), w8, w2, w100, w97, (17'hc), (18'he), (27'h1b), (-17'h1d), w2, (-24'h1d), (22'h13), (23'h14), (15'h19), w1, (13'h15), (10'h3)}) : (19'h4)));
-assign w92 = ($unsigned((+$unsigned((w3 & w99)))) ? {(-12'h14), (^w5), ((-8'h8) ? (1'h8) : (11'h7)), (w1 ? (-17'h18) : (-31'h5)), ((-9'h12) ? w7 : w8)} : {(~&w6), (w8 === (-27'h2)), {w2, (25'h15), (6'h1e), (-8'h3), (-6'h17), (-1'h5), (-30'hf), w98, w1, w4, w100, (6'h12), (22'h12), (-26'h11), (-7'h7), w94, (4'h1d), (23'hb)}, (-w10), $signed((14'h1)), w99});
-assign w93 = (-24'ha);
-assign w94 = {w4, (((26'h9) ? (2'h1a) : (-27'h8)) * (w3 & (25'h15))), (26'h1d), w4, (~^$unsigned((-9'h16))), {(5'h3), w7, (7'h1a), (-22'h18), w5, (10'h12), w8, (-30'h19), w10, (28'h15), (10'h17), (2'h3), (23'h12), (11'h15), w95, w1, (24'h15), w2, (26'h1), w95, w1, w98, w1, w7, (-6'h9), w99}, {(5'h1d), (20'h13), (-27'h1d), (-26'he), (17'he), w5, (-30'h2), w96, (6'ha), (2'h19), w7, (8'h1), w2, w4, (1'h1), (3'h15), w9, w9, (11'he), (-4'ha), (3'h6), w4, (-21'h11), w1, (3'h8), (29'h7), (-3'h11)}, (((-30'h8) <= (-14'h8)) ? (w8 ? (22'h18) : w5) : (-18'h3)), ((w3 << (-25'h15)) ^~ (w8 <<< w96)), w5, (-1'h10), $signed((~|(22'h4))), {w1, w7, w4, (24'h1a), (-22'h9), (23'h5), (-8'h6), w1, (-6'h19), (-3'hf), (-22'h0), (15'h1a), (-26'hf), (-19'hf), w96, (29'h1b), w8, (15'hb), (28'h14), (-22'h18), w3}, $unsigned(((12'h1b) << (26'ha))), $unsigned(((-8'h1e) >> w8)), (^(~|w8)), $signed((10'h16)), w9};
-assign w95 = w9;
-assign w96 = $signed((|($signed(w5) ? (-24'h7) : ((15'h8) <<< {(-23'h1b), (19'he), w1, w5, w9, (6'h13), (2'h9), (-23'h9), w5, w9, (6'h17), w6, (-8'h0), w5, (-2'h2), w6, w1, (17'h1a), w100, w100}))));
-assign w97 = ({$unsigned(w98), (~&(14'h2)), $signed(w3), ((12'h7) >> w2), (^w10), $unsigned(w99), (w8 && (-25'h1)), {w99, (-27'h11), (-8'h1d), w7, w1, (-25'h17), w6, (26'h1b), (-15'h11), w9, (-2'h7), (-26'h14), (27'h17), (9'h17), w100, (3'h3), w9, w6, w98, (-22'h18), (15'he), w1, (1'hf)}, {w5, (-9'h4), w3, (-29'h18), w5, (-1'h1a), w9, (-8'h14), w98, (-9'hb), (19'h2)}} ? w5 : $unsigned($unsigned(w8)));
-assign w98 = (~&{((22'h5) ? w4 : w3)});
-assign w99 = ($signed((~|{w2, (-21'h15), (23'hc), (31'h1a), w4, w8, (-9'h1a), (-22'he), (24'h5), w10, (10'h13)})) <<< (^(w100 == (w10 ? w4 : ((-9'hb) ? w4 : (15'h14))))));
-assign w100 = ({w10, $unsigned((-5'h8)), (w6 ? w8 : (1'h8)), ((-5'h1e) ? (-6'h13) : (-2'h1b)), $signed((-16'h16)), w2, (~|w1), {(5'h13), (-13'hd), (-9'h15), w4, (-9'h14), w7, (17'h5), (-27'h1c), w8, w4, w3, w6, (17'hb), (30'ha), (-10'h8), (11'hd), w10, w6, w4, (-13'h5), w10, (-25'h11), (-16'h11), w5, (27'h5)}, ((30'hd) ^~ (-21'hc)), $signed(w3), ((30'h1a) <= w4), {w2, w4}, (-4'h1), (w3 * (-15'h1a)), (w2 ? (-3'ha) : w10), {w5, w7, w2, w6, w6, (-18'h18), (-4'h1a), (-5'hc), (-2'h0), w5, w2, (28'he), (3'hc), w7, (34'h1a), (-14'h10), w1, w9, (-7'h6), (20'hb), (-31'h1c), (4'h9), w9, w3, (23'hb), w6, (-31'h1a)}, {(-21'h1c), (-30'hc), (28'hc), (20'h18), w4, (-23'h14), (19'h7), w4}, (27'hb), w8} ? ((^((-1'h9) ? w8 : w5)) ^~ (!$unsigned($unsigned((24'ha))))) : $signed((-(((29'h9) > (-3'h3)) === {w5, w8, (-28'h10), w2, (23'h11), w4}))));
-assign y = {w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, w29, w30, w31, w32, w33, w34, w35, w36, w37, w38, w39, w40, w41, w42, w43, w44, w45, w46, w47, w48, w49, w50, w51, w52, w53, w54, w55, w56, w57, w58, w59, w60, w61, w62, w63, w64, w65, w66, w67, w68, w69, w70, w71, w72, w73, w74, w75, w76, w77, w78, w79, w80, w81, w82, w83, w84, w85, w86, w87, w88, w89, w90, w91, w92, w93, w94, w95, w96, w97, w98, w99, w100};
-endmodule
diff --git a/bugs/original_4.v b/bugs/original_4.v
deleted file mode 100644
index 370b61f..0000000
--- a/bugs/original_4.v
+++ /dev/null
@@ -1,194 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1458:0] y;
-input wire [26:0] w1;
-input wire [24:0] w2;
-input wire [23:0] w3;
-input wire [1:0] w4;
-input wire [5:0] w5;
-input wire [12:0] w6;
-input wire [27:0] w7;
-input wire [16:0] w8;
-input wire [14:0] w9;
-input wire [13:0] w10;
-wire [10:0] w11;
-wire [2:0] w12;
-wire [11:0] w13;
-wire [6:0] w14;
-wire [14:0] w15;
-wire [9:0] w16;
-wire [9:0] w17;
-wire [10:0] w18;
-wire [25:0] w19;
-wire [4:0] w20;
-wire [27:0] w21;
-wire [2:0] w22;
-wire [14:0] w23;
-wire [11:0] w24;
-wire [8:0] w25;
-wire [29:0] w26;
-wire [14:0] w27;
-wire [8:0] w28;
-wire [25:0] w29;
-wire [15:0] w30;
-wire [16:0] w31;
-wire [1:0] w32;
-wire [18:0] w33;
-wire [25:0] w34;
-wire [17:0] w35;
-wire [20:0] w36;
-wire [25:0] w37;
-wire [6:0] w38;
-wire [7:0] w39;
-wire [4:0] w40;
-wire [22:0] w41;
-wire [20:0] w42;
-wire [8:0] w43;
-wire [29:0] w44;
-wire [5:0] w45;
-wire [25:0] w46;
-wire [15:0] w47;
-wire [11:0] w48;
-wire [11:0] w49;
-wire [4:0] w50;
-wire [21:0] w51;
-wire [5:0] w52;
-wire [6:0] w53;
-wire [25:0] w54;
-wire [15:0] w55;
-wire [26:0] w56;
-wire [27:0] w57;
-wire [27:0] w58;
-wire [25:0] w59;
-wire [4:0] w60;
-wire [1:0] w61;
-wire [23:0] w62;
-wire [29:0] w63;
-wire [17:0] w64;
-wire [13:0] w65;
-wire [25:0] w66;
-wire [13:0] w67;
-wire [20:0] w68;
-wire [4:0] w69;
-wire [24:0] w70;
-wire [16:0] w71;
-wire [26:0] w72;
-wire [23:0] w73;
-wire [1:0] w74;
-wire [25:0] w75;
-wire [25:0] w76;
-wire [10:0] w77;
-wire [7:0] w78;
-wire [25:0] w79;
-wire [15:0] w80;
-wire [19:0] w81;
-wire [28:0] w82;
-wire [22:0] w83;
-wire [11:0] w84;
-wire [3:0] w85;
-wire [8:0] w86;
-wire [17:0] w87;
-wire [4:0] w88;
-wire [10:0] w89;
-wire [22:0] w90;
-wire [21:0] w91;
-wire w92;
-wire [21:0] w93;
-wire [17:0] w94;
-wire [25:0] w95;
-wire [23:0] w96;
-wire [12:0] w97;
-wire [10:0] w98;
-wire [24:0] w99;
-wire [7:0] w100;
-assign w11 = w65;
-assign w12 = (!((|{(4'h17), (10'h9), w27, w19, w82, w100, (-12'h1d), w85, w99, w22, w76, (-4'h0), w53, (2'hc)}) ? w16 : $unsigned(((w7 ? w42 : w93) ^~ (^~(3'h1b))))));
-assign w13 = $signed({(w63 != (-15'h6)), (17'h1), ((19'h1b) ? (28'h14) : w4), (^w6), (-10'h16), ((17'h1) <<< (8'h15)), (w99 ? w16 : w46), (+(6'ha)), (w44 >= w20), (w58 !== w53), ((10'h6) !== w62), (w26 != (29'h1e)), $signed(w74), {(20'h12), (6'h10), (-26'h3), (13'h15), (4'h1c), (-26'h7), w74, w95, w62, w21, w73, w1, w93, w83, (-15'h16), w59, (-29'h1), w61}, ((10'h15) || (-19'h1c)), (w82 ? w15 : (-24'h10)), (+w97), (18'h2), ((1'he) ? w52 : (-4'h1a)), (w38 ? w92 : w57), {w100, (-6'h3), w100, w19, (-31'h16), (30'ha), w55, (-22'h18), w49, (22'h8), w67, w19, (2'h10), (-25'h7), w60, w79, (15'h6), w24, (17'h18), (-29'hd), w65, (-29'h16), (5'h1c), w32, (-6'h14), w91, (-28'hd)}, {(-27'h4), (8'hc), w30, w67, (3'h13), w27, (9'h3), w57, w44, w53, (1'hd), w93, w85}, w4, {(11'h2), w95, w83, (9'h8), (30'h2), w3, w66, w68, (-10'h1b), w80, (5'h16), (-5'h1), (24'h2), (25'h16), (27'h11), w47}, ((-10'h15) >> (-9'h8))});
-assign w14 = {{(-25'h6), w22, w82}, w49, {(-9'h0), (19'h1), (-24'h7), w41, w43, w24, w46, w91, w76, (20'h7), (-23'h14), w43, w87, (-27'h10), (30'h2), w87, w79, w43, (-28'h0), w23, (-30'h18), w7, w63, (-20'hd), (18'ha), w55, (19'h10)}, (-w69), (w59 ? (19'h1b) : (w35 ? (22'h1c) : (-13'h1))), ((|(12'h8)) ? ((30'ha) ? w56 : (23'h1c)) : (15'h19)), $unsigned($signed(w75)), (30'ha), (^~$unsigned(w50)), {(-23'h13), w88, w52, w53, w84, w79, w78, w4, w79, w31, w82}, w78, w72, $signed((-23'h5)), $unsigned((&w88)), (-22'h18), (24'h15), (^((-19'h9) ? (9'h19) : w42)), $signed($signed(w36)), (-22'h1), (((16'he) ? w85 : w42) ? (w2 & w6) : (|(30'he))), (-25'hc), w84, ((-30'h0) ? (w67 && (-18'h2)) : (w33 & (11'h15))), ((-27'h1) ? (~&(6'h19)) : (12'h19))};
-assign w15 = $unsigned(((+((-7'h2) >= w62)) ? (-27'hd) : (w37 ? (6'h1d) : (-13'h1c))));
-assign w16 = ((~^(((19'h1d) ? w97 : (-9'h2)) >= w80)) ? {(-21'h13), $signed(w18), w28, (w17 ? w89 : w23), (|(-19'h6)), (w44 * (-25'hc)), w76, (w63 <= (-18'h1b)), {w29, (2'h4), w60, w55, w58, (26'h1e), (-2'h0), (-11'hd), (-7'h1a), w85, w59}, {(9'h10), w31, w35, (-8'he), w35, w36, w68, (-30'h2), w49, w89, w90, w3}, (w19 > (-10'h2)), {(-11'h16)}, (-w94), w80, {(-9'h13), w71, (1'h1a), (5'h1b), w38, w9, (25'h19), (7'h1), w67, (31'h17), w5, w74, (-16'h17), (31'h1c), (12'h1c), (-23'h19)}, {w60, w18, w57, w7, w64, (8'h1a), (1'h10), (-32'h3), (-23'h1b), (-19'h1a), (-1'h3), w48, w51, w54, (-10'h19)}, (|w29), (+(12'h1a)), (w94 ? (-26'h15) : w39), (!(5'h11)), {w22, w8, w29, (-16'hf), w18, w87, (7'h3), w63, w30, w59, w40, w37, w6, (-18'h1), w60, w39, w90, w7, (-26'h16), (2'h6)}, $unsigned((26'h10)), (-19'he), (|w97)} : {((6'h12) ? w52 : (-9'h4)), (+w70), w56});
-assign w17 = ({(-39'h7), {w77, w81, w24, w47, w4, (30'h12), w20, (12'h3), (10'hf), w56, w64, (8'h1d), (-3'hf), (17'h1), w28, w83, w95, w9, (18'h1e), (-4'h1a)}, (23'h1e), $signed(w42), $signed(w60), (~^w31), $signed((-22'h8)), ((13'h17) >= w57), ((-22'h9) >>> (6'h7)), w68, (|w62), ((-30'h19) ? (2'h5) : (-11'h1c)), (-19'h16), $signed(w61), ((15'h7) && w80), $signed(w1), {w29, (2'h1c), w39, w23}, (~&w38), w18, $unsigned(w73), ((-20'h5) ? w61 : (-30'h9)), (w65 && (-22'h3)), (+w31), ((30'h1c) ? (28'h4) : (-10'h1d)), (w55 && (21'hd))} ? $unsigned($unsigned($signed((w97 | (-3'h8))))) : (~^(25'ha)));
-assign w18 = ({$signed(w65), (w70 ~^ (-7'h7)), (w76 ? w86 : (-6'h8)), ((23'h3) ? w28 : (3'h11)), (-12'h1c), (&w49), $signed(w90), ((32'h6) ? (-26'h5) : (14'h6)), (-14'h18), (17'h14), {w82, w31, w29, (9'hb), (-15'hd), (17'h1d), (-13'hb), w71, w65, (16'h1d), w32, w37}, $signed((-13'h13)), ((-5'h1e) * (13'h1e)), $unsigned((6'h1b)), (~^(-4'h13)), $unsigned((-4'h11)), {w94, w99, w78, (1'h1d), (16'h9), w4}, w81, (19'h1d), w80, (-29'h18), ((-16'he) >> w56)} ? (-6'h10) : (4'h1e));
-assign w19 = w21;
-assign w20 = (~^(+w36));
-assign w21 = w61;
-assign w22 = w2;
-assign w23 = (~|(18'h1));
-assign w24 = (-(14'h13));
-assign w25 = ($signed((19'h11)) ? (17'h17) : (^~(~&$unsigned((-2'h10)))));
-assign w26 = ({(w71 ? (3'h17) : (-11'h8)), w90, w91, (~^(5'h12)), {(11'h8), (-16'hf), w46, w77, w1, (-17'ha), (27'h15), w37, w34, w73, (1'h15), (24'hc), w56}, (2'h3), ((-16'h19) ? w77 : w7), {(-9'h6), (3'hb), (24'h11), (-28'h2), w63, (8'h13), w33, w43, w93, w99, w58, (13'he), w86, (-7'h16), w83, (18'h18), (-28'h5), (22'h1e), w47, w81, (-17'h1c), (16'h16), (-24'h1d), (4'h1e), (-16'h10), w57, (7'h19)}, (18'hb), w35, {w95, w76, (10'h18), (-3'h5), (7'h14), w74, w61, (-25'h1d), w100, w46, (-23'h18), w81, w2, w89, w81, w47, w64, w100, (-21'hf), w10, (26'hc), w82, (13'h8), (8'h12)}, {(-1'h3), (26'h6), w28, w63, (9'hd), (-22'h2), w2, (10'h17), w77, (-4'h18), w39, w64, w29, (-28'hd), w27, (18'h9), w60, (15'h1), (-10'h9)}, (w33 + w55), (-29'h7), w27, (w28 ? w32 : w47), {w49, (27'hc), w78, (-9'h11), w4, (-8'h17), (-24'h18), (-7'h6), w100}, (23'hd), (27'h11), w64, w96, $unsigned(w93), w76, (~|(-21'h9))} == (w7 ? $signed((w45 * $unsigned(w61))) : $signed((~^$signed((9'h17))))));
-assign w27 = w58;
-assign w28 = {((-7'h1d) ^~ (!(5'h5))), ((-22'h1c) ? (10'h1c) : {(17'h1b), (8'h1), (30'h15), w61, w53, w68, w68, (6'h14), w33, (19'h12), w95, (28'h3), (15'h7), (5'h1a), w38, (-27'h5), w88, (-17'hb), (24'h1e), w51, (-3'he), w52, (6'hb), w65, w49, (-3'h18)})};
-assign w29 = ({(w93 ^ w53), (+w87), (-23'ha), (5'h5), {(-27'h11), (15'h2), w4, (-18'h10), (10'h11), w98, w96, w83}, (w32 ? w84 : (-23'h16)), (^w41), ((-6'h1e) || w68), (-17'h1), $unsigned((-3'h1b)), (w54 ? w80 : (29'h1)), (w83 ? w89 : w84), w46, $signed(w99), $unsigned(w72), (+w67)} << $signed((~&(-26'h2))));
-assign w30 = $unsigned((((^(10'h1c)) ^~ {(9'h1d), w86, (26'h7), (26'h7), w38, w91, w41, (6'ha), (-8'h1d), w83, (-8'h8), w64, w9, w33, w37, (22'h14), (8'h14), (7'hb), w78, w8, (-20'h2), w33, (-14'h1), w77, (22'hb), (13'h1d), w81, (-25'h1e), (-19'h18), (-19'h1e)}) ? (((4'h1) ? w38 : (5'h14)) >>> $unsigned((&(24'he)))) : $unsigned((+(w73 ? (-8'hb) : (-30'he))))));
-assign w31 = (w41 !== (~^({(27'h1a), w84, w68, w46, w45, (9'h14), w97, (-13'h16), (4'hf), (-15'h15), (9'hf), w3, w89, (22'h1), (-9'h10), (6'h17), (-29'h18), (29'hd), (15'h2), w47, (3'h5), w48, (2'h1a), w55, (30'h4)} >> ($unsigned(w33) ? (!(27'hd)) : (~^(24'h1a))))));
-assign w32 = (11'h9);
-assign w33 = (((~^{(-19'h19), w66, (-8'h7), w6, (15'h11), w67, w66, w37, (-10'hc), w99, w80, (-23'h13), (14'h6), w55, w5, (-22'h13), w98, w2, (22'h10), (17'h12), w62, w44, (3'h12)}) || {(-9'h5), w40, (7'h1e), (27'h17), (-10'hc), w66, (-1'h1c)}) === ($signed((((20'h1) ? (-28'h1a) : (-31'h12)) << (^~(-7'h4)))) ^ ((-23'h8) + w98)));
-assign w34 = ({(~|w5), $unsigned(w58), (w3 ? w67 : w55), (!w67), ((-22'h17) == w7), $unsigned((-5'hd)), (3'h8), w81, $signed((20'h17)), $signed(w45), w66, (w74 ? (10'h8) : w49), {w5, w51, w84, (13'he), (24'h7), w1, w65, (18'h2), w95, w72, w10, w95, w92, w1, (3'h13)}, (5'h15), (w84 ? w6 : (26'h16)), w66, ((-6'h1d) ^~ w47)} ? ((21'h8) === (-5'h5)) : $unsigned($unsigned({w75, w72, (-30'h0), (24'ha), w84, w89, w6, (-2'h12), w37, w1})));
-assign w35 = w44;
-assign w36 = ({{w4, w52, w5, w51, (-31'h2), w54, (18'hb), (-2'hc), w75, (25'h1), (18'h1e), (-4'h1), (-25'hb)}, w46, (w96 ? w59 : w80), ((-11'h16) - (30'hb)), w79, w88, w81, w46, (-13'h1e), (w66 + w3)} || ($signed((((-22'hf) !== w99) ? (w59 ? w67 : (-5'h2)) : (!(15'h1a)))) > ({(2'h17), (-14'hf), w39, w70, w75, (29'h16), (12'h18), w74, w94, (-21'hb), w6, w95, (-14'h10)} <<< (((-1'h9) ? (-15'h12) : w10) ? ((-22'h1b) ? w54 : w81) : (w38 ? w86 : (8'h1))))));
-assign w37 = $unsigned((~&(-8'h1e)));
-assign w38 = (^(({w41, w69, w7, w6, (15'hf), w63, w43, w6, w57, w68, (-5'h6), (8'hc), (26'h4), (-29'h9), (-11'h13), w53, w56, w47, w98, (-31'h19), (-14'h9), w10, w92, (13'h3)} ? (~&w89) : $signed(w61)) ? (-1'ha) : (2'h1e)));
-assign w39 = w66;
-assign w40 = $unsigned({((22'h13) ? (-5'h1c) : w81), {(28'h14)}, (w8 ? (33'h4) : w75), $signed((-21'h13)), (-19'h1e), $unsigned((-21'ha)), (~^(3'h16)), (w95 != (12'h1a)), ((23'h6) ? (-25'h11) : (15'h1a)), w42});
-assign w41 = ({$unsigned(w42), (9'ha), {(-10'h2), w45, w7, (-3'h12), (15'hc), (-24'h19), (6'h17), (31'h8), w66, (14'hc), (11'h5), (-20'ha), w79, (-23'h1e), w7, w80, (8'h18), w92, (-30'h1a), w1, (-29'h1d), (7'h19), (30'h2), (23'h15), w43, (23'h1b), w51, (30'h12)}, ((-11'h17) >> (27'h19)), (w61 ? w87 : (13'he)), (^~(-24'h1a)), $unsigned(w56), (w60 + w76), ((-28'h10) ? (-19'h16) : (-20'h6)), {w51, w56, (-17'hb), (-28'hf), (25'hb), (-18'h8), w73, w83, (25'h1a), (9'h3), (25'hd), (-31'hb), (19'ha), (-5'h5)}, $signed(w45), (~^w86), ((-17'hf) ^~ (-7'h1)), (w56 ? (-21'h18) : w72), (w91 ~^ (4'h4)), (&(-22'h4)), (w84 === (1'h4)), (15'hd), ((16'hb) | (2'h5)), w71, $unsigned((-14'h1d)), $signed((25'h18)), {w54, w52, (17'h1c), w89, (-12'ha), (-8'h0)}, $unsigned((10'h6)), {w72, w98, (11'h7), w65, (12'h1b), (-19'hb), w55, w87, w5, (2'h1e), (-3'h4), w79, (-24'ha), (6'h10), (2'h5), (12'h1e), (21'h4), w3, w53, (-6'h1b), (-28'hb), w5, w68, (11'he), w77, w76, w67}} ? (((13'h19) || {w59, w2, w53, w44, (-13'h12), w65, w88, (25'h1), w82, (-29'ha), (-27'h3), w83, (15'h1a), w3, (-4'h4), w98, (-29'ha), w75, w45, w42, (-11'hf), (-26'hb), w97, w82, (-24'h1a), (24'h4), (8'hc), w60}) ? w53 : {w77, (-28'h1c), (-23'h11), w8, w43, w89, w64, w65, (20'h18), w96, w50, w49, w50, (1'h14), w44, (24'h1c), w55, w58, w87, (-12'h12), (18'h16), w62, w56, (21'h12), w99, w4, w59, w70}) : $signed((+{(26'h1a), w99, (-9'h17), w75, w5, (-26'h1), (2'h13), (29'h12), (21'h15), (-8'h1c), w48, w49})));
-assign w42 = (^(22'h7));
-assign w43 = $unsigned(w81);
-assign w44 = w46;
-assign w45 = ({$signed((-26'hc)), (-17'hd), (-(-3'h12))} ? ({(24'h13), w96, (-9'h11), (-21'h1b), (-29'hc), (6'hc), (-29'h11), (22'hc), w61, w68, w10, (-3'h17), w93, (-21'hf), (6'h5)} >>> ((-5'h4) || (~^(-(-19'h1e))))) : (~^(((1'hd) ? w59 : (19'hd)) << (w67 ? w60 : w90))));
-assign w46 = ((-(({(-24'h17), w94, w97, (-28'hb), w85, w50, w92, w70, w74, (25'h7), (-25'h2), (-25'h5), w62, (-9'hc), w87, (28'hd), (-16'h4), w100, (-29'h5), (31'h2)} > (w55 << w56)) ? w49 : (w61 ^ {(-15'h16), (-6'h8), w62, w78, (-12'h0), w100, (-23'hc), w90, (19'h17)}))) <<< (-9'h12));
-assign w47 = (~&(($unsigned((-33'h10)) ? (15'h1c) : $signed((-7'ha))) ? {w52, w75, (28'hb), w75, w62, w70, (13'h4), (19'hc), (-30'h0), w50, (-16'h1d), (8'h13), (-15'h8), w90, w90, w62, (28'h10), (-3'h13), w4} : {w72, (-20'hb), w81, (-32'h16), (10'ha), w70, w68, w98, (1'h3), (14'hf), (-21'hc), w62}));
-assign w48 = (^~(($signed((+(-27'h17))) >>> (~&(31'h13))) ? ((^(22'hd)) >>> $unsigned((w65 ? (26'h1a) : w10))) : (w50 ? {(-22'h1a), w64, (28'h12), w82, (-28'h3), w64, w54, (-19'hf), (-1'hc), (-18'h11), (26'h1b), w97, w56, (-24'h1a), (20'hf), w57, (23'h9), (-4'h19), (-31'h1d), w7, w4, w96, w78, (22'h1c), w96, w58, (-14'h19), (-13'h1a), (16'h1e)} : (+(17'h5)))));
-assign w49 = w58;
-assign w50 = ($unsigned($unsigned(({w57, w70, (-2'h19), w78, (2'h1d), (-13'h12)} ? {w73, (-6'ha), w63, w53, w51, w72, (13'h3), w75, w65, w68, (-18'h6), (-30'h0), w63, w99, w90, w75, w62, (-8'h16), w93, (-26'hf), w82, (-23'h1d), w61, w80, w8, (-7'h10)} : (|(-29'h14))))) - $unsigned((&((w4 ? w91 : (6'h1a)) >> ((4'h15) ? (-8'he) : w67)))));
-assign w51 = (24'h7);
-assign w52 = (w8 >>> {((-7'h15) < (4'hf)), (w96 === (-28'h18)), (20'h18), (^w77), $unsigned((-28'hb)), (|w84), (7'h1), w56, (-8'h16), (w1 >>> (-1'h1)), (w73 ? w76 : w56), w88, (^~(19'h17)), {w87, w82, (-4'h11), w63, (6'h14)}, w1, w79, (^w63), (w62 ? w76 : w98), ((30'h1d) ? (20'h1d) : w62), w53, $unsigned((26'h1a))});
-assign w53 = {w93, w54};
-assign w54 = w60;
-assign w55 = ({w66, ((28'hb) ? w59 : w59), {(28'h1a), w66, w63, w68, w72, w70, w99, (23'h11), w4, (-2'he), (-26'h2), w1, w84, (12'h5), w5, w100, (8'h13), (-9'h12), (7'h4), (-22'h1c), w64, (-25'h1)}, ((5'h18) === w67), w61, ((-9'h14) ? w56 : w98), {(7'h14), w73, (-13'h9), w100, (-12'h1c), (26'h3), w61, w79, (-32'h6), (-24'he), w62, w69, (-30'h19), (-17'hc), w90, (-18'hf), w85, (-24'h19), w77}, (22'h1d), w96, (+w57), (~^(8'h8)), (|(9'h5)), (14'h6), {(-3'h3), w92, (1'h14), (20'h3), (8'h3), w65, w76, w95, w8, w76, w100, (-18'h1e), w70, (12'ha), w1}} || {w97, $signed(w64), w71, (5'h7), w6, w56, (w77 ? (16'he) : (28'ha)), (16'h12), (|(19'h1c)), $signed(w70), (^(-6'h8)), ((8'h15) ? w72 : (-5'h10)), {(-16'h4), (-4'h1d), (18'h19), (10'hf), w91, (-19'h10), w99, w97, w90, (27'h1e), (21'ha), w81, (26'h6), w75, (19'h1b), w79, w74, (-14'h1), w73, w96, w77, w62, w68, w97, (-23'h18), w60}, ((-21'h15) <= (18'he)), {(-32'hf), w81, w60, (4'h15), (28'h7), w62, w76, w71, (8'hc), w100, (-19'he), (22'hc)}, (+(-3'h13)), ((-6'h1b) ? w61 : w77), {(-13'h10), w89, (23'h1d), (-25'h9), w92, w88, w57, w97, w3, (8'hb), w80, (11'hb), (-26'hd), (-15'h9), w10, w56, (-16'ha), w58, (28'h1b), (7'h1a)}, $signed((12'h4)), (-17'he), (w8 ? w80 : (-15'h1d)), (~|(16'h13)), ((29'hf) != (14'h5)), $signed(w9), (-21'hc), (-9'h17), $signed(w70)});
-assign w56 = $signed((-22'h0));
-assign w57 = ((-31'h0) ? (3'h8) : (({(29'h19), w98, w63, w71, (-17'h4), (-4'h12), (18'h11), w58, (7'h13)} >> ((6'hf) && w61)) ? w58 : (-28'h10)));
-assign w58 = (~&(-3'h16));
-assign w59 = ({$unsigned(w68), (w99 >= w9), w80, (-17'h5), $unsigned((5'h8)), ((14'hb) ^ (28'h11)), $signed(w78), $unsigned(w84), $signed(w70), {(-28'hc), w71}, (~^w4), $signed(w86), (w89 === (-2'hc)), ((-28'he) >>> (1'h4)), w64, w97, (w99 >>> w79), (-1'h1b), ((28'hc) ? (-23'h3) : (-22'h12)), {(22'hc), (-22'h0), (-3'h7), (24'ha), (14'h1), (-2'h8), w63, (-16'h13), (-5'h12), w85, (-5'h10), w92, (17'h1e), w7, (21'h9), w62, w93, w69, w60, w94}, ((-30'h1) || w73), w86, ((32'hb) ? w62 : (-24'h10)), ((-19'hc) !== (10'h10))} >= w74);
-assign w60 = ((~^(!$signed($signed(w95)))) | ((w95 === ($signed(w63) != w100)) !== (-7'he)));
-assign w61 = w79;
-assign w62 = $unsigned($unsigned(((-11'h12) ? w73 : ((w84 ~^ (8'h17)) <<< (~&w63)))));
-assign w63 = (($unsigned((4'h14)) ? $unsigned((|(w70 !== (-19'h8)))) : w84) !== ({w79, (29'h4), w99, (9'h6), w81, (30'hc), (5'h1d), (6'h1), (-22'h2), w67, w69, w70, (5'h9), w9, (-32'h7), (15'h14), w6, w83, (29'h9), w70, w96, (30'h2), w4, w67, w85, w99} >= ((^~{(-5'h6), (11'h1), w97, (-1'h9), w84, w65, (31'h8), (-10'h12), w5}) ~^ $signed((!w72)))));
-assign w64 = (({w69, (17'h1c), w93, (3'h13), (25'h3), (25'h6), w67, w73, (22'he), w82, w68, w89, (-27'hb), (22'h2), w68, (-11'h17), (11'h17), (-26'h12), w100, w7, w83, w87, w96, (17'h13)} < (-{w91, (20'h8), (-4'h13), w70, (4'h15), (3'h17), w95, (7'h1d), w91, (18'h10), (-22'h5), w81, (-21'hd), (-23'h1b), w3, w66, w83, w84, w5, w79, w10, w4, (-29'hb), w79, (24'h17), w77, (26'h1), w77, w7})) ? (18'h14) : ((|$signed((-27'he))) ? $signed($unsigned(w6)) : $signed(((-3'h4) !== (-9'hc)))));
-assign w65 = (({(-23'h0), w81, (13'h3), w88, w7, (29'h1e), w97, (7'h2), (-25'h1), (4'h7), w89, w69, (-6'he), (-22'h4), w7} != (&((~&w71) ? (+(-19'h1e)) : $unsigned((-22'hd))))) < $signed(((w3 ? w76 : (30'h14)) ? (~^w1) : ((28'h1e) ? w75 : w94))));
-assign w66 = (~^(^~(5'h2)));
-assign w67 = $unsigned($unsigned((~^{(-25'h3), w93, w86, (-7'h18), w1, (-4'h2), (-30'h6), (14'hb), w91, (15'h13), (22'h10), (-29'h1e)})));
-assign w68 = w70;
-assign w69 = ({((-1'h2) === w5), (w9 >> (7'hf)), (~|(6'h1)), ((21'h6) ^~ (13'h1)), (|w95), ((-4'h18) ? w99 : (-16'hb)), {w71, w93, w81, (-11'h3), w88, (-23'h17), (9'h6), w7, (-30'h0), w79, w91}, (~^(-27'hd)), (^(11'h14)), $unsigned(w71), (~^w4), {w5, (-19'h2), w97, (7'hc), (-19'h7), (-4'h1), w1, w5, w94, (-12'h3), w100}, (w77 >>> w95)} ? ((w80 != (^((-17'h9) ? (24'h18) : (2'h1a)))) > (1'h16)) : (($signed(w77) ? {(17'h1d), (29'h1c), w77, (12'h9), w98, w85, w3, w88, w92, w93, w86, w79, w6, (-13'h18), w83, w75, w100, w92, (8'hc), w96, (22'he), w94, (25'h3), (13'h15), (1'hb), (-12'h5), (8'h1c), w97} : (~|(-20'h9))) ^~ {(-10'he), w91, w95, w90, (-3'h8), (29'h7), (-1'h4), w93, w70, w3, w100, w82, (-1'h7), w7, w72, w75, w77, (-14'h1), (-17'h10), (1'h16)}));
-assign w70 = (-(-(~&((w95 ? w76 : w81) && (^(3'h18))))));
-assign w71 = {(^~((-4'hf) ? (-1'hd) : (-17'h8))), ({(11'h11), (31'ha), (-12'h1e), (8'h15), w1, (21'h8), w72, (15'h17), w81, w93, (19'h8), (21'h12), w72, w100, (24'h1c), w87, (-13'h1d)} >>> ((-15'he) < w94)), (-15'h6), (w79 + {w95, (-12'hb), w87, (19'h9), w80, (-11'hc), w97, (24'h17), w82, w8, w76, w2, (2'h9), w72, (12'h12), w6, w72, w88, w80, w90}), (-2'h1d), $unsigned(((11'hc) <= (-21'h19))), (+$unsigned(w88)), (-1'h19), $unsigned($unsigned((-20'h1))), (32'h3), ((w87 & w97) + {(11'h18), (-4'h5), (3'h7), (-9'hf), (-23'h2), (-17'h1e), w3, w85, w92, (-24'h12), w96, (-8'h1e), w1, w73, w82, w84, w8, (8'h7), w87, w100, w73, w1, w72}), w77, ((w86 ? (-1'h11) : (-5'hc)) ? {w78, (14'h1d)} : (10'h3))};
-assign w72 = w87;
-assign w73 = (+({w95, (20'h17), w83, (10'h5), w85, (20'h16), (19'hb), (18'h1d), w2, w99, (-34'hd), w75, w88, (29'h3), w91, w74, w89, (14'h9)} + (!$signed($signed(w98)))));
-assign w74 = (($signed(w93) ? (|(-25'h1a)) : {w3, (-1'h18), w93, (-29'h11), (3'h9), (-31'h1c), w87, (14'hb), w98, w86, (6'h4), w2}) ~^ (-30'h1a));
-assign w75 = ({(-16'h6), w81, (w8 !== (18'h16)), (~|w5), w81, (&(27'h4)), {w95, (8'h6), w3, w83, w6, w83, (6'h9)}, w84, {w10, w85, w77, (23'ha), w6, (-23'hd), w82, w1, w7, w79, w99, (-27'hf), w89, (-16'h1), w2, w83, (5'hb), w97, (-11'h1d), (-19'h9)}, {w78, (-17'h3), w2, w80, w10, w100, (-18'h19), (-11'hb), w92, (-22'h5), w98, (-18'h4), (6'h12), (-18'h17), w94, w92, w94, (31'h18), (13'h12), w82, (-6'h19), w90, (-7'hc), (-6'h6), (-26'h2), w90, (27'h1c), (7'h10), w82, w96}, (~|w6), $unsigned((9'hd)), ((1'h2) ? (17'h19) : w98), ((-27'h7) ~^ w96), ((10'h3) >= (-5'h16)), {w96, w79, (-3'h1a), w89, w9, (-21'h10), (8'hc), (3'h15), (-1'h3), (16'h13), (6'h1b), w9, (6'hb), w4, (11'h1b), (17'h5), (33'h14), (15'h17), (-24'h4), (8'h7), (-28'h0), (-6'h9), (-15'h2), w9, w6, (-30'h12), w81, (6'h14), w91, (-7'h1c)}, $signed((17'h10)), ((18'h12) ? (24'ha) : w10), (-24'hd)} - {{(-8'h1b), w99, w3, w97, (-29'h10), w99, (-16'h3), w90, w85, (1'h6), w93, (-1'h1c), (18'h13), (-10'h2), w96, w78, (-17'h8), (7'hc), (-30'h6), w79, (4'hc), (-30'h1a), w90, (18'h5), (30'h7), w8, w88, (2'h4), w5}, {(-10'h6), (-5'h1), (31'h1), (13'he), (-10'h15), (7'h18), w88, (-12'h7), w5, w94}, ((-2'h19) << w8), {(-22'h5), (9'h1a), (11'h1), w7, (-20'h1a), w78, (-22'h1d), w4, w91, w8, w83, w85, (-30'h7)}, {w10, w90, w2, (-14'h5), w97, w8, (-24'h5), w79, (-14'hf), (4'h1a), (33'h11), (-2'h8), w85, (-9'h18), w96, w97, (21'h15), (17'h15), (-14'h10), w76, (23'h11), (1'h8)}, (~&(-29'hf)), (w5 & (31'he)), ((-15'h5) ^ w94), {w89, (20'h10), (-3'h10), w3, (26'he)}, $unsigned(w99), (-30'h5)});
-assign w76 = {(-w4), (-26'h3), (20'h3), ({(22'h1b), (27'hd), w6, w7, w80, (-26'he), w81, w92, (6'h7), w5, (-26'h18), w85, (6'h17), w2, w78, w81} >> ((-6'h19) ? w88 : (-11'h16))), w100, ($unsigned((8'h9)) !== (w80 ? w97 : (-17'h1a))), ((w86 * w100) <<< {w5, w10, (24'ha), w6, (-21'h9), w84}), (-14'h13), (w88 >>> (w98 ? w1 : (14'h1a))), ({(20'hf), (-26'hf), (-22'h18), w91, w93, (11'h4), (20'h15), w7, w1, w82, w77, (27'h9), (2'hd), (-21'h1e), w6, w80, (-21'h18), (-10'hf), w2, (-31'hd), w77} ? ((25'h13) ? w86 : w79) : {(8'h8), (-21'h2), (-7'h1c), w98, (-17'h18), (-12'h16), (-21'h17), (-26'h1d), (-13'h1d), w88, (-21'h16), (-17'ha), (-7'h1), w82, w97, w2, w4, w8, w9, w89, (29'h19), (-24'hd), (23'h1e), w82, w10, (-24'h1a), w94}), (-19'h15), {w4, (-23'h1a), w9}, w10, (-25'h1e), (10'h8), $unsigned(((-6'h4) != (-6'h4))), {w96, (12'hc), w93, w89, w83, (-16'h3), (-11'hc), (-32'hc), w94, (-31'h1e), (3'h12)}, w97, ((w10 ? w3 : w86) ? {(20'h12), w100, w77, (-12'hd), (-7'h7), (5'h1e), w80, (1'hb), w89, (33'h1)} : (-4'hf))};
-assign w77 = (w88 != (w94 >= (&w88)));
-assign w78 = $unsigned((12'hf));
-assign w79 = (-7'h16);
-assign w80 = (+($signed(($signed(w4) ? (-29'hd) : w9)) ^ (+({(-25'h1a), w3, w91, w5, (-29'h1), (-5'h11), (19'h17), w10, (17'h10), (11'h8), w89, w9, (13'h3), (-2'h6), w1, (-11'h1b), (-25'h1d), (-6'h17), (19'ha), w83, w88, w87, (14'h2), (-12'h1d)} - $signed((7'hc))))));
-assign w81 = w7;
-assign w82 = $signed((~^(27'h10)));
-assign w83 = (!w90);
-assign w84 = w5;
-assign w85 = $unsigned((-18'hb));
-assign w86 = {(14'h9), $signed((-24'h10)), $unsigned((w92 ? (25'h13) : (-21'hd))), {w89, (-30'h10), w98, (-13'h9), (18'h8), w10}, w90, w1};
-assign w87 = {w88, (16'h1c), ($unsigned(w98) - w2), ($unsigned((-26'h0)) ? (w100 ? w88 : (-21'hb)) : (21'hf)), (w98 > $signed((25'h1b)))};
-assign w88 = (-10'h16);
-assign w89 = (w95 >= ((~&(&{(13'h7), (25'h19), (-27'h4), (24'h17), w10, w1})) >> (23'hf)));
-assign w90 = ({(^w91), (w4 + (-7'h12)), (w2 ~^ w99), w98, (w97 ? (-25'h10) : (19'h19)), (w5 * w92), (!(-18'h19)), (12'h1a), (-32'h1c), $unsigned(w93), $unsigned(w98), (|(29'hf))} ^~ (-$unsigned({w99, (1'h14), (8'ha), (15'h8), (-1'hb), w7, (11'h1d), w91, (-7'h1c), (-29'h4), w98, w96, w6, w5, (-10'h5), w93, (-14'h18), (7'h1e), w8, (-1'h1b), (13'h15), (22'h8), (-21'h17), w2, (-3'h1b), (-23'h12)})));
-assign w91 = (&{{(12'h4), w98, w9, (-27'h1b), w5, w7, w99, (-4'h1b), (-1'h18), (-19'h4), w9, (28'h2), w94, (-1'h1a), w8, (20'h3), (-13'h2), (7'h16), (28'h1e), (24'h1d), w6}, w2, $signed((6'h5)), $signed(w4), $signed(w8), (|w6), $signed((25'h1)), (-13'h5), $signed((31'h1b)), (w7 === w92), {w4, w100, (29'h18), w3, w98, (-14'hb), w93, (-17'h5), (24'hc), (-15'he), (19'h13), w5, w3, w94, w92, w10, (8'h5), (-31'h5), (-23'h10)}, $unsigned(w10), $unsigned(w93), (w99 ? (31'hd) : w7), ((30'he) > (-17'h15)), ((-1'h1e) == w98), {w97, (27'he), (21'h1), (23'hb), (-9'h2), w10}, ((4'h3) ? w3 : (31'hd)), $unsigned(w99), w8});
-assign w92 = ((($unsigned((^w100)) ? (^~w98) : (((-11'h9) <<< w3) > w6)) >= {w8, (-20'h12), w94, (3'h1a), (-15'h2), (-3'h6), (-10'ha), (7'h5), w5, (9'hc), (27'h17), w95, w5, (12'h7), w95, (-22'h15), w10, (-11'h19), (1'h11), w2, (16'h13), (-16'he), w96, w3, w4, w6}) > ((-{w93, w100, (-6'h0), (-13'h12), w94, (26'h12), (17'h7), w100}) != w9));
-assign w93 = {{w9, w3, w2, (-11'h0), (-7'h9), w10, (-19'h1e), (-12'h9), w6, w2, (-12'hf), w94}, ((~|w3) ^ {w95, (-6'h9), (12'h8)}), (^~(w9 + w94)), ((w6 || w97) + $signed(w95)), {(-19'hd), w10, (1'h12), (32'he), w96, w99, w7, w95, w2, w1, (4'he), (33'h17), w98, (30'h6), (-24'h17), w6, (24'h10)}, (-w7), (-(&(35'h6))), $signed($signed(w94)), $unsigned((|w1)), $unsigned((~^(21'h3))), w4, ((w6 ? w4 : w96) + $signed((-16'h1e))), (w4 ? $signed((-1'h13)) : (w98 ? w1 : w6)), w99, (-9'h1b), (|w94), $signed(w4), {w96, (7'h1), w95, w9, w96, (-15'h2), w96, w99, w1, w96, (-31'h1c), w95, w6, w5, (26'h1a), w10, w96, (9'h18), w98, (11'hd), (24'h7), (26'hd), (20'h17), (-11'h1c), w99, (-18'hd), w4, w100}, (-15'h1), (-24'h19), $signed(w4)};
-assign w94 = (~^(-10'h9));
-assign w95 = w99;
-assign w96 = {((2'h1d) ? w8 : (10'h1)), (|w3), (~|(w100 ? w1 : w1)), (32'h4), ((w8 ? w8 : (-21'h4)) ? {(-11'hb), w3, (-28'h9), w100, (-28'h18), (26'h12), w10, (16'h16), w98, (6'h2), (19'h16), (-18'h17)} : ((5'h3) ~^ (-15'he))), ((w98 && (28'h1c)) ^~ (!w98)), $unsigned((-27'he)), (~^(30'h2)), (13'h1b), $signed((21'h13)), (&$unsigned((-23'h13))), {(-18'h10), (2'h10), (10'h1e), (-22'h10), w99, w8, (28'h1c), (26'he), w9, w100, (19'h1a), w1, (-19'h1c), (16'h2), (28'h3), w8, (-21'h15), w4, (31'h19), (4'h19), (7'he), (20'h16), (-22'h15), (2'he), w1, w1}, w97, $unsigned(w97), ({w100, w100, w8, (25'hb), (-12'h1c), (-13'h8), w97, (20'h12), w3, (-15'h15), w1, (-7'h0), w99, w4, w10, (12'h1b), w7, (17'hc), w10, (-27'h1c), w2, (-4'h5), w99, (-3'h13), (-14'h14), (-27'h8), w10} >= ((-30'hf) != w8)), (6'h1a), $unsigned((&w7)), $unsigned((^w100)), (23'h1d), (-29'h2), (((-24'ha) < w10) === (-28'h19)), w100, w6, $signed(w8), ((17'ha) ? (w8 ? w10 : (-8'h1c)) : (^~w6)), ({w100, (10'h12), (24'h19), w1, (20'h17), (18'h1d), (-7'hd), w99, w4, (-6'h1e), (21'he)} == (&(15'h18))), (-(-10'h1)), ({(6'hb), (-25'h3), w7, w10, w98, w2, w2, (17'h1c)} ? $signed(w6) : ((22'hd) | w10))};
-assign w97 = $signed((8'h1b));
-assign w98 = {((7'hd) ? ((7'he) ? w7 : w2) : (-12'h1e)), (24'h1), ($unsigned(w5) ? {w9, (13'h6), w1, (17'h5), (18'h1c), (12'h3), (11'h1c), w2, (1'h19), (30'hc), (9'h17), w100, w3, (-26'h6), w3, w8, w6, w5, (1'h3), w6} : (&(9'h2))), (w10 ? {(26'h9), (25'h1b), (6'hf), (3'h8), w1, (22'hb), w6, (21'h13), (15'h13), w1, w10, w10, (27'h6), (-8'h1d), w5, (33'h1), (-9'h1), (-7'h0)} : w1), ((w99 ? (-24'h1a) : (1'h19)) ? ((-4'h1e) ? (-13'h18) : (28'hc)) : w4), ((w4 + w8) ~^ $signed((-18'h1d))), (~^(-2'h0)), (w8 + w100), w9, ((-w2) <= $unsigned((26'h13))), $unsigned(w2), {w1, (19'h5), (22'h4), w5, w3, w5, w99, w6, (-12'h10), w8, (-27'h19), (-27'h1), w8, w7, w9, (-20'h9), w1, w4, (-29'h17), (-10'h1), (20'hb), (19'h11)}, {(28'h15), (-23'hb), (22'h1c)}, (~|w8), w99, w9, $signed({w6, (30'h6), w1, (13'h16), w4, (25'h8), w5, w7, w7, w8, (-24'h1e), (-12'h9), (-20'h4), w7, w2, w4}), ((w1 >= w1) < $signed((-1'h1))), (+$unsigned(w2)), w99, ({(-4'h14), (32'h1c), w2, w3, (-21'h5), (6'h13), (-24'h16), (-28'h10), (-14'hf), w9, (-21'hf), (-8'h7), (-10'h0), (-4'h13), (-8'h2), (-20'h1c), w99, w10, (-26'h5), w9, (15'hb), (-9'h1c), w6, (-6'h12), (-16'h5), (13'hf), w9, (-26'h16), (-20'he), (-5'h5)} ? (w7 && (-2'h7)) : (+w10)), w6, $unsigned((!w7)), w8, {(17'h16), w10, (-30'h18), w7, (8'h3), w99, (-13'h17), (-19'h1a), (-5'h14), (-29'he), w2}, ({w8, w8, w6, w2, (-6'h16), (-11'h17), (26'h1), (29'hc), (-12'h18), (7'h1), (-30'h0), (16'h1), w5, w5, w1, w100, w4, (-19'h1b), (-1'h19), (17'h2), (27'hf), (-20'h8), (20'h9), w10, w9, w8} ^~ $unsigned(w5)), (-11'h4)};
-assign w99 = (!$signed((|{w7, w3, (11'h19), w4, w4, w10, (26'h13), (8'hb), (-27'h2), (-12'hf), w3, w2, (-30'he), w3, w7, w6})));
-assign w100 = w8;
-assign y = {w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, w29, w30, w31, w32, w33, w34, w35, w36, w37, w38, w39, w40, w41, w42, w43, w44, w45, w46, w47, w48, w49, w50, w51, w52, w53, w54, w55, w56, w57, w58, w59, w60, w61, w62, w63, w64, w65, w66, w67, w68, w69, w70, w71, w72, w73, w74, w75, w76, w77, w78, w79, w80, w81, w82, w83, w84, w85, w86, w87, w88, w89, w90, w91, w92, w93, w94, w95, w96, w97, w98, w99, w100};
-endmodule
diff --git a/bugs/original_5.v b/bugs/original_5.v
deleted file mode 100644
index b7113df..0000000
--- a/bugs/original_5.v
+++ /dev/null
@@ -1,194 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1328:0] y;
-input wire [19:0] w1;
-input wire [5:0] w2;
-input wire [29:0] w3;
-input wire [20:0] w4;
-input wire [7:0] w5;
-input wire w6;
-input wire [18:0] w7;
-input wire [11:0] w8;
-input wire [20:0] w9;
-input wire [26:0] w10;
-wire [11:0] w11;
-wire w12;
-wire [1:0] w13;
-wire [16:0] w14;
-wire [28:0] w15;
-wire [28:0] w16;
-wire [16:0] w17;
-wire [1:0] w18;
-wire w19;
-wire [4:0] w20;
-wire [26:0] w21;
-wire [25:0] w22;
-wire [11:0] w23;
-wire [9:0] w24;
-wire [7:0] w25;
-wire [22:0] w26;
-wire w27;
-wire [25:0] w28;
-wire [16:0] w29;
-wire [8:0] w30;
-wire [29:0] w31;
-wire [17:0] w32;
-wire [11:0] w33;
-wire [16:0] w34;
-wire [7:0] w35;
-wire w36;
-wire [9:0] w37;
-wire [22:0] w38;
-wire [1:0] w39;
-wire [9:0] w40;
-wire [21:0] w41;
-wire [29:0] w42;
-wire [20:0] w43;
-wire [3:0] w44;
-wire [16:0] w45;
-wire [21:0] w46;
-wire [20:0] w47;
-wire [6:0] w48;
-wire [4:0] w49;
-wire [2:0] w50;
-wire w51;
-wire [8:0] w52;
-wire [5:0] w53;
-wire [18:0] w54;
-wire [14:0] w55;
-wire [14:0] w56;
-wire [26:0] w57;
-wire [9:0] w58;
-wire [6:0] w59;
-wire [27:0] w60;
-wire [13:0] w61;
-wire [11:0] w62;
-wire [17:0] w63;
-wire [15:0] w64;
-wire [24:0] w65;
-wire [6:0] w66;
-wire [8:0] w67;
-wire [27:0] w68;
-wire [13:0] w69;
-wire [15:0] w70;
-wire [4:0] w71;
-wire [25:0] w72;
-wire [2:0] w73;
-wire [17:0] w74;
-wire [16:0] w75;
-wire [22:0] w76;
-wire [11:0] w77;
-wire w78;
-wire [18:0] w79;
-wire [10:0] w80;
-wire [22:0] w81;
-wire [26:0] w82;
-wire [25:0] w83;
-wire [16:0] w84;
-wire [8:0] w85;
-wire [25:0] w86;
-wire [20:0] w87;
-wire [18:0] w88;
-wire [17:0] w89;
-wire [9:0] w90;
-wire [22:0] w91;
-wire [26:0] w92;
-wire [11:0] w93;
-wire [19:0] w94;
-wire [2:0] w95;
-wire [25:0] w96;
-wire [14:0] w97;
-wire [6:0] w98;
-wire [10:0] w99;
-wire [1:0] w100;
-assign w11 = $unsigned($unsigned((+({(-16'h1a), w23, w89, (25'h14), (4'h19)} ? ((-18'h16) - (-26'h12)) : $unsigned(w43)))));
-assign w12 = ({(w47 >> w43), w68, ((20'h10) ? (-23'h1b) : w27), (w83 ? w7 : (21'h17)), (+w54), {(22'h5), (5'he), (22'h1a), (27'h2), w18, w54, w69, (-28'hb), (-28'he), w92, (16'h3), (-4'h1d), w47, w13, w82, w43, w83, w37, w10, (14'hc), w64, (11'h3), w45, w54, (-4'h8), w76, (30'h9)}, w58, (-11'h1b), w9, w61, {w18, (20'h17), w78, w77, (16'h1b), (25'hb), (13'h19), (19'h17), w24, w38, (25'h15), w40, w66}, w3, (w32 <= w91), w64, ((10'h1e) ? (7'h4) : w99), ((19'hf) ? (-13'hf) : w36), (w90 + w22), (~|(12'h19)), (w61 <= w40), (w49 ? w50 : (23'h6)), ((-12'ha) ? w33 : w3), ((-20'h5) ? (-22'he) : (26'h10)), (!w59)} ? (({(-5'ha), (-20'h1a)} - w44) + (!$signed($signed((-33'h12))))) : (w40 ? (w3 ? w69 : ((-1'h5) ? w24 : (-18'h12))) : $signed($unsigned(w9))));
-assign w13 = (|w28);
-assign w14 = (-19'hf);
-assign w15 = {((24'h19) || (^~w34)), {w50, w49, w99, (15'h3), (-7'h3), w7}, ((-20'h6) >>> ((-16'h1e) ? (-11'h16) : w60)), $unsigned((~^(2'h7))), w66, ((w77 ? w5 : (-5'h4)) ? (-6'h15) : {(20'h1d), (-25'h2), w90, (16'hd), (22'h10), w36, (-20'h14), w77, (-24'hb), w74, (-7'h10), w10, (1'h1e), (20'h7), w50, w5, w3, (-17'h12), w38, (18'hb), (32'h11), w90, (21'h11), (-5'h8), w84, w44}), {w92, w47, (7'h3), (-29'he), (23'h1d), w51, (-19'h17), (-26'h5), (25'h2), (-32'h13), (-26'h1a), w85, (-26'h14), (21'hf), w5, w55}, (-22'h16), (~^(w3 >= (32'h1e))), w38, (-7'h19), (30'h12), w16, ({(-24'h14), w41, w74, w78, (19'h2), w35, w18, (28'h6), w90, (-24'h10), w51, (-6'h1a), (-14'h19), w92, (-9'h3), w66, w43, (11'h3), (27'hf), w98, (6'h5), w71, w42, (9'ha), (-23'hd), w87} <= (+(-25'ha))), ($signed((19'h3)) ~^ (-w7)), (~&w56), {w95, (-24'h1c), (-2'h1), (25'h1e), w72}, $signed((w93 << (-11'h16))), w19, {(-28'h3), (29'h1), w54, (5'ha), (1'he), (4'h1c), w89, (-30'h2), w56, w74, (3'h16), (-18'h16), w30, w19, (27'h1d), w9}};
-assign w16 = {w71, ({(-25'h16), w64, w66, w95, (16'h6), (18'h9), w6, (-16'h1c), (-16'h1a), w6} <= (10'h14)), w27};
-assign w17 = w83;
-assign w18 = w30;
-assign w19 = ($signed((^((26'h1e) ? (~&w61) : (5'hf)))) >> (^~w92));
-assign w20 = w81;
-assign w21 = (-15'h1d);
-assign w22 = {(7'h13), {w33, (-14'h1c), w9, w45, w59, w51, w68, w51, (-17'h10), w86, w35, (-11'hb), w36, (17'hb), (14'h13), (-5'hb), (11'h8), w81, w71, w3, (-24'h12), (-30'h5), (-23'h5)}, (-25'h5), (|((19'h3) >= w59)), {(6'he), (-14'h13), w69, (-6'h1b), w86, (-20'h14), (-18'h11), w80, (-28'h6), w9, w68, (-12'h1e), (12'hb)}};
-assign w23 = $unsigned((({w5, (-3'ha), w64, w49, (-6'h5), w30, (27'h1e), w39, w91, (6'h1d), w82, (16'h12), w38, w24, (-5'h2), (5'h13)} >>> ((-7'h3) ? w40 : w5)) ? $unsigned((17'h18)) : {w34, w34, w49, w90, (-6'h2), (-10'h19), (-29'h16), w33, (-16'h7), w52, (2'h3), (19'h13), (5'h2), (24'h3), w2, (-27'h1a), w77, w100}));
-assign w24 = w58;
-assign w25 = $signed($unsigned((3'hb)));
-assign w26 = $signed((&((^~(w31 & (-10'h8))) ^ (!((8'h14) ? w35 : w55)))));
-assign w27 = (23'h12);
-assign w28 = ({$signed((17'h4)), w65, ((-20'h14) && w73), $unsigned(w4), (+w63), (15'h8), {w32, (16'h3), w95, w8, w68, (21'h5), w3, w90, (-23'h7), w41, (13'h1c), (-4'h2), (-17'h17), (-25'h17), (21'hc), (10'h5), (-25'h7), (-11'hd), (-1'h11), w32}, (w85 ^~ (21'h1b)), (w78 ? (28'hb) : (27'h14))} ? {((15'hf) ? (-28'h12) : w90), w63, {(21'hb), (19'h14), w40, (-21'h1d), w98, w10, w85, w54, w75, w81, w5, w8, (26'h19), w92, (10'h1c), (27'h1e), w83, w5}, w5, ((26'h3) >= (-28'h12)), (&w78), (|w58), w36, (-w84), w74, w98, (-13'h6), $signed(w37), $signed(w79), {w35, w76, w56, w34, w1, (-1'h7), (-6'h1d), (27'h9), (-22'h10), w8, w98, (-14'h15), (-24'h1d), (-13'h1c), (-3'h5), (-5'h3), (6'h2), (13'he), (17'hd), w35}, w89, w36, (|w77), w91, ((-26'h1e) ? (-9'hb) : w77), w93, $unsigned(w5), (~^w3), (+w68), (19'hc), (|w29), (-22'h1e), w80, $signed(w10), {w52, (-7'hb), w55, w73, w32, w30, (-32'h1c)}} : {((-9'h12) | (11'h17)), w86, {(-24'h1), (19'h5), w80, w82, (-11'h19), (7'h8), w42}, (w45 == (14'h17)), (-4'h6), $signed((21'hf)), $signed((-22'h18)), (-8'h12), (w58 >>> (-9'hb)), $signed((-4'hc)), w10, {w66, (5'h17), (-6'h2), (18'h9), (13'h2), (-11'h5), (-23'h1b), (-13'h4), w50, (-14'hb), w34, w90, w87, w71, w70, (-16'h1), (-6'h1e), (3'hd), (14'ha), w78, w66, (16'h17), w99, (7'h15), (6'h12), (-2'h4), (17'h19)}, (~&(32'h18)), (1'hb), $unsigned(w65), (w42 ? w62 : w55), w64, (29'h8), w73, {w45, w38, (2'h1a), w75, (-7'h10), (22'h9), (1'he), (23'h1e), (4'hf), (13'h12), w4, w71, w55, (30'h17), w74, (3'h11), (-17'h0), w76, (6'h1c), (14'h1), w4, (-11'ha), w84, w8, w32, (-29'ha)}, (4'h16), (+w99)});
-assign w29 = $unsigned({(-15'h1d), (w85 !== w67), (w35 <= (11'h4)), ((2'h8) ? (19'h7) : (-27'h18)), (^~(22'h1c)), (~&(-20'h1a)), (18'h4), (w76 !== w54), w7});
-assign w30 = $signed({{(26'h18), (17'h1), w94, w45, w56, (-25'h1c), (4'h12), (6'h12), (-1'h17), (4'h9), w3, (5'h5), (-1'h15), w54, w41, (23'h1b)}, (w62 ? (-13'h2) : (-22'hf)), {(-20'h8), w68, w1, w94, w80, (-10'h1b), (-5'h8), (19'hf), (-14'h0), (17'h1e), w99, (-11'h5), (10'h1e), w100, (-17'hb), (-29'h3), w97, (-29'h18)}, {w34, (1'h1c)}, w41, (w79 ? w95 : (-24'h11)), w43, (+(-12'h1d)), {(13'h1d), w43, w100, w83, (11'hf), (-4'hf), w99, (16'h1c), (-29'ha), w63, w75}, ((31'h19) == w95), ((4'h10) + (-28'h12)), w42, (w82 * w89), $signed(w94), {(24'hc), (-33'h15), w44, (-25'ha), (8'h13), w3, w31, (28'ha), w95, w68, w93, (-7'h13), (23'hc), w79, (30'h13), (-31'hc), w83, (18'h1d), w98, w54, w59, w49, w7, w61, w10, (-11'hf), (12'h10), (-14'h1), w62}, (w85 ? w35 : (24'h15)), (w4 - (23'h11)), (~|w37), (w90 ? w40 : (24'h10)), (~^(30'h4)), (w67 == w74), w80, $unsigned((-24'h4)), $signed(w55), {w7, (21'h1b), (6'h16), w50, (16'h14), (-25'h9), (-28'h12), w62, (-20'h15), w35, (24'h12), (9'h9), w100, (-11'h7), w4, w46, (-1'hc), (5'hd), (-11'h16), w98, w1, (-1'hb), w31, (-12'h7), (-5'hc), w1, (29'h13), w69, (-1'h7)}});
-assign w31 = (^~(&$signed(($signed((-15'h13)) ? (~&(-25'h1)) : (w39 ? w50 : w35)))));
-assign w32 = $unsigned($unsigned(($unsigned($signed(w6)) >= (13'hc))));
-assign w33 = $signed(((+((w44 >> w98) === (w3 ? (2'h1) : (-34'hd)))) == {(25'h1c), w61}));
-assign w34 = ((($unsigned(((3'h11) ? w69 : w93)) <<< {(-19'ha), (-23'hc), (25'h16), w2, w6, w51, w80, (-29'h16), (-14'h4), w53, w95, w66, (-32'h0), (-14'h1c), (20'h7), w78, (-12'h1c)}) ? $signed((^{w78, (-19'h8), (7'h2), (-20'h1d), w7, w59, (-12'h2), w82, (-16'h8), (15'h12)})) : $signed(((-8'h14) <<< w54))) == (|(+$signed((w98 >> w39)))));
-assign w35 = (~&($unsigned(w74) ? $signed(w99) : {(4'h4), w78, w56, w3, w73, w82, (18'hf), w59, w59, w41, (27'h6), (-20'h1b), w78, (-25'h16), w10, (20'h14), w1, (-15'h3), w96, w64, w1, w44, w75, (3'ha), (-4'h11), w52, w83}));
-assign w36 = w60;
-assign w37 = (^{w61, {(-11'h1), (5'h19), (17'h8), (-19'h3), w75, (18'h2), (-10'h19), (-7'h1d), w48, w71, (-5'hc), (-10'h3), (-2'h16), w90, w10, w69, w89, w58, w62, w90, w3, w3}, w2, $unsigned(w85), ((-19'h1e) ? (-28'h18) : w67), {w84, (15'h1b), w4, w38, w4, w72, (-24'he), (-4'h0), (15'hd), w60, w100, (-20'ha), (-24'h7), w65, w95, w81, w97, (-21'h6), w56, (-22'h1e), (23'h11), (13'h1e), (15'h7), (29'h6), (-12'h1e), (-30'h1c), (11'h7), (5'h6)}, w73, $signed((-14'ha)), {(-26'h10), w46, (-17'hd), (18'h16), w92, (-25'ha), w82, (9'ha), w41, w4, w93, (29'h1), (9'h7), (-2'he), w80, w79, w85}, (!w61), (+(-2'h0)), {(22'h12), w58, w71, (-14'h6), (-11'he), w88, (-13'h1d), (-27'h19), w55, w38, w87, (23'h3), w71, w5, (27'h5), (-22'h1b)}, $signed(w61), ((-13'h3) - w91), (w73 ? (9'h4) : (26'h18)), (w94 ? w49 : (-10'hc)), ((-14'h5) ? w56 : (4'h18)), $signed((-31'h17)), (w7 ? w68 : (-28'h4)), $unsigned(w4), (-23'h4), (w44 ? w97 : (9'h12)), (-16'h1e), (w38 ? (8'h8) : (-8'h17))});
-assign w38 = ($signed((-12'h13)) || $signed({w49, (-3'hc), w63, (-12'h14), (-29'h9), (18'hf), (-10'h16), w92, (-21'hc), w75, w42, w100, (-3'h1e), (-4'h9), (-5'h8), (-27'ha), (19'h1a), (18'h11), (-14'h14), (9'h1a), w97, (25'h4), w95, (9'hf), w7}));
-assign w39 = {((21'h15) ? w57 : (12'h1)), w82, (-(&w72)), (-23'h9)};
-assign w40 = w4;
-assign w41 = ((~^{(24'h1), w57, w84, w6, (29'ha), (-8'h6), (19'h8), w2, (23'hd), (-14'h11), (17'h9), w80, (-20'h6), (-13'h1c), w94, (26'h1d), (31'h1c), (17'hf), (-29'h17), (-9'h1e), (-22'h1c), (31'h3), w69, w86, w92}) <= (4'h1b));
-assign w42 = w2;
-assign w43 = ((+(($signed((-15'h1)) ? ((18'h1b) << w46) : w86) !== $signed((~&(-2'h19))))) | (~&(w83 !== $unsigned((-20'h12)))));
-assign w44 = {(!(3'h14)), $unsigned({w54, (5'h11), w94, (18'h3), w9, w98, (3'h7), (-8'h4), (-29'he), (11'h1), (12'h12), w74, (-2'h19), w46, w4, (-3'hc), (-21'h19), w48, w58, (-28'h9), (16'hc), w62, w53, (-25'h2), w61, w72, (-19'h1e), w46, (26'h1e)}), w84, $signed((+(7'h10))), (((-10'h1a) ~^ (-26'hc)) - {w52, (-17'h1a), w59, w96, (-28'h7), (27'h2), (31'h7), w56, (-7'h8), (1'h3), w88, w53, w76, (23'h16), w82, w62, w48, (-7'h1b), w50, (17'h15), (15'h15), (9'h10), (25'h15), w71, (-18'h16), (-29'h5), (10'h3), w77, w57}), (w62 ? ((-2'h1d) | (3'h7)) : w3), {(13'h11), w72, w77, (2'h1d), w87, (2'h16), w75, w89}, {(28'hb), w97, (-26'h0), w94, w87, (-16'h8), w60, (-12'hc), (3'h18), w91, (-20'h11), w99, w7, (24'h4), (-7'hb), (1'h15), (-30'h0), (16'ha), (-7'h10), w79, w45}, {(-21'hf), (-24'h13), (10'h19), w9, (11'ha), (-15'h1a), (-12'h1c), w83, (29'h8), w87, (-8'h13), (4'h4), w51, w64, (-5'h7), (4'h17), w85, w56, (19'h15), w4, (14'he), w8, w88, w75, w79, w82, (-19'h8), (11'h15), (-14'hb), (7'h19)}, (5'hc), (^(w82 ? (-20'h0) : (2'h6))), ({(-4'ha), (30'h1b), (-18'h1d), (-20'h19), (-9'h16), (-3'h1e), (-23'h15), w75, w85, (-24'he), w96, w46, w98, (-6'h11), (29'h2), (25'ha), (-24'h18), w73, w10, w48, w6, w1, (-1'h11), w81, w94, w79, w10} | ((-24'h1e) ? (-15'h1c) : (-16'h1e))), $unsigned((12'h1a)), w46, (+(&w83)), ((~|(-18'h17)) ? (w64 ? (-29'h3) : (-33'h1c)) : {(-29'h5), w99, (18'h8), (-18'h1), w79, w86, (-24'h13), w84, w8, (-5'hb), w92, w74, w92, w8, w2, w92, (-14'h19), w9, w47, w75, (4'h13), (8'h2), (-2'ha), w63}), (((-14'hd) ^ w75) ? (^~w75) : (w72 ? (14'h17) : w68)), ((w70 ~^ (-13'h14)) ? w66 : w46)};
-assign w45 = {$signed(((8'h9) ? w56 : w63)), w98, {(-10'hc), (-27'h4), (-17'h1e), (-28'h1d), (-5'h12), w83, w68, (-21'hb), w55, w66, (-14'hc), (-21'h1e), (23'h2), w81}, {w95, (-24'h8), (29'ha), w80, (-7'h15), w71, w90, (-7'h9), (5'h17), w59, (-4'h1b), w98, w83, w98, (32'h3)}, (-18'h16), (~^(~^w10)), {w46, (5'h10), (8'he), w94, w100, w46, (29'h1c)}, ((~^w1) ? (|(-8'h1)) : (w81 ? (26'h18) : w9))};
-assign w46 = w56;
-assign w47 = $signed($signed($signed((~^$signed(w99)))));
-assign w48 = (10'h7);
-assign w49 = $unsigned({(9'h11), {(-23'h4), (-6'h8), w2, w84, w76, (-15'h1a), (27'h6), w8, (-6'h1c), w70, (-26'h1c), (-2'h15)}, $unsigned(w96), (-3'h1c), {(1'h19), w59, (-20'h2), (-1'h6), (-20'hb), w66, (30'h4), w1, (23'h1c)}, {w5, w8, (32'hb), (-9'hd), (4'h11), (-6'h0), (-31'h1a), (-29'hd), w65, w69, (25'hf), w71, w7, (2'hb), (22'h2), w74}, w71, ((19'h4) ~^ w55), w97, ((-24'h6) <<< (4'h1c)), (~^(-30'h17)), $signed(w82), {(12'h6), w57, (15'h19), (-18'h12), (-4'h3), w6, (20'h19), w86, (22'h14), (5'h14), w2, (29'h2), (-24'h10), w75, w71, w74, w89, w56}});
-assign w50 = ((-9'he) ? (w94 < (26'ha)) : $unsigned(w59));
-assign w51 = (7'h17);
-assign w52 = {w92, $signed({(-6'h18), w67, (-25'hc), (23'hd), (-18'h19), w7, w65, (34'h1c), w5, (-5'h7)}), {(28'h1), (-8'he), (17'h1c), (-21'hb), (28'h3), (13'h8), (20'h8), (30'h8), w68, (-12'h10), (9'h1d), (-11'h7), w73, (-8'h7), w61, w97, w71, w98, w1, w78, w98, (29'h1c), (-27'h14), w94, w73, (7'h6), w95, (-24'h1d), (-17'hc)}, w79, w98};
-assign w53 = ((&(12'h19)) | ({w57, w84, (29'h17), w80, w63, w93, (-31'h1d), w94, w9, (24'h2), w74} > (~&$signed((11'h2)))));
-assign w54 = (^(6'h11));
-assign w55 = {$signed((5'h13)), $unsigned(((27'h1a) !== w76)), $unsigned({(30'h1a), (-9'h1e), w8, (-18'h8), w10, w65, w75, w69, (21'h12), (24'ha), w66, w100, (-6'h1d), w70, w58, (29'h8), (-8'h3), w91}), (-20'h15), (-(w91 ^~ w88)), $signed((w7 ? w100 : (-15'h14))), (10'h16), (^~(-w5)), $signed((^w60)), {(2'h13), w73, (-23'h10), (-27'hb), w74, w1, w83, w69, (-3'h10), (-3'h6), w72, w80, w96}, {w80}, (((-21'h16) ? w90 : (-22'h12)) ? {(-14'h17), (-24'h17), w2, w71, (-17'h1), (9'h16), (31'h6), (8'ha), (-30'h16), w56, (-26'h11), w65, w78, (18'he), (-17'h1d), w68, (-15'h12), w84, (25'hd), w9, (2'h1a), (5'h18), w85, w95, (-20'hb)} : (w75 >= w56)), (9'hf), {(-28'h19), w6, (21'h10), w60, (22'h4), (15'h1d), w80, w100, w65, w85, w64, (-19'h17), (-2'h1e), w9, (17'h7), (10'h15), (9'h6)}, (3'h1d), {(14'h13), (-7'h4), w5, w75, (11'h4), w94, w70, w78}, ((-9'ha) & (~^(-28'hc))), $unsigned((26'h19)), w95, w61, (((16'h17) ? (-19'h3) : (-21'ha)) ? (-17'h1b) : (w58 & w60)), (((26'h5) << w10) ~^ (-23'h3)), w68, ({w69, (11'h17), w80, w99, (-3'h1d), (-6'h5), w4, (7'h11), (-32'h3), w84, w87, w87, (-25'he), w58, w79, (-8'h1b)} ? (~^w66) : (w6 ? (22'h1b) : w65)), w90, ({w82, w65, w85, w3, w66, w5, (25'h7), w59, w84, (2'h17), (10'hc)} ? (+w6) : {(-1'h1c), w63, (-6'h3), (4'hf), w93, w76, (-13'h17), w62, w90, w72, (7'h11), w5, (16'h1d), w93, (11'h8), (-1'h15), (-26'h3), w9, w77, w61, w86, w69, (-3'h7), w5, w80, w93, (-28'h17), (-31'h1a)}), (-29'h12), (-(-24'hf)), ((-19'h1b) || (-21'h12)), (^~$signed(w65))};
-assign w56 = {(27'h1b), ((w83 ? (-8'h1a) : w58) * {(-2'h4), (-27'h4), (-24'h3), (-16'h2), (-7'h11), (10'hc), (13'h2), (-9'h8), w93, w72}), ({(-3'h4), w61, (14'h1d), w81, w61, w62, w87, (26'hc), w86, (27'h14), (-5'h1c), w82, (21'h6), (18'h11), (22'h9), (-31'h3), (-19'h16), w1, w73, (-15'h10), w94, w83, w87, (-13'h1), w61, (-29'h0), w72, w85} ? w64 : {(-26'h17), w73, (-25'h3), w70, w95, w68}), ({w78, w10, (-17'h1b), (9'h5), w3, w96, (-1'h1b), (16'h9), (-1'h1d), w62, (20'h8), w73, w80, w80, (-18'hb), w9, w99, (9'h1b), (12'h12), (-24'h1a), w97, (25'ha), (-1'h6), w57, (-9'h1a), w57, (18'h1)} ? w89 : $unsigned(w71)), w70, ((-20'h5) ? {(1'h14), (-12'h1a), w94, w74, (5'h1b), (-7'h10), w87, w68, (-18'h8), (-20'h8), w5, w91, (4'h1d)} : ((2'h4) ? (-24'h1e) : w69)), w85, ({(-15'hc), w95, w92, w69, w65} >> ((7'hf) * w76)), (~|$unsigned(w97)), w90, {(-13'hc), w89, w9, (-11'h1e), (10'h10), (7'he), w84, (19'h1c), (23'h9), (-30'h1a), (23'h16), (20'h1d), (-7'h8), (-6'h3), (15'h14), (23'h18), (-27'h1c), w78, (-18'h2), w94, (31'h1a), w65, w10, (25'h2), w62, w76, w89}, ($signed(w79) ^~ $signed((8'ha))), ((+(-7'h8)) ? (w96 ? (18'hb) : w88) : $unsigned((10'h15))), ({(22'h8), (-2'h11), w61, (22'h11), w70, (12'ha), (-5'h12)} ? (~^(29'h11)) : (^~(23'h10))), (-13'h1d)};
-assign w57 = (-8'h8);
-assign w58 = ((~&$signed(((w63 == (10'h10)) ? $unsigned(w78) : {(39'h7), w73, (8'h10), w91, w66, (-9'h4), w5, w79, (3'h6), w77, w2, (-29'h1a), (17'h6), w2, (-11'h1d), w86, (-29'h1b), (17'he), (-14'h16), (-5'h15), (-2'h4), w65, (26'h6), w98, (-9'h15), (-8'h1), w87, w66, (17'h6), w100}))) & {((2'h1) ? w66 : (-22'h15)), w2, ((9'h18) ^~ (-25'h8)), (-8'h1c), w67, (29'h3), (w94 ? w60 : (-25'h1)), $unsigned((30'h10)), $signed((21'h6)), (23'he), (w87 >>> w88), (9'h7), $unsigned(w80), w59, (-4'h19), {w80, w88, (6'ha), w79, w10, (5'h2), (-4'h2), (-5'he), (7'hd), w72, (6'h1a)}, (24'h17), w3, ((15'h6) ? w62 : (-22'he))});
-assign w59 = ($signed({w100, w82, (20'hc), (9'h7), (-28'hf), (-26'h1d), w87, w88, (21'h1e), (7'h1c), (-10'h0), (31'hb), w70, (-9'h1d), (6'h10), (-24'h3), (-32'h14), (-6'h12), w100, w9, (-25'hf), (22'h1b), (-23'hc), w61, w64, w65, (20'h15), (5'h5)}) < $signed($unsigned({(-25'h1d), (-3'h12), (-1'hf), w79, (30'he), w77})));
-assign w60 = (29'h4);
-assign w61 = (+(10'h6));
-assign w62 = w67;
-assign w63 = ($unsigned((w6 >>> (+(w76 ? w80 : w3)))) | (-24'hf));
-assign w64 = ($unsigned(w68) ? (9'h13) : {(-9'hb), (+w75), (^~w69), {w87, (-14'h4), (8'h18), w76, w86, w66, w3, w97, w82, w7, w100, (9'hb), (16'h7), w93, (18'h16), (29'h14), w3, (6'h16), (-26'h1), (15'h2), (20'hb), (-12'h1b), w84}, w83, (w66 ~^ w85), ((-1'h6) | w69), (w72 + (-16'h1e)), (-12'h18), (~|w65)});
-assign w65 = ((26'h15) + (-13'h2));
-assign w66 = ($unsigned(w88) <= (21'h8));
-assign w67 = (($signed((3'h7)) ? w1 : ({(-16'h15), (-6'h2), w93, (4'h8)} && $signed($signed((10'h19))))) >> (w77 ? {w3, w3, (-11'h2), w4, (19'hc), w86, (-17'h12), (-28'h12), w98, w68, (13'h18), w77, w3, (-18'h1), w89, (-11'h16), (-20'ha)} : ((w89 < w70) * (w89 | ((-25'h1a) ? (-25'h14) : w5)))));
-assign w68 = (-27'he);
-assign w69 = {$signed((~^(31'h6))), (8'h11), ($unsigned(w74) ? ((5'h8) ? (29'h4) : w78) : (32'hf)), $unsigned((w71 << (-8'h1b))), w3, ((-7'hb) + $unsigned(w89)), $signed((23'ha)), (31'h1c), (-(w92 ? (-25'h15) : w80)), ($unsigned((-25'h8)) >>> w7), (+$unsigned((-27'h1d))), w2, ((17'h3) ^ {w2, (14'h19), (-30'h2), w81, (18'h16), (19'h2), w86, (1'h1b), (-22'h15), w91, (16'h2), w3, w74, (-3'hf), w9, w76, w7, w5}), (w1 ? w3 : $signed((6'hf))), w1, {(-14'h12), w76, w84, w6, w7, w70, (18'h1d), (-11'he), (-1'h0), w83, (-14'h11), w76, (-8'h0), w93, (30'h13), w1, (-21'hc), w9}, (((7'ha) ? (-30'h12) : (-28'h5)) ? $signed(w98) : (w97 && w74)), ((w76 | w91) ? $unsigned(w93) : $unsigned((-5'h12))), $unsigned((20'h8)), ($signed(w89) < $unsigned((-12'h0))), {w95, (-11'h1e), w83, (-28'h1b), (-15'h8), w92, w95, (-10'h11), w76, w5, w1, (16'h2), w89, w3, (-3'h4), w95, (8'h7), w78, w88, (27'h16), (-30'h19), w89}, (-6'h18), {(-31'h15), (-6'h3), (25'h10), w73, w1, (21'h16), (5'h11), (-24'h5), w95, w96, (-24'h9), (-5'h4), w73}, ((w82 || w87) && (!(10'hd))), w86, {w4, w77, (28'h14), (-8'hd), w8, w87, w79, w6, w74, w79, (-22'ha), w93, (8'h13), w8, w100, (-24'ha), (18'he), w77, w7, w7, w92, (32'h1), w3, (-7'h3), (-9'h12)}};
-assign w70 = (-5'h13);
-assign w71 = ((w93 ? ((-3'h2) ? ((-22'h1c) << (-5'h2)) : w89) : ($unsigned(w88) ? (~|w74) : {(-28'h1c), w3, w77, w78, (23'h16), (-11'hc), w89, w79, w72})) ^ ((^~$unsigned({w97, (-7'h4), (27'h8), (-9'h1a), w87, (6'h2), w92, w89, w10, w4})) ? $unsigned(w94) : w9));
-assign w72 = (-30'hf);
-assign w73 = ((12'h1b) < ((~&(+w91)) ? {(-23'h7), (8'h1a), w96, (-25'h9), (-5'h7)} : (-$signed($unsigned(w87)))));
-assign w74 = $unsigned((-w78));
-assign w75 = $unsigned($unsigned(((-16'h1d) ? (23'hf) : $signed(((-26'h16) ? (9'hc) : (-6'h18))))));
-assign w76 = (|$unsigned((((&(8'h1b)) === $unsigned(w1)) != (-4'hf))));
-assign w77 = w99;
-assign w78 = ({(~|(-22'h4)), (w88 - (13'h1d)), (~&w95), (w3 ? (21'h11) : w99), (+w5), {w93}, w91, (-w8), (|(27'h1b)), (21'h1c), {(10'h1c), (-28'h1c), (34'h2), (7'h1b), (12'he), w6, (10'h1a), w98, (22'h10), (28'h1a), (-16'h1d), w93, (-1'h1e), (-22'hb), (23'h14), w88, w98, (-4'h4), w4, w5}, w86, w81, $unsigned((-14'hb)), ((-26'h12) >> w82), w89, {(-26'he), (-12'h12), w84, (9'h8), w96, w80, (-10'h17), (-23'h0), (-11'h6), w5, w91, w93, w85, (-5'h0), w92, w88, w6, (30'h11), w96, w93, (36'hd), w85, (28'h8), (28'h13), (-18'h3)}, {(28'he), (14'h19), w96}, ((-28'h17) ~^ w85), ((-16'h1a) < (-29'h1d)), {w97, w100, (6'h10), (30'h1d), w5, w97, w89, (7'h7), w81, (22'h2), w96, (20'h19), w99, w3, (-28'h1a), w95, w81, (-6'he)}, (w4 ? (-6'h1b) : (-22'h5)), ((22'h14) ? (-13'h1b) : w94), (w90 ? w93 : w99), (~&w3), {w10, (2'h1e), (16'h19), (25'h7), (-25'he), w85, w81, (-30'h9), w8, (-26'h9), w94, w80, (-10'h2), (10'h10), (-13'h1c), (12'h1b), w83, (31'h4), w5}, w9, $unsigned((-15'h7)), (29'h16)} ? (((w94 >>> w85) ? ((10'h11) ? (31'ha) : (12'h1a)) : w5) & ({(17'he), (9'h18), w93, w4, w90, (-6'h13), (-26'h16), w2, w5, (-10'h4), w5, (-13'hb), (3'hb), w5, (8'h17), w93, w3, (28'h1), w7, (-3'hc), w83, (1'h6), w84, (-21'h8), w82, w82, (3'h4)} << (10'h2))) : w94);
-assign w79 = {((~^(10'h12)) != (w2 >= (12'hf))), {w4, (-9'h5), (18'h16), (18'h7), (24'h11), w83, w82, w3, (3'hc), (2'h19), w82}, ({(27'h1e), w95, (25'h1c), (-26'h17), (14'ha), (-23'h16), (7'h7), w95, (-14'h4), w81, (-19'h4), w90, (-13'hf), (2'h19), w2, w99, w88} & {(-29'h13), (-7'he), w84, w5, (-22'h11), (10'ha), (-11'h1e), w92, (-30'h19), (-1'h11), w9, (-20'h4)}), (~|(&(3'h12))), w84, (^((16'h12) <<< (-28'h1a))), w85, (((6'h17) ? (16'h17) : w94) ? (w5 & (15'h1a)) : (w86 != w85)), w8, w89, w89, w88, ((w80 ? w7 : (28'h17)) ? (^(7'h10)) : (!(26'hf))), ($unsigned((11'hf)) ? {w83, w4, w96, (-12'h1), (-29'h1e), w10, (-17'h6), (-11'h2), (-5'h0), (3'h1c), (15'h3), (2'ha), w5, (8'h3), w82, w96, (-32'h2), w80} : (~&w4)), $unsigned((w10 ~^ (13'h15))), (30'h10), (~^(-15'h13)), {w98, w4, w99, w8, (5'h18), w84, w7, (-20'he), w85, (26'h7), w100, w93, (-16'h1a), w6, (27'h3), (-15'h8), w82, (28'ha), (18'h8), w2, (-1'he)}, (((-15'h9) ? w6 : w97) | w93), $unsigned((w87 ~^ w4)), $unsigned({(-25'h5), w92, (-4'h1e), w9, w10, (17'h1c), (1'ha), w2, w98, (-9'he), (29'h3), (-2'h6), w92, (-20'h8), (5'h1c), w100, w94, w5, (-15'h16)}), ({w3, (-19'h1a), (-22'h5), (-4'h9), (-17'h19), w80, w4, w85, (-13'h1c), (12'h15), (-22'h1), (2'hb), w85, w7, (-3'h4), (32'h1c), (-26'h4), (-16'h1d), w97, (25'ha), (18'h7), (23'h8), (3'h15), (10'h13), w99, w9} !== w8), (26'hd), (|((28'h13) * (20'h8))), {w10, w98, w80, w10, w10, (-1'h1d), (16'h1d), w91, (1'h8)}, {(4'ha), (23'h1e), (23'h3), (16'h1a), w83, (-28'he), w6, w90, (5'h5), (-4'h1e), w83, (-31'h6), w96, (-22'hc), (-22'h5), (-25'h2), (-32'h0), (-22'h14), (-14'h1a), (26'h12), w3, w88, (8'h6), (22'h3), w84}, {(-5'h15), (26'h1a), w1, (5'h6), w95, (18'he), w87, w85}, (((16'h1d) < (16'h3)) | (~|w3)), ({(23'h2), (16'h3), (19'hc), w9, (-19'h14), (-18'h1b), w99, (-22'h15), (-22'h1a), (-15'hf), w100, (26'h1e), (-17'h18), w8, (23'hb), w90, w96} ? (!w85) : (~|(-24'h4)))};
-assign w80 = (-23'h1b);
-assign w81 = (-23'h5);
-assign w82 = $unsigned({w100, (w10 <= w9)});
-assign w83 = $signed(((((4'h19) >> (16'h1a)) ? (5'h10) : (|w87)) ? w6 : w98));
-assign w84 = w4;
-assign w85 = ((7'hb) >>> ({(-16'h13), w1, (23'h6), w95, w9, w10, (-3'h18), (-7'h18), (-18'h1d), (18'h6)} ? (^~w4) : (|((w90 | w93) == (24'h3)))));
-assign w86 = (w8 ? {(w92 * w90), {(-18'h12), (-14'h0), w6, w3, (17'h6), (1'h1), (-19'h15), (-18'h12), (-17'hb), w92, (-26'h1a), (16'h11), w94, w96, w90, (24'h5), w95, w97, (-19'h17), w100, (-28'h1d), (25'h9)}, {(-21'h4), w6, (16'h12), w91, w97, w94, w95, (-9'h8), w1, (-1'hc), w7}, w93, (15'h12), (8'h10), w3} : (-2'h11));
-assign w87 = (&(((w4 ? w90 : w4) ? (w95 ? (-17'h10) : w93) : (+(18'h8))) ? w91 : ((((-14'h3) > (20'ha)) | $unsigned((-18'h0))) <= w90)));
-assign w88 = (((-15'ha) ? ($signed({w99, (20'h16), (-25'h1)}) >> (((-26'h15) ? w3 : (-23'h16)) <= (-18'h7))) : (-6'h1b)) * ({(15'h4)} ? (~^{w10, (-13'h1b), (-1'h19), (-10'h7), w100, w7, w5, (-4'h1a), (27'h13), w94, w9, w97, (15'h1a), (-15'h2), w7, (29'h9), w5, (19'h10), (28'h5), w90, w100, w96, (26'h3), (10'h19), (2'h12), (26'h12), w91, w3}) : (^~(w3 !== $unsigned((-5'h1e))))));
-assign w89 = w2;
-assign w90 = (~&(+{w93, (29'h19)}));
-assign w91 = (($unsigned((27'h10)) ? (-16'h1e) : {(17'h3), (-11'h12), w93, w96, (-1'h1b), (-23'h8), (-21'h18), (-27'h8), (23'h13), w9, w98, w94, (-24'h4), w5, w92, w9}) ? ($unsigned((w97 ? (1'h19) : w7)) ? ($unsigned((30'h14)) ? (|(30'h7)) : (w96 ? w93 : w5)) : $unsigned((-9'h10))) : {(w96 & w98), $unsigned((8'h14)), {w2, (6'h16), (-16'hd), w4, w3, w10, (-11'h7), w5, w10, (-21'h1d), (-23'hb)}, (w10 ? (14'h14) : (27'h16)), $unsigned(w7), {w5, w93, w2, (5'h7), w6, (6'h5), (-3'h5), (26'h2), w93, w96, (1'he), (-20'h3), (-2'h1a), w9, (-16'h1b), (5'h17), w5, w3, w8, w95, (-23'h5), w3, w92, w97, (-29'h1c), (-7'h10), w92, w95, w1, w5}});
-assign w92 = $unsigned((-22'h2));
-assign w93 = {($signed(w3) <= w8), ({(-24'h7), w10, (-26'h6), (-18'h15), (24'he), (26'ha), (27'hd), (13'h19), (25'h10), w8, (-10'h1a), w100, (-3'h3), w96, (-28'h3), w9, w98, w98, w8, w100, (-17'h1d)} >> (|w100)), $signed({(28'he), (-28'h15), (22'h6), (-30'h18), (18'hb), w97, w3, (-18'h13), w5, w7, w3, w98, w100, w95, (-15'hb), w5, w96, w7, w7, (-4'h14)}), (~^$unsigned(w100)), (-3'ha), ((22'hb) & w2), ((w3 ? w5 : (-3'h8)) ? w100 : (~&(-16'h12))), (-18'h4), w98, ((w4 && (-20'h7)) | $unsigned((28'h1a)))};
-assign w94 = ((-10'h16) ^ w98);
-assign w95 = ((1'hf) == ((~^$signed((w7 << (-9'h16)))) ? $unsigned(((-19'h14) ? w8 : (28'h11))) : (|{(26'hc), (18'ha), (27'hd), (16'hd), w96, w10, (24'h2), w98, w96})));
-assign w96 = (((~|((w8 ? w1 : (26'hf)) ? (17'h16) : ((22'h7) | (-12'h2)))) || {w6, w99, (-20'h5), w8, (-14'hf), w98, (26'h6), w9, w99, w99, w8, w99, w9, w10, (-17'h19), (-24'h6), (-25'h3), w3, (-26'h1d), (22'h16), (-18'h19)}) == {(-5'h4), {(-16'hf), (11'h2), w1, w9, (14'h15), w1, (5'h5), w100, w6, (15'h8), w8, (9'h1d), (31'h4), (-26'h19), w97, (-23'h1e), (-27'h1c), w98, (-14'h19), (-22'h17), w9, w3, (18'h6), w97, w7, w98, w5, w7}, $unsigned(w99), (w8 <= w2), ((17'h7) ? (-5'hd) : (30'h1a)), (&w5), (1'hd), (w1 == (10'hb)), (w4 ? (14'h10) : w1), (w100 ~^ (14'h2)), ((20'h2) ? w2 : w100), ((-7'h15) ^~ (25'h1e)), (w4 ^~ (-21'h13))});
-assign w97 = (~^({w5, w7, (-17'h18), (30'hf), w1, (-3'h14), w6, w98, (-10'h12), w2, w100, (10'h3), (21'h9), w4, w6, w5, w99, w7, w1, w100} ? {(-14'h7), (-28'h16), (25'h1b), (14'h7), (26'h1d), (9'h14), (-22'hc), (6'h1d), w10, (5'h8), w10, (5'h1b)} : $unsigned($signed(((-29'h12) <= (-19'h14))))));
-assign w98 = w99;
-assign w99 = ($signed((29'hd)) > $unsigned($signed(((1'h13) >> (w100 ? w5 : (-9'h9))))));
-assign w100 = w7;
-assign y = {w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, w29, w30, w31, w32, w33, w34, w35, w36, w37, w38, w39, w40, w41, w42, w43, w44, w45, w46, w47, w48, w49, w50, w51, w52, w53, w54, w55, w56, w57, w58, w59, w60, w61, w62, w63, w64, w65, w66, w67, w68, w69, w70, w71, w72, w73, w74, w75, w76, w77, w78, w79, w80, w81, w82, w83, w84, w85, w86, w87, w88, w89, w90, w91, w92, w93, w94, w95, w96, w97, w98, w99, w100};
-endmodule
diff --git a/bugs/original_6.v b/bugs/original_6.v
deleted file mode 100644
index ec8adda..0000000
--- a/bugs/original_6.v
+++ /dev/null
@@ -1,194 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1393:0] y;
-input wire [8:0] w1;
-input wire [25:0] w2;
-input wire [24:0] w3;
-input wire [16:0] w4;
-input wire [29:0] w5;
-input wire [28:0] w6;
-input wire [21:0] w7;
-input wire [22:0] w8;
-input wire [29:0] w9;
-input wire [20:0] w10;
-wire [18:0] w11;
-wire [2:0] w12;
-wire [18:0] w13;
-wire [17:0] w14;
-wire [28:0] w15;
-wire [28:0] w16;
-wire [12:0] w17;
-wire [21:0] w18;
-wire [8:0] w19;
-wire [20:0] w20;
-wire [16:0] w21;
-wire [10:0] w22;
-wire [15:0] w23;
-wire [26:0] w24;
-wire w25;
-wire [1:0] w26;
-wire [1:0] w27;
-wire [25:0] w28;
-wire [24:0] w29;
-wire [1:0] w30;
-wire [13:0] w31;
-wire [18:0] w32;
-wire [25:0] w33;
-wire [23:0] w34;
-wire [24:0] w35;
-wire [25:0] w36;
-wire [26:0] w37;
-wire [4:0] w38;
-wire [26:0] w39;
-wire [21:0] w40;
-wire [2:0] w41;
-wire [6:0] w42;
-wire [21:0] w43;
-wire [12:0] w44;
-wire [1:0] w45;
-wire [2:0] w46;
-wire [2:0] w47;
-wire [13:0] w48;
-wire [10:0] w49;
-wire [25:0] w50;
-wire [19:0] w51;
-wire [4:0] w52;
-wire [11:0] w53;
-wire [17:0] w54;
-wire [20:0] w55;
-wire [18:0] w56;
-wire [22:0] w57;
-wire [22:0] w58;
-wire [15:0] w59;
-wire [3:0] w60;
-wire [24:0] w61;
-wire [9:0] w62;
-wire [6:0] w63;
-wire [17:0] w64;
-wire [22:0] w65;
-wire [8:0] w66;
-wire [23:0] w67;
-wire [17:0] w68;
-wire [6:0] w69;
-wire [9:0] w70;
-wire [23:0] w71;
-wire [13:0] w72;
-wire [16:0] w73;
-wire [11:0] w74;
-wire [24:0] w75;
-wire [24:0] w76;
-wire [15:0] w77;
-wire [13:0] w78;
-wire [16:0] w79;
-wire [4:0] w80;
-wire [5:0] w81;
-wire [14:0] w82;
-wire w83;
-wire [28:0] w84;
-wire [7:0] w85;
-wire w86;
-wire [17:0] w87;
-wire [1:0] w88;
-wire [22:0] w89;
-wire [2:0] w90;
-wire [25:0] w91;
-wire [25:0] w92;
-wire [7:0] w93;
-wire [25:0] w94;
-wire [7:0] w95;
-wire [5:0] w96;
-wire [29:0] w97;
-wire [7:0] w98;
-wire [24:0] w99;
-wire [14:0] w100;
-assign w11 = $signed((-29'h9));
-assign w12 = $signed($signed((-18'h7)));
-assign w13 = {((w60 | (27'h9)) ? {(27'h1c), (-27'h1c), (-7'h18), (13'h15), w59, w48, w54, (8'h4), w18, (-2'h1c), (-17'h5), w78, w31} : (-8'hc)), {w97, w60, w23, w87, (-20'h7), (-19'hb), (-9'h2), (-15'h4), w33, w30, w49, w27, (29'h2), w41, (-8'h18), w55, w26, (19'he), (-10'h15), w44, (14'h15), (22'h19), w24}, {(-22'h10), (-6'h14), w28, w75, w90, (-14'hd), w21, w92, w68}, w92, (-7'h1c), $signed((w23 || w14)), w3, w61, $signed((-4'h7)), w85, (-10'h3), ((^w54) !== $signed(w74)), $unsigned(((2'h9) ? w65 : (-19'h6))), w1, (~|(!w58)), (5'h15), (^(-19'h4)), ((w97 ? w61 : w61) && (w53 !== w3)), (+$signed((20'h1b))), w82, (((10'hd) ? (-3'h1a) : w4) > (+w16)), (11'hd), {(-13'h7), (28'hd), w62, w8, w42}, (w6 ? {(22'h9), w74, (-15'h1d), w18, w1, (22'h7), (-24'h8), w100} : {w60, (-28'h19), (17'h14), w67}), ((w16 >>> (30'h2)) ? (-30'h5) : ((30'h10) <<< (-11'hc))), ((~&(5'hf)) >> ((-6'h17) || w76))};
-assign w14 = w30;
-assign w15 = w46;
-assign w16 = w42;
-assign w17 = (23'h1);
-assign w18 = ({$unsigned((-8'h1))} ? ({w73, (18'h2), (-17'h14), (-22'h1d), w6, w58, w48, w41, w43, (-2'hf), w100, (1'h9), w38, w74, w81, w89, w92, w23, w77, w37, (13'h6), (-23'h11), w60, w78, (-25'h1b)} ? (&((-7'h1d) ^~ w70)) : ({(15'h1), (22'ha), (-16'h3), (11'h10), (1'h1b), (-20'h10), (-13'h1b), (-23'h14), w48, (-4'h1a), w51, (-24'h1e), (-16'h18), w38, w30, w29, (-12'h5), w42, w44, w54, w20, (-4'h10), (27'h7), (3'h9), w73} ? ((-22'h18) ? (9'h1a) : (4'h13)) : (&(23'h1a)))) : (w79 ? $unsigned(((-29'h12) <<< (14'h4))) : (24'h10)));
-assign w19 = ({(w71 | (22'h11)), w42, {(-23'h7), w7, w54, w26, w73, w54, (14'h1c), w32, w71, w52, w89, w2, w74, (24'h5), w6, w90, (19'h3), w91, (3'h8), w61, (-6'h1e), (31'hf), (-30'h11), (22'h1a), (-27'ha), (-35'he), w68, (14'he)}, {w86, (-25'h4), w51, w52, w38, (-3'h1), w60, (-3'h9), (28'h19), (-18'h13), (-22'h0), w20, (20'h15), w21, (-1'h5), w37, (29'h1e), w36, (-16'h10), (-5'h1e)}, $signed(w92), {w44, w29, w95, (-12'h3), w34, (-21'h2), w37, (-19'h7), (-21'h11), (-11'h10), (-11'h16), (-27'h13), (14'h1e), w34, (-22'h7), w59, (-12'h8), w57, (3'ha), w51, (23'h13), w89, w73, (24'h15), (-22'he), (17'h8)}, (|(-19'h8)), (w82 >= w51), (w39 ? (15'h1c) : w59)} << w91);
-assign w20 = (~&{w31, (-1'h2), $signed((-11'h1e)), (~|(-10'h1d)), (w25 ? w80 : w44), $signed((-13'ha)), (-24'h16), (w55 ? w41 : w78), {w8, (21'h1a), w69, w34, w50, (14'hd), (5'hb), (-5'h11), (-2'h3), w28, w87, (-7'h1a), (1'hf), w83, (-22'h18), w72, w87, (-22'h14), (10'h1), (30'h10), w91, (-21'h19), w97}});
-assign w21 = {(20'h6), {(-26'h1d), (-22'hc), w26, w33, w82, (-29'hb), w27, w72, (15'h12), w34, (-29'h8), w87, w40, (9'h9)}, ((w60 ^~ w65) ? (w99 ? (29'h17) : w41) : (30'h17)), ((w86 || w39) << (w22 ? w100 : (-4'h0))), {(13'he), w70, (-10'h13), w34, (20'h9), (24'hc), w76, w94, (13'h19), w95, w86, (-28'h16), (-9'h19), w87, (-29'h16), w96, w7, (-31'hd), (-24'hd), (18'h1d), w2, (27'hb), w80, (-4'hb), (27'h14), (8'h1c), w92, (-13'h14), (20'h8)}, ((-17'h1d) ~^ (^(12'h7))), $unsigned($unsigned((-23'h4))), {(-1'hb), (18'h5), (-25'h10), (-23'h5), w49, (28'hd), (25'h3), (18'h1d), w68, (27'h10), w9, (-15'h1), (17'h10), (24'h1c), (-4'he), w3, w2, w6, (18'hf), (-17'h1d)}, ($unsigned(w70) - (~|w58)), (^~{w43, (-16'h1d), w48, w48, w99, w68, w48, w99, w67, w93, w10}), {w28, (-22'h8), w80, w57, w37, w57, w73, (-30'h13), w45, (3'h1b), (9'h6), (-11'h8), (26'h7), (-6'h13), (16'h15), w56, (-25'h8), w81, (-4'h1a), (-20'h14), (28'h13), (20'h15)}, ((~|(15'h4)) ? {(19'h2), (-14'h1a), w46, w65, w42, w45, w4, w23, w36, (17'h14), (-28'ha), (-29'ha), (-5'h9), (-2'h8), w34, w30, (-15'h1a), w3, w2, w7, w29, w26, (-16'he), (22'h5), (-25'h7)} : (+w42)), ((~&(-3'h7)) | ((-15'h0) ? (-21'hd) : w34)), {w72, (-10'h1c), w28, w98, (-21'h19), w58, (-16'h12), (33'hf), (-12'h7), w96, (4'h2), w68, (3'h8), (25'h4), w65, (-11'h1e), (17'h5), w67, (26'h6), (31'h19), w47, w73}, (-(6'h11)), {(-8'h9), w72, w7, (-10'h1), w78}, (((8'h7) ? w9 : w72) ? {(-23'h18), w71, (-14'h3), w59, (2'hd), (-2'h3), w34, (-9'h1b), (26'hc), (-3'h1), (-24'h2), w55, (20'h4), w37, w7, w55, w77, w52, (-13'hd), w82, w10, w60, w63, (-12'h1)} : (12'h17)), w38, $signed($signed((22'h18))), {(-21'h1), (6'hd), w73, (23'h11), w47, w90}, w45, $signed({(-20'hc), w79, w87}), (~^(w54 || w6)), (w96 > (^(28'h16))), (~&{(6'hc), (-23'h1b)}), ($unsigned((30'h2)) ? (w53 ? w70 : (6'h19)) : (w57 ? w68 : (-7'h10))), (11'h15)};
-assign w22 = ((12'h5) || (~^(16'h8)));
-assign w23 = {{w40, w32, (-1'h16), (18'h18), (-19'h17), (-23'he), w41, w99, w33, w60, (-26'h1a), w70, (-10'h13)}, {w92, w87, (-7'h7), w59, (28'h1a), w98, w89, (27'h17), (-10'h5), (-16'h6), (11'hc), w52, w82, (7'hc), (6'h16)}, ($signed((-2'he)) & ((30'h5) + w8)), ({(12'h18), (22'hc), (13'h1d), (-24'h1c), w9, w1, (-6'h13), (19'h18), (-11'hd), w44, w42, (12'h1a), w33, w31, (-16'h3), (13'h15), w6, w67, (16'h3), w93, w10, (-2'h8), (15'hc), (16'h13), (-2'h8), (-25'h1d), (30'h3), w84, w55, (3'hf)} ? $signed((-31'h3)) : {w97, (-6'h6), w75, w52, w65, w98, (23'hb), w2, (-30'h1a), w4, (5'h16), (11'h2), w96, w67, (18'h3), w45, w10, w4, w58, w54, w100, w6, w83, (29'h1e), w49, w58, w68}), (-2'h10), (^(w1 >= (-27'h4))), (24'he), ((w58 << w42) ? (w35 - (-8'ha)) : (~&w7))};
-assign w24 = ($signed((w94 << (-13'hc))) ^~ {(w57 ? (-19'h19) : (-22'h1b)), (w47 & (8'h12)), (w72 + w43), $unsigned((21'h18)), w4, $signed(w64), (+w26), (w45 ? (13'hf) : (-22'h10)), {w99, w2, w84, w38, w96, w99, w64, w52}, w32, ((29'h10) ? (-22'hb) : (30'h18))});
-assign w25 = $unsigned($signed($signed((-5'h14))));
-assign w26 = (12'ha);
-assign w27 = (-3'h1c);
-assign w28 = (-4'h5);
-assign w29 = ((((19'ha) && ((18'h1a) ? w56 : w85)) ? (~&($unsigned(w99) ^~ {w39, (16'h10), w95, w43, (-20'h18), (-13'h3), w36, w48, (-21'hc), (-29'hf), w33, w87, w76, w84, w46, w83, (-1'h1e), (-22'hb), (-27'h13), (-12'hd), w49, w32})) : (6'h1e)) === $unsigned((32'h9)));
-assign w30 = w7;
-assign w31 = (26'hb);
-assign w32 = (-11'h1c);
-assign w33 = $signed({$unsigned((5'hb)), (w49 ^~ (18'h8)), w80, (-(21'h4)), (-(-19'h0)), (w90 ? w99 : (22'ha)), (w49 - (21'h7)), ((-2'h1) ? w46 : w69), (-15'h1), (w43 <= (2'h13)), ((-1'h15) >= (-21'h3)), (~|w1), (-3'he), $unsigned((-25'hb)), $signed((-4'h12)), $signed(w92), {w51, w72, w68, w87, (8'h18), (26'h8), (10'h12), (-10'hb), w82, w96, w52, w89, w99, w2, w62}, (w79 ^~ (-1'h11)), ((23'h1d) ? (4'h6) : w74), ((9'h1d) ? (6'hd) : (-1'h1d)), (w63 ? (29'h10) : (10'h6)), (w46 !== w99), (-24'h13), (w39 ? w93 : w60), (~^(20'h10)), {w73, w54, (13'hc), w35, w63, (8'hd), w52, w67, w36, w44, (4'h10), w77, w70, w64, w98, (-20'h1c), w4, w42, (22'hc), w52, w80, (14'h1), (-27'h1b), (-24'ha), w71, (16'h16)}, (w50 << (-26'he))});
-assign w34 = {(-w2), ($signed((-15'h1c)) ? (w61 <= (31'h1e)) : (|w10)), {(6'h14), w79, w5, w1, w60, (13'h4), w38, (-28'hc), (-18'h16), w67, (6'h15), (-15'h1e), (25'h17), w41, (23'h2), (10'h19), (26'h15), (2'h6), w66, (-13'h1e), w87, w48, (16'h2), (26'hb), w53, w36, w98, (18'h1a), (-27'h9)}, (1'h1e), (((21'h19) !== w35) ? {(-4'h6), (-8'h12), w53, (13'h3), (-4'h1b), (-10'hb), w62, (26'h4), w99, (17'h2), (19'h8), (6'h7), w55, w93, (-21'h1c), w79, (-4'h5), (2'h1), (-3'h5), (-3'hd), w71, w61} : $signed(w46)), $unsigned(w60), w93, {(-17'h1a), (29'h1b), w73, w54, w66, w76, (15'h6), (-6'h15), (-18'h1a), w9, (-3'h1e), w38, (31'h7), w54, w46, w75}, ((~^w9) << w49), (-16'h1d), (~|{(-1'h19), (-21'h11), w92, (14'h2), (22'h18), w85, (5'h1c)}), $signed($unsigned(w86)), $signed($signed((18'h8))), (w77 ? (-10'h9) : w61), {w36, w40, w75, w83, (-29'h12), w90, w78, (18'hf), w48, (-26'h13), w69, w48, w41, (-37'hd), (-28'h1c), (6'h14), (-10'h1), (-16'h2), (-14'h7), (24'h14), (25'h10)}, w88, (-5'h1d), w58, $unsigned((-28'h2)), ({w41, (23'h1), (-12'h3), w92, w74, w57, (-14'h11), (34'h15), (17'h1a), w95, (24'h1e), (3'h17), w94, w67, w50, (-15'h18), (-11'h9), (4'h9), w89, (-8'h6), w6, w74, (14'he), w56, w56, (-16'h15)} <<< w6), ($signed(w81) | $unsigned(w5))};
-assign w35 = $unsigned((~&$unsigned(({(-10'he), (1'h8), w91, (15'h1c), w74, (29'h1b), w68, w84, w79, w73, (30'h4), w53, (-11'h14), w83, (-19'h1d), (29'h4), w59, (-18'h10), w78} ? ((5'h1c) + (10'h5)) : (w62 ? (17'hc) : w36)))));
-assign w36 = (((((-30'h1) || w51) ? w56 : (w85 > w40)) ? w70 : (w94 * w60)) * (32'h18));
-assign w37 = $unsigned((-25'hd));
-assign w38 = (((($signed((10'h11)) !== ((-11'h10) ? w50 : w82)) || $signed(w10)) | ((~&(-29'h1c)) ? ((-8'ha) ~^ (4'h15)) : $signed((-9'ha)))) ? {(w40 || w73), ((6'h6) ? (12'h10) : (-26'h1)), ((28'h1d) ? (25'hb) : (11'hd)), (|(25'hf)), w3, w51, (-31'h9), (w75 | w86), (-2'hd), (-25'h1e), (26'h1d), w40, (w95 <<< w51), (^w47), (-(19'h11))} : w40);
-assign w39 = (~^({(23'h1c), w83, w45, w94, w94} ? (-31'hf) : ((-15'h8) ? $unsigned((18'h14)) : (w47 ? (39'h1c) : (-15'h17)))));
-assign w40 = ({$signed((19'h12)), (-10'h9), $unsigned(w65), $unsigned((5'h15)), w73, w73, (24'hf), (w6 ? (9'hd) : (-5'hd)), $signed((10'h15)), w51, $unsigned(w4), (w5 + w60), (w4 <= w51), (w71 ? (-10'hc) : (15'h16)), w2, ((28'ha) ? w48 : (8'h1b)), $signed(w62), $unsigned(w60), (w83 ? w95 : w82), (!w73), (^(10'h8)), {w67, w93, (-27'h14), w99, (22'hf), w67, (-10'h6), w60, w42, (-29'h9), w68, w58, (-12'h1c)}} ? (|((^~(12'h4)) ? {(-27'hf), w62, (-2'hb), (21'h7), w5, (5'hb), w72, w51, (-18'h1), w64, w55, w3, w64, w98, (30'h13), (-25'h1a), w6} : (~|w68))) : {((-8'he) === w86), (+w85), (^~w61), $signed(w94), ((29'h19) ? (24'h11) : (27'h17)), $signed(w55), ((-8'hc) ? w75 : (-24'he))});
-assign w41 = w5;
-assign w42 = (~|((-w83) ? $signed((w90 ? (-22'h16) : (4'h3))) : (-26'h1b)));
-assign w43 = (w45 << (-24'h15));
-assign w44 = $unsigned(($unsigned($unsigned({(33'ha), (-25'h18), w85, (11'hb), w53, (32'h7), w64, (-10'h5), w62, (24'h3), w46, (8'h8), (8'hd)})) ? {w84, (14'h1b), (25'h1b), w93, (14'h5), (2'h1c), w49, w5, w1, (13'h1d), w57, w57, (-16'h6), (30'h1b), (9'ha), w52, w61, (3'h9), w85, (25'h1c), w71, w75, w49} : (18'h1e)));
-assign w45 = (1'h8);
-assign w46 = ({(+(2'h10)), {(7'h6), (-1'h5), w96, w78, w10, w62, (-22'hf), (-5'h8), (-17'h7), w90, w67}, (~^w98), (15'h2), ((10'hb) | (-21'hc)), (w74 ? w81 : w84), $unsigned((-4'h14)), {(-7'h3), w77, (-20'h13), w82, (-7'h8), w97, w60, (30'ha), w87, (-5'h11), w48, w81}, ((-7'h14) >> w10), ((28'h1d) ^ w100), {(-2'h1d), w76, (7'h16), w100, w93, (-15'h7), w94, w98, (-24'h12), w3, w90}, w73, w94, $signed((-24'hb)), w73, ((30'h1b) ^ (24'h11)), $signed((-8'h1c)), (29'h15), $unsigned((-15'h16)), (w61 ? w47 : (19'hd)), ((3'h1a) ? (-21'h13) : (7'hd)), (w68 === w83), w2, {(4'h16), w58, w89, w67, w80, (-11'h1e), w67, (-19'h12), (25'ha), (2'h18)}, (3'h8), (!w7), $signed(w2)} ^ {(27'h16), ((6'h19) ? (6'h4) : w92), ((-1'h13) ? w7 : w99), {w95, w58, w59, w95, w95}, w98, w98, {w87, (-22'h19), w10, (-14'h6), (3'h11), (-6'h1d), w52, w57, w48, (-20'h13), w83, (-5'h18), (-4'hb), (6'h1e), w7, w97, w100, w64, w58, w51, w97, w99}, (^~w65), w58, (~&(-5'h11)), (-10'h16), (~^w88)});
-assign w47 = ((((w62 ? (17'h17) : w1) ? w8 : {(3'h2), (-12'h1), w94, (14'h14), (3'hb), w86, (14'h8), w83, w65, (-23'h4), w83, w49, w5, (7'h10), w77, (-29'h6), (-27'h1e), (-18'h18), w53, (-17'hd), w5, (-30'ha), w99, w66}) ? {(-30'hc), (-17'h9), w91, w50} : (-23'h0)) ? $unsigned(w52) : (12'h19));
-assign w48 = (-18'h18);
-assign w49 = w79;
-assign w50 = ((^(w57 ? w53 : (18'h8))) ? (^w64) : (-15'h2));
-assign w51 = (-7'h4);
-assign w52 = {(~|(~^(28'h1c))), $unsigned({(-10'hb), (-2'hf), w57, (7'h6), w57, w89, w72, w61, w56})};
-assign w53 = w96;
-assign w54 = w85;
-assign w55 = {(15'hc), (|(-16'h11)), {(33'h2), (-17'ha), (13'h14), (18'h3), (-25'h18), w7, (-2'h8), (11'hd), w81, w82, (-17'hb), (18'hd), w65, (-6'h17), (-21'h3), w99, w75, (-10'h1d), (21'h19), w77, (2'h2), w9, (-6'h18), (-20'h3), (-20'h18), (28'hd)}, $unsigned((^w62)), {w6}};
-assign w56 = (w89 ? (!(~^(~|(w4 << w5)))) : ((20'h6) ? $signed((-23'h7)) : w76));
-assign w57 = ((((-19'h11) === w65) ? ($signed(w65) ~^ $unsigned((-3'ha))) : (w96 - w93)) ? ({(-1'h5), (2'h1b), (-5'h15), w68, (19'hb), (-27'h13), (11'h7), w91, (22'h8), (-23'h18), (-7'h9), w9} ? $signed((10'h3)) : (17'h16)) : $signed({w63, (-2'h19), w89, (20'h14), w2, (-28'h16), w7, w3}));
-assign w58 = $unsigned({$unsigned(w76), (~|(-12'h12)), (23'ha), {w7, (-2'h12), (-1'h0), (8'h1a), (24'hc), (28'h5), w81, w7, (-3'h11), w71, w79, (-26'h11), w7, w76, w75, (27'h7), w4, (6'hd), w89, w3, (-12'h1a), w84, w95}, (w88 ? (25'h12) : w85), $unsigned((-4'h7)), (^(8'h1d)), (w65 << (-14'hb)), (w61 * w68), $unsigned(w98), (-(-28'h11)), w1, (-24'h9), ((-24'h6) | (-29'h1c)), ((10'h12) == w64), $signed((8'hb)), (17'h4), (w75 ? (-17'h19) : w62), w65, (24'h1d), {(-19'h14), (-15'h15), w64, (-4'h6), w8, w70, (-4'h15), w69, (25'h16), w65, (25'h1c), (12'h9), (-23'h18), w1, (30'h18), w5, w60, w69, w82, w67, w3, (17'h16), w78, (7'h4), (-17'h17), w87}, $signed(w80), (-13'h1c), (+w6), (-w82), (15'h5), (~^w80)});
-assign w59 = w95;
-assign w60 = (w68 ? $signed($unsigned((+(!w100)))) : {w84, (!w3), ((30'h13) * w4), {w7, (26'h12), w9, w77, w95, (-7'h4), w94, w91, (5'h5), w91, w75, (-10'h1a)}, (-24'h9), w99, (w85 ? w81 : (27'hb)), (w8 ? (18'h8) : (25'h5)), ((-5'h17) ? (-3'h1c) : w10), w72, $unsigned((-2'h18)), {w3, w100, w69, (30'h8), w62, w96, w76, (20'h1c), w3, w99, (11'h1a), (-25'h3), w64, w74, w66, w94, w72, (9'h14), (26'h12), (-30'h18), (11'h19), w10, w86, w3, w63, (11'h11), w76, w97, (-25'hb), w80}, ((-15'h15) ~^ w64), $unsigned((-17'h8)), {w10, (-18'h9), (10'h13), w69, (21'h10), (1'h1e), w61, w72, w93, w67, (-8'h5), w66, (4'he), (18'hc), (20'h9), w79, (25'h14), (19'h4), w98, (-24'h2), (-20'h4), (-12'h5), (1'h7), (-18'h7), (8'hf), w8, w86, (-23'h1), w78, (-2'h1a)}, ((15'h10) ? w69 : (29'h11)), {(-15'h1b), w85, (19'h1), w5, w69, w69, (16'h1c), (-1'h15), (7'h12), (-9'h1b), (10'hf), (-6'h9), (5'h1e), w90, w84, w73, w91, (15'h9), w65, w74, (18'h2)}, (~|w66), $unsigned((-20'h19)), (-14'h9), {w71, w81}, ((17'h19) * w70), w91, ((-22'h11) ? (14'h3) : w79), (w93 ? (14'h15) : (-15'h8)), ((-31'h7) ? w1 : w75), (16'h13)});
-assign w61 = (13'hd);
-assign w62 = (~|(^{w65, (-18'h1e)}));
-assign w63 = (~^w73);
-assign w64 = ({(+w65), $unsigned(w73), (-(19'h1b)), (!w75), $unsigned(w100), (w84 >= w69), $unsigned((-2'h1b)), ((-17'ha) + (-15'h0)), (-20'h11), (-13'h13)} ? (w75 << $unsigned((-28'h7))) : ((-26'hd) ? w69 : w2));
-assign w65 = {w89, (|w86), (^~$unsigned((29'ha))), ((w7 < (5'hd)) ? {w93, (20'hb), w81, w93, (19'h1d), (-18'h10), w8, (-27'h1b), w2, w79, (5'h5), w67, (14'h1a), w93, w81, w73, (-20'h1d), (16'h2), (1'h7), w87, (6'hb), (17'h18), (-27'hc), w75} : {w82, w75, w85, w5, (-20'h9), (-9'h18), w3, w93, (13'h18), (12'hc), w74, (-6'h5), (-1'h1c), (-26'h5), w91, w80, w95, (-25'h1c), (-24'h0), (8'hb), w95, (4'ha), w82, (-13'h9), w83, w6, (-3'h5), (15'he)}), $signed((|(-22'h5)))};
-assign w66 = w67;
-assign w67 = {{w70, (-3'hb), (5'hd), (28'he), (31'hd), w70, w93}, $unsigned((~^w96)), ((w7 ? (-10'h1a) : w80) ? ((21'hd) ? (-31'h1b) : w82) : $signed(w9)), (((-20'h17) ? (26'h1b) : w69) - (w4 ? w84 : w98)), $unsigned(w6), $signed(((5'h1b) ? w5 : w84)), (22'h11), {(24'h3), (-30'h1e), w79, w10}, $unsigned((w71 | w10)), (7'he), (-{w10, (-15'h14), (-8'h11), w82, (16'he), (2'h5)}), $signed((-4'h16)), (~&((4'h14) <<< w93)), {(32'hb), w79, (20'h16), w80, (18'hd), w78, w71, w96, (-23'h19), (-23'h16)}};
-assign w68 = w9;
-assign w69 = ((w83 | ((26'h7) ? (30'h4) : ((-6'h14) >> w1))) ? $signed(w1) : $unsigned((~|(|{w77, w72, (3'h3), w80, (7'h15), (-8'he), w78, (-13'h1)}))));
-assign w70 = $signed(w88);
-assign w71 = (|{$signed((-26'h10)), ((17'h18) ? w94 : w85), ((-29'h4) ? (-12'h9) : w89), (w8 ? w80 : (31'h15)), $unsigned((-9'h9)), {w89, w88, (-31'h1), (32'h15), w79}});
-assign w72 = $signed((^{(-21'h11), w96, (-32'h13), (-6'h9), (12'h6), (17'h1e), w4, w86, (-8'h3), (-27'h16)}));
-assign w73 = {{w84, (2'h9), w90, w1, w86, (-18'h17), w78, w90, (20'h15), w84, w94, (-3'h1c), w83, (7'h3)}, $unsigned((16'h1a)), ((|w9) ? ((8'h6) < w83) : (-25'h3)), {(7'h10), (-24'he)}, w3, ($unsigned(w92) > (27'h15)), w96, $unsigned((^w1)), w4, {(5'hf), (-5'h5), w4, w97, w84, w88}, (-9'h1d), {w85, (15'h1e), w9, (-20'h1a), w82, w99, (-15'he), (24'h11), w99, (29'h6), (13'h18), w6, (9'h1e), (-1'h16), (13'hc), w87, (-1'he), (-22'h1)}, {w8, (28'h1a), w95, (12'h12), w8, w95, w3, (-25'h1b), w84, w8, (25'hb), (-25'h9), w95, w83, (-19'h1a)}, ((!(-26'h1d)) ? {w88, (18'h10), (-4'h1d), (30'h4), w96, (18'h17), w100, w83, (27'hc), w7, w89, w85} : {(10'h12), (-15'hc), w90, w100, w99, w100, (-28'hc), (17'h1), (18'h3), w83, (-2'hc), (3'h7), (5'h6), w3, (30'h1a), (28'hc), (12'h8), (-7'h2), (6'h17), w1, w92}), {w85, (-29'h19), (30'h15), (5'h11), w10, w1, (-23'h7), w82, w98, w100, (18'h1), w10, (24'h1c), w7, w92, w95, w8, (2'h17), (33'hc), w9, (7'h1b), w7, w80}, (|((-2'h11) ? (13'h6) : (-2'h1b))), w97, (((9'h1) ? (-28'hc) : w85) ? (|(-4'hd)) : $signed((28'hd))), (-10'h1b), {(-17'h8), w6, (-23'h4), (16'hb), w96, (17'h12), w89, (-19'he), w83, (-14'h0), (-31'hb), (2'h13), (-31'hf), w3, (-32'h1d), (-21'ha), (12'h12), w96, (-24'h7), (15'ha), w83, (9'he), w80, w4, w84, w6}, (((-4'h10) ? (26'h3) : w76) ? (~^w80) : (!w77)), (-3'h3), w4, $signed($unsigned(w95)), ($unsigned(w4) == (-27'h7)), ((-(-14'h13)) ? (10'h9) : (w7 ? (33'h12) : (27'h3))), (((-15'h12) ? (-25'hd) : (26'h6)) != (^w84)), ((w77 ? (-27'hd) : w7) ~^ w89), (~^$unsigned(w79)), ($unsigned(w80) >>> (w6 ? (-10'h7) : w82))};
-assign w74 = $signed({(|w88), {(-6'he), (-6'ha), w91}});
-assign w75 = w8;
-assign w76 = (-24'hb);
-assign w77 = ((~|(20'h14)) ? w87 : (~&(&(+((-25'hb) && w9)))));
-assign w78 = w89;
-assign w79 = $signed(w87);
-assign w80 = (w85 ? $signed({(-23'h10), w96, (6'h12), w89, (-3'h18), w97, w87, (26'hc), w92, w98, (-5'h1b), (-15'hf), w90, (12'h2), w96, w84, (22'h16), w1, w1, (27'ha)}) : (28'h5));
-assign w81 = {$unsigned({(-22'h8), w8, w3, (-18'h8), (-28'h5), w83, w90, (-17'h1d), w1, (-28'h5), (-25'h19), (-27'h2), (-25'h11), (-19'h3)}), (-8'h11), {w88, w4, w3, (-2'hd), (11'h15), w100, w95, w90, (-2'hb), (28'h8), (-30'h0), (1'h19), w5, (-5'h5), w86, (5'h7), (-9'h13)}, ($unsigned((-13'h12)) != (-17'h19)), {w9, w93, w10, w100, w90, w10, (-26'h14), (8'h7), (-5'h1b), w84, w1, w92, (13'h18), (22'hf), (-18'h1), (30'h10), (23'h5), w93}, $signed($signed((-24'ha))), (~^(-w96)), (-23'h1e), ((-26'h12) + $signed((21'he))), w82, (&(-11'hc)), (!(+w90)), {w91, w89, w90, w94, (3'h1a)}, {(-27'h14), w89, w5, (12'h18), (19'h10), (-9'h19), (19'h3), w91, (-3'h6), (-9'h13), w4, w93, w99, (25'h2), w94, (-27'ha), w8, (-19'h18), w8, (19'h2), w91, w98, w94}, $signed(w7), w1, (!((11'hf) ^ w10)), (13'h1d), {w1, (-15'h11), (34'h11), (19'h14), w82, w94, (16'h8), w92, w3, (-22'h6), (-28'he), (-11'h17), w92, (9'h8), w90, w100}, (!{w82, w2, (5'h14), w4, (20'h8), (-9'h19), (30'h17), w82, (9'h1b), w8, w3, w4, w98, (-27'hd), w9, w96, w89, w88, w91, (-8'h13), (-32'h1), (-30'h8), (-24'h5), w98, w7, w85, w87, (-33'h4)}), (~&$signed(w6)), (19'h4), (!(^~w90)), w8, {(10'h13), (-10'he), w99, (-16'h5), (-12'h17), (-12'h1a)}, w83, (-29'hf), {w10, w83, w87, w82, w4, (30'hc), (-3'ha), w1}, (-4'h1a), ((w4 + (8'hb)) <<< ((-10'h0) ? (11'h12) : (14'h7)))};
-assign w82 = (~&{{(-27'he), w93, w3, w86, w10, (-20'h14), w98, (4'h1), (18'h12), w98, (6'h1c), (-22'h12), w87, w4, (6'hd), w84, w10, w83, (-37'h16)}, w92, (w88 ? (29'h1) : w83), (+w93), $signed(w97), {(-22'h12), w84, w97, (-22'h15), (24'h1e)}, ((-30'h1c) >> (-1'h17)), (w93 ? w6 : w88), w90, $signed((11'h3)), ((26'h2) ? (-13'h8) : (-4'h1c)), w86, (w97 ~^ (-3'h17)), (9'h3), {w86, w87, w6, w92, w98, (29'h1d), w88, w4, w96, (-23'h6), (10'h14), w100, (15'hd), (8'h5), w100, w2, (3'h19), (-8'h6), w4, w96}, (7'h19), $signed((16'h1d))});
-assign w83 = (1'h1c);
-assign w84 = ((-18'h1d) ? (~&(((-3'h9) ? (-28'hf) : (25'h1d)) ? w93 : (4'h1))) : (+((~|{w91, w97, w6, (-16'h1b), (21'he), w91, (-12'hd), (-31'h9), (8'hc), (-15'h8), w8, (-31'h15), w98, w92, (-28'h1e)}) ^~ {w90, w2, w97, (-14'h9), w2, w98, w90, w95, w99, w7, (14'h12), w8})));
-assign w85 = (-21'h19);
-assign w86 = ({w5, w90, {w9, (-27'h8), w93, (-14'h1d), (-20'hb), w10, (-5'h17), w91, w10, (-25'h1c), w100, (32'h1c), (27'h12), w99, w93, (4'h5), w99, w87, w4, (-22'h18), w93, (-24'h1c), w91}, ((-4'h1a) && w94), $signed((-2'h1)), ((6'h4) ? (22'hd) : w94), {w98, (26'h1), (16'h2), (31'h13), w100, w98, (-28'hd), (19'h17), (-5'hc), (-25'h1d), (13'hb), (-18'h14), (12'hb), w88, (-11'h10), w2, w97}, (30'h14), {w10, w4, (19'h7), w97, w6, (27'h1), (21'ha)}, (!w6), ((-5'h1d) >> (-28'hc)), (-1'h6), $signed((4'h7)), (w98 != w91), (-31'h6), {w9, (-20'h2), (-17'h13), (7'h12), (20'h1), w94, w1, w93, w93, w97, (5'h7), w94, w4, w94, w3, (-8'hc), w9, w100}, {(3'h1d), w9, (30'hf), (-30'h14), w92, w100, w90, (-3'h18), w5, w98, w97, w8, (9'h1e), (-20'h4), (11'h12), (29'h7), w89, w96}, ((18'hf) ? w5 : w5), (w7 | w88), $unsigned((23'h19)), (^~(-8'h1b)), (w92 ? w87 : w8), {w4, w100, w97, (28'h15), w89, (-29'h1), w92}, (w89 ? w5 : (8'h1b))} ? {$signed(w95), ((15'h1c) ? w9 : (7'hd)), $unsigned((32'h5)), ((29'h16) ? (30'ha) : w90), {w98, w9, w95, (-10'he), w90, w6, w93, w1, w3, w8, (9'h6), (-25'h6), (12'h18), (3'h4), (-5'hb), w89, w4, w4}, $unsigned((15'h11)), (w7 ^ w97), (30'h14), ((6'h2) ? w98 : w91), (-w92), (w3 ? w90 : w2), ((12'h19) === (-14'hf)), {w93, w88, (20'he), w93, (-16'h4), w100, w6, (-2'h2), (5'hf), (26'h1b), w6, (12'h16), w6, (-11'h5), w7, w87, w89, (23'h2), (5'h1d), (-12'h9), w4, (-30'h1e), (10'hf), w92, (-5'h16), (-14'h3), w88, (-6'ha), w96}, ((19'h9) ? w92 : w6), (^w94), ((19'hc) ? w97 : (27'h3)), (18'h14), (~&w93), {(9'hd), w3}, $signed(w3), (-13'h5), (w97 + (-2'h6)), (^w6), (29'h10), {(-22'h6), (-15'h8), (21'h16), w9, w2, w97}, w95, $unsigned((-15'h3)), (20'ha), ((-21'h1c) ? w88 : (-14'hf))} : w3);
-assign w87 = $signed((w88 << (-22'h2)));
-assign w88 = (!{((-26'hd) ? (-5'hb) : w5), ((24'h1d) ~^ (16'h15)), (&(21'h9)), ((-12'h11) <= (-5'h14)), (w89 ? (-20'h4) : w96), (&w5), w10, (~&w4), w92, {w91, (-29'h1a)}, (&w7), ((18'h15) ? (17'h8) : w93), (^(29'h1e)), {(16'h17), (-32'h12), w7, w10, w91, (13'he), w4, w6, w96, (9'h1c), w1, w1, (-25'h17), (17'h9), (-24'h4), w1, w7, w94, (20'h19), (-4'h1), w99, (-22'h7), w100, (-19'h1a), w8, (19'h1c), w97, w9, (-26'hc)}, ((-19'h11) ? (17'h8) : (-18'h2)), (-9'h16), $unsigned((-12'h1)), {w6, w1, (22'h11), w10, w99, w95, (23'h5), w100, (-15'h5), w100, (10'h1b), w90, (-5'h9), (-15'h1a), w5}, $signed((2'h15)), w100, (w90 - w98), (w3 & (23'ha))});
-assign w89 = (^~(({(3'h18), w100, (-22'h18), w97, (1'h1e), (-1'h5), w100, (28'h3), w10, (14'h6), (11'h9), (-4'h8), w93, (-26'h15)} ~^ {(-18'h1), (11'h13), (10'h1a), (2'h3), (-36'h2), w91, (-17'h7), w9, (18'h4), w8}) === w100));
-assign w90 = (w2 ? $unsigned($signed({w91, w97, (-20'h1a), (-17'h0), (-1'h1d), (-8'h5), w96, (1'h5), w100, (-21'h3), (10'h1e), (9'h11), w10, (-26'h12), (8'h2), (20'h6)})) : w7);
-assign w91 = ((-21'h1a) ~^ w8);
-assign w92 = $unsigned(w100);
-assign w93 = w2;
-assign w94 = {((^~(30'h16)) === (w7 ? w98 : (-17'h18))), w98, (!(~|(-16'h1a))), {(22'h4), (-18'h1), (-23'he), w96, w96, w8, w3, (28'h3), w10, (-15'h1), w7, (11'hc), (-27'h4), w5, w100}, (&(w100 ? (-18'h7) : (-30'h10))), (&(w100 - (12'h10))), {w4, (-32'h8), w96, w7, w3, w9, w5, (30'h4), (27'h14), w100, (-23'h9), w100, (-22'h12), w3, (6'hd), w9, (-27'h10), (-34'h1d), w98, (1'h19), w8, (34'h4), w4, (-6'h9)}, ((~|(-15'h11)) == (~&w98)), (((-25'h6) < (-30'h12)) ? (^~(-5'hb)) : (w8 ? w96 : (15'h2))), (+{w10, w99, w2}), ((19'h4) - (&w7)), w1, ((~^w7) ? ((4'h1b) ? (-19'h16) : (-5'h14)) : (w2 ? w2 : (-8'h13))), (w5 ? $unsigned((-8'h18)) : {(21'h3), w7, w3, (-10'h9), w95, w8, (-1'h14), (25'h2), (3'hf)}), (~|(-2'hb)), w99, (!(-23'h1c)), (22'hb), ((^~w96) ? (w95 ? w1 : w7) : w2), {(10'h4), (-5'h11), w96, (4'h7), w100, (17'h8), w97, w10, w97, (-14'h2), w7, (-26'h14), w2, (-7'h16), (8'h1e), (-7'hf), w5, w10, (1'h13), (9'h1), (19'h4)}, (((-7'h1a) ? (3'h1e) : w100) >>> $unsigned((29'h14))), w100, {w98, (-30'h16), (-21'h18), (-8'h3), (23'h14), w97, (2'h17), w98, (2'h10), (-1'h16), (16'h1e), (20'h1d), (16'hb), w100, w6, (-4'hc), w8, (25'hf), w4, w96, (23'h6), (22'h19), (-29'hc), w9, w5, w97, w97}, $signed((+(-11'h11))), (~^((31'h7) >= (22'h5))), ({(-9'hd), w99, w9, (-27'h2), (9'h14), (15'h12), w6, (11'h1), w98, w6, (-3'h13), (17'ha), w9, w5, w95, (29'h15), w10, (29'h2)} ? {(-20'h1a), (20'h1b), w1, w97, (-3'h15), w2, w8} : (-11'h3))};
-assign w95 = ($signed(w5) << (14'hc));
-assign w96 = (-2'ha);
-assign w97 = (-9'hd);
-assign w98 = ((-(5'ha)) ? {(w100 ? (3'h19) : (14'h12)), ((-14'h13) <<< w100), w99, (&w3), {(5'h5), (7'h16), (-24'hf), w99, w8, w4, (10'h1e), w4, w10, (-17'h1a), w3, (-9'h1c), (16'h1b), (29'hd), w8, w9, (17'h1b)}, $signed(w4), ((11'h15) & (32'h10)), (w3 ? (19'ha) : w8), w1, ((16'h15) !== (27'h1b)), ((21'h5) ? w6 : (-9'h1)), $unsigned((10'h1d)), w9, (w7 ? (-4'h17) : (-10'h2)), {w4, (23'h9), w8, (-27'hc), w1, (-28'h0), (21'h11), w99, w5, w2, (-5'h0), w1, (31'h1d), (-16'h11), (-19'h1c), w100, (-23'h19), (14'h1b), (-4'h6), w100, (7'hf), (-7'h10), (13'h17)}} : ({w9, (-22'h1e), w6, w8, (-14'hf), (26'hb), w1, (-19'h13), w4, w4, w1, w99, (-16'hd), w100, (6'h6)} ? w3 : (-19'h12)));
-assign w99 = ({(17'h19), {w3, (5'h9), w4, (15'hc), (-30'h18), (-5'h14), (27'h15), (24'he), w10, w8, w2}, w4, w1, ((-18'h13) - (-25'h9)), (~|w2), ((8'h1e) ? (-17'hf) : (-13'h9)), (w7 >= (-13'h6)), (-23'hd), (4'h13), (w8 >> (-11'h14)), w3, w8, {(-4'ha), w8, w10, (21'h1e), w100, w5, (-18'h16), w100, (7'h6), (12'h5), (14'h13), (-26'h7)}, (w6 ? w6 : (-13'h13)), (w5 ? w10 : w100), w2, w4, (4'h5), (11'h15)} ? $signed((|(17'h1e))) : $unsigned((~^((-7'he) ^ {w100, (-7'h10), (-13'h7), w9, w3, (-10'h13), (3'h17), w6, (21'h6), (-29'h6), (28'h19), w1, (-19'hf), w10, (7'h12), (26'h9), w7, w6, w100, (-21'h15), (18'hb), (-6'ha), (16'h16), (12'h17), (-6'h17), (-7'h15), w1}))));
-assign w100 = (-10'h17);
-assign y = {w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, w29, w30, w31, w32, w33, w34, w35, w36, w37, w38, w39, w40, w41, w42, w43, w44, w45, w46, w47, w48, w49, w50, w51, w52, w53, w54, w55, w56, w57, w58, w59, w60, w61, w62, w63, w64, w65, w66, w67, w68, w69, w70, w71, w72, w73, w74, w75, w76, w77, w78, w79, w80, w81, w82, w83, w84, w85, w86, w87, w88, w89, w90, w91, w92, w93, w94, w95, w96, w97, w98, w99, w100};
-endmodule
diff --git a/bugs/vivado/1_generated.v b/bugs/vivado/1_generated.v
deleted file mode 100644
index de68529..0000000
--- a/bugs/vivado/1_generated.v
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
-// --------------------------------------------------------------------------------
-// Tool Version: Vivado v.2018.3 (lin64) Build 2405991 Thu Dec 6 23:36:41 MST 2018
-// Date : Thu Apr 11 19:11:05 2019
-// Host : yann-arch running 64-bit unknown
-// Command : write_verilog -force syn_vivado.v
-// Design : top
-// Purpose : This is a Verilog netlist of the current design or from a specific cell of the design. The output is an
-// IEEE 1364-2001 compliant Verilog HDL file that contains netlist information obtained from the input
-// design files.
-// Device : xc7k70tfbg676-3
-// --------------------------------------------------------------------------------
-`timescale 1 ps / 1 ps
-
-(* use_dsp = "no" *)
-(* STRUCTURAL_NETLIST = "yes" *)
-module top
- (y,
- wire0);
- output y;
- input wire0;
-
- wire \<const0> ;
- wire y;
-
- GND GND
- (.G(\<const0> ));
- OBUF y_OBUF_inst
- (.I(\<const0> ),
- .O(y));
-endmodule
diff --git a/bugs/vivado/1_minimal.v b/bugs/vivado/1_minimal.v
deleted file mode 100644
index 59cec6c..0000000
--- a/bugs/vivado/1_minimal.v
+++ /dev/null
@@ -1,8 +0,0 @@
-(* use_dsp48="no" *) module top
- (y, wire0);
- output wire y;
- input wire wire0;
- wire [1:0] wire4;
- assign wire4 = 1'b1;
- assign y = (wire4 <<< 1'h1) && wire0;
-endmodule
diff --git a/bugs/vivado/1_original.v b/bugs/vivado/1_original.v
deleted file mode 100644
index 594b361..0000000
--- a/bugs/vivado/1_original.v
+++ /dev/null
@@ -1,501 +0,0 @@
-(* use_dsp48="no" *) module top
-#(
-parameter param209 = ((2'ha) ^~ (1'h4)),
-param210 = ((9'hc) ~^ (~^((param209 <<< param209) > (^(9'h9))))),
-param211 = ((((~&(8'h6)) & param210) && param210) ^~ (!((+param209) > (~&param210))))
-)
-(y, clk, wire0, wire1, wire2);
-output wire [1662:0] y;
-input wire clk;
-input wire [2:0] wire0;
-input wire signed [13:0] wire1;
-input wire signed [9:0] wire2;
-reg signed [9:0] reg208 = (32'h0);
-reg signed [2:0] reg207 = (32'h0);
-reg [8:0] reg206 = (32'h0);
-reg signed [4:0] reg205 = (32'h0);
-reg signed [1:0] reg204 = (32'h0);
-reg signed [4:0] reg203 = (32'h0);
-reg signed [3:0] reg202 = (32'h0);
-reg reg201 = (32'h0);
-reg [7:0] reg200 = (32'h0);
-reg [8:0] reg199 = (32'h0);
-reg [14:0] reg198 = (32'h0);
-reg signed [12:0] reg197 = (32'h0);
-reg signed [6:0] reg196 = (32'h0);
-wire signed wire195;
-reg signed [5:0] reg194 = (32'h0);
-reg signed [4:0] reg193 = (32'h0);
-reg signed [1:0] reg192 = (32'h0);
-reg signed [12:0] reg191 = (32'h0);
-reg signed [11:0] reg190 = (32'h0);
-reg signed [7:0] reg189 = (32'h0);
-reg signed reg188 = (32'h0);
-reg signed [5:0] reg187 = (32'h0);
-reg [10:0] reg186 = (32'h0);
-reg signed [9:0] reg185 = (32'h0);
-reg [3:0] reg184 = (32'h0);
-reg signed [6:0] reg183 = (32'h0);
-reg [12:0] reg182 = (32'h0);
-reg reg181 = (32'h0);
-reg signed [7:0] reg180 = (32'h0);
-reg signed [5:0] reg179 = (32'h0);
-reg signed [2:0] reg178 = (32'h0);
-reg signed [5:0] reg177 = (32'h0);
-reg [12:0] reg176 = (32'h0);
-reg [12:0] reg175 = (32'h0);
-reg signed [1:0] reg174 = (32'h0);
-reg signed [14:0] reg173 = (32'h0);
-reg [14:0] reg172 = (32'h0);
-reg [7:0] reg171 = (32'h0);
-reg [10:0] reg170 = (32'h0);
-reg signed [3:0] reg169 = (32'h0);
-reg [12:0] reg168 = (32'h0);
-reg [4:0] reg167 = (32'h0);
-reg [12:0] reg166 = (32'h0);
-reg [4:0] reg165 = (32'h0);
-reg [6:0] reg164 = (32'h0);
-reg signed [8:0] reg163 = (32'h0);
-reg signed [2:0] reg162 = (32'h0);
-reg signed [6:0] reg161 = (32'h0);
-reg signed reg160 = (32'h0);
-reg [14:0] reg159 = (32'h0);
-reg [14:0] reg158 = (32'h0);
-reg signed [8:0] reg157 = (32'h0);
-reg [5:0] reg156 = (32'h0);
-reg [5:0] reg155 = (32'h0);
-reg [2:0] reg154 = (32'h0);
-reg [2:0] reg153 = (32'h0);
-reg [7:0] reg152 = (32'h0);
-reg signed [1:0] reg151 = (32'h0);
-reg signed [9:0] reg150 = (32'h0);
-reg signed [2:0] reg149 = (32'h0);
-reg [10:0] reg148 = (32'h0);
-reg [9:0] reg147 = (32'h0);
-reg signed [14:0] reg146 = (32'h0);
-reg signed [14:0] reg145 = (32'h0);
-reg [14:0] reg144 = (32'h0);
-reg reg143 = (32'h0);
-reg [9:0] reg142 = (32'h0);
-reg [4:0] reg141 = (32'h0);
-reg [12:0] reg140 = (32'h0);
-reg [7:0] reg139 = (32'h0);
-reg [3:0] reg138 = (32'h0);
-reg signed [2:0] reg137 = (32'h0);
-reg [14:0] reg136 = (32'h0);
-reg [8:0] reg135 = (32'h0);
-reg [4:0] reg134 = (32'h0);
-reg [10:0] reg133 = (32'h0);
-reg [9:0] reg132 = (32'h0);
-reg [6:0] reg131 = (32'h0);
-reg [1:0] reg130 = (32'h0);
-reg signed [5:0] reg129 = (32'h0);
-reg [14:0] reg128 = (32'h0);
-reg [5:0] reg127 = (32'h0);
-reg signed [2:0] reg126 = (32'h0);
-reg signed [12:0] reg125 = (32'h0);
-reg signed [7:0] reg124 = (32'h0);
-reg [5:0] reg123 = (32'h0);
-reg signed [3:0] reg122 = (32'h0);
-reg [10:0] reg121 = (32'h0);
-reg [13:0] reg120 = (32'h0);
-reg [5:0] reg119 = (32'h0);
-reg signed [8:0] reg118 = (32'h0);
-reg [5:0] reg117 = (32'h0);
-reg signed [14:0] reg116 = (32'h0);
-reg signed [10:0] reg115 = (32'h0);
-reg reg114 = (32'h0);
-reg signed [10:0] reg113 = (32'h0);
-reg [1:0] reg112 = (32'h0);
-reg [6:0] reg111 = (32'h0);
-reg signed [5:0] reg110 = (32'h0);
-reg signed [10:0] reg109 = (32'h0);
-reg signed [11:0] reg108 = (32'h0);
-reg signed [7:0] reg107 = (32'h0);
-reg signed [1:0] reg106 = (32'h0);
-reg [13:0] reg105 = (32'h0);
-reg signed [4:0] reg104 = (32'h0);
-reg [2:0] reg103 = (32'h0);
-reg signed [10:0] reg102 = (32'h0);
-reg signed [9:0] reg101 = (32'h0);
-reg [9:0] reg100 = (32'h0);
-reg [12:0] reg99 = (32'h0);
-reg [9:0] reg98 = (32'h0);
-reg reg97 = (32'h0);
-reg [1:0] reg96 = (32'h0);
-reg [1:0] reg95 = (32'h0);
-reg [2:0] reg94 = (32'h0);
-reg [6:0] reg93 = (32'h0);
-reg [12:0] reg92 = (32'h0);
-reg signed [13:0] reg91 = (32'h0);
-reg [11:0] reg90 = (32'h0);
-reg signed [13:0] reg89 = (32'h0);
-reg signed [12:0] reg88 = (32'h0);
-reg [13:0] reg87 = (32'h0);
-reg [13:0] reg86 = (32'h0);
-reg [3:0] reg85 = (32'h0);
-reg [5:0] reg84 = (32'h0);
-reg signed [11:0] reg83 = (32'h0);
-reg signed [10:0] reg82 = (32'h0);
-reg signed [7:0] reg81 = (32'h0);
-reg [8:0] reg80 = (32'h0);
-reg signed [9:0] reg79 = (32'h0);
-reg signed [4:0] reg78 = (32'h0);
-reg signed [7:0] reg77 = (32'h0);
-reg [5:0] reg76 = (32'h0);
-reg signed [7:0] reg75 = (32'h0);
-reg signed [5:0] reg74 = (32'h0);
-reg [9:0] reg73 = (32'h0);
-reg signed [6:0] reg72 = (32'h0);
-reg [5:0] reg71 = (32'h0);
-reg [5:0] reg70 = (32'h0);
-reg signed [10:0] reg69 = (32'h0);
-reg signed [2:0] reg68 = (32'h0);
-reg [10:0] reg67 = (32'h0);
-reg signed [14:0] reg66 = (32'h0);
-reg [4:0] reg65 = (32'h0);
-reg signed reg64 = (32'h0);
-reg [12:0] reg63 = (32'h0);
-reg [7:0] reg62 = (32'h0);
-reg [14:0] reg61 = (32'h0);
-reg [14:0] reg60 = (32'h0);
-reg signed [9:0] reg59 = (32'h0);
-reg signed reg58 = (32'h0);
-reg signed [4:0] reg57 = (32'h0);
-reg signed [3:0] reg56 = (32'h0);
-reg [2:0] reg55 = (32'h0);
-reg [8:0] reg54 = (32'h0);
-reg signed [13:0] reg53 = (32'h0);
-reg signed [8:0] reg52 = (32'h0);
-reg [10:0] reg51 = (32'h0);
-reg [13:0] reg50 = (32'h0);
-reg signed [12:0] reg49 = (32'h0);
-reg [13:0] reg48 = (32'h0);
-reg [4:0] reg47 = (32'h0);
-reg signed [11:0] reg46 = (32'h0);
-reg [10:0] reg45 = (32'h0);
-reg [8:0] reg44 = (32'h0);
-reg [2:0] reg43 = (32'h0);
-reg signed [3:0] reg42 = (32'h0);
-reg signed [8:0] reg41 = (32'h0);
-reg signed [6:0] reg40 = (32'h0);
-reg signed [13:0] reg39 = (32'h0);
-reg [3:0] reg38 = (32'h0);
-reg [3:0] reg37 = (32'h0);
-reg [3:0] reg36 = (32'h0);
-reg signed [7:0] reg35 = (32'h0);
-reg [8:0] reg34 = (32'h0);
-reg signed [10:0] reg33 = (32'h0);
-reg signed [14:0] reg32 = (32'h0);
-reg [13:0] reg31 = (32'h0);
-reg signed [9:0] reg30 = (32'h0);
-reg [13:0] reg29 = (32'h0);
-reg signed [8:0] reg28 = (32'h0);
-reg signed [8:0] reg27 = (32'h0);
-reg [1:0] reg26 = (32'h0);
-reg signed [13:0] reg25 = (32'h0);
-reg [4:0] reg24 = (32'h0);
-reg signed [8:0] reg23 = (32'h0);
-reg signed [8:0] reg22 = (32'h0);
-reg signed [3:0] reg21 = (32'h0);
-reg signed [10:0] reg20 = (32'h0);
-reg signed [3:0] reg19 = (32'h0);
-reg signed [13:0] reg18 = (32'h0);
-reg signed [4:0] reg17 = (32'h0);
-reg [9:0] reg16 = (32'h0);
-reg signed [3:0] reg15 = (32'h0);
-reg signed reg14 = (32'h0);
-reg [8:0] reg13 = (32'h0);
-reg signed [4:0] reg12 = (32'h0);
-reg signed [11:0] reg11 = (32'h0);
-reg signed reg10 = (32'h0);
-reg signed [2:0] reg9 = (32'h0);
-reg signed [10:0] reg8 = (32'h0);
-reg [3:0] reg7 = (32'h0);
-reg [1:0] reg6 = (32'h0);
-wire [3:0] wire5;
-wire signed [13:0] wire4;
-wire [9:0] wire3;
-assign wire3 = (&(~^wire2));
-assign wire4 = $unsigned($signed((+$unsigned((-6'h1)))));
-assign wire5 = (($signed($signed(wire4)) <<< (~(2'h1))) && $signed(wire3));
-always @(posedge clk) begin
-reg6 = wire5;
-reg7 = reg6;
-reg8 = $signed(wire4);
-reg9 = $signed($unsigned((-2'h1)));
-reg10 = $signed((-15'h7));
-reg11 <= wire1;
-reg12 <= (+wire1);
-reg13 = (wire1 ^ (+$signed($signed(reg7))));
-reg14 <= $signed(($unsigned((reg10 - reg7)) ^ $signed($unsigned((9'ha)))));
-reg15 = wire0;
-reg16 = $unsigned($unsigned($unsigned(reg9)));
-reg17 = (reg10 >>> $signed($signed($unsigned((-8'h6)))));
-if(($unsigned((~((-wire4) >>> $unsigned(wire5)))) == (32'h0)))
-begin
-reg18 = ((^~(-15'h3)) ~^ (5'h7));
-reg19 <= $signed($signed(wire1));
-reg20 = (-14'h1);
-reg21 <= ((-6'ha) < $signed($signed(wire5)));
-reg22 <= (-((^~(^reg20)) < $signed($signed(reg10))));
-reg23 = wire0;
-if((((reg20 & reg7) ~^ ((!(9'h8)) >>> $signed((!reg11)))) == (32'h0)))
-begin
-reg24 = $signed((-4'h9));
-reg25 = $signed($signed(reg10));
-reg26 <= (!((!(+reg19)) >= reg6));
-end
-reg27 = ((+reg18) || (^~reg22));
-reg28 <= (($signed((~|reg16)) <= (~&(&reg6))) >>> $signed($unsigned(reg14)));
-reg29 = $signed($signed($unsigned((-8'hd))));
-end
-else
-begin
-reg30 = $signed(reg6);
-reg31 = $unsigned((15'he));
-reg32 <= $signed((reg12 ^~ $unsigned(reg8)));
-reg33 <= (-7'h1);
-reg34 = ((|wire2) >= (reg28 ^ $unsigned($unsigned(reg18))));
-reg35 = $unsigned((10'h8));
-reg36 <= ((~|((12'h1) && reg12)) <= (-3'h4));
-reg37 <= (1'h1);
-reg38 <= (2'h6);
-reg39 <= (~^wire4);
-reg40 <= $unsigned($signed($unsigned($unsigned((-11'hc)))));
-reg41 <= $unsigned((~&$signed($signed((7'h7)))));
-reg42 = $unsigned($unsigned((!(reg25 || reg29))));
-reg43 <= reg31;
-end
-end
-always @(posedge clk) begin
-if((((reg33 << (9'hc)) >> $unsigned((~$unsigned((14'hd))))) == (32'h0)))
-begin
-reg44 <= $signed($unsigned((-14'hc)));
-reg45 = (3'h2);
-reg46 <= $signed($unsigned($signed((^~(-11'hb)))));
-reg47 <= ($unsigned((~(reg8 >= reg38))) < (7'h6));
-reg48 <= (wire3 > reg13);
-reg49 = $signed($signed((~$unsigned((-4'hf)))));
-reg50 <= $unsigned($unsigned($unsigned(((15'he) <= (6'hc)))));
-reg51 = $signed((4'h9));
-reg52 <= $signed((2'h9));
-if(((10'h3) == (32'h0)))
-begin
-if(((~^(~$unsigned($signed(reg33)))) == (32'h0)))
-begin
-reg53 <= (7'ha);
-reg54 <= ((wire2 << $signed((-14'hd))) && $unsigned($unsigned((~(9'h3)))));
-reg55 = (-3'h8);
-reg56 = ((-9'hb) ^ $signed(((~|(-3'hd)) >> $signed(reg28))));
-reg57 <= $signed(reg40);
-reg58 <= (~((&(1'h5)) * $signed($unsigned(reg42))));
-end
-else
-begin
-reg59 = ((&$unsigned($unsigned((1'h4)))) ^ (&($signed((2'h3)) <= $unsigned(wire3))));
-reg60 = $unsigned((-7'h3));
-end
-reg61 <= reg29;
-reg62 = reg12;
-reg63 <= reg10;
-reg64 = (-2'h7);
-reg65 = wire2;
-reg66 = $signed((-6'h6));
-reg67 = $unsigned((-10'he));
-end
-else
-begin
-reg68 = $signed($unsigned(($unsigned(reg44) ^~ $signed((-8'h1)))));
-reg69 = $signed((^~((reg51 <= reg13) || ((3'h4) <= reg8))));
-end
-reg70 = (~|$unsigned((-2'hf)));
-reg71 = (-3'h2);
-end
-else
-begin
-reg72 = wire2;
-reg73 <= ((~|$signed(reg41)) ^~ reg58);
-reg74 <= reg65;
-reg75 = (~^wire1);
-reg76 = $unsigned(reg27);
-reg77 = $signed((7'hc));
-reg78 <= $unsigned(reg8);
-reg79 <= $unsigned($signed(((12'hc) - ((6'hb) == reg36))));
-reg80 = $signed(((~^reg45) << $unsigned($signed((-10'h6)))));
-reg81 = reg75;
-end
-reg82 <= $unsigned((^~wire1));
-reg83 = (-14'h5);
-if(((-15'h9) == (32'h0)))
-begin
-reg84 = reg37;
-reg85 = (7'h9);
-reg86 = ((2'h2) ^~ ($signed($unsigned((4'he))) << reg67));
-end
-else
-begin
-reg87 = $signed(((+$signed(reg80)) < ((-14'h3) > $unsigned((2'h5)))));
-reg88 <= $unsigned($signed(reg30));
-reg89 <= (((!(-10'h4)) ^ reg17) && (+(~reg59)));
-reg90 <= ($signed(((!reg23) - (-5'he))) & ((-$unsigned(reg77)) >>> ($signed((-15'h9)) < $signed(reg27))));
-reg91 <= (-4'h9);
-if(((reg28 | (4'hf)) == (32'h0)))
-begin
-reg92 <= reg87;
-reg93 = (!(~^$unsigned((~|wire5))));
-end
-else
-begin
-reg94 <= $unsigned(reg13);
-reg95 = $signed($unsigned($unsigned(wire5)));
-reg96 = $signed(reg73);
-reg97 <= $unsigned((($unsigned((14'hf)) ^~ (12'hf)) == (((-2'h9) > reg45) || (-9'h4))));
-reg98 = $unsigned($unsigned(reg36));
-reg99 <= $signed(((3'h6) * reg69));
-reg100 = $signed($unsigned((5'hf)));
-reg101 = (-12'h2);
-reg102 <= ((($signed((14'hf)) ^~ reg76) & $unsigned($unsigned((6'h1)))) ~^ $signed(((reg60 >> reg54) ^ $signed(reg70))));
-reg103 = $unsigned((|(-7'he)));
-reg104 = ($unsigned(($unsigned((12'hc)) && (-13'h1))) - (|$unsigned(((-6'ha) <<< reg45))));
-reg105 = ((-11'hb) ~^ (-3'hf));
-reg106 = (~^(+reg75));
-end
-end
-reg107 = reg49;
-reg108 <= reg15;
-reg109 = $signed(reg33);
-if(((~(11'h1)) == (32'h0)))
-begin
-reg110 = $unsigned(reg91);
-reg111 <= (-(-5'h2));
-end
-else
-begin
-reg112 <= $unsigned(($signed($signed(reg58)) ~^ reg20));
-reg113 <= (~^$signed(reg23));
-reg114 <= reg25;
-reg115 <= (-5'h8);
-if(($signed(($unsigned(reg10) >= (4'ha))) == (32'h0)))
-begin
-reg116 = (^((9'h7) == (~reg95)));
-reg117 = (+((10'hd) <= (-3'ha)));
-reg118 <= (~(reg109 & $unsigned((^~reg55))));
-reg119 <= (|$signed(reg69));
-end
-else
-begin
-reg120 = (4'hd);
-reg121 = (&(~^(((-5'h7) * reg92) < $unsigned((11'h2)))));
-reg122 <= $unsigned((&$unsigned(((9'h7) ^ reg68))));
-reg123 <= (-$unsigned((reg91 | $signed((10'ha)))));
-if(($unsigned((-2'hd)) == (32'h0)))
-begin
-reg124 <= $signed((8'h0));
-reg125 <= (-((~&reg41) != $signed((~&(-14'ha)))));
-reg126 <= $unsigned(reg63);
-reg127 <= ((3'hc) ^~ reg80);
-reg128 <= (|(-5'h1));
-reg129 = reg45;
-reg130 <= reg110;
-reg131 <= ((-9'h8) > $unsigned(((9'h8) <= ((-3'h6) && (-14'h2)))));
-reg132 = (14'h2);
-reg133 <= (-(+reg120));
-reg134 = (-8'hf);
-end
-else
-begin
-reg135 = (-1'h1);
-reg136 = reg133;
-reg137 = $signed((-2'h5));
-reg138 <= $unsigned(((-8'h2) * reg84));
-reg139 <= (-((reg119 >> $unsigned((4'h1))) & $unsigned((reg133 << (8'hc)))));
-reg140 <= (12'h1);
-reg141 = $signed(reg100);
-reg142 <= reg85;
-reg143 = $signed(reg103);
-reg144 = (+(~|($signed((14'h9)) + (-15'h8))));
-reg145 = ((-reg34) <= reg125);
-reg146 <= ($signed((-4'h4)) <= (~&(-3'h6)));
-reg147 <= (-(6'h6));
-end
-reg148 <= reg144;
-reg149 = $unsigned((+(6'h1)));
-reg150 <= ($signed(($signed((4'hb)) >>> $unsigned((3'h5)))) <= $signed((~&(reg20 >>> reg111))));
-reg151 = $signed($unsigned(((11'h3) && $signed((7'ha)))));
-reg152 <= reg63;
-end
-reg153 = (-7'h3);
-if(($signed((reg47 | (((-13'hf) ~^ reg129) >>> ((9'hf) - reg18)))) == (32'h0)))
-begin
-reg154 = (-2'h7);
-reg155 <= reg69;
-reg156 <= $signed($signed(((^~(-1'h3)) > (7'he))));
-reg157 <= $signed(reg120);
-reg158 <= (^(12'hc));
-reg159 <= $signed($signed($unsigned((&(12'h3)))));
-reg160 = ((6'h7) || $signed(((|(9'h1)) - $unsigned(reg76))));
-reg161 <= (~(13'hb));
-reg162 = (~|($signed((reg104 * reg59)) ^~ reg151));
-reg163 <= (-14'hd);
-reg164 <= ($signed($signed($unsigned((-11'h8)))) >= (~($signed((3'h8)) ^ $unsigned(reg150))));
-reg165 = $signed($signed(($signed((-9'hd)) >> $signed((-1'he)))));
-reg166 = (|(~&(-6'h6)));
-reg167 = (7'h2);
-reg168 = reg20;
-end
-else
-begin
-reg169 = (1'h9);
-reg170 <= (4'h7);
-reg171 = reg47;
-reg172 <= $unsigned((~$signed((reg81 >>> reg114))));
-reg173 = (~|$unsigned((~(~|(-8'ha)))));
-reg174 = (1'hd);
-reg175 = ((-3'h8) ^ (-1'h6));
-reg176 <= (~|$signed($unsigned((~^(-15'hd)))));
-reg177 = ((((-7'h7) >> (~|reg86)) + (~^reg38)) && (14'h3));
-reg178 <= reg154;
-if(((2'h1) == (32'h0)))
-begin
-reg179 <= $unsigned($signed($signed((^~(11'h2)))));
-reg180 = $unsigned(reg46);
-reg181 = (14'h7);
-reg182 <= (($signed((reg164 * reg143)) > $signed((reg49 < reg7))) << (+$signed(reg66)));
-reg183 = $unsigned((((13'h6) * (reg15 ^ reg124)) >> ((^(11'hb)) <<< $unsigned((-13'h6)))));
-reg184 <= ((1'h5) * $unsigned(reg174));
-end
-else
-begin
-reg185 <= wire4;
-reg186 = reg70;
-reg187 <= reg51;
-reg188 <= $unsigned(reg123);
-reg189 = $signed((^$unsigned(reg163)));
-end
-reg190 = $signed($unsigned((-13'h5)));
-reg191 = $signed((8'h2));
-reg192 <= reg70;
-end
-reg193 = $unsigned($unsigned(reg14));
-reg194 <= $unsigned(($unsigned((reg147 && (5'h9))) & $unsigned($signed((7'he)))));
-end
-end
-assign wire195 = reg108;
-always @(posedge clk) begin
-reg196 = (!(!reg63));
-reg197 = $unsigned((~(&$unsigned((6'hf)))));
-reg198 = (15'h1);
-reg199 <= wire1;
-reg200 = (!reg41);
-reg201 = reg160;
-reg202 <= $unsigned(((^~(~|(9'h9))) ^ (reg104 >= (^(-11'h8)))));
-reg203 <= $unsigned((-(-8'h7)));
-reg204 = (7'h0);
-reg205 = (9'h8);
-reg206 <= (($signed(reg148) ^~ $unsigned($signed(reg65))) <<< $unsigned($signed((!reg176))));
-reg207 = $unsigned(reg205);
-reg208 = wire3;
-end
-assign y = {reg208, reg207, reg206, reg205, reg204, reg203, reg202, reg201, reg200, reg199, reg198, reg197, reg196, wire195, reg194, reg193, reg192, reg191, reg190, reg189, reg188, reg187, reg186, reg185, reg184, reg183, reg182, reg181, reg180, reg179, reg178, reg177, reg176, reg175, reg174, reg173, reg172, reg171, reg170, reg169, reg168, reg167, reg166, reg165, reg164, reg163, reg162, reg161, reg160, reg159, reg158, reg157, reg156, reg155, reg154, reg153, reg152, reg151, reg150, reg149, reg148, reg147, reg146, reg145, reg144, reg143, reg142, reg141, reg140, reg139, reg138, reg137, reg136, reg135, reg134, reg133, reg132, reg131, reg130, reg129, reg128, reg127, reg126, reg125, reg124, reg123, reg122, reg121, reg120, reg119, reg118, reg117, reg116, reg115, reg114, reg113, reg112, reg111, reg110, reg109, reg108, reg107, reg106, reg105, reg104, reg103, reg102, reg101, reg100, reg99, reg98, reg97, reg96, reg95, reg94, reg93, reg92, reg91, reg90, reg89, reg88, reg87, reg86, reg85, reg84, reg83, reg82, reg81, reg80, reg79, reg78, reg77, reg76, reg75, reg74, reg73, reg72, reg71, reg70, reg69, reg68, reg67, reg66, reg65, reg64, reg63, reg62, reg61, reg60, reg59, reg58, reg57, reg56, reg55, reg54, reg53, reg52, reg51, reg50, reg49, reg48, reg47, reg46, reg45, reg44, reg43, reg42, reg41, reg40, reg39, reg38, reg37, reg36, reg35, reg34, reg33, reg32, reg31, reg30, reg29, reg28, reg27, reg26, reg25, reg24, reg23, reg22, reg21, reg20, reg19, reg18, reg17, reg16, reg15, reg14, reg13, reg12, reg11, reg10, reg9, reg8, reg7, reg6, wire5, wire4, wire3};
-endmodule
diff --git a/bugs/vivado/2_minimal.v b/bugs/vivado/2_minimal.v
deleted file mode 100644
index 227550e..0000000
--- a/bugs/vivado/2_minimal.v
+++ /dev/null
@@ -1,28 +0,0 @@
-(* use_dsp48="no" *) module top
- (y, clk, wire0, wire1, wire2, wire3);
- output wire [163:0] y;
- input wire clk;
- input wire signed [11:0] wire0;
- input wire [13:0] wire1;
- input wire signed [7:0] wire2;
- input wire signed [3:0] wire3;
- wire signed [12:0] wire19;
- wire [6:0] wire18;
- wire [4:0] wire17;
- wire signed [12:0] wire16;
- wire signed [19:0] wire15;
- wire [7:0] wire14;
- wire wire13;
- wire [10:0] wire12;
- wire signed [9:0] wire11;
- wire signed [16:0] wire10;
- reg [15:0] reg9;
- reg signed [11:0] reg8;
- wire [6:0] wire7;
- wire signed [6:0] wire6;
- wire [10:0] wire5;
- wire [5:0] wire4;
- assign wire13 = {wire0, $unsigned(((-17'hd) ? wire0 : (-18'he))), (((9'h8) ? (11'he) : reg8) <<< (~&(-8'h2))), ({reg9, wire1, (3'h12), (-5'hc)} | (&(-1'h12)))};
- assign wire17 = ((wire13 ? 1'b1 : ( 1'b1 ? (14'he) : wire0)) ? $unsigned($unsigned(((-2'h5)))) : $unsigned($unsigned((wire13 || wire2))));
- assign y = {wire17};
-endmodule
diff --git a/bugs/vivado/2_original.v b/bugs/vivado/2_original.v
deleted file mode 100644
index f60b789..0000000
--- a/bugs/vivado/2_original.v
+++ /dev/null
@@ -1,44 +0,0 @@
-(* use_dsp48="no" *) module top
- (y, clk, wire0, wire1, wire2, wire3);
- output wire [163:0] y;
- input wire clk;
- input wire signed [11:0] wire0;
- input wire [13:0] wire1;
- input wire signed [7:0] wire2;
- input wire signed [3:0] wire3;
- wire signed [12:0] wire19;
- wire [6:0] wire18;
- wire [4:0] wire17;
- wire signed [12:0] wire16;
- wire signed [19:0] wire15;
- wire [7:0] wire14;
- wire wire13;
- wire [10:0] wire12;
- wire signed [9:0] wire11;
- wire signed [16:0] wire10;
- reg [15:0] reg9;
- reg signed [11:0] reg8;
- wire [6:0] wire7;
- wire signed [6:0] wire6;
- wire [10:0] wire5;
- wire [5:0] wire4;
- assign wire4 = $unsigned(($unsigned((-6'h11)) ? ((wire3 ? wire3 : (8'h0)) && $signed(wire2)) : (19'he)));
- assign wire5 = wire0;
- assign wire6 = (5'h4);
- assign wire7 = (wire4 ? {wire2, wire3, wire0, (-9'h6), (20'h10), wire1, (-1'hd), (-2'h10), (6'hc), (-16'hd), wire0} : $unsigned($unsigned((16'h5))));
- always @(posedge clk) begin
- reg8 = wire6;
- reg9 = wire0;
- end
- assign wire10 = (+wire0);
- assign wire11 = $unsigned({(wire6 || (1'h2))});
- assign wire12 = (12'h7);
- assign wire13 = {wire5, $unsigned(((-17'hd) ? wire5 : (-18'he))), (((9'h8) ? (11'he) : reg8) <<< (~&(-8'h2))), ({reg9, wire1, (3'h12), (-5'hc)} | (&(-1'h12)))};
- assign wire14 = ((3'h5) >>> ($unsigned((wire6 ? reg9 : (-16'hb))) > ((wire2 ^ (-20'h1)) ? ((11'h14) ? wire12 : (-10'h13)) : {(-15'h11), wire0, (-3'he), (-12'h14), (-3'hd), (-19'h11)})));
- assign wire15 = $unsigned(wire14);
- assign wire16 = ({((-15'hc) >= (2'ha)), (wire15 || reg8), $signed(wire12), {(-10'h12), wire7, wire1, (-19'h14), (5'ha), wire0, wire4, (15'h2), (14'hc), reg9, (19'hb), wire5, (8'h8), wire11, (-11'hc), wire5, wire2, (17'h0), (13'hb), wire2}, (1'h13), (11'hc), (9'h13), (-5'h2), $signed((1'hf)), (reg9 << wire2), {(11'h6), reg8, wire15, wire5, (16'ha), (20'ha), (-5'h8), wire14, (-4'h7), wire4, (4'ha), reg9, (-1'h2)}, $unsigned(reg9), ((-12'h1) ? wire3 : (11'h0)), (|(3'h3)), reg9, {(-13'h2), (-16'h13)}, wire2, (^~wire1), $signed(reg8)} == $signed({(-12'hf), wire11, (-14'h2), (13'he), wire4, reg8, (6'h7), reg9, reg8, wire4, wire3}));
- assign wire17 = ((wire13 ? ((7'h14) ? (-14'hb) : (-9'h7)) : (wire6 ? (14'he) : wire0)) ? $unsigned($unsigned(((-2'h5) * wire7))) : $unsigned($unsigned((wire13 || wire2))));
- assign wire18 = wire3;
- assign wire19 = wire2;
- assign y = {wire19, wire18, wire17, wire16, wire15, wire14, wire13, wire12, wire11, wire10, reg9, reg8, wire7, wire6, wire5, wire4};
-endmodule
diff --git a/bugs/vivado_1.md b/bugs/vivado_1.md
new file mode 100644
index 0000000..ef43cdd
--- /dev/null
+++ b/bugs/vivado_1.md
@@ -0,0 +1,60 @@
+# Verilog If statement nesting crash
+
+[ [Vivado forum 981787](https://forums.xilinx.com/t5/Synthesis/Vivado-2019-1-Verilog-If-statement-nesting-crash/td-p/981787) ]
+
+The following Verilog code crashes on Vivado 2019.1 and 2018.3. it has been reduced as much as possible to a minimal example from a larger design, which produces the crash. Removing any registers or removing the empty if-statements gets rid of the crash.
+
+```verilog
+module top (y, clk, wire0);
+ output [1:0] y;
+ input clk;
+ input [1:0] wire0;
+ reg [2:0] reg0 = 0, reg1 = 0;
+ reg [1:0] reg2 = 0, reg3 = 0, reg4 = 0, reg5 = 0;
+ assign y = reg2;
+ always
+ @(posedge clk) begin
+ reg0 <= 1;
+ reg5 <= 1;
+ if (reg5)
+ begin
+ if (reg0);
+ else
+ if (wire0);
+ else
+ if ($signed(reg3[0:0]))
+ begin
+ reg3 <= reg0;
+ reg1 <= reg3;
+ end
+ else
+ reg1 <= reg0;
+ reg2 <= reg1[0:0];
+ end
+ end
+endmodule
+```
+
+This crash occurs in Vivado 2018.3 on a CentOS 6 server and Vivado 2019.1 on my personal Arch Linux machine. It crashes with the following stack trace, meaning the problem is probably occuring in the HOptDfg::mergeReconvergentPartitions function.
+
+```
+/usr/lib/libc.so.6(+0x378b0) [0x7fbb3a1a88b0]
+/opt/Xilinx/Vivado/2019.1/lib/lnx64.o/librdi_synth.so(+0x18a8008) [0x7fbaff38f008]
+/opt/Xilinx/Vivado/2019.1/lib/lnx64.o/librdi_synth.so(HOptDfg::mergeReconvergentPartitions(DFPin*, DFGraph*, UHashSet<DFPin*, DFPin*, UEKey<DFPin*>, UHashSetNode<DFPin*>, DFPin*, UEValue<DFPin*, UHashSetNode<DFPin*> > > const&, UHashMap<DFNode*, DFPin*, DFNode*, UEKey<DFNode*> >&, UHashMap<DFGraph*, DFGraphInfo, DFGraph*, UEKey<DFGraph*> >&, DFGraph::DFGraphType, UHashMapList<DFGraph*, UHashList<DFPin*, DFPin*, UEKey<DFPin*>, UHashListNode<DFPin*>, DFPin*>, DFGraph*, UEKey<DFGraph*> >&)+0x33b) [0x7fbaff39848b]
+```
+
+The end of the log is posted below
+
+```
+---------------------------------------------------------------------------------
+Finished Loading Part and Timing Information : Time (s): cpu = 00:00:04 ; elapsed = 00:00:05 . Memory (MB): peak = 1529.691 ; gain = 169.098 ; free physical = 900 ; free virtual = 4633
+---------------------------------------------------------------------------------
+Abnormal program termination (11)
+Please check '/home/yannherklotz/Projects/verifuzz/vivado_crash/hs_err_pid28124.log' for details
+```
+
+I believe that this crash is different to https://forums.xilinx.com/t5/Synthesis/Vivado-2018-3-synthesis-crash/td-p/981136, because the function in the stack trace is different, which is why I posted this as a new post. I have attached a zip file below containing the tcl file and Verilog file, so to reproduce the crash one should be able to just run:
+
+```
+vivado -mode batch -source vivado_top.tcl
+```
diff --git a/bugs/vivado_2.md b/bugs/vivado_2.md
new file mode 100644
index 0000000..c71db3b
--- /dev/null
+++ b/bugs/vivado_2.md
@@ -0,0 +1,60 @@
+# Vivado 2018.3 synthesis crash
+
+[ [Vivado forum 981136](https://forums.xilinx.com/t5/Synthesis/Vivado-2018-3-synthesis-crash/td-p/981136) ]
+
+Vivado 2018.3 crashes with the following Verilog code.
+
+```verilog
+module top (y, clk, wire0);
+ output y;
+ input clk;
+ input [1:0] wire0;
+ reg [1:0] reg1 = 0, reg0 = 0, reg2 = 0,
+ reg3 = 0, reg4 = 0;
+ reg signed [1:0] reg5 = 0;
+ wire [1:0] wire1;
+ assign y = reg1;
+ assign wire1 = reg4;
+ always @(posedge clk)
+ if (reg4)
+ begin
+ if (wire0)
+ reg3 <= 1;
+ reg2 <= 1;
+ end
+ always @(posedge clk)
+ if (reg3) begin
+ reg5 <= reg2[0:0];
+ if (reg0)
+ reg1 <= reg5;
+ if (reg2[0:0])
+ reg0 <= 1;
+ end
+endmodule
+```
+
+It results in the error shown below.
+
+```
+****** Vivado v2018.3 (64-bit)
+ **** SW Build 2405991 on Thu Dec 6 23:36:41 MST 2018
+ **** IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018
+ ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
+
+source vivado_top.tcl
+# set_msg_config -id {Synth 8-5821} -new_severity {WARNING}
+# read_verilog rtl.v
+# synth_design -part xc7k70t -top top
+Command: synth_design -part xc7k70t -top top
+Starting synth_design
+Attempting to get a license for feature 'Synthesis' and/or device 'xc7k70t'
+INFO: [Common 17-349] Got license for feature 'Synthesis' and/or device 'xc7k70t'
+INFO: Launching helper process for spawning children vivado processes
+INFO: Helper process launched with PID 10415
+---------------------------------------------------------------------------------
+Starting Synthesize : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 1349.855 ; gain = 0.000 ; free physical = 1545 ; free virtual = 5134
+---------------------------------------------------------------------------------
+INFO: [Synth 8-6157] synthesizing module 'top' [/home/user/project/rtl.v:1]
+Abnormal program termination (11)
+Please check '/home/user/project/hs_err_pid10402.log' for details
+```
diff --git a/bugs/vivado_3.md b/bugs/vivado_3.md
new file mode 100644
index 0000000..79fedd5
--- /dev/null
+++ b/bugs/vivado_3.md
@@ -0,0 +1,27 @@
+# Unsigned bit extension in if statement
+
+[ [Vivado forum 981789](https://forums.xilinx.com/t5/Synthesis/Vivado-2019-1-Unsigned-bit-extension-in-if-statement/td-p/981789) ]
+
+The code below does not seem to behave properly after synthesis with Vivado 2019.1. When the input to the module is `w1 = 2'b01`, then the output should be 0. This is because the unsigned literal `-1'b1` in the if statement is zero extended to 2 bits giving `-2'b01 = 2'b11`.
+
+As `2'b11 != w1` (which is `2'b01`), `r1` should never be set.
+
+However, instead of 0, after synthesis with Vivado, the output it 1. This seems to have something to do with the concatenation as well, as if that is removed, Vivado synthesis works as expected and performs the right zero extension.
+
+Assigning `r1` directly to `{-1'b1 == w1}` also works as expected.
+
+```
+module top (y, clk, w1);
+ output y;
+ input clk;
+ input signed [1:0] w1;
+ reg r1 = 1'b0;
+ assign y = r1;
+
+ always @(posedge clk)
+ if ({-1'b1 == w1}) // when w1 = 2'b01 this should not be true
+ r1 <= 1'b1;
+endmodule // top
+```
+
+This happens on Vivado 2019.1 on my Arch linux machine, and also hapens on Vivado 2018.3 on CentOS 6.
diff --git a/bugs/vivado_4.md b/bugs/vivado_4.md
new file mode 100644
index 0000000..0e7ab04
--- /dev/null
+++ b/bugs/vivado_4.md
@@ -0,0 +1,53 @@
+# Signed with shift in condition synthesis mistmatch
+
+[ [Vivado forum 982518](https://forums.xilinx.com/t5/Synthesis/Vivado-2019-1-Signed-with-shift-in-condition-synthesis-mistmatch/td-p/982518) ]
+
+The following code seems to give a mismatch after synthesis. I am using Vivado 2019.1 on my personal Arch Linux machineg and Vivado 2018.2 on CentOS 6.
+
+```
+module top (y, w0);
+ output [1:0] y;
+ input w0;
+ assign y = $signed(2'h1 < 2'h2) >> w0 ? 1'b1 : 1'b0;
+endmodule
+```
+
+When the module is given `w0 = 0`, the output should be 1, because `$signed(1 < 2) >> 0 = 1`. However, synthesising the module gives the following net list in Verilog:
+
+```
+// Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
+// --------------------------------------------------------------------------------
+// Tool Version: Vivado v.2019.1 (lin64) Build 2552052 Fri May 24 14:47:09 MDT 2019
+// Date : Tue Jun 11 15:26:35 2019
+// Host : yann-arch running 64-bit unknown
+// Command : write_verilog -force syn_vivado.v
+// Design : top_vivado
+// Purpose : This is a Verilog netlist of the current design or from a specific cell of the design. The output is an
+// IEEE 1364-2001 compliant Verilog HDL file that contains netlist information obtained from the input
+// design files.
+// Device : xc7k70tfbg676-3
+// --------------------------------------------------------------------------------
+`timescale 1 ps / 1 ps
+
+(* STRUCTURAL_NETLIST = "yes" *)
+module top_vivado
+ (y,
+ w0);
+ output [1:0]y;
+ input w0;
+
+ wire \<const0> ;
+ wire [1:0]y;
+
+ GND GND
+ (.G(\<const0> ));
+ OBUF \y_OBUF[0]_inst
+ (.I(\<const0> ),
+ .O(y[0]));
+ OBUF \y_OBUF[1]_inst
+ (.I(\<const0> ),
+ .O(y[1]));
+endmodule
+```
+
+Which assigns the output y to a constant 0.
diff --git a/bugs/vivado_5.md b/bugs/vivado_5.md
new file mode 100644
index 0000000..d34e311
--- /dev/null
+++ b/bugs/vivado_5.md
@@ -0,0 +1,32 @@
+# Bit selection synthesis mismatch
+
+[ [Vivado forum 982419](https://forums.xilinx.com/t5/Synthesis/Vivado-2019-1-Bit-selection-synthesis-mismatch/td-p/982419) ]
+
+There seems to be a mismatch between the synthesised net list and the initial design with the following Verilog code. This happens with Vivado 2019.1 on my personal arch linux machine and Vivado 2018.2 on CentoOS 6. I have attached all the necessary files to run it and hopefully reproduce it, together with a testbench that dumps a vcd file.
+
+I have reduced the Verilog as much as possible, and changing anything else makes Vivado synthesise correctly.
+
+```
+module top (y, clk, w0);
+ output [1:0] y;
+ input clk;
+ input [1:0] w0;
+ reg [2:0] r1 = 3'b0;
+ reg [1:0] r0 = 2'b0;
+ assign y = r1;
+ always
+ @(posedge clk) begin
+ r0 <= 1'b1;
+ if (r0) r1 <= r0 ? w0[0:0] : 1'b0;
+ else r1 <= 3'b1;
+ end
+endmodule
+```
+
+For an input of `w2 = 2b'10` for two clock cycles, the final output should be `2'd0`, because the if statement is entered on the second clk cycle and the lsb of `w0` is assigned to `r1`, which is `1'b0`.
+
+However, with Vivado the output seems to be `2'10` instead, which seems like Vivado does not truncate the value of the input to the lsb in `w0[0:0]`.
+
+Expected output after 2 clock cycles with `2'b10` as input: `2'b00`
+
+Actual output: `2'b10`
diff --git a/bugs/xst_1_comment.md b/bugs/xst_1_comment.md
deleted file mode 100644
index c692135..0000000
--- a/bugs/xst_1_comment.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# XST Bug 1
-
diff --git a/bugs/xst_1_minimal.v b/bugs/xst_1_minimal.v
deleted file mode 100644
index cad34a1..0000000
--- a/bugs/xst_1_minimal.v
+++ /dev/null
@@ -1,16 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1472:0] y;
-input wire [23:0] w1;
-input wire [20:0] w2;
-input wire [1:0] w3;
-input wire [29:0] w4;
-input wire [23:0] w5;
-input wire [22:0] w6;
-input wire [20:0] w7;
-input wire [26:0] w8;
-input wire [3:0] w9;
-input wire [8:0] w10;
-wire [26:0] w99;
-assign w99 = (&((30'h19) ? w8 : (30'h5)));
-assign y = {w99};
-endmodule
diff --git a/bugs/xst_1_original.v b/bugs/xst_1_original.v
deleted file mode 100644
index b4b8491..0000000
--- a/bugs/xst_1_original.v
+++ /dev/null
@@ -1,194 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1472:0] y;
-input wire [23:0] w1;
-input wire [20:0] w2;
-input wire [1:0] w3;
-input wire [29:0] w4;
-input wire [23:0] w5;
-input wire [22:0] w6;
-input wire [20:0] w7;
-input wire [26:0] w8;
-input wire [3:0] w9;
-input wire [8:0] w10;
-wire [10:0] w11;
-wire [27:0] w12;
-wire [2:0] w13;
-wire [24:0] w14;
-wire [1:0] w15;
-wire [6:0] w16;
-wire [2:0] w17;
-wire [21:0] w18;
-wire [9:0] w19;
-wire [27:0] w20;
-wire [8:0] w21;
-wire [9:0] w22;
-wire w23;
-wire [23:0] w24;
-wire [2:0] w25;
-wire [13:0] w26;
-wire [28:0] w27;
-wire [18:0] w28;
-wire [29:0] w29;
-wire [28:0] w30;
-wire [12:0] w31;
-wire w32;
-wire [21:0] w33;
-wire [9:0] w34;
-wire [20:0] w35;
-wire w36;
-wire [27:0] w37;
-wire [22:0] w38;
-wire [26:0] w39;
-wire w40;
-wire [5:0] w41;
-wire [21:0] w42;
-wire [10:0] w43;
-wire [14:0] w44;
-wire [26:0] w45;
-wire [16:0] w46;
-wire [23:0] w47;
-wire [26:0] w48;
-wire [2:0] w49;
-wire [24:0] w50;
-wire [8:0] w51;
-wire [8:0] w52;
-wire [27:0] w53;
-wire [4:0] w54;
-wire [12:0] w55;
-wire [26:0] w56;
-wire [18:0] w57;
-wire [18:0] w58;
-wire [27:0] w59;
-wire [14:0] w60;
-wire [6:0] w61;
-wire [21:0] w62;
-wire [28:0] w63;
-wire [17:0] w64;
-wire [4:0] w65;
-wire [19:0] w66;
-wire [28:0] w67;
-wire [7:0] w68;
-wire [21:0] w69;
-wire [16:0] w70;
-wire [14:0] w71;
-wire [10:0] w72;
-wire [7:0] w73;
-wire [9:0] w74;
-wire [26:0] w75;
-wire [15:0] w76;
-wire [22:0] w77;
-wire [21:0] w78;
-wire [16:0] w79;
-wire [7:0] w80;
-wire [19:0] w81;
-wire [28:0] w82;
-wire [6:0] w83;
-wire w84;
-wire [13:0] w85;
-wire [13:0] w86;
-wire [21:0] w87;
-wire [25:0] w88;
-wire [26:0] w89;
-wire [24:0] w90;
-wire w91;
-wire [26:0] w92;
-wire [3:0] w93;
-wire [16:0] w94;
-wire [18:0] w95;
-wire [23:0] w96;
-wire [11:0] w97;
-wire [10:0] w98;
-wire [26:0] w99;
-wire [9:0] w100;
-assign w11 = (~|$unsigned((w49 > $unsigned((w31 < (17'h7))))));
-assign w12 = ({w65, (w41 == w52), ((7'h4) ? w44 : w3), ((7'hf) ? w59 : w69), $unsigned((19'h1)), {w95, (20'hb), (24'h3), w92, w44, w45, w25, (-27'h11), w58, w76, (16'h10), w35, (-29'ha), (-16'h18), w97, w28, (-7'h2), (-18'h6), w69, (4'h8), (-5'h15), w63, (26'hf)}, w27, (-19'h1d), (^w50), {(-7'h2), w53, (-28'hb), (-3'h1b), (-23'h6), w66, (-26'hf), w82, (-4'h11), (-2'hc), (-6'hc), w37, (27'he), (20'h3), w50, (-21'h18), (30'h3), w25, w54, w53, w55, w40, w34, (28'h7)}, {(-14'h1c), w77, (-25'h16), w56, (-27'h1), w40, (27'h19), (-24'h1), w33, w46, w41, w70, w62, w89, w9, w71, w31, w30, (-1'h16), (-10'h1e), (-3'h0), (-25'h16)}, {w91, w79, (-27'he), w9, w73, (-6'h10), w5, w76, w55, (7'h16), w38, (-12'h11), w53, (12'h18), (-25'h4), (-28'h1e), w54, (14'hf), (-15'h7), w98}, ((31'h19) ? (-33'ha) : (8'h1)), (w96 ? w52 : w49), {(-15'h11), (-26'h2), (21'h18), w87, w63, (-28'h1), (-30'h1), w54, (-22'h1e), w90, (-31'h0), w9, w87, w84, w22}, $unsigned((-32'h3)), (!(-10'h1))} !== {$unsigned((-3'h13)), ((-4'h16) & w78), w56, {(28'h3), w26, w87}, ((11'hb) != (-24'h14)), (|(-31'hc)), (-5'hf), $unsigned((-27'h1c)), $signed((19'h4)), w42, (+(-24'hf)), w4, $unsigned(w6), (|w83), $unsigned((-11'hc)), w1, (-(-10'h0)), $unsigned(w20), w74});
-assign w13 = {{(-6'h2), w70, (-13'h17), w5, w4, (17'hb), w7}, ({(-6'h1c), w61, w47, (2'h10), w2, (4'h8), w31, (12'h14), w65, w61, (-26'h18), w34} ^ (w47 <= w26)), w62, $unsigned(((17'h1e) == w76)), (6'h11), (-30'h14), (20'h19), $unsigned($unsigned((33'h17))), $unsigned(w50), w76, {w78, w48, (-22'hb), (18'h6), (-30'h1), w92, w97, (8'h6), w89, w62, (-23'h9), (11'h2), w20, w81, w54, (12'h10), (16'h4)}, {(-28'hf), (27'h13), w4, w44, (25'h12), (-15'h12), (7'h3), w100, (-17'h11), (7'h1a), w64, (-9'h10), w24, w51, w63, w81, (12'h8), (-4'h1b), (-14'h3)}, w36, ((w70 | (-23'h17)) ^ (!(26'he))), (11'h15), (-30'he), {(-10'h1)}, (|w51), (~^w5), (5'h1b), ($unsigned(w45) ~^ w78), (((-27'h14) >> (-30'h3)) ? $signed((-19'he)) : ((25'h9) | (14'hd))), w54};
-assign w14 = ((^($unsigned((30'h1d)) ^~ (^~w68))) !== w42);
-assign w15 = (-13'h8);
-assign w16 = ({(-5'h16), (20'hd), $signed((22'h10)), w28, w45, {w23, (-20'h13), w67, (30'h12), (-14'he), w71, (-24'he), (-28'h16), w7, w50, (-12'h15), w58, (25'h13), (8'h4), w100, w79, w19, w73, (-30'h4), w54, (20'h4), w24, w82, w97, w74, (-12'h1), (18'hd), (-28'hb)}, (w79 ? (6'h16) : (16'h10))} || (^(17'he)));
-assign w17 = ($signed((~&((~&(28'h5)) << ((-4'h19) ? w59 : w51)))) ? $signed({w94, (9'ha), w65, (17'hd), (-9'h11), (-22'hb), (-22'h8), (-21'h11), (9'h16), w36, (13'h5), w9, (-18'h18), w35, w29, (-11'he), (-31'h1c), w62, w75, (-2'h19), (27'h9), (-28'h7), (28'h1d), w23, w67, (12'h11)}) : (26'h6));
-assign w18 = w47;
-assign w19 = w61;
-assign w20 = ((-10'h1d) & (~&{(-13'h2), (-2'hb), (-9'h1d), (5'h4), w50, (16'h3), (-14'h19), w32, w98, w36, w22, (19'h5), (-10'h19), w79, w22, (6'h6), (-1'hb), (-3'h8), (29'h6), w59, (-23'h9), (-27'h10), w29}));
-assign w21 = w49;
-assign w22 = w64;
-assign w23 = (21'h1c);
-assign w24 = ((({(-19'hb), w81, (12'hf), (25'h18), (10'h7), (27'h3), w56, w31, w2, (-30'h2), w37, (28'h15), (20'h12)} ? w84 : {w41, w36, w98, w50, (22'h8), w81, w49, w96, w98, w50, w64, w62, (20'hf), w40, (27'h9), (20'ha), w84, w42, w10, (29'hd), w40, w1, (25'h8), w7, w90, (18'h2), w68, (28'hd)}) ? w87 : ($unsigned(w51) <<< $signed((16'h2)))) ? {{(-2'h0), w59, w45, w52, (27'ha), (-22'h1c), w78, (21'h6), w89, (24'ha), w87, (-30'h8), w8, w8, w25, w32, (-20'h2), (3'h11), w86, (-17'h1a), w73, w100, w100, w77, w71, w64, (-15'he)}, $unsigned(w32), {(30'h1), w95, w86, w52, w59, (24'he), (-27'h1b), w69, w37, w75, (15'h11), w60, (-21'h5), (-11'he), w40}, (-w95), (-26'h2), (-4'h11), w5, ((10'h13) && w60)} : $unsigned((~^(((14'h8) ? w50 : (16'h18)) >>> {(-11'h1a), (12'h8), w70, w49, w50, w3, w74, (-13'h4), w41, (-31'h1d), (29'h7), (-22'hc), w90, (14'he), w86, (28'hd), (21'h6), w81}))));
-assign w25 = (^~{(15'hf), (w85 ? w59 : (-7'hb)), (~^(-12'h17)), (-29'h0)});
-assign w26 = $unsigned({w57, ((-17'h18) < w93)});
-assign w27 = w59;
-assign w28 = (-4'h15);
-assign w29 = ($signed(w93) >= (-(w62 ? w4 : {w69, w8, w100, (-8'h12), w66, w42, w100, (-8'h10), w69})));
-assign w30 = {((-1'h1b) ? w61 : (10'h6)), ($unsigned(w86) ? ((1'h1e) < w75) : w66), ({w69, (-21'h4), (-7'h7), w39, (13'h11), (-9'h13), w55, w46, w93, (6'h7), (22'h1b), w58, w54, (15'h1b), w83, w1, (6'h15), w51, (-5'h10), (12'h12), w40, (-3'h8)} ? {(12'h10), (4'h4), w61} : (-30'h5)), {w93}, w69, ({w84, (-12'h1e), (22'h8), w65, w53} ^ (^w100)), $signed((w9 ? (-29'h1c) : w31)), $unsigned((w59 ? (-6'h2) : w93)), {w52, (10'h16), w41, (-17'h16), w51, w98, w1, w54, (16'he), w82}, (!(3'h14)), $unsigned($unsigned(w68)), w66, (-29'h5), $unsigned((w4 ? (-15'h9) : w45)), (11'h3), ((16'hd) < (-8'h2)), w68, (23'h1e)};
-assign w31 = w37;
-assign w32 = (^~((-1'he) ? w75 : {w73, w71, (-1'h14), w62, (-36'h1b), w57, (-5'h6), (-3'h1d), (24'h19), (-12'h14), (-17'h15), (4'h19), (-26'he)}));
-assign w33 = $signed((w68 | (-13'ha)));
-assign w34 = $unsigned($unsigned((14'h1d)));
-assign w35 = (|($signed((23'h16)) ? $signed(w39) : ((6'h8) ? (w54 ? w73 : w69) : (&(-15'h10)))));
-assign w36 = $unsigned(($unsigned((w70 > (~&w74))) ? w47 : {(19'h10), w1, (5'hb), (20'h1c), (15'h1), w46, (-25'hf), (-6'h18), (-27'h13), w94, (3'h18), w54, w75, (24'h1b), (-11'h14), (14'h7), w82, (-11'hb), w98, (-19'ha)}));
-assign w37 = (+(|((-27'h5) * (-32'h13))));
-assign w38 = $unsigned(({w71, (-9'h8), w42, w62, (13'h9), (29'h8), (-24'h1c), w57, w8, w73, (-13'h2), (-1'h2), (2'h16), (9'h16), w79, (-10'h7), (10'ha), (-15'h19), (27'h16), w82, w52, w84, (-19'h14), w10} ? ((^(3'h6)) ? (-19'ha) : w91) : $unsigned(w53)));
-assign w39 = {(w3 == w57), w62, (17'h15), (-(w8 ? w67 : w57)), (w51 - $unsigned((-29'h13))), w67, $unsigned((&w99)), (^(~&w9)), (((23'h1b) === w55) ? ((28'ha) ? (19'h16) : (3'h8)) : (+w86)), {w60, (13'h5), (-15'he), w7, (12'hb), (-8'h0), (14'h4), w79, w74, w56, w62, w7, w1, (-19'h11), w2, (31'h16), w95, (14'h5), w67, w53}, (~^$signed(w80)), (~&w89), (10'h17), (12'h7)};
-assign w40 = $signed({((5'hd) !== (2'hd)), $signed((-30'h1d)), (w52 <<< w84), ((15'h10) ^ (-31'h9)), {(1'hb), w85, (-17'h15), w58, w87, (7'h6), w50, w85, (-2'h2), (28'h8), (22'hf), (34'h17), (22'h15), w70, (22'h3), (15'h1e), (-25'h3), (-9'h8), (-2'h1a), w42, (-1'h2), w95}, ((-18'h1a) < (30'h7)), {(-8'h7), (-16'h1b), w79, w50, (-4'h1), w53, (-7'h11), (20'h16), w91, (18'h6)}, {w83, (-25'h1e), w2, (11'hb), w61, w90, (-6'h1)}, $unsigned(w81), (w92 <= w86), (!(-26'h11)), $unsigned(w89), (w73 ? (-7'h13) : (-16'h19)), ((-14'h13) ? w55 : w63), {w97, (-22'h19), (3'ha), w47, (-1'h19), w98, (19'hb), w68, (-13'hb), w61, (5'h10), w1, w57, w63, w74, (-30'h13), w50, (-16'h1e), (-8'hf), (-21'h1c), w46, (-9'hb), w86, (-22'h6), w84, w90, w96, w84, (-24'h1)}, (~&w74), w89, (|(19'h19)), ((-16'hf) != (-10'h8)), (w86 && w74), (w55 >= (13'h1c)), (w46 < (-30'h14)), {w50, w67, w92, w54, w65, (-18'h9), (29'h2), (-17'h1b), (-11'h0), (-18'hd), w86, w4, (14'h8), (-28'h18), w88, w5, w51, (-30'h12), (-18'h12), w41}});
-assign w41 = $unsigned(((-24'h1e) == (!w79)));
-assign w42 = (!{(11'h1e), (w53 ^~ (-18'h7)), {(-22'h5), w59, (5'h17), w64, w81, w65, w98, (2'h12), w6, (29'h1), (2'h14), w47, (19'h17), (-13'h13), w54, w79, w2, (-4'h8), (-14'h1a), w92, (6'h1b)}, w59, (w65 >> w98), $unsigned(w94), $signed((14'h1b)), w10, ((27'h6) >> (-32'h19)), (w67 >> (13'hf)), {(19'h18), w1, w70, w71, w83, (20'h1a), w85, w2, (6'hd), (21'h1d), (15'h16), (-11'h18), w80, (-13'hb)}});
-assign w43 = $signed({$signed(w1), (-w51), (-(-10'h13)), (&w60), $signed(w78), $signed(w8), (9'h3), w7, {(-11'h4)}, ((8'h16) != (-30'h3)), ((-6'h16) ? (-1'h0) : w50), ((1'h19) <= w83), $unsigned((-9'h18)), (!(3'h7)), (w45 ? (-32'h0) : w62), w67});
-assign w44 = (+($signed(((17'hd) >> w5)) != (^~(25'h18))));
-assign w45 = w89;
-assign w46 = $signed({(-15'h2), {w93, (-24'h0), (-17'hd)}, {(26'h1d), w55, (-23'h0), (1'h4), (15'hd), (-15'h1e), w54, (11'h2), w6, (-20'hf), (2'h16), w100, (20'h1a), (7'h5), (5'h17), (-2'h13), w97, w56, (-6'h4)}, $unsigned((31'h1)), ((-31'hb) > (-33'ha)), $unsigned((-8'h11)), (^w95), (-w4), (29'he), $signed(w48), (|w68), (18'hc), {(-29'h10), w2, w9, (15'h1b), w77, (-28'ha), (17'h15), (-24'he), (-28'h0), (-30'hd), w47, (-36'h5), (-29'h1e), w81, (-1'h1d), (-1'h8), (32'h8), (17'h9), (4'h9), (-32'hf), w9, (19'h10)}, w78, (~^(-20'h17)), ((21'h12) ? w86 : w5), (w1 >= (1'h1c)), w68, $signed((22'h19)), (w5 <<< (-13'h11)), w63, {w75, (-12'h1c), (-11'h0), (-30'h1b), w8, w70, (-5'h8), (-27'h0), w91, w65, (15'h16), (7'h19), w77, (-32'h18), w2, w94}, (|w57), ((13'h1d) != (-19'h13)), (-3'h17), w5, w76, $signed(w57)});
-assign w47 = w7;
-assign w48 = ($signed({(-3'hd), (16'h13), (33'h1c), w69, (29'hb)}) ^ {{w58}, (10'hb), (-15'h1b), w5, (~^w73), {w75, (14'h18), (13'h18), (-25'hc), w5, (-32'h1b), (5'hb), w66, (1'h1b), (6'h7), w60, (-20'h13), (20'h1d), (-19'h17), (-12'hd), (18'h1c), (26'h12), w97, (-14'h0), (24'h10), (-6'h9), (-10'hd), (26'h15), w79, (-10'h10), w77, (10'h2)}, ((-14'h1) ? w63 : w87), w59, {w73, (-30'h16), w49, (-12'h1e), (22'h12), w50, (-16'hb), (-4'h8), w75, (8'h17), w97, w93, (-19'h13), w6, (4'hb), (-18'h1d), (-5'h17), (-8'h0), w71, (-3'h1), w64, (-28'h17), w80, w97, (9'he), w68, w71, (-28'hc)}, $signed((-17'h6)), $unsigned(w97), (w93 ? w1 : w70), $unsigned(w72), w77, {w84, (-23'ha), (24'h1b), w87, (-29'h8), (-8'h4), w10, w59, w76, (-20'h14), w96, (-10'h9), w2}, $unsigned(w86), (-9'h1d), ((3'h15) ? w94 : w53), (w90 - (-16'h15)), $unsigned((27'h7)), $unsigned((-4'h16)), $unsigned(w9), ((-27'h1b) ^ w98), (w9 >= w77), (+(29'h8)), ((-18'h1b) <<< w98), ((-12'h19) < w52)});
-assign w49 = {$signed((~^w4)), (-17'h1), {w73, w85, (14'h1), w62, (-15'h16), w73, w80, w95, (-31'h14), w57, (-4'h1c), w73, w77, w64, w79, w76, (17'h13)}, w73, w94, (!$signed(w83))};
-assign w50 = w73;
-assign w51 = (&w73);
-assign w52 = (|w82);
-assign w53 = (({w78, (14'h1c), w95, (-7'h18), (26'hd), w5, (32'h12), (9'h1d), (-10'h12), w65, (-22'h17), (-27'h17), (32'h11), (-8'h0), (8'h4), (-8'ha), (-11'hd), w97, (25'h6), (12'h3), w90, w76, w9} ? $unsigned(((-7'h15) ? (-21'h1a) : w91)) : w60) >> ((|(~^w74)) ? {(-9'h0), (26'h7), (26'h18), (17'h7), (-22'h5), (-18'h3)} : (w68 == (w4 ? w9 : (32'h18)))));
-assign w54 = (~^((({(-27'h13), w63, w6, (-4'hd), (20'h1e), (-20'hd), (-22'h16), (27'h7), (14'h13), (-21'hc), w74, w100, (-5'h19), (-16'ha), (-31'h14), w96} <= (34'h19)) ? (&{w74, (29'h1b), (-17'h1a)}) : (w74 <<< (!(10'h1b)))) || w60));
-assign w55 = ({(-w85), $signed((17'h19)), {w4, (-19'h10), w63, w84, w79, (-24'h14), w67}} ? (2'h10) : {{(-25'h13), w79, w67, w3, w83, w85, w62, (30'h18), (-27'h1a), w1, w64, w60}, w83, (~&(21'h12)), (-14'h1b), {w76, w57, (-22'h1), w72}, ((26'h8) ^ (30'h13)), (w90 ? w65 : w89), (~^(20'h8)), ((3'h19) ? (-27'h3) : w63), {w89, (15'h16), w100, w5, w93, (29'h18), (16'h7), (-30'h1b), (-1'h1e), (-18'h10), (-9'h8), w7, (18'h7), (7'h16), w98, w67, w99, (-1'h19), (22'h7), w68}, ((29'h1a) != (-23'h0)), (+(23'h4)), w61, (w84 == (-3'h2)), (w66 != (20'h1d)), (w72 === w84)});
-assign w56 = $unsigned({((15'hd) ~^ (23'h4)), {(-10'h17), (24'h11), (9'h3), (12'h9), (7'ha), (20'h1b), w80, w83, w66, w71, (16'he)}, (-w69), ((6'hf) ? (11'hc) : (-2'h5)), $unsigned((13'h14)), ((-27'h13) ? w92 : (26'hb)), (10'he), (12'h16), (-12'hb), (8'h1a), (-29'h1c), (-(5'h2)), (w99 + w59), $unsigned((-8'ha)), (^w70), (17'h19), (+w8), w97, (-8'h1d), (-w88), $signed(w85), {(-9'h10), (30'h1c), (5'h16), w83, (1'h7), (14'h11), (5'h2), (-10'h3), (-21'h17), w83, w64, w99, w80, (3'h11), (22'h17), (-28'h13), w70, (21'h1b), w80}, {(23'h1d), w87, (16'h11)}});
-assign w57 = (12'h7);
-assign w58 = {((w65 ? (-13'h12) : w66) ? (w79 ? (8'h1) : (-4'h5)) : ((-26'h15) ? (28'h6) : w83)), (27'h1c), (17'h10), (((-22'h13) + w61) ? ((8'h15) ? (-3'h1c) : w90) : w4)};
-assign w59 = (~&($signed(((w9 != w85) >> (-19'h12))) & $unsigned($unsigned((-w80)))));
-assign w60 = {(29'h15), ((-20'h3) ? (6'h14) : $unsigned((-27'he))), ({w65, (27'h12), w99, w91, (23'h1b), w90, (26'h10), w94, (-14'h1a), (-14'hb), w77, (-8'h1c), w69, w99, (-6'h2)} ? $unsigned(w75) : w71), w98, (-30'hb), {(23'hd), w70, w65, (21'h9), (30'h3), w2, w70, w3, (-22'hb), (-4'h1e), (21'h1b), w68, w79, w90, w65, (1'h1c), (-25'h17), w67, w7, w89, (-22'h4), (18'h12), w67, (-14'hc), w1}, $unsigned((5'h13)), w78, (w7 ? ((17'h17) ? (-27'h4) : (-27'h18)) : w84), (-28'h17), (5'h16), $signed((~&(-18'hd))), ((w95 <= w86) <= {w95, (29'h1c), w93, w93, (-19'h4), (-28'h13), (-7'h16)}), ({(-6'hb), (-7'h15), w75, w91, (-7'hb), (-16'hb), (-9'h6), (-21'h0), w8, w2, (5'h1c), w92, (6'h6), (24'h17), w64, (18'h1d), w65, w4, w77, w65, (24'h1d), w72, (-8'h1b), w8, (2'h16), (2'h6), (-6'h17), (-3'h0), (-15'h1d), w79} ? (!w6) : ((1'h3) ? w97 : (-4'hd))), (-6'h8), (~&w6), w83, (18'h2), w2, (+{(-14'h14), w82, (25'hb), w68, (-20'h19), w5, w10, (17'hd), w72, (-4'h3), (9'h10), (-24'h16), (5'h10), (10'h18), (9'h19), (4'h13), w88, (-16'h17), w4, w2, w9}), (31'h19), w90, (-16'h16), $signed(((-9'h1b) ? w99 : w5))};
-assign w61 = ($signed({(-11'h1d), (22'h4), w67, (1'h8), (-15'h10), (24'he), (17'h2), w73, w2}) ? ({(-24'h1e), w84, w88, w85, w80, w71} ? w94 : w62) : ({w81, w5, (23'h2), (-8'h13), (25'h1c), (-19'h1a), (3'hb), (-11'h1e), (8'h4), (-1'h1a), w7, (30'h14), (-10'h12), w80, (12'h17), w74, (5'h16)} ? ({w86, (13'hd), (24'h19), (21'h14), (-33'h1d), (26'hd), w2, (12'h10), (29'h4), w84, (-17'h17), w7, w63, w99, w91, w85, w90, w93, w69, (-30'h3), (3'h6), w94, (20'h7), w79, w73, w83, w97, (-2'ha), (9'h4), w8} ? {(5'h2), (20'h1e), (17'h14), (-9'h7), (24'h8), w64, (-5'h8), (6'h5), (12'h1e), w77, (31'h8), (-7'hc), (-6'h12), (24'h1e), (6'hd), w5, w83, (3'h2), (-12'h8), (-4'ha), (-4'h1e), (28'h10), w3, (-18'h13), (14'h13), (-7'he), w69} : (w87 | w2)) : (-28'h5)));
-assign w62 = {(((4'hd) || (-27'hc)) ? ((11'h12) ? (22'h1a) : w6) : (22'h1a)), (^((-16'h2) << w1)), w91, (-20'he), (29'h5), (w73 <<< w3), (7'h1e), {(-11'h12), (8'h1), (11'h13), (20'h12), (29'h7)}, {(-21'h0), (3'h1c), (-10'hd), w87, (-5'h12), (-2'h16), w64, (31'ha)}, w98, (((30'h16) + w76) >> w93), (w97 ^ (w64 <<< w73)), ($signed((-1'hf)) << (w63 != w81)), ((&(12'he)) ? (w3 < w80) : (w77 <<< w72)), ((!(25'hb)) ^~ (^(-10'h12))), ((~|w86) ? w68 : w75), w71, w72, {w67, w72, (-8'h10), (21'h1b)}, (-{w8, w87, w86, w93, (18'h1)}), ((6'h19) - ((-20'h6) ? w65 : (-4'h19))), w83, w75, w77, ({(26'h17), w82, (1'h7), (18'h14), (-10'h5), w91} != $signed((-27'h17))), ((w95 >= w2) & w8), (^(2'ha)), (26'hd)};
-assign w63 = (-27'hc);
-assign w64 = $unsigned({(16'h8), (^w9), w99, (!w67), (-31'h14), ((22'hc) ? (-27'h13) : (26'h6)), {w91, w67, w98, w90, (3'h12), (11'he), (2'h3), (-30'h9), w68, (15'h5), (4'h14), w3, (19'h16), w6, (-26'hb), (-12'h1a), (28'h17), (26'h14), (29'h9), w66}, (28'h1e), (~|w87)});
-assign w65 = {((w83 ? w10 : w68) && w93), ({(21'hc), w6, w89, (17'ha), w71, (23'hf), (16'h14), (-20'h1b)} >= ((-3'ha) ? (-5'h16) : (-5'h1d))), (8'h3), ((~^w10) && w92), $signed((w82 ? w8 : (7'hc))), {w79, (-24'hb), w93, w80, (-15'he), w94, w79, (13'h6), (9'hf), w66, w82, w83, w89, w96, w88, (4'h6), (29'h8), w94, w98, w77, (-33'h6), (-8'h3), w84, (6'h4), (-18'h1d), (-2'h6), (27'h1), w7}, {w85, (-7'h7), (19'hf), w84, (-21'h1c), (-6'h4), (-4'h6), (28'h17), w76, w79, (12'h17), (20'h1b), (24'h2), (9'h14), w71, w9, (24'h15), w1, (-30'hb), w10, (25'h3), (-26'h5), (-14'hb), w2, (30'h16), (-7'hc), (-7'h18)}, w88, ((-33'h5) >= (-1'h12)), $signed(w78), ((19'h12) ? {w87, w100, w98, (19'h8), (11'h4), (-15'h11), (-11'he), w5, w70, w68, (25'h1a), (24'h9), w77, w74, (4'h14), w10, w81, w2} : (w91 ? (26'hb) : w68)), (~&(+(-27'hf))), (31'h2), ((-w93) << (8'h15)), (!(|(30'ha))), $unsigned($unsigned((-22'h2))), w73, ((w74 - (-6'h15)) ^~ {(14'h1d), w93, (-4'h4)}), ((w93 ? (5'h1a) : w89) ? (^w84) : $unsigned(w9)), w81, {(-15'h12), w9, w77, (-23'h11), (-5'h1a), (-22'h1b), (-2'hc), w74}, ((|w89) ? {(-1'h0), (-31'hf), w83, w96, (-20'h14), (10'h1e), (8'hd), (-4'h3), (13'h18), (-20'h2), (-11'hb), w87, (-1'h5), w95, w88, w5, w4, w70, (12'h1a), w79, w91, w99, (-27'h0), (-4'h1c), w1, w79, (-31'h14), w97} : {(-6'h10), (-17'h0), (-19'h14), w98, w77, w1, (5'h14), (-32'h1d), w95, (-2'h19), w6, (15'hf), (-22'h4), (-24'h8), w7, (34'hf), (30'h13), (-14'h1d), (-7'h7), (-25'h4), w93, (-26'h1c), (-24'h13)}), (-7'he), (-17'hf), (7'he), $signed(w1)};
-assign w66 = (w74 ? w83 : (+(-23'h1b)));
-assign w67 = ((w92 || $unsigned(w4)) ? ((~&(w73 ? w92 : w93)) ^ (~&((-23'h3) - {w6, (9'h1c), w5, (16'h6), (14'h12), (22'h15), w3, (20'h19)}))) : (w7 ? w68 : w9));
-assign w68 = (20'h17);
-assign w69 = (-$unsigned((({w72, (-8'h12), w7, (11'he), w71, (-9'h19), (9'h10), (-7'h0), (7'h19), (27'h12)} ? w1 : $unsigned(w4)) >> (-$signed((22'h5))))));
-assign w70 = ($unsigned(w71) <<< ((-21'ha) ? {w77, w80, (14'hd), w86, (24'h7), w2, (10'h13), (24'h12), (-21'h1a), (-9'h14), (25'h5), w96} : ((w99 ? (-5'h5) : (26'h19)) ? w9 : $unsigned((2'h5)))));
-assign w71 = (-33'h5);
-assign w72 = (w75 <= (-28'h12));
-assign w73 = (-4'h12);
-assign w74 = ({{w82, w10, (25'ha), (15'h9), (-25'h16), (26'h2), (24'h16), (30'h2), w3, (-28'h1b), (-19'hc), (-27'h2), w77, w8, w82, w8, w6}, (&(25'h16)), {w96, w1, w75, w100, w89, (3'h1d), w3, (16'h15), (29'h11)}, (-5'h5), (-6'h12), $unsigned((-1'hb)), $signed(w90), w75, (w93 & w7), (w81 ? w87 : (-7'h14)), ((12'h18) ? w95 : (27'h19))} >>> w95);
-assign w75 = w95;
-assign w76 = w97;
-assign w77 = (~^$signed(w88));
-assign w78 = w5;
-assign w79 = w7;
-assign w80 = (+($unsigned(((19'h13) === (^~w97))) | (~&$unsigned($signed(w5)))));
-assign w81 = (~&(-27'h5));
-assign w82 = w95;
-assign w83 = (-16'h7);
-assign w84 = (w2 ^ ($unsigned(w92) ? (-15'h5) : $unsigned((10'h17))));
-assign w85 = $signed({(w10 && (7'h4)), {(-12'h2), w5, (-18'h6), w98, (-28'h1d), (30'hf), (-8'h16), w3, (9'h1c), w92, w5, (25'hb), w86, (-14'h5), w92, (12'hf), (7'h6), (27'hd), (16'h10), w3, (4'h1e)}, (w3 ? (22'h9) : (-20'h6)), (&w92), w6, $unsigned(w6), (w99 ? (8'h19) : (-26'h13))});
-assign w86 = (23'h2);
-assign w87 = (!((w5 ? w97 : $signed({w99, (27'h8), w100, w8, w96, (29'h1e), w4, (-8'h11), (20'hd), (-30'h8), w94, (-1'h1c), (21'h1e), w97, w3, (20'h6), w6})) <= (+(w10 ? w6 : (|(-11'h1d))))));
-assign w88 = {(-9'h1), w95, $unsigned($unsigned((-30'h5))), (+(29'h9)), (w1 ? (w97 || w1) : w96), ((w89 ? w4 : w91) ? (~&(-28'h5)) : (w8 >= w91)), ((~^(19'hf)) ? (+w9) : (-(3'h1e))), (~&{(29'h13), w91, (24'h12), w7, (10'h1c), (-27'he), (6'hc), w4, (-23'ha), (-4'h10), (-8'hb), w92, w3, w97, w96, (19'h16), w93, (-5'he), (15'h2), w92, (-30'h0), (30'h1e), w5}), (-11'h13), ((-21'h18) == ((11'h1b) < (24'h1)))};
-assign w89 = (1'h11);
-assign w90 = (w2 ? (((11'h15) ? w94 : (w10 - (-9'h13))) ? w10 : ((-24'h18) ? w8 : {(-4'hd), w1, (-6'he), (-21'h0), (-15'h5), (-17'h1e), w1, w5})) : ((-(w4 ? (19'h17) : (12'h3))) !== (-22'he)));
-assign w91 = (-22'hb);
-assign w92 = {$signed($signed((-16'h18))), ((~&(17'h19)) ~^ ((17'h16) >= w9)), (+(-15'h1d)), ((-2'h9) != $unsigned((11'h6)))};
-assign w93 = $unsigned($unsigned((~^$signed({w99, w98, (-12'h0), w1, (8'he), w7}))));
-assign w94 = (($signed($signed(w98)) ? ((-11'h17) ? (22'h11) : (w7 ~^ (27'h18))) : ((23'h1e) - ((~^(6'h1)) >>> $unsigned(w98)))) ^ $signed((20'h1c)));
-assign w95 = $unsigned(w97);
-assign w96 = {(((-6'h19) ? w9 : (-1'h4)) ? w10 : $signed((4'h3))), ((w9 ? w4 : w100) ? ((1'h1d) ? w1 : w98) : {(-25'hb), w97, (4'hf), w8, (-5'h15), w6, (-3'h12), w97, (-16'h1d), w4, (-15'he), w8, (-22'h1c), w3, (4'h1e), w99, (3'h7), (28'h15), w9, (4'hc), w10, (8'h1), (25'h4), (26'hb), (15'h13), w3, (-19'h3), w2, w100, w97}), (+(-18'h2)), (20'h11), (~|w6), {w3, (-18'h7), w10, w100, (1'hb), (6'h15), w6, w2, w3, (5'h16), w6, (15'h13), w100}, (23'hb), (13'ha), $signed((w5 && w98)), (-14'h2), $unsigned(((-5'h7) ? (24'h13) : (12'h7))), w100, $unsigned((~^w7)), w4};
-assign w97 = {(~^w8), {(2'h6), (20'hc), (-22'h3), w1, (-26'h1e), w4, w2, (4'h9), (28'ha), (-11'h16), (12'hb), w100, w2}, ((w99 || w5) ? $signed(w4) : ((5'h16) ? (-9'h8) : (30'h1c))), $signed((16'hd)), ((23'h11) - ((-9'h1d) ? w3 : (20'hb))), {(16'h5), w4, (2'hc), w5, (-12'h6), w99, (21'hb), w98, (-10'hf), w8, (15'h15), w3, w8, w8, w10, w10, (11'h2), w9, w10, (-6'h5), (10'h1e), w3, (-25'hb), (-5'h0), w1}, ((w6 * w3) * w7), ((w1 ? w100 : (17'h16)) + (w7 ? (-22'h14) : (-7'h6))), ((~&(21'hb)) > (6'h3)), ($unsigned((-26'h3)) ^~ (24'h3)), w7, {w6, (-26'h12), (20'h1e), (6'hd), w9}, w7, ({(-2'h17), (3'h11), w99} ? {(-22'h12), w6, w10, (-1'he), (21'h5), (-17'h15), (-6'h0), w99, (18'h4), w10, (29'h17), w100, (23'h1b), (16'h1), w3, (2'h17), w5, w8, w7, (-14'h11), w100, (5'h11), (7'h1d), w9, w9, (25'h18), (2'h18)} : (17'h5)), ((5'hd) ? $unsigned(w6) : {w7, (-1'h6), (10'h16), w99, w6, (1'h8), w7, (-5'hf), w3, (-31'hd), (9'h13), (-2'h4), w1, (-24'h3), w2, w99, (-16'h0), w99, (-24'h2), (-13'h4), w3, w4, (-16'h15), w99, (-18'h8), (12'h1c), (8'h3), (-1'hc), (-23'h10)}), (-15'ha), w7, ((-13'hd) ~^ (w6 == (-8'h16))), {w1, (-13'hb), (-18'h17), w2, (29'h1e), w3, w2, w8, w3, w99, (26'hc), w3, (31'h7), (4'h13), (13'h7), w99, (11'h8)}, (w98 ? (~&(-7'h8)) : (-19'hd)), (+(~^w98)), {w100, w98, w3, (7'h12), (-3'h15), w1, w98, w6, w3, w3, w99, w2, (19'h4), (16'h7), (28'he), (11'he), w1, w7, w7, w3, w6, (-16'h1c), (3'h16), (-30'h5), w8, (24'h19), (29'hf), (19'h11), w4}, {w1, w99, w4, w2, w6, w5, (-1'h14), w99, (1'h14), (-14'h1), (3'h9), w99, (-16'h1a), w100, w6, w3, (10'he), w99, (22'hd), w3, (-14'h3), w7, (-4'h1a), (-28'h9), w10, w1}, (|((-9'h1) || w2))};
-assign w98 = $unsigned({(5'h4), (w99 * w10), (w4 === w6), (^w5), {(-8'h3), (18'hb), (-15'hd), w6, (-1'h19), (15'h1d), w5, w2, (-7'hf), (29'hd), w5, (29'hf), (-26'h3), (23'he), w8, w8, (16'hc), (-3'h3), (19'h17), w9, (-15'h19), (7'h1e)}, (!w5), ((28'h8) ? (27'h18) : w100), (w1 - (-1'h18)), ((-21'hd) ? (29'h18) : w99), (w4 ^~ w7), (&(-19'h10)), $signed((-24'h19)), (w1 ? (-2'h5) : w10), {w7}, (!(5'he))});
-assign w99 = ((-10'h18) ? (|(&((30'h19) ? w8 : (30'h5)))) : (-22'h18));
-assign w100 = (-13'h1e);
-assign y = {w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, w29, w30, w31, w32, w33, w34, w35, w36, w37, w38, w39, w40, w41, w42, w43, w44, w45, w46, w47, w48, w49, w50, w51, w52, w53, w54, w55, w56, w57, w58, w59, w60, w61, w62, w63, w64, w65, w66, w67, w68, w69, w70, w71, w72, w73, w74, w75, w76, w77, w78, w79, w80, w81, w82, w83, w84, w85, w86, w87, w88, w89, w90, w91, w92, w93, w94, w95, w96, w97, w98, w99, w100};
-endmodule
diff --git a/bugs/xst_2_minimal.v b/bugs/xst_2_minimal.v
deleted file mode 100644
index 027cb92..0000000
--- a/bugs/xst_2_minimal.v
+++ /dev/null
@@ -1,16 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1288:0] y;
-input wire [17:0] w1;
-input wire [11:0] w2;
-input wire [24:0] w3;
-input wire [2:0] w4;
-input wire [26:0] w5;
-input wire [22:0] w6;
-input wire [2:0] w7;
-input wire [10:0] w8;
-input wire [23:0] w9;
-input wire [5:0] w10;
-wire [8:0] w95;
-assign w95 = ({(1'h0), (-(4'hf)), (1'h0), w7, (-(6'h1)), w8, (-(2'he)), (-(7'h3)), (20'h7), (16'h13), (1'h0), (1'h0), (1'h0), w8, (26'ha), (23'h9), w7, (1'h0), (-(13'h17)), w4, w5, w7, (8'h3), (33'h19)} ? $signed((~|w6)) : (1'h0));
-assign y = {w95};
-endmodule
diff --git a/bugs/xst_2_original.v b/bugs/xst_2_original.v
deleted file mode 100644
index 2f6f704..0000000
--- a/bugs/xst_2_original.v
+++ /dev/null
@@ -1,194 +0,0 @@
-module test_module(y, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10);
-output wire [1288:0] y;
-input wire [17:0] w1;
-input wire [11:0] w2;
-input wire [24:0] w3;
-input wire [2:0] w4;
-input wire [26:0] w5;
-input wire [22:0] w6;
-input wire [2:0] w7;
-input wire [10:0] w8;
-input wire [23:0] w9;
-input wire [5:0] w10;
-wire [4:0] w11;
-wire [22:0] w12;
-wire [7:0] w13;
-wire [3:0] w14;
-wire [25:0] w15;
-wire [11:0] w16;
-wire [7:0] w17;
-wire [16:0] w18;
-wire [10:0] w19;
-wire [11:0] w20;
-wire [13:0] w21;
-wire w22;
-wire [22:0] w23;
-wire [21:0] w24;
-wire [7:0] w25;
-wire [10:0] w26;
-wire [28:0] w27;
-wire [3:0] w28;
-wire [25:0] w29;
-wire [3:0] w30;
-wire [13:0] w31;
-wire [23:0] w32;
-wire [26:0] w33;
-wire [10:0] w34;
-wire [11:0] w35;
-wire [9:0] w36;
-wire [23:0] w37;
-wire [14:0] w38;
-wire [29:0] w39;
-wire [12:0] w40;
-wire [24:0] w41;
-wire w42;
-wire [15:0] w43;
-wire [6:0] w44;
-wire [5:0] w45;
-wire [17:0] w46;
-wire [16:0] w47;
-wire [3:0] w48;
-wire [8:0] w49;
-wire [9:0] w50;
-wire [14:0] w51;
-wire [5:0] w52;
-wire [9:0] w53;
-wire [2:0] w54;
-wire [24:0] w55;
-wire [13:0] w56;
-wire [12:0] w57;
-wire [29:0] w58;
-wire [5:0] w59;
-wire [10:0] w60;
-wire [9:0] w61;
-wire [24:0] w62;
-wire [15:0] w63;
-wire [29:0] w64;
-wire [7:0] w65;
-wire [15:0] w66;
-wire [4:0] w67;
-wire [11:0] w68;
-wire [12:0] w69;
-wire [16:0] w70;
-wire [2:0] w71;
-wire [3:0] w72;
-wire [6:0] w73;
-wire [10:0] w74;
-wire [26:0] w75;
-wire [21:0] w76;
-wire [28:0] w77;
-wire [23:0] w78;
-wire [13:0] w79;
-wire [5:0] w80;
-wire [28:0] w81;
-wire [4:0] w82;
-wire [7:0] w83;
-wire [29:0] w84;
-wire [5:0] w85;
-wire [24:0] w86;
-wire [3:0] w87;
-wire [13:0] w88;
-wire [15:0] w89;
-wire [13:0] w90;
-wire [4:0] w91;
-wire [28:0] w92;
-wire [7:0] w93;
-wire [22:0] w94;
-wire [8:0] w95;
-wire [6:0] w96;
-wire [8:0] w97;
-wire [26:0] w98;
-wire [9:0] w99;
-wire [19:0] w100;
-assign w11 = {(w60 ? ((-10'h1b) ~^ (-5'h18)) : (24'h15)), (^(w3 ? (-20'h4) : (-3'hd))), {w2}};
-assign w12 = (17'h1e);
-assign w13 = {(22'h14), $signed((w1 || w14)), (29'h16), (~&{(-6'hc), (25'hf), w67, w40, (-18'h18), (27'h16), w16, (20'h1), (28'h12), w47, (-16'h15), w9, w34, (-12'h15), (24'h1), (-16'ha), (-26'h7), w53, (14'hd), (18'h10), (-6'h0), (-24'h16), (-18'h17), (-15'h19), w14}), (((-3'h15) & w32) ? w54 : ((23'h1e) ? w91 : (17'h1a)))};
-assign w14 = ((($unsigned($signed(w78)) | (-29'h1b)) ? w22 : $signed(((-2'h13) ? w20 : w91))) - {(-19'h1), ((31'hd) >> w66), (w70 ? (-5'h1c) : (-16'h7)), w78});
-assign w15 = w81;
-assign w16 = {w82, {(25'h15), w96, (-13'hd), (6'hb)}, w50, $signed(w67), $signed({(22'h1d), (-5'h11), w64, w90, w91, w10, w32, w96, w30, (31'h1), (-2'h19), (25'h2), (13'h1b), w5, w70, w35, (-23'ha), w41, (29'h6), w91, w29}), (((-25'h11) ? w20 : w67) > (w21 << (-19'h13))), (&$unsigned((21'ha))), $signed(w69), (-10'h11), ($signed((12'h1c)) ? $signed(w90) : $unsigned((21'h13))), $unsigned(((29'hb) ? (-31'h17) : w51)), ((-16'h19) ? (|(24'hf)) : (~|(-2'h18))), (13'ha), {w93, (15'h1), (-3'h18), w19, w25, w50, (-26'h1b), w26, (11'h18), (32'h1), (13'hc), w45, w57, w52, w18, w17, (-4'h15), (-12'h2), (30'h1a), (5'hf), w7, w1, w71, w36, (-2'h15), (28'h9), (20'h1e), (22'h7)}, $unsigned((|(-6'h6))), ((5'h1c) != (-17'h8)), w96, (~^{(-10'h14), (-8'h19), w34, (27'h10), (8'h17), w21}), (|(w26 ? (22'h1d) : (-11'h5))), $unsigned(((-1'h18) ? w50 : (-2'h8))), ((-15'h1b) === (-29'he)), ((w70 >>> (21'hd)) - $unsigned((-23'h0))), {(22'h13), (-29'hf), w32, w72, w17, w34, (14'he), w79, (22'h6), (24'h10), (17'ha), (-3'h1e), (-19'hd), w21, (11'he), (-13'h1b), (18'h11), w83, w78, w97, (4'h11), (-6'h1b), (17'h8), (-17'h12), w7, w42}, (w53 - w86), (~|w6), {w5, (12'h6), w59, w54, (20'h1), (-8'h12), (11'h4), w100, w95, w96, (-8'h6), w28, (-17'h17), (-6'he), w48, (-29'he), w41, w53, (-21'h1e), (29'h3), (-21'h19), w75, w59, w54, w25}, (~|((-12'h1b) * w93)), {w62, w61, (2'h10), (-2'h0), w63, w58, (-3'h11), w57, (-9'hf), (12'hf), w94, (-10'h3), (2'h1c), (20'h1c), (21'h6), w72, w46, w85, (9'h1d), w1, (13'h3), w31}};
-assign w17 = (-26'h3);
-assign w18 = w48;
-assign w19 = (w92 ? ({(-28'h2), (-29'h18), (13'h4), (22'hf), (21'h16), (-15'he), w89, w88, w77, (-32'h1a), (6'hc), w20, (6'h16), (-8'h17), w45, w78, (-6'h7), (-31'h1a), (-8'he), w93, w59, w92, w32, w8, w50, (-9'h19)} === {(6'h4), w61, w68, w68, (12'h1a), w98, (-26'h1d), (16'h8), (-34'h19), w59, w54, (28'h1a), w98, (4'h9), (4'h16), w49, w54, w46, (17'hf), (28'h5), w1, (-26'h1a), w2, (19'h13), w38}) : w64);
-assign w20 = $signed({w21, (!(-17'hb)), $signed((12'h1)), (-w93), w94, (6'he), {(24'h6), w41, w53, (3'h1d), (23'h19), (4'h17), (22'h11), (-30'h11), w81, w70, w7, w27, w94}, $signed((5'h5)), (w3 || (29'h18)), (25'h18), w98, ((21'hc) * w43), $signed((18'h10)), ((6'h1e) || w58), {w87, (-30'h10), (25'h1a), (-15'ha), (24'h18), (23'he), (-2'hd), (14'he), w76, (25'he), w98, w30, (18'hf), (23'h16), w61, w78, w4, w73, (-28'h12), (-30'h1c), (-14'hb), w95, w80, w24, (30'hc), w25, w24, w77, (23'ha)}, ((21'he) | (22'hf)), ((-3'hb) && (10'h18)), $unsigned(w46)});
-assign w21 = (2'hd);
-assign w22 = {w65, w33, $signed(((-3'hb) + (21'h8))), {w54, (17'h2), w1, w3, w40, (24'h10), w93, (-8'h15)}, {(14'h12), w1, w94, w46, (-28'h18), w70, (-28'hd), (-1'h14)}, {(-11'h1d), (23'h13), (-9'h18), (12'h1), w25, (7'h16), (24'h3), w82, (21'h19), (-4'he), (10'hf), (7'h11), w70}, {(-22'hb), w94, w39, w3, w28, w73, (30'h5), (13'h1c), w89}, (2'h5), w68, (!w3), (((9'h9) ? w89 : w78) ? (w47 ? (-4'h0) : w53) : (-14'h9)), {(17'h1b), (16'h17), w55, (-27'h14), w40, w37, (17'h15), (-3'h11), (21'h1c), w83, w28, (-26'h2), w98, w54, (7'hf), w96, (-15'h5), (2'h5), w43, w29, (8'h2), w75}, w3, $signed(((-19'h14) ? w76 : w78)), (~|((7'h12) ? w89 : w9)), (|w69), $signed($signed(w3)), (|w62), ($signed((15'h12)) < {(16'h6), (-1'ha), (-21'h10), w57, (-2'h15), (-15'hc), w80, w99, w23, (16'h11)}), w4, (((26'h9) ? w51 : w92) && w44), ((w95 != (-16'h10)) ? (w99 * (13'h9)) : {(-9'h19), (29'h1), w35}), ((-10'h14) > w31), ((!(-20'h18)) && ((19'h19) ? (-15'h10) : w62)), w51, {(-14'hb), w28, (24'hf), w7, w26, (-14'h3), (-19'h13), w2, w31}, (w72 ? ((13'h10) >> (4'h8)) : (^~w47)), {(28'h19), w64, (-4'he)}, ((w99 - (19'h15)) < w1)};
-assign w23 = ({$signed(w45), {w70, (-21'h18), (7'h14), (17'h3), w41, (2'h8), (-2'h12), w52, w81, w26, w47, w45, w7, (-1'h0), w91, (-13'h12), w36, w76, w6, w2, w60, (20'h6), (-28'h3)}, (26'h8), ((-13'h18) <<< w78), (^(-30'ha))} != ({w61, w33, w68, w36, (14'h1a), (-20'h1a), (22'h17), w4, (-9'he), (6'h10), (-30'h1b), w69, (13'h4), (-3'h5), w9, w84, (-16'h10), (-29'he), (-5'h4), w74, (19'h1b), (-7'h0), (-27'he), w56, w53, w58, (6'h1e), w44} ? {(12'h7), (27'h17), w2, w89, w38, (-24'h1d), w46, w47, (-5'h0), w45, (8'h18), (22'h9), (-11'h16)} : $unsigned((^((7'h8) ? (-18'h15) : w71)))));
-assign w24 = {(w62 ? (-14'h5) : (26'ha)), (((-23'h5) ? w37 : (-10'h15)) || $unsigned(w1)), $unsigned({(24'hd), w82, w31, (24'ha), (-27'hf), (-27'h1d), (-23'h18), (-5'h1a), (-14'h1b), w55, (11'h1b), (-29'ha), (-2'h3), w63, w59}), (30'h18), {w28, (3'h18), w56, w99, w36, (2'h11)}, w92, (w53 ? w85 : w7), (((-17'h2) ? (2'h15) : w71) ? (w86 && w7) : (w10 ? (-13'h14) : w98)), (-24'h0), $signed((+w61)), {(-16'h9), w39, (-5'h1a)}, (+(-26'h1c)), (~&w32), (~|(w95 && (-7'h1d))), ((22'h1a) === (w27 ? w85 : (-25'he)))};
-assign w25 = {$unsigned((-17'ha)), (((13'he) * (-28'h16)) != w26), (&w29), {w52, w89, w41, w36, (-17'h1d), w10, w92, (1'hc), (9'h19)}, ((^(21'hf)) ~^ ((3'h10) ? w1 : (22'h2))), (~|(-5'h13)), w39, ({(24'h11), w69, (19'h13), (6'h4), w41, w82, (-5'he), w39, w96} || (w77 ? w46 : (11'h2))), {(13'h1e), (8'h1e), w48, (8'h6), w4, (30'h1d)}, w82, (~^{(24'hd), w36, (-29'h4), w92, w61, (25'h1b), w84}), $signed((-2'h8)), $signed({w92, (21'h1b), (-15'h1a), (27'hc), (-7'h13), (-19'hb), w67, w39, (22'h8), (-16'h1), (-30'h16), w79, (27'h9), w55, (-6'h2)}), (~^{w6, (-18'hf), w39, w75, (-26'h0), (17'hd), (-30'he), w87, w8, w42, w80, w62}), ({(17'h5), (29'h1c), (5'h15), w60, w44, w91, (-14'h11), w51, (2'h1d), w6, w61, w5, w76, w27, (-5'h4), (11'h2), (29'h19), (-1'ha), (29'h2), (-24'h1a), w26, w38, (-21'h1d), w68, (-8'h18), w57, w52, w29, (3'h10)} >> (w31 ? (4'h1d) : w32)), (^~(w4 ? (23'h1b) : w77)), ({(-29'he), w79, (-2'h1e), w72, (25'h19), (-16'h5), w68, w53, (-18'h11), w63, w98, w79, (28'he), w79, w90, (25'h8), (9'h16), (13'h5), w65, (-6'hb), (-4'h11), (18'h12), (-8'h1d), (-26'h1e)} ? ((-9'h1) ? (20'h5) : w89) : (!w97)), ((~|(20'h1e)) ? (9'h11) : w96), (4'h2), (-14'h12), ((&(-15'hc)) ? $unsigned((-18'h10)) : (w2 ? w76 : (22'h1))), $unsigned(((-6'h2) ? (-12'h14) : w31))};
-assign w26 = ((!w7) ^ $signed(w36));
-assign w27 = $signed((-7'h5));
-assign w28 = ($unsigned((21'ha)) < (-9'ha));
-assign w29 = (-21'h17);
-assign w30 = (({w68, (26'h1c), w63, (-18'h17), w55, w61, w42, (-22'h0), (-7'h10), (3'h16), w65, (-22'h12), (-19'hc), w63, w80, (20'h9), w98, (3'h1a), w80, (16'h1e), w70, w56} & (-27'ha)) ? (-28'h1e) : (($unsigned((10'hd)) ? w74 : w99) ^ (^((29'h1c) ? w67 : w10))));
-assign w31 = {(-8'hd), $unsigned((w86 ? w77 : (26'hc))), {w67, (-16'h7), w92, w89, (4'h1a), (-7'ha), (29'h7), (-9'h6), w59, (24'h7), w37, w1, w68, (14'hb), (26'h15), (-7'h7)}, (~|((3'h1b) || w96)), (!$signed((-22'h14))), (!(|(-13'h7))), ((~^(-21'h8)) ? (w63 & (24'h2)) : {(-9'he), w52, w86, (-24'h1c), w73, w47, w77, (-10'h18), (5'h10), (10'he), w79, w33, w85, w48, w3, (-21'h5), w60, w36, (-11'h15)}), ((27'h1c) ? $signed(w39) : w66), {(5'hc), w86, w84, w45, w45, w64, w37, w70, w65, (4'hf), (-25'h9)}, {w5, (26'h2)}, ((-5'h18) ? (^~(-1'h12)) : (w38 ? (27'h3) : w51)), w56, {w1, (6'h8), w77, (20'h12), (-14'h6), w100}, (~|((8'h1d) | w99)), w47, w2, {w67, (26'h4), (-3'h3), (8'h7), w48}, w91, w68, (&w8), {(-23'h0), (-7'h0), (-32'hc), w36, w7, (-10'h1d), w92, (-18'h15), (6'h1e), (-29'h1c), w97, w40, (33'hd), w91, w46, (31'hb), w99, (-2'hc), w3, w49, w99, (-7'ha), (-4'he), w80, (12'h1e), w43}, w62, $unsigned({w33, w92, w32, (1'h1c), (-25'h1e), (-16'hf), (15'h13), w74, w44, (18'h13), (24'h16), w10, (24'h8), w33, (7'ha)}), (13'h7), {w10, w64, w10, w70, (10'h1e), (6'h2), (29'h18), w83, w44, w2, w78, w63, (30'h8), w44, w73}};
-assign w32 = {({w81, (28'hd), (3'h19), w94, (-6'hf), w33, (1'h19), w54} ? ((-3'h1c) >= (3'h1a)) : (-27'h1)), (~|$unsigned((14'h6))), w60, {(22'hc), w64, (-29'ha), w47, (-12'h1a), (-8'h1e), (14'h11), w39, w34, w1, (-20'h3), w74, (-11'h1a), w82, w95, (17'h10), w70, (-17'h0), (-19'h11), (14'h12), (-11'h1d), w2, (10'ha), w66, (26'h1b), w97}, (^{(15'h5), (5'h17), (-33'h1b), w94, w10, w83, (-13'h1c), w5, (-25'hf)}), (~|(w41 * w6)), w4, $signed($signed(w1)), (^(27'h10)), {w62, (22'h19), (-8'h1c), w62, (19'hc)}, {(-17'h4), w8, (17'h17), w40, w65, (-12'h12), (27'he), (15'h10), w40, (-25'h9), w2, w8, w96, w83, w38, w33, w82, (-4'h17), (18'h4), w57, w72, w2, (17'hd), w88, (-2'h15)}, (-27'h1e), (((3'h2) ? w59 : (12'h15)) ? w88 : (22'h15)), {w65, (-26'h15), (-6'h12), (8'hb), (6'h15), (-7'ha), w46, w84, (13'h4), w93, w51, w63, w89, w85, (3'h1d), w37, w47, w86, (-14'h0), (3'h5), (-31'h4), (13'h12), w43, w43, (-2'h4), (29'h16), w98}, ((~|(-12'h4)) ? (|(7'h11)) : (+(-30'h6))), w39, {(-9'h11), (-17'h1), w33, (22'h19), w39, w53, w59, (5'h19), w57, w8, (-3'h12), w94, (-15'h4), (-7'h8), (11'h7), (9'hf), w83, (31'h6), w4, (5'h1a), (-4'hb), (6'hd), (-2'h1c)}, (~&((6'h1a) >>> w5)), (w83 ? ((-9'ha) == (4'he)) : (w41 ^ w56)), w33, $unsigned((!w89)), (19'h4), (-4'h15), w5, ((w66 ? (-27'h14) : w60) * {(3'h1b), (20'hd), w58, w76, (-5'h3), (27'h6), (15'h18), (11'hb), (-26'h10), w78, (29'h16), w81, w51, (4'h1), w5, (-4'h18), (-11'h12)}), ((+w77) ? ((10'h1b) || (27'h12)) : (^w81)), ((20'hb) * ((17'ha) ? w100 : (-13'h1)))};
-assign w33 = ({(!(28'h17)), (18'h1d), ((-13'ha) ? (17'h12) : w76), (!(-13'h1c))} ? {{(8'h19), w4, (-18'hc), (-25'h7), w42, w64, (-15'h15), w81, (-12'h13), w68, (-27'h0), w51, (-16'h1e), w99, w64, w45, w91, w63, (32'h16), (-11'h13), (24'h7), w1, (12'h1)}, (16'h8), (27'ha), (|(6'h12)), {(19'hf), w79, (-3'h15), (-28'h1), w79, (-23'h4), (21'h1d)}, (+(13'h1c)), (+w4)} : {(w77 ? w90 : w44), (w60 + (18'h3)), ((12'h1e) ? w58 : (-12'h5)), w9, ((-26'hf) ^ w70), ((-27'ha) ? w37 : w7), (w55 < w38), ((15'ha) ? w9 : (-21'h16)), {(7'h13), w90, w7, (5'hb), (21'h6), w94, (-5'h6), (24'h18), (-19'hc), (18'h6), w92, (-22'h1c), w86, (16'h13), w71, w57, (-22'h18), (11'he), w2, w6, (20'h16), (29'h9), w100}, (w76 ? (-13'h1d) : (-10'h17)), {(8'h4), w41}, $unsigned(w76), (32'h7), (-12'h7), $signed(w2), (w38 ? (-2'h15) : (6'h17)), w88, ((22'h1e) === (20'h18)), $unsigned(w67), (-19'h1a), (11'h1), w66, w88, ((31'h18) ? w1 : (11'h17)), $unsigned(w96), (!w100), {(-22'h19), (9'h1d), w1, w66, w92, w8, (-27'h16), (11'h11), (12'h1e), (1'hd), w42, w41, (-28'h7), (16'h5), w7, w52}, $unsigned((27'h1d)), ((1'h4) >= w61), $signed((20'he))});
-assign w34 = w42;
-assign w35 = (&(((w42 ? (19'h1c) : (-31'he)) ? (~|(-2'h9)) : {w72, (-4'hc), w65, w73, w7, (21'hc), w87, w8, (-12'h16), w56, (-5'h4), w78, w42, (-19'ha), w8, w63, w5, w51, (-24'ha), (20'ha), (-18'h12), w70, w93, (10'hb), w7, w9, w97, (16'h4), (-15'h1), w36}) ? {(-25'h0), (-2'hf), w54, w89, (-25'h8), w68, (-31'h19), w52, (-19'h10), (-15'hf), (-17'h10), (23'h9), (-19'h13), w48, w37, w80, (-12'h4), w95, (-27'hb), (-24'h12), w71, w36, w52, w42, w48, (7'h10), (-2'h14)} : (8'h7)));
-assign w36 = w94;
-assign w37 = ((((w73 ? (-22'h12) : w47) ^ ((22'h7) ? w89 : w50)) * ((w88 ? (10'h6) : (-12'h14)) ? $unsigned(w100) : (-26'h16))) ? (^w80) : $unsigned((-24'h2)));
-assign w38 = $signed((~|(((w46 == w74) < ((-20'h1e) ? w44 : w62)) ^ (29'h13))));
-assign w39 = w91;
-assign w40 = {($unsigned((10'h10)) >= ((-12'h4) ? w42 : w75)), ((w76 ? w69 : (-18'hf)) - $unsigned((-8'h2))), ($unsigned(w58) >= $unsigned(w99)), $unsigned({(6'h1b)}), $signed((|(19'h4))), $signed((w81 !== w56)), (|(-7'he)), w72, $signed(w70), (^~w81), ($signed(w61) < (w95 ? (-28'h0) : w62)), (^~(w1 === (-3'h1a))), (+{(-14'h1c), w66, w4, (-8'h19), w48, (25'hd), (9'h2), w45, w52, (-17'h14), (-18'h1b), (-18'h11), w93, (17'hc)}), $unsigned((10'hd)), ({w46, w7, (-11'h18), (21'hc), (-28'h6), (-23'h1a), (-18'h13), (-19'h6), w78, (-25'h1), (8'ha), w49, (-9'h19), w60, (-23'hc)} ? (w58 ? (-28'h14) : (22'h12)) : (w87 <= (13'h4))), ((w44 != (-2'h17)) ? (-21'h4) : ((-7'h7) ^ w3)), (~&$unsigned((11'h17))), w47, (^(4'h15)), $unsigned((w90 ? w77 : (16'hd))), $signed((w84 ? (1'h1a) : (-7'hc))), ((-w63) ^~ w45), (((29'h10) | (14'h15)) ? (24'h11) : (^w49)), ({(-4'h15), (6'h1b), w46, (-29'hd), (-9'h1), w2, w60, w53, (29'h2), (-20'h4), (-4'h11), w66, (20'h15), w8, w60, (-30'h18), w78, (32'h11), (-1'hc), w57, (15'hb), (-5'he), (-5'h16), w89, (28'h12), w6, w59, w1, (-25'he), (11'hf)} ? (w95 ? w77 : (19'h1)) : $unsigned(w44)), w62, (w54 - (~&(-13'h1d))), $signed((|(-1'h7))), ({w45, (35'h1d), (2'h8), (13'h13), (27'h1c), (-27'h11), w80, w78, (25'ha), w92, (19'h14), w63, w94, w47, (-14'h1e), (-1'h1b), w94, w49, w5, (-5'h4), (-16'hc), w90, w76, w49, (26'h19), (-13'h19), (-23'h19), w47, w52, (-9'h5)} === w66), (8'h11), $signed(w54)};
-assign w41 = (w76 ? ((({w48, (-17'h0), (-10'h1c)} == (w53 != (23'h1b))) > (^~$unsigned(w93))) >= ((w74 || (31'h4)) ? (w64 ? w6 : (27'h8)) : (-16'h17))) : ({(-19'hf), w72, w79, (15'h12), w62, (-3'hd), w89, w70, w60, w77, w63, (-11'h1d), w63, w48, w74} ? {(-22'h16), (-14'h1e), w83, w8, (18'h19), (-23'h18), (26'h14), w97, w77, (23'h10), (23'h4), (-13'h1e), w95, w53, (3'h11), (-19'hc), (-3'h3), w44, (-5'hd), w69, (6'h14), (18'h6), (-30'hc), w96, (-15'h12), (-27'h1), (-19'hc), (-9'h12)} : {(13'h3), (24'h1a), (23'h1), (1'h4), w45, w50, (-34'h14), (24'h14), (-34'h1d), (7'h1c), (-18'h1d), w71, (-15'h7), (-16'hf), w45, (2'hd), w43, (13'h15), (11'h11), (-23'h0)}));
-assign w42 = ((|{(29'hf), (-33'ha), w90, (14'h19), (7'h1b), (12'h18), (23'h12), w75, (-14'h17), w7, (20'h1a), (-19'hb)}) != (~&(-1'h15)));
-assign w43 = (|($unsigned($signed((w1 ? (9'h7) : (-3'h19)))) << {(27'h2), w2, (-5'h16), w46, w2, w53, w7, w87, w68, w53}));
-assign w44 = $signed(w67);
-assign w45 = $unsigned((~^((~&(~&(-27'hc))) ? (w71 - {(27'h13), w72, w7, (24'h9), w61, w90, (-20'h7), w46, (-26'h15), w70, w87, (13'h1d), (14'h1a), w91, (-13'h5), w81, w1, w60, w62, (-27'hd), (6'h9), w57, (5'h18)}) : (-$unsigned((-22'h13))))));
-assign w46 = ($signed(((11'h9) ^~ $unsigned({w90, w69, w75, w54, w96, w87, (26'h19), (-32'h1), (5'hf), w47, (1'h6), w6, w66, w6, (-27'hb)}))) ? w64 : {(w10 > w71), ((6'h1d) >= w77), {w1, (-27'h2), w70, (23'h10), (30'h10), (22'h13), (-22'h11), (-16'hb), w47, w10, w62, w52, (-28'h14), (-18'h12), w80, w53, (10'h15), (8'h5), w52, (21'h6), (26'h3), (26'h10), w76, w10, w72, w59, (-10'h2), w90, w73}, w99, ((-23'h15) ? (-30'h3) : (-15'h3)), (11'h5), (w64 ? (-9'hb) : w63), (-28'h1d), $unsigned(w59), ((15'h1b) || w7), {w49, w90, (-4'h18), w5, w10, (1'h5), w80, w80, (13'h3), w96, (-4'h18), w98, w99, w73, (-4'h1d), (8'h8), w97, (18'hc), w70, (18'h3), (23'h3)}});
-assign w47 = (22'h9);
-assign w48 = {w95, (^~(21'h12)), (-23'h1d), (((-13'h12) ? w6 : w89) ? (w86 ? (24'h18) : (-5'h9)) : (28'h5)), ((w97 ~^ (33'hd)) ? ((24'ha) < w87) : (6'h1c)), {(-10'he), (-29'hf), (32'h11), (-20'hf), (-26'h11), w99, (-8'h1b), (19'h6), (-19'h1e), (20'h18), (26'h18), w85}, (-19'h19), w90, w86};
-assign w49 = (^{(8'h13), ((16'h8) < w85), (|(11'h1d)), ((31'h1e) ? w88 : (-30'h12)), (|(-22'h12)), (^w57), (w69 ? (21'h1c) : w58), (w96 << w64), $signed(w61), $signed((16'h19)), {(-8'h1), (-4'h8), w92, (-6'h7), (-22'h15), w78, (5'h16)}, (&(30'hc)), (w58 === w91), (~^(-11'h9)), (18'h5), w1, {(17'h1b), (-29'h18), (29'he), (-13'ha), (9'h1e), (-11'ha), (26'h2), w76, w96, w63, w73, w78, (-4'h0), (27'h18), w63, (14'h5), w77, w99, w82, w50, (-7'h1e), w80, (3'h10), w50, (7'h18)}, (8'h6), ((-4'h15) << w50), (w73 >= w65), (-29'h2), ((8'h9) ? w76 : w59), (-20'h11), {(-2'hf), w1, (11'ha), (19'h1b)}, (19'h19), $signed((8'h5)), (17'h1), $unsigned(w3), ((14'h1c) * w97)});
-assign w50 = (($signed({w98, w86, w56, w64, (-24'h5), w51, (-8'ha), (-4'h10), (-27'h9), (29'h13)}) <<< $unsigned({w61, (17'h12), (16'h1d), (2'h8), w80, (-30'hb), w84, w8, (-8'h16), (-13'hd), w83, w67, w61, (-28'h1), (8'h10), w100, w98, w83, (-27'h18), w63, w88, w71, w81, (24'he), (-3'h8), w76, (25'h7), (18'h1a), w9, (-2'hc)})) ~^ {(-w97), (&(-26'hd)), (w2 === (13'hb)), (~^(26'hd))});
-assign w51 = $unsigned($unsigned($unsigned((&$signed((-19'h13))))));
-assign w52 = {{w63, (27'h18), w99, (-24'h9), w71, (-18'h7), (5'h15), w3, w89, w85, (17'h13), (14'h16), w64, w78, (-6'he), (1'h9), w97, (30'h1e), w75, w55, (-14'h1), (-13'h1c), w72, (-25'h15), w77, (-2'h1d), w54, w78}, (20'h1), (-13'h6), ($signed((-30'h10)) ? (w80 >> w70) : {(-29'hf), (12'hf), (-16'h1), (25'hd), (34'h18), (11'h9), w73, (-29'h1), w81, (-17'h1a), (-29'h5), (-6'h0), (-10'h8), (-25'h1d), (12'h11), w3, (15'hc), (-8'h18), (-1'h11), w86, (-25'h19), w10, (-13'h18), (17'hc), (-21'h19), w91, w89, (-30'h7), (-17'h14), w55}), $signed((2'hd)), $unsigned(w74), $unsigned($signed((1'h6))), w71, ((-10'h9) ? (|w87) : (26'h8)), (-$signed(w65)), w60, w94, (16'h16), w79, ((27'h15) ? (w98 ^ (20'h14)) : w55), $signed(((17'h17) ? w55 : w71)), (-22'h9)};
-assign w53 = ($signed({(9'h2), w87, w6, w96, (22'hb), (-28'h1b), w69, (-23'h5), w59, w100, w95, (-26'h16), w95, (-12'h1c), (-20'hc)}) ? (-19'h1) : ((w95 ? $unsigned(w92) : w81) | $unsigned(((w78 & (-17'h1e)) !== {(-9'h17), w1, (15'h4), (-25'h3), w95, (-20'h1b), (9'hb), w81, w5, (29'h13), (-13'h8)}))));
-assign w54 = $unsigned(((-28'h7) ? (((22'hf) > (-7'h11)) ? w93 : (~&(-21'h18))) : {w59, (-16'h10), (-1'h5), w86, w62, w4, (10'h3), (-17'h16), w56, w96, (-17'h14), (-28'h8), (27'h19), (-29'h12), w56}));
-assign w55 = w85;
-assign w56 = ({(^w72), (~&(-27'h8)), (+(-22'h3)), (&w94), w69, (w96 ^~ (23'ha)), (~|w76), $signed((-10'h2)), (~|w2), ((-4'h1d) ? (30'h16) : w67), (-29'h4), $signed(w57), (w94 && (-24'h1)), ((-22'h7) <= (6'h18)), w92, w71} * $signed((((-21'h12) ? (-21'h15) : w5) ? (^(w75 ? w70 : w6)) : (12'h1c))));
-assign w57 = (-4'h14);
-assign w58 = (3'hd);
-assign w59 = $unsigned({(-11'hb), w8, (w76 ? w82 : (-29'h16)), w86, (w4 ^ w62), {(-22'h16), (-12'h9), w7, w81, (-17'h0), w81, (-1'h1e), w65, w67, w90, w10, w96, (-11'h19), (-7'hb), w93, (3'h8), w9}, ((26'h1b) ? (4'h1a) : (-30'ha)), ((-31'h10) >= (-18'h1b)), $signed(w82)});
-assign w60 = w77;
-assign w61 = ({w68, (^~w74), {w67, (19'h2), w3, (7'h9), (17'h5), (-22'h17), (13'hb), (-2'hb), w95, w72, (15'h2), w82, w65, (14'h12), (-18'he), (-10'h12), w71, w69, w82, (8'h11), w78, w98}, w96, $unsigned(w67), {w79, (13'h6), (22'h17), (-28'h17), w100, w70, (19'h1c), (12'h9), (15'h13), w82, (-14'h4), w85, (27'h9), (-8'h1c), w63, w10, (-19'h1d), w86, w93, (31'h7), (-23'h4), (34'h1), (5'h12), w63, w91, (10'hf), (30'h1c), w2, w64, (-5'h16)}, (w97 ? w81 : w3), {w91}, (w100 ? (-17'h6) : (7'h6)), ((-8'ha) ? (20'h2) : w7), {(-29'h4), w64}, (-(-10'h2)), {(-17'h1a), (-28'h1b), (-13'h5), (-26'h16), (-23'h1a), (-11'h1c), w10, (12'h1d), w10, (19'h17), (-22'h1a), w6, (15'ha), w4, w93, w81, w100, w100, (-16'h2), (12'h13), w75, w4, w77, (4'h1)}, {(-16'h8), w64, w74, w83, w87, w87, (24'h1d), (-18'h19), w83, w9, w97, (-12'h0), w75, w94, (-19'hb), w70, (1'h1a), w94, (30'h1b), (4'h2), (-32'hd), (5'h2), w2, w83, w68, w7, (31'h1a), w79, w65}, {(16'h5), (-1'h12), (-13'h4), w91, (-8'h0), (-18'h1e), w75, w74, w10, (3'h14), (-4'h19), w89, (-15'h7), (26'h8), w84}, ((-6'hc) ? (-5'h1b) : w5), $signed(w88), $signed((-3'ha)), (w84 + w90), {w87, w6, (-25'h1e), w5, (27'h3), w67, w70, (24'h11), (20'hc), (21'h15), w74}} ? w64 : {(w7 > w67)});
-assign w62 = {{(-23'h4), w91, (-15'h4)}, w98, ((|w75) << ((-6'hd) == (12'h1c))), (23'hb), ((16'hc) | $unsigned(w3)), w77, (w5 ? $unsigned((-5'h1d)) : (18'hf)), ((-w82) ? ((4'h1d) || w1) : ((6'ha) ^ (20'hf))), w8, (-17'h11), ({(-21'he), w96, w67, w79, (3'h11), w73, w70, w94, w6, w89, (-27'h1), (25'h14), w68, w7, w91, (-21'h19), w63, w63, w99, (18'h7), (-26'h1), w100} - (11'h1b)), (((-26'h14) * w7) * (w8 !== (-23'h14))), {w8, (-6'h1a), w84, w69, w64, w75, w91, w71, w88, (21'h16), (-30'h15), (14'h15), (26'hd), w86, (16'hb), w8, w80, (29'hb), w93, (15'h10), (27'h12), (3'ha), w10}, (((5'h4) && (-29'he)) + w10), (w63 < (-12'h1)), $signed({w79, (26'h13), w75, w7, w79, w71, (8'h1), w88, (24'h2), w86, w63, (-30'h1c)}), {(-15'h14), w6, w97, (-17'h1c), (-6'h5), w98, (12'h3), (23'h17), w73, w66, (17'h12), (-8'h3), (9'h17), (-15'h15), (8'he), w9, (-13'h0), (18'h6), (-17'hb), w83, (4'h19), (19'h1a), w83, (-6'h5), (8'h18)}, (^((-22'h18) ? w63 : (24'h1a))), ($signed(w68) ? w2 : {w73, (-16'h13), w78, w78, w82, w65, w84, w90, w66, w1, (-28'h1e), w100, (-27'h5), w77, (-8'h1d), (-12'h13), w99, w3, w3, w95, (29'h18), (-19'h3), w81}), (19'h2), {w88, w91, (2'h8), w65, w93, (23'h11), w2, (-22'h18), w87, w91, (-27'ha), w77, w71, (5'h1e), w70, (-3'h12), (9'hc), w86, (-11'h3), (28'h19), w9, w77, w70, (-18'h15), w72, w74}};
-assign w63 = {((|w65) ? (w8 * w77) : (8'h12)), (^(~^w8)), ((~&(21'h1e)) & $unsigned((-31'h6))), (13'h13), {(8'h8), w95, (14'h2), (10'h6), (25'h1a), w71, w94, w99, w88, w72}, (-3'h15), (w1 || (w94 ? (-5'h1) : (-13'h16))), ((-1'h8) * (^w72)), w78, $signed((~|w10)), (w94 !== $signed(w8)), w75, $unsigned((w6 ^~ (-10'h12))), (^~{w100, w10, (15'h16), (25'h8), (3'hd), w4, w96, (22'he), (9'h10), (3'h2), w99, (-12'h11)}), {w4, (-4'h1c), (11'h10), w74, w83}, w85, ((~|(-3'h7)) ? (16'h17) : {w86, w80, (18'h1), w75, w94, w7, (5'h7), (32'h15), w77, (-7'h9), (-30'h8), w88, (-6'h5), w66, w1, (-27'h9), w71, (29'h14), (14'h12), w98, w10, (20'he), (-16'h19), w83, w80, w74, w72, w9})};
-assign w64 = (w94 ? (w82 ? w67 : (-7'h9)) : (^~$signed((+((14'h16) ? w81 : (-13'h15))))));
-assign w65 = ($unsigned($unsigned({(13'h4), w79, (20'he), w91, (10'hb)})) ? {w72, ((19'h4) ? (25'h19) : (-22'h0)), ((-31'h6) ? (15'h9) : (21'h18)), ((-4'h17) ? (20'hb) : (6'h1e)), w7, {(-12'h18), (27'h1c), w86, (16'h18), w89, (-12'h0), w84, (-19'ha), (28'h13), (-19'h15), (-11'h17), (2'h1b), (-22'h7), w76, (15'h9), w88, (24'he), (16'h5), (-4'h1b), w71}, (-27'h1b), (^~w96), ((-12'h2) ? (24'h19) : w73), ((25'h2) ? w100 : w66), {w96, (-28'hd), w72, w98, w98, w3, (-7'h14), w66, w94, w80, (-17'hd), w95, (-26'he), (23'hc), w90, (-7'h18), (29'h11), w6, (30'h10), w72, w92, w3, w72}, ((-20'h1) ? w94 : w1), $signed(w77), {w2, w75, (9'h16)}, w84} : ((-22'h1d) << w84));
-assign w66 = (^~w96);
-assign w67 = (w6 + $unsigned((|({w76, w85, (-29'h5), (-18'h12), (4'h14), (23'h19), (1'h1e), w80, (18'hb), w1, (4'h3), w73, (-13'hc), (18'h1), w5, w100, (-6'h7), (-7'h13), w6, w74, w95, w79, w87, (28'h9), w83, (-4'h4)} >> $unsigned((-29'h1a))))));
-assign w68 = (~&$signed(w3));
-assign w69 = (~^(!($unsigned(w9) - w8)));
-assign w70 = w2;
-assign w71 = ((-26'h1a) ? $unsigned({(-15'h6), w98, w82, w86, w8, (8'h14), w88, w86, (11'h1b)}) : {(w8 ~^ w92)});
-assign w72 = {(27'h14), w10, (((-28'h11) <= (9'h16)) ~^ $unsigned((-5'h6))), (21'h13), ({(15'h9), w8, w80, (-28'h5)} & $unsigned((-2'h13))), (-$unsigned(w75)), ((w87 ? (-15'h2) : (-7'h1e)) ? $unsigned(w75) : $signed((-11'h9))), (~^w88), (14'h15), (!(-13'he)), {(5'h10), w85}, (~|w94), {(20'h15), w94, (-20'hb), w93, (7'h7), (28'h13), (-26'h10), (-16'h7), w80, (-17'hf), (21'he), (2'h13), w90, w97, w74, w87, w6, (-14'he), w95, (-20'ha), w76, w73, w8, w88}, (~&$unsigned(w98))};
-assign w73 = ((-4'hf) ? {(~&w3), $unsigned((-28'h17))} : (w8 << (8'h17)));
-assign w74 = (32'h1c);
-assign w75 = (~&w81);
-assign w76 = {(w92 * $signed((-17'h6))), ((w5 ? (24'h5) : w86) ? (~|w6) : w95), ((w91 <= w93) + (w6 ? w88 : (-10'h4))), ($unsigned((15'h5)) << {w2, (-14'h1c), (-9'hf), (-22'h3), w82, (9'h1), (-11'h1), (25'h14), w91, w79, w87, w97, (-26'h18), (23'h2), w92, w3, w1}), w83, ($signed((21'h3)) === {(-10'h11), (-2'h1c), w5, (11'h4), (-22'h11), w93, (-16'h5), (-1'h9), w90, (-13'h1), w86, w87, (12'h3), (-22'h8), (28'h18), (-28'h18), (-20'h14), w100}), (((-22'h11) >= w93) ? (-23'hd) : (-(23'h1))), $unsigned(w5), ({(5'h6), w81, w90, w83, (-30'h1e), w98, w85, (-18'h11), (-6'h2), w4, (-7'h14), w77, w88, (8'h1b), w90, w100, w1} ? ((-18'he) ? (-19'h7) : w91) : {(-28'h18), w94, (-7'h1), (16'h4), w3, (-8'h10), w7, w8, w5, (-18'h5), w94, w78, w10, (23'ha)}), (w80 >>> (-5'h12)), (&w2), {w7, w79, w86, w84, (-7'h11), w2, (-1'h10), w2, (25'h2), w99, (-13'h1b), w3, w100, w87, w86, w91}, ((w88 ? (-19'h4) : (-14'h3)) - w99), (14'h17), {(-10'h7), w85, w95, (2'h11), (-16'h9), (12'h7), w6, (16'h19)}, ((6'h1b) ^ (&(22'h16))), {(-3'h1), (-10'h9), (-5'h12), (-18'he), (27'h19), w96, w88, (8'h11), (-23'h0), w85, w4}, (~&{(-26'h1), w80, w99, (22'h8), (1'h10), (-24'h15), (-27'h1a), w88, (-19'he), w5, w80, w92, w85, (19'h9), (21'h4), w89, (-13'h10), (-28'h7), (-6'hf), (8'h19), (23'h11), (-3'h3), w87, w78, (17'h1d), w99, (4'h14)})};
-assign w77 = {$unsigned((~^w88)), (13'ha), ((w3 <<< w98) ? $unsigned(w96) : w1), (-10'h1e), $unsigned({w96, (-28'h8), (4'h1c), w8, (16'h1), (-9'h5), w97, w5, (-15'h1d), w99, (-15'h3), (17'h14), (-29'he), w4, (-26'h1), (18'ha), (31'h10), (-4'hf), (-29'hf), w86, w92, w89, w91}), (&{w83, (-5'hb), w95, w2, (-32'h19), (-15'h3), (-12'hd), w93, (4'h13)}), {(14'h18)}, (-27'h18), {w84, (-25'h13), (30'h18), w79, (-15'h13), (13'h16), (-23'hc), (-5'hc), (9'h5), (20'h14), w89, w100, w97, w4, w3, (-23'h16), w9, (-33'h3), (3'h3), (-12'h7), (18'h14), (-2'he), (-2'h0), w78, w80, w7, w99, w88, (-11'h19), (-30'h19)}, {(-23'h16), w91, (-1'h1b), (-24'hb), (-18'h10), (-32'h5), (24'h6), w87, (-10'h17), (23'h19), (-1'h3), (16'h13), w98, w83}, {w86, (12'h1c), w95, (14'h8), (-5'h19), (17'h1e)}, {w84, (-7'h3), (-20'h13), w91, w83, (20'h10), w78, (-26'h17), w81, (-1'h11), (-28'h19), (-9'h8), w100, w84, w83, (-12'h17), w85, w6, w100, (-4'he), (25'hd), (-16'he), (16'h18), (-25'h10), (-3'h18), w97}, ((w8 ? w8 : (-8'h9)) || $signed((-19'h4))), {(-1'he), (-23'h9), (-24'hd), w85, w4, w10, (18'h1a), w91, w3}, ((29'h1c) ~^ w86), {(-11'hc), (-7'ha), (26'h5), w83, (-23'h1e), (-25'h7), w82, w98, w98, w90, (-7'h7), w87, w94, w95, w1, w87, w79, w87, w81, (-23'h17), (13'h8), (-10'h0), (-30'h8), (26'ha), (-14'h1a), w98, w81, (23'hc)}, (~&((-30'h1c) ? w6 : w6)), ({w87, (22'hb)} ^~ (w5 ? w85 : (-17'h18))), (w79 !== w100), $unsigned(((1'ha) < (4'h16))), (((-12'h3) ? (-10'h19) : (21'h1c)) == ((30'h1d) ? (-17'he) : w6)), (((-19'h1b) ? w85 : w87) ^ (-29'h11)), ({w88, w90, w5, w2, w89, (-18'h1b), w92, (-27'h1), w6, (25'h1), w1, w85, w1, (-8'h15), (-28'hc), (-8'h0), w87, w92, w95, (-4'h6), (-30'hb)} ? {w81, w78, (11'h2), w8, w1, (1'h15), w8, w5, (5'h7), w100, w86, (-2'h10), w5, (-32'h7), w96, w98, w91, w2, w100, (21'h1e), (-29'h6), (16'hd), w3, w83} : (|w6)), {(-1'h14), (-17'h13), w80, w10, (-5'h7), (4'h16), w83}, {(21'h6), w99, (30'h13), w96, (6'h10), w88, w99, (-18'h12), (7'h11), (-6'h1d), w94, w80, w99, (-22'h11), w99, w84, w94, (16'h7), (7'h4), (-3'h5)}, (-(w87 ? w10 : w88)), ({w83, w6, w94, (-19'h19), (-21'h15), (-19'h0), w97, (-27'h19), (9'h5), (-4'h0), (22'h13), w99, (6'h11), (-26'hd), (23'h11), w9, (-6'h7), (-16'h1a), (22'h1b), (-12'h8), w89, (7'h1d), (33'h19), w94, (29'h1b), w1, (-2'h18), (10'he), (29'h19), (-28'h7)} ? ((-28'h1a) * (4'h8)) : {w85, w91, (-20'h12), (4'h1c), (-19'h3)})};
-assign w78 = (~&(^((18'h1) - ((-12'h2) ~^ {(-8'h1b), w82, (29'h13), w88, w5, (14'ha), w96, w93, (-21'h0), w3, (28'h3), w5, (23'hc), (-19'h7), w9, w10, (16'hb), (-8'h11), (25'h8), (15'h3), (3'h2)}))));
-assign w79 = ($signed((|{(-13'h1c), w93, (-10'h1b), (-24'h13), (4'h1c), (30'h1d), (4'h19), (-18'h6), w6, w92, w10, w4, (11'h2), (-7'h6), w90, w5})) ? (-15'h2) : (~^((-13'h18) <= ((-1'h1d) >= (w80 ? w2 : (-20'h1))))));
-assign w80 = ((-18'h3) ? ($signed((&(-2'he))) ? ((-14'hc) ? (^~(30'hc)) : (~|(-24'ha))) : ({(21'hf), w93, w7, w83, w88, (-4'h16), w89, (-25'h15), w96, w94} || w85)) : $unsigned($unsigned(($signed(w3) * (-w9)))));
-assign w81 = (-9'he);
-assign w82 = {$unsigned(w7), ((&w97) ? $signed(w86) : (w6 > w99)), $unsigned((-w6)), (+w84), w3, ((+(-14'h14)) ? ((-5'hf) ? w1 : w95) : ((-4'h14) === w92)), (!((-27'ha) ? (-10'h2) : (16'h4))), (((28'h1e) | w87) ? (w86 === (33'hd)) : ((3'h1c) & w7)), (((-19'h4) ? (-11'h14) : (15'hd)) ? {w9, (-25'hb), w90, w93, (-10'h7), (-5'h12), w86, w98, w95, (27'h1b), (-18'hc), w87, w5, (4'hf), w84, w6, (30'h1c), (27'h11), w88, w89, w88, (-3'h10), w4, (12'h19), (-21'hb)} : w83), (^~$unsigned((-8'h12))), {w96, w92, (25'h5), (-24'h6), w85, w87, (24'h2), (-27'h1d), w84, (28'h1b), w95, w9, w84, (27'h6), (-7'h1e), (-25'h8), w91, w3, w89, w97, (-16'h16), (-5'h8), (-30'h14), (-23'h10), w5, w88}};
-assign w83 = $unsigned({(-15'h1e), w96, (~&(6'hc)), {w84, (29'h17), w84, w97, w88, (-26'h1e), (29'h1e), (9'h19), (28'h1b), (25'h1b), (-5'h1b), w96, w86, (11'h1b), (22'h12), (26'h5), w93}, (16'h16), (-w1), {(6'h13), (28'h5)}, w2, w4, {w95, (-25'h1e), w3, (5'h9), w92, w94, w86, (4'h2), (11'h14), w7, w7, w3, (19'ha), (-26'he), w88, (17'h1e), (-11'h14), w2, w99, w6, (-23'h15), w85, (13'h14), w89, (4'hb), w4, (-16'ha), w90}, $signed(w94), (w98 >= (-13'hc)), (w91 ? w6 : w93), {w10, w9, (3'h11), w8, w92, (3'h10), (-12'h1c), w93, w94, (10'h1e), w4, (3'h18), (-2'h14), (-26'h6), w92, w8, (-4'h14), w84, w94, w90, (30'h7)}, ((-3'h8) ? (-12'h15) : (-6'h18)), (w100 ? (8'h3) : (23'h6)), $unsigned(w88), w8, ((3'h10) ? (23'h5) : (-17'he)), (20'h5), $signed((-26'h4)), {w94, w7, w99, (7'h10)}, {w85, w1, (-15'h1b), (8'h12), (-16'h7), w10, (17'h14), (-24'h10), w84, w88, w99, (-25'h19), (-20'h9), w98, w84, w99, (-16'h1b), w90, (3'h16), w7, (22'h16), (12'h3), w100, w100, (-5'h1a), (-6'h6), w3}, ((19'h1d) ? w6 : (32'h8)), (30'h1c), ((22'h1d) ^~ (26'h1c))});
-assign w84 = w92;
-assign w85 = w10;
-assign w86 = (8'hc);
-assign w87 = (^~$signed((({w100, w90, (23'h5), w6, (-4'h16), w92} ~^ {w88, w93, (2'h10), w90, (-3'h15), w3, w2, w95}) ? ((4'hc) === $unsigned(w6)) : w100)));
-assign w88 = {((-19'h1d) ? $unsigned((-16'h5)) : (-23'h9)), $unsigned({(14'h3), (4'hd), (-14'h1d), w95}), (!(-30'h14)), (-21'hb), (+(w1 ? w92 : w9)), (&(w96 - w5)), $signed(w2), ({w95, (-13'h1), (-29'h1d), (-18'ha), (12'he), w96, (2'h1c), (4'h15), w7, w10, w98, (5'h11), w4, w8, w95, (1'h6), w91, w6, w90, w96, w98, (23'h1)} && (w98 | w91)), {(7'he), w3, (9'h19), (-1'h8), (25'h18), w100, w4, (-20'h6)}, (~^(w10 ? (-7'h1c) : (-24'h15))), (-24'h18), $signed(w1), $signed(w91), (~&w10), ((-27'he) ? $unsigned(w89) : (13'h8)), w90, ((-20'h10) - (~&(-14'hd))), ((w92 >= w3) ? $unsigned(w94) : (^~(-12'h17))), $unsigned((w98 ? (-19'h5) : (11'h1c))), w92, w1, {w93, w2, (-29'h6), w89, (24'hf), w91}, (-18'hf), (-20'h12), {(30'hf), w1, w98, (-17'h0), w9, w98, (-14'h14), w5, w7, w100, w10}, $unsigned((^(4'h9)))};
-assign w89 = (~^$signed($signed((7'h9))));
-assign w90 = (w96 < {$signed(w1), {w4, w7, w8, (13'h10), (-13'hb), w95, w5, w91, (-6'h13), (-25'h1a), (30'h16)}, (w94 ? w98 : (14'h11)), (-(23'h1e)), w7, (^~(1'h16)), (w92 ? (1'h1b) : (8'h1d)), w96, (w1 ? (-20'he) : (-17'h16)), ((15'h3) ? (-24'h9) : (-8'h17)), w1, ((8'hf) != (-2'h1b)), ((-30'ha) ? (-21'h1) : (-2'h13)), w92, (!w8), (~^(-25'h9)), w6, (-7'ha), {w4, (-5'ha), w9, w96, w98, (4'h1a), w3, w8, w92, w98, w99, w99, (-2'h11), (20'he), w7, w10, w5, w97, w99, (-21'h1d), (-31'h6), w5, w5, (-10'h5), (-10'h8)}, (14'h13), {(-17'h7), w1, w93, (4'h8), w4, w8, (-15'h12), w94, (5'h1b), (-6'he), (14'hc), (-18'h13), w7, w97, (6'hb), (-24'h1b), w92, (6'h14), w6, (19'h5), (-5'h1e), (-28'h1), (28'hb), w98}, (~|(-16'hf)), ((-30'h2) & (19'hf)), $unsigned((21'h1d)), ((15'h6) ? (7'h4) : (30'h13)), $unsigned(w8), $unsigned(w6)});
-assign w91 = (^~{(-10'h4), w92, (-11'h5), {w4, w1, (30'h10), (-13'h11), (-17'h17), w98, w93, w4, (16'h7), w2, (-9'h6), (21'h1c), (-21'h3), w1, (31'h1b), (19'h5), (-12'ha), w7, (22'h13), (-27'h19), (10'ha), (-1'hc), (-25'h1d), (25'h12), w7}, (~^(3'h11)), ((24'h4) ? w8 : (18'h9)), (|(-24'h19)), ((-7'hb) ? w2 : w92), (25'h3), w100, w4, ((-9'h10) ? w9 : (-3'h1c)), {(-9'hb), w6, (8'h17), (-10'h1d), w96, (-11'h15), (31'h7), (-20'h1a), w100, (-20'h1d), w92}, (~^w100), (+(-15'h18)), (w98 << (28'h7)), (~|(-10'h1d)), (23'h3), (w4 ? (17'h15) : w2), w96, w1, w96, w98, (w99 ? (-8'h9) : (-13'h1b)), w2, (9'h16), (~&(14'h5)), ((3'h9) < w3), ((1'hd) !== w6)});
-assign w92 = (~&(~|w98));
-assign w93 = $unsigned($signed(((w4 < ((-21'h8) & (14'h14))) ? (23'hf) : $unsigned(w5))));
-assign w94 = ({{(32'h6), w1}, (~&w99), (w3 == (-15'h8)), ((-28'h17) ^ (6'h1)), (-6'h1), (w6 ? w4 : (-21'h10)), ((-9'h16) ? (25'h1d) : (-17'hd)), ((18'h1) > w97), (w4 > (6'h13)), (3'h8), (-17'h13), w96, w97, (^(-3'h4)), (^~w3), (6'h1a), {w1, w2, (-22'h19), w3, w9, w8, (12'h1), (26'h3), (8'h16), w8, (-21'h15), (9'h7), w95, w8, w100, (-15'h1e), (30'h14), w98, w10, w95, (-5'h3), w100, (12'h7), w95, w7, w4, (1'h5), (10'h3), w8, (27'h4)}, (w99 ? w96 : w100), (20'h10), (-12'h1c), w2, $signed((-9'h6)), (^~(32'h10)), ((-15'h8) & (-4'h5)), ((2'h6) ? w4 : w1), (-13'h4), w96} ? (&(-14'h1c)) : ((2'hb) | (~&(w2 ? w6 : (17'h16)))));
-assign w95 = $unsigned(({w99, (-4'hf), w96, w7, (-6'h1), w8, (-2'he), (-7'h3), (20'h7), (16'h13), w98, w100, w100, w8, (26'ha), (23'h9), w7, w97, (-13'h17), w4, w5, w7, (8'h3), (33'h19)} ? $signed((~|w6)) : w96));
-assign w96 = $signed({(|(-2'h5)), (^~w97), w98, (~&w3), (|w8), w4, (7'h14), {w5, (-13'h12), (4'h1d), w5, w6, (-31'h1a), w98, (30'h7), (-18'h1c), w5, w3, (-16'h1a), w1, w100, w3, w6, w3, (-30'h2), w8, (22'h1e), w98, (-24'h18), w4, w4, w7, w100, w10}, $signed(w9), {w8, w3, (10'h14), (31'h1e), w10, w100, (30'h12), (9'h7), w7, w10, (-6'h17), (-8'h0), (18'h4), (-18'h17), (-5'h1e), (6'h1), w9, w10, (28'h11), (18'h12), (-27'hb)}, ((-15'ha) ? w9 : w99), (w6 << w7), $signed((-23'h17)), (w2 * w3), (-w5), ((-1'h12) ^~ w97), (-(20'h1e))});
-assign w97 = {$signed($signed((23'hd))), w2, {w3, w10, (-18'h3), (-9'h18), w8, w9, (-26'h5), (-19'hb), (25'hb), w3, (-24'h7), w6, (31'h6), (16'h14), (-6'h7), w10, w10, w8, (-30'h0), (8'h10), (-6'h8), w7, (-18'h15), w98, (-15'h11)}, $unsigned((w9 ^~ (21'h1d))), ((^(-22'h15)) ^~ w2), (^(w10 ? w2 : w98)), (w5 ^ $unsigned(w6)), {w6, (28'hd), w100, w2, w98, w7, (2'h17), w9, (-32'hf), (-20'h19), w4}, ((w7 !== (-18'hf)) >> $signed(w6)), $signed((+w9)), {(36'h8), w99, w5, w10}, ((-18'h13) ? (w100 ? (-15'he) : (-20'h6)) : (~^(-24'h9))), {(-24'h11)}, ((-(-5'h14)) <= (~|(19'h19))), (19'h5), (-14'h10), ($signed((18'h6)) >>> ((13'h14) ? w6 : (-16'h10))), $unsigned(((18'h1e) != w8)), w10, (w1 === $signed(w4)), {w10, w1, w10, (-19'he), (-21'h0), (-5'h13), (3'h1c), w100, (24'hc), (-4'h0), (-28'h6)}, ({(24'hb), w7, (27'h7), (16'h19), w4, (-11'h13), (2'h1d), (-13'h10), (6'h10), w98, (-18'h16), w98, (-30'h5), (17'h10), w6, (-23'h11), w3, (-15'h6), (29'h1b), w3, w10, (3'h6), (3'h7), (15'h1b), w3, (-12'h6), w2, (-25'h1e)} ? $unsigned(w10) : {w3, w1}), {w8, w5, w2, w9, (-10'ha), w99, w98, (28'h1), w3, w3, w2, w6, (14'h3)}, (w4 ? (!w8) : ((-7'h1c) * w5))};
-assign w98 = (3'h3);
-assign w99 = (({(2'ha), w100, w3, (7'he), (22'h10), w5, w6, (16'h9), w9, w1, w1} !== $signed(({w6, w6, (-18'ha), w1, w7, (-1'h3), w6, w5, (16'h19), w100, (-4'h16)} && ((-16'h18) ? (16'h18) : (30'h1a))))) ? {(&(-18'h13)), (25'hb)} : ($signed($unsigned((7'ha))) ? w2 : (15'h18)));
-assign w100 = (~^(22'h11));
-assign y = {w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, w29, w30, w31, w32, w33, w34, w35, w36, w37, w38, w39, w40, w41, w42, w43, w44, w45, w46, w47, w48, w49, w50, w51, w52, w53, w54, w55, w56, w57, w58, w59, w60, w61, w62, w63, w64, w65, w66, w67, w68, w69, w70, w71, w72, w73, w74, w75, w76, w77, w78, w79, w80, w81, w82, w83, w84, w85, w86, w87, w88, w89, w90, w91, w92, w93, w94, w95, w96, w97, w98, w99, w100};
-endmodule
diff --git a/bugs/yosys_6.md b/bugs/yosys_6.md
new file mode 100644
index 0000000..619bb04
--- /dev/null
+++ b/bugs/yosys_6.md
@@ -0,0 +1,73 @@
+# Yosys aborts with exception in peephole optimizers pass
+
+[ [Issue 993](https://github.com/YosysHQ/yosys/issues/993) ]
+
+Yosys aborts with a `vector::_M_range_check` exception in the peephole optimizers pass (`PEEPOPT pass`). This happens with the verilog code below, which I have reduced as much as possible into an MCVE.
+
+```verilog
+module top(y, clk, wire1);
+ output wire [1:0] y;
+ input wire clk;
+ input wire [1:0] wire1;
+ reg [1:0] reg1 = 0;
+ reg [1:0] reg2 = 0;
+ always @(posedge clk) begin
+ reg1 <= wire1 == 1;
+ end
+ always @(posedge clk) begin
+ reg2 <= 1 >> reg1[1:1];
+ end
+ assign y = reg2;
+endmodule
+```
+
+## Steps to reproduce the issue
+
+Yosys version that this was tested with: `Yosys 0.8+411 (git sha1 70d0f389, clang 8.0.0 -fPIC -Os)`, which is the current master.
+
+The following command was used to synthesise the design:
+
+```
+yosys -p 'read -formal rtl.v; synth; write_verilog rtl_yosys.v'
+```
+
+## Expected behavior
+
+Synthesis without any exceptions.
+
+```
+=== top ===
+
+ Number of wires: 4
+ Number of wire bits: 8
+ Number of public wires: 4
+ Number of public wire bits: 8
+ Number of memories: 0
+ Number of memory bits: 0
+ Number of processes: 0
+ Number of cells: 1
+ $_ORNOT_ 1
+
+2.27. Executing CHECK pass (checking for obvious problems).
+checking module top..
+found and reported 0 problems.
+
+3. Executing Verilog backend.
+Dumping module `\top'.
+```
+
+## Actual behavior
+
+Yosys aborts with a `vector::_M_range_check` exception.
+
+```
+2.7. Executing WREDUCE pass (reducing word size of cells).
+Removed top 1 bits (of 2) from port B of cell top.$eq$rtl.v:7$2 ($eq).
+Removed cell top.$eq$rtl.v:7$2 ($eq).
+Removed top 30 bits (of 32) from port A of cell top.$shr$rtl.v:10$4 ($shr).
+
+2.8. Executing PEEPOPT pass (run peephole optimizers).
+terminate called after throwing an instance of 'std::out_of_range'
+ what(): vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 0)
+zsh: abort (core dumped) yosys -p 'read -formal rtl.v; synth; write_verilog rtl_yosys.v'
+```
diff --git a/bugs/yosys_7.md b/bugs/yosys_7.md
new file mode 100644
index 0000000..c37d9b5
--- /dev/null
+++ b/bugs/yosys_7.md
@@ -0,0 +1,78 @@
+# Initial value of register ignored during synthesis
+
+[ [Issue 997](https://github.com/YosysHQ/yosys/issues/997) ]
+
+## Steps to reproduce the issue
+
+Consider the following verilog code.
+
+```verilog
+module top (y, clk, wire4);
+ output wire [1:0] y;
+ input clk;
+ input signed wire4;
+ reg [1:0] reg10 = 0;
+ always @(posedge clk) begin
+ reg10 <= wire4;
+ end
+ assign y = reg10;
+endmodule
+```
+
+When synthesised using
+
+```
+yosys -p 'read -formal rtl.v; synth; write_verilog -noattr syn_yosys.v'
+```
+
+and Yosys version
+
+```
+Generated by Yosys 0.8+450 (git sha1 09467bb9, clang 8.0.0 -fPIC -Os)
+```
+
+the initial value of the register seems to be ignored. Therefore, during simulation, the bit is undefined at first, and only behaves correctly after the first clock cycle.
+
+This does not seem to happen with the official 0.8 release of Yosys. In that release, the expected behavior is generated.
+
+## Expected behavior
+
+It is expected that the register is initialised with 0. This was generated using the 0.8 release of Yosys.
+
+```verilog
+/* Generated by Yosys 0.8 (git sha1 b003446, clang 7.0.1 -march=x86-64 -mtune=generic -O2 -fno-plt -fPIC -Os) */
+
+module top_1(y, clk, wire4);
+ input clk;
+ wire [1:0] reg10;
+ input wire4;
+ output [1:0] y;
+ reg \reg10_reg[0] = 1'h0; // <-----
+ always @(posedge clk)
+ \reg10_reg[0] <= wire4;
+ assign reg10[0] = \reg10_reg[0] ;
+ assign reg10[1] = reg10[0];
+ assign y = { reg10[0], reg10[0] };
+endmodule
+```
+
+## Actual behavior
+
+However, it actually gets initialised with `1'hx`.
+
+```verilog
+/* Generated by Yosys 0.8+450 (git sha1 09467bb9, clang 8.0.0 -fPIC -Os) */
+
+module top_1(y, clk, wire4);
+ input clk;
+ wire [1:0] reg10;
+ input wire4;
+ output [1:0] y;
+ reg \reg10_reg[0] = 1'hx; // <-----
+ always @(posedge clk)
+ \reg10_reg[0] <= wire4;
+ assign reg10[0] = \reg10_reg[0] ;
+ assign reg10[1] = reg10[0];
+ assign y = { reg10[0], reg10[0] };
+endmodule
+```
diff --git a/bugs/yosys_8.md b/bugs/yosys_8.md
new file mode 100644
index 0000000..9840f34
--- /dev/null
+++ b/bugs/yosys_8.md
@@ -0,0 +1,49 @@
+# Synthesis issue with shift and multiplication
+
+[ [Issue 1047](https://github.com/YosysHQ/yosys/issues/1047) ]
+
+## Steps to reproduce the issue
+
+Consider the following Verilog code
+
+```verilog
+module top (y, w);
+ output y;
+ input [2:0] w;
+ assign y = 1'b1 >> (w * (3'b110));
+endmodule
+```
+
+Run with yosys version
+
+```text
+Generated by Yosys 0.8+498 (git sha1 92dde319, clang 8.0.0 -fPIC -Os)
+```
+
+and the following command
+
+```text
+yosys -p 'read -formal rtl.v; synth; write_verilog -noattr syn_yosys.v'
+```
+
+## Expected behavior
+
+When passing the input `3'b100`, I would expect the output to give `1'b1`, as `3'b100 * 3'b110 = 3'b000`.
+
+## Actual behavior
+
+The synthesised output is the following, which when given `3'b100` gives `1'b0` as output.
+
+```verilog
+module top(y, w);
+ wire _0_;
+ input [2:0] w;
+ output y;
+ assign _0_ = ~(w[1] | w[0]);
+ assign y = _0_ & ~(w[2]);
+endmodule
+```
+
+I have included a testbench with iverilog and SymbiYosys script that compares the RTL to the synthesised Verilog. To run everything, run `./run.sh`.
+
+[test_bug.zip](https://github.com/YosysHQ/yosys/files/3227136/test_bug.zip)
diff --git a/bugs/yosys_9.md b/bugs/yosys_9.md
new file mode 100644
index 0000000..cafdf86
--- /dev/null
+++ b/bugs/yosys_9.md
@@ -0,0 +1,78 @@
+# Unexpected behaviour of for loop and if statement
+
+[ [Issue 1243](https://github.com/YosysHQ/yosys/issues/1243) ]
+
+## Steps to reproduce the issue
+
+Consider the following piece of code:
+
+```verilog
+module top (y, clk, sel);
+ output wire y ;
+ input clk;
+ input sel;
+ reg reg_assign = (1'h0) ;
+ reg [1:0] reg_count = (1'h0) ;
+ assign y = reg_assign ;
+ always @(posedge clk)
+ if (sel)
+ for (reg_count = 0; reg_count < 2; reg_count = reg_count + 1'h1)
+ if (0);
+ else reg_assign <= 1;
+ else reg_assign <= 0;
+endmodule
+```
+
+First of all, the for loop in the code does seem a bit dodgy, however, I would still expect `reg_assign` to be set to 1 when `sel` is high. When `sel` is low, `reg_assign` should then be reset to 0.
+
+However, when synthesised with
+
+```
+Yosys 0.8+618 (git sha1 acd8bc0a, clang -fPIC -Os)
+```
+
+using
+
+```
+yosys -p "read_verilog rtl.v; synth; write_verilog -noattr synth.v"
+```
+
+`reg_assign` is set to a constant 0 instead of to what the value of `sel` is. Removing the dead if statement in the for loop results in the correct behaviour.
+
+I have also attached a folder containing a test bench and SymbiYosys script to compare the design to the synthesised net list.
+
+## Expected behaviour
+
+I would expect this to be implemented by assigning `sel` to `y`. This is actually also the output of a previous version of Yosys (`Yosys 0.8+508 (git sha1 c2ea3746, clang 8.0.0 -fPIC -Os)`)
+
+```verilog
+module top(y, clk, sel);
+ input clk;
+ wire reg_assign;
+ wire [1:0] reg_count;
+ input sel;
+ output y;
+ assign reg_assign = 1'h0;
+ assign reg_count = 2'h0;
+ assign y = sel;
+endmodule
+```
+
+## Actual behaviour
+
+However, with Yosys, `y` is set to a constant 0.
+
+```verilog
+module top(y, clk, sel);
+ input clk;
+ wire reg_assign;
+ wire [1:0] reg_count;
+ input sel;
+ output y;
+ assign reg_assign = 1'h0;
+ assign reg_count = 2'h0;
+ assign y = 1'h0;
+endmodule
+```
+
+[test.zip](https://github.com/YosysHQ/yosys/files/3457004/test.zip)