// This file is part of the SV-Benchmarks collection of verification tasks: // https://gitlab.com/sosy-lab/benchmarking/sv-benchmarks // // SPDX-FileCopyrightText: 2020 Aman Goel // SPDX-FileCopyrightText: 2022 The SV-Benchmarks Community // // SPDX-License-Identifier: GPL-3.0-or-later // This C program is converted from Btor2 by Btor2C version sha1:a0fa249 // with arguments: { architecture=64, lazy_modulo=true, use_memmove=false, unroll_inner_loops=false, shortest_type=true, diff_type=true, decimal_constant=true, zero_init=false, sra_extend_sign=true } // Comments from the original Btor2 file: // ; source: https://github.com/aman-goel/avr/tree/92362931700b66684418a991d018c9fbdbebc06f/tests // ; BTOR description generated by Yosys 0.9+431 (git sha1 4a3b5437, clang 4.0.1-6 -fPIC -Os) for module main. extern unsigned char __VERIFIER_nondet_uchar(); extern unsigned short __VERIFIER_nondet_ushort(); extern unsigned int __VERIFIER_nondet_uint(); extern unsigned long __VERIFIER_nondet_ulong(); extern void abort(void); extern void __assert_fail(const char *, const char *, unsigned int, const char *); void reach_error() { __assert_fail("0", "v_Unidec.c", 0, "reach_error"); } void __VERIFIER_assert(int cond) { if (!(cond)) { ERROR: { reach_error(); abort(); } } } void assume_abort_if_not(int cond) { if (!cond) { abort(); } } int main() { // Defining sorts ... typedef unsigned char SORT_1; // BV with 1 bits const SORT_1 mask_SORT_1 = (SORT_1)-1 >> (sizeof(SORT_1) * 8 - 1); const SORT_1 msb_SORT_1 = (SORT_1)1 << (1 - 1); typedef unsigned char SORT_3; // BV with 3 bits const SORT_3 mask_SORT_3 = (SORT_3)-1 >> (sizeof(SORT_3) * 8 - 3); const SORT_3 msb_SORT_3 = (SORT_3)1 << (3 - 1); typedef unsigned char SORT_5; // BV with 2 bits const SORT_5 mask_SORT_5 = (SORT_5)-1 >> (sizeof(SORT_5) * 8 - 2); const SORT_5 msb_SORT_5 = (SORT_5)1 << (2 - 1); typedef unsigned int SORT_10; // BV with 32 bits const SORT_10 mask_SORT_10 = (SORT_10)-1 >> (sizeof(SORT_10) * 8 - 32); const SORT_10 msb_SORT_10 = (SORT_10)1 << (32 - 1); typedef unsigned short SORT_22; // BV with 16 bits const SORT_22 mask_SORT_22 = (SORT_22)-1 >> (sizeof(SORT_22) * 8 - 16); const SORT_22 msb_SORT_22 = (SORT_22)1 << (16 - 1); typedef unsigned short SORT_68; // BV with 13 bits const SORT_68 mask_SORT_68 = (SORT_68)-1 >> (sizeof(SORT_68) * 8 - 13); const SORT_68 msb_SORT_68 = (SORT_68)1 << (13 - 1); typedef unsigned char SORT_71; // BV with 6 bits const SORT_71 mask_SORT_71 = (SORT_71)-1 >> (sizeof(SORT_71) * 8 - 6); const SORT_71 msb_SORT_71 = (SORT_71)1 << (6 - 1); typedef unsigned short SORT_73; // BV with 10 bits const SORT_73 mask_SORT_73 = (SORT_73)-1 >> (sizeof(SORT_73) * 8 - 10); const SORT_73 msb_SORT_73 = (SORT_73)1 << (10 - 1); typedef unsigned short SORT_79; // BV with 9 bits const SORT_79 mask_SORT_79 = (SORT_79)-1 >> (sizeof(SORT_79) * 8 - 9); const SORT_79 msb_SORT_79 = (SORT_79)1 << (9 - 1); typedef unsigned char SORT_81; // BV with 7 bits const SORT_81 mask_SORT_81 = (SORT_81)-1 >> (sizeof(SORT_81) * 8 - 7); const SORT_81 msb_SORT_81 = (SORT_81)1 << (7 - 1); typedef unsigned short SORT_84; // BV with 12 bits const SORT_84 mask_SORT_84 = (SORT_84)-1 >> (sizeof(SORT_84) * 8 - 12); const SORT_84 msb_SORT_84 = (SORT_84)1 << (12 - 1); typedef unsigned char SORT_86; // BV with 4 bits const SORT_86 mask_SORT_86 = (SORT_86)-1 >> (sizeof(SORT_86) * 8 - 4); const SORT_86 msb_SORT_86 = (SORT_86)1 << (4 - 1); // Initializing constants ... const SORT_1 var_7 = 0; const SORT_10 var_12 = 0; const SORT_1 var_16 = 1; const SORT_22 var_23 = 8; const SORT_22 var_24 = 10; const SORT_3 var_25 = 1; const SORT_22 var_28 = 88; const SORT_22 var_29 = 584; const SORT_3 var_30 = 3; const SORT_3 var_33 = 2; const SORT_22 var_37 = 705; const SORT_22 var_38 = 611; const SORT_3 var_39 = 5; const SORT_22 var_42 = 50825; const SORT_3 var_43 = 7; const SORT_3 var_46 = 6; const SORT_3 var_50 = 4; const SORT_22 var_65 = 0; const SORT_3 var_67 = 0; const SORT_71 var_72 = 0; const SORT_5 var_76 = 1; const SORT_79 var_80 = 0; const SORT_84 var_85 = 0; const SORT_5 var_89 = 3; const SORT_5 var_92 = 2; const SORT_68 var_97 = 1; const SORT_22 var_100 = 32767; const SORT_5 var_105 = 0; const SORT_73 var_119 = 1; const SORT_81 var_131 = 1; const SORT_86 var_141 = 1; // Collecting input declarations ... SORT_1 input_2; SORT_3 input_4; SORT_5 input_6; SORT_22 input_66; SORT_22 input_96; SORT_22 input_108; SORT_22 input_109; SORT_22 input_118; SORT_22 input_130; SORT_22 input_140; SORT_22 input_157; SORT_22 input_166; SORT_22 input_170; SORT_22 input_179; SORT_22 input_181; SORT_22 input_190; SORT_22 input_197; SORT_22 input_201; SORT_22 input_204; SORT_22 input_206; // Collecting state declarations ... SORT_1 state_8 = __VERIFIER_nondet_uchar() & mask_SORT_1; SORT_1 state_20 = __VERIFIER_nondet_uchar() & mask_SORT_1; SORT_22 state_58 = __VERIFIER_nondet_ushort() & mask_SORT_22; // Initializing states ... SORT_1 init_9_arg_1 = var_7; state_8 = init_9_arg_1; SORT_1 init_21_arg_1 = var_16; state_20 = init_21_arg_1; SORT_22 init_59_arg_1 = var_23; state_58 = init_59_arg_1; for (;;) { // Getting external input values ... input_2 = __VERIFIER_nondet_uchar(); input_4 = __VERIFIER_nondet_uchar(); input_4 = input_4 & mask_SORT_3; input_6 = __VERIFIER_nondet_uchar(); input_6 = input_6 & mask_SORT_5; input_66 = __VERIFIER_nondet_ushort(); input_96 = __VERIFIER_nondet_ushort(); input_108 = __VERIFIER_nondet_ushort(); input_109 = __VERIFIER_nondet_ushort(); input_118 = __VERIFIER_nondet_ushort(); input_130 = __VERIFIER_nondet_ushort(); input_140 = __VERIFIER_nondet_ushort(); input_157 = __VERIFIER_nondet_ushort(); input_166 = __VERIFIER_nondet_ushort(); input_170 = __VERIFIER_nondet_ushort(); input_179 = __VERIFIER_nondet_ushort(); input_181 = __VERIFIER_nondet_ushort(); input_190 = __VERIFIER_nondet_ushort(); input_197 = __VERIFIER_nondet_ushort(); input_201 = __VERIFIER_nondet_ushort(); input_204 = __VERIFIER_nondet_ushort(); input_206 = __VERIFIER_nondet_ushort(); // Assuming invariants ... // Asserting properties ... SORT_1 var_11_arg_0 = state_8; var_11_arg_0 = var_11_arg_0 & mask_SORT_1; SORT_10 var_11 = var_11_arg_0; SORT_10 var_13_arg_0 = var_11; SORT_10 var_13_arg_1 = var_12; SORT_1 var_13 = var_13_arg_0 == var_13_arg_1; SORT_1 var_17_arg_0 = var_13; SORT_1 var_17 = ~var_17_arg_0; SORT_1 var_18_arg_0 = var_16; SORT_1 var_18_arg_1 = var_17; SORT_1 var_18 = var_18_arg_0 & var_18_arg_1; var_18 = var_18 & mask_SORT_1; SORT_1 bad_19_arg_0 = var_18; __VERIFIER_assert(!(bad_19_arg_0)); // Computing next states ... SORT_1 var_60_arg_0 = state_20; SORT_1 var_60 = ~var_60_arg_0; SORT_3 var_47_arg_0 = input_4; SORT_3 var_47_arg_1 = var_46; SORT_1 var_47 = var_47_arg_0 == var_47_arg_1; SORT_3 var_44_arg_0 = input_4; SORT_3 var_44_arg_1 = var_43; SORT_1 var_44 = var_44_arg_0 == var_44_arg_1; SORT_1 var_48_arg_0 = var_47; SORT_1 var_48_arg_1 = var_44; SORT_1 var_48 = var_48_arg_0 | var_48_arg_1; var_48 = var_48 & mask_SORT_1; SORT_3 var_40_arg_0 = input_4; SORT_3 var_40_arg_1 = var_39; SORT_1 var_40 = var_40_arg_0 == var_40_arg_1; SORT_3 var_51_arg_0 = input_4; SORT_3 var_51_arg_1 = var_50; SORT_1 var_51 = var_51_arg_0 == var_51_arg_1; SORT_1 var_52_arg_0 = var_40; SORT_1 var_52_arg_1 = var_51; SORT_5 var_52 = ((SORT_5)var_52_arg_0 << 1) | var_52_arg_1; var_52 = var_52 & mask_SORT_5; SORT_1 var_53_arg_0 = var_48; SORT_5 var_53_arg_1 = var_52; SORT_3 var_53 = ((SORT_3)var_53_arg_0 << 2) | var_53_arg_1; var_53 = var_53 & mask_SORT_3; SORT_3 var_54_arg_0 = var_53; SORT_1 var_54 = var_54_arg_0 != 0; SORT_1 var_45_arg_0 = var_44; SORT_22 var_45_arg_1 = var_23; SORT_22 var_45_arg_2 = var_42; SORT_22 var_45 = var_45_arg_0 ? var_45_arg_1 : var_45_arg_2; SORT_1 var_41_arg_0 = var_40; SORT_22 var_41_arg_1 = var_38; SORT_22 var_41_arg_2 = var_37; SORT_22 var_41 = var_41_arg_0 ? var_41_arg_1 : var_41_arg_2; SORT_1 var_49_arg_0 = var_48; SORT_22 var_49_arg_1 = var_45; SORT_22 var_49_arg_2 = var_41; SORT_22 var_49 = var_49_arg_0 ? var_49_arg_1 : var_49_arg_2; SORT_3 var_34_arg_0 = input_4; SORT_3 var_34_arg_1 = var_33; SORT_1 var_34 = var_34_arg_0 == var_34_arg_1; SORT_3 var_31_arg_0 = input_4; SORT_3 var_31_arg_1 = var_30; SORT_1 var_31 = var_31_arg_0 == var_31_arg_1; SORT_1 var_35_arg_0 = var_34; SORT_1 var_35_arg_1 = var_31; SORT_1 var_35 = var_35_arg_0 | var_35_arg_1; var_35 = var_35 & mask_SORT_1; SORT_1 var_32_arg_0 = var_31; SORT_22 var_32_arg_1 = var_29; SORT_22 var_32_arg_2 = var_28; SORT_22 var_32 = var_32_arg_0 ? var_32_arg_1 : var_32_arg_2; SORT_3 var_26_arg_0 = input_4; SORT_3 var_26_arg_1 = var_25; SORT_1 var_26 = var_26_arg_0 == var_26_arg_1; SORT_1 var_27_arg_0 = var_26; SORT_22 var_27_arg_1 = var_24; SORT_22 var_27_arg_2 = var_23; SORT_22 var_27 = var_27_arg_0 ? var_27_arg_1 : var_27_arg_2; SORT_1 var_36_arg_0 = var_35; SORT_22 var_36_arg_1 = var_32; SORT_22 var_36_arg_2 = var_27; SORT_22 var_36 = var_36_arg_0 ? var_36_arg_1 : var_36_arg_2; SORT_1 var_55_arg_0 = var_54; SORT_22 var_55_arg_1 = var_49; SORT_22 var_55_arg_2 = var_36; SORT_22 var_55 = var_55_arg_0 ? var_55_arg_1 : var_55_arg_2; var_55 = var_55 & mask_SORT_22; SORT_22 var_61_arg_0 = state_58; SORT_22 var_61_arg_1 = var_55; SORT_1 var_61 = var_61_arg_0 == var_61_arg_1; SORT_1 var_62_arg_0 = var_60; SORT_1 var_62_arg_1 = var_61; SORT_1 var_62 = var_62_arg_0 & var_62_arg_1; SORT_1 next_63_arg_1 = var_62; SORT_1 next_64_arg_1 = var_7; SORT_5 var_152_arg_0 = input_6; SORT_5 var_152_arg_1 = var_92; SORT_1 var_152 = var_152_arg_0 == var_152_arg_1; SORT_5 var_150_arg_0 = input_6; SORT_5 var_150_arg_1 = var_89; SORT_1 var_150 = var_150_arg_0 == var_150_arg_1; SORT_1 var_153_arg_0 = var_152; SORT_1 var_153_arg_1 = var_150; SORT_1 var_153 = var_153_arg_0 | var_153_arg_1; var_153 = var_153 & mask_SORT_1; SORT_5 var_148_arg_0 = input_6; SORT_5 var_148_arg_1 = var_89; SORT_1 var_148 = var_148_arg_0 == var_148_arg_1; SORT_22 var_144_arg_0 = state_58; SORT_3 var_144 = var_144_arg_0 >> 13; SORT_3 var_145_arg_0 = var_144; var_145_arg_0 = var_145_arg_0 & mask_SORT_3; SORT_10 var_145 = var_145_arg_0; SORT_10 var_146_arg_0 = var_145; SORT_10 var_146_arg_1 = var_12; SORT_1 var_146 = var_146_arg_0 == var_146_arg_1; SORT_22 var_142_arg_0 = state_58; SORT_84 var_142 = var_142_arg_0 >> 0; var_142 = var_142 & mask_SORT_84; SORT_86 var_143_arg_0 = var_141; SORT_84 var_143_arg_1 = var_142; SORT_22 var_143 = ((SORT_22)var_143_arg_0 << 12) | var_143_arg_1; SORT_1 var_147_arg_0 = var_146; SORT_22 var_147_arg_1 = var_100; SORT_22 var_147_arg_2 = var_143; SORT_22 var_147 = var_147_arg_0 ? var_147_arg_1 : var_147_arg_2; SORT_1 var_149_arg_0 = var_148; SORT_22 var_149_arg_1 = var_147; SORT_22 var_149_arg_2 = input_140; SORT_22 var_149 = var_149_arg_0 ? var_149_arg_1 : var_149_arg_2; SORT_5 var_138_arg_0 = input_6; SORT_5 var_138_arg_1 = var_92; SORT_1 var_138 = var_138_arg_0 == var_138_arg_1; SORT_22 var_134_arg_0 = state_58; SORT_71 var_134 = var_134_arg_0 >> 10; SORT_71 var_135_arg_0 = var_134; var_135_arg_0 = var_135_arg_0 & mask_SORT_71; SORT_10 var_135 = var_135_arg_0; SORT_10 var_136_arg_0 = var_135; SORT_10 var_136_arg_1 = var_12; SORT_1 var_136 = var_136_arg_0 == var_136_arg_1; SORT_22 var_132_arg_0 = state_58; SORT_79 var_132 = var_132_arg_0 >> 0; var_132 = var_132 & mask_SORT_79; SORT_81 var_133_arg_0 = var_131; SORT_79 var_133_arg_1 = var_132; SORT_22 var_133 = ((SORT_22)var_133_arg_0 << 9) | var_133_arg_1; SORT_1 var_137_arg_0 = var_136; SORT_22 var_137_arg_1 = var_100; SORT_22 var_137_arg_2 = var_133; SORT_22 var_137 = var_137_arg_0 ? var_137_arg_1 : var_137_arg_2; SORT_1 var_139_arg_0 = var_138; SORT_22 var_139_arg_1 = var_137; SORT_22 var_139_arg_2 = input_130; SORT_22 var_139 = var_139_arg_0 ? var_139_arg_1 : var_139_arg_2; SORT_1 var_151_arg_0 = var_150; SORT_22 var_151_arg_1 = var_149; SORT_22 var_151_arg_2 = var_139; SORT_22 var_151 = var_151_arg_0 ? var_151_arg_1 : var_151_arg_2; SORT_5 var_128_arg_0 = input_6; SORT_5 var_128_arg_1 = var_76; SORT_1 var_128 = var_128_arg_0 == var_128_arg_1; SORT_5 var_126_arg_0 = input_6; SORT_5 var_126_arg_1 = var_76; SORT_1 var_126 = var_126_arg_0 == var_126_arg_1; SORT_22 var_122_arg_0 = state_58; SORT_79 var_122 = var_122_arg_0 >> 7; SORT_79 var_123_arg_0 = var_122; var_123_arg_0 = var_123_arg_0 & mask_SORT_79; SORT_10 var_123 = var_123_arg_0; SORT_10 var_124_arg_0 = var_123; SORT_10 var_124_arg_1 = var_12; SORT_1 var_124 = var_124_arg_0 == var_124_arg_1; SORT_22 var_120_arg_0 = state_58; SORT_71 var_120 = var_120_arg_0 >> 0; var_120 = var_120 & mask_SORT_71; SORT_73 var_121_arg_0 = var_119; SORT_71 var_121_arg_1 = var_120; SORT_22 var_121 = ((SORT_22)var_121_arg_0 << 6) | var_121_arg_1; SORT_1 var_125_arg_0 = var_124; SORT_22 var_125_arg_1 = var_100; SORT_22 var_125_arg_2 = var_121; SORT_22 var_125 = var_125_arg_0 ? var_125_arg_1 : var_125_arg_2; SORT_1 var_127_arg_0 = var_126; SORT_22 var_127_arg_1 = var_125; SORT_22 var_127_arg_2 = input_118; SORT_22 var_127 = var_127_arg_0 ? var_127_arg_1 : var_127_arg_2; SORT_5 var_116_arg_0 = input_6; SORT_5 var_116_arg_1 = var_105; SORT_1 var_116 = var_116_arg_0 == var_116_arg_1; SORT_22 var_112_arg_0 = state_58; SORT_84 var_112 = var_112_arg_0 >> 4; SORT_84 var_113_arg_0 = var_112; var_113_arg_0 = var_113_arg_0 & mask_SORT_84; SORT_10 var_113 = var_113_arg_0; SORT_10 var_114_arg_0 = var_113; SORT_10 var_114_arg_1 = var_12; SORT_1 var_114 = var_114_arg_0 == var_114_arg_1; SORT_22 var_110_arg_0 = state_58; SORT_3 var_110 = var_110_arg_0 >> 0; var_110 = var_110 & mask_SORT_3; SORT_68 var_111_arg_0 = var_97; SORT_3 var_111_arg_1 = var_110; SORT_22 var_111 = ((SORT_22)var_111_arg_0 << 3) | var_111_arg_1; SORT_1 var_115_arg_0 = var_114; SORT_22 var_115_arg_1 = var_100; SORT_22 var_115_arg_2 = var_111; SORT_22 var_115 = var_115_arg_0 ? var_115_arg_1 : var_115_arg_2; SORT_1 var_117_arg_0 = var_116; SORT_22 var_117_arg_1 = var_115; SORT_22 var_117_arg_2 = input_109; SORT_22 var_117 = var_117_arg_0 ? var_117_arg_1 : var_117_arg_2; SORT_1 var_129_arg_0 = var_128; SORT_22 var_129_arg_1 = var_127; SORT_22 var_129_arg_2 = var_117; SORT_22 var_129 = var_129_arg_0 ? var_129_arg_1 : var_129_arg_2; SORT_1 var_154_arg_0 = var_153; SORT_22 var_154_arg_1 = var_151; SORT_22 var_154_arg_2 = var_129; SORT_22 var_154 = var_154_arg_0 ? var_154_arg_1 : var_154_arg_2; var_154 = var_154 & mask_SORT_22; SORT_22 var_155_arg_0 = var_55; SORT_22 var_155_arg_1 = var_154; SORT_1 var_155 = var_155_arg_0 == var_155_arg_1; SORT_5 var_219_arg_0 = input_6; SORT_5 var_219_arg_1 = var_92; SORT_1 var_219 = var_219_arg_0 == var_219_arg_1; SORT_5 var_217_arg_0 = input_6; SORT_5 var_217_arg_1 = var_89; SORT_1 var_217 = var_217_arg_0 == var_217_arg_1; SORT_1 var_220_arg_0 = var_219; SORT_1 var_220_arg_1 = var_217; SORT_1 var_220 = var_220_arg_0 | var_220_arg_1; var_220 = var_220 & mask_SORT_1; SORT_22 var_215_arg_0 = state_58; SORT_86 var_215 = var_215_arg_0 >> 12; var_215 = var_215 & mask_SORT_86; SORT_84 var_216_arg_0 = var_85; SORT_86 var_216_arg_1 = var_215; SORT_22 var_216 = ((SORT_22)var_216_arg_0 << 4) | var_216_arg_1; SORT_22 var_213_arg_0 = state_58; SORT_81 var_213 = var_213_arg_0 >> 9; var_213 = var_213 & mask_SORT_81; SORT_79 var_214_arg_0 = var_80; SORT_81 var_214_arg_1 = var_213; SORT_22 var_214 = ((SORT_22)var_214_arg_0 << 7) | var_214_arg_1; SORT_1 var_218_arg_0 = var_217; SORT_22 var_218_arg_1 = var_216; SORT_22 var_218_arg_2 = var_214; SORT_22 var_218 = var_218_arg_0 ? var_218_arg_1 : var_218_arg_2; SORT_5 var_211_arg_0 = input_6; SORT_5 var_211_arg_1 = var_76; SORT_1 var_211 = var_211_arg_0 == var_211_arg_1; SORT_22 var_209_arg_0 = state_58; SORT_73 var_209 = var_209_arg_0 >> 6; var_209 = var_209 & mask_SORT_73; SORT_71 var_210_arg_0 = var_72; SORT_73 var_210_arg_1 = var_209; SORT_22 var_210 = ((SORT_22)var_210_arg_0 << 10) | var_210_arg_1; SORT_22 var_207_arg_0 = state_58; SORT_68 var_207 = var_207_arg_0 >> 3; var_207 = var_207 & mask_SORT_68; SORT_3 var_208_arg_0 = var_67; SORT_68 var_208_arg_1 = var_207; SORT_22 var_208 = ((SORT_22)var_208_arg_0 << 13) | var_208_arg_1; SORT_1 var_212_arg_0 = var_211; SORT_22 var_212_arg_1 = var_210; SORT_22 var_212_arg_2 = var_208; SORT_22 var_212 = var_212_arg_0 ? var_212_arg_1 : var_212_arg_2; SORT_1 var_221_arg_0 = var_220; SORT_22 var_221_arg_1 = var_218; SORT_22 var_221_arg_2 = var_212; SORT_22 var_221 = var_221_arg_0 ? var_221_arg_1 : var_221_arg_2; SORT_1 var_222_arg_0 = var_155; SORT_22 var_222_arg_1 = var_221; SORT_22 var_222_arg_2 = input_206; SORT_22 var_222 = var_222_arg_0 ? var_222_arg_1 : var_222_arg_2; SORT_5 var_194_arg_0 = input_6; SORT_5 var_194_arg_1 = var_92; SORT_1 var_194 = var_194_arg_0 == var_194_arg_1; SORT_5 var_192_arg_0 = input_6; SORT_5 var_192_arg_1 = var_89; SORT_1 var_192 = var_192_arg_0 == var_192_arg_1; SORT_1 var_195_arg_0 = var_194; SORT_1 var_195_arg_1 = var_192; SORT_1 var_195 = var_195_arg_0 | var_195_arg_1; var_195 = var_195 & mask_SORT_1; SORT_5 var_188_arg_0 = input_6; SORT_5 var_188_arg_1 = var_89; SORT_1 var_188 = var_188_arg_0 == var_188_arg_1; SORT_22 var_184_arg_0 = var_55; SORT_3 var_184 = var_184_arg_0 >> 13; SORT_3 var_185_arg_0 = var_184; var_185_arg_0 = var_185_arg_0 & mask_SORT_3; SORT_10 var_185 = var_185_arg_0; SORT_10 var_186_arg_0 = var_185; SORT_10 var_186_arg_1 = var_12; SORT_1 var_186 = var_186_arg_0 == var_186_arg_1; SORT_22 var_182_arg_0 = var_55; SORT_84 var_182 = var_182_arg_0 >> 0; var_182 = var_182 & mask_SORT_84; SORT_86 var_183_arg_0 = var_141; SORT_84 var_183_arg_1 = var_182; SORT_22 var_183 = ((SORT_22)var_183_arg_0 << 12) | var_183_arg_1; SORT_1 var_187_arg_0 = var_186; SORT_22 var_187_arg_1 = var_100; SORT_22 var_187_arg_2 = var_183; SORT_22 var_187 = var_187_arg_0 ? var_187_arg_1 : var_187_arg_2; SORT_1 var_189_arg_0 = var_188; SORT_22 var_189_arg_1 = var_187; SORT_22 var_189_arg_2 = input_181; SORT_22 var_189 = var_189_arg_0 ? var_189_arg_1 : var_189_arg_2; SORT_1 var_191_arg_0 = var_155; SORT_22 var_191_arg_1 = input_190; SORT_22 var_191_arg_2 = var_189; SORT_22 var_191 = var_191_arg_0 ? var_191_arg_1 : var_191_arg_2; SORT_5 var_177_arg_0 = input_6; SORT_5 var_177_arg_1 = var_92; SORT_1 var_177 = var_177_arg_0 == var_177_arg_1; SORT_22 var_173_arg_0 = var_55; SORT_71 var_173 = var_173_arg_0 >> 10; SORT_71 var_174_arg_0 = var_173; var_174_arg_0 = var_174_arg_0 & mask_SORT_71; SORT_10 var_174 = var_174_arg_0; SORT_10 var_175_arg_0 = var_174; SORT_10 var_175_arg_1 = var_12; SORT_1 var_175 = var_175_arg_0 == var_175_arg_1; SORT_22 var_171_arg_0 = var_55; SORT_79 var_171 = var_171_arg_0 >> 0; var_171 = var_171 & mask_SORT_79; SORT_81 var_172_arg_0 = var_131; SORT_79 var_172_arg_1 = var_171; SORT_22 var_172 = ((SORT_22)var_172_arg_0 << 9) | var_172_arg_1; SORT_1 var_176_arg_0 = var_175; SORT_22 var_176_arg_1 = var_100; SORT_22 var_176_arg_2 = var_172; SORT_22 var_176 = var_176_arg_0 ? var_176_arg_1 : var_176_arg_2; SORT_1 var_178_arg_0 = var_177; SORT_22 var_178_arg_1 = var_176; SORT_22 var_178_arg_2 = input_170; SORT_22 var_178 = var_178_arg_0 ? var_178_arg_1 : var_178_arg_2; SORT_1 var_180_arg_0 = var_155; SORT_22 var_180_arg_1 = input_179; SORT_22 var_180_arg_2 = var_178; SORT_22 var_180 = var_180_arg_0 ? var_180_arg_1 : var_180_arg_2; SORT_1 var_193_arg_0 = var_192; SORT_22 var_193_arg_1 = var_191; SORT_22 var_193_arg_2 = var_180; SORT_22 var_193 = var_193_arg_0 ? var_193_arg_1 : var_193_arg_2; SORT_5 var_168_arg_0 = input_6; SORT_5 var_168_arg_1 = var_76; SORT_1 var_168 = var_168_arg_0 == var_168_arg_1; SORT_5 var_164_arg_0 = input_6; SORT_5 var_164_arg_1 = var_76; SORT_1 var_164 = var_164_arg_0 == var_164_arg_1; SORT_22 var_160_arg_0 = var_55; SORT_79 var_160 = var_160_arg_0 >> 7; SORT_79 var_161_arg_0 = var_160; var_161_arg_0 = var_161_arg_0 & mask_SORT_79; SORT_10 var_161 = var_161_arg_0; SORT_10 var_162_arg_0 = var_161; SORT_10 var_162_arg_1 = var_12; SORT_1 var_162 = var_162_arg_0 == var_162_arg_1; SORT_22 var_158_arg_0 = var_55; SORT_71 var_158 = var_158_arg_0 >> 0; var_158 = var_158 & mask_SORT_71; SORT_73 var_159_arg_0 = var_119; SORT_71 var_159_arg_1 = var_158; SORT_22 var_159 = ((SORT_22)var_159_arg_0 << 6) | var_159_arg_1; SORT_1 var_163_arg_0 = var_162; SORT_22 var_163_arg_1 = var_100; SORT_22 var_163_arg_2 = var_159; SORT_22 var_163 = var_163_arg_0 ? var_163_arg_1 : var_163_arg_2; SORT_1 var_165_arg_0 = var_164; SORT_22 var_165_arg_1 = var_163; SORT_22 var_165_arg_2 = input_157; SORT_22 var_165 = var_165_arg_0 ? var_165_arg_1 : var_165_arg_2; SORT_1 var_167_arg_0 = var_155; SORT_22 var_167_arg_1 = input_166; SORT_22 var_167_arg_2 = var_165; SORT_22 var_167 = var_167_arg_0 ? var_167_arg_1 : var_167_arg_2; SORT_5 var_106_arg_0 = input_6; SORT_5 var_106_arg_1 = var_105; SORT_1 var_106 = var_106_arg_0 == var_106_arg_1; SORT_22 var_101_arg_0 = var_55; SORT_84 var_101 = var_101_arg_0 >> 4; SORT_84 var_102_arg_0 = var_101; var_102_arg_0 = var_102_arg_0 & mask_SORT_84; SORT_10 var_102 = var_102_arg_0; SORT_10 var_103_arg_0 = var_102; SORT_10 var_103_arg_1 = var_12; SORT_1 var_103 = var_103_arg_0 == var_103_arg_1; SORT_22 var_98_arg_0 = var_55; SORT_3 var_98 = var_98_arg_0 >> 0; var_98 = var_98 & mask_SORT_3; SORT_68 var_99_arg_0 = var_97; SORT_3 var_99_arg_1 = var_98; SORT_22 var_99 = ((SORT_22)var_99_arg_0 << 3) | var_99_arg_1; SORT_1 var_104_arg_0 = var_103; SORT_22 var_104_arg_1 = var_100; SORT_22 var_104_arg_2 = var_99; SORT_22 var_104 = var_104_arg_0 ? var_104_arg_1 : var_104_arg_2; SORT_1 var_107_arg_0 = var_106; SORT_22 var_107_arg_1 = var_104; SORT_22 var_107_arg_2 = input_96; SORT_22 var_107 = var_107_arg_0 ? var_107_arg_1 : var_107_arg_2; SORT_1 var_156_arg_0 = var_155; SORT_22 var_156_arg_1 = input_108; SORT_22 var_156_arg_2 = var_107; SORT_22 var_156 = var_156_arg_0 ? var_156_arg_1 : var_156_arg_2; SORT_1 var_169_arg_0 = var_168; SORT_22 var_169_arg_1 = var_167; SORT_22 var_169_arg_2 = var_156; SORT_22 var_169 = var_169_arg_0 ? var_169_arg_1 : var_169_arg_2; SORT_1 var_196_arg_0 = var_195; SORT_22 var_196_arg_1 = var_193; SORT_22 var_196_arg_2 = var_169; SORT_22 var_196 = var_196_arg_0 ? var_196_arg_1 : var_196_arg_2; SORT_1 var_198_arg_0 = var_155; SORT_22 var_198_arg_1 = input_197; SORT_22 var_198_arg_2 = var_196; SORT_22 var_198 = var_198_arg_0 ? var_198_arg_1 : var_198_arg_2; var_198 = var_198 & mask_SORT_22; SORT_22 var_199_arg_0 = var_198; SORT_22 var_199_arg_1 = state_58; SORT_1 var_199 = var_199_arg_0 == var_199_arg_1; SORT_5 var_93_arg_0 = input_6; SORT_5 var_93_arg_1 = var_92; SORT_1 var_93 = var_93_arg_0 == var_93_arg_1; SORT_5 var_90_arg_0 = input_6; SORT_5 var_90_arg_1 = var_89; SORT_1 var_90 = var_90_arg_0 == var_90_arg_1; SORT_1 var_94_arg_0 = var_93; SORT_1 var_94_arg_1 = var_90; SORT_1 var_94 = var_94_arg_0 | var_94_arg_1; var_94 = var_94 & mask_SORT_1; SORT_22 var_87_arg_0 = var_55; SORT_86 var_87 = var_87_arg_0 >> 12; var_87 = var_87 & mask_SORT_86; SORT_84 var_88_arg_0 = var_85; SORT_86 var_88_arg_1 = var_87; SORT_22 var_88 = ((SORT_22)var_88_arg_0 << 4) | var_88_arg_1; SORT_22 var_82_arg_0 = var_55; SORT_81 var_82 = var_82_arg_0 >> 9; var_82 = var_82 & mask_SORT_81; SORT_79 var_83_arg_0 = var_80; SORT_81 var_83_arg_1 = var_82; SORT_22 var_83 = ((SORT_22)var_83_arg_0 << 7) | var_83_arg_1; SORT_1 var_91_arg_0 = var_90; SORT_22 var_91_arg_1 = var_88; SORT_22 var_91_arg_2 = var_83; SORT_22 var_91 = var_91_arg_0 ? var_91_arg_1 : var_91_arg_2; SORT_5 var_77_arg_0 = input_6; SORT_5 var_77_arg_1 = var_76; SORT_1 var_77 = var_77_arg_0 == var_77_arg_1; SORT_22 var_74_arg_0 = var_55; SORT_73 var_74 = var_74_arg_0 >> 6; var_74 = var_74 & mask_SORT_73; SORT_71 var_75_arg_0 = var_72; SORT_73 var_75_arg_1 = var_74; SORT_22 var_75 = ((SORT_22)var_75_arg_0 << 10) | var_75_arg_1; SORT_22 var_69_arg_0 = var_55; SORT_68 var_69 = var_69_arg_0 >> 3; var_69 = var_69 & mask_SORT_68; SORT_3 var_70_arg_0 = var_67; SORT_68 var_70_arg_1 = var_69; SORT_22 var_70 = ((SORT_22)var_70_arg_0 << 13) | var_70_arg_1; SORT_1 var_78_arg_0 = var_77; SORT_22 var_78_arg_1 = var_75; SORT_22 var_78_arg_2 = var_70; SORT_22 var_78 = var_78_arg_0 ? var_78_arg_1 : var_78_arg_2; SORT_1 var_95_arg_0 = var_94; SORT_22 var_95_arg_1 = var_91; SORT_22 var_95_arg_2 = var_78; SORT_22 var_95 = var_95_arg_0 ? var_95_arg_1 : var_95_arg_2; SORT_1 var_200_arg_0 = var_199; SORT_22 var_200_arg_1 = var_95; SORT_22 var_200_arg_2 = input_66; SORT_22 var_200 = var_200_arg_0 ? var_200_arg_1 : var_200_arg_2; SORT_1 var_202_arg_0 = var_155; SORT_22 var_202_arg_1 = input_201; SORT_22 var_202_arg_2 = var_200; SORT_22 var_202 = var_202_arg_0 ? var_202_arg_1 : var_202_arg_2; SORT_1 var_203_arg_0 = var_199; SORT_22 var_203_arg_1 = var_202; SORT_22 var_203_arg_2 = var_65; SORT_22 var_203 = var_203_arg_0 ? var_203_arg_1 : var_203_arg_2; SORT_1 var_205_arg_0 = var_155; SORT_22 var_205_arg_1 = input_204; SORT_22 var_205_arg_2 = var_203; SORT_22 var_205 = var_205_arg_0 ? var_205_arg_1 : var_205_arg_2; SORT_1 var_223_arg_0 = var_155; SORT_22 var_223_arg_1 = var_222; SORT_22 var_223_arg_2 = var_205; SORT_22 var_223 = var_223_arg_0 ? var_223_arg_1 : var_223_arg_2; var_223 = var_223 & mask_SORT_22; SORT_22 next_224_arg_1 = var_223; // Assigning next states ... state_8 = next_63_arg_1; state_20 = next_64_arg_1; state_58 = next_224_arg_1; } return 0; }