#! /usr/bin/vvp
:ivl_version "11.0 (stable)";
:ivl_delay_selection "TYPICAL";
:vpi_time_precision + 0;
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/system.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_sys.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi";
S_0x56b0c833a1c0 .scope module, "testbench" "testbench" 2 1;
 .timescale 0 0;
v0x56b0c8376f90 .array "board_mem", 255 0, 7 0;
v0x56b0c8377050_0 .var "clk", 0 0;
v0x56b0c83771a0_0 .var "col", 3 0;
v0x56b0c8377240_0 .net "display", 7 0, L_0x56b0c8352140;  1 drivers
v0x56b0c8377300_0 .var/i "num_cols", 31 0;
v0x56b0c83773c0_0 .var/i "num_rows", 31 0;
v0x56b0c83774a0_0 .var "reset", 0 0;
v0x56b0c83775d0_0 .var "row", 3 0;
v0x56b0c83776b0_0 .var "select", 0 0;
v0x56b0c8377800 .array "size_mem", 1 0, 15 0;
S_0x56b0c833a350 .scope module, "uut" "top" 2 18, 3 1 0, S_0x56b0c833a1c0;
 .timescale 0 0;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "reset";
    .port_info 2 /OUTPUT 8 "display";
L_0x56b0c8352140 .functor BUFZ 8, v0x56b0c8374300_0, C4<00000000>, C4<00000000>, C4<00000000>;
v0x56b0c8376670_0 .net "board_state", 7 0, v0x56b0c8374300_0;  1 drivers
v0x56b0c8376750_0 .net "bomb_count", 7 0, v0x56b0c8375580_0;  1 drivers
v0x56b0c8376810_0 .net "clk", 0 0, v0x56b0c8377050_0;  1 drivers
v0x56b0c83768e0_0 .net "clock_cycles", 31 0, v0x56b0c8376080_0;  1 drivers
v0x56b0c83769b0_0 .net "col", 3 0, v0x56b0c8376160_0;  1 drivers
v0x56b0c8376aa0_0 .net "current_board", 2047 0, v0x56b0c8374690_0;  1 drivers
v0x56b0c8376b40_0 .net "display", 7 0, L_0x56b0c8352140;  alias, 1 drivers
v0x56b0c8376c20_0 .net "open_count", 7 0, v0x56b0c8375870_0;  1 drivers
v0x56b0c8376ce0_0 .net "reset", 0 0, v0x56b0c83774a0_0;  1 drivers
v0x56b0c8376d80_0 .net "row", 3 0, v0x56b0c8376450_0;  1 drivers
v0x56b0c8376e20_0 .net "select", 0 0, v0x56b0c8376510_0;  1 drivers
S_0x56b0c833a4e0 .scope module, "u_board" "board" 3 18, 4 1 0, S_0x56b0c833a350;
 .timescale 0 0;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "reset";
    .port_info 2 /INPUT 4 "row";
    .port_info 3 /INPUT 4 "col";
    .port_info 4 /INPUT 1 "select";
    .port_info 5 /OUTPUT 8 "board_state";
    .port_info 6 /OUTPUT 2048 "current_board";
v0x56b0c8374160_0 .var "all_open", 0 0;
v0x56b0c8374240 .array "board", 0 255, 7 0;
v0x56b0c8374300_0 .var "board_state", 7 0;
v0x56b0c83743c0_0 .net "clk", 0 0, v0x56b0c8377050_0;  alias, 1 drivers
v0x56b0c8374480_0 .net "col", 3 0, v0x56b0c8376160_0;  alias, 1 drivers
v0x56b0c83745b0_0 .var/i "cols", 31 0;
v0x56b0c8374690_0 .var "current_board", 2047 0;
v0x56b0c8374770_0 .var/i "i", 31 0;
v0x56b0c8374850_0 .var/i "idx", 31 0;
v0x56b0c8374930_0 .var/i "j", 31 0;
v0x56b0c8374a10_0 .var "next_c", 3 0;
v0x56b0c8374af0_0 .var "next_r", 3 0;
v0x56b0c8374bd0_0 .net "reset", 0 0, v0x56b0c83774a0_0;  alias, 1 drivers
v0x56b0c8374c90_0 .net "row", 3 0, v0x56b0c8376450_0;  alias, 1 drivers
v0x56b0c8374d70_0 .var/i "rows", 31 0;
v0x56b0c8374e50_0 .net "select", 0 0, v0x56b0c8376510_0;  alias, 1 drivers
v0x56b0c8374f10 .array "temp_data", 0 1, 7 0;
v0x56b0c8374fd0_0 .var/i "x", 31 0;
v0x56b0c83750b0_0 .var/i "y", 31 0;
E_0x56b0c831fdc0 .event posedge, v0x56b0c8374bd0_0, v0x56b0c83743c0_0;
S_0x56b0c833f700 .scope begin, "$ivl_for_loop0" "$ivl_for_loop0" 4 120, 4 120 0, S_0x56b0c833a4e0;
 .timescale 0 0;
v0x56b0c8352260_0 .var/i "i", 31 0;
S_0x56b0c8373900 .scope begin, "$ivl_for_loop1" "$ivl_for_loop1" 4 168, 4 168 0, S_0x56b0c833a4e0;
 .timescale 0 0;
v0x56b0c8352300_0 .var/i "i", 31 0;
S_0x56b0c8373b40 .scope task, "open_cell" "open_cell" 4 45, 4 45 0, S_0x56b0c833a4e0;
 .timescale 0 0;
v0x56b0c8354500_0 .var "c", 3 0;
v0x56b0c83545a0_0 .var "r", 3 0;
TD_testbench.uut.u_board.open_cell ;
    %pushi/vec4 0, 0, 32;
    %load/vec4 v0x56b0c83545a0_0;
    %pad/u 32;
    %cmp/u;
    %flag_get/vec4 4;
    %flag_get/vec4 5;
    %or;
    %load/vec4 v0x56b0c83545a0_0;
    %pad/u 32;
    %load/vec4 v0x56b0c8374d70_0;
    %cmp/u;
    %flag_get/vec4 5;
    %and;
    %pushi/vec4 0, 0, 32;
    %load/vec4 v0x56b0c8354500_0;
    %pad/u 32;
    %cmp/u;
    %flag_get/vec4 4;
    %flag_get/vec4 5;
    %or;
    %and;
    %load/vec4 v0x56b0c8354500_0;
    %pad/u 32;
    %load/vec4 v0x56b0c83745b0_0;
    %cmp/u;
    %flag_get/vec4 5;
    %and;
    %flag_set/vec4 8;
    %jmp/0xz  T_0.0, 8;
    %load/vec4 v0x56b0c83545a0_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8354500_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 4, 4;
    %cmpi/e 0, 0, 4;
    %jmp/0xz  T_0.2, 4;
    %load/vec4 v0x56b0c83545a0_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8354500_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 0, 2;
    %cmpi/e 15, 0, 4;
    %jmp/0xz  T_0.4, 4;
    %vpi_call 4 57 "$display", "Boom! A bomb exploded at (%0d, %0d).", v0x56b0c83545a0_0, v0x56b0c8354500_0 {0 0 0};
T_0.4 ;
    %pushi/vec4 1, 0, 4;
    %load/vec4 v0x56b0c83545a0_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8354500_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %flag_mov 8, 4;
    %ix/load 5, 4, 0;
    %flag_set/imm 4, 0;
    %flag_or 4, 8;
    %store/vec4a v0x56b0c8374240, 4, 5;
    %load/vec4 v0x56b0c83545a0_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8354500_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 0, 2;
    %pad/u 8;
    %store/vec4 v0x56b0c8374300_0, 0, 8;
T_0.2 ;
T_0.0 ;
    %end;
S_0x56b0c8373da0 .scope task, "open_cell_recursive" "open_cell_recursive" 4 69, 4 69 0, S_0x56b0c833a4e0;
 .timescale 0 0;
v0x56b0c8373f80_0 .var "c", 3 0;
v0x56b0c8374080_0 .var "r", 3 0;
TD_testbench.uut.u_board.open_cell_recursive ;
    %pushi/vec4 0, 0, 32;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 32;
    %cmp/u;
    %flag_get/vec4 4;
    %flag_get/vec4 5;
    %or;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 32;
    %load/vec4 v0x56b0c8374d70_0;
    %cmp/u;
    %flag_get/vec4 5;
    %and;
    %pushi/vec4 0, 0, 32;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 32;
    %cmp/u;
    %flag_get/vec4 4;
    %flag_get/vec4 5;
    %or;
    %and;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 32;
    %load/vec4 v0x56b0c83745b0_0;
    %cmp/u;
    %flag_get/vec4 5;
    %and;
    %flag_set/vec4 8;
    %jmp/0xz  T_1.6, 8;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 4, 4;
    %cmpi/e 0, 0, 4;
    %jmp/0xz  T_1.8, 4;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 0, 2;
    %cmpi/e 15, 0, 4;
    %jmp/0xz  T_1.10, 4;
    %vpi_call 4 81 "$display", "Boom! A bomb exploded at (%0d, %0d).", v0x56b0c8374080_0, v0x56b0c8373f80_0 {0 0 0};
T_1.10 ;
    %pushi/vec4 1, 0, 4;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %flag_mov 8, 4;
    %ix/load 5, 4, 0;
    %flag_set/imm 4, 0;
    %flag_or 4, 8;
    %store/vec4a v0x56b0c8374240, 4, 5;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 0, 2;
    %pad/u 8;
    %store/vec4 v0x56b0c8374300_0, 0, 8;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 0, 2;
    %vpi_call 4 88 "$display", "open at :(%d, %d), 0x%h, At time %t", v0x56b0c8374080_0, v0x56b0c8373f80_0, S<0,vec4,u4>, $time {1 0 0};
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 0, 2;
    %cmpi/e 0, 0, 4;
    %jmp/0xz  T_1.12, 4;
    %pushi/vec4 4294967295, 0, 32;
    %store/vec4 v0x56b0c8374770_0, 0, 32;
T_1.14 ;
    %load/vec4 v0x56b0c8374770_0;
    %cmpi/s 1, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz T_1.15, 5;
    %pushi/vec4 4294967295, 0, 32;
    %store/vec4 v0x56b0c8374930_0, 0, 32;
T_1.16 ;
    %load/vec4 v0x56b0c8374930_0;
    %cmpi/s 1, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz T_1.17, 5;
    %pushi/vec4 0, 0, 32;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 32;
    %load/vec4 v0x56b0c8374770_0;
    %add;
    %cmp/u;
    %flag_get/vec4 4;
    %flag_get/vec4 5;
    %or;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 32;
    %load/vec4 v0x56b0c8374770_0;
    %add;
    %load/vec4 v0x56b0c8374d70_0;
    %cmp/u;
    %flag_get/vec4 5;
    %and;
    %pushi/vec4 0, 0, 32;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 32;
    %load/vec4 v0x56b0c8374930_0;
    %add;
    %cmp/u;
    %flag_get/vec4 4;
    %flag_get/vec4 5;
    %or;
    %and;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 32;
    %load/vec4 v0x56b0c8374930_0;
    %add;
    %load/vec4 v0x56b0c83745b0_0;
    %cmp/u;
    %flag_get/vec4 5;
    %and;
    %flag_set/vec4 8;
    %jmp/0xz  T_1.18, 8;
    %load/vec4 v0x56b0c8374080_0;
    %pad/u 32;
    %load/vec4 v0x56b0c8374770_0;
    %add;
    %pad/u 4;
    %store/vec4 v0x56b0c8374af0_0, 0, 4;
    %load/vec4 v0x56b0c8373f80_0;
    %pad/u 32;
    %load/vec4 v0x56b0c8374930_0;
    %add;
    %pad/u 4;
    %store/vec4 v0x56b0c8374a10_0, 0, 4;
    %load/vec4 v0x56b0c8374af0_0;
    %store/vec4 v0x56b0c83545a0_0, 0, 4;
    %load/vec4 v0x56b0c8374a10_0;
    %store/vec4 v0x56b0c8354500_0, 0, 4;
    %fork TD_testbench.uut.u_board.open_cell, S_0x56b0c8373b40;
    %join;
    %load/vec4 v0x56b0c8374af0_0;
    %pad/u 37;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/u 37;
    %mul;
    %load/vec4 v0x56b0c8374a10_0;
    %pad/u 37;
    %add;
    %ix/vec4 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 0, 2;
    %cmpi/e 0, 0, 4;
    %jmp/0xz  T_1.20, 4;
    %load/vec4 v0x56b0c8374af0_0;
    %store/vec4 v0x56b0c8374080_0, 0, 4;
    %load/vec4 v0x56b0c8374a10_0;
    %store/vec4 v0x56b0c8373f80_0, 0, 4;
    %fork TD_testbench.uut.u_board.open_cell_recursive, S_0x56b0c8373da0;
    %join;
T_1.20 ;
T_1.18 ;
    %load/vec4 v0x56b0c8374930_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8374930_0, 0, 32;
    %jmp T_1.16;
T_1.17 ;
    %load/vec4 v0x56b0c8374770_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8374770_0, 0, 32;
    %jmp T_1.14;
T_1.15 ;
T_1.12 ;
T_1.8 ;
T_1.6 ;
    %end;
S_0x56b0c8375270 .scope module, "u_counter" "counter" 3 41, 5 1 0, S_0x56b0c833a350;
 .timescale 0 0;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "reset";
    .port_info 2 /INPUT 2048 "current_board";
    .port_info 3 /INPUT 8 "board_state";
    .port_info 4 /OUTPUT 8 "open_count";
    .port_info 5 /OUTPUT 8 "bomb_count";
v0x56b0c83754c0_0 .net "board_state", 7 0, v0x56b0c8374300_0;  alias, 1 drivers
v0x56b0c8375580_0 .var "bomb_count", 7 0;
v0x56b0c8375640_0 .net "clk", 0 0, v0x56b0c8377050_0;  alias, 1 drivers
v0x56b0c83756e0_0 .net "current_board", 2047 0, v0x56b0c8374690_0;  alias, 1 drivers
v0x56b0c8375780_0 .var/i "i", 31 0;
v0x56b0c8375870_0 .var "open_count", 7 0;
v0x56b0c8375950_0 .net "reset", 0 0, v0x56b0c83774a0_0;  alias, 1 drivers
S_0x56b0c8375a90 .scope module, "u_solver" "solver" 3 29, 6 1 0, S_0x56b0c833a350;
 .timescale 0 0;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "reset";
    .port_info 2 /INPUT 2048 "current_board";
    .port_info 3 /INPUT 8 "board_state";
    .port_info 4 /OUTPUT 4 "row";
    .port_info 5 /OUTPUT 4 "col";
    .port_info 6 /OUTPUT 1 "select";
    .port_info 7 /OUTPUT 32 "clock_cycles";
v0x56b0c8375dc0_0 .net "board_state", 7 0, v0x56b0c8374300_0;  alias, 1 drivers
v0x56b0c8375ed0_0 .net "clk", 0 0, v0x56b0c8377050_0;  alias, 1 drivers
v0x56b0c8375fe0_0 .var "clock_counter", 31 0;
v0x56b0c8376080_0 .var "clock_cycles", 31 0;
v0x56b0c8376160_0 .var "col", 3 0;
v0x56b0c8376270_0 .net "current_board", 2047 0, v0x56b0c8374690_0;  alias, 1 drivers
v0x56b0c8376360_0 .net "reset", 0 0, v0x56b0c83774a0_0;  alias, 1 drivers
v0x56b0c8376450_0 .var "row", 3 0;
v0x56b0c8376510_0 .var "select", 0 0;
    .scope S_0x56b0c833a4e0;
T_2 ;
    %vpi_call 4 21 "$readmemh", "board_size.txt", v0x56b0c8374f10 {0 0 0};
    %ix/load 4, 0, 0;
    %flag_set/imm 4, 0;
    %load/vec4a v0x56b0c8374f10, 4;
    %pad/u 32;
    %store/vec4 v0x56b0c8374d70_0, 0, 32;
    %ix/load 4, 1, 0;
    %flag_set/imm 4, 0;
    %load/vec4a v0x56b0c8374f10, 4;
    %pad/u 32;
    %store/vec4 v0x56b0c83745b0_0, 0, 32;
    %vpi_call 4 26 "$readmemh", "board.txt", v0x56b0c8374240 {0 0 0};
    %vpi_call 4 29 "$display", "Initial Board State:" {0 0 0};
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x56b0c83750b0_0, 0, 32;
T_2.0 ;
    %load/vec4 v0x56b0c83750b0_0;
    %load/vec4 v0x56b0c8374d70_0;
    %cmp/s;
    %jmp/0xz T_2.1, 5;
    %vpi_call 4 31 "$write", "Row %0d: ", v0x56b0c83750b0_0 {0 0 0};
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x56b0c8374fd0_0, 0, 32;
T_2.2 ;
    %load/vec4 v0x56b0c8374fd0_0;
    %load/vec4 v0x56b0c83745b0_0;
    %cmp/s;
    %jmp/0xz T_2.3, 5;
    %load/vec4 v0x56b0c83750b0_0;
    %pad/s 65;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/s 65;
    %mul;
    %load/vec4 v0x56b0c8374fd0_0;
    %pad/s 65;
    %add;
    %ix/vec4/s 4;
    %load/vec4a v0x56b0c8374240, 4;
    %cmpi/e 15, 0, 8;
    %jmp/0xz  T_2.4, 4;
    %vpi_call 4 34 "$write", "F " {0 0 0};
    %jmp T_2.5;
T_2.4 ;
    %load/vec4 v0x56b0c83750b0_0;
    %pad/s 65;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/s 65;
    %mul;
    %load/vec4 v0x56b0c8374fd0_0;
    %pad/s 65;
    %add;
    %ix/vec4/s 4;
    %load/vec4a v0x56b0c8374240, 4;
    %vpi_call 4 36 "$write", "%0d ", S<0,vec4,u8> {1 0 0};
T_2.5 ;
    %load/vec4 v0x56b0c8374fd0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8374fd0_0, 0, 32;
    %jmp T_2.2;
T_2.3 ;
    %vpi_call 4 39 "$display", "\000" {0 0 0};
    %load/vec4 v0x56b0c83750b0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c83750b0_0, 0, 32;
    %jmp T_2.0;
T_2.1 ;
    %end;
    .thread T_2;
    .scope S_0x56b0c833a4e0;
T_3 ;
    %wait E_0x56b0c831fdc0;
    %load/vec4 v0x56b0c8374bd0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_3.0, 8;
    %fork t_1, S_0x56b0c833f700;
    %jmp t_0;
    .scope S_0x56b0c833f700;
t_1 ;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x56b0c8352260_0, 0, 32;
T_3.2 ;
    %load/vec4 v0x56b0c8352260_0;
    %load/vec4 v0x56b0c8374d70_0;
    %load/vec4 v0x56b0c83745b0_0;
    %mul;
    %cmp/s;
    %jmp/0xz T_3.3, 5;
    %pushi/vec4 0, 0, 4;
    %ix/getv/s 4, v0x56b0c8352260_0;
    %flag_mov 8, 4;
    %ix/load 5, 4, 0;
    %flag_set/imm 4, 0;
    %flag_or 4, 8;
    %store/vec4a v0x56b0c8374240, 4, 5;
    %load/vec4 v0x56b0c8352260_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8352260_0, 0, 32;
    %jmp T_3.2;
T_3.3 ;
    %end;
    .scope S_0x56b0c833a4e0;
t_0 %join;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x56b0c8374300_0, 0;
    %pushi/vec4 0, 0, 2048;
    %store/vec4 v0x56b0c8374690_0, 0, 2048;
    %jmp T_3.1;
T_3.0 ;
    %load/vec4 v0x56b0c8374e50_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_3.4, 8;
    %load/vec4 v0x56b0c8374c90_0;
    %store/vec4 v0x56b0c8374080_0, 0, 4;
    %load/vec4 v0x56b0c8374480_0;
    %store/vec4 v0x56b0c8373f80_0, 0, 4;
    %fork TD_testbench.uut.u_board.open_cell_recursive, S_0x56b0c8373da0;
    %join;
T_3.4 ;
T_3.1 ;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x56b0c8374770_0, 0, 32;
T_3.6 ;
    %load/vec4 v0x56b0c8374770_0;
    %load/vec4 v0x56b0c8374d70_0;
    %cmp/s;
    %jmp/0xz T_3.7, 5;
    %vpi_call 4 134 "$write", "Row %0d: ", v0x56b0c8374770_0 {0 0 0};
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x56b0c8374930_0, 0, 32;
T_3.8 ;
    %load/vec4 v0x56b0c8374930_0;
    %load/vec4 v0x56b0c83745b0_0;
    %cmp/s;
    %jmp/0xz T_3.9, 5;
    %load/vec4 v0x56b0c8374770_0;
    %load/vec4 v0x56b0c83745b0_0;
    %mul;
    %load/vec4 v0x56b0c8374930_0;
    %add;
    %store/vec4 v0x56b0c8374850_0, 0, 32;
    %load/vec4 v0x56b0c8374770_0;
    %pad/s 65;
    %load/vec4 v0x56b0c83745b0_0;
    %pad/s 65;
    %mul;
    %load/vec4 v0x56b0c8374930_0;
    %pad/s 65;
    %add;
    %ix/vec4/s 4;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 4, 4;
    %cmpi/e 1, 0, 4;
    %jmp/0xz  T_3.10, 4;
    %vpi_call 4 139 "$write", "%h ", &A<v0x56b0c8374240, v0x56b0c8374850_0 > {0 0 0};
    %ix/getv/s 4, v0x56b0c8374850_0;
    %load/vec4a v0x56b0c8374240, 4;
    %load/vec4 v0x56b0c8374850_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x56b0c8374690_0, 4, 8;
    %jmp T_3.11;
T_3.10 ;
    %vpi_call 4 142 "$write", "-- " {0 0 0};
T_3.11 ;
    %load/vec4 v0x56b0c8374930_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8374930_0, 0, 32;
    %jmp T_3.8;
T_3.9 ;
    %vpi_call 4 144 "$display", "\000" {0 0 0};
    %load/vec4 v0x56b0c8374770_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8374770_0, 0, 32;
    %jmp T_3.6;
T_3.7 ;
    %vpi_call 4 164 "$display", "\000" {0 0 0};
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0x56b0c8374160_0, 0, 1;
    %fork t_3, S_0x56b0c8373900;
    %jmp t_2;
    .scope S_0x56b0c8373900;
t_3 ;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x56b0c8352300_0, 0, 32;
T_3.12 ;
    %load/vec4 v0x56b0c8352300_0;
    %load/vec4 v0x56b0c8374d70_0;
    %load/vec4 v0x56b0c83745b0_0;
    %mul;
    %cmp/s;
    %jmp/0xz T_3.13, 5;
    %ix/getv/s 4, v0x56b0c8352300_0;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 0, 2;
    %pushi/vec4 15, 0, 4;
    %cmp/ne;
    %flag_get/vec4 4;
    %ix/getv/s 4, v0x56b0c8352300_0;
    %load/vec4a v0x56b0c8374240, 4;
    %parti/s 4, 4, 4;
    %pushi/vec4 1, 0, 4;
    %cmp/ne;
    %flag_get/vec4 4;
    %and;
    %flag_set/vec4 8;
    %jmp/0xz  T_3.14, 8;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x56b0c8374160_0, 0, 1;
T_3.14 ;
    %load/vec4 v0x56b0c8352300_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8352300_0, 0, 32;
    %jmp T_3.12;
T_3.13 ;
    %end;
    .scope S_0x56b0c833a4e0;
t_2 %join;
    %load/vec4 v0x56b0c8374160_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_3.16, 8;
    %vpi_call 4 175 "$display", " GAME CLEAR!!" {0 0 0};
    %vpi_call 4 176 "$finish" {0 0 0};
T_3.16 ;
    %jmp T_3;
    .thread T_3;
    .scope S_0x56b0c8375a90;
T_4 ;
    %wait E_0x56b0c831fdc0;
    %load/vec4 v0x56b0c8376360_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_4.0, 8;
    %pushi/vec4 0, 0, 4;
    %assign/vec4 v0x56b0c8376450_0, 0;
    %pushi/vec4 0, 0, 4;
    %assign/vec4 v0x56b0c8376160_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56b0c8376510_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x56b0c8376080_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x56b0c8375fe0_0, 0;
    %jmp T_4.1;
T_4.0 ;
    %load/vec4 v0x56b0c8375fe0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8375fe0_0, 0, 32;
    %load/vec4 v0x56b0c8376450_0;
    %pad/u 32;
    %addi 1, 0, 32;
    %pushi/vec4 3, 0, 32;
    %mod;
    %pad/u 4;
    %assign/vec4 v0x56b0c8376450_0, 0;
    %load/vec4 v0x56b0c8376160_0;
    %pad/u 32;
    %addi 1, 0, 32;
    %pushi/vec4 5, 0, 32;
    %mod;
    %pad/u 4;
    %assign/vec4 v0x56b0c8376160_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56b0c8376510_0, 0;
    %load/vec4 v0x56b0c8376510_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_4.2, 8;
    %load/vec4 v0x56b0c8375fe0_0;
    %assign/vec4 v0x56b0c8376080_0, 0;
    %vpi_call 6 32 "$display", "clock cycles : %d", v0x56b0c8376080_0 {0 0 0};
T_4.2 ;
T_4.1 ;
    %jmp T_4;
    .thread T_4;
    .scope S_0x56b0c8375270;
T_5 ;
    %wait E_0x56b0c831fdc0;
    %load/vec4 v0x56b0c8375950_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.0, 8;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x56b0c8375870_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x56b0c8375580_0, 0;
    %jmp T_5.1;
T_5.0 ;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x56b0c8375870_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x56b0c8375580_0, 0;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x56b0c8375780_0, 0, 32;
T_5.2 ;
    %load/vec4 v0x56b0c8375780_0;
    %cmpi/s 256, 0, 32;
    %jmp/0xz T_5.3, 5;
    %load/vec4 v0x56b0c83756e0_0;
    %load/vec4 v0x56b0c8375780_0;
    %muli 8, 0, 32;
    %part/s 8;
    %cmpi/ne 0, 0, 8;
    %jmp/0xz  T_5.4, 4;
    %load/vec4 v0x56b0c8375870_0;
    %addi 1, 0, 8;
    %store/vec4 v0x56b0c8375870_0, 0, 8;
T_5.4 ;
    %load/vec4 v0x56b0c83756e0_0;
    %load/vec4 v0x56b0c8375780_0;
    %muli 8, 0, 32;
    %part/s 8;
    %cmpi/e 31, 0, 8;
    %jmp/0xz  T_5.6, 4;
    %load/vec4 v0x56b0c8375580_0;
    %addi 1, 0, 8;
    %store/vec4 v0x56b0c8375580_0, 0, 8;
T_5.6 ;
    %load/vec4 v0x56b0c8375780_0;
    %addi 1, 0, 32;
    %store/vec4 v0x56b0c8375780_0, 0, 32;
    %jmp T_5.2;
T_5.3 ;
    %vpi_call 5 34 "$display", "Opened Cells: %d", v0x56b0c8375870_0 {0 0 0};
    %vpi_call 5 35 "$display", "Bomb Cells: %d", v0x56b0c8375580_0 {0 0 0};
T_5.1 ;
    %jmp T_5;
    .thread T_5;
    .scope S_0x56b0c833a1c0;
T_6 ;
    %delay 10, 0;
    %load/vec4 v0x56b0c8377050_0;
    %inv;
    %store/vec4 v0x56b0c8377050_0, 0, 1;
    %jmp T_6;
    .thread T_6;
    .scope S_0x56b0c833a1c0;
T_7 ;
    %vpi_call 2 30 "$dumpfile", "wave.vcd" {0 0 0};
    %vpi_call 2 31 "$dumpvars", 32'sb00000000000000000000000000000000, S_0x56b0c833a1c0 {0 0 0};
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x56b0c8377050_0, 0, 1;
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0x56b0c83774a0_0, 0, 1;
    %pushi/vec4 0, 0, 4;
    %store/vec4 v0x56b0c83775d0_0, 0, 4;
    %pushi/vec4 0, 0, 4;
    %store/vec4 v0x56b0c83771a0_0, 0, 4;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x56b0c83776b0_0, 0, 1;
    %vpi_call 2 40 "$readmemh", "board_size.txt", v0x56b0c8377800 {0 0 0};
    %ix/load 4, 0, 0;
    %flag_set/imm 4, 0;
    %load/vec4a v0x56b0c8377800, 4;
    %pad/u 32;
    %store/vec4 v0x56b0c83773c0_0, 0, 32;
    %ix/load 4, 1, 0;
    %flag_set/imm 4, 0;
    %load/vec4a v0x56b0c8377800, 4;
    %pad/u 32;
    %store/vec4 v0x56b0c8377300_0, 0, 32;
    %vpi_call 2 43 "$readmemh", "board.txt", v0x56b0c8376f90 {0 0 0};
    %delay 20, 0;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x56b0c83774a0_0, 0, 1;
    %delay 500, 0;
    %vpi_call 2 55 "$finish" {0 0 0};
    %end;
    .thread T_7;
# The file index is used to find the file name in the following table.
:file_names 7;
    "N/A";
    "<interactive>";
    "testbench.v";
    "top.v";
    "board.v";
    "counter.v";
    "solver.v";
