/** * 29.0.6.2021 dietsch@informatik.uni-freiburg.de * * Created for lua-5.3.5 project with * ir2boogie ee14592, Invoked by rule * Axivion Suite Version: 7.2.1-TEST1-r7244 (2021-05-31) * * Ultimate options * --traceabstraction.stop.after.first.violation.was.found=false * --rcfgbuilder.add.additional.assume.for.each.assert=false * --traceabstraction.limit.analysis.time=90 * --rcfgbuilder.remove.assume.true.statements=false * --traceabstraction.trace.refinement.strategy=CAMEL * -tc /storage/repos/ultimate/trunk/examples/toolchains/AutomizerBpl.xml * */ var _memory : [{ base : int, offset : int }] int; var _memory_ptr : [{ base : int, offset : int }] { base : int, offset : int }; var _valid : [int] int; var _length : [int] int; var global_#33069_udatatypename : { base : int, offset : int }; var global_#33098_luaO_nilobject_ : { base : int, offset : int }; procedure routine_#33562_floor(local_#3528___x_IN : int) returns (external_return_#33562 : int); procedure routine_#33574_fmod(local_#3552___x_IN : int, local_#3553___y_IN : int) returns (external_return_#33574 : int); procedure routine_#33721_luaC_barrierback_(local_#3752_L_IN : { base : int, offset : int }, local_#3753_t_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3752_L : { base : int, offset : int }; var local_#3753_t : { base : int, offset : int }; var local_#31172_g : { base : int, offset : int }; var local_#8339 : int; var local_#8340 : int; var local_#8341 : int; var local_#8342 : int; var local_#8343 : int; var local_#8344 : { base : int, offset : int }; var local_#8345 : { base : int, offset : int }; var local_#8346 : { base : int, offset : int }; var local_#8347 : { base : int, offset : int }; var local_#8348 : { base : int, offset : int }; havoc local_#3752_L; havoc local_#3753_t; havoc local_#31172_g; havoc local_#8339; havoc local_#8340; havoc local_#8341; havoc local_#8342; havoc local_#8343; havoc local_#8344; havoc local_#8345; havoc local_#8346; havoc local_#8347; havoc local_#8348; local_#3752_L := local_#3752_L_IN; local_#3753_t := local_#3753_t_IN; goto CFG_36229; CFG_36229: assume { :LIR "36229" } { :back_translation "block" } true; goto CFG_39068; CFG_39068: assume { :LIR "39068" } { :back_translation "block" } true; assume { :LIR "51585" } { :back_translation "assignment" } true; local_#31172_g := _memory_ptr[{ base : local_#3752_L!base, offset : local_#3752_L!offset + 24 }]; assume { :LIR "71205" } { :back_translation "visiting" } true; local_#8339 := 0; assume { :LIR "60098" } { :back_translation "visiting" } true; local_#8340 := 0; assume { :LIR "71206" } { :back_translation "visiting" } true; local_#8341 := 251; assume { :LIR "62123" } { :back_translation "visiting" } true; local_#8342 := _memory[{ base : local_#3753_t!base, offset : local_#3753_t!offset + 9 }]; assume { :LIR "68668" } { :back_translation "visiting" } true; local_#8343 := ~sand32(local_#8342, local_#8341); assume { :LIR "62124" } { :back_translation "visiting" } true; _memory[{ base : local_#3753_t!base, offset : local_#3753_t!offset + 9 }] := ~uwrap8(local_#8343); assume { :LIR "51586" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3753_t!base, offset : local_#3753_t!offset + 48 }] := _memory_ptr[{ base : local_#31172_g!base, offset : local_#31172_g!offset + 120 }]; assume { :LIR "51587" } { :back_translation "assignment" } true; local_#8344 := _memory_ptr[{ base : local_#3753_t!base, offset : local_#3753_t!offset + 48 }]; assume { :LIR "60099" } { :back_translation "visiting" } true; local_#8345 := local_#3753_t; assume { :LIR "51588" } { :back_translation "assignment" } true; local_#8346 := { base : local_#8345!base, offset : local_#8345!offset + 0 }; assume { :LIR "51589" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#31172_g!base, offset : local_#31172_g!offset + 120 }] := local_#8346; assume { :LIR "51590" } { :back_translation "assignment" } true; local_#8347 := _memory_ptr[{ base : local_#31172_g!base, offset : local_#31172_g!offset + 120 }]; assume { :LIR "51591" } { :back_translation "assignment" } true; local_#8348 := local_#8347; goto CFG_37140; CFG_37140: assume { :LIR "37140" } { :back_translation "block" } true; } procedure routine_#33726_luaC_newobj(local_#3762_L_IN : { base : int, offset : int }, local_#3763_tt_IN : int, local_#3764_sz_IN : int) returns (local_#7758 : { base : int, offset : int }) { var local_#3762_L : { base : int, offset : int }; var local_#3763_tt : int; var local_#3764_sz : int; havoc local_#7758; havoc local_#3762_L; havoc local_#3763_tt; havoc local_#3764_sz; local_#3762_L := local_#3762_L_IN; local_#3763_tt := local_#3763_tt_IN; local_#3764_sz := local_#3764_sz_IN; } procedure routine_#33728_luaC_step(local_#3767_L_IN : { base : int, offset : int }) returns () { var local_#3767_L : { base : int, offset : int }; var local_#31182_g : { base : int, offset : int }; var local_#8440 : int; var local_#31181_debt : int; var local_#8441 : int; var local_#8442 : int; var local_#31183_work : int; var local_#8443 : int; var local_#8444 : int; var local_#8445 : int; var local_#8446 : int; var local_#8447 : int; var local_#8448 : int; var local_#8449 : int; var local_#8450 : int; var local_#8451 : int; var local_#8452 : int; var local_#8453 : int; var local_#8454 : int; var local_#8455 : int; var local_#8456 : int; var local_#8457 : int; var local_#8458 : int; havoc local_#3767_L; havoc local_#31182_g; havoc local_#8440; havoc local_#31181_debt; havoc local_#8441; havoc local_#8442; havoc local_#31183_work; havoc local_#8443; havoc local_#8444; havoc local_#8445; havoc local_#8446; havoc local_#8447; havoc local_#8448; havoc local_#8449; havoc local_#8450; havoc local_#8451; havoc local_#8452; havoc local_#8453; havoc local_#8454; havoc local_#8455; havoc local_#8456; havoc local_#8457; havoc local_#8458; local_#3767_L := local_#3767_L_IN; goto CFG_36236; CFG_36236: assume { :LIR "36236" } { :back_translation "block" } true; goto CFG_41989; CFG_41989: assume { :LIR "41989" } { :back_translation "block" } true; assume { :LIR "51625" } { :back_translation "assignment" } true; local_#31182_g := _memory_ptr[{ base : local_#3767_L!base, offset : local_#3767_L!offset + 24 }]; goto CFG_45291; CFG_45291: assume { :LIR "45291" } { :back_translation "block" } true; assume { :LIR "78834" } { :back_translation "visiting" } true; call local_#8440 := routine_#34782_getdebt(local_#31182_g); goto CFG_49053; CFG_49053: assume { :LIR "49053" } { :back_translation "block" } true; assume { :LIR "51626" } { :back_translation "assignment" } true; local_#31181_debt := local_#8440; assume { :LIR "64484" } { :back_translation "visiting" } true; local_#8441 := (if _memory[{ base : local_#31182_g!base, offset : local_#31182_g!offset + 87 }] != 0 then 0 else 1); if (local_#8441 != 0) { assume { :LIR "41992" } { :back_translation "taking-then-branch" } true; goto CFG_41992; } else { assume { :LIR "41617" } { :back_translation "taking-else-branch" } true; goto CFG_41617; } CFG_41617: assume { :LIR "41617" } { :back_translation "block" } true; goto CFG_45292; CFG_45292: assume { :LIR "45292" } { :back_translation "block" } true; assume { :LIR "78835" } { :back_translation "visiting" } true; call local_#8442 := routine_#35068_singlestep(local_#3767_L); goto CFG_41990; CFG_41990: assume { :LIR "41990" } { :back_translation "block" } true; assume { :LIR "51627" } { :back_translation "assignment" } true; local_#31183_work := local_#8442; assume { :LIR "62141" } { :back_translation "visiting" } true; local_#8443 := ~uwrap64(local_#31181_debt); assume { :LIR "67853" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#8444 := ~uwrap64(local_#8443 - local_#31183_work); assume { :LIR "62142" } { :back_translation "visiting" } true; local_#31181_debt := local_#8444; goto CFG_49054; CFG_49054: assume { :LIR "49054" } { :back_translation "block" } true; assume { :LIR "71239" } { :back_translation "visiting" } true; local_#8445 := -2400; assume { :LIR "65777" } { :back_translation "visiting" } true; local_#8446 := (if local_#31181_debt > local_#8445 then 1 else 0); if (local_#8446 != 0) { assume { :LIR "49055" } { :back_translation "taking-then-branch" } true; goto CFG_49055; } else { assume { :LIR "49056" } { :back_translation "taking-else-branch" } true; goto CFG_49056; } CFG_49055: assume { :LIR "49055" } { :back_translation "block" } true; assume { :LIR "62143" } { :back_translation "visiting" } true; local_#8447 := _memory[{ base : local_#31182_g!base, offset : local_#31182_g!offset + 85 }]; assume { :LIR "71240" } { :back_translation "visiting" } true; local_#8448 := 7; assume { :LIR "65434" } { :back_translation "visiting" } true; local_#8449 := (if local_#8447 != local_#8448 then 1 else 0); if (local_#8449 != 0) { assume { :LIR "44958" } { :back_translation "taking-then-branch" } true; goto CFG_44958; } else { assume { :LIR "49056" } { :back_translation "taking-else-branch" } true; goto CFG_49056; } CFG_49056: assume { :LIR "49056" } { :back_translation "block" } true; assume { :LIR "62144" } { :back_translation "visiting" } true; local_#8450 := _memory[{ base : local_#31182_g!base, offset : local_#31182_g!offset + 85 }]; assume { :LIR "71241" } { :back_translation "visiting" } true; local_#8451 := 7; assume { :LIR "64675" } { :back_translation "visiting" } true; local_#8452 := (if local_#8450 == local_#8451 then 1 else 0); if (local_#8452 != 0) { assume { :LIR "45295" } { :back_translation "taking-then-branch" } true; goto CFG_45295; } else { assume { :LIR "41991" } { :back_translation "taking-else-branch" } true; goto CFG_41991; } CFG_41991: assume { :LIR "41991" } { :back_translation "block" } true; assume { :LIR "62145" } { :back_translation "visiting" } true; local_#8453 := _memory[{ base : local_#31182_g!base, offset : local_#31182_g!offset + 184 }]; assume { :LIR "68629" } { :back_translation "visiting" } true; local_#8454 := local_#31181_debt / local_#8453; assume { :LIR "71242" } { :back_translation "visiting" } true; local_#8455 := 200; assume { :LIR "68491" } { :back_translation "visiting" } true; local_#8456 := local_#8454 * local_#8455; assume { :LIR "51628" } { :back_translation "assignment" } true; local_#31181_debt := local_#8456; goto CFG_45293; CFG_45293: assume { :LIR "45293" } { :back_translation "block" } true; assume { :LIR "78836" } { :back_translation "visiting" } true; call routine_#33747_luaE_setdebt(local_#31182_g,local_#31181_debt); goto CFG_45294; CFG_45294: assume { :LIR "45294" } { :back_translation "block" } true; assume { :LIR "78837" } { :back_translation "visiting" } true; call local_#8457 := routine_#35041_runafewfinalizers(local_#3767_L); goto CFG_39773; CFG_39773: assume { :LIR "39773" } { :back_translation "block" } true; goto CFG_39075; CFG_45295: assume { :LIR "45295" } { :back_translation "block" } true; assume { :LIR "78838" } { :back_translation "visiting" } true; call routine_#35062_setpause(local_#31182_g); goto CFG_39774; CFG_39774: assume { :LIR "39774" } { :back_translation "block" } true; goto CFG_39075; CFG_39075: assume { :LIR "39075" } { :back_translation "block" } true; goto CFG_37147; CFG_44958: assume { :LIR "44958" } { :back_translation "block" } true; goto CFG_45292; CFG_41992: assume { :LIR "41992" } { :back_translation "block" } true; assume { :LIR "71243" } { :back_translation "visiting" } true; local_#8458 := -24000; goto CFG_45296; CFG_45296: assume { :LIR "45296" } { :back_translation "block" } true; assume { :LIR "78839" } { :back_translation "visiting" } true; call routine_#33747_luaE_setdebt(local_#31182_g,local_#8458); goto CFG_39076; CFG_39076: assume { :LIR "39076" } { :back_translation "block" } true; goto CFG_37147; CFG_37147: assume { :LIR "37147" } { :back_translation "block" } true; } procedure routine_#33729_luaC_upvalbarrier_(local_#3768_L_IN : { base : int, offset : int }, local_#3769_uv_IN : { base : int, offset : int }) returns () { var local_#3768_L : { base : int, offset : int }; var local_#3769_uv : { base : int, offset : int }; var local_#31184_g : { base : int, offset : int }; var local_#8459 : { base : int, offset : int }; var local_#8460 : { base : int, offset : int }; var local_#31185_o : { base : int, offset : int }; var local_#8461 : int; var local_#8462 : int; var local_#8463 : int; var local_#8464 : int; var local_#8465 : int; var local_#8466 : int; var local_#8467 : int; var local_#8468 : int; var local_#8469 : { base : int, offset : int }; var local_#8470 : { base : int, offset : int }; havoc local_#3768_L; havoc local_#3769_uv; havoc local_#31184_g; havoc local_#8459; havoc local_#8460; havoc local_#31185_o; havoc local_#8461; havoc local_#8462; havoc local_#8463; havoc local_#8464; havoc local_#8465; havoc local_#8466; havoc local_#8467; havoc local_#8468; havoc local_#8469; havoc local_#8470; local_#3768_L := local_#3768_L_IN; local_#3769_uv := local_#3769_uv_IN; goto CFG_36237; CFG_36237: assume { :LIR "36237" } { :back_translation "block" } true; goto CFG_49057; CFG_49057: assume { :LIR "49057" } { :back_translation "block" } true; assume { :LIR "51629" } { :back_translation "assignment" } true; local_#31184_g := _memory_ptr[{ base : local_#3768_L!base, offset : local_#3768_L!offset + 24 }]; assume { :LIR "51630" } { :back_translation "assignment" } true; local_#8459 := _memory_ptr[{ base : local_#3769_uv!base, offset : local_#3769_uv!offset + 0 }]; assume { :LIR "51631" } { :back_translation "assignment" } true; local_#8460 := { base : local_#8459!base, offset : local_#8459!offset + 0 }; assume { :LIR "51632" } { :back_translation "assignment" } true; local_#31185_o := _memory_ptr[local_#8460]; assume { :LIR "71244" } { :back_translation "visiting" } true; local_#8461 := 0; assume { :LIR "60110" } { :back_translation "visiting" } true; local_#8462 := 0; assume { :LIR "62146" } { :back_translation "visiting" } true; local_#8463 := _memory[{ base : local_#31184_g!base, offset : local_#31184_g!offset + 85 }]; assume { :LIR "71245" } { :back_translation "visiting" } true; local_#8464 := 1; assume { :LIR "65996" } { :back_translation "visiting" } true; local_#8465 := (if local_#8463 <= local_#8464 then 1 else 0); if (local_#8465 != 0) { assume { :LIR "49058" } { :back_translation "taking-then-branch" } true; goto CFG_49058; } else { assume { :LIR "39077" } { :back_translation "taking-else-branch" } true; goto CFG_39077; } CFG_49058: assume { :LIR "49058" } { :back_translation "block" } true; assume { :LIR "62147" } { :back_translation "visiting" } true; local_#8466 := _memory[{ base : local_#31185_o!base, offset : local_#31185_o!offset + 9 }]; assume { :LIR "71246" } { :back_translation "visiting" } true; local_#8467 := 3; assume { :LIR "68677" } { :back_translation "visiting" } true; local_#8468 := ~sand32(local_#8466, local_#8467); if (local_#8468 != 0) { assume { :LIR "41993" } { :back_translation "taking-then-branch" } true; goto CFG_41993; } else { assume { :LIR "39776" } { :back_translation "taking-else-branch" } true; goto CFG_39776; } CFG_41993: assume { :LIR "41993" } { :back_translation "block" } true; assume { :LIR "60111" } { :back_translation "visiting" } true; local_#8469 := local_#31185_o; assume { :LIR "51633" } { :back_translation "assignment" } true; local_#8470 := { base : local_#8469!base, offset : local_#8469!offset + 0 }; goto CFG_45297; CFG_45297: assume { :LIR "45297" } { :back_translation "block" } true; assume { :LIR "78840" } { :back_translation "visiting" } true; call routine_#35023_reallymarkobject(local_#31184_g,local_#8470); goto CFG_39775; CFG_39775: assume { :LIR "39775" } { :back_translation "block" } true; goto CFG_39776; CFG_39776: assume { :LIR "39776" } { :back_translation "block" } true; goto CFG_39077; CFG_39077: assume { :LIR "39077" } { :back_translation "block" } true; goto CFG_37148; CFG_37148: assume { :LIR "37148" } { :back_translation "block" } true; } procedure routine_#33731_luaD_call(local_#3772_L_IN : { base : int, offset : int }, local_#3773_func_IN : { base : int, offset : int }, local_#3774_nResults_IN : int) returns () modifies _memory, _memory_ptr; { var local_#3772_L : { base : int, offset : int }; var local_#3773_func : { base : int, offset : int }; var local_#3774_nResults : int; var local_#8485 : int; var local_#8486 : int; var local_#8487 : int; var local_#8488 : int; var local_#8489 : int; var local_#8490 : int; var local_#8491 : int; var local_#8492 : int; var local_#8493 : int; havoc local_#3772_L; havoc local_#3773_func; havoc local_#3774_nResults; havoc local_#8485; havoc local_#8486; havoc local_#8487; havoc local_#8488; havoc local_#8489; havoc local_#8490; havoc local_#8491; havoc local_#8492; havoc local_#8493; local_#3772_L := local_#3772_L_IN; local_#3773_func := local_#3773_func_IN; local_#3774_nResults := local_#3774_nResults_IN; goto CFG_36239; CFG_36239: assume { :LIR "36239" } { :back_translation "block" } true; goto CFG_49061; CFG_49061: assume { :LIR "49061" } { :back_translation "block" } true; assume { :LIR "71252" } { :back_translation "visiting" } true; local_#8485 := 1; assume { :LIR "66364" } { :back_translation "visiting" } true; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }] := ~uwrap16(_memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }] + local_#8485); assume { :LIR "62149" } { :back_translation "visiting" } true; local_#8486 := _memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }]; assume { :LIR "71253" } { :back_translation "visiting" } true; local_#8487 := 200; assume { :LIR "65693" } { :back_translation "visiting" } true; local_#8488 := (if local_#8486 >= local_#8487 then 1 else 0); if (local_#8488 != 0) { assume { :LIR "45299" } { :back_translation "taking-then-branch" } true; goto CFG_45299; } else { assume { :LIR "45300" } { :back_translation "taking-else-branch" } true; goto CFG_45300; } CFG_45299: assume { :LIR "45299" } { :back_translation "block" } true; assume { :LIR "78842" } { :back_translation "visiting" } true; call routine_#35078_stackerror(local_#3772_L); goto CFG_39778; CFG_39778: assume { :LIR "39778" } { :back_translation "block" } true; goto CFG_45300; CFG_45300: assume { :LIR "45300" } { :back_translation "block" } true; assume { :LIR "78843" } { :back_translation "visiting" } true; call local_#8489 := routine_#33738_luaD_precall(local_#3772_L,local_#3773_func,local_#3774_nResults); goto CFG_49062; CFG_49062: assume { :LIR "49062" } { :back_translation "block" } true; assume { :LIR "64486" } { :back_translation "visiting" } true; local_#8490 := (if local_#8489 != 0 then 0 else 1); if (local_#8490 != 0) { assume { :LIR "45301" } { :back_translation "taking-then-branch" } true; goto CFG_45301; } else { assume { :LIR "39079" } { :back_translation "taking-else-branch" } true; goto CFG_39079; } CFG_45301: assume { :LIR "45301" } { :back_translation "block" } true; assume { :LIR "78844" } { :back_translation "visiting" } true; call routine_#33894_luaV_execute(local_#3772_L); goto CFG_39779; CFG_39779: assume { :LIR "39779" } { :back_translation "block" } true; goto CFG_39079; CFG_39079: assume { :LIR "39079" } { :back_translation "block" } true; assume { :LIR "51637" } { :back_translation "assignment" } true; local_#8491 := _memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }]; assume { :LIR "71254" } { :back_translation "visiting" } true; local_#8492 := 1; assume { :LIR "67855" } { :back_translation "visiting" } true; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }] := ~uwrap16(local_#8491 - local_#8492); assume { :LIR "51638" } { :back_translation "assignment" } true; local_#8493 := local_#8491; goto CFG_37150; CFG_37150: assume { :LIR "37150" } { :back_translation "block" } true; } procedure routine_#33733_luaD_growstack(local_#3778_L_IN : { base : int, offset : int }, local_#3779_n_IN : int) returns () { var local_#3778_L : { base : int, offset : int }; var local_#3779_n : int; var local_#31186_size : int; var local_#8500 : int; var local_#8501 : int; var local_#8502 : int; var local_#8503 : int; var local_#8504 : int; var local_#8505 : int; var local_#8506 : int; var local_#31187_needed : int; var local_#8507 : int; var local_#8508 : int; var local_#31188_newsize : int; var local_#8509 : int; var local_#8510 : int; var local_#8511 : int; var local_#8512 : int; var local_#8513 : int; havoc local_#3778_L; havoc local_#3779_n; havoc local_#31186_size; havoc local_#8500; havoc local_#8501; havoc local_#8502; havoc local_#8503; havoc local_#8504; havoc local_#8505; havoc local_#8506; havoc local_#31187_needed; havoc local_#8507; havoc local_#8508; havoc local_#31188_newsize; havoc local_#8509; havoc local_#8510; havoc local_#8511; havoc local_#8512; havoc local_#8513; local_#3778_L := local_#3778_L_IN; local_#3779_n := local_#3779_n_IN; goto CFG_36241; CFG_36241: assume { :LIR "36241" } { :back_translation "block" } true; goto CFG_49063; CFG_49063: assume { :LIR "49063" } { :back_translation "block" } true; assume { :LIR "51643" } { :back_translation "assignment" } true; local_#31186_size := _memory[{ base : local_#3778_L!base, offset : local_#3778_L!offset + 184 }]; assume { :LIR "71257" } { :back_translation "visiting" } true; local_#8500 := 1000000; assume { :LIR "65778" } { :back_translation "visiting" } true; local_#8501 := (if local_#31186_size > local_#8500 then 1 else 0); if (local_#8501 != 0) { assume { :LIR "41998" } { :back_translation "taking-then-branch" } true; goto _routine_#33733_luaD_growstack_SLICED_OUT_BLOCK; } else { assume { :LIR "49064" } { :back_translation "taking-else-branch" } true; goto CFG_49064; } CFG_49064: assume { :LIR "49064" } { :back_translation "block" } true; assume { :LIR "68413" } { :back_translation "visiting" } true; local_#8502 := (_memory_ptr[{ base : local_#3778_L!base, offset : local_#3778_L!offset + 16 }]!offset - _memory_ptr[{ base : local_#3778_L!base, offset : local_#3778_L!offset + 56 }]!offset) / 16; assume { :LIR "60113" } { :back_translation "visiting" } true; local_#8503 := local_#8502; assume { :LIR "66366" } { :back_translation "visiting" } true; local_#8504 := local_#8503 + local_#3779_n; assume { :LIR "71258" } { :back_translation "visiting" } true; local_#8505 := 5; assume { :LIR "66367" } { :back_translation "visiting" } true; local_#8506 := local_#8504 + local_#8505; assume { :LIR "51644" } { :back_translation "assignment" } true; local_#31187_needed := local_#8506; assume { :LIR "71259" } { :back_translation "visiting" } true; local_#8507 := 2; assume { :LIR "68492" } { :back_translation "visiting" } true; local_#8508 := local_#8507 * local_#31186_size; assume { :LIR "51645" } { :back_translation "assignment" } true; local_#31188_newsize := local_#8508; assume { :LIR "71260" } { :back_translation "visiting" } true; local_#8509 := 1000000; assume { :LIR "65779" } { :back_translation "visiting" } true; local_#8510 := (if local_#31188_newsize > local_#8509 then 1 else 0); if (local_#8510 != 0) { assume { :LIR "39780" } { :back_translation "taking-then-branch" } true; goto CFG_39780; } else { assume { :LIR "49065" } { :back_translation "taking-else-branch" } true; goto CFG_49065; } CFG_39780: assume { :LIR "39780" } { :back_translation "block" } true; assume { :LIR "71261" } { :back_translation "visiting" } true; local_#31188_newsize := 1000000; goto CFG_49065; CFG_49065: assume { :LIR "49065" } { :back_translation "block" } true; assume { :LIR "66129" } { :back_translation "visiting" } true; local_#8511 := (if local_#31188_newsize < local_#31187_needed then 1 else 0); if (local_#8511 != 0) { assume { :LIR "39781" } { :back_translation "taking-then-branch" } true; goto CFG_39781; } else { assume { :LIR "49066" } { :back_translation "taking-else-branch" } true; goto CFG_49066; } CFG_39781: assume { :LIR "39781" } { :back_translation "block" } true; assume { :LIR "51646" } { :back_translation "assignment" } true; local_#31188_newsize := local_#31187_needed; goto CFG_49066; CFG_49066: assume { :LIR "49066" } { :back_translation "block" } true; assume { :LIR "71262" } { :back_translation "visiting" } true; local_#8512 := 1000000; assume { :LIR "65780" } { :back_translation "visiting" } true; local_#8513 := (if local_#31188_newsize > local_#8512 then 1 else 0); if (local_#8513 != 0) { assume { :LIR "41996" } { :back_translation "taking-then-branch" } true; goto _routine_#33733_luaD_growstack_SLICED_OUT_BLOCK; } else { assume { :LIR "45303" } { :back_translation "taking-else-branch" } true; goto CFG_45303; } CFG_45303: assume { :LIR "45303" } { :back_translation "block" } true; assume { :LIR "78846" } { :back_translation "visiting" } true; call routine_#33741_luaD_reallocstack(local_#3778_L,local_#31188_newsize); goto CFG_39782; CFG_39782: assume { :LIR "39782" } { :back_translation "block" } true; goto CFG_39783; CFG_39783: assume { :LIR "39783" } { :back_translation "block" } true; goto CFG_39081; CFG_39081: assume { :LIR "39081" } { :back_translation "block" } true; goto CFG_37152; CFG_37152: assume { :LIR "37152" } { :back_translation "block" } true; _routine_#33733_luaD_growstack_SLICED_OUT_BLOCK: assume false; } procedure routine_#33734_luaD_hook(local_#3780_L_IN : { base : int, offset : int }, local_#3781_event_IN : int, local_#3782_line_IN : int) returns () { var local_#3780_L : { base : int, offset : int }; var local_#3781_event : int; var local_#3782_line : int; havoc local_#3780_L; havoc local_#3781_event; havoc local_#3782_line; local_#3780_L := local_#3780_L_IN; local_#3781_event := local_#3781_event_IN; local_#3782_line := local_#3782_line_IN; } procedure routine_#33737_luaD_poscall(local_#3789_L_IN : { base : int, offset : int }, local_#3790_ci_IN : { base : int, offset : int }, local_#3791_firstResult_IN : { base : int, offset : int }, local_#3792_nres_IN : int) returns (local_#7760 : int) modifies _memory_ptr; { var local_#3789_L : { base : int, offset : int }; var local_#3790_ci : { base : int, offset : int }; var local_#3791_firstResult : { base : int, offset : int }; var local_#3792_nres : int; var local_#8578 : int; var local_#31201_wanted : int; var local_#8579 : int; var local_#8580 : int; var local_#8581 : int; var local_#8582 : int; var local_#8583 : { base : int, offset : int }; var local_#8584 : { base : int, offset : int }; var local_#8585 : int; var local_#31202_fr : int; var local_#8586 : int; var local_#8587 : int; var local_#8588 : { base : int, offset : int }; var local_#8589 : { base : int, offset : int }; var local_#8590 : { base : int, offset : int }; var local_#8591 : { base : int, offset : int }; var local_#8592 : { base : int, offset : int }; var local_#31200_res : { base : int, offset : int }; var local_#8593 : { base : int, offset : int }; var local_#8594 : int; havoc local_#7760; havoc local_#3789_L; havoc local_#3790_ci; havoc local_#3791_firstResult; havoc local_#3792_nres; havoc local_#8578; havoc local_#31201_wanted; havoc local_#8579; havoc local_#8580; havoc local_#8581; havoc local_#8582; havoc local_#8583; havoc local_#8584; havoc local_#8585; havoc local_#31202_fr; havoc local_#8586; havoc local_#8587; havoc local_#8588; havoc local_#8589; havoc local_#8590; havoc local_#8591; havoc local_#8592; havoc local_#31200_res; havoc local_#8593; havoc local_#8594; local_#3789_L := local_#3789_L_IN; local_#3790_ci := local_#3790_ci_IN; local_#3791_firstResult := local_#3791_firstResult_IN; local_#3792_nres := local_#3792_nres_IN; goto CFG_36245; CFG_36245: assume { :LIR "36245" } { :back_translation "block" } true; goto CFG_49072; CFG_49072: assume { :LIR "49072" } { :back_translation "block" } true; assume { :LIR "62155" } { :back_translation "visiting" } true; local_#8578 := _memory[{ base : local_#3790_ci!base, offset : local_#3790_ci!offset + 64 }]; assume { :LIR "51674" } { :back_translation "assignment" } true; local_#31201_wanted := local_#8578; assume { :LIR "71286" } { :back_translation "visiting" } true; local_#8579 := 6; assume { :LIR "68679" } { :back_translation "visiting" } true; local_#8580 := ~sand32(_memory[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 200 }], local_#8579); if (local_#8580 != 0) { assume { :LIR "49073" } { :back_translation "taking-then-branch" } true; goto CFG_49073; } else { assume { :LIR "42006" } { :back_translation "taking-else-branch" } true; goto CFG_42006; } CFG_49073: assume { :LIR "49073" } { :back_translation "block" } true; assume { :LIR "71287" } { :back_translation "visiting" } true; local_#8581 := 2; assume { :LIR "68680" } { :back_translation "visiting" } true; local_#8582 := ~sand32(_memory[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 200 }], local_#8581); if (local_#8582 != 0) { assume { :LIR "42005" } { :back_translation "taking-then-branch" } true; goto CFG_42005; } else { assume { :LIR "39791" } { :back_translation "taking-else-branch" } true; goto CFG_39791; } CFG_42005: assume { :LIR "42005" } { :back_translation "block" } true; assume { :LIR "60134" } { :back_translation "visiting" } true; local_#8583 := local_#3791_firstResult; assume { :LIR "60135" } { :back_translation "visiting" } true; local_#8584 := _memory_ptr[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 56 }]; assume { :LIR "68418" } { :back_translation "visiting" } true; local_#8585 := (local_#8583!offset - local_#8584!offset) / 1; assume { :LIR "51675" } { :back_translation "assignment" } true; local_#31202_fr := local_#8585; assume { :LIR "71288" } { :back_translation "visiting" } true; local_#8586 := 1; assume { :LIR "71289" } { :back_translation "visiting" } true; local_#8587 := -1; goto CFG_45314; CFG_45314: assume { :LIR "45314" } { :back_translation "block" } true; assume { :LIR "78856" } { :back_translation "visiting" } true; call routine_#33734_luaD_hook(local_#3789_L,local_#8586,local_#8587); goto CFG_39790; CFG_39790: assume { :LIR "39790" } { :back_translation "block" } true; assume { :LIR "60136" } { :back_translation "visiting" } true; local_#8588 := _memory_ptr[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 56 }]; assume { :LIR "66935" } { :back_translation "visiting" } true; local_#8589 := { base : local_#8588!base, offset : local_#8588!offset + local_#31202_fr * 1 }; assume { :LIR "60137" } { :back_translation "visiting" } true; local_#8590 := local_#8589; assume { :LIR "51676" } { :back_translation "assignment" } true; local_#3791_firstResult := local_#8590; goto CFG_39791; CFG_39791: assume { :LIR "39791" } { :back_translation "block" } true; assume { :LIR "51677" } { :back_translation "assignment" } true; local_#8591 := _memory_ptr[{ base : local_#3790_ci!base, offset : local_#3790_ci!offset + 16 }]; assume { :LIR "51678" } { :back_translation "assignment" } true; local_#8592 := { base : local_#8591!base, offset : local_#8591!offset + 32 }; assume { :LIR "51679" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 40 }] := _memory_ptr[{ base : local_#8592!base, offset : local_#8592!offset + 8 }]; goto CFG_42006; CFG_42006: assume { :LIR "42006" } { :back_translation "block" } true; assume { :LIR "51680" } { :back_translation "assignment" } true; local_#31200_res := _memory_ptr[{ base : local_#3790_ci!base, offset : local_#3790_ci!offset + 0 }]; assume { :LIR "51681" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 32 }] := _memory_ptr[{ base : local_#3790_ci!base, offset : local_#3790_ci!offset + 16 }]; assume { :LIR "62156" } { :back_translation "visiting" } true; local_#8593 := local_#3791_firstResult; goto CFG_45315; CFG_45315: assume { :LIR "45315" } { :back_translation "block" } true; assume { :LIR "78857" } { :back_translation "visiting" } true; call local_#8594 := routine_#34951_moveresults(local_#3789_L,local_#8593,local_#31200_res,local_#3792_nres,local_#31201_wanted); goto CFG_38052; CFG_38052: assume { :LIR "38052" } { :back_translation "block" } true; assume { :LIR "51682" } { :back_translation "assignment" } true; local_#7760 := local_#8594; goto CFG_37156; CFG_37156: assume { :LIR "37156" } { :back_translation "block" } true; } procedure routine_#33738_luaD_precall(local_#3793_L_IN : { base : int, offset : int }, local_#3794_func_IN : { base : int, offset : int }, local_#3795_nresults_IN : int) returns (local_#7761 : int) modifies _memory, _memory_ptr; { var local_#3793_L : { base : int, offset : int }; var local_#3794_func : { base : int, offset : int }; var local_#3795_nresults : int; var local_#8595 : int; var local_#8596 : int; var local_#8597 : int; var local_#8598 : int; var local_#8599 : int; var local_#8600 : int; var local_#8601 : int; var local_#8602 : { base : int, offset : int }; var local_#8603 : { base : int, offset : int }; var local_#8604 : int; var local_#31212_t__ : int; var local_#8605 : { base : int, offset : int }; var local_#8606 : int; var local_#8607 : int; var local_#8608 : int; var local_#8609 : int; var local_#8610 : int; var local_#8611 : int; var local_#8612 : int; var local_#8613 : int; var local_#8614 : int; var local_#8615 : { base : int, offset : int }; var local_#8616 : { base : int, offset : int }; var local_#8617 : { base : int, offset : int }; var local_#8618 : int; var local_#8619 : { base : int, offset : int }; var local_#8620 : { base : int, offset : int }; var local_#8621 : { base : int, offset : int }; var local_#8622 : { base : int, offset : int }; var local_#31210_p : { base : int, offset : int }; var local_#8623 : int; var local_#8624 : int; var local_#8625 : int; var local_#8626 : int; var local_#31209_n : int; var local_#8627 : int; var local_#31208_fsize : int; var local_#8628 : int; var local_#8629 : int; var local_#8630 : int; var local_#8631 : int; var local_#8632 : int; var local_#8633 : { base : int, offset : int }; var local_#8634 : { base : int, offset : int }; var local_#8635 : int; var local_#31211_t__ : int; var local_#8636 : { base : int, offset : int }; var local_#8637 : int; var local_#8638 : int; var local_#8639 : int; var local_#8640 : int; var local_#8641 : int; var local_#8642 : int; var local_#8643 : int; var local_#8644 : int; var local_#8645 : { base : int, offset : int }; var local_#8646 : { base : int, offset : int }; var local_#8647 : { base : int, offset : int }; var local_#8648 : int; var local_#8649 : int; var local_#8650 : int; var local_#8651 : int; var local_#8652 : { base : int, offset : int }; var local_#31207_base : { base : int, offset : int }; var local_#8653 : int; var local_#8654 : { base : int, offset : int }; var local_#8655 : int; var local_#8656 : int; var local_#8657 : int; var local_#8658 : int; var local_#8659 : { base : int, offset : int }; var local_#8660 : { base : int, offset : int }; var local_#8661 : { base : int, offset : int }; var local_#8662 : { base : int, offset : int }; var local_#30598 : { base : int, offset : int }; var local_#8663 : { base : int, offset : int }; var local_#31203_ci : { base : int, offset : int }; var local_#8664 : int; var local_#8665 : { base : int, offset : int }; var local_#8666 : { base : int, offset : int }; var local_#8667 : int; var local_#8668 : int; var local_#8669 : { base : int, offset : int }; var local_#8670 : { base : int, offset : int }; var local_#8671 : int; var local_#8672 : int; var local_#8673 : { base : int, offset : int }; var local_#31204_f : { base : int, offset : int }; var local_#8674 : { base : int, offset : int }; var local_#8675 : { base : int, offset : int }; var local_#8676 : { base : int, offset : int }; var local_#8677 : { base : int, offset : int }; var local_#8678 : int; var local_#8679 : int; var local_#8680 : int; var local_#8681 : int; var local_#8682 : int; var local_#8683 : { base : int, offset : int }; var local_#8684 : { base : int, offset : int }; var local_#8685 : int; var local_#31206_t__ : int; var local_#8686 : { base : int, offset : int }; var local_#8687 : int; var local_#8688 : int; var local_#8689 : int; var local_#8690 : int; var local_#8691 : int; var local_#8692 : int; var local_#8693 : int; var local_#8694 : int; var local_#8695 : int; var local_#8696 : { base : int, offset : int }; var local_#8697 : { base : int, offset : int }; var local_#8698 : { base : int, offset : int }; var local_#8699 : { base : int, offset : int }; var local_#8700 : { base : int, offset : int }; var local_#8701 : { base : int, offset : int }; var local_#30599 : { base : int, offset : int }; var local_#8702 : { base : int, offset : int }; var local_#8703 : int; var local_#8704 : int; var local_#8705 : { base : int, offset : int }; var local_#8706 : int; var local_#8707 : int; var local_#8708 : int; var local_#8709 : int; var local_#8710 : int; var local_#8711 : int; var local_#8712 : int; var local_#8713 : int; var local_#8714 : int; var local_#31205_n : int; var local_#8715 : int; var local_#8716 : int; var local_#8717 : int; var local_#8718 : int; var local_#8719 : { base : int, offset : int }; var local_#8720 : int; havoc local_#7761; havoc local_#3793_L; havoc local_#3794_func; havoc local_#3795_nresults; havoc local_#8595; havoc local_#8596; havoc local_#8597; havoc local_#8598; havoc local_#8599; havoc local_#8600; havoc local_#8601; havoc local_#8602; havoc local_#8603; havoc local_#8604; havoc local_#31212_t__; havoc local_#8605; havoc local_#8606; havoc local_#8607; havoc local_#8608; havoc local_#8609; havoc local_#8610; havoc local_#8611; havoc local_#8612; havoc local_#8613; havoc local_#8614; havoc local_#8615; havoc local_#8616; havoc local_#8617; havoc local_#8618; havoc local_#8619; havoc local_#8620; havoc local_#8621; havoc local_#8622; havoc local_#31210_p; havoc local_#8623; havoc local_#8624; havoc local_#8625; havoc local_#8626; havoc local_#31209_n; havoc local_#8627; havoc local_#31208_fsize; havoc local_#8628; havoc local_#8629; havoc local_#8630; havoc local_#8631; havoc local_#8632; havoc local_#8633; havoc local_#8634; havoc local_#8635; havoc local_#31211_t__; havoc local_#8636; havoc local_#8637; havoc local_#8638; havoc local_#8639; havoc local_#8640; havoc local_#8641; havoc local_#8642; havoc local_#8643; havoc local_#8644; havoc local_#8645; havoc local_#8646; havoc local_#8647; havoc local_#8648; havoc local_#8649; havoc local_#8650; havoc local_#8651; havoc local_#8652; havoc local_#31207_base; havoc local_#8653; havoc local_#8654; havoc local_#8655; havoc local_#8656; havoc local_#8657; havoc local_#8658; havoc local_#8659; havoc local_#8660; havoc local_#8661; havoc local_#8662; havoc local_#30598; havoc local_#8663; havoc local_#31203_ci; havoc local_#8664; havoc local_#8665; havoc local_#8666; havoc local_#8667; havoc local_#8668; havoc local_#8669; havoc local_#8670; havoc local_#8671; havoc local_#8672; havoc local_#8673; havoc local_#31204_f; havoc local_#8674; havoc local_#8675; havoc local_#8676; havoc local_#8677; havoc local_#8678; havoc local_#8679; havoc local_#8680; havoc local_#8681; havoc local_#8682; havoc local_#8683; havoc local_#8684; havoc local_#8685; havoc local_#31206_t__; havoc local_#8686; havoc local_#8687; havoc local_#8688; havoc local_#8689; havoc local_#8690; havoc local_#8691; havoc local_#8692; havoc local_#8693; havoc local_#8694; havoc local_#8695; havoc local_#8696; havoc local_#8697; havoc local_#8698; havoc local_#8699; havoc local_#8700; havoc local_#8701; havoc local_#30599; havoc local_#8702; havoc local_#8703; havoc local_#8704; havoc local_#8705; havoc local_#8706; havoc local_#8707; havoc local_#8708; havoc local_#8709; havoc local_#8710; havoc local_#8711; havoc local_#8712; havoc local_#8713; havoc local_#8714; havoc local_#31205_n; havoc local_#8715; havoc local_#8716; havoc local_#8717; havoc local_#8718; havoc local_#8719; havoc local_#8720; local_#3793_L := local_#3793_L_IN; local_#3794_func := local_#3794_func_IN; local_#3795_nresults := local_#3795_nresults_IN; goto CFG_36246; CFG_36246: assume { :LIR "36246" } { :back_translation "block" } true; goto CFG_51500; CFG_51500: assume { :LIR "51500" } { :back_translation "block" } true; assume { :LIR "71290" } { :back_translation "visiting" } true; local_#8595 := 63; assume { :LIR "68681" } { :back_translation "visiting" } true; local_#8596 := ~sand32(_memory[{ base : local_#3794_func!base, offset : local_#3794_func!offset + 8 }], local_#8595); if (local_#8596 == 38) { goto CFG_45238; } if (local_#8596 == 22) { goto CFG_41897; } if (local_#8596 == 6) { goto CFG_49076; } goto CFG_49074; CFG_49074: assume { :LIR "49074" } { :back_translation "block" } true; assume { :LIR "68419" } { :back_translation "visiting" } true; local_#8597 := (_memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset) / 16; assume { :LIR "71291" } { :back_translation "visiting" } true; local_#8598 := 1; assume { :LIR "65999" } { :back_translation "visiting" } true; local_#8599 := (if local_#8597 <= local_#8598 then 1 else 0); if (local_#8599 != 0) { assume { :LIR "49075" } { :back_translation "taking-then-branch" } true; goto CFG_49075; } else { assume { :LIR "39792" } { :back_translation "taking-else-branch" } true; goto CFG_39792; } CFG_39792: assume { :LIR "39792" } { :back_translation "block" } true; assume { :LIR "71292" } { :back_translation "visiting" } true; local_#8600 := 0; assume { :LIR "60138" } { :back_translation "visiting" } true; local_#8601 := 0; goto CFG_45318; CFG_49075: assume { :LIR "49075" } { :back_translation "block" } true; assume { :LIR "60139" } { :back_translation "visiting" } true; local_#8602 := local_#3794_func; assume { :LIR "60140" } { :back_translation "visiting" } true; local_#8603 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assume { :LIR "68420" } { :back_translation "visiting" } true; local_#8604 := (local_#8602!offset - local_#8603!offset) / 1; assume { :LIR "51683" } { :back_translation "assignment" } true; local_#31212_t__ := local_#8604; assume { :LIR "51684" } { :back_translation "assignment" } true; local_#8605 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 24 }]; assume { :LIR "71293" } { :back_translation "visiting" } true; local_#8606 := 0; assume { :LIR "65781" } { :back_translation "visiting" } true; local_#8607 := (if _memory[{ base : local_#8605!base, offset : local_#8605!offset + 24 }] > local_#8606 then 1 else 0); if (local_#8607 != 0) { assume { :LIR "42007" } { :back_translation "taking-then-branch" } true; goto CFG_42007; } else { assume { :LIR "42008" } { :back_translation "taking-else-branch" } true; goto CFG_42008; } CFG_42007: assume { :LIR "42007" } { :back_translation "block" } true; assume { :LIR "71294" } { :back_translation "visiting" } true; local_#8608 := 0; assume { :LIR "60141" } { :back_translation "visiting" } true; local_#8609 := 0; goto CFG_45316; CFG_45316: assume { :LIR "45316" } { :back_translation "block" } true; assume { :LIR "78858" } { :back_translation "visiting" } true; call routine_#33728_luaC_step(local_#3793_L); goto CFG_39793; CFG_39793: assume { :LIR "39793" } { :back_translation "block" } true; assume { :LIR "71295" } { :back_translation "visiting" } true; local_#8610 := 0; assume { :LIR "60142" } { :back_translation "visiting" } true; local_#8611 := 0; goto CFG_42008; CFG_42008: assume { :LIR "42008" } { :back_translation "block" } true; assume { :LIR "71296" } { :back_translation "visiting" } true; local_#8612 := 0; assume { :LIR "60143" } { :back_translation "visiting" } true; local_#8613 := 0; assume { :LIR "71297" } { :back_translation "visiting" } true; local_#8614 := 1; goto CFG_45317; CFG_45317: assume { :LIR "45317" } { :back_translation "block" } true; assume { :LIR "78859" } { :back_translation "visiting" } true; call routine_#33733_luaD_growstack(local_#3793_L,local_#8614); goto CFG_39794; CFG_39794: assume { :LIR "39794" } { :back_translation "block" } true; assume { :LIR "60144" } { :back_translation "visiting" } true; local_#8615 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assume { :LIR "66936" } { :back_translation "visiting" } true; local_#8616 := { base : local_#8615!base, offset : local_#8615!offset + local_#31212_t__ * 1 }; assume { :LIR "60145" } { :back_translation "visiting" } true; local_#8617 := local_#8616; assume { :LIR "51685" } { :back_translation "assignment" } true; local_#3794_func := local_#8617; goto CFG_45318; CFG_45318: assume { :LIR "45318" } { :back_translation "block" } true; assume { :LIR "78860" } { :back_translation "visiting" } true; call routine_#35127_tryfuncTM(local_#3793_L,local_#3794_func); goto CFG_45319; CFG_45319: assume { :LIR "45319" } { :back_translation "block" } true; assume { :LIR "78861" } { :back_translation "visiting" } true; call local_#8618 := routine_#33738_luaD_precall(local_#3793_L,local_#3794_func,local_#3795_nresults); goto CFG_38053; CFG_38053: assume { :LIR "38053" } { :back_translation "block" } true; assume { :LIR "51686" } { :back_translation "assignment" } true; local_#7761 := local_#8618; goto CFG_37157; CFG_49076: assume { :LIR "49076" } { :back_translation "block" } true; assume { :LIR "51687" } { :back_translation "assignment" } true; local_#8619 := { base : local_#3794_func!base, offset : local_#3794_func!offset + 0 }; assume { :LIR "60146" } { :back_translation "visiting" } true; local_#8620 := _memory_ptr[local_#8619]; assume { :LIR "51688" } { :back_translation "assignment" } true; local_#8621 := { base : local_#8620!base, offset : local_#8620!offset + 0 }; assume { :LIR "51689" } { :back_translation "assignment" } true; local_#8622 := { base : local_#8621!base, offset : local_#8621!offset + 0 }; assume { :LIR "51690" } { :back_translation "assignment" } true; local_#31210_p := _memory_ptr[{ base : local_#8622!base, offset : local_#8622!offset + 24 }]; assume { :LIR "68421" } { :back_translation "visiting" } true; local_#8623 := (_memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset - local_#3794_func!offset) / 16; assume { :LIR "60147" } { :back_translation "visiting" } true; local_#8624 := local_#8623; assume { :LIR "71298" } { :back_translation "visiting" } true; local_#8625 := 1; assume { :LIR "67857" } { :back_translation "visiting" } true; local_#8626 := local_#8624 - local_#8625; assume { :LIR "51691" } { :back_translation "assignment" } true; local_#31209_n := local_#8626; assume { :LIR "62157" } { :back_translation "visiting" } true; local_#8627 := _memory[{ base : local_#31210_p!base, offset : local_#31210_p!offset + 12 }]; assume { :LIR "51692" } { :back_translation "assignment" } true; local_#31208_fsize := local_#8627; assume { :LIR "68422" } { :back_translation "visiting" } true; local_#8628 := (_memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset) / 16; assume { :LIR "62158" } { :back_translation "visiting" } true; local_#8629 := local_#31208_fsize; assume { :LIR "66000" } { :back_translation "visiting" } true; local_#8630 := (if local_#8628 <= local_#8629 then 1 else 0); if (local_#8630 != 0) { assume { :LIR "49077" } { :back_translation "taking-then-branch" } true; goto CFG_49077; } else { assume { :LIR "39795" } { :back_translation "taking-else-branch" } true; goto CFG_39795; } CFG_39795: assume { :LIR "39795" } { :back_translation "block" } true; assume { :LIR "71299" } { :back_translation "visiting" } true; local_#8631 := 0; assume { :LIR "60148" } { :back_translation "visiting" } true; local_#8632 := 0; goto CFG_49078; CFG_49077: assume { :LIR "49077" } { :back_translation "block" } true; assume { :LIR "60149" } { :back_translation "visiting" } true; local_#8633 := local_#3794_func; assume { :LIR "60150" } { :back_translation "visiting" } true; local_#8634 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assume { :LIR "68423" } { :back_translation "visiting" } true; local_#8635 := (local_#8633!offset - local_#8634!offset) / 1; assume { :LIR "51693" } { :back_translation "assignment" } true; local_#31211_t__ := local_#8635; assume { :LIR "51694" } { :back_translation "assignment" } true; local_#8636 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 24 }]; assume { :LIR "71300" } { :back_translation "visiting" } true; local_#8637 := 0; assume { :LIR "65782" } { :back_translation "visiting" } true; local_#8638 := (if _memory[{ base : local_#8636!base, offset : local_#8636!offset + 24 }] > local_#8637 then 1 else 0); if (local_#8638 != 0) { assume { :LIR "42009" } { :back_translation "taking-then-branch" } true; goto CFG_42009; } else { assume { :LIR "42010" } { :back_translation "taking-else-branch" } true; goto CFG_42010; } CFG_42009: assume { :LIR "42009" } { :back_translation "block" } true; assume { :LIR "71301" } { :back_translation "visiting" } true; local_#8639 := 0; assume { :LIR "60151" } { :back_translation "visiting" } true; local_#8640 := 0; goto CFG_45320; CFG_45320: assume { :LIR "45320" } { :back_translation "block" } true; assume { :LIR "78862" } { :back_translation "visiting" } true; call routine_#33728_luaC_step(local_#3793_L); goto CFG_39796; CFG_39796: assume { :LIR "39796" } { :back_translation "block" } true; assume { :LIR "71302" } { :back_translation "visiting" } true; local_#8641 := 0; assume { :LIR "60152" } { :back_translation "visiting" } true; local_#8642 := 0; goto CFG_42010; CFG_42010: assume { :LIR "42010" } { :back_translation "block" } true; assume { :LIR "71303" } { :back_translation "visiting" } true; local_#8643 := 0; assume { :LIR "60153" } { :back_translation "visiting" } true; local_#8644 := 0; goto CFG_45321; CFG_45321: assume { :LIR "45321" } { :back_translation "block" } true; assume { :LIR "78863" } { :back_translation "visiting" } true; call routine_#33733_luaD_growstack(local_#3793_L,local_#31208_fsize); goto CFG_39797; CFG_39797: assume { :LIR "39797" } { :back_translation "block" } true; assume { :LIR "60154" } { :back_translation "visiting" } true; local_#8645 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assume { :LIR "66937" } { :back_translation "visiting" } true; local_#8646 := { base : local_#8645!base, offset : local_#8645!offset + local_#31211_t__ * 1 }; assume { :LIR "60155" } { :back_translation "visiting" } true; local_#8647 := local_#8646; assume { :LIR "51695" } { :back_translation "assignment" } true; local_#3794_func := local_#8647; goto CFG_49078; CFG_49078: assume { :LIR "49078" } { :back_translation "block" } true; assume { :LIR "51696" } { :back_translation "assignment" } true; local_#8648 := _memory[{ base : local_#31210_p!base, offset : local_#31210_p!offset + 11 }]; if (local_#8648 != 0) { assume { :LIR "45322" } { :back_translation "taking-then-branch" } true; goto CFG_45322; } else { assume { :LIR "41618" } { :back_translation "taking-else-branch" } true; goto CFG_41618; } CFG_41618: assume { :LIR "41618" } { :back_translation "block" } true; goto CFG_49079; CFG_49079: assume { :LIR "49079" } { :back_translation "block" } true; assume { :LIR "62159" } { :back_translation "visiting" } true; local_#8649 := _memory[{ base : local_#31210_p!base, offset : local_#31210_p!offset + 10 }]; assume { :LIR "66130" } { :back_translation "visiting" } true; local_#8650 := (if local_#31209_n < local_#8649 then 1 else 0); if (local_#8650 != 0) { assume { :LIR "42011" } { :back_translation "taking-then-branch" } true; goto CFG_42011; } else { assume { :LIR "39798" } { :back_translation "taking-else-branch" } true; goto CFG_39798; } CFG_39798: assume { :LIR "39798" } { :back_translation "block" } true; assume { :LIR "71304" } { :back_translation "visiting" } true; local_#8651 := 1; assume { :LIR "66938" } { :back_translation "visiting" } true; local_#8652 := { base : local_#3794_func!base, offset : local_#3794_func!offset + local_#8651 * 16 }; assume { :LIR "51697" } { :back_translation "assignment" } true; local_#31207_base := local_#8652; goto CFG_49080; CFG_42011: assume { :LIR "42011" } { :back_translation "block" } true; assume { :LIR "71305" } { :back_translation "visiting" } true; local_#8653 := 0; assume { :LIR "51698" } { :back_translation "assignment" } true; local_#8654 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]; assume { :LIR "71306" } { :back_translation "visiting" } true; local_#8655 := 1; assume { :LIR "66939" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }] := { base : local_#8654!base, offset : local_#8654!offset + local_#8655 * 16 }; assume { :LIR "51699" } { :back_translation "assignment" } true; _memory[{ base : local_#8654!base, offset : local_#8654!offset + 8 }] := local_#8653; goto CFG_44959; CFG_44959: assume { :LIR "44959" } { :back_translation "block" } true; assume { :LIR "51700" } { :back_translation "assignment" } true; local_#8656 := local_#31209_n; assume { :LIR "71307" } { :back_translation "visiting" } true; local_#8657 := 1; assume { :LIR "66368" } { :back_translation "visiting" } true; local_#31209_n := local_#8656 + local_#8657; assume { :LIR "51701" } { :back_translation "assignment" } true; local_#8658 := local_#8656; goto CFG_49079; CFG_45322: assume { :LIR "45322" } { :back_translation "block" } true; assume { :LIR "78864" } { :back_translation "visiting" } true; call local_#8659 := routine_#34580_adjust_varargs(local_#3793_L,local_#31210_p,local_#31209_n); goto CFG_39799; CFG_39799: assume { :LIR "39799" } { :back_translation "block" } true; assume { :LIR "51702" } { :back_translation "assignment" } true; local_#31207_base := local_#8659; goto CFG_49080; CFG_49080: assume { :LIR "49080" } { :back_translation "block" } true; assume { :LIR "51703" } { :back_translation "assignment" } true; local_#8660 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; assume { :LIR "51704" } { :back_translation "assignment" } true; local_#8661 := _memory_ptr[{ base : local_#8660!base, offset : local_#8660!offset + 24 }]; if (local_#8661 != { base : 0, offset : 0 }) { assume { :LIR "39801" } { :back_translation "taking-then-branch" } true; goto CFG_39801; } else { assume { :LIR "45323" } { :back_translation "taking-else-branch" } true; goto CFG_45323; } CFG_45323: assume { :LIR "45323" } { :back_translation "block" } true; assume { :LIR "78865" } { :back_translation "visiting" } true; call local_#8662 := routine_#33744_luaE_extendCI(local_#3793_L); goto CFG_39800; CFG_39800: assume { :LIR "39800" } { :back_translation "block" } true; assume { :LIR "51705" } { :back_translation "assignment" } true; local_#30598 := local_#8662; goto CFG_49081; CFG_39801: assume { :LIR "39801" } { :back_translation "block" } true; assume { :LIR "51706" } { :back_translation "assignment" } true; local_#8663 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; assume { :LIR "51707" } { :back_translation "assignment" } true; local_#30598 := _memory_ptr[{ base : local_#8663!base, offset : local_#8663!offset + 24 }]; goto CFG_49081; CFG_49081: assume { :LIR "49081" } { :back_translation "block" } true; assume { :LIR "51708" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }] := local_#30598; assume { :LIR "51709" } { :back_translation "assignment" } true; local_#31203_ci := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; assume { :LIR "62160" } { :back_translation "visiting" } true; local_#8664 := local_#3795_nresults; assume { :LIR "51710" } { :back_translation "assignment" } true; _memory[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 64 }] := local_#8664; assume { :LIR "51711" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 0 }] := local_#3794_func; assume { :LIR "51712" } { :back_translation "assignment" } true; local_#8665 := { base : local_#31203_ci!base, offset : local_#31203_ci!offset + 32 }; assume { :LIR "51713" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#8665!base, offset : local_#8665!offset + 0 }] := local_#31207_base; assume { :LIR "66940" } { :back_translation "visiting" } true; local_#8666 := { base : local_#31207_base!base, offset : local_#31207_base!offset + local_#31208_fsize * 16 }; assume { :LIR "51714" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 8 }] := local_#8666; assume { :LIR "51715" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }] := _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 8 }]; assume { :LIR "71308" } { :back_translation "visiting" } true; local_#8667 := 0; assume { :LIR "60156" } { :back_translation "visiting" } true; local_#8668 := 0; assume { :LIR "62161" } { :back_translation "visiting" } true; local_#8669 := _memory_ptr[{ base : local_#31210_p!base, offset : local_#31210_p!offset + 56 }]; assume { :LIR "51716" } { :back_translation "assignment" } true; local_#8670 := { base : local_#31203_ci!base, offset : local_#31203_ci!offset + 32 }; assume { :LIR "51717" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#8670!base, offset : local_#8670!offset + 8 }] := local_#8669; assume { :LIR "71309" } { :back_translation "visiting" } true; _memory[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 66 }] := 2; assume { :LIR "71310" } { :back_translation "visiting" } true; local_#8671 := 1; assume { :LIR "68682" } { :back_translation "visiting" } true; local_#8672 := ~sand32(_memory[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 200 }], local_#8671); if (local_#8672 != 0) { assume { :LIR "45324" } { :back_translation "taking-then-branch" } true; goto CFG_45324; } else { assume { :LIR "38054" } { :back_translation "taking-else-branch" } true; goto CFG_38054; } CFG_45324: assume { :LIR "45324" } { :back_translation "block" } true; assume { :LIR "78866" } { :back_translation "visiting" } true; call routine_#34619_callhook(local_#3793_L,local_#31203_ci); goto CFG_39802; CFG_39802: assume { :LIR "39802" } { :back_translation "block" } true; goto CFG_38054; CFG_38054: assume { :LIR "38054" } { :back_translation "block" } true; assume { :LIR "71311" } { :back_translation "visiting" } true; local_#7761 := 0; goto CFG_37157; CFG_41897: assume { :LIR "41897" } { :back_translation "block" } true; assume { :LIR "51718" } { :back_translation "assignment" } true; local_#8673 := { base : local_#3794_func!base, offset : local_#3794_func!offset + 0 }; assume { :LIR "51719" } { :back_translation "assignment" } true; local_#31204_f := _memory_ptr[local_#8673]; goto CFG_49082; CFG_45238: assume { :LIR "45238" } { :back_translation "block" } true; assume { :LIR "51720" } { :back_translation "assignment" } true; local_#8674 := { base : local_#3794_func!base, offset : local_#3794_func!offset + 0 }; assume { :LIR "60157" } { :back_translation "visiting" } true; local_#8675 := _memory_ptr[local_#8674]; assume { :LIR "51721" } { :back_translation "assignment" } true; local_#8676 := { base : local_#8675!base, offset : local_#8675!offset + 0 }; assume { :LIR "51722" } { :back_translation "assignment" } true; local_#8677 := { base : local_#8676!base, offset : local_#8676!offset + 0 }; assume { :LIR "51723" } { :back_translation "assignment" } true; local_#31204_f := _memory_ptr[{ base : local_#8677!base, offset : local_#8677!offset + 24 }]; goto CFG_49082; CFG_49082: assume { :LIR "49082" } { :back_translation "block" } true; assume { :LIR "68424" } { :back_translation "visiting" } true; local_#8678 := (_memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset) / 16; assume { :LIR "71312" } { :back_translation "visiting" } true; local_#8679 := 20; assume { :LIR "66001" } { :back_translation "visiting" } true; local_#8680 := (if local_#8678 <= local_#8679 then 1 else 0); if (local_#8680 != 0) { assume { :LIR "49083" } { :back_translation "taking-then-branch" } true; goto CFG_49083; } else { assume { :LIR "39803" } { :back_translation "taking-else-branch" } true; goto CFG_39803; } CFG_39803: assume { :LIR "39803" } { :back_translation "block" } true; assume { :LIR "71313" } { :back_translation "visiting" } true; local_#8681 := 0; assume { :LIR "60158" } { :back_translation "visiting" } true; local_#8682 := 0; goto CFG_49084; CFG_49083: assume { :LIR "49083" } { :back_translation "block" } true; assume { :LIR "60159" } { :back_translation "visiting" } true; local_#8683 := local_#3794_func; assume { :LIR "60160" } { :back_translation "visiting" } true; local_#8684 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assume { :LIR "68425" } { :back_translation "visiting" } true; local_#8685 := (local_#8683!offset - local_#8684!offset) / 1; assume { :LIR "51724" } { :back_translation "assignment" } true; local_#31206_t__ := local_#8685; assume { :LIR "51725" } { :back_translation "assignment" } true; local_#8686 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 24 }]; assume { :LIR "71314" } { :back_translation "visiting" } true; local_#8687 := 0; assume { :LIR "65783" } { :back_translation "visiting" } true; local_#8688 := (if _memory[{ base : local_#8686!base, offset : local_#8686!offset + 24 }] > local_#8687 then 1 else 0); if (local_#8688 != 0) { assume { :LIR "42012" } { :back_translation "taking-then-branch" } true; goto CFG_42012; } else { assume { :LIR "42013" } { :back_translation "taking-else-branch" } true; goto CFG_42013; } CFG_42012: assume { :LIR "42012" } { :back_translation "block" } true; assume { :LIR "71315" } { :back_translation "visiting" } true; local_#8689 := 0; assume { :LIR "60161" } { :back_translation "visiting" } true; local_#8690 := 0; goto CFG_45325; CFG_45325: assume { :LIR "45325" } { :back_translation "block" } true; assume { :LIR "78867" } { :back_translation "visiting" } true; call routine_#33728_luaC_step(local_#3793_L); goto CFG_39804; CFG_39804: assume { :LIR "39804" } { :back_translation "block" } true; assume { :LIR "71316" } { :back_translation "visiting" } true; local_#8691 := 0; assume { :LIR "60162" } { :back_translation "visiting" } true; local_#8692 := 0; goto CFG_42013; CFG_42013: assume { :LIR "42013" } { :back_translation "block" } true; assume { :LIR "71317" } { :back_translation "visiting" } true; local_#8693 := 0; assume { :LIR "60163" } { :back_translation "visiting" } true; local_#8694 := 0; assume { :LIR "71318" } { :back_translation "visiting" } true; local_#8695 := 20; goto CFG_45326; CFG_45326: assume { :LIR "45326" } { :back_translation "block" } true; assume { :LIR "78868" } { :back_translation "visiting" } true; call routine_#33733_luaD_growstack(local_#3793_L,local_#8695); goto CFG_39805; CFG_39805: assume { :LIR "39805" } { :back_translation "block" } true; assume { :LIR "60164" } { :back_translation "visiting" } true; local_#8696 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assume { :LIR "66941" } { :back_translation "visiting" } true; local_#8697 := { base : local_#8696!base, offset : local_#8696!offset + local_#31206_t__ * 1 }; assume { :LIR "60165" } { :back_translation "visiting" } true; local_#8698 := local_#8697; assume { :LIR "51726" } { :back_translation "assignment" } true; local_#3794_func := local_#8698; goto CFG_49084; CFG_49084: assume { :LIR "49084" } { :back_translation "block" } true; assume { :LIR "51727" } { :back_translation "assignment" } true; local_#8699 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; assume { :LIR "51728" } { :back_translation "assignment" } true; local_#8700 := _memory_ptr[{ base : local_#8699!base, offset : local_#8699!offset + 24 }]; if (local_#8700 != { base : 0, offset : 0 }) { assume { :LIR "39807" } { :back_translation "taking-then-branch" } true; goto CFG_39807; } else { assume { :LIR "45327" } { :back_translation "taking-else-branch" } true; goto CFG_45327; } CFG_45327: assume { :LIR "45327" } { :back_translation "block" } true; assume { :LIR "78869" } { :back_translation "visiting" } true; call local_#8701 := routine_#33744_luaE_extendCI(local_#3793_L); goto CFG_39806; CFG_39806: assume { :LIR "39806" } { :back_translation "block" } true; assume { :LIR "51729" } { :back_translation "assignment" } true; local_#30599 := local_#8701; goto CFG_49085; CFG_39807: assume { :LIR "39807" } { :back_translation "block" } true; assume { :LIR "51730" } { :back_translation "assignment" } true; local_#8702 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; assume { :LIR "51731" } { :back_translation "assignment" } true; local_#30599 := _memory_ptr[{ base : local_#8702!base, offset : local_#8702!offset + 24 }]; goto CFG_49085; CFG_49085: assume { :LIR "49085" } { :back_translation "block" } true; assume { :LIR "51732" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }] := local_#30599; assume { :LIR "51733" } { :back_translation "assignment" } true; local_#31203_ci := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; assume { :LIR "62162" } { :back_translation "visiting" } true; local_#8703 := local_#3795_nresults; assume { :LIR "51734" } { :back_translation "assignment" } true; _memory[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 64 }] := local_#8703; assume { :LIR "51735" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 0 }] := local_#3794_func; assume { :LIR "71319" } { :back_translation "visiting" } true; local_#8704 := 20; assume { :LIR "66942" } { :back_translation "visiting" } true; local_#8705 := { base : _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset + local_#8704 * 16 }; assume { :LIR "51736" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 8 }] := local_#8705; assume { :LIR "71320" } { :back_translation "visiting" } true; local_#8706 := 0; assume { :LIR "60166" } { :back_translation "visiting" } true; local_#8707 := 0; assume { :LIR "71321" } { :back_translation "visiting" } true; _memory[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 66 }] := 0; assume { :LIR "71322" } { :back_translation "visiting" } true; local_#8708 := 1; assume { :LIR "68683" } { :back_translation "visiting" } true; local_#8709 := ~sand32(_memory[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 200 }], local_#8708); if (local_#8709 != 0) { assume { :LIR "42014" } { :back_translation "taking-then-branch" } true; goto CFG_42014; } else { assume { :LIR "42015" } { :back_translation "taking-else-branch" } true; goto CFG_42015; } CFG_42014: assume { :LIR "42014" } { :back_translation "block" } true; assume { :LIR "71323" } { :back_translation "visiting" } true; local_#8710 := 0; assume { :LIR "71324" } { :back_translation "visiting" } true; local_#8711 := -1; goto CFG_45328; CFG_45328: assume { :LIR "45328" } { :back_translation "block" } true; assume { :LIR "78870" } { :back_translation "visiting" } true; call routine_#33734_luaD_hook(local_#3793_L,local_#8710,local_#8711); goto CFG_39808; CFG_39808: assume { :LIR "39808" } { :back_translation "block" } true; goto CFG_42015; CFG_42015: assume { :LIR "42015" } { :back_translation "block" } true; assume { :LIR "71325" } { :back_translation "visiting" } true; local_#8712 := 0; assume { :LIR "60167" } { :back_translation "visiting" } true; local_#8713 := 0; goto CFG_45329; CFG_45329: assume { :LIR "45329" } { :back_translation "block" } true; assume { :LIR "82571" } { :back_translation "visiting" } true; if (local_#31204_f == fun_addr_#34609_b_test) { call local_#8714 := routine_#34609_b_test(local_#3793_L); } else if (local_#31204_f == fun_addr_#34939_math_randomseed) { call local_#8714 := routine_#34939_math_randomseed(local_#3793_L); } else if (local_#31204_f == fun_addr_#34972_os_clock) { call local_#8714 := routine_#34972_os_clock(local_#3793_L); } else if (local_#31204_f == fun_addr_#34014_luaopen_package) { call local_#8714 := routine_#34014_luaopen_package(local_#3793_L); } else if (local_#31204_f == fun_addr_#34692_db_setupvalue) { call local_#8714 := routine_#34692_db_setupvalue(local_#3793_L); } else if (local_#31204_f == fun_addr_#34725_f_flush) { call local_#8714 := routine_#34725_f_flush(local_#3793_L); } else if (local_#31204_f == fun_addr_#34824_io_open) { call local_#8714 := routine_#34824_io_open(local_#3793_L); } else if (local_#31204_f == fun_addr_#34890_luaB_pcall) { call local_#8714 := routine_#34890_luaB_pcall(local_#3793_L); } else if (local_#31204_f == fun_addr_#34923_math_cos) { call local_#8714 := routine_#34923_math_cos(local_#3793_L); } else if (local_#31204_f == fun_addr_#35089_str_format) { call local_#8714 := routine_#35089_str_format(local_#3793_L); } else if (local_#31204_f == fun_addr_#34938_math_random) { call local_#8714 := routine_#34938_math_random(local_#3793_L); } else if (local_#31204_f == fun_addr_#34973_os_date) { call local_#8714 := routine_#34973_os_date(local_#3793_L); } else if (local_#31204_f == fun_addr_#34015_luaopen_string) { call local_#8714 := routine_#34015_luaopen_string(local_#3793_L); } else if (local_#31204_f == fun_addr_#34724_f_close) { call local_#8714 := routine_#34724_f_close(local_#3793_L); } else if (local_#31204_f == fun_addr_#34693_db_setuservalue) { call local_#8714 := routine_#34693_db_setuservalue(local_#3793_L); } else if (local_#31204_f == fun_addr_#34825_io_output) { call local_#8714 := routine_#34825_io_output(local_#3793_L); } else if (local_#31204_f == fun_addr_#34922_math_ceil) { call local_#8714 := routine_#34922_math_ceil(local_#3793_L); } else if (local_#31204_f == fun_addr_#34891_luaB_print) { call local_#8714 := routine_#34891_luaB_print(local_#3793_L); } else if (local_#31204_f == fun_addr_#35090_str_gsub) { call local_#8714 := routine_#35090_str_gsub(local_#3793_L); } else if (local_#31204_f == fun_addr_#34937_math_rad) { call local_#8714 := routine_#34937_math_rad(local_#3793_L); } else if (local_#31204_f == fun_addr_#34875_luaB_auxwrap) { call local_#8714 := routine_#34875_luaB_auxwrap(local_#3793_L); } else if (local_#31204_f == fun_addr_#34012_luaopen_math) { call local_#8714 := routine_#34012_luaopen_math(local_#3793_L); } else if (local_#31204_f == fun_addr_#34974_os_difftime) { call local_#8714 := routine_#34974_os_difftime(local_#3793_L); } else if (local_#31204_f == fun_addr_#34657_codepoint) { call local_#8714 := routine_#34657_codepoint(local_#3793_L); } else if (local_#31204_f == fun_addr_#34694_db_traceback) { call local_#8714 := routine_#34694_db_traceback(local_#3793_L); } else if (local_#31204_f == fun_addr_#34727_f_lines) { call local_#8714 := routine_#34727_f_lines(local_#3793_L); } else if (local_#31204_f == fun_addr_#34888_luaB_next) { call local_#8714 := routine_#34888_luaB_next(local_#3793_L); } else if (local_#31204_f == fun_addr_#34921_math_atan) { call local_#8714 := routine_#34921_math_atan(local_#3793_L); } else if (local_#31204_f == fun_addr_#34826_io_pclose) { call local_#8714 := routine_#34826_io_pclose(local_#3793_L); } else if (local_#31204_f == fun_addr_#34859_ll_loadlib) { call local_#8714 := routine_#34859_ll_loadlib(local_#3793_L); } else if (local_#31204_f == fun_addr_#34991_pmain) { call local_#8714 := routine_#34991_pmain(local_#3793_L); } else if (local_#31204_f == fun_addr_#34610_b_xor) { call local_#8714 := routine_#34610_b_xor(local_#3793_L); } else if (local_#31204_f == fun_addr_#35091_str_len) { call local_#8714 := routine_#35091_str_len(local_#3793_L); } else if (local_#31204_f == fun_addr_#34773_gctm) { call local_#8714 := routine_#34773_gctm(local_#3793_L); } else if (local_#31204_f == fun_addr_#34936_math_pow) { call local_#8714 := routine_#34936_math_pow(local_#3793_L); } else if (local_#31204_f == fun_addr_#34874_luaB_assert) { call local_#8714 := routine_#34874_luaB_assert(local_#3793_L); } else if (local_#31204_f == fun_addr_#34013_luaopen_os) { call local_#8714 := routine_#34013_luaopen_os(local_#3793_L); } else if (local_#31204_f == fun_addr_#34975_os_execute) { call local_#8714 := routine_#34975_os_execute(local_#3793_L); } else if (local_#31204_f == fun_addr_#35075_sort) { call local_#8714 := routine_#35075_sort(local_#3793_L); } else if (local_#31204_f == fun_addr_#34726_f_gc) { call local_#8714 := routine_#34726_f_gc(local_#3793_L); } else if (local_#31204_f == fun_addr_#34695_db_upvalueid) { call local_#8714 := routine_#34695_db_upvalueid(local_#3793_L); } else if (local_#31204_f == fun_addr_#34920_math_asin) { call local_#8714 := routine_#34920_math_asin(local_#3793_L); } else if (local_#31204_f == fun_addr_#34889_luaB_pairs) { call local_#8714 := routine_#34889_luaB_pairs(local_#3793_L); } else if (local_#31204_f == fun_addr_#34827_io_popen) { call local_#8714 := routine_#34827_io_popen(local_#3793_L); } else if (local_#31204_f == fun_addr_#35092_str_lower) { call local_#8714 := routine_#35092_str_lower(local_#3793_L); } else if (local_#31204_f == fun_addr_#34010_luaopen_debug) { call local_#8714 := routine_#34010_luaopen_debug(local_#3793_L); } else if (local_#31204_f == fun_addr_#34877_luaB_collectgarbage) { call local_#8714 := routine_#34877_luaB_collectgarbage(local_#3793_L); } else if (local_#31204_f == fun_addr_#34943_math_tan) { call local_#8714 := routine_#34943_math_tan(local_#3793_L); } else if (local_#31204_f == fun_addr_#34688_db_getuservalue) { call local_#8714 := routine_#34688_db_getuservalue(local_#3793_L); } else if (local_#31204_f == fun_addr_#34597_b_arshift) { call local_#8714 := routine_#34597_b_arshift(local_#3793_L); } else if (local_#31204_f == fun_addr_#35142_utflen) { call local_#8714 := routine_#35142_utflen(local_#3793_L); } else if (local_#31204_f == fun_addr_#34952_msghandler) { call local_#8714 := routine_#34952_msghandler(local_#3793_L); } else if (local_#31204_f == fun_addr_#34828_io_read) { call local_#8714 := routine_#34828_io_read(local_#3793_L); } else if (local_#31204_f == fun_addr_#34861_ll_searchpath) { call local_#8714 := routine_#34861_ll_searchpath(local_#3793_L); } else if (local_#31204_f == fun_addr_#34894_luaB_rawlen) { call local_#8714 := routine_#34894_luaB_rawlen(local_#3793_L); } else if (local_#31204_f == fun_addr_#34927_math_floor) { call local_#8714 := routine_#34927_math_floor(local_#3793_L); } else if (local_#31204_f == fun_addr_#34802_gmatch_aux) { call local_#8714 := routine_#34802_gmatch_aux(local_#3793_L); } else if (local_#31204_f == fun_addr_#35093_str_match) { call local_#8714 := routine_#35093_str_match(local_#3793_L); } else if (local_#31204_f == fun_addr_#34011_luaopen_io) { call local_#8714 := routine_#34011_luaopen_io(local_#3793_L); } else if (local_#31204_f == fun_addr_#34876_luaB_cocreate) { call local_#8714 := routine_#34876_luaB_cocreate(local_#3793_L); } else if (local_#31204_f == fun_addr_#34942_math_sqrt) { call local_#8714 := routine_#34942_math_sqrt(local_#3793_L); } else if (local_#31204_f == fun_addr_#34689_db_sethook) { call local_#8714 := routine_#34689_db_sethook(local_#3793_L); } else if (local_#31204_f == fun_addr_#34596_b_and) { call local_#8714 := routine_#34596_b_and(local_#3793_L); } else if (local_#31204_f == fun_addr_#35108_tconcat) { call local_#8714 := routine_#35108_tconcat(local_#3793_L); } else if (local_#31204_f == fun_addr_#34860_ll_require) { call local_#8714 := routine_#34860_ll_require(local_#3793_L); } else if (local_#31204_f == fun_addr_#34829_io_readline) { call local_#8714 := routine_#34829_io_readline(local_#3793_L); } else if (local_#31204_f == fun_addr_#34926_math_exp) { call local_#8714 := routine_#34926_math_exp(local_#3793_L); } else if (local_#31204_f == fun_addr_#34895_luaB_rawset) { call local_#8714 := routine_#34895_luaB_rawset(local_#3793_L); } else if (local_#31204_f == fun_addr_#34801_gmatch) { call local_#8714 := routine_#34801_gmatch(local_#3793_L); } else if (local_#31204_f == fun_addr_#35094_str_pack) { call local_#8714 := routine_#35094_str_pack(local_#3793_L); } else if (local_#31204_f == fun_addr_#34615_boxgc) { call local_#8714 := routine_#34615_boxgc(local_#3793_L); } else if (local_#31204_f == fun_addr_#34008_luaopen_bit32) { call local_#8714 := routine_#34008_luaopen_bit32(local_#3793_L); } else if (local_#31204_f == fun_addr_#34941_math_sinh) { call local_#8714 := routine_#34941_math_sinh(local_#3793_L); } else if (local_#31204_f == fun_addr_#34879_luaB_corunning) { call local_#8714 := routine_#34879_luaB_corunning(local_#3793_L); } else if (local_#31204_f == fun_addr_#34690_db_setlocal) { call local_#8714 := routine_#34690_db_setlocal(local_#3793_L); } else if (local_#31204_f == fun_addr_#34599_b_lrot) { call local_#8714 := routine_#34599_b_lrot(local_#3793_L); } else if (local_#31204_f == fun_addr_#34892_luaB_rawequal) { call local_#8714 := routine_#34892_luaB_rawequal(local_#3793_L); } else if (local_#31204_f == fun_addr_#34925_math_deg) { call local_#8714 := routine_#34925_math_deg(local_#3793_L); } else if (local_#31204_f == fun_addr_#34830_io_tmpfile) { call local_#8714 := routine_#34830_io_tmpfile(local_#3793_L); } else if (local_#31204_f == fun_addr_#35126_tremove) { call local_#8714 := routine_#35126_tremove(local_#3793_L); } else if (local_#31204_f == fun_addr_#35095_str_packsize) { call local_#8714 := routine_#35095_str_packsize(local_#3793_L); } else if (local_#31204_f == fun_addr_#34009_luaopen_coroutine) { call local_#8714 := routine_#34009_luaopen_coroutine(local_#3793_L); } else if (local_#31204_f == fun_addr_#34940_math_sin) { call local_#8714 := routine_#34940_math_sin(local_#3793_L); } else if (local_#31204_f == fun_addr_#34878_luaB_coresume) { call local_#8714 := routine_#34878_luaB_coresume(local_#3793_L); } else if (local_#31204_f == fun_addr_#34691_db_setmetatable) { call local_#8714 := routine_#34691_db_setmetatable(local_#3793_L); } else if (local_#31204_f == fun_addr_#35141_utfchar) { call local_#8714 := routine_#35141_utfchar(local_#3793_L); } else if (local_#31204_f == fun_addr_#34598_b_extract) { call local_#8714 := routine_#34598_b_extract(local_#3793_L); } else if (local_#31204_f == fun_addr_#35048_searcher_preload) { call local_#8714 := routine_#35048_searcher_preload(local_#3793_L); } else if (local_#31204_f == fun_addr_#34986_panic) { call local_#8714 := routine_#34986_panic(local_#3793_L); } else if (local_#31204_f == fun_addr_#34924_math_cosh) { call local_#8714 := routine_#34924_math_cosh(local_#3793_L); } else if (local_#31204_f == fun_addr_#34893_luaB_rawget) { call local_#8714 := routine_#34893_luaB_rawget(local_#3793_L); } else if (local_#31204_f == fun_addr_#34831_io_type) { call local_#8714 := routine_#34831_io_type(local_#3793_L); } else if (local_#31204_f == fun_addr_#34832_io_write) { call local_#8714 := routine_#34832_io_write(local_#3793_L); } else if (local_#31204_f == fun_addr_#34898_luaB_tonumber) { call local_#8714 := routine_#34898_luaB_tonumber(local_#3793_L); } else if (local_#31204_f == fun_addr_#34931_math_log) { call local_#8714 := routine_#34931_math_log(local_#3793_L); } else if (local_#31204_f == fun_addr_#35096_str_rep) { call local_#8714 := routine_#35096_str_rep(local_#3793_L); } else if (local_#31204_f == fun_addr_#34617_byteoffset) { call local_#8714 := routine_#34617_byteoffset(local_#3793_L); } else if (local_#31204_f == fun_addr_#34683_db_getinfo) { call local_#8714 := routine_#34683_db_getinfo(local_#3793_L); } else if (local_#31204_f == fun_addr_#34882_luaB_dofile) { call local_#8714 := routine_#34882_luaB_dofile(local_#3793_L); } else if (local_#31204_f == fun_addr_#34981_os_time) { call local_#8714 := routine_#34981_os_time(local_#3793_L); } else if (local_#31204_f == fun_addr_#35047_searcher_Lua) { call local_#8714 := routine_#35047_searcher_Lua(local_#3793_L); } else if (local_#31204_f == fun_addr_#34601_b_not) { call local_#8714 := routine_#34601_b_not(local_#3793_L); } else if (local_#31204_f == fun_addr_#35113_tinsert) { call local_#8714 := routine_#35113_tinsert(local_#3793_L); } else if (local_#31204_f == fun_addr_#34733_f_tostring) { call local_#8714 := routine_#34733_f_tostring(local_#3793_L); } else if (local_#31204_f == fun_addr_#34833_ipairsaux) { call local_#8714 := routine_#34833_ipairsaux(local_#3793_L); } else if (local_#31204_f == fun_addr_#34930_math_ldexp) { call local_#8714 := routine_#34930_math_ldexp(local_#3793_L); } else if (local_#31204_f == fun_addr_#34899_luaB_tostring) { call local_#8714 := routine_#34899_luaB_tostring(local_#3793_L); } else if (local_#31204_f == fun_addr_#34007_luaopen_base) { call local_#8714 := routine_#34007_luaopen_base(local_#3793_L); } else if (local_#31204_f == fun_addr_#35097_str_reverse) { call local_#8714 := routine_#35097_str_reverse(local_#3793_L); } else if (local_#31204_f == fun_addr_#34682_db_gethook) { call local_#8714 := routine_#34682_db_gethook(local_#3793_L); } else if (local_#31204_f == fun_addr_#34883_luaB_error) { call local_#8714 := routine_#34883_luaB_error(local_#3793_L); } else if (local_#31204_f == fun_addr_#34980_os_setlocale) { call local_#8714 := routine_#34980_os_setlocale(local_#3793_L); } else if (local_#31204_f == fun_addr_#35046_searcher_Croot) { call local_#8714 := routine_#35046_searcher_Croot(local_#3793_L); } else if (local_#31204_f == fun_addr_#34600_b_lshift) { call local_#8714 := routine_#34600_b_lshift(local_#3793_L); } else if (local_#31204_f == fun_addr_#34732_f_setvbuf) { call local_#8714 := routine_#34732_f_setvbuf(local_#3793_L); } else if (local_#31204_f == fun_addr_#34896_luaB_select) { call local_#8714 := routine_#34896_luaB_select(local_#3793_L); } else if (local_#31204_f == fun_addr_#34929_math_frexp) { call local_#8714 := routine_#34929_math_frexp(local_#3793_L); } else if (local_#31204_f == fun_addr_#34681_db_debug) { call local_#8714 := routine_#34681_db_debug(local_#3793_L); } else if (local_#31204_f == fun_addr_#35098_str_sub) { call local_#8714 := routine_#35098_str_sub(local_#3793_L); } else if (local_#31204_f == fun_addr_#34880_luaB_costatus) { call local_#8714 := routine_#34880_luaB_costatus(local_#3793_L); } else if (local_#31204_f == fun_addr_#34818_io_close) { call local_#8714 := routine_#34818_io_close(local_#3793_L); } else if (local_#31204_f == fun_addr_#35045_searcher_C) { call local_#8714 := routine_#35045_searcher_C(local_#3793_L); } else if (local_#31204_f == fun_addr_#34983_pack) { call local_#8714 := routine_#34983_pack(local_#3793_L); } else if (local_#31204_f == fun_addr_#34603_b_replace) { call local_#8714 := routine_#34603_b_replace(local_#3793_L); } else if (local_#31204_f == fun_addr_#34928_math_fmod) { call local_#8714 := routine_#34928_math_fmod(local_#3793_L); } else if (local_#31204_f == fun_addr_#34897_luaB_setmetatable) { call local_#8714 := routine_#34897_luaB_setmetatable(local_#3793_L); } else if (local_#31204_f == fun_addr_#35099_str_unpack) { call local_#8714 := routine_#35099_str_unpack(local_#3793_L); } else if (local_#31204_f == fun_addr_#34881_luaB_cowrap) { call local_#8714 := routine_#34881_luaB_cowrap(local_#3793_L); } else if (local_#31204_f == fun_addr_#34819_io_fclose) { call local_#8714 := routine_#34819_io_fclose(local_#3793_L); } else if (local_#31204_f == fun_addr_#34982_os_tmpname) { call local_#8714 := routine_#34982_os_tmpname(local_#3793_L); } else if (local_#31204_f == fun_addr_#34602_b_or) { call local_#8714 := routine_#34602_b_or(local_#3793_L); } else if (local_#31204_f == fun_addr_#35083_str_byte) { call local_#8714 := routine_#35083_str_byte(local_#3793_L); } else if (local_#31204_f == fun_addr_#35114_tmove) { call local_#8714 := routine_#35114_tmove(local_#3793_L); } else if (local_#31204_f == fun_addr_#34734_f_write) { call local_#8714 := routine_#34734_f_write(local_#3793_L); } else if (local_#31204_f == fun_addr_#34902_luaB_yield) { call local_#8714 := routine_#34902_luaB_yield(local_#3793_L); } else if (local_#31204_f == fun_addr_#34935_math_modf) { call local_#8714 := routine_#34935_math_modf(local_#3793_L); } else if (local_#31204_f == fun_addr_#35100_str_upper) { call local_#8714 := routine_#35100_str_upper(local_#3793_L); } else if (local_#31204_f == fun_addr_#34687_db_getupvalue) { call local_#8714 := routine_#34687_db_getupvalue(local_#3793_L); } else if (local_#31204_f == fun_addr_#34944_math_tanh) { call local_#8714 := routine_#34944_math_tanh(local_#3793_L); } else if (local_#31204_f == fun_addr_#34977_os_getenv) { call local_#8714 := routine_#34977_os_getenv(local_#3793_L); } else if (local_#31204_f == fun_addr_#34820_io_flush) { call local_#8714 := routine_#34820_io_flush(local_#3793_L); } else if (local_#31204_f == fun_addr_#34886_luaB_load) { call local_#8714 := routine_#34886_luaB_load(local_#3793_L); } else if (local_#31204_f == fun_addr_#34919_math_acos) { call local_#8714 := routine_#34919_math_acos(local_#3793_L); } else if (local_#31204_f == fun_addr_#34696_db_upvaluejoin) { call local_#8714 := routine_#34696_db_upvaluejoin(local_#3793_L); } else if (local_#31204_f == fun_addr_#35084_str_char) { call local_#8714 := routine_#35084_str_char(local_#3793_L); } else if (local_#31204_f == fun_addr_#34605_b_rrot) { call local_#8714 := routine_#34605_b_rrot(local_#3793_L); } else if (local_#31204_f == fun_addr_#34837_iter_aux) { call local_#8714 := routine_#34837_iter_aux(local_#3793_L); } else if (local_#31204_f == fun_addr_#34934_math_min) { call local_#8714 := routine_#34934_math_min(local_#3793_L); } else if (local_#31204_f == fun_addr_#34903_luaB_yieldable) { call local_#8714 := routine_#34903_luaB_yieldable(local_#3793_L); } else if (local_#31204_f == fun_addr_#34686_db_getregistry) { call local_#8714 := routine_#34686_db_getregistry(local_#3793_L); } else if (local_#31204_f == fun_addr_#34976_os_exit) { call local_#8714 := routine_#34976_os_exit(local_#3793_L); } else if (local_#31204_f == fun_addr_#34945_math_toint) { call local_#8714 := routine_#34945_math_toint(local_#3793_L); } else if (local_#31204_f == fun_addr_#34821_io_input) { call local_#8714 := routine_#34821_io_input(local_#3793_L); } else if (local_#31204_f == fun_addr_#34918_math_abs) { call local_#8714 := routine_#34918_math_abs(local_#3793_L); } else if (local_#31204_f == fun_addr_#34887_luaB_loadfile) { call local_#8714 := routine_#34887_luaB_loadfile(local_#3793_L); } else if (local_#31204_f == fun_addr_#34900_luaB_type) { call local_#8714 := routine_#34900_luaB_type(local_#3793_L); } else if (local_#31204_f == fun_addr_#34933_math_max) { call local_#8714 := routine_#34933_math_max(local_#3793_L); } else if (local_#31204_f == fun_addr_#34838_iter_codes) { call local_#8714 := routine_#34838_iter_codes(local_#3793_L); } else if (local_#31204_f == fun_addr_#34685_db_getmetatable) { call local_#8714 := routine_#34685_db_getmetatable(local_#3793_L); } else if (local_#31204_f == fun_addr_#35135_unpack) { call local_#8714 := routine_#35135_unpack(local_#3793_L); } else if (local_#31204_f == fun_addr_#34017_luaopen_utf8) { call local_#8714 := routine_#34017_luaopen_utf8(local_#3793_L); } else if (local_#31204_f == fun_addr_#34946_math_type) { call local_#8714 := routine_#34946_math_type(local_#3793_L); } else if (local_#31204_f == fun_addr_#34979_os_rename) { call local_#8714 := routine_#34979_os_rename(local_#3793_L); } else if (local_#31204_f == fun_addr_#34884_luaB_getmetatable) { call local_#8714 := routine_#34884_luaB_getmetatable(local_#3793_L); } else if (local_#31204_f == fun_addr_#34822_io_lines) { call local_#8714 := routine_#34822_io_lines(local_#3793_L); } else if (local_#31204_f == fun_addr_#34731_f_seek) { call local_#8714 := routine_#34731_f_seek(local_#3793_L); } else if (local_#31204_f == fun_addr_#35086_str_dump) { call local_#8714 := routine_#35086_str_dump(local_#3793_L); } else if (local_#31204_f == fun_addr_#34932_math_log10) { call local_#8714 := routine_#34932_math_log10(local_#3793_L); } else if (local_#31204_f == fun_addr_#34901_luaB_xpcall) { call local_#8714 := routine_#34901_luaB_xpcall(local_#3793_L); } else if (local_#31204_f == fun_addr_#34684_db_getlocal) { call local_#8714 := routine_#34684_db_getlocal(local_#3793_L); } else if (local_#31204_f == fun_addr_#34016_luaopen_table) { call local_#8714 := routine_#34016_luaopen_table(local_#3793_L); } else if (local_#31204_f == fun_addr_#34978_os_remove) { call local_#8714 := routine_#34978_os_remove(local_#3793_L); } else if (local_#31204_f == fun_addr_#34947_math_ult) { call local_#8714 := routine_#34947_math_ult(local_#3793_L); } else if (local_#31204_f == fun_addr_#34885_luaB_ipairs) { call local_#8714 := routine_#34885_luaB_ipairs(local_#3793_L); } else if (local_#31204_f == fun_addr_#34823_io_noclose) { call local_#8714 := routine_#34823_io_noclose(local_#3793_L); } else if (local_#31204_f == fun_addr_#34730_f_read) { call local_#8714 := routine_#34730_f_read(local_#3793_L); } else if (local_#31204_f == fun_addr_#34606_b_rshift) { call local_#8714 := routine_#34606_b_rshift(local_#3793_L); } else if (local_#31204_f == fun_addr_#35087_str_find) { call local_#8714 := routine_#35087_str_find(local_#3793_L); } else { assume false; } goto CFG_42016; CFG_42016: assume { :LIR "42016" } { :back_translation "block" } true; assume { :LIR "51737" } { :back_translation "assignment" } true; local_#31205_n := local_#8714; assume { :LIR "71326" } { :back_translation "visiting" } true; local_#8715 := 0; assume { :LIR "60168" } { :back_translation "visiting" } true; local_#8716 := 0; assume { :LIR "71327" } { :back_translation "visiting" } true; local_#8717 := 0; assume { :LIR "60169" } { :back_translation "visiting" } true; local_#8718 := 0; assume { :LIR "68216" } { :back_translation "visiting" } true; local_#8719 := { base : _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset - local_#31205_n * 16 }; goto CFG_45330; CFG_45330: assume { :LIR "45330" } { :back_translation "block" } true; assume { :LIR "78871" } { :back_translation "visiting" } true; call local_#8720 := routine_#33737_luaD_poscall(local_#3793_L,local_#31203_ci,local_#8719,local_#31205_n); goto CFG_38055; CFG_38055: assume { :LIR "38055" } { :back_translation "block" } true; assume { :LIR "71328" } { :back_translation "visiting" } true; local_#7761 := 1; goto CFG_37157; CFG_37157: assume { :LIR "37157" } { :back_translation "block" } true; } procedure routine_#33740_luaD_rawrunprotected(local_#3800_L_IN : { base : int, offset : int }, local_#3801_f_IN : { base : int, offset : int }, local_#3802_ud_IN : { base : int, offset : int }) returns (local_#7763 : int) { var local_#3800_L : { base : int, offset : int }; var local_#3801_f : { base : int, offset : int }; var local_#3802_ud : { base : int, offset : int }; havoc local_#7763; havoc local_#3800_L; havoc local_#3801_f; havoc local_#3802_ud; local_#3800_L := local_#3800_L_IN; local_#3801_f := local_#3801_f_IN; local_#3802_ud := local_#3802_ud_IN; } procedure routine_#33741_luaD_reallocstack(local_#3803_L_IN : { base : int, offset : int }, local_#3804_newsize_IN : int) returns () { var local_#3803_L : { base : int, offset : int }; var local_#3804_newsize : int; havoc local_#3803_L; havoc local_#3804_newsize; local_#3803_L := local_#3803_L_IN; local_#3804_newsize := local_#3804_newsize_IN; } procedure routine_#33744_luaE_extendCI(local_#3808_L_IN : { base : int, offset : int }) returns (local_#7764 : { base : int, offset : int }) { var local_#3808_L : { base : int, offset : int }; havoc local_#7764; havoc local_#3808_L; local_#3808_L := local_#3808_L_IN; } procedure routine_#33747_luaE_setdebt(local_#3812_g_IN : { base : int, offset : int }, local_#3813_debt_IN : int) returns () { var local_#3812_g : { base : int, offset : int }; var local_#3813_debt : int; havoc local_#3812_g; havoc local_#3813_debt; local_#3812_g := local_#3812_g_IN; local_#3813_debt := local_#3813_debt_IN; } procedure routine_#33749_luaF_close(local_#3815_L_IN : { base : int, offset : int }, local_#3816_level_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3815_L : { base : int, offset : int }; var local_#3816_level : { base : int, offset : int }; var local_#8896 : { base : int, offset : int }; var local_#8897 : int; var local_#31230_uv : { base : int, offset : int }; var local_#8898 : int; var local_#8899 : int; var local_#8900 : int; var local_#8901 : { base : int, offset : int }; var local_#8902 : int; var local_#8903 : int; var local_#8904 : { base : int, offset : int }; var local_#31231_io1 : { base : int, offset : int }; var local_#8905 : { base : int, offset : int }; var local_#8906 : int; var local_#8907 : int; var local_#8908 : int; var local_#8909 : { base : int, offset : int }; var local_#8910 : { base : int, offset : int }; var local_#8911 : int; var local_#8912 : int; var local_#8913 : { base : int, offset : int }; var local_#8914 : int; var local_#8915 : int; var local_#8916 : int; var local_#8917 : int; var local_#8918 : { base : int, offset : int }; var local_#8919 : int; var local_#8920 : int; var local_#8921 : { base : int, offset : int }; havoc local_#3815_L; havoc local_#3816_level; havoc local_#8896; havoc local_#8897; havoc local_#31230_uv; havoc local_#8898; havoc local_#8899; havoc local_#8900; havoc local_#8901; havoc local_#8902; havoc local_#8903; havoc local_#8904; havoc local_#31231_io1; havoc local_#8905; havoc local_#8906; havoc local_#8907; havoc local_#8908; havoc local_#8909; havoc local_#8910; havoc local_#8911; havoc local_#8912; havoc local_#8913; havoc local_#8914; havoc local_#8915; havoc local_#8916; havoc local_#8917; havoc local_#8918; havoc local_#8919; havoc local_#8920; havoc local_#8921; local_#3815_L := local_#3815_L_IN; local_#3816_level := local_#3816_level_IN; goto CFG_36257; CFG_36257: assume { :LIR "36257" } { :back_translation "block" } true; goto CFG_41622; CFG_41622: assume { :LIR "41622" } { :back_translation "block" } true; goto CFG_49102; CFG_49102: assume { :LIR "49102" } { :back_translation "block" } true; assume { :LIR "69757" } { :back_translation "visiting" } true; local_#8896 := { base : 0, offset : 0 }; assume { :LIR "65440" } { :back_translation "visiting" } true; local_#8897 := (if _memory_ptr[{ base : local_#3815_L!base, offset : local_#3815_L!offset + 64 }] != local_#8896 then 1 else 0); if (local_#8897 != 0) { assume { :LIR "49103" } { :back_translation "taking-then-branch" } true; goto CFG_49103; } else { assume { :LIR "39091" } { :back_translation "taking-else-branch" } true; goto CFG_39091; } CFG_49103: assume { :LIR "49103" } { :back_translation "block" } true; assume { :LIR "51822" } { :back_translation "assignment" } true; local_#31230_uv := _memory_ptr[{ base : local_#3815_L!base, offset : local_#3815_L!offset + 64 }]; assume { :LIR "65694" } { :back_translation "visiting" } true; local_#8898 := (if _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }]!offset >= local_#3816_level!offset then 1 else 0); if (local_#8898 != 0) { assume { :LIR "49104" } { :back_translation "taking-then-branch" } true; goto CFG_49104; } else { assume { :LIR "39091" } { :back_translation "taking-else-branch" } true; goto CFG_39091; } CFG_39091: assume { :LIR "39091" } { :back_translation "block" } true; goto CFG_37168; CFG_49104: assume { :LIR "49104" } { :back_translation "block" } true; assume { :LIR "71386" } { :back_translation "visiting" } true; local_#8899 := 0; assume { :LIR "60191" } { :back_translation "visiting" } true; local_#8900 := 0; assume { :LIR "51823" } { :back_translation "assignment" } true; local_#8901 := { base : local_#31230_uv!base, offset : local_#31230_uv!offset + 16 }; assume { :LIR "51824" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3815_L!base, offset : local_#3815_L!offset + 64 }] := _memory_ptr[{ base : local_#8901!base, offset : local_#8901!offset + 0 }]; assume { :LIR "71387" } { :back_translation "visiting" } true; local_#8902 := 0; assume { :LIR "64678" } { :back_translation "visiting" } true; local_#8903 := (if _memory[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 8 }] == local_#8902 then 1 else 0); if (local_#8903 != 0) { assume { :LIR "42036" } { :back_translation "taking-then-branch" } true; goto CFG_42036; } else { assume { :LIR "49105" } { :back_translation "taking-else-branch" } true; goto CFG_49105; } CFG_49105: assume { :LIR "49105" } { :back_translation "block" } true; assume { :LIR "51825" } { :back_translation "assignment" } true; local_#8904 := { base : local_#31230_uv!base, offset : local_#31230_uv!offset + 16 }; assume { :LIR "51826" } { :back_translation "assignment" } true; local_#31231_io1 := local_#8904; assume { :LIR "51827" } { :back_translation "assignment" } true; local_#8905 := _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }]; assume { :LIR "51828" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_b == _memory[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_f == _memory_ptr[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_gc == _memory_ptr[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_i == _memory[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_p == _memory_ptr[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8905)!_tt_ == _memory[{ base : local_#8905!base, offset : local_#8905!offset + 8 }]; call write_type_#101(local_#31231_io1,read_type_#101(_memory, _memory_ptr, local_#8905)); assume { :LIR "60192" } { :back_translation "visiting" } true; local_#8906 := 0; assume { :LIR "71388" } { :back_translation "visiting" } true; local_#8907 := 0; assume { :LIR "60193" } { :back_translation "visiting" } true; local_#8908 := 0; assume { :LIR "51829" } { :back_translation "assignment" } true; local_#8909 := { base : local_#31230_uv!base, offset : local_#31230_uv!offset + 16 }; assume { :LIR "51830" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }] := local_#8909; assume { :LIR "51831" } { :back_translation "assignment" } true; local_#8910 := _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }]; assume { :LIR "71389" } { :back_translation "visiting" } true; local_#8911 := 64; assume { :LIR "68684" } { :back_translation "visiting" } true; local_#8912 := ~sand32(_memory[{ base : local_#8910!base, offset : local_#8910!offset + 8 }], local_#8911); if (local_#8912 != 0) { assume { :LIR "49106" } { :back_translation "taking-then-branch" } true; goto CFG_49106; } else { assume { :LIR "39820" } { :back_translation "taking-else-branch" } true; goto CFG_39820; } CFG_49106: assume { :LIR "49106" } { :back_translation "block" } true; assume { :LIR "51832" } { :back_translation "assignment" } true; local_#8913 := { base : local_#31230_uv!base, offset : local_#31230_uv!offset + 16 }; assume { :LIR "65441" } { :back_translation "visiting" } true; local_#8914 := (if _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }] != local_#8913 then 1 else 0); assume { :LIR "64487" } { :back_translation "visiting" } true; local_#8915 := (if local_#8914 != 0 then 0 else 1); if (local_#8915 != 0) { assume { :LIR "45356" } { :back_translation "taking-then-branch" } true; goto CFG_45356; } else { assume { :LIR "39820" } { :back_translation "taking-else-branch" } true; goto CFG_39820; } CFG_39820: assume { :LIR "39820" } { :back_translation "block" } true; assume { :LIR "71390" } { :back_translation "visiting" } true; local_#8916 := 0; assume { :LIR "60194" } { :back_translation "visiting" } true; local_#8917 := 0; goto CFG_39822; CFG_45356: assume { :LIR "45356" } { :back_translation "block" } true; assume { :LIR "78895" } { :back_translation "visiting" } true; call routine_#33729_luaC_upvalbarrier_(local_#3815_L,local_#31230_uv); goto CFG_39821; CFG_39821: assume { :LIR "39821" } { :back_translation "block" } true; goto CFG_39822; CFG_39822: assume { :LIR "39822" } { :back_translation "block" } true; goto CFG_44963; CFG_42036: assume { :LIR "42036" } { :back_translation "block" } true; assume { :LIR "62178" } { :back_translation "visiting" } true; local_#8918 := local_#31230_uv; assume { :LIR "71391" } { :back_translation "visiting" } true; local_#8919 := 32; assume { :LIR "71392" } { :back_translation "visiting" } true; local_#8920 := 0; goto CFG_45357; CFG_45357: assume { :LIR "45357" } { :back_translation "block" } true; assume { :LIR "78896" } { :back_translation "visiting" } true; call local_#8921 := routine_#33857_luaM_realloc_(local_#3815_L,local_#8918,local_#8919,local_#8920); goto CFG_39823; CFG_39823: assume { :LIR "39823" } { :back_translation "block" } true; goto CFG_44963; CFG_44963: assume { :LIR "44963" } { :back_translation "block" } true; goto CFG_49102; CFG_37168: assume { :LIR "37168" } { :back_translation "block" } true; } procedure routine_#33750_luaF_findupval(local_#3817_L_IN : { base : int, offset : int }, local_#3818_level_IN : { base : int, offset : int }) returns (local_#7765 : { base : int, offset : int }) { var local_#3817_L : { base : int, offset : int }; var local_#3818_level : { base : int, offset : int }; havoc local_#7765; havoc local_#3817_L; havoc local_#3818_level; local_#3817_L := local_#3817_L_IN; local_#3818_level := local_#3818_level_IN; } procedure routine_#33755_luaF_newLclosure(local_#3828_L_IN : { base : int, offset : int }, local_#3829_n_IN : int) returns (local_#7768 : { base : int, offset : int }) { var local_#3828_L : { base : int, offset : int }; var local_#3829_n : int; havoc local_#7768; havoc local_#3828_L; havoc local_#3829_n; local_#3828_L := local_#3828_L_IN; local_#3829_n := local_#3829_n_IN; } procedure routine_#33764_luaG_traceexec(local_#3851_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3851_L : { base : int, offset : int }; var local_#31255_ci : { base : int, offset : int }; var local_#9153 : int; var local_#31257_mask : int; var local_#9154 : int; var local_#9155 : int; var local_#9156 : int; var local_#9157 : int; var local_#9158 : int; var local_#9159 : int; var local_#30600 : int; var local_#31256_counthook : int; var local_#9160 : int; var local_#9161 : int; var local_#9162 : int; var local_#9163 : int; var local_#9164 : int; var local_#9165 : int; var local_#9166 : int; var local_#9167 : int; var local_#9168 : int; var local_#9169 : int; var local_#9170 : int; var local_#9171 : int; var local_#9172 : int; var local_#9173 : int; var local_#9174 : { base : int, offset : int }; var local_#9175 : { base : int, offset : int }; var local_#9176 : { base : int, offset : int }; var local_#9177 : { base : int, offset : int }; var local_#9178 : { base : int, offset : int }; var local_#31260_p : { base : int, offset : int }; var local_#9179 : { base : int, offset : int }; var local_#9180 : int; var local_#9181 : int; var local_#9182 : int; var local_#9183 : int; var local_#31259_npc : int; var local_#9184 : { base : int, offset : int }; var local_#30601 : int; var local_#9185 : { base : int, offset : int }; var local_#31258_newline : int; var local_#9186 : int; var local_#9187 : int; var local_#9188 : { base : int, offset : int }; var local_#9189 : int; var local_#9190 : { base : int, offset : int }; var local_#30602 : int; var local_#9191 : int; var local_#9192 : int; var local_#9193 : int; var local_#9194 : int; var local_#9195 : { base : int, offset : int }; var local_#9196 : int; var local_#9197 : int; var local_#9198 : { base : int, offset : int }; var local_#9199 : int; var local_#9200 : int; var local_#9201 : int; var local_#9213 : int; var local_#9214 : int; var local_#9215 : int; havoc local_#3851_L; havoc local_#31255_ci; havoc local_#9153; havoc local_#31257_mask; havoc local_#9154; havoc local_#9155; havoc local_#9156; havoc local_#9157; havoc local_#9158; havoc local_#9159; havoc local_#30600; havoc local_#31256_counthook; havoc local_#9160; havoc local_#9161; havoc local_#9162; havoc local_#9163; havoc local_#9164; havoc local_#9165; havoc local_#9166; havoc local_#9167; havoc local_#9168; havoc local_#9169; havoc local_#9170; havoc local_#9171; havoc local_#9172; havoc local_#9173; havoc local_#9174; havoc local_#9175; havoc local_#9176; havoc local_#9177; havoc local_#9178; havoc local_#31260_p; havoc local_#9179; havoc local_#9180; havoc local_#9181; havoc local_#9182; havoc local_#9183; havoc local_#31259_npc; havoc local_#9184; havoc local_#30601; havoc local_#9185; havoc local_#31258_newline; havoc local_#9186; havoc local_#9187; havoc local_#9188; havoc local_#9189; havoc local_#9190; havoc local_#30602; havoc local_#9191; havoc local_#9192; havoc local_#9193; havoc local_#9194; havoc local_#9195; havoc local_#9196; havoc local_#9197; havoc local_#9198; havoc local_#9199; havoc local_#9200; havoc local_#9201; havoc local_#9213; havoc local_#9214; havoc local_#9215; local_#3851_L := local_#3851_L_IN; goto CFG_36272; CFG_36272: assume { :LIR "36272" } { :back_translation "block" } true; goto CFG_49130; CFG_49130: assume { :LIR "49130" } { :back_translation "block" } true; assume { :LIR "51922" } { :back_translation "assignment" } true; local_#31255_ci := _memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 32 }]; assume { :LIR "62205" } { :back_translation "visiting" } true; local_#9153 := ~uwrap8(_memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 200 }]); assume { :LIR "51923" } { :back_translation "assignment" } true; local_#31257_mask := local_#9153; assume { :LIR "71474" } { :back_translation "visiting" } true; local_#9154 := 1; assume { :LIR "67868" } { :back_translation "visiting" } true; _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] := _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] - local_#9154; assume { :LIR "71475" } { :back_translation "visiting" } true; local_#9155 := 0; assume { :LIR "64686" } { :back_translation "visiting" } true; local_#9156 := (if _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] == local_#9155 then 1 else 0); if (local_#9156 != 0) { assume { :LIR "49131" } { :back_translation "taking-then-branch" } true; goto CFG_49131; } else { assume { :LIR "39834" } { :back_translation "taking-else-branch" } true; goto CFG_39834; } CFG_49131: assume { :LIR "49131" } { :back_translation "block" } true; assume { :LIR "62206" } { :back_translation "visiting" } true; local_#9157 := local_#31257_mask; assume { :LIR "71476" } { :back_translation "visiting" } true; local_#9158 := 8; assume { :LIR "68688" } { :back_translation "visiting" } true; local_#9159 := ~sand32(local_#9157, local_#9158); if (local_#9159 != 0) { assume { :LIR "39835" } { :back_translation "taking-then-branch" } true; goto CFG_39835; } else { assume { :LIR "39834" } { :back_translation "taking-else-branch" } true; goto CFG_39834; } CFG_39834: assume { :LIR "39834" } { :back_translation "block" } true; assume { :LIR "78738" } { :back_translation "visiting" } true; local_#30600 := 0; goto CFG_49132; CFG_39835: assume { :LIR "39835" } { :back_translation "block" } true; assume { :LIR "78642" } { :back_translation "visiting" } true; local_#30600 := 1; goto CFG_49132; CFG_49132: assume { :LIR "49132" } { :back_translation "block" } true; assume { :LIR "51924" } { :back_translation "assignment" } true; local_#31256_counthook := local_#30600; assume { :LIR "51925" } { :back_translation "assignment" } true; local_#9160 := local_#31256_counthook; if (local_#9160 != 0) { assume { :LIR "39837" } { :back_translation "taking-then-branch" } true; goto CFG_39837; } else { assume { :LIR "49133" } { :back_translation "taking-else-branch" } true; goto CFG_49133; } CFG_49133: assume { :LIR "49133" } { :back_translation "block" } true; assume { :LIR "62207" } { :back_translation "visiting" } true; local_#9161 := local_#31257_mask; assume { :LIR "71477" } { :back_translation "visiting" } true; local_#9162 := 4; assume { :LIR "68689" } { :back_translation "visiting" } true; local_#9163 := ~sand32(local_#9161, local_#9162); assume { :LIR "64489" } { :back_translation "visiting" } true; local_#9164 := (if local_#9163 != 0 then 0 else 1); if (local_#9164 != 0) { assume { :LIR "39100" } { :back_translation "taking-then-branch" } true; goto CFG_39100; } else { assume { :LIR "39836" } { :back_translation "taking-else-branch" } true; goto CFG_39836; } CFG_39836: assume { :LIR "39836" } { :back_translation "block" } true; goto CFG_49134; CFG_39100: assume { :LIR "39100" } { :back_translation "block" } true; goto CFG_37183; CFG_39837: assume { :LIR "39837" } { :back_translation "block" } true; assume { :LIR "51926" } { :back_translation "assignment" } true; _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] := _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 188 }]; goto CFG_49134; CFG_49134: assume { :LIR "49134" } { :back_translation "block" } true; assume { :LIR "62208" } { :back_translation "visiting" } true; local_#9165 := _memory[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 66 }]; assume { :LIR "71478" } { :back_translation "visiting" } true; local_#9166 := 64; assume { :LIR "68690" } { :back_translation "visiting" } true; local_#9167 := ~sand32(local_#9165, local_#9166); if (local_#9167 != 0) { assume { :LIR "39102" } { :back_translation "taking-then-branch" } true; goto CFG_39102; } else { assume { :LIR "49135" } { :back_translation "taking-else-branch" } true; goto CFG_49135; } CFG_49135: assume { :LIR "49135" } { :back_translation "block" } true; assume { :LIR "51927" } { :back_translation "assignment" } true; local_#9168 := local_#31256_counthook; if (local_#9168 != 0) { assume { :LIR "42065" } { :back_translation "taking-then-branch" } true; goto CFG_42065; } else { assume { :LIR "49136" } { :back_translation "taking-else-branch" } true; goto CFG_49136; } CFG_42065: assume { :LIR "42065" } { :back_translation "block" } true; assume { :LIR "71479" } { :back_translation "visiting" } true; local_#9169 := 3; assume { :LIR "71480" } { :back_translation "visiting" } true; local_#9170 := -1; goto CFG_45390; CFG_45390: assume { :LIR "45390" } { :back_translation "block" } true; assume { :LIR "78929" } { :back_translation "visiting" } true; call routine_#33734_luaD_hook(local_#3851_L,local_#9169,local_#9170); goto CFG_39838; CFG_39838: assume { :LIR "39838" } { :back_translation "block" } true; goto CFG_49136; CFG_49136: assume { :LIR "49136" } { :back_translation "block" } true; assume { :LIR "62209" } { :back_translation "visiting" } true; local_#9171 := local_#31257_mask; assume { :LIR "71481" } { :back_translation "visiting" } true; local_#9172 := 4; assume { :LIR "68691" } { :back_translation "visiting" } true; local_#9173 := ~sand32(local_#9171, local_#9172); if (local_#9173 != 0) { assume { :LIR "49137" } { :back_translation "taking-then-branch" } true; goto CFG_49137; } else { assume { :LIR "49142" } { :back_translation "taking-else-branch" } true; goto CFG_49142; } CFG_49137: assume { :LIR "49137" } { :back_translation "block" } true; assume { :LIR "51928" } { :back_translation "assignment" } true; local_#9174 := _memory_ptr[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 0 }]; assume { :LIR "51929" } { :back_translation "assignment" } true; local_#9175 := { base : local_#9174!base, offset : local_#9174!offset + 0 }; assume { :LIR "60218" } { :back_translation "visiting" } true; local_#9176 := _memory_ptr[local_#9175]; assume { :LIR "51930" } { :back_translation "assignment" } true; local_#9177 := { base : local_#9176!base, offset : local_#9176!offset + 0 }; assume { :LIR "51931" } { :back_translation "assignment" } true; local_#9178 := { base : local_#9177!base, offset : local_#9177!offset + 0 }; assume { :LIR "51932" } { :back_translation "assignment" } true; local_#31260_p := _memory_ptr[{ base : local_#9178!base, offset : local_#9178!offset + 24 }]; assume { :LIR "51933" } { :back_translation "assignment" } true; local_#9179 := { base : local_#31255_ci!base, offset : local_#31255_ci!offset + 32 }; assume { :LIR "68427" } { :back_translation "visiting" } true; local_#9180 := (_memory_ptr[{ base : local_#9179!base, offset : local_#9179!offset + 8 }]!offset - _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 56 }]!offset) / 4; assume { :LIR "60219" } { :back_translation "visiting" } true; local_#9181 := local_#9180; assume { :LIR "71482" } { :back_translation "visiting" } true; local_#9182 := 1; assume { :LIR "67869" } { :back_translation "visiting" } true; local_#9183 := local_#9181 - local_#9182; assume { :LIR "51934" } { :back_translation "assignment" } true; local_#31259_npc := local_#9183; assume { :LIR "51935" } { :back_translation "assignment" } true; local_#9184 := _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]; if (local_#9184 != { base : 0, offset : 0 }) { assume { :LIR "39840" } { :back_translation "taking-then-branch" } true; goto CFG_39840; } else { assume { :LIR "39839" } { :back_translation "taking-else-branch" } true; goto CFG_39839; } CFG_39839: assume { :LIR "39839" } { :back_translation "block" } true; assume { :LIR "71483" } { :back_translation "visiting" } true; local_#30601 := -1; goto CFG_49138; CFG_39840: assume { :LIR "39840" } { :back_translation "block" } true; assume { :LIR "66955" } { :back_translation "visiting" } true; local_#9185 := { base : _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]!base, offset : _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]!offset + local_#31259_npc * 4 }; assume { :LIR "51936" } { :back_translation "assignment" } true; local_#30601 := _memory[local_#9185]; goto CFG_49138; CFG_49138: assume { :LIR "49138" } { :back_translation "block" } true; assume { :LIR "51937" } { :back_translation "assignment" } true; local_#31258_newline := local_#30601; assume { :LIR "71484" } { :back_translation "visiting" } true; local_#9186 := 0; assume { :LIR "64687" } { :back_translation "visiting" } true; local_#9187 := (if local_#31259_npc == local_#9186 then 1 else 0); if (local_#9187 != 0) { assume { :LIR "42066" } { :back_translation "taking-then-branch" } true; goto CFG_42066; } else { assume { :LIR "49139" } { :back_translation "taking-else-branch" } true; goto CFG_49139; } CFG_49139: assume { :LIR "49139" } { :back_translation "block" } true; assume { :LIR "51938" } { :back_translation "assignment" } true; local_#9188 := { base : local_#31255_ci!base, offset : local_#31255_ci!offset + 32 }; assume { :LIR "66004" } { :back_translation "visiting" } true; local_#9189 := (if _memory_ptr[{ base : local_#9188!base, offset : local_#9188!offset + 8 }]!offset <= _memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 40 }]!offset then 1 else 0); if (local_#9189 != 0) { assume { :LIR "42066" } { :back_translation "taking-then-branch" } true; goto CFG_42066; } else { assume { :LIR "49140" } { :back_translation "taking-else-branch" } true; goto CFG_49140; } CFG_49140: assume { :LIR "49140" } { :back_translation "block" } true; assume { :LIR "51939" } { :back_translation "assignment" } true; local_#9190 := _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]; if (local_#9190 != { base : 0, offset : 0 }) { assume { :LIR "39842" } { :back_translation "taking-then-branch" } true; goto CFG_39842; } else { assume { :LIR "39841" } { :back_translation "taking-else-branch" } true; goto CFG_39841; } CFG_39841: assume { :LIR "39841" } { :back_translation "block" } true; assume { :LIR "71485" } { :back_translation "visiting" } true; local_#30602 := -1; goto CFG_49141; CFG_39842: assume { :LIR "39842" } { :back_translation "block" } true; assume { :LIR "68428" } { :back_translation "visiting" } true; local_#9191 := (_memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 40 }]!offset - _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 56 }]!offset) / 4; assume { :LIR "60220" } { :back_translation "visiting" } true; local_#9192 := local_#9191; assume { :LIR "71486" } { :back_translation "visiting" } true; local_#9193 := 1; assume { :LIR "67870" } { :back_translation "visiting" } true; local_#9194 := local_#9192 - local_#9193; assume { :LIR "66956" } { :back_translation "visiting" } true; local_#9195 := { base : _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]!base, offset : _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]!offset + local_#9194 * 4 }; assume { :LIR "51940" } { :back_translation "assignment" } true; local_#30602 := _memory[local_#9195]; goto CFG_49141; CFG_49141: assume { :LIR "49141" } { :back_translation "block" } true; assume { :LIR "65445" } { :back_translation "visiting" } true; local_#9196 := (if local_#31258_newline != local_#30602 then 1 else 0); if (local_#9196 != 0) { assume { :LIR "42066" } { :back_translation "taking-then-branch" } true; goto CFG_42066; } else { assume { :LIR "39844" } { :back_translation "taking-else-branch" } true; goto CFG_39844; } CFG_42066: assume { :LIR "42066" } { :back_translation "block" } true; assume { :LIR "71487" } { :back_translation "visiting" } true; local_#9197 := 2; goto CFG_45391; CFG_45391: assume { :LIR "45391" } { :back_translation "block" } true; assume { :LIR "78930" } { :back_translation "visiting" } true; call routine_#33734_luaD_hook(local_#3851_L,local_#9197,local_#31258_newline); goto CFG_39843; CFG_39843: assume { :LIR "39843" } { :back_translation "block" } true; goto CFG_39844; CFG_39844: assume { :LIR "39844" } { :back_translation "block" } true; goto CFG_49142; CFG_49142: assume { :LIR "49142" } { :back_translation "block" } true; assume { :LIR "51941" } { :back_translation "assignment" } true; local_#9198 := { base : local_#31255_ci!base, offset : local_#31255_ci!offset + 32 }; assume { :LIR "51942" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 40 }] := _memory_ptr[{ base : local_#9198!base, offset : local_#9198!offset + 8 }]; assume { :LIR "62210" } { :back_translation "visiting" } true; local_#9199 := _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 12 }]; assume { :LIR "71488" } { :back_translation "visiting" } true; local_#9200 := 1; assume { :LIR "64688" } { :back_translation "visiting" } true; local_#9201 := (if local_#9199 == local_#9200 then 1 else 0); if (local_#9201 != 0) { assume { :LIR "49143" } { :back_translation "taking-then-branch" } true; goto _routine_#33764_luaG_traceexec_SLICED_OUT_BLOCK; } else { assume { :LIR "39101" } { :back_translation "taking-else-branch" } true; goto CFG_39101; } CFG_39101: assume { :LIR "39101" } { :back_translation "block" } true; goto CFG_37183; CFG_39102: assume { :LIR "39102" } { :back_translation "block" } true; assume { :LIR "71494" } { :back_translation "visiting" } true; local_#9213 := -65; assume { :LIR "62213" } { :back_translation "visiting" } true; local_#9214 := _memory[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 66 }]; assume { :LIR "68692" } { :back_translation "visiting" } true; local_#9215 := ~sand32(local_#9214, local_#9213); assume { :LIR "62214" } { :back_translation "visiting" } true; _memory[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 66 }] := ~uwrap16(local_#9215); goto CFG_37183; CFG_37183: assume { :LIR "37183" } { :back_translation "block" } true; _routine_#33764_luaG_traceexec_SLICED_OUT_BLOCK: assume false; } procedure routine_#33767_luaH_get(local_#3857_t_IN : { base : int, offset : int }, local_#3858_key_IN : { base : int, offset : int }) returns (local_#7771 : { base : int, offset : int }) modifies _memory; { var local_#3857_t : { base : int, offset : int }; var local_#3858_key : { base : int, offset : int }; var local_#9242 : int; var local_#9243 : int; var local_#31262_k : { base : int, offset : int }; var local_#9244 : { base : int, offset : int }; var local_#9245 : int; var local_#9246 : int; var local_#9247 : int; var local_#9248 : { base : int, offset : int }; var local_#9249 : { base : int, offset : int }; var local_#9250 : { base : int, offset : int }; var local_#9251 : int; var local_#9252 : { base : int, offset : int }; var local_#9253 : { base : int, offset : int }; var local_#9254 : { base : int, offset : int }; var local_#9255 : { base : int, offset : int }; var local_#9256 : { base : int, offset : int }; havoc local_#7771; havoc local_#3857_t; havoc local_#3858_key; havoc local_#9242; havoc local_#9243; havoc local_#31262_k; havoc local_#9244; havoc local_#9245; havoc local_#9246; havoc local_#9247; havoc local_#9248; havoc local_#9249; havoc local_#9250; havoc local_#9251; havoc local_#9252; havoc local_#9253; havoc local_#9254; havoc local_#9255; havoc local_#9256; local_#3857_t := local_#3857_t_IN; local_#3858_key := local_#3858_key_IN; goto CFG_36275; CFG_36275: assume { :LIR "36275" } { :back_translation "block" } true; goto CFG_51501; CFG_51501: assume { :LIR "51501" } { :back_translation "block" } true; assume { :LIR "71502" } { :back_translation "visiting" } true; local_#9242 := 63; assume { :LIR "68693" } { :back_translation "visiting" } true; local_#9243 := ~sand32(_memory[{ base : local_#3858_key!base, offset : local_#3858_key!offset + 8 }], local_#9242); if (local_#9243 == 4) { goto CFG_42074; } if (local_#9243 == 19) { goto CFG_42073; } if (local_#9243 == 0) { goto CFG_38069; } if (local_#9243 == 3) { goto CFG_42072; } goto CFG_45400; CFG_42072: assume { :LIR "42072" } { :back_translation "block" } true; assume { :LIR "51949" } { :back_translation "assignment" } true; local_#9244 := local_#31262_k; assume { :LIR "71503" } { :back_translation "visiting" } true; local_#9245 := 0; goto CFG_45399; CFG_45399: assume { :LIR "45399" } { :back_translation "block" } true; assume { :LIR "78938" } { :back_translation "visiting" } true; call local_#9246 := routine_#33903_luaV_tointeger(local_#3858_key,local_#9244,local_#9245); goto CFG_49145; CFG_49145: assume { :LIR "49145" } { :back_translation "block" } true; assume { :LIR "51950" } { :back_translation "assignment" } true; local_#9247 := local_#9246; if (local_#9247 != 0) { assume { :LIR "45401" } { :back_translation "taking-then-branch" } true; goto CFG_45401; } else { assume { :LIR "45400" } { :back_translation "taking-else-branch" } true; goto CFG_45400; } CFG_45400: assume { :LIR "45400" } { :back_translation "block" } true; assume { :LIR "78939" } { :back_translation "visiting" } true; call local_#9248 := routine_#34787_getgeneric(local_#3857_t,local_#3858_key); goto CFG_38067; CFG_38067: assume { :LIR "38067" } { :back_translation "block" } true; assume { :LIR "51951" } { :back_translation "assignment" } true; local_#7771 := local_#9248; goto CFG_37186; CFG_45401: assume { :LIR "45401" } { :back_translation "block" } true; assume { :LIR "78940" } { :back_translation "visiting" } true; call local_#9249 := routine_#33768_luaH_getint(local_#3857_t,_memory[local_#31262_k]); goto CFG_38068; CFG_38068: assume { :LIR "38068" } { :back_translation "block" } true; assume { :LIR "51952" } { :back_translation "assignment" } true; local_#7771 := local_#9249; goto CFG_37186; CFG_38069: assume { :LIR "38069" } { :back_translation "block" } true; assume { :LIR "51953" } { :back_translation "assignment" } true; local_#7771 := global_#33098_luaO_nilobject_; goto CFG_37186; CFG_42073: assume { :LIR "42073" } { :back_translation "block" } true; assume { :LIR "51954" } { :back_translation "assignment" } true; local_#9250 := { base : local_#3858_key!base, offset : local_#3858_key!offset + 0 }; assume { :LIR "51955" } { :back_translation "assignment" } true; local_#9251 := _memory[local_#9250]; goto CFG_45402; CFG_45402: assume { :LIR "45402" } { :back_translation "block" } true; assume { :LIR "78941" } { :back_translation "visiting" } true; call local_#9252 := routine_#33768_luaH_getint(local_#3857_t,local_#9251); goto CFG_38070; CFG_38070: assume { :LIR "38070" } { :back_translation "block" } true; assume { :LIR "51956" } { :back_translation "assignment" } true; local_#7771 := local_#9252; goto CFG_37186; CFG_42074: assume { :LIR "42074" } { :back_translation "block" } true; assume { :LIR "51957" } { :back_translation "assignment" } true; local_#9253 := { base : local_#3858_key!base, offset : local_#3858_key!offset + 0 }; assume { :LIR "60222" } { :back_translation "visiting" } true; local_#9254 := _memory_ptr[local_#9253]; assume { :LIR "51958" } { :back_translation "assignment" } true; local_#9255 := { base : local_#9254!base, offset : local_#9254!offset + 0 }; goto CFG_45403; CFG_45403: assume { :LIR "45403" } { :back_translation "block" } true; assume { :LIR "78942" } { :back_translation "visiting" } true; call local_#9256 := routine_#33770_luaH_getshortstr(local_#3857_t,local_#9255); goto CFG_38071; CFG_38071: assume { :LIR "38071" } { :back_translation "block" } true; assume { :LIR "51959" } { :back_translation "assignment" } true; local_#7771 := local_#9256; goto CFG_37186; CFG_37186: assume { :LIR "37186" } { :back_translation "block" } true; } procedure routine_#33768_luaH_getint(local_#3859_t_IN : { base : int, offset : int }, local_#3860_key_IN : int) returns (local_#7772 : { base : int, offset : int }) { var local_#3859_t : { base : int, offset : int }; var local_#3860_key : int; havoc local_#7772; havoc local_#3859_t; havoc local_#3860_key; local_#3859_t := local_#3859_t_IN; local_#3860_key := local_#3860_key_IN; } procedure routine_#33769_luaH_getn(local_#3861_t_IN : { base : int, offset : int }) returns (local_#7773 : int) { var local_#3861_t : { base : int, offset : int }; havoc local_#7773; havoc local_#3861_t; local_#3861_t := local_#3861_t_IN; } procedure routine_#33770_luaH_getshortstr(local_#3862_t_IN : { base : int, offset : int }, local_#3863_key_IN : { base : int, offset : int }) returns (local_#7774 : { base : int, offset : int }) { var local_#3862_t : { base : int, offset : int }; var local_#3863_key : { base : int, offset : int }; havoc local_#7774; havoc local_#3862_t; havoc local_#3863_key; local_#3862_t := local_#3862_t_IN; local_#3863_key := local_#3863_key_IN; } procedure routine_#33771_luaH_getstr(local_#3864_t_IN : { base : int, offset : int }, local_#3865_key_IN : { base : int, offset : int }) returns (local_#7775 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#3864_t : { base : int, offset : int }; var local_#3865_key : { base : int, offset : int }; var local_#9336 : int; var local_#9337 : int; var local_#9338 : int; var local_#31271_ko : { base : int, offset : int }; var local_#31272_io : { base : int, offset : int }; var local_#31273_x_ : { base : int, offset : int }; var local_#9339 : { base : int, offset : int }; var local_#9340 : { base : int, offset : int }; var local_#9341 : { base : int, offset : int }; var local_#9342 : int; var local_#9343 : int; var local_#9344 : int; var local_#9345 : int; var local_#9346 : int; var local_#9347 : { base : int, offset : int }; var local_#9348 : { base : int, offset : int }; var local_#9349 : { base : int, offset : int }; havoc local_#7775; havoc local_#3864_t; havoc local_#3865_key; havoc local_#9336; havoc local_#9337; havoc local_#9338; havoc local_#31271_ko; havoc local_#31272_io; havoc local_#31273_x_; havoc local_#9339; havoc local_#9340; havoc local_#9341; havoc local_#9342; havoc local_#9343; havoc local_#9344; havoc local_#9345; havoc local_#9346; havoc local_#9347; havoc local_#9348; havoc local_#9349; local_#3864_t := local_#3864_t_IN; local_#3865_key := local_#3865_key_IN; goto CFG_36279; CFG_36279: assume { :LIR "36279" } { :back_translation "block" } true; goto CFG_49160; CFG_49160: assume { :LIR "49160" } { :back_translation "block" } true; assume { :LIR "62232" } { :back_translation "visiting" } true; local_#9336 := _memory[{ base : local_#3865_key!base, offset : local_#3865_key!offset + 8 }]; assume { :LIR "71523" } { :back_translation "visiting" } true; local_#9337 := 4; assume { :LIR "64699" } { :back_translation "visiting" } true; local_#9338 := (if local_#9336 == local_#9337 then 1 else 0); if (local_#9338 != 0) { assume { :LIR "45406" } { :back_translation "taking-then-branch" } true; goto CFG_45406; } else { assume { :LIR "42076" } { :back_translation "taking-else-branch" } true; goto CFG_42076; } CFG_42076: assume { :LIR "42076" } { :back_translation "block" } true; assume { :LIR "51985" } { :back_translation "assignment" } true; local_#31272_io := local_#31271_ko; assume { :LIR "51986" } { :back_translation "assignment" } true; local_#31273_x_ := local_#3865_key; assume { :LIR "60231" } { :back_translation "visiting" } true; local_#9339 := local_#31273_x_; assume { :LIR "51987" } { :back_translation "assignment" } true; local_#9340 := { base : local_#9339!base, offset : local_#9339!offset + 0 }; assume { :LIR "51988" } { :back_translation "assignment" } true; local_#9341 := { base : local_#31272_io!base, offset : local_#31272_io!offset + 0 }; assume { :LIR "51989" } { :back_translation "assignment" } true; _memory_ptr[local_#9341] := local_#9340; assume { :LIR "62233" } { :back_translation "visiting" } true; local_#9342 := _memory[{ base : local_#31273_x_!base, offset : local_#31273_x_!offset + 8 }]; assume { :LIR "71524" } { :back_translation "visiting" } true; local_#9343 := 64; assume { :LIR "69347" } { :back_translation "visiting" } true; local_#9344 := ~sor32(local_#9342, local_#9343); assume { :LIR "51990" } { :back_translation "assignment" } true; _memory[{ base : local_#31272_io!base, offset : local_#31272_io!offset + 8 }] := local_#9344; assume { :LIR "71525" } { :back_translation "visiting" } true; local_#9345 := 0; assume { :LIR "60232" } { :back_translation "visiting" } true; local_#9346 := 0; assume { :LIR "62234" } { :back_translation "visiting" } true; local_#9347 := local_#31271_ko; goto CFG_45405; CFG_45405: assume { :LIR "45405" } { :back_translation "block" } true; assume { :LIR "78944" } { :back_translation "visiting" } true; call local_#9348 := routine_#34787_getgeneric(local_#3864_t,local_#9347); goto CFG_38080; CFG_38080: assume { :LIR "38080" } { :back_translation "block" } true; assume { :LIR "51991" } { :back_translation "assignment" } true; local_#7775 := local_#9348; goto CFG_37190; CFG_45406: assume { :LIR "45406" } { :back_translation "block" } true; assume { :LIR "78945" } { :back_translation "visiting" } true; call local_#9349 := routine_#33770_luaH_getshortstr(local_#3864_t,local_#3865_key); goto CFG_38081; CFG_38081: assume { :LIR "38081" } { :back_translation "block" } true; assume { :LIR "51992" } { :back_translation "assignment" } true; local_#7775 := local_#9349; goto CFG_37190; CFG_37190: assume { :LIR "37190" } { :back_translation "block" } true; } procedure routine_#33772_luaH_new(local_#3866_L_IN : { base : int, offset : int }) returns (local_#7776 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#3866_L : { base : int, offset : int }; var local_#9350 : int; var local_#9351 : int; var local_#9352 : { base : int, offset : int }; var local_#31274_o : { base : int, offset : int }; var local_#9353 : { base : int, offset : int }; var local_#9354 : { base : int, offset : int }; var local_#31275_t : { base : int, offset : int }; var local_#9355 : int; havoc local_#7776; havoc local_#3866_L; havoc local_#9350; havoc local_#9351; havoc local_#9352; havoc local_#31274_o; havoc local_#9353; havoc local_#9354; havoc local_#31275_t; havoc local_#9355; local_#3866_L := local_#3866_L_IN; goto CFG_36280; CFG_36280: assume { :LIR "36280" } { :back_translation "block" } true; goto CFG_42077; CFG_42077: assume { :LIR "42077" } { :back_translation "block" } true; assume { :LIR "71526" } { :back_translation "visiting" } true; local_#9350 := 5; assume { :LIR "71527" } { :back_translation "visiting" } true; local_#9351 := 56; goto CFG_45407; CFG_45407: assume { :LIR "45407" } { :back_translation "block" } true; assume { :LIR "78946" } { :back_translation "visiting" } true; call local_#9352 := routine_#33726_luaC_newobj(local_#3866_L,local_#9350,local_#9351); goto CFG_42078; CFG_42078: assume { :LIR "42078" } { :back_translation "block" } true; assume { :LIR "51993" } { :back_translation "assignment" } true; local_#31274_o := local_#9352; assume { :LIR "60233" } { :back_translation "visiting" } true; local_#9353 := local_#31274_o; assume { :LIR "51994" } { :back_translation "assignment" } true; local_#9354 := { base : local_#9353!base, offset : local_#9353!offset + 0 }; assume { :LIR "51995" } { :back_translation "assignment" } true; local_#31275_t := local_#9354; assume { :LIR "69774" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#31275_t!base, offset : local_#31275_t!offset + 40 }] := { base : 0, offset : 0 }; assume { :LIR "71528" } { :back_translation "visiting" } true; _memory[{ base : local_#31275_t!base, offset : local_#31275_t!offset + 10 }] := 255; assume { :LIR "69775" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#31275_t!base, offset : local_#31275_t!offset + 16 }] := { base : 0, offset : 0 }; assume { :LIR "71529" } { :back_translation "visiting" } true; _memory[{ base : local_#31275_t!base, offset : local_#31275_t!offset + 12 }] := 0; assume { :LIR "71530" } { :back_translation "visiting" } true; local_#9355 := 0; goto CFG_45408; CFG_45408: assume { :LIR "45408" } { :back_translation "block" } true; assume { :LIR "78947" } { :back_translation "visiting" } true; call routine_#35060_setnodevector(local_#3866_L,local_#31275_t,local_#9355); goto CFG_38082; CFG_38082: assume { :LIR "38082" } { :back_translation "block" } true; assume { :LIR "51996" } { :back_translation "assignment" } true; local_#7776 := local_#31275_t; goto CFG_37191; CFG_37191: assume { :LIR "37191" } { :back_translation "block" } true; } procedure routine_#33773_luaH_newkey(local_#3867_L_IN : { base : int, offset : int }, local_#3868_t_IN : { base : int, offset : int }, local_#3869_key_IN : { base : int, offset : int }) returns (local_#7777 : { base : int, offset : int }) { var local_#3867_L : { base : int, offset : int }; var local_#3868_t : { base : int, offset : int }; var local_#3869_key : { base : int, offset : int }; havoc local_#7777; havoc local_#3867_L; havoc local_#3868_t; havoc local_#3869_key; local_#3867_L := local_#3867_L_IN; local_#3868_t := local_#3868_t_IN; local_#3869_key := local_#3869_key_IN; } procedure routine_#33775_luaH_resize(local_#3873_L_IN : { base : int, offset : int }, local_#3874_t_IN : { base : int, offset : int }, local_#3875_nasize_IN : int, local_#3876_nhsize_IN : int) returns () modifies _memory, _memory_ptr; { var local_#3873_L : { base : int, offset : int }; var local_#3874_t : { base : int, offset : int }; var local_#3875_nasize : int; var local_#3876_nhsize : int; var local_#31293_oldasize : int; var local_#9482 : { base : int, offset : int }; var local_#9483 : int; var local_#9484 : int; var local_#9485 : int; var local_#9486 : int; var local_#30603 : int; var local_#31294_oldhsize : int; var local_#31292_nold : { base : int, offset : int }; var local_#9487 : int; var local_#31289_asn : { base : int, offset : int }; var local_#9488 : { base : int, offset : int }; var local_#9489 : { base : int, offset : int }; var local_#9490 : int; var local_#9491 : int; var local_#9492 : int; var local_#9493 : int; var local_#31290_i : int; var local_#9494 : int; var local_#9495 : int; var local_#9496 : int; var local_#9497 : int; var local_#9498 : int; var local_#9499 : int; var local_#9500 : int; var local_#9501 : int; var local_#9502 : int; var local_#9503 : { base : int, offset : int }; var local_#9504 : int; var local_#9505 : int; var local_#9506 : int; var local_#9507 : int; var local_#9508 : int; var local_#9509 : int; var local_#9510 : { base : int, offset : int }; var local_#9511 : { base : int, offset : int }; var local_#9512 : int; var local_#9513 : int; var local_#31291_j : int; var local_#9514 : int; var local_#9515 : int; var local_#9516 : int; var local_#9517 : int; var local_#9518 : { base : int, offset : int }; var local_#9519 : int; var local_#9520 : int; var local_#9521 : int; var local_#9522 : int; var local_#9523 : { base : int, offset : int }; var local_#9524 : { base : int, offset : int }; var local_#31295_old : { base : int, offset : int }; var local_#9525 : int; var local_#9526 : int; var local_#9527 : int; var local_#9528 : { base : int, offset : int }; var local_#9529 : { base : int, offset : int }; var local_#9530 : { base : int, offset : int }; var local_#31296_io1 : { base : int, offset : int }; var local_#9531 : int; var local_#9532 : int; var local_#9533 : int; var local_#9534 : int; var local_#9535 : int; var local_#9536 : int; var local_#9537 : { base : int, offset : int }; var local_#9538 : int; var local_#9539 : int; var local_#9540 : int; var local_#9541 : int; var local_#9542 : int; var local_#9543 : int; var local_#9544 : { base : int, offset : int }; var local_#9545 : int; var local_#9546 : int; var local_#9547 : int; havoc local_#3873_L; havoc local_#3874_t; havoc local_#3875_nasize; havoc local_#3876_nhsize; havoc local_#31293_oldasize; havoc local_#9482; havoc local_#9483; havoc local_#9484; havoc local_#9485; havoc local_#9486; havoc local_#30603; havoc local_#31294_oldhsize; havoc local_#31292_nold; havoc local_#9487; havoc local_#31289_asn; havoc local_#9488; havoc local_#9489; havoc local_#9490; havoc local_#9491; havoc local_#9492; havoc local_#9493; havoc local_#31290_i; havoc local_#9494; havoc local_#9495; havoc local_#9496; havoc local_#9497; havoc local_#9498; havoc local_#9499; havoc local_#9500; havoc local_#9501; havoc local_#9502; havoc local_#9503; havoc local_#9504; havoc local_#9505; havoc local_#9506; havoc local_#9507; havoc local_#9508; havoc local_#9509; havoc local_#9510; havoc local_#9511; havoc local_#9512; havoc local_#9513; havoc local_#31291_j; havoc local_#9514; havoc local_#9515; havoc local_#9516; havoc local_#9517; havoc local_#9518; havoc local_#9519; havoc local_#9520; havoc local_#9521; havoc local_#9522; havoc local_#9523; havoc local_#9524; havoc local_#31295_old; havoc local_#9525; havoc local_#9526; havoc local_#9527; havoc local_#9528; havoc local_#9529; havoc local_#9530; havoc local_#31296_io1; havoc local_#9531; havoc local_#9532; havoc local_#9533; havoc local_#9534; havoc local_#9535; havoc local_#9536; havoc local_#9537; havoc local_#9538; havoc local_#9539; havoc local_#9540; havoc local_#9541; havoc local_#9542; havoc local_#9543; havoc local_#9544; havoc local_#9545; havoc local_#9546; havoc local_#9547; local_#3873_L := local_#3873_L_IN; local_#3874_t := local_#3874_t_IN; local_#3875_nasize := local_#3875_nasize_IN; local_#3876_nhsize := local_#3876_nhsize_IN; goto CFG_36283; CFG_36283: assume { :LIR "36283" } { :back_translation "block" } true; goto CFG_49179; CFG_49179: assume { :LIR "49179" } { :back_translation "block" } true; assume { :LIR "52050" } { :back_translation "assignment" } true; local_#31293_oldasize := _memory[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 12 }]; assume { :LIR "69778" } { :back_translation "visiting" } true; local_#9482 := { base : 0, offset : 0 }; assume { :LIR "64708" } { :back_translation "visiting" } true; local_#9483 := (if _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 32 }] == local_#9482 then 1 else 0); if (local_#9483 != 0) { assume { :LIR "39864" } { :back_translation "taking-then-branch" } true; goto CFG_39864; } else { assume { :LIR "39863" } { :back_translation "taking-else-branch" } true; goto CFG_39863; } CFG_39863: assume { :LIR "39863" } { :back_translation "block" } true; assume { :LIR "71563" } { :back_translation "visiting" } true; local_#9484 := 1; assume { :LIR "62244" } { :back_translation "visiting" } true; local_#9485 := _memory[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 11 }]; assume { :LIR "69455" } { :back_translation "visiting" } true; local_#9486 := ~shl32(local_#9484, local_#9485); assume { :LIR "52051" } { :back_translation "assignment" } true; local_#30603 := local_#9486; goto CFG_49180; CFG_39864: assume { :LIR "39864" } { :back_translation "block" } true; assume { :LIR "71564" } { :back_translation "visiting" } true; local_#30603 := 0; goto CFG_49180; CFG_49180: assume { :LIR "49180" } { :back_translation "block" } true; assume { :LIR "52052" } { :back_translation "assignment" } true; local_#31294_oldhsize := local_#30603; assume { :LIR "52053" } { :back_translation "assignment" } true; local_#31292_nold := _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 24 }]; assume { :LIR "65790" } { :back_translation "visiting" } true; local_#9487 := (if local_#3875_nasize > local_#31293_oldasize then 1 else 0); if (local_#9487 != 0) { assume { :LIR "45419" } { :back_translation "taking-then-branch" } true; goto CFG_45419; } else { assume { :LIR "42084" } { :back_translation "taking-else-branch" } true; goto CFG_42084; } CFG_45419: assume { :LIR "45419" } { :back_translation "block" } true; assume { :LIR "78958" } { :back_translation "visiting" } true; call routine_#35056_setarrayvector(local_#3873_L,local_#3874_t,local_#3875_nasize); goto CFG_39865; CFG_39865: assume { :LIR "39865" } { :back_translation "block" } true; goto CFG_42084; CFG_42084: assume { :LIR "42084" } { :back_translation "block" } true; assume { :LIR "52054" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#31289_asn!base, offset : local_#31289_asn!offset + 0 }] := local_#3874_t; assume { :LIR "52055" } { :back_translation "assignment" } true; _memory[{ base : local_#31289_asn!base, offset : local_#31289_asn!offset + 8 }] := local_#3876_nhsize; assume { :LIR "52056" } { :back_translation "assignment" } true; local_#9488 := fun_addr_#34592_auxsetnode; assume { :LIR "62245" } { :back_translation "visiting" } true; local_#9489 := local_#31289_asn; goto CFG_45420; CFG_45420: assume { :LIR "45420" } { :back_translation "block" } true; assume { :LIR "78959" } { :back_translation "visiting" } true; call local_#9490 := routine_#33740_luaD_rawrunprotected(local_#3873_L,local_#9488,local_#9489); goto CFG_49181; CFG_49181: assume { :LIR "49181" } { :back_translation "block" } true; assume { :LIR "71565" } { :back_translation "visiting" } true; local_#9491 := 0; assume { :LIR "65450" } { :back_translation "visiting" } true; local_#9492 := (if local_#9490 != local_#9491 then 1 else 0); if (local_#9492 != 0) { assume { :LIR "45426" } { :back_translation "taking-then-branch" } true; goto _routine_#33775_luaH_resize_SLICED_OUT_BLOCK; } else { assume { :LIR "49182" } { :back_translation "taking-else-branch" } true; goto CFG_49182; } CFG_49182: assume { :LIR "49182" } { :back_translation "block" } true; assume { :LIR "66141" } { :back_translation "visiting" } true; local_#9493 := (if local_#3875_nasize < local_#31293_oldasize then 1 else 0); if (local_#9493 != 0) { assume { :LIR "41633" } { :back_translation "taking-then-branch" } true; goto CFG_41633; } else { assume { :LIR "41634" } { :back_translation "taking-else-branch" } true; goto CFG_41634; } CFG_41633: assume { :LIR "41633" } { :back_translation "block" } true; assume { :LIR "52057" } { :back_translation "assignment" } true; _memory[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 12 }] := local_#3875_nasize; assume { :LIR "52058" } { :back_translation "assignment" } true; local_#31290_i := local_#3875_nasize; goto CFG_49183; CFG_49183: assume { :LIR "49183" } { :back_translation "block" } true; assume { :LIR "66142" } { :back_translation "visiting" } true; local_#9494 := (if local_#31290_i < local_#31293_oldasize then 1 else 0); if (local_#9494 != 0) { assume { :LIR "49189" } { :back_translation "taking-then-branch" } true; goto CFG_49189; } else { assume { :LIR "49184" } { :back_translation "taking-else-branch" } true; goto CFG_49184; } CFG_49184: assume { :LIR "49184" } { :back_translation "block" } true; assume { :LIR "71566" } { :back_translation "visiting" } true; local_#9495 := 0; if (local_#9495 != 0) { assume { :LIR "49185" } { :back_translation "taking-then-branch" } true; goto CFG_49185; } else { assume { :LIR "39866" } { :back_translation "taking-else-branch" } true; goto CFG_39866; } CFG_49185: assume { :LIR "49185" } { :back_translation "block" } true; assume { :LIR "60253" } { :back_translation "visiting" } true; local_#9496 := ~uwrap64(local_#3875_nasize); assume { :LIR "71567" } { :back_translation "visiting" } true; local_#9497 := 1; assume { :LIR "66385" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#9498 := ~uwrap64(local_#9496 + local_#9497); assume { :LIR "71568" } { :back_translation "visiting" } true; local_#9499 := 1152921504606846975; assume { :LIR "65791" } { :back_translation "visiting" } true; local_#9500 := (if local_#9498 > local_#9499 then 1 else 0); if (local_#9500 != 0) { assume { :LIR "45424" } { :back_translation "taking-then-branch" } true; goto _routine_#33775_luaH_resize_SLICED_OUT_BLOCK; } else { assume { :LIR "39866" } { :back_translation "taking-else-branch" } true; goto CFG_39866; } CFG_39866: assume { :LIR "39866" } { :back_translation "block" } true; assume { :LIR "71569" } { :back_translation "visiting" } true; local_#9501 := 0; assume { :LIR "60254" } { :back_translation "visiting" } true; local_#9502 := 0; goto CFG_42085; CFG_42085: assume { :LIR "42085" } { :back_translation "block" } true; assume { :LIR "62246" } { :back_translation "visiting" } true; local_#9503 := _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]; assume { :LIR "62247" } { :back_translation "visiting" } true; local_#9504 := ~uwrap64(local_#31293_oldasize); assume { :LIR "71570" } { :back_translation "visiting" } true; local_#9505 := 16; assume { :LIR "68509" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#9506 := ~uwrap64(local_#9504 * local_#9505); assume { :LIR "62248" } { :back_translation "visiting" } true; local_#9507 := ~uwrap64(local_#3875_nasize); assume { :LIR "71571" } { :back_translation "visiting" } true; local_#9508 := 16; assume { :LIR "68510" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#9509 := ~uwrap64(local_#9507 * local_#9508); goto CFG_45421; CFG_45421: assume { :LIR "45421" } { :back_translation "block" } true; assume { :LIR "78960" } { :back_translation "visiting" } true; call local_#9510 := routine_#33857_luaM_realloc_(local_#3873_L,local_#9503,local_#9506,local_#9509); goto CFG_39867; CFG_39867: assume { :LIR "39867" } { :back_translation "block" } true; assume { :LIR "60255" } { :back_translation "visiting" } true; local_#9511 := local_#9510; assume { :LIR "52059" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }] := local_#9511; goto CFG_41634; CFG_41634: assume { :LIR "41634" } { :back_translation "block" } true; assume { :LIR "71572" } { :back_translation "visiting" } true; local_#9512 := 1; assume { :LIR "67879" } { :back_translation "visiting" } true; local_#9513 := local_#31294_oldhsize - local_#9512; assume { :LIR "52060" } { :back_translation "assignment" } true; local_#31291_j := local_#9513; goto CFG_49186; CFG_49186: assume { :LIR "49186" } { :back_translation "block" } true; assume { :LIR "71573" } { :back_translation "visiting" } true; local_#9514 := 0; assume { :LIR "65696" } { :back_translation "visiting" } true; local_#9515 := (if local_#31291_j >= local_#9514 then 1 else 0); if (local_#9515 != 0) { assume { :LIR "49188" } { :back_translation "taking-then-branch" } true; goto CFG_49188; } else { assume { :LIR "49187" } { :back_translation "taking-else-branch" } true; goto CFG_49187; } CFG_49187: assume { :LIR "49187" } { :back_translation "block" } true; assume { :LIR "71574" } { :back_translation "visiting" } true; local_#9516 := 0; assume { :LIR "65792" } { :back_translation "visiting" } true; local_#9517 := (if local_#31294_oldhsize > local_#9516 then 1 else 0); if (local_#9517 != 0) { assume { :LIR "42086" } { :back_translation "taking-then-branch" } true; goto CFG_42086; } else { assume { :LIR "39105" } { :back_translation "taking-else-branch" } true; goto CFG_39105; } CFG_42086: assume { :LIR "42086" } { :back_translation "block" } true; assume { :LIR "62249" } { :back_translation "visiting" } true; local_#9518 := local_#31292_nold; assume { :LIR "60256" } { :back_translation "visiting" } true; local_#9519 := ~uwrap64(local_#31294_oldhsize); assume { :LIR "71575" } { :back_translation "visiting" } true; local_#9520 := 32; assume { :LIR "68511" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#9521 := ~uwrap64(local_#9519 * local_#9520); assume { :LIR "71576" } { :back_translation "visiting" } true; local_#9522 := 0; goto CFG_45422; CFG_45422: assume { :LIR "45422" } { :back_translation "block" } true; assume { :LIR "78961" } { :back_translation "visiting" } true; call local_#9523 := routine_#33857_luaM_realloc_(local_#3873_L,local_#9518,local_#9521,local_#9522); goto CFG_39868; CFG_39868: assume { :LIR "39868" } { :back_translation "block" } true; goto CFG_39105; CFG_39105: assume { :LIR "39105" } { :back_translation "block" } true; goto CFG_37194; CFG_49188: assume { :LIR "49188" } { :back_translation "block" } true; assume { :LIR "66974" } { :back_translation "visiting" } true; local_#9524 := { base : local_#31292_nold!base, offset : local_#31292_nold!offset + local_#31291_j * 32 }; assume { :LIR "52061" } { :back_translation "assignment" } true; local_#31295_old := local_#9524; assume { :LIR "71577" } { :back_translation "visiting" } true; local_#9525 := 0; assume { :LIR "64709" } { :back_translation "visiting" } true; local_#9526 := (if _memory[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 8 }] == local_#9525 then 1 else 0); assume { :LIR "64495" } { :back_translation "visiting" } true; local_#9527 := (if local_#9526 != 0 then 0 else 1); if (local_#9527 != 0) { assume { :LIR "42087" } { :back_translation "taking-then-branch" } true; goto CFG_42087; } else { assume { :LIR "44974" } { :back_translation "taking-else-branch" } true; goto CFG_44974; } CFG_42087: assume { :LIR "42087" } { :back_translation "block" } true; assume { :LIR "52062" } { :back_translation "assignment" } true; local_#9528 := { base : local_#31295_old!base, offset : local_#31295_old!offset + 16 }; assume { :LIR "60257" } { :back_translation "visiting" } true; local_#9529 := local_#9528; goto CFG_45423; CFG_45423: assume { :LIR "45423" } { :back_translation "block" } true; assume { :LIR "78962" } { :back_translation "visiting" } true; call local_#9530 := routine_#33777_luaH_set(local_#3873_L,local_#3874_t,local_#9529); goto CFG_39869; CFG_39869: assume { :LIR "39869" } { :back_translation "block" } true; assume { :LIR "52063" } { :back_translation "assignment" } true; local_#31296_io1 := local_#9530; assume { :LIR "52064" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_b == _memory[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_f == _memory_ptr[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_gc == _memory_ptr[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_i == _memory[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_p == _memory_ptr[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_tt_ == _memory[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 8 }]; call write_type_#101(local_#31296_io1,read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })); assume { :LIR "60258" } { :back_translation "visiting" } true; local_#9531 := 0; assume { :LIR "71578" } { :back_translation "visiting" } true; local_#9532 := 0; assume { :LIR "60259" } { :back_translation "visiting" } true; local_#9533 := 0; goto CFG_44974; CFG_44974: assume { :LIR "44974" } { :back_translation "block" } true; assume { :LIR "52065" } { :back_translation "assignment" } true; local_#9534 := local_#31291_j; assume { :LIR "71579" } { :back_translation "visiting" } true; local_#9535 := 1; assume { :LIR "67880" } { :back_translation "visiting" } true; local_#31291_j := local_#9534 - local_#9535; assume { :LIR "52066" } { :back_translation "assignment" } true; local_#9536 := local_#9534; goto CFG_49186; CFG_49189: assume { :LIR "49189" } { :back_translation "block" } true; assume { :LIR "66975" } { :back_translation "visiting" } true; local_#9537 := { base : _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]!offset + local_#31290_i * 16 }; assume { :LIR "71580" } { :back_translation "visiting" } true; local_#9538 := 0; assume { :LIR "64710" } { :back_translation "visiting" } true; local_#9539 := (if _memory[{ base : local_#9537!base, offset : local_#9537!offset + 8 }] == local_#9538 then 1 else 0); assume { :LIR "64496" } { :back_translation "visiting" } true; local_#9540 := (if local_#9539 != 0 then 0 else 1); if (local_#9540 != 0) { assume { :LIR "42088" } { :back_translation "taking-then-branch" } true; goto CFG_42088; } else { assume { :LIR "44975" } { :back_translation "taking-else-branch" } true; goto CFG_44975; } CFG_42088: assume { :LIR "42088" } { :back_translation "block" } true; assume { :LIR "71581" } { :back_translation "visiting" } true; local_#9541 := 1; assume { :LIR "66386" } { :back_translation "visiting" } true; assume { :symbol "~uwrap32" } true; local_#9542 := ~uwrap32(local_#31290_i + local_#9541); assume { :LIR "62250" } { :back_translation "visiting" } true; local_#9543 := local_#9542; assume { :LIR "66976" } { :back_translation "visiting" } true; local_#9544 := { base : _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]!offset + local_#31290_i * 16 }; goto CFG_45425; CFG_45425: assume { :LIR "45425" } { :back_translation "block" } true; assume { :LIR "78964" } { :back_translation "visiting" } true; call routine_#33778_luaH_setint(local_#3873_L,local_#3874_t,local_#9543,local_#9544); goto CFG_39870; CFG_39870: assume { :LIR "39870" } { :back_translation "block" } true; goto CFG_44975; CFG_44975: assume { :LIR "44975" } { :back_translation "block" } true; assume { :LIR "52067" } { :back_translation "assignment" } true; local_#9545 := local_#31290_i; assume { :LIR "71582" } { :back_translation "visiting" } true; local_#9546 := 1; assume { :LIR "66387" } { :back_translation "visiting" } true; assume { :symbol "~uwrap32" } true; local_#31290_i := ~uwrap32(local_#9545 + local_#9546); assume { :LIR "52068" } { :back_translation "assignment" } true; local_#9547 := local_#9545; goto CFG_49183; CFG_39871: assume { :LIR "39871" } { :back_translation "block" } true; goto CFG_42085; CFG_37194: assume { :LIR "37194" } { :back_translation "block" } true; _routine_#33775_luaH_resize_SLICED_OUT_BLOCK: assume false; } procedure routine_#33776_luaH_resizearray(local_#3877_L_IN : { base : int, offset : int }, local_#3878_t_IN : { base : int, offset : int }, local_#3879_nasize_IN : int) returns () modifies _memory, _memory_ptr; { var local_#3877_L : { base : int, offset : int }; var local_#3878_t : { base : int, offset : int }; var local_#3879_nasize : int; var local_#9549 : { base : int, offset : int }; var local_#9550 : int; var local_#9551 : int; var local_#9552 : int; var local_#9553 : int; var local_#30604 : int; var local_#31297_nsize : int; var local_#9554 : int; havoc local_#3877_L; havoc local_#3878_t; havoc local_#3879_nasize; havoc local_#9549; havoc local_#9550; havoc local_#9551; havoc local_#9552; havoc local_#9553; havoc local_#30604; havoc local_#31297_nsize; havoc local_#9554; local_#3877_L := local_#3877_L_IN; local_#3878_t := local_#3878_t_IN; local_#3879_nasize := local_#3879_nasize_IN; goto CFG_36284; CFG_36284: assume { :LIR "36284" } { :back_translation "block" } true; goto CFG_49190; CFG_49190: assume { :LIR "49190" } { :back_translation "block" } true; assume { :LIR "69779" } { :back_translation "visiting" } true; local_#9549 := { base : 0, offset : 0 }; assume { :LIR "64711" } { :back_translation "visiting" } true; local_#9550 := (if _memory_ptr[{ base : local_#3878_t!base, offset : local_#3878_t!offset + 32 }] == local_#9549 then 1 else 0); if (local_#9550 != 0) { assume { :LIR "39873" } { :back_translation "taking-then-branch" } true; goto CFG_39873; } else { assume { :LIR "39872" } { :back_translation "taking-else-branch" } true; goto CFG_39872; } CFG_39872: assume { :LIR "39872" } { :back_translation "block" } true; assume { :LIR "71584" } { :back_translation "visiting" } true; local_#9551 := 1; assume { :LIR "62251" } { :back_translation "visiting" } true; local_#9552 := _memory[{ base : local_#3878_t!base, offset : local_#3878_t!offset + 11 }]; assume { :LIR "69456" } { :back_translation "visiting" } true; local_#9553 := ~shl32(local_#9551, local_#9552); assume { :LIR "52069" } { :back_translation "assignment" } true; local_#30604 := local_#9553; goto CFG_42090; CFG_39873: assume { :LIR "39873" } { :back_translation "block" } true; assume { :LIR "71585" } { :back_translation "visiting" } true; local_#30604 := 0; goto CFG_42090; CFG_42090: assume { :LIR "42090" } { :back_translation "block" } true; assume { :LIR "52070" } { :back_translation "assignment" } true; local_#31297_nsize := local_#30604; assume { :LIR "62252" } { :back_translation "visiting" } true; local_#9554 := ~uwrap32(local_#31297_nsize); goto CFG_45428; CFG_45428: assume { :LIR "45428" } { :back_translation "block" } true; assume { :LIR "78967" } { :back_translation "visiting" } true; call routine_#33775_luaH_resize(local_#3877_L,local_#3878_t,local_#3879_nasize,local_#9554); goto CFG_39106; CFG_39106: assume { :LIR "39106" } { :back_translation "block" } true; goto CFG_37195; CFG_37195: assume { :LIR "37195" } { :back_translation "block" } true; } procedure routine_#33777_luaH_set(local_#3880_L_IN : { base : int, offset : int }, local_#3881_t_IN : { base : int, offset : int }, local_#3882_key_IN : { base : int, offset : int }) returns (local_#7779 : { base : int, offset : int }) { var local_#3880_L : { base : int, offset : int }; var local_#3881_t : { base : int, offset : int }; var local_#3882_key : { base : int, offset : int }; havoc local_#7779; havoc local_#3880_L; havoc local_#3881_t; havoc local_#3882_key; local_#3880_L := local_#3880_L_IN; local_#3881_t := local_#3881_t_IN; local_#3882_key := local_#3882_key_IN; } procedure routine_#33778_luaH_setint(local_#3883_L_IN : { base : int, offset : int }, local_#3884_t_IN : { base : int, offset : int }, local_#3885_key_IN : int, local_#3886_value_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3883_L : { base : int, offset : int }; var local_#3884_t : { base : int, offset : int }; var local_#3885_key : int; var local_#3886_value : { base : int, offset : int }; var local_#9559 : { base : int, offset : int }; var local_#31300_p : { base : int, offset : int }; var local_#9560 : int; var local_#31301_k : { base : int, offset : int }; var local_#31302_io : { base : int, offset : int }; var local_#9561 : { base : int, offset : int }; var local_#9562 : { base : int, offset : int }; var local_#9563 : { base : int, offset : int }; var local_#31299_cell : { base : int, offset : int }; var local_#9564 : { base : int, offset : int }; var local_#9565 : int; var local_#9566 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#9567 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#9568 : int; var local_#9569 : int; havoc local_#3883_L; havoc local_#3884_t; havoc local_#3885_key; havoc local_#3886_value; havoc local_#9559; havoc local_#31300_p; havoc local_#9560; havoc local_#31301_k; havoc local_#31302_io; havoc local_#9561; havoc local_#9562; havoc local_#9563; havoc local_#31299_cell; havoc local_#9564; havoc local_#9565; havoc local_#9566; havoc local_#9567; havoc local_#9568; havoc local_#9569; local_#3883_L := local_#3883_L_IN; local_#3884_t := local_#3884_t_IN; local_#3885_key := local_#3885_key_IN; local_#3886_value := local_#3886_value_IN; goto CFG_36286; CFG_36286: assume { :LIR "36286" } { :back_translation "block" } true; goto CFG_45431; CFG_45431: assume { :LIR "45431" } { :back_translation "block" } true; assume { :LIR "78970" } { :back_translation "visiting" } true; call local_#9559 := routine_#33768_luaH_getint(local_#3884_t,local_#3885_key); goto CFG_49192; CFG_49192: assume { :LIR "49192" } { :back_translation "block" } true; assume { :LIR "52074" } { :back_translation "assignment" } true; local_#31300_p := local_#9559; assume { :LIR "65452" } { :back_translation "visiting" } true; local_#9560 := (if local_#31300_p != global_#33098_luaO_nilobject_ then 1 else 0); if (local_#9560 != 0) { assume { :LIR "39875" } { :back_translation "taking-then-branch" } true; goto CFG_39875; } else { assume { :LIR "42091" } { :back_translation "taking-else-branch" } true; goto CFG_42091; } CFG_42091: assume { :LIR "42091" } { :back_translation "block" } true; assume { :LIR "52075" } { :back_translation "assignment" } true; local_#31302_io := local_#31301_k; assume { :LIR "52076" } { :back_translation "assignment" } true; local_#9561 := { base : local_#31302_io!base, offset : local_#31302_io!offset + 0 }; assume { :LIR "52077" } { :back_translation "assignment" } true; _memory[local_#9561] := local_#3885_key; assume { :LIR "71586" } { :back_translation "visiting" } true; _memory[{ base : local_#31302_io!base, offset : local_#31302_io!offset + 8 }] := 19; assume { :LIR "62253" } { :back_translation "visiting" } true; local_#9562 := local_#31301_k; goto CFG_45432; CFG_45432: assume { :LIR "45432" } { :back_translation "block" } true; assume { :LIR "78971" } { :back_translation "visiting" } true; call local_#9563 := routine_#33773_luaH_newkey(local_#3883_L,local_#3884_t,local_#9562); goto CFG_39874; CFG_39874: assume { :LIR "39874" } { :back_translation "block" } true; assume { :LIR "52078" } { :back_translation "assignment" } true; local_#31299_cell := local_#9563; goto CFG_39107; CFG_39875: assume { :LIR "39875" } { :back_translation "block" } true; assume { :LIR "60261" } { :back_translation "visiting" } true; local_#9564 := local_#31300_p; assume { :LIR "52079" } { :back_translation "assignment" } true; local_#31299_cell := local_#9564; goto CFG_39107; CFG_39107: assume { :LIR "39107" } { :back_translation "block" } true; assume { :LIR "60262" } { :back_translation "visiting" } true; local_#9565 := 0; assume { :LIR "52080" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_b == _memory[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_f == _memory_ptr[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_gc == _memory_ptr[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_i == _memory[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_p == _memory_ptr[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_tt_ == _memory[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 8 }]; call write_type_#101(local_#31299_cell,read_type_#101(_memory, _memory_ptr, local_#3886_value)); assume { :LIR "52081" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_b == _memory[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_f == _memory_ptr[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_gc == _memory_ptr[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_i == _memory[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_p == _memory_ptr[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_tt_ == _memory[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 8 }]; local_#9566 := read_type_#101(_memory, _memory_ptr, local_#31299_cell); assume { :LIR "52082" } { :back_translation "assignment" } true; local_#9567 := local_#9566; assume { :LIR "71587" } { :back_translation "visiting" } true; local_#9568 := 0; assume { :LIR "60263" } { :back_translation "visiting" } true; local_#9569 := 0; goto CFG_37197; CFG_37197: assume { :LIR "37197" } { :back_translation "block" } true; } procedure routine_#33857_luaM_realloc_(local_#4095_L_IN : { base : int, offset : int }, local_#4096_block_IN : { base : int, offset : int }, local_#4097_osize_IN : int, local_#4098_nsize_IN : int) returns (local_#7817 : { base : int, offset : int }) { var local_#4095_L : { base : int, offset : int }; var local_#4096_block : { base : int, offset : int }; var local_#4097_osize : int; var local_#4098_nsize : int; havoc local_#7817; havoc local_#4095_L; havoc local_#4096_block; havoc local_#4097_osize; havoc local_#4098_nsize; local_#4095_L := local_#4095_L_IN; local_#4096_block := local_#4096_block_IN; local_#4097_osize := local_#4097_osize_IN; local_#4098_nsize := local_#4098_nsize_IN; } procedure routine_#33862_luaO_fb2int(local_#4109_x_IN : int) returns (local_#7819 : int) { var local_#4109_x : int; var local_#10912 : int; var local_#10913 : int; var local_#10914 : int; var local_#10915 : int; var local_#10916 : int; var local_#10917 : int; var local_#10918 : int; var local_#10919 : int; var local_#10920 : int; var local_#10921 : int; var local_#10922 : int; var local_#30618 : int; havoc local_#7819; havoc local_#4109_x; havoc local_#10912; havoc local_#10913; havoc local_#10914; havoc local_#10915; havoc local_#10916; havoc local_#10917; havoc local_#10918; havoc local_#10919; havoc local_#10920; havoc local_#10921; havoc local_#10922; havoc local_#30618; local_#4109_x := local_#4109_x_IN; goto CFG_36370; CFG_36370: assume { :LIR "36370" } { :back_translation "block" } true; goto CFG_49352; CFG_49352: assume { :LIR "49352" } { :back_translation "block" } true; assume { :LIR "71968" } { :back_translation "visiting" } true; local_#10912 := 8; assume { :LIR "66151" } { :back_translation "visiting" } true; local_#10913 := (if local_#4109_x < local_#10912 then 1 else 0); if (local_#10913 != 0) { assume { :LIR "40012" } { :back_translation "taking-then-branch" } true; goto CFG_40012; } else { assume { :LIR "40011" } { :back_translation "taking-else-branch" } true; goto CFG_40011; } CFG_40011: assume { :LIR "40011" } { :back_translation "block" } true; assume { :LIR "71969" } { :back_translation "visiting" } true; local_#10914 := 7; assume { :LIR "68723" } { :back_translation "visiting" } true; local_#10915 := ~sand32(local_#4109_x, local_#10914); assume { :LIR "71970" } { :back_translation "visiting" } true; local_#10916 := 8; assume { :LIR "66422" } { :back_translation "visiting" } true; local_#10917 := local_#10915 + local_#10916; assume { :LIR "71971" } { :back_translation "visiting" } true; local_#10918 := 3; assume { :LIR "69526" } { :back_translation "visiting" } true; local_#10919 := ~ashr32(local_#4109_x, local_#10918); assume { :LIR "71972" } { :back_translation "visiting" } true; local_#10920 := 1; assume { :LIR "67905" } { :back_translation "visiting" } true; local_#10921 := local_#10919 - local_#10920; assume { :LIR "69471" } { :back_translation "visiting" } true; local_#10922 := ~shl32(local_#10917, local_#10921); assume { :LIR "52536" } { :back_translation "assignment" } true; local_#30618 := local_#10922; goto CFG_38148; CFG_40012: assume { :LIR "40012" } { :back_translation "block" } true; assume { :LIR "52537" } { :back_translation "assignment" } true; local_#30618 := local_#4109_x; goto CFG_38148; CFG_38148: assume { :LIR "38148" } { :back_translation "block" } true; assume { :LIR "52538" } { :back_translation "assignment" } true; local_#7819 := local_#30618; goto CFG_37281; CFG_37281: assume { :LIR "37281" } { :back_translation "block" } true; } procedure routine_#33867_luaO_str2num(local_#4117_s_IN : { base : int, offset : int }, local_#4118_o_IN : { base : int, offset : int }) returns (local_#7824 : int) { var local_#4117_s : { base : int, offset : int }; var local_#4118_o : { base : int, offset : int }; havoc local_#7824; havoc local_#4117_s; havoc local_#4118_o; local_#4117_s := local_#4117_s_IN; local_#4118_o := local_#4118_o_IN; } procedure routine_#33868_luaO_tostring(local_#4119_L_IN : { base : int, offset : int }, local_#4120_obj_IN : { base : int, offset : int }) returns () { var local_#4119_L : { base : int, offset : int }; var local_#4120_obj : { base : int, offset : int }; havoc local_#4119_L; havoc local_#4120_obj; local_#4119_L := local_#4119_L_IN; local_#4120_obj := local_#4120_obj_IN; } procedure routine_#33871_luaS_createlngstrobj(local_#4124_L_IN : { base : int, offset : int }, local_#4125_l_IN : int) returns (local_#7826 : { base : int, offset : int }) { var local_#4124_L : { base : int, offset : int }; var local_#4125_l : int; havoc local_#7826; havoc local_#4124_L; havoc local_#4125_l; local_#4124_L := local_#4124_L_IN; local_#4125_l := local_#4125_l_IN; } procedure routine_#33872_luaS_eqlngstr(local_#4126_a_IN : { base : int, offset : int }, local_#4127_b_IN : { base : int, offset : int }) returns (local_#7827 : int) { var local_#4126_a : { base : int, offset : int }; var local_#4127_b : { base : int, offset : int }; havoc local_#7827; havoc local_#4126_a; havoc local_#4127_b; local_#4126_a := local_#4126_a_IN; local_#4127_b := local_#4127_b_IN; } procedure routine_#33877_luaS_newlstr(local_#4135_L_IN : { base : int, offset : int }, local_#4136_str_IN : { base : int, offset : int }, local_#4137_l_IN : int) returns (local_#7831 : { base : int, offset : int }) { var local_#4135_L : { base : int, offset : int }; var local_#4136_str : { base : int, offset : int }; var local_#4137_l : int; havoc local_#7831; havoc local_#4135_L; havoc local_#4136_str; havoc local_#4137_l; local_#4135_L := local_#4135_L_IN; local_#4136_str := local_#4136_str_IN; local_#4137_l := local_#4137_l_IN; } procedure routine_#33881_luaT_callTM(local_#4144_L_IN : { base : int, offset : int }, local_#4145_f_IN : { base : int, offset : int }, local_#4146_p1_IN : { base : int, offset : int }, local_#4147_p2_IN : { base : int, offset : int }, local_#4148_p3_IN : { base : int, offset : int }, local_#4149_hasres_IN : int) returns () { var local_#4144_L : { base : int, offset : int }; var local_#4145_f : { base : int, offset : int }; var local_#4146_p1 : { base : int, offset : int }; var local_#4147_p2 : { base : int, offset : int }; var local_#4148_p3 : { base : int, offset : int }; var local_#4149_hasres : int; havoc local_#4144_L; havoc local_#4145_f; havoc local_#4146_p1; havoc local_#4147_p2; havoc local_#4148_p3; havoc local_#4149_hasres; local_#4144_L := local_#4144_L_IN; local_#4145_f := local_#4145_f_IN; local_#4146_p1 := local_#4146_p1_IN; local_#4147_p2 := local_#4147_p2_IN; local_#4148_p3 := local_#4148_p3_IN; local_#4149_hasres := local_#4149_hasres_IN; } procedure routine_#33882_luaT_callbinTM(local_#4150_L_IN : { base : int, offset : int }, local_#4151_p1_IN : { base : int, offset : int }, local_#4152_p2_IN : { base : int, offset : int }, local_#4153_res_IN : { base : int, offset : int }, local_#4154_event_IN : int) returns (local_#7833 : int) { var local_#4150_L : { base : int, offset : int }; var local_#4151_p1 : { base : int, offset : int }; var local_#4152_p2 : { base : int, offset : int }; var local_#4153_res : { base : int, offset : int }; var local_#4154_event : int; havoc local_#7833; havoc local_#4150_L; havoc local_#4151_p1; havoc local_#4152_p2; havoc local_#4153_res; havoc local_#4154_event; local_#4150_L := local_#4150_L_IN; local_#4151_p1 := local_#4151_p1_IN; local_#4152_p2 := local_#4152_p2_IN; local_#4153_res := local_#4153_res_IN; local_#4154_event := local_#4154_event_IN; } procedure routine_#33883_luaT_callorderTM(local_#4155_L_IN : { base : int, offset : int }, local_#4156_p1_IN : { base : int, offset : int }, local_#4157_p2_IN : { base : int, offset : int }, local_#4158_event_IN : int) returns (local_#7834 : int) { var local_#4155_L : { base : int, offset : int }; var local_#4156_p1 : { base : int, offset : int }; var local_#4157_p2 : { base : int, offset : int }; var local_#4158_event : int; havoc local_#7834; havoc local_#4155_L; havoc local_#4156_p1; havoc local_#4157_p2; havoc local_#4158_event; local_#4155_L := local_#4155_L_IN; local_#4156_p1 := local_#4156_p1_IN; local_#4157_p2 := local_#4157_p2_IN; local_#4158_event := local_#4158_event_IN; } procedure routine_#33884_luaT_gettm(local_#4159_events_IN : { base : int, offset : int }, local_#4160_event_IN : int, local_#4161_ename_IN : { base : int, offset : int }) returns (local_#7835 : { base : int, offset : int }) { var local_#4159_events : { base : int, offset : int }; var local_#4160_event : int; var local_#4161_ename : { base : int, offset : int }; havoc local_#7835; havoc local_#4159_events; havoc local_#4160_event; havoc local_#4161_ename; local_#4159_events := local_#4159_events_IN; local_#4160_event := local_#4160_event_IN; local_#4161_ename := local_#4161_ename_IN; } procedure routine_#33885_luaT_gettmbyobj(local_#4162_L_IN : { base : int, offset : int }, local_#4163_o_IN : { base : int, offset : int }, local_#4164_event_IN : int) returns (local_#7836 : { base : int, offset : int }) { var local_#4162_L : { base : int, offset : int }; var local_#4163_o : { base : int, offset : int }; var local_#4164_event : int; havoc local_#7836; havoc local_#4162_L; havoc local_#4163_o; havoc local_#4164_event; local_#4162_L := local_#4162_L_IN; local_#4163_o := local_#4163_o_IN; local_#4164_event := local_#4164_event_IN; } procedure routine_#33888_luaT_trybinTM(local_#4168_L_IN : { base : int, offset : int }, local_#4169_p1_IN : { base : int, offset : int }, local_#4170_p2_IN : { base : int, offset : int }, local_#4171_res_IN : { base : int, offset : int }, local_#4172_event_IN : int) returns () { var local_#4168_L : { base : int, offset : int }; var local_#4169_p1 : { base : int, offset : int }; var local_#4170_p2 : { base : int, offset : int }; var local_#4171_res : { base : int, offset : int }; var local_#4172_event : int; var local_#11537 : int; var local_#11538 : int; havoc local_#4168_L; havoc local_#4169_p1; havoc local_#4170_p2; havoc local_#4171_res; havoc local_#4172_event; havoc local_#11537; havoc local_#11538; local_#4168_L := local_#4168_L_IN; local_#4169_p1 := local_#4169_p1_IN; local_#4170_p2 := local_#4170_p2_IN; local_#4171_res := local_#4171_res_IN; local_#4172_event := local_#4172_event_IN; goto CFG_36396; CFG_36396: assume { :LIR "36396" } { :back_translation "block" } true; goto CFG_45830; CFG_45830: assume { :LIR "45830" } { :back_translation "block" } true; assume { :LIR "79367" } { :back_translation "visiting" } true; call local_#11537 := routine_#33882_luaT_callbinTM(local_#4168_L,local_#4169_p1,local_#4170_p2,local_#4171_res,local_#4172_event); goto CFG_49412; CFG_49412: assume { :LIR "49412" } { :back_translation "block" } true; assume { :LIR "64513" } { :back_translation "visiting" } true; local_#11538 := (if local_#11537 != 0 then 0 else 1); if (local_#11538 != 0) { assume { :LIR "51514" } { :back_translation "taking-then-branch" } true; goto _routine_#33888_luaT_trybinTM_SLICED_OUT_BLOCK; } else { assume { :LIR "39167" } { :back_translation "taking-else-branch" } true; goto CFG_39167; } CFG_39167: assume { :LIR "39167" } { :back_translation "block" } true; goto CFG_37307; CFG_37307: assume { :LIR "37307" } { :back_translation "block" } true; _routine_#33888_luaT_trybinTM_SLICED_OUT_BLOCK: assume false; } procedure routine_#33891_luaV_concat(local_#4181_L_IN : { base : int, offset : int }, local_#4182_total_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4181_L : { base : int, offset : int }; var local_#4182_total : int; var local_#11595 : int; var local_#11596 : int; var local_#31463_top : { base : int, offset : int }; var local_#31462_n : int; var local_#11597 : int; var local_#11598 : { base : int, offset : int }; var local_#11599 : int; var local_#11600 : int; var local_#11601 : int; var local_#11602 : int; var local_#11603 : int; var local_#11604 : { base : int, offset : int }; var local_#11605 : int; var local_#11606 : int; var local_#11607 : int; var local_#11608 : int; var local_#11609 : int; var local_#11610 : { base : int, offset : int }; var local_#11611 : int; var local_#11612 : int; var local_#11613 : int; var local_#11614 : int; var local_#11615 : int; var local_#11616 : { base : int, offset : int }; var local_#11617 : int; var local_#11618 : int; var local_#11619 : int; var local_#11620 : int; var local_#11621 : int; var local_#11622 : { base : int, offset : int }; var local_#11623 : int; var local_#11624 : int; var local_#11625 : { base : int, offset : int }; var local_#11626 : { base : int, offset : int }; var local_#11627 : int; var local_#11628 : { base : int, offset : int }; var local_#11629 : { base : int, offset : int }; var local_#11630 : int; var local_#11631 : { base : int, offset : int }; var local_#11632 : int; var local_#11633 : int; var local_#11634 : { base : int, offset : int }; var local_#11635 : int; var local_#11636 : int; var local_#11637 : int; var local_#11638 : { base : int, offset : int }; var local_#11639 : { base : int, offset : int }; var local_#11640 : { base : int, offset : int }; var local_#11641 : { base : int, offset : int }; var local_#11642 : int; var local_#11643 : int; var local_#11644 : int; var local_#11645 : int; var local_#11646 : { base : int, offset : int }; var local_#11647 : int; var local_#11648 : int; var local_#11649 : int; var local_#11650 : { base : int, offset : int }; var local_#11651 : { base : int, offset : int }; var local_#11652 : { base : int, offset : int }; var local_#11653 : { base : int, offset : int }; var local_#11654 : int; var local_#11655 : int; var local_#11656 : int; var local_#11657 : int; var local_#11658 : { base : int, offset : int }; var local_#11659 : { base : int, offset : int }; var local_#11660 : { base : int, offset : int }; var local_#11661 : { base : int, offset : int }; var local_#11662 : int; var local_#11663 : int; var local_#11664 : int; var local_#11665 : int; var local_#11666 : { base : int, offset : int }; var local_#11667 : { base : int, offset : int }; var local_#11668 : { base : int, offset : int }; var local_#11669 : { base : int, offset : int }; var local_#11670 : { base : int, offset : int }; var local_#30622 : int; var local_#11671 : int; var local_#11672 : { base : int, offset : int }; var local_#11673 : { base : int, offset : int }; var local_#11674 : { base : int, offset : int }; var local_#11675 : { base : int, offset : int }; var local_#11676 : int; var local_#31465_tl : int; var local_#11677 : int; var local_#11678 : { base : int, offset : int }; var local_#11679 : int; var local_#11680 : { base : int, offset : int }; var local_#11681 : int; var local_#11682 : int; var local_#11683 : int; var local_#11684 : int; var local_#11685 : { base : int, offset : int }; var local_#11686 : int; var local_#11687 : { base : int, offset : int }; var local_#11688 : int; var local_#11689 : int; var local_#11690 : int; var local_#11691 : int; var local_#11692 : { base : int, offset : int }; var local_#11693 : int; var local_#11694 : { base : int, offset : int }; var local_#11695 : int; var local_#11696 : int; var local_#11697 : int; var local_#11698 : { base : int, offset : int }; var local_#31466_ts : { base : int, offset : int }; var local_#11699 : { base : int, offset : int }; var local_#11700 : int; var local_#11701 : { base : int, offset : int }; var local_#31468_buff : { base : int, offset : int }; var local_#11702 : { base : int, offset : int }; var local_#11703 : { base : int, offset : int }; var local_#11704 : { base : int, offset : int }; var local_#11705 : { base : int, offset : int }; var local_#31469_io : { base : int, offset : int }; var local_#31470_x_ : { base : int, offset : int }; var local_#11706 : { base : int, offset : int }; var local_#11707 : { base : int, offset : int }; var local_#11708 : { base : int, offset : int }; var local_#11709 : int; var local_#11710 : int; var local_#11711 : int; var local_#11712 : int; var local_#11713 : int; var local_#11714 : { base : int, offset : int }; var local_#11715 : int; var local_#11716 : { base : int, offset : int }; var local_#11717 : { base : int, offset : int }; var local_#11718 : { base : int, offset : int }; var local_#11719 : { base : int, offset : int }; var local_#11720 : int; var local_#11721 : int; var local_#11722 : int; var local_#11723 : { base : int, offset : int }; var local_#11724 : int; var local_#11725 : { base : int, offset : int }; var local_#11726 : { base : int, offset : int }; var local_#11727 : { base : int, offset : int }; var local_#11728 : { base : int, offset : int }; var local_#11729 : { base : int, offset : int }; var local_#30623 : int; var local_#11730 : { base : int, offset : int }; var local_#11731 : int; var local_#11732 : { base : int, offset : int }; var local_#11733 : { base : int, offset : int }; var local_#11734 : { base : int, offset : int }; var local_#11735 : { base : int, offset : int }; var local_#11736 : int; var local_#31467_l : int; var local_#11737 : int; var local_#11738 : int; var local_#11739 : int; var local_#11740 : int; var local_#11741 : int; var local_#11742 : int; var local_#11745 : int; var local_#11746 : { base : int, offset : int }; var local_#31464_io1 : { base : int, offset : int }; var local_#11747 : int; var local_#11748 : { base : int, offset : int }; var local_#11749 : int; var local_#11750 : int; var local_#11751 : int; var local_#11752 : int; var local_#11753 : { base : int, offset : int }; var local_#11754 : int; var local_#11755 : int; var local_#11756 : int; var local_#11757 : int; var local_#11758 : int; var local_#11759 : { base : int, offset : int }; var local_#11760 : int; var local_#11761 : int; var local_#11762 : int; var local_#11763 : int; var local_#11764 : int; var local_#11765 : { base : int, offset : int }; var local_#11766 : int; var local_#30624 : int; var local_#11767 : int; var local_#11768 : int; var local_#11769 : int; var local_#11770 : int; var local_#11771 : int; var local_#11772 : int; var local_#11773 : int; havoc local_#4181_L; havoc local_#4182_total; havoc local_#11595; havoc local_#11596; havoc local_#31463_top; havoc local_#31462_n; havoc local_#11597; havoc local_#11598; havoc local_#11599; havoc local_#11600; havoc local_#11601; havoc local_#11602; havoc local_#11603; havoc local_#11604; havoc local_#11605; havoc local_#11606; havoc local_#11607; havoc local_#11608; havoc local_#11609; havoc local_#11610; havoc local_#11611; havoc local_#11612; havoc local_#11613; havoc local_#11614; havoc local_#11615; havoc local_#11616; havoc local_#11617; havoc local_#11618; havoc local_#11619; havoc local_#11620; havoc local_#11621; havoc local_#11622; havoc local_#11623; havoc local_#11624; havoc local_#11625; havoc local_#11626; havoc local_#11627; havoc local_#11628; havoc local_#11629; havoc local_#11630; havoc local_#11631; havoc local_#11632; havoc local_#11633; havoc local_#11634; havoc local_#11635; havoc local_#11636; havoc local_#11637; havoc local_#11638; havoc local_#11639; havoc local_#11640; havoc local_#11641; havoc local_#11642; havoc local_#11643; havoc local_#11644; havoc local_#11645; havoc local_#11646; havoc local_#11647; havoc local_#11648; havoc local_#11649; havoc local_#11650; havoc local_#11651; havoc local_#11652; havoc local_#11653; havoc local_#11654; havoc local_#11655; havoc local_#11656; havoc local_#11657; havoc local_#11658; havoc local_#11659; havoc local_#11660; havoc local_#11661; havoc local_#11662; havoc local_#11663; havoc local_#11664; havoc local_#11665; havoc local_#11666; havoc local_#11667; havoc local_#11668; havoc local_#11669; havoc local_#11670; havoc local_#30622; havoc local_#11671; havoc local_#11672; havoc local_#11673; havoc local_#11674; havoc local_#11675; havoc local_#11676; havoc local_#31465_tl; havoc local_#11677; havoc local_#11678; havoc local_#11679; havoc local_#11680; havoc local_#11681; havoc local_#11682; havoc local_#11683; havoc local_#11684; havoc local_#11685; havoc local_#11686; havoc local_#11687; havoc local_#11688; havoc local_#11689; havoc local_#11690; havoc local_#11691; havoc local_#11692; havoc local_#11693; havoc local_#11694; havoc local_#11695; havoc local_#11696; havoc local_#11697; havoc local_#11698; havoc local_#31466_ts; havoc local_#11699; havoc local_#11700; havoc local_#11701; havoc local_#31468_buff; havoc local_#11702; havoc local_#11703; havoc local_#11704; havoc local_#11705; havoc local_#31469_io; havoc local_#31470_x_; havoc local_#11706; havoc local_#11707; havoc local_#11708; havoc local_#11709; havoc local_#11710; havoc local_#11711; havoc local_#11712; havoc local_#11713; havoc local_#11714; havoc local_#11715; havoc local_#11716; havoc local_#11717; havoc local_#11718; havoc local_#11719; havoc local_#11720; havoc local_#11721; havoc local_#11722; havoc local_#11723; havoc local_#11724; havoc local_#11725; havoc local_#11726; havoc local_#11727; havoc local_#11728; havoc local_#11729; havoc local_#30623; havoc local_#11730; havoc local_#11731; havoc local_#11732; havoc local_#11733; havoc local_#11734; havoc local_#11735; havoc local_#11736; havoc local_#31467_l; havoc local_#11737; havoc local_#11738; havoc local_#11739; havoc local_#11740; havoc local_#11741; havoc local_#11742; havoc local_#11745; havoc local_#11746; havoc local_#31464_io1; havoc local_#11747; havoc local_#11748; havoc local_#11749; havoc local_#11750; havoc local_#11751; havoc local_#11752; havoc local_#11753; havoc local_#11754; havoc local_#11755; havoc local_#11756; havoc local_#11757; havoc local_#11758; havoc local_#11759; havoc local_#11760; havoc local_#11761; havoc local_#11762; havoc local_#11763; havoc local_#11764; havoc local_#11765; havoc local_#11766; havoc local_#30624; havoc local_#11767; havoc local_#11768; havoc local_#11769; havoc local_#11770; havoc local_#11771; havoc local_#11772; havoc local_#11773; local_#4181_L := local_#4181_L_IN; local_#4182_total := local_#4182_total_IN; goto CFG_36399; CFG_36399: assume { :LIR "36399" } { :back_translation "block" } true; goto CFG_41660; CFG_41660: assume { :LIR "41660" } { :back_translation "block" } true; assume { :LIR "72167" } { :back_translation "visiting" } true; local_#11595 := 0; assume { :LIR "60396" } { :back_translation "visiting" } true; local_#11596 := 0; goto CFG_49422; CFG_49422: assume { :LIR "49422" } { :back_translation "block" } true; assume { :LIR "52805" } { :back_translation "assignment" } true; local_#31463_top := _memory_ptr[{ base : local_#4181_L!base, offset : local_#4181_L!offset + 16 }]; assume { :LIR "72168" } { :back_translation "visiting" } true; local_#31462_n := 2; assume { :LIR "72169" } { :back_translation "visiting" } true; local_#11597 := 2; assume { :LIR "68230" } { :back_translation "visiting" } true; local_#11598 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11597 * 16 }; assume { :LIR "72170" } { :back_translation "visiting" } true; local_#11599 := 15; assume { :LIR "68736" } { :back_translation "visiting" } true; local_#11600 := ~sand32(_memory[{ base : local_#11598!base, offset : local_#11598!offset + 8 }], local_#11599); assume { :LIR "72171" } { :back_translation "visiting" } true; local_#11601 := 4; assume { :LIR "64783" } { :back_translation "visiting" } true; local_#11602 := (if local_#11600 == local_#11601 then 1 else 0); if (local_#11602 != 0) { assume { :LIR "49424" } { :back_translation "taking-then-branch" } true; goto CFG_49424; } else { assume { :LIR "49423" } { :back_translation "taking-else-branch" } true; goto CFG_49423; } CFG_49423: assume { :LIR "49423" } { :back_translation "block" } true; assume { :LIR "72172" } { :back_translation "visiting" } true; local_#11603 := 2; assume { :LIR "68231" } { :back_translation "visiting" } true; local_#11604 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11603 * 16 }; assume { :LIR "72173" } { :back_translation "visiting" } true; local_#11605 := 15; assume { :LIR "68737" } { :back_translation "visiting" } true; local_#11606 := ~sand32(_memory[{ base : local_#11604!base, offset : local_#11604!offset + 8 }], local_#11605); assume { :LIR "72174" } { :back_translation "visiting" } true; local_#11607 := 3; assume { :LIR "64784" } { :back_translation "visiting" } true; local_#11608 := (if local_#11606 == local_#11607 then 1 else 0); if (local_#11608 != 0) { assume { :LIR "49424" } { :back_translation "taking-then-branch" } true; goto CFG_49424; } else { assume { :LIR "42392" } { :back_translation "taking-else-branch" } true; goto CFG_42392; } CFG_49424: assume { :LIR "49424" } { :back_translation "block" } true; assume { :LIR "72175" } { :back_translation "visiting" } true; local_#11609 := 1; assume { :LIR "68232" } { :back_translation "visiting" } true; local_#11610 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11609 * 16 }; assume { :LIR "72176" } { :back_translation "visiting" } true; local_#11611 := 15; assume { :LIR "68738" } { :back_translation "visiting" } true; local_#11612 := ~sand32(_memory[{ base : local_#11610!base, offset : local_#11610!offset + 8 }], local_#11611); assume { :LIR "72177" } { :back_translation "visiting" } true; local_#11613 := 4; assume { :LIR "64785" } { :back_translation "visiting" } true; local_#11614 := (if local_#11612 == local_#11613 then 1 else 0); if (local_#11614 != 0) { assume { :LIR "49427" } { :back_translation "taking-then-branch" } true; goto CFG_49427; } else { assume { :LIR "49425" } { :back_translation "taking-else-branch" } true; goto CFG_49425; } CFG_49425: assume { :LIR "49425" } { :back_translation "block" } true; assume { :LIR "72178" } { :back_translation "visiting" } true; local_#11615 := 1; assume { :LIR "68233" } { :back_translation "visiting" } true; local_#11616 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11615 * 16 }; assume { :LIR "72179" } { :back_translation "visiting" } true; local_#11617 := 15; assume { :LIR "68739" } { :back_translation "visiting" } true; local_#11618 := ~sand32(_memory[{ base : local_#11616!base, offset : local_#11616!offset + 8 }], local_#11617); assume { :LIR "72180" } { :back_translation "visiting" } true; local_#11619 := 3; assume { :LIR "64786" } { :back_translation "visiting" } true; local_#11620 := (if local_#11618 == local_#11619 then 1 else 0); if (local_#11620 != 0) { assume { :LIR "42391" } { :back_translation "taking-then-branch" } true; goto CFG_42391; } else { assume { :LIR "42392" } { :back_translation "taking-else-branch" } true; goto CFG_42392; } CFG_42391: assume { :LIR "42391" } { :back_translation "block" } true; assume { :LIR "72181" } { :back_translation "visiting" } true; local_#11621 := 1; assume { :LIR "68234" } { :back_translation "visiting" } true; local_#11622 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11621 * 16 }; goto CFG_45846; CFG_45846: assume { :LIR "45846" } { :back_translation "block" } true; assume { :LIR "79383" } { :back_translation "visiting" } true; call routine_#33868_luaO_tostring(local_#4181_L,local_#11622); goto CFG_49426; CFG_49426: assume { :LIR "49426" } { :back_translation "block" } true; assume { :LIR "72182" } { :back_translation "visiting" } true; local_#11623 := 1; if (local_#11623 != 0) { assume { :LIR "49427" } { :back_translation "taking-then-branch" } true; goto CFG_49427; } else { assume { :LIR "42392" } { :back_translation "taking-else-branch" } true; goto CFG_42392; } CFG_42392: assume { :LIR "42392" } { :back_translation "block" } true; assume { :LIR "72183" } { :back_translation "visiting" } true; local_#11624 := 2; assume { :LIR "68235" } { :back_translation "visiting" } true; local_#11625 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11624 * 16 }; assume { :LIR "62470" } { :back_translation "visiting" } true; local_#11626 := local_#11625; assume { :LIR "72184" } { :back_translation "visiting" } true; local_#11627 := 1; assume { :LIR "68236" } { :back_translation "visiting" } true; local_#11628 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11627 * 16 }; assume { :LIR "62471" } { :back_translation "visiting" } true; local_#11629 := local_#11628; assume { :LIR "72185" } { :back_translation "visiting" } true; local_#11630 := 2; assume { :LIR "68237" } { :back_translation "visiting" } true; local_#11631 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11630 * 16 }; assume { :LIR "72186" } { :back_translation "visiting" } true; local_#11632 := 22; goto CFG_45847; CFG_45847: assume { :LIR "45847" } { :back_translation "block" } true; assume { :LIR "79384" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4181_L,local_#11626,local_#11629,local_#11631,local_#11632); goto CFG_40051; CFG_40051: assume { :LIR "40051" } { :back_translation "block" } true; goto CFG_42400; CFG_49427: assume { :LIR "49427" } { :back_translation "block" } true; assume { :LIR "72187" } { :back_translation "visiting" } true; local_#11633 := 1; assume { :LIR "68238" } { :back_translation "visiting" } true; local_#11634 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11633 * 16 }; assume { :LIR "72188" } { :back_translation "visiting" } true; local_#11635 := 68; assume { :LIR "64787" } { :back_translation "visiting" } true; local_#11636 := (if _memory[{ base : local_#11634!base, offset : local_#11634!offset + 8 }] == local_#11635 then 1 else 0); if (local_#11636 != 0) { assume { :LIR "49428" } { :back_translation "taking-then-branch" } true; goto CFG_49428; } else { assume { :LIR "49429" } { :back_translation "taking-else-branch" } true; goto CFG_49429; } CFG_49428: assume { :LIR "49428" } { :back_translation "block" } true; assume { :LIR "72189" } { :back_translation "visiting" } true; local_#11637 := 1; assume { :LIR "68239" } { :back_translation "visiting" } true; local_#11638 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11637 * 16 }; assume { :LIR "52806" } { :back_translation "assignment" } true; local_#11639 := { base : local_#11638!base, offset : local_#11638!offset + 0 }; assume { :LIR "60397" } { :back_translation "visiting" } true; local_#11640 := _memory_ptr[local_#11639]; assume { :LIR "52807" } { :back_translation "assignment" } true; local_#11641 := { base : local_#11640!base, offset : local_#11640!offset + 0 }; assume { :LIR "62472" } { :back_translation "visiting" } true; local_#11642 := _memory[{ base : local_#11641!base, offset : local_#11641!offset + 11 }]; assume { :LIR "72190" } { :back_translation "visiting" } true; local_#11643 := 0; assume { :LIR "64788" } { :back_translation "visiting" } true; local_#11644 := (if local_#11642 == local_#11643 then 1 else 0); if (local_#11644 != 0) { assume { :LIR "49439" } { :back_translation "taking-then-branch" } true; goto CFG_49439; } else { assume { :LIR "49429" } { :back_translation "taking-else-branch" } true; goto CFG_49429; } CFG_49429: assume { :LIR "49429" } { :back_translation "block" } true; assume { :LIR "72191" } { :back_translation "visiting" } true; local_#11645 := 2; assume { :LIR "68240" } { :back_translation "visiting" } true; local_#11646 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11645 * 16 }; assume { :LIR "72192" } { :back_translation "visiting" } true; local_#11647 := 68; assume { :LIR "64789" } { :back_translation "visiting" } true; local_#11648 := (if _memory[{ base : local_#11646!base, offset : local_#11646!offset + 8 }] == local_#11647 then 1 else 0); if (local_#11648 != 0) { assume { :LIR "49430" } { :back_translation "taking-then-branch" } true; goto CFG_49430; } else { assume { :LIR "49431" } { :back_translation "taking-else-branch" } true; goto CFG_49431; } CFG_49430: assume { :LIR "49430" } { :back_translation "block" } true; assume { :LIR "72193" } { :back_translation "visiting" } true; local_#11649 := 2; assume { :LIR "68241" } { :back_translation "visiting" } true; local_#11650 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11649 * 16 }; assume { :LIR "52808" } { :back_translation "assignment" } true; local_#11651 := { base : local_#11650!base, offset : local_#11650!offset + 0 }; assume { :LIR "60398" } { :back_translation "visiting" } true; local_#11652 := _memory_ptr[local_#11651]; assume { :LIR "52809" } { :back_translation "assignment" } true; local_#11653 := { base : local_#11652!base, offset : local_#11652!offset + 0 }; assume { :LIR "62473" } { :back_translation "visiting" } true; local_#11654 := _memory[{ base : local_#11653!base, offset : local_#11653!offset + 11 }]; assume { :LIR "72194" } { :back_translation "visiting" } true; local_#11655 := 0; assume { :LIR "64790" } { :back_translation "visiting" } true; local_#11656 := (if local_#11654 == local_#11655 then 1 else 0); if (local_#11656 != 0) { assume { :LIR "40059" } { :back_translation "taking-then-branch" } true; goto CFG_40059; } else { assume { :LIR "49431" } { :back_translation "taking-else-branch" } true; goto CFG_49431; } CFG_49431: assume { :LIR "49431" } { :back_translation "block" } true; assume { :LIR "72195" } { :back_translation "visiting" } true; local_#11657 := 1; assume { :LIR "68242" } { :back_translation "visiting" } true; local_#11658 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11657 * 16 }; assume { :LIR "52810" } { :back_translation "assignment" } true; local_#11659 := { base : local_#11658!base, offset : local_#11658!offset + 0 }; assume { :LIR "60399" } { :back_translation "visiting" } true; local_#11660 := _memory_ptr[local_#11659]; assume { :LIR "52811" } { :back_translation "assignment" } true; local_#11661 := { base : local_#11660!base, offset : local_#11660!offset + 0 }; assume { :LIR "62474" } { :back_translation "visiting" } true; local_#11662 := _memory[{ base : local_#11661!base, offset : local_#11661!offset + 8 }]; assume { :LIR "72196" } { :back_translation "visiting" } true; local_#11663 := 4; assume { :LIR "64791" } { :back_translation "visiting" } true; local_#11664 := (if local_#11662 == local_#11663 then 1 else 0); if (local_#11664 != 0) { assume { :LIR "40053" } { :back_translation "taking-then-branch" } true; goto CFG_40053; } else { assume { :LIR "40052" } { :back_translation "taking-else-branch" } true; goto CFG_40052; } CFG_40052: assume { :LIR "40052" } { :back_translation "block" } true; assume { :LIR "72197" } { :back_translation "visiting" } true; local_#11665 := 1; assume { :LIR "68243" } { :back_translation "visiting" } true; local_#11666 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11665 * 16 }; assume { :LIR "52812" } { :back_translation "assignment" } true; local_#11667 := { base : local_#11666!base, offset : local_#11666!offset + 0 }; assume { :LIR "60400" } { :back_translation "visiting" } true; local_#11668 := _memory_ptr[local_#11667]; assume { :LIR "52813" } { :back_translation "assignment" } true; local_#11669 := { base : local_#11668!base, offset : local_#11668!offset + 0 }; assume { :LIR "52814" } { :back_translation "assignment" } true; local_#11670 := { base : local_#11669!base, offset : local_#11669!offset + 16 }; assume { :LIR "52815" } { :back_translation "assignment" } true; local_#30622 := _memory[local_#11670]; goto CFG_41661; CFG_40053: assume { :LIR "40053" } { :back_translation "block" } true; assume { :LIR "72198" } { :back_translation "visiting" } true; local_#11671 := 1; assume { :LIR "68244" } { :back_translation "visiting" } true; local_#11672 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11671 * 16 }; assume { :LIR "52816" } { :back_translation "assignment" } true; local_#11673 := { base : local_#11672!base, offset : local_#11672!offset + 0 }; assume { :LIR "60401" } { :back_translation "visiting" } true; local_#11674 := _memory_ptr[local_#11673]; assume { :LIR "52817" } { :back_translation "assignment" } true; local_#11675 := { base : local_#11674!base, offset : local_#11674!offset + 0 }; assume { :LIR "62475" } { :back_translation "visiting" } true; local_#11676 := ~uwrap64(_memory[{ base : local_#11675!base, offset : local_#11675!offset + 11 }]); assume { :LIR "52818" } { :back_translation "assignment" } true; local_#30622 := local_#11676; goto CFG_41661; CFG_41661: assume { :LIR "41661" } { :back_translation "block" } true; assume { :LIR "52819" } { :back_translation "assignment" } true; local_#31465_tl := local_#30622; assume { :LIR "72199" } { :back_translation "visiting" } true; local_#31462_n := 1; goto CFG_49432; CFG_49432: assume { :LIR "49432" } { :back_translation "block" } true; assume { :LIR "66163" } { :back_translation "visiting" } true; local_#11677 := (if local_#31462_n < local_#4182_total then 1 else 0); if (local_#11677 != 0) { assume { :LIR "49433" } { :back_translation "taking-then-branch" } true; goto CFG_49433; } else { assume { :LIR "49436" } { :back_translation "taking-else-branch" } true; goto CFG_49436; } CFG_49433: assume { :LIR "49433" } { :back_translation "block" } true; assume { :LIR "68245" } { :back_translation "visiting" } true; local_#11678 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; assume { :LIR "72200" } { :back_translation "visiting" } true; local_#11679 := 1; assume { :LIR "68246" } { :back_translation "visiting" } true; local_#11680 := { base : local_#11678!base, offset : local_#11678!offset - local_#11679 * 16 }; assume { :LIR "72201" } { :back_translation "visiting" } true; local_#11681 := 15; assume { :LIR "68740" } { :back_translation "visiting" } true; local_#11682 := ~sand32(_memory[{ base : local_#11680!base, offset : local_#11680!offset + 8 }], local_#11681); assume { :LIR "72202" } { :back_translation "visiting" } true; local_#11683 := 4; assume { :LIR "64792" } { :back_translation "visiting" } true; local_#11684 := (if local_#11682 == local_#11683 then 1 else 0); if (local_#11684 != 0) { assume { :LIR "49437" } { :back_translation "taking-then-branch" } true; goto CFG_49437; } else { assume { :LIR "49434" } { :back_translation "taking-else-branch" } true; goto CFG_49434; } CFG_49434: assume { :LIR "49434" } { :back_translation "block" } true; assume { :LIR "68247" } { :back_translation "visiting" } true; local_#11685 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; assume { :LIR "72203" } { :back_translation "visiting" } true; local_#11686 := 1; assume { :LIR "68248" } { :back_translation "visiting" } true; local_#11687 := { base : local_#11685!base, offset : local_#11685!offset - local_#11686 * 16 }; assume { :LIR "72204" } { :back_translation "visiting" } true; local_#11688 := 15; assume { :LIR "68741" } { :back_translation "visiting" } true; local_#11689 := ~sand32(_memory[{ base : local_#11687!base, offset : local_#11687!offset + 8 }], local_#11688); assume { :LIR "72205" } { :back_translation "visiting" } true; local_#11690 := 3; assume { :LIR "64793" } { :back_translation "visiting" } true; local_#11691 := (if local_#11689 == local_#11690 then 1 else 0); if (local_#11691 != 0) { assume { :LIR "42393" } { :back_translation "taking-then-branch" } true; goto CFG_42393; } else { assume { :LIR "49436" } { :back_translation "taking-else-branch" } true; goto CFG_49436; } CFG_42393: assume { :LIR "42393" } { :back_translation "block" } true; assume { :LIR "68249" } { :back_translation "visiting" } true; local_#11692 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; assume { :LIR "72206" } { :back_translation "visiting" } true; local_#11693 := 1; assume { :LIR "68250" } { :back_translation "visiting" } true; local_#11694 := { base : local_#11692!base, offset : local_#11692!offset - local_#11693 * 16 }; goto CFG_45848; CFG_45848: assume { :LIR "45848" } { :back_translation "block" } true; assume { :LIR "79385" } { :back_translation "visiting" } true; call routine_#33868_luaO_tostring(local_#4181_L,local_#11694); goto CFG_49435; CFG_49435: assume { :LIR "49435" } { :back_translation "block" } true; assume { :LIR "72207" } { :back_translation "visiting" } true; local_#11695 := 1; if (local_#11695 != 0) { assume { :LIR "49437" } { :back_translation "taking-then-branch" } true; goto CFG_49437; } else { assume { :LIR "49436" } { :back_translation "taking-else-branch" } true; goto CFG_49436; } CFG_49436: assume { :LIR "49436" } { :back_translation "block" } true; assume { :LIR "72208" } { :back_translation "visiting" } true; local_#11696 := 40; assume { :LIR "66020" } { :back_translation "visiting" } true; local_#11697 := (if local_#31465_tl <= local_#11696 then 1 else 0); if (local_#11697 != 0) { assume { :LIR "42395" } { :back_translation "taking-then-branch" } true; goto CFG_42395; } else { assume { :LIR "45849" } { :back_translation "taking-else-branch" } true; goto CFG_45849; } CFG_45849: assume { :LIR "45849" } { :back_translation "block" } true; assume { :LIR "79386" } { :back_translation "visiting" } true; call local_#11698 := routine_#33871_luaS_createlngstrobj(local_#4181_L,local_#31465_tl); goto CFG_42394; CFG_42394: assume { :LIR "42394" } { :back_translation "block" } true; assume { :LIR "52820" } { :back_translation "assignment" } true; local_#31466_ts := local_#11698; assume { :LIR "60402" } { :back_translation "visiting" } true; local_#11699 := local_#31466_ts; assume { :LIR "72209" } { :back_translation "visiting" } true; local_#11700 := 24; assume { :LIR "67061" } { :back_translation "visiting" } true; local_#11701 := { base : local_#11699!base, offset : local_#11699!offset + local_#11700 * 1 }; goto CFG_45850; CFG_45850: assume { :LIR "45850" } { :back_translation "block" } true; assume { :LIR "79387" } { :back_translation "visiting" } true; call routine_#34668_copy2buff(local_#31463_top,local_#31462_n,local_#11701); goto CFG_40054; CFG_40054: assume { :LIR "40054" } { :back_translation "block" } true; goto CFG_40056; CFG_42395: assume { :LIR "42395" } { :back_translation "block" } true; assume { :LIR "52821" } { :back_translation "assignment" } true; local_#11702 := { base : local_#31468_buff!base, offset : local_#31468_buff!offset + 0 * 1 }; goto CFG_45851; CFG_45851: assume { :LIR "45851" } { :back_translation "block" } true; assume { :LIR "79388" } { :back_translation "visiting" } true; call routine_#34668_copy2buff(local_#31463_top,local_#31462_n,local_#11702); goto CFG_42396; CFG_42396: assume { :LIR "42396" } { :back_translation "block" } true; assume { :LIR "62476" } { :back_translation "visiting" } true; local_#11703 := { base : local_#31468_buff!base, offset : local_#31468_buff!offset + 0 * 1 }; goto CFG_45852; CFG_45852: assume { :LIR "45852" } { :back_translation "block" } true; assume { :LIR "79389" } { :back_translation "visiting" } true; call local_#11704 := routine_#33877_luaS_newlstr(local_#4181_L,local_#11703,local_#31465_tl); goto CFG_40055; CFG_40055: assume { :LIR "40055" } { :back_translation "block" } true; assume { :LIR "52822" } { :back_translation "assignment" } true; local_#31466_ts := local_#11704; goto CFG_40056; CFG_40056: assume { :LIR "40056" } { :back_translation "block" } true; assume { :LIR "68251" } { :back_translation "visiting" } true; local_#11705 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; assume { :LIR "52823" } { :back_translation "assignment" } true; local_#31469_io := local_#11705; assume { :LIR "52824" } { :back_translation "assignment" } true; local_#31470_x_ := local_#31466_ts; assume { :LIR "60403" } { :back_translation "visiting" } true; local_#11706 := local_#31470_x_; assume { :LIR "52825" } { :back_translation "assignment" } true; local_#11707 := { base : local_#11706!base, offset : local_#11706!offset + 0 }; assume { :LIR "52826" } { :back_translation "assignment" } true; local_#11708 := { base : local_#31469_io!base, offset : local_#31469_io!offset + 0 }; assume { :LIR "52827" } { :back_translation "assignment" } true; _memory_ptr[local_#11708] := local_#11707; assume { :LIR "62477" } { :back_translation "visiting" } true; local_#11709 := _memory[{ base : local_#31470_x_!base, offset : local_#31470_x_!offset + 8 }]; assume { :LIR "72210" } { :back_translation "visiting" } true; local_#11710 := 64; assume { :LIR "69369" } { :back_translation "visiting" } true; local_#11711 := ~sor32(local_#11709, local_#11710); assume { :LIR "52828" } { :back_translation "assignment" } true; _memory[{ base : local_#31469_io!base, offset : local_#31469_io!offset + 8 }] := local_#11711; assume { :LIR "72211" } { :back_translation "visiting" } true; local_#11712 := 0; assume { :LIR "60404" } { :back_translation "visiting" } true; local_#11713 := 0; goto CFG_40060; CFG_49437: assume { :LIR "49437" } { :back_translation "block" } true; assume { :LIR "68252" } { :back_translation "visiting" } true; local_#11714 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; assume { :LIR "72212" } { :back_translation "visiting" } true; local_#11715 := 1; assume { :LIR "68253" } { :back_translation "visiting" } true; local_#11716 := { base : local_#11714!base, offset : local_#11714!offset - local_#11715 * 16 }; assume { :LIR "52829" } { :back_translation "assignment" } true; local_#11717 := { base : local_#11716!base, offset : local_#11716!offset + 0 }; assume { :LIR "60405" } { :back_translation "visiting" } true; local_#11718 := _memory_ptr[local_#11717]; assume { :LIR "52830" } { :back_translation "assignment" } true; local_#11719 := { base : local_#11718!base, offset : local_#11718!offset + 0 }; assume { :LIR "62478" } { :back_translation "visiting" } true; local_#11720 := _memory[{ base : local_#11719!base, offset : local_#11719!offset + 8 }]; assume { :LIR "72213" } { :back_translation "visiting" } true; local_#11721 := 4; assume { :LIR "64794" } { :back_translation "visiting" } true; local_#11722 := (if local_#11720 == local_#11721 then 1 else 0); if (local_#11722 != 0) { assume { :LIR "40058" } { :back_translation "taking-then-branch" } true; goto CFG_40058; } else { assume { :LIR "40057" } { :back_translation "taking-else-branch" } true; goto CFG_40057; } CFG_40057: assume { :LIR "40057" } { :back_translation "block" } true; assume { :LIR "68254" } { :back_translation "visiting" } true; local_#11723 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; assume { :LIR "72214" } { :back_translation "visiting" } true; local_#11724 := 1; assume { :LIR "68255" } { :back_translation "visiting" } true; local_#11725 := { base : local_#11723!base, offset : local_#11723!offset - local_#11724 * 16 }; assume { :LIR "52831" } { :back_translation "assignment" } true; local_#11726 := { base : local_#11725!base, offset : local_#11725!offset + 0 }; assume { :LIR "60406" } { :back_translation "visiting" } true; local_#11727 := _memory_ptr[local_#11726]; assume { :LIR "52832" } { :back_translation "assignment" } true; local_#11728 := { base : local_#11727!base, offset : local_#11727!offset + 0 }; assume { :LIR "52833" } { :back_translation "assignment" } true; local_#11729 := { base : local_#11728!base, offset : local_#11728!offset + 16 }; assume { :LIR "52834" } { :back_translation "assignment" } true; local_#30623 := _memory[local_#11729]; goto CFG_49438; CFG_40058: assume { :LIR "40058" } { :back_translation "block" } true; assume { :LIR "68256" } { :back_translation "visiting" } true; local_#11730 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; assume { :LIR "72215" } { :back_translation "visiting" } true; local_#11731 := 1; assume { :LIR "68257" } { :back_translation "visiting" } true; local_#11732 := { base : local_#11730!base, offset : local_#11730!offset - local_#11731 * 16 }; assume { :LIR "52835" } { :back_translation "assignment" } true; local_#11733 := { base : local_#11732!base, offset : local_#11732!offset + 0 }; assume { :LIR "60407" } { :back_translation "visiting" } true; local_#11734 := _memory_ptr[local_#11733]; assume { :LIR "52836" } { :back_translation "assignment" } true; local_#11735 := { base : local_#11734!base, offset : local_#11734!offset + 0 }; assume { :LIR "62479" } { :back_translation "visiting" } true; local_#11736 := ~uwrap64(_memory[{ base : local_#11735!base, offset : local_#11735!offset + 11 }]); assume { :LIR "52837" } { :back_translation "assignment" } true; local_#30623 := local_#11736; goto CFG_49438; CFG_49438: assume { :LIR "49438" } { :back_translation "block" } true; assume { :LIR "52838" } { :back_translation "assignment" } true; local_#31467_l := local_#30623; assume { :LIR "72216" } { :back_translation "visiting" } true; local_#11737 := 9223372036854775807; assume { :LIR "67918" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#11738 := ~uwrap64(local_#11737 - local_#31465_tl); assume { :LIR "65707" } { :back_translation "visiting" } true; local_#11739 := (if local_#31467_l >= local_#11738 then 1 else 0); if (local_#11739 != 0) { assume { :LIR "42398" } { :back_translation "taking-then-branch" } true; goto _routine_#33891_luaV_concat_SLICED_OUT_BLOCK; } else { assume { :LIR "42397" } { :back_translation "taking-else-branch" } true; goto CFG_42397; } CFG_42397: assume { :LIR "42397" } { :back_translation "block" } true; assume { :LIR "66452" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#31465_tl := ~uwrap64(local_#31465_tl + local_#31467_l); goto CFG_45001; CFG_45001: assume { :LIR "45001" } { :back_translation "block" } true; assume { :LIR "52839" } { :back_translation "assignment" } true; local_#11740 := local_#31462_n; assume { :LIR "72217" } { :back_translation "visiting" } true; local_#11741 := 1; assume { :LIR "66453" } { :back_translation "visiting" } true; local_#31462_n := local_#11740 + local_#11741; assume { :LIR "52840" } { :back_translation "assignment" } true; local_#11742 := local_#11740; goto CFG_49432; CFG_40059: assume { :LIR "40059" } { :back_translation "block" } true; assume { :LIR "72218" } { :back_translation "visiting" } true; local_#11745 := 2; assume { :LIR "68258" } { :back_translation "visiting" } true; local_#11746 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11745 * 16 }; assume { :LIR "52841" } { :back_translation "assignment" } true; local_#31464_io1 := local_#11746; assume { :LIR "72219" } { :back_translation "visiting" } true; local_#11747 := 1; assume { :LIR "68259" } { :back_translation "visiting" } true; local_#11748 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11747 * 16 }; assume { :LIR "52842" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_b == _memory[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_f == _memory_ptr[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_gc == _memory_ptr[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_i == _memory[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_p == _memory_ptr[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11748)!_tt_ == _memory[{ base : local_#11748!base, offset : local_#11748!offset + 8 }]; call write_type_#101(local_#31464_io1,read_type_#101(_memory, _memory_ptr, local_#11748)); assume { :LIR "60408" } { :back_translation "visiting" } true; local_#11749 := 0; assume { :LIR "72220" } { :back_translation "visiting" } true; local_#11750 := 0; assume { :LIR "60409" } { :back_translation "visiting" } true; local_#11751 := 0; goto CFG_40060; CFG_40060: assume { :LIR "40060" } { :back_translation "block" } true; goto CFG_40064; CFG_49439: assume { :LIR "49439" } { :back_translation "block" } true; assume { :LIR "72221" } { :back_translation "visiting" } true; local_#11752 := 2; assume { :LIR "68260" } { :back_translation "visiting" } true; local_#11753 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11752 * 16 }; assume { :LIR "72222" } { :back_translation "visiting" } true; local_#11754 := 15; assume { :LIR "68742" } { :back_translation "visiting" } true; local_#11755 := ~sand32(_memory[{ base : local_#11753!base, offset : local_#11753!offset + 8 }], local_#11754); assume { :LIR "72223" } { :back_translation "visiting" } true; local_#11756 := 4; assume { :LIR "64795" } { :back_translation "visiting" } true; local_#11757 := (if local_#11755 == local_#11756 then 1 else 0); if (local_#11757 != 0) { assume { :LIR "40062" } { :back_translation "taking-then-branch" } true; goto CFG_40062; } else { assume { :LIR "49440" } { :back_translation "taking-else-branch" } true; goto CFG_49440; } CFG_49440: assume { :LIR "49440" } { :back_translation "block" } true; assume { :LIR "72224" } { :back_translation "visiting" } true; local_#11758 := 2; assume { :LIR "68261" } { :back_translation "visiting" } true; local_#11759 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11758 * 16 }; assume { :LIR "72225" } { :back_translation "visiting" } true; local_#11760 := 15; assume { :LIR "68743" } { :back_translation "visiting" } true; local_#11761 := ~sand32(_memory[{ base : local_#11759!base, offset : local_#11759!offset + 8 }], local_#11760); assume { :LIR "72226" } { :back_translation "visiting" } true; local_#11762 := 3; assume { :LIR "64796" } { :back_translation "visiting" } true; local_#11763 := (if local_#11761 == local_#11762 then 1 else 0); if (local_#11763 != 0) { assume { :LIR "42399" } { :back_translation "taking-then-branch" } true; goto CFG_42399; } else { assume { :LIR "40061" } { :back_translation "taking-else-branch" } true; goto CFG_40061; } CFG_42399: assume { :LIR "42399" } { :back_translation "block" } true; assume { :LIR "72227" } { :back_translation "visiting" } true; local_#11764 := 2; assume { :LIR "68262" } { :back_translation "visiting" } true; local_#11765 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11764 * 16 }; goto CFG_45854; CFG_45854: assume { :LIR "45854" } { :back_translation "block" } true; assume { :LIR "79391" } { :back_translation "visiting" } true; call routine_#33868_luaO_tostring(local_#4181_L,local_#11765); goto CFG_49441; CFG_49441: assume { :LIR "49441" } { :back_translation "block" } true; assume { :LIR "72228" } { :back_translation "visiting" } true; local_#11766 := 1; if (local_#11766 != 0) { assume { :LIR "40062" } { :back_translation "taking-then-branch" } true; goto CFG_40062; } else { assume { :LIR "40061" } { :back_translation "taking-else-branch" } true; goto CFG_40061; } CFG_40061: assume { :LIR "40061" } { :back_translation "block" } true; assume { :LIR "78741" } { :back_translation "visiting" } true; local_#30624 := 0; goto CFG_40063; CFG_40062: assume { :LIR "40062" } { :back_translation "block" } true; assume { :LIR "78648" } { :back_translation "visiting" } true; local_#30624 := 1; goto CFG_40063; CFG_40063: assume { :LIR "40063" } { :back_translation "block" } true; assume { :LIR "60410" } { :back_translation "visiting" } true; local_#11767 := 0; goto CFG_40064; CFG_40064: assume { :LIR "40064" } { :back_translation "block" } true; goto CFG_42400; CFG_42400: assume { :LIR "42400" } { :back_translation "block" } true; assume { :LIR "72229" } { :back_translation "visiting" } true; local_#11768 := 1; assume { :LIR "67919" } { :back_translation "visiting" } true; local_#11769 := local_#31462_n - local_#11768; assume { :LIR "67920" } { :back_translation "visiting" } true; local_#4182_total := local_#4182_total - local_#11769; assume { :LIR "72230" } { :back_translation "visiting" } true; local_#11770 := 1; assume { :LIR "67921" } { :back_translation "visiting" } true; local_#11771 := local_#31462_n - local_#11770; assume { :LIR "68263" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#4181_L!base, offset : local_#4181_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4181_L!base, offset : local_#4181_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4181_L!base, offset : local_#4181_L!offset + 16 }]!offset - local_#11771 * 16 }; goto CFG_49442; CFG_49442: assume { :LIR "49442" } { :back_translation "block" } true; assume { :LIR "72231" } { :back_translation "visiting" } true; local_#11772 := 1; assume { :LIR "65811" } { :back_translation "visiting" } true; local_#11773 := (if local_#4182_total > local_#11772 then 1 else 0); if (local_#11773 != 0) { assume { :LIR "45002" } { :back_translation "taking-then-branch" } true; goto CFG_45002; } else { assume { :LIR "39168" } { :back_translation "taking-else-branch" } true; goto CFG_39168; } CFG_39168: assume { :LIR "39168" } { :back_translation "block" } true; goto CFG_37310; CFG_45002: assume { :LIR "45002" } { :back_translation "block" } true; goto CFG_49422; CFG_37310: assume { :LIR "37310" } { :back_translation "block" } true; _routine_#33891_luaV_concat_SLICED_OUT_BLOCK: assume false; } procedure routine_#33892_luaV_div(local_#4183_L_IN : { base : int, offset : int }, local_#4184_m_IN : int, local_#4185_n_IN : int) returns (local_#7840 : int) { var local_#4183_L : { base : int, offset : int }; var local_#4184_m : int; var local_#4185_n : int; var local_#11774 : int; var local_#11775 : int; var local_#11776 : int; var local_#11777 : int; var local_#11778 : int; var local_#11779 : int; var local_#31471_q : int; var local_#11780 : int; var local_#11781 : int; var local_#11782 : int; var local_#11783 : int; var local_#11784 : int; var local_#11785 : int; var local_#11786 : int; var local_#11787 : int; var local_#11788 : int; var local_#11789 : int; var local_#11790 : int; var local_#11791 : int; var local_#11792 : int; havoc local_#7840; havoc local_#4183_L; havoc local_#4184_m; havoc local_#4185_n; havoc local_#11774; havoc local_#11775; havoc local_#11776; havoc local_#11777; havoc local_#11778; havoc local_#11779; havoc local_#31471_q; havoc local_#11780; havoc local_#11781; havoc local_#11782; havoc local_#11783; havoc local_#11784; havoc local_#11785; havoc local_#11786; havoc local_#11787; havoc local_#11788; havoc local_#11789; havoc local_#11790; havoc local_#11791; havoc local_#11792; local_#4183_L := local_#4183_L_IN; local_#4184_m := local_#4184_m_IN; local_#4185_n := local_#4185_n_IN; goto CFG_36400; CFG_36400: assume { :LIR "36400" } { :back_translation "block" } true; goto CFG_49443; CFG_49443: assume { :LIR "49443" } { :back_translation "block" } true; assume { :LIR "60411" } { :back_translation "visiting" } true; local_#11774 := ~uwrap64(local_#4185_n); assume { :LIR "72232" } { :back_translation "visiting" } true; local_#11775 := 1; assume { :LIR "66454" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#11776 := ~uwrap64(local_#11774 + local_#11775); assume { :LIR "72233" } { :back_translation "visiting" } true; local_#11777 := 1; assume { :LIR "66021" } { :back_translation "visiting" } true; local_#11778 := (if local_#11776 <= local_#11777 then 1 else 0); if (local_#11778 != 0) { assume { :LIR "49446" } { :back_translation "taking-then-branch" } true; goto CFG_49446; } else { assume { :LIR "49444" } { :back_translation "taking-else-branch" } true; goto CFG_49444; } CFG_49444: assume { :LIR "49444" } { :back_translation "block" } true; assume { :LIR "68635" } { :back_translation "visiting" } true; local_#11779 := local_#4184_m / local_#4185_n; assume { :LIR "52843" } { :back_translation "assignment" } true; local_#31471_q := local_#11779; assume { :LIR "69434" } { :back_translation "visiting" } true; local_#11780 := ~sxor64(local_#4184_m, local_#4185_n); assume { :LIR "72234" } { :back_translation "visiting" } true; local_#11781 := 0; assume { :LIR "66164" } { :back_translation "visiting" } true; local_#11782 := (if local_#11780 < local_#11781 then 1 else 0); if (local_#11782 != 0) { assume { :LIR "49445" } { :back_translation "taking-then-branch" } true; goto CFG_49445; } else { assume { :LIR "38178" } { :back_translation "taking-else-branch" } true; goto CFG_38178; } CFG_49445: assume { :LIR "49445" } { :back_translation "block" } true; assume { :LIR "68658" } { :back_translation "visiting" } true; local_#11783 := local_#4184_m % local_#4185_n; assume { :LIR "72235" } { :back_translation "visiting" } true; local_#11784 := 0; assume { :LIR "65480" } { :back_translation "visiting" } true; local_#11785 := (if local_#11783 != local_#11784 then 1 else 0); if (local_#11785 != 0) { assume { :LIR "40065" } { :back_translation "taking-then-branch" } true; goto CFG_40065; } else { assume { :LIR "38178" } { :back_translation "taking-else-branch" } true; goto CFG_38178; } CFG_40065: assume { :LIR "40065" } { :back_translation "block" } true; assume { :LIR "72236" } { :back_translation "visiting" } true; local_#11786 := 1; assume { :LIR "67922" } { :back_translation "visiting" } true; local_#31471_q := local_#31471_q - local_#11786; goto CFG_38178; CFG_38178: assume { :LIR "38178" } { :back_translation "block" } true; assume { :LIR "52844" } { :back_translation "assignment" } true; local_#7840 := local_#31471_q; goto CFG_37311; CFG_49446: assume { :LIR "49446" } { :back_translation "block" } true; assume { :LIR "72237" } { :back_translation "visiting" } true; local_#11787 := 0; assume { :LIR "64797" } { :back_translation "visiting" } true; local_#11788 := (if local_#4185_n == local_#11787 then 1 else 0); if (local_#11788 != 0) { assume { :LIR "42401" } { :back_translation "taking-then-branch" } true; goto _routine_#33892_luaV_div_SLICED_OUT_BLOCK; } else { assume { :LIR "38179" } { :back_translation "taking-else-branch" } true; goto CFG_38179; } CFG_38179: assume { :LIR "38179" } { :back_translation "block" } true; assume { :LIR "72238" } { :back_translation "visiting" } true; local_#11789 := 0; assume { :LIR "60412" } { :back_translation "visiting" } true; local_#11790 := ~uwrap64(local_#4184_m); assume { :LIR "67923" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#11791 := ~uwrap64(local_#11789 - local_#11790); assume { :LIR "60413" } { :back_translation "visiting" } true; local_#11792 := local_#11791; assume { :LIR "52845" } { :back_translation "assignment" } true; local_#7840 := local_#11792; goto CFG_37311; CFG_37311: assume { :LIR "37311" } { :back_translation "block" } true; _routine_#33892_luaV_div_SLICED_OUT_BLOCK: assume false; } procedure routine_#33893_luaV_equalobj(local_#4186_L_IN : { base : int, offset : int }, local_#4187_t1_IN : { base : int, offset : int }, local_#4188_t2_IN : { base : int, offset : int }) returns (local_#7841 : int) modifies _memory; { var local_#4186_L : { base : int, offset : int }; var local_#4187_t1 : { base : int, offset : int }; var local_#4188_t2 : { base : int, offset : int }; var local_#11795 : int; var local_#11796 : int; var local_#11797 : int; var local_#11798 : int; var local_#11799 : int; var local_#11800 : int; var local_#11801 : int; var local_#11802 : { base : int, offset : int }; var local_#11803 : { base : int, offset : int }; var local_#11804 : int; var local_#11805 : { base : int, offset : int }; var local_#11806 : { base : int, offset : int }; var local_#11807 : { base : int, offset : int }; var local_#11808 : { base : int, offset : int }; var local_#11809 : { base : int, offset : int }; var local_#11810 : { base : int, offset : int }; var local_#11811 : int; var local_#11812 : { base : int, offset : int }; var local_#11813 : int; var local_#11814 : { base : int, offset : int }; var local_#11815 : { base : int, offset : int }; var local_#11816 : { base : int, offset : int }; var local_#11817 : { base : int, offset : int }; var local_#11818 : int; var local_#11819 : { base : int, offset : int }; var local_#11820 : { base : int, offset : int }; var local_#11821 : { base : int, offset : int }; var local_#11822 : { base : int, offset : int }; var local_#11823 : int; var local_#11824 : int; var local_#11825 : int; var local_#11826 : { base : int, offset : int }; var local_#11827 : { base : int, offset : int }; var local_#11828 : { base : int, offset : int }; var local_#11829 : { base : int, offset : int }; var local_#11830 : int; var local_#11831 : { base : int, offset : int }; var local_#11832 : { base : int, offset : int }; var local_#11833 : int; var local_#11834 : { base : int, offset : int }; var local_#11835 : { base : int, offset : int }; var local_#11836 : { base : int, offset : int }; var local_#30625 : { base : int, offset : int }; var local_#30626 : { base : int, offset : int }; var local_#31472_tm : { base : int, offset : int }; var local_#11837 : { base : int, offset : int }; var local_#11838 : int; var local_#11839 : { base : int, offset : int }; var local_#11840 : { base : int, offset : int }; var local_#11841 : { base : int, offset : int }; var local_#11842 : { base : int, offset : int }; var local_#11843 : int; var local_#11844 : { base : int, offset : int }; var local_#11845 : { base : int, offset : int }; var local_#11846 : { base : int, offset : int }; var local_#11847 : { base : int, offset : int }; var local_#11848 : int; var local_#11849 : int; var local_#11850 : int; var local_#11851 : { base : int, offset : int }; var local_#11852 : { base : int, offset : int }; var local_#11853 : { base : int, offset : int }; var local_#11854 : { base : int, offset : int }; var local_#11855 : int; var local_#11856 : { base : int, offset : int }; var local_#11857 : { base : int, offset : int }; var local_#11858 : int; var local_#11859 : { base : int, offset : int }; var local_#11860 : { base : int, offset : int }; var local_#11861 : { base : int, offset : int }; var local_#30627 : { base : int, offset : int }; var local_#30628 : { base : int, offset : int }; var local_#11862 : { base : int, offset : int }; var local_#11863 : { base : int, offset : int }; var local_#11864 : { base : int, offset : int }; var local_#11865 : { base : int, offset : int }; var local_#11866 : { base : int, offset : int }; var local_#11867 : { base : int, offset : int }; var local_#11868 : int; var local_#11869 : { base : int, offset : int }; var local_#11870 : int; var local_#11871 : { base : int, offset : int }; var local_#11872 : { base : int, offset : int }; var local_#11873 : { base : int, offset : int }; var local_#11874 : { base : int, offset : int }; var local_#11875 : int; var local_#11876 : { base : int, offset : int }; var local_#11877 : { base : int, offset : int }; var local_#11878 : { base : int, offset : int }; var local_#11879 : { base : int, offset : int }; var local_#11880 : int; var local_#11881 : int; var local_#11882 : int; var local_#11883 : { base : int, offset : int }; var local_#11884 : { base : int, offset : int }; var local_#11885 : { base : int, offset : int }; var local_#11886 : { base : int, offset : int }; var local_#11887 : int; var local_#11888 : { base : int, offset : int }; var local_#11889 : { base : int, offset : int }; var local_#11890 : int; var local_#11891 : { base : int, offset : int }; var local_#11892 : { base : int, offset : int }; var local_#11893 : { base : int, offset : int }; var local_#30629 : { base : int, offset : int }; var local_#30630 : { base : int, offset : int }; var local_#11894 : { base : int, offset : int }; var local_#11895 : int; var local_#11896 : { base : int, offset : int }; var local_#11897 : { base : int, offset : int }; var local_#11898 : { base : int, offset : int }; var local_#11899 : { base : int, offset : int }; var local_#11900 : int; var local_#11901 : { base : int, offset : int }; var local_#11902 : { base : int, offset : int }; var local_#11903 : { base : int, offset : int }; var local_#11904 : { base : int, offset : int }; var local_#11905 : int; var local_#11906 : int; var local_#11907 : int; var local_#11908 : { base : int, offset : int }; var local_#11909 : { base : int, offset : int }; var local_#11910 : { base : int, offset : int }; var local_#11911 : { base : int, offset : int }; var local_#11912 : int; var local_#11913 : { base : int, offset : int }; var local_#11914 : { base : int, offset : int }; var local_#11915 : int; var local_#11916 : { base : int, offset : int }; var local_#11917 : { base : int, offset : int }; var local_#11918 : { base : int, offset : int }; var local_#30631 : { base : int, offset : int }; var local_#30632 : { base : int, offset : int }; var local_#11919 : { base : int, offset : int }; var local_#11920 : int; var local_#11921 : { base : int, offset : int }; var local_#11922 : int; var local_#11923 : { base : int, offset : int }; var local_#11924 : int; var local_#11925 : int; var local_#11926 : { base : int, offset : int }; var local_#11927 : int; var local_#11928 : int; var local_#11929 : { base : int, offset : int }; var local_#11930 : { base : int, offset : int }; var local_#11931 : int; var local_#11932 : int; var local_#30633 : int; var local_#11933 : int; var local_#11934 : { base : int, offset : int }; var local_#11935 : { base : int, offset : int }; var local_#11936 : { base : int, offset : int }; var local_#11937 : { base : int, offset : int }; var local_#11938 : { base : int, offset : int }; var local_#11939 : { base : int, offset : int }; var local_#11940 : int; var local_#11941 : { base : int, offset : int }; var local_#11942 : { base : int, offset : int }; var local_#11943 : { base : int, offset : int }; var local_#11944 : { base : int, offset : int }; var local_#11945 : { base : int, offset : int }; var local_#11946 : { base : int, offset : int }; var local_#11947 : int; var local_#11948 : { base : int, offset : int }; var local_#11949 : { base : int, offset : int }; var local_#11950 : int; var local_#11951 : { base : int, offset : int }; var local_#11952 : { base : int, offset : int }; var local_#11953 : int; var local_#11954 : { base : int, offset : int }; var local_#11955 : { base : int, offset : int }; var local_#11956 : int; var local_#11957 : { base : int, offset : int }; var local_#11958 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var nondet_#2 : bool; var local_#11959 : int; var local_#11960 : { base : int, offset : int }; var local_#11961 : { base : int, offset : int }; var local_#11962 : int; var local_#11963 : int; var local_#11964 : int; var local_#11965 : int; var local_#11966 : int; var local_#11967 : int; var local_#11968 : int; var local_#11969 : int; var local_#11970 : int; var local_#11971 : int; var local_#11972 : int; var local_#11973 : int; var local_#31473_i1 : { base : int, offset : int }; var local_#11974 : { base : int, offset : int }; var local_#11975 : int; var local_#11976 : int; var local_#11977 : int; var local_#11978 : { base : int, offset : int }; var local_#11979 : int; var local_#11980 : int; var local_#11981 : int; var local_#11982 : int; var local_#31474_i2 : { base : int, offset : int }; var local_#11983 : { base : int, offset : int }; var local_#11984 : int; var local_#11985 : int; var local_#11986 : int; var local_#11987 : { base : int, offset : int }; var local_#11988 : int; var local_#11989 : int; var local_#11990 : int; var local_#30634 : int; havoc local_#7841; havoc local_#4186_L; havoc local_#4187_t1; havoc local_#4188_t2; havoc local_#11795; havoc local_#11796; havoc local_#11797; havoc local_#11798; havoc local_#11799; havoc local_#11800; havoc local_#11801; havoc local_#11802; havoc local_#11803; havoc local_#11804; havoc local_#11805; havoc local_#11806; havoc local_#11807; havoc local_#11808; havoc local_#11809; havoc local_#11810; havoc local_#11811; havoc local_#11812; havoc local_#11813; havoc local_#11814; havoc local_#11815; havoc local_#11816; havoc local_#11817; havoc local_#11818; havoc local_#11819; havoc local_#11820; havoc local_#11821; havoc local_#11822; havoc local_#11823; havoc local_#11824; havoc local_#11825; havoc local_#11826; havoc local_#11827; havoc local_#11828; havoc local_#11829; havoc local_#11830; havoc local_#11831; havoc local_#11832; havoc local_#11833; havoc local_#11834; havoc local_#11835; havoc local_#11836; havoc local_#30625; havoc local_#30626; havoc local_#31472_tm; havoc local_#11837; havoc local_#11838; havoc local_#11839; havoc local_#11840; havoc local_#11841; havoc local_#11842; havoc local_#11843; havoc local_#11844; havoc local_#11845; havoc local_#11846; havoc local_#11847; havoc local_#11848; havoc local_#11849; havoc local_#11850; havoc local_#11851; havoc local_#11852; havoc local_#11853; havoc local_#11854; havoc local_#11855; havoc local_#11856; havoc local_#11857; havoc local_#11858; havoc local_#11859; havoc local_#11860; havoc local_#11861; havoc local_#30627; havoc local_#30628; havoc local_#11862; havoc local_#11863; havoc local_#11864; havoc local_#11865; havoc local_#11866; havoc local_#11867; havoc local_#11868; havoc local_#11869; havoc local_#11870; havoc local_#11871; havoc local_#11872; havoc local_#11873; havoc local_#11874; havoc local_#11875; havoc local_#11876; havoc local_#11877; havoc local_#11878; havoc local_#11879; havoc local_#11880; havoc local_#11881; havoc local_#11882; havoc local_#11883; havoc local_#11884; havoc local_#11885; havoc local_#11886; havoc local_#11887; havoc local_#11888; havoc local_#11889; havoc local_#11890; havoc local_#11891; havoc local_#11892; havoc local_#11893; havoc local_#30629; havoc local_#30630; havoc local_#11894; havoc local_#11895; havoc local_#11896; havoc local_#11897; havoc local_#11898; havoc local_#11899; havoc local_#11900; havoc local_#11901; havoc local_#11902; havoc local_#11903; havoc local_#11904; havoc local_#11905; havoc local_#11906; havoc local_#11907; havoc local_#11908; havoc local_#11909; havoc local_#11910; havoc local_#11911; havoc local_#11912; havoc local_#11913; havoc local_#11914; havoc local_#11915; havoc local_#11916; havoc local_#11917; havoc local_#11918; havoc local_#30631; havoc local_#30632; havoc local_#11919; havoc local_#11920; havoc local_#11921; havoc local_#11922; havoc local_#11923; havoc local_#11924; havoc local_#11925; havoc local_#11926; havoc local_#11927; havoc local_#11928; havoc local_#11929; havoc local_#11930; havoc local_#11931; havoc local_#11932; havoc local_#30633; havoc local_#11933; havoc local_#11934; havoc local_#11935; havoc local_#11936; havoc local_#11937; havoc local_#11938; havoc local_#11939; havoc local_#11940; havoc local_#11941; havoc local_#11942; havoc local_#11943; havoc local_#11944; havoc local_#11945; havoc local_#11946; havoc local_#11947; havoc local_#11948; havoc local_#11949; havoc local_#11950; havoc local_#11951; havoc local_#11952; havoc local_#11953; havoc local_#11954; havoc local_#11955; havoc local_#11956; havoc local_#11957; havoc local_#11958; havoc nondet_#0; havoc nondet_#1; havoc nondet_#2; havoc local_#11959; havoc local_#11960; havoc local_#11961; havoc local_#11962; havoc local_#11963; havoc local_#11964; havoc local_#11965; havoc local_#11966; havoc local_#11967; havoc local_#11968; havoc local_#11969; havoc local_#11970; havoc local_#11971; havoc local_#11972; havoc local_#11973; havoc local_#31473_i1; havoc local_#11974; havoc local_#11975; havoc local_#11976; havoc local_#11977; havoc local_#11978; havoc local_#11979; havoc local_#11980; havoc local_#11981; havoc local_#11982; havoc local_#31474_i2; havoc local_#11983; havoc local_#11984; havoc local_#11985; havoc local_#11986; havoc local_#11987; havoc local_#11988; havoc local_#11989; havoc local_#11990; havoc local_#30634; local_#4186_L := local_#4186_L_IN; local_#4187_t1 := local_#4187_t1_IN; local_#4188_t2 := local_#4188_t2_IN; goto CFG_36401; CFG_36401: assume { :LIR "36401" } { :back_translation "block" } true; goto CFG_49447; CFG_49447: assume { :LIR "49447" } { :back_translation "block" } true; assume { :LIR "72239" } { :back_translation "visiting" } true; local_#11795 := 63; assume { :LIR "68744" } { :back_translation "visiting" } true; local_#11796 := ~sand32(_memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }], local_#11795); assume { :LIR "72240" } { :back_translation "visiting" } true; local_#11797 := 63; assume { :LIR "68745" } { :back_translation "visiting" } true; local_#11798 := ~sand32(_memory[{ base : local_#4188_t2!base, offset : local_#4188_t2!offset + 8 }], local_#11797); assume { :LIR "65481" } { :back_translation "visiting" } true; local_#11799 := (if local_#11796 != local_#11798 then 1 else 0); if (local_#11799 != 0) { assume { :LIR "49466" } { :back_translation "taking-then-branch" } true; goto CFG_49466; } else { assume { :LIR "51515" } { :back_translation "taking-else-branch" } true; goto CFG_51515; } CFG_51515: assume { :LIR "51515" } { :back_translation "block" } true; assume { :LIR "72241" } { :back_translation "visiting" } true; local_#11800 := 63; assume { :LIR "68746" } { :back_translation "visiting" } true; local_#11801 := ~sand32(_memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }], local_#11800); if (local_#11801 == 0) { goto CFG_38194; } if (local_#11801 == 19) { goto CFG_38193; } if (local_#11801 == 3) { goto CFG_38192; } if (local_#11801 == 1) { goto CFG_38191; } if (local_#11801 == 2) { goto CFG_38190; } if (local_#11801 == 22) { goto CFG_38189; } if (local_#11801 == 4) { goto CFG_38188; } if (local_#11801 == 20) { goto CFG_42407; } if (local_#11801 == 7) { goto CFG_49455; } if (local_#11801 == 5) { goto CFG_49448; } goto CFG_38180; CFG_38180: assume { :LIR "38180" } { :back_translation "block" } true; assume { :LIR "52846" } { :back_translation "assignment" } true; local_#11802 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "52847" } { :back_translation "assignment" } true; local_#11803 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "64798" } { :back_translation "visiting" } true; local_#11804 := (if _memory_ptr[local_#11802] == _memory_ptr[local_#11803] then 1 else 0); assume { :LIR "52848" } { :back_translation "assignment" } true; local_#7841 := local_#11804; goto CFG_37312; CFG_49448: assume { :LIR "49448" } { :back_translation "block" } true; assume { :LIR "52849" } { :back_translation "assignment" } true; local_#11805 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60414" } { :back_translation "visiting" } true; local_#11806 := _memory_ptr[local_#11805]; assume { :LIR "52850" } { :back_translation "assignment" } true; local_#11807 := { base : local_#11806!base, offset : local_#11806!offset + 0 }; assume { :LIR "52851" } { :back_translation "assignment" } true; local_#11808 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60415" } { :back_translation "visiting" } true; local_#11809 := _memory_ptr[local_#11808]; assume { :LIR "52852" } { :back_translation "assignment" } true; local_#11810 := { base : local_#11809!base, offset : local_#11809!offset + 0 }; assume { :LIR "64799" } { :back_translation "visiting" } true; local_#11811 := (if local_#11807 == local_#11810 then 1 else 0); if (local_#11811 != 0) { assume { :LIR "38182" } { :back_translation "taking-then-branch" } true; goto CFG_38182; } else { assume { :LIR "49449" } { :back_translation "taking-else-branch" } true; goto CFG_49449; } CFG_49449: assume { :LIR "49449" } { :back_translation "block" } true; assume { :LIR "69823" } { :back_translation "visiting" } true; local_#11812 := { base : 0, offset : 0 }; assume { :LIR "64800" } { :back_translation "visiting" } true; local_#11813 := (if local_#4186_L == local_#11812 then 1 else 0); if (local_#11813 != 0) { assume { :LIR "38181" } { :back_translation "taking-then-branch" } true; goto CFG_38181; } else { assume { :LIR "40066" } { :back_translation "taking-else-branch" } true; goto CFG_40066; } CFG_40066: assume { :LIR "40066" } { :back_translation "block" } true; goto CFG_49450; CFG_49450: assume { :LIR "49450" } { :back_translation "block" } true; assume { :LIR "52853" } { :back_translation "assignment" } true; local_#11814 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60416" } { :back_translation "visiting" } true; local_#11815 := _memory_ptr[local_#11814]; assume { :LIR "52854" } { :back_translation "assignment" } true; local_#11816 := { base : local_#11815!base, offset : local_#11815!offset + 0 }; assume { :LIR "69824" } { :back_translation "visiting" } true; local_#11817 := { base : 0, offset : 0 }; assume { :LIR "64801" } { :back_translation "visiting" } true; local_#11818 := (if _memory_ptr[{ base : local_#11816!base, offset : local_#11816!offset + 40 }] == local_#11817 then 1 else 0); if (local_#11818 != 0) { assume { :LIR "40070" } { :back_translation "taking-then-branch" } true; goto CFG_40070; } else { assume { :LIR "49451" } { :back_translation "taking-else-branch" } true; goto CFG_49451; } CFG_49451: assume { :LIR "49451" } { :back_translation "block" } true; assume { :LIR "52855" } { :back_translation "assignment" } true; local_#11819 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60417" } { :back_translation "visiting" } true; local_#11820 := _memory_ptr[local_#11819]; assume { :LIR "52856" } { :back_translation "assignment" } true; local_#11821 := { base : local_#11820!base, offset : local_#11820!offset + 0 }; assume { :LIR "52857" } { :back_translation "assignment" } true; local_#11822 := _memory_ptr[{ base : local_#11821!base, offset : local_#11821!offset + 40 }]; assume { :LIR "62482" } { :back_translation "visiting" } true; local_#11823 := ~uwrap32(_memory[{ base : local_#11822!base, offset : local_#11822!offset + 10 }]); assume { :LIR "72242" } { :back_translation "visiting" } true; local_#11824 := 32; assume { :LIR "68747" } { :back_translation "visiting" } true; local_#11825 := ~uand32(local_#11823, local_#11824); if (local_#11825 != 0) { assume { :LIR "40068" } { :back_translation "taking-then-branch" } true; goto CFG_40068; } else { assume { :LIR "42402" } { :back_translation "taking-else-branch" } true; goto CFG_42402; } CFG_42402: assume { :LIR "42402" } { :back_translation "block" } true; assume { :LIR "52858" } { :back_translation "assignment" } true; local_#11826 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60418" } { :back_translation "visiting" } true; local_#11827 := _memory_ptr[local_#11826]; assume { :LIR "52859" } { :back_translation "assignment" } true; local_#11828 := { base : local_#11827!base, offset : local_#11827!offset + 0 }; assume { :LIR "52860" } { :back_translation "assignment" } true; local_#11829 := _memory_ptr[{ base : local_#11828!base, offset : local_#11828!offset + 40 }]; assume { :LIR "72243" } { :back_translation "visiting" } true; local_#11830 := 5; assume { :LIR "52861" } { :back_translation "assignment" } true; local_#11831 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 24 }]; assume { :LIR "52862" } { :back_translation "assignment" } true; local_#11832 := { base : local_#11831!base, offset : local_#11831!offset + 224 }; assume { :LIR "72244" } { :back_translation "visiting" } true; local_#11833 := 5; assume { :LIR "67062" } { :back_translation "visiting" } true; local_#11834 := { base : local_#11832!base, offset : local_#11832!offset + 0 * 8 + local_#11833 * 8 }; assume { :LIR "52863" } { :back_translation "assignment" } true; local_#11835 := _memory_ptr[local_#11834]; goto CFG_45856; CFG_45856: assume { :LIR "45856" } { :back_translation "block" } true; assume { :LIR "79393" } { :back_translation "visiting" } true; call local_#11836 := routine_#33884_luaT_gettm(local_#11829,local_#11830,local_#11835); goto CFG_40067; CFG_40067: assume { :LIR "40067" } { :back_translation "block" } true; assume { :LIR "52864" } { :back_translation "assignment" } true; local_#30625 := local_#11836; goto CFG_40069; CFG_40068: assume { :LIR "40068" } { :back_translation "block" } true; assume { :LIR "69825" } { :back_translation "visiting" } true; local_#30625 := { base : 0, offset : 0 }; goto CFG_40069; CFG_40069: assume { :LIR "40069" } { :back_translation "block" } true; assume { :LIR "52865" } { :back_translation "assignment" } true; local_#30626 := local_#30625; goto CFG_49452; CFG_40070: assume { :LIR "40070" } { :back_translation "block" } true; assume { :LIR "69826" } { :back_translation "visiting" } true; local_#30626 := { base : 0, offset : 0 }; goto CFG_49452; CFG_49452: assume { :LIR "49452" } { :back_translation "block" } true; assume { :LIR "52866" } { :back_translation "assignment" } true; local_#31472_tm := local_#30626; assume { :LIR "69827" } { :back_translation "visiting" } true; local_#11837 := { base : 0, offset : 0 }; assume { :LIR "64802" } { :back_translation "visiting" } true; local_#11838 := (if local_#31472_tm == local_#11837 then 1 else 0); if (local_#11838 != 0) { assume { :LIR "49453" } { :back_translation "taking-then-branch" } true; goto CFG_49453; } else { assume { :LIR "39504" } { :back_translation "taking-else-branch" } true; goto CFG_39504; } CFG_49453: assume { :LIR "49453" } { :back_translation "block" } true; assume { :LIR "52867" } { :back_translation "assignment" } true; local_#11839 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60419" } { :back_translation "visiting" } true; local_#11840 := _memory_ptr[local_#11839]; assume { :LIR "52868" } { :back_translation "assignment" } true; local_#11841 := { base : local_#11840!base, offset : local_#11840!offset + 0 }; assume { :LIR "69828" } { :back_translation "visiting" } true; local_#11842 := { base : 0, offset : 0 }; assume { :LIR "64803" } { :back_translation "visiting" } true; local_#11843 := (if _memory_ptr[{ base : local_#11841!base, offset : local_#11841!offset + 40 }] == local_#11842 then 1 else 0); if (local_#11843 != 0) { assume { :LIR "40074" } { :back_translation "taking-then-branch" } true; goto CFG_40074; } else { assume { :LIR "49454" } { :back_translation "taking-else-branch" } true; goto CFG_49454; } CFG_49454: assume { :LIR "49454" } { :back_translation "block" } true; assume { :LIR "52869" } { :back_translation "assignment" } true; local_#11844 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60420" } { :back_translation "visiting" } true; local_#11845 := _memory_ptr[local_#11844]; assume { :LIR "52870" } { :back_translation "assignment" } true; local_#11846 := { base : local_#11845!base, offset : local_#11845!offset + 0 }; assume { :LIR "52871" } { :back_translation "assignment" } true; local_#11847 := _memory_ptr[{ base : local_#11846!base, offset : local_#11846!offset + 40 }]; assume { :LIR "62483" } { :back_translation "visiting" } true; local_#11848 := ~uwrap32(_memory[{ base : local_#11847!base, offset : local_#11847!offset + 10 }]); assume { :LIR "72245" } { :back_translation "visiting" } true; local_#11849 := 32; assume { :LIR "68748" } { :back_translation "visiting" } true; local_#11850 := ~uand32(local_#11848, local_#11849); if (local_#11850 != 0) { assume { :LIR "40072" } { :back_translation "taking-then-branch" } true; goto CFG_40072; } else { assume { :LIR "42403" } { :back_translation "taking-else-branch" } true; goto CFG_42403; } CFG_42403: assume { :LIR "42403" } { :back_translation "block" } true; assume { :LIR "52872" } { :back_translation "assignment" } true; local_#11851 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60421" } { :back_translation "visiting" } true; local_#11852 := _memory_ptr[local_#11851]; assume { :LIR "52873" } { :back_translation "assignment" } true; local_#11853 := { base : local_#11852!base, offset : local_#11852!offset + 0 }; assume { :LIR "52874" } { :back_translation "assignment" } true; local_#11854 := _memory_ptr[{ base : local_#11853!base, offset : local_#11853!offset + 40 }]; assume { :LIR "72246" } { :back_translation "visiting" } true; local_#11855 := 5; assume { :LIR "52875" } { :back_translation "assignment" } true; local_#11856 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 24 }]; assume { :LIR "52876" } { :back_translation "assignment" } true; local_#11857 := { base : local_#11856!base, offset : local_#11856!offset + 224 }; assume { :LIR "72247" } { :back_translation "visiting" } true; local_#11858 := 5; assume { :LIR "67063" } { :back_translation "visiting" } true; local_#11859 := { base : local_#11857!base, offset : local_#11857!offset + 0 * 8 + local_#11858 * 8 }; assume { :LIR "52877" } { :back_translation "assignment" } true; local_#11860 := _memory_ptr[local_#11859]; goto CFG_45857; CFG_45857: assume { :LIR "45857" } { :back_translation "block" } true; assume { :LIR "79394" } { :back_translation "visiting" } true; call local_#11861 := routine_#33884_luaT_gettm(local_#11854,local_#11855,local_#11860); goto CFG_40071; CFG_40071: assume { :LIR "40071" } { :back_translation "block" } true; assume { :LIR "52878" } { :back_translation "assignment" } true; local_#30627 := local_#11861; goto CFG_40073; CFG_40072: assume { :LIR "40072" } { :back_translation "block" } true; assume { :LIR "69829" } { :back_translation "visiting" } true; local_#30627 := { base : 0, offset : 0 }; goto CFG_40073; CFG_40073: assume { :LIR "40073" } { :back_translation "block" } true; assume { :LIR "52879" } { :back_translation "assignment" } true; local_#30628 := local_#30627; goto CFG_40075; CFG_40074: assume { :LIR "40074" } { :back_translation "block" } true; assume { :LIR "69830" } { :back_translation "visiting" } true; local_#30628 := { base : 0, offset : 0 }; goto CFG_40075; CFG_40075: assume { :LIR "40075" } { :back_translation "block" } true; assume { :LIR "52880" } { :back_translation "assignment" } true; local_#31472_tm := local_#30628; goto CFG_39504; CFG_39504: assume { :LIR "39504" } { :back_translation "block" } true; goto CFG_49462; CFG_38181: assume { :LIR "38181" } { :back_translation "block" } true; assume { :LIR "72248" } { :back_translation "visiting" } true; local_#7841 := 0; goto CFG_37312; CFG_38182: assume { :LIR "38182" } { :back_translation "block" } true; assume { :LIR "72249" } { :back_translation "visiting" } true; local_#7841 := 1; goto CFG_37312; CFG_49455: assume { :LIR "49455" } { :back_translation "block" } true; assume { :LIR "52881" } { :back_translation "assignment" } true; local_#11862 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60422" } { :back_translation "visiting" } true; local_#11863 := _memory_ptr[local_#11862]; assume { :LIR "52882" } { :back_translation "assignment" } true; local_#11864 := { base : local_#11863!base, offset : local_#11863!offset + 0 }; assume { :LIR "52883" } { :back_translation "assignment" } true; local_#11865 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60423" } { :back_translation "visiting" } true; local_#11866 := _memory_ptr[local_#11865]; assume { :LIR "52884" } { :back_translation "assignment" } true; local_#11867 := { base : local_#11866!base, offset : local_#11866!offset + 0 }; assume { :LIR "64804" } { :back_translation "visiting" } true; local_#11868 := (if local_#11864 == local_#11867 then 1 else 0); if (local_#11868 != 0) { assume { :LIR "38186" } { :back_translation "taking-then-branch" } true; goto CFG_38186; } else { assume { :LIR "49456" } { :back_translation "taking-else-branch" } true; goto CFG_49456; } CFG_49456: assume { :LIR "49456" } { :back_translation "block" } true; assume { :LIR "69831" } { :back_translation "visiting" } true; local_#11869 := { base : 0, offset : 0 }; assume { :LIR "64805" } { :back_translation "visiting" } true; local_#11870 := (if local_#4186_L == local_#11869 then 1 else 0); if (local_#11870 != 0) { assume { :LIR "38185" } { :back_translation "taking-then-branch" } true; goto CFG_38185; } else { assume { :LIR "40076" } { :back_translation "taking-else-branch" } true; goto CFG_40076; } CFG_40076: assume { :LIR "40076" } { :back_translation "block" } true; goto CFG_49457; CFG_49457: assume { :LIR "49457" } { :back_translation "block" } true; assume { :LIR "52885" } { :back_translation "assignment" } true; local_#11871 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60424" } { :back_translation "visiting" } true; local_#11872 := _memory_ptr[local_#11871]; assume { :LIR "52886" } { :back_translation "assignment" } true; local_#11873 := { base : local_#11872!base, offset : local_#11872!offset + 0 }; assume { :LIR "69832" } { :back_translation "visiting" } true; local_#11874 := { base : 0, offset : 0 }; assume { :LIR "64806" } { :back_translation "visiting" } true; local_#11875 := (if _memory_ptr[{ base : local_#11873!base, offset : local_#11873!offset + 16 }] == local_#11874 then 1 else 0); if (local_#11875 != 0) { assume { :LIR "40080" } { :back_translation "taking-then-branch" } true; goto CFG_40080; } else { assume { :LIR "49458" } { :back_translation "taking-else-branch" } true; goto CFG_49458; } CFG_49458: assume { :LIR "49458" } { :back_translation "block" } true; assume { :LIR "52887" } { :back_translation "assignment" } true; local_#11876 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60425" } { :back_translation "visiting" } true; local_#11877 := _memory_ptr[local_#11876]; assume { :LIR "52888" } { :back_translation "assignment" } true; local_#11878 := { base : local_#11877!base, offset : local_#11877!offset + 0 }; assume { :LIR "52889" } { :back_translation "assignment" } true; local_#11879 := _memory_ptr[{ base : local_#11878!base, offset : local_#11878!offset + 16 }]; assume { :LIR "62484" } { :back_translation "visiting" } true; local_#11880 := ~uwrap32(_memory[{ base : local_#11879!base, offset : local_#11879!offset + 10 }]); assume { :LIR "72250" } { :back_translation "visiting" } true; local_#11881 := 32; assume { :LIR "68749" } { :back_translation "visiting" } true; local_#11882 := ~uand32(local_#11880, local_#11881); if (local_#11882 != 0) { assume { :LIR "40078" } { :back_translation "taking-then-branch" } true; goto CFG_40078; } else { assume { :LIR "42404" } { :back_translation "taking-else-branch" } true; goto CFG_42404; } CFG_42404: assume { :LIR "42404" } { :back_translation "block" } true; assume { :LIR "52890" } { :back_translation "assignment" } true; local_#11883 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60426" } { :back_translation "visiting" } true; local_#11884 := _memory_ptr[local_#11883]; assume { :LIR "52891" } { :back_translation "assignment" } true; local_#11885 := { base : local_#11884!base, offset : local_#11884!offset + 0 }; assume { :LIR "52892" } { :back_translation "assignment" } true; local_#11886 := _memory_ptr[{ base : local_#11885!base, offset : local_#11885!offset + 16 }]; assume { :LIR "72251" } { :back_translation "visiting" } true; local_#11887 := 5; assume { :LIR "52893" } { :back_translation "assignment" } true; local_#11888 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 24 }]; assume { :LIR "52894" } { :back_translation "assignment" } true; local_#11889 := { base : local_#11888!base, offset : local_#11888!offset + 224 }; assume { :LIR "72252" } { :back_translation "visiting" } true; local_#11890 := 5; assume { :LIR "67064" } { :back_translation "visiting" } true; local_#11891 := { base : local_#11889!base, offset : local_#11889!offset + 0 * 8 + local_#11890 * 8 }; assume { :LIR "52895" } { :back_translation "assignment" } true; local_#11892 := _memory_ptr[local_#11891]; goto CFG_45858; CFG_45858: assume { :LIR "45858" } { :back_translation "block" } true; assume { :LIR "79395" } { :back_translation "visiting" } true; call local_#11893 := routine_#33884_luaT_gettm(local_#11886,local_#11887,local_#11892); goto CFG_40077; CFG_40077: assume { :LIR "40077" } { :back_translation "block" } true; assume { :LIR "52896" } { :back_translation "assignment" } true; local_#30629 := local_#11893; goto CFG_40079; CFG_40078: assume { :LIR "40078" } { :back_translation "block" } true; assume { :LIR "69833" } { :back_translation "visiting" } true; local_#30629 := { base : 0, offset : 0 }; goto CFG_40079; CFG_40079: assume { :LIR "40079" } { :back_translation "block" } true; assume { :LIR "52897" } { :back_translation "assignment" } true; local_#30630 := local_#30629; goto CFG_49459; CFG_40080: assume { :LIR "40080" } { :back_translation "block" } true; assume { :LIR "69834" } { :back_translation "visiting" } true; local_#30630 := { base : 0, offset : 0 }; goto CFG_49459; CFG_49459: assume { :LIR "49459" } { :back_translation "block" } true; assume { :LIR "52898" } { :back_translation "assignment" } true; local_#31472_tm := local_#30630; assume { :LIR "69835" } { :back_translation "visiting" } true; local_#11894 := { base : 0, offset : 0 }; assume { :LIR "64807" } { :back_translation "visiting" } true; local_#11895 := (if local_#31472_tm == local_#11894 then 1 else 0); if (local_#11895 != 0) { assume { :LIR "49460" } { :back_translation "taking-then-branch" } true; goto CFG_49460; } else { assume { :LIR "39505" } { :back_translation "taking-else-branch" } true; goto CFG_39505; } CFG_49460: assume { :LIR "49460" } { :back_translation "block" } true; assume { :LIR "52899" } { :back_translation "assignment" } true; local_#11896 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60427" } { :back_translation "visiting" } true; local_#11897 := _memory_ptr[local_#11896]; assume { :LIR "52900" } { :back_translation "assignment" } true; local_#11898 := { base : local_#11897!base, offset : local_#11897!offset + 0 }; assume { :LIR "69836" } { :back_translation "visiting" } true; local_#11899 := { base : 0, offset : 0 }; assume { :LIR "64808" } { :back_translation "visiting" } true; local_#11900 := (if _memory_ptr[{ base : local_#11898!base, offset : local_#11898!offset + 16 }] == local_#11899 then 1 else 0); if (local_#11900 != 0) { assume { :LIR "40084" } { :back_translation "taking-then-branch" } true; goto CFG_40084; } else { assume { :LIR "49461" } { :back_translation "taking-else-branch" } true; goto CFG_49461; } CFG_49461: assume { :LIR "49461" } { :back_translation "block" } true; assume { :LIR "52901" } { :back_translation "assignment" } true; local_#11901 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60428" } { :back_translation "visiting" } true; local_#11902 := _memory_ptr[local_#11901]; assume { :LIR "52902" } { :back_translation "assignment" } true; local_#11903 := { base : local_#11902!base, offset : local_#11902!offset + 0 }; assume { :LIR "52903" } { :back_translation "assignment" } true; local_#11904 := _memory_ptr[{ base : local_#11903!base, offset : local_#11903!offset + 16 }]; assume { :LIR "62485" } { :back_translation "visiting" } true; local_#11905 := ~uwrap32(_memory[{ base : local_#11904!base, offset : local_#11904!offset + 10 }]); assume { :LIR "72253" } { :back_translation "visiting" } true; local_#11906 := 32; assume { :LIR "68750" } { :back_translation "visiting" } true; local_#11907 := ~uand32(local_#11905, local_#11906); if (local_#11907 != 0) { assume { :LIR "40082" } { :back_translation "taking-then-branch" } true; goto CFG_40082; } else { assume { :LIR "42405" } { :back_translation "taking-else-branch" } true; goto CFG_42405; } CFG_42405: assume { :LIR "42405" } { :back_translation "block" } true; assume { :LIR "52904" } { :back_translation "assignment" } true; local_#11908 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60429" } { :back_translation "visiting" } true; local_#11909 := _memory_ptr[local_#11908]; assume { :LIR "52905" } { :back_translation "assignment" } true; local_#11910 := { base : local_#11909!base, offset : local_#11909!offset + 0 }; assume { :LIR "52906" } { :back_translation "assignment" } true; local_#11911 := _memory_ptr[{ base : local_#11910!base, offset : local_#11910!offset + 16 }]; assume { :LIR "72254" } { :back_translation "visiting" } true; local_#11912 := 5; assume { :LIR "52907" } { :back_translation "assignment" } true; local_#11913 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 24 }]; assume { :LIR "52908" } { :back_translation "assignment" } true; local_#11914 := { base : local_#11913!base, offset : local_#11913!offset + 224 }; assume { :LIR "72255" } { :back_translation "visiting" } true; local_#11915 := 5; assume { :LIR "67065" } { :back_translation "visiting" } true; local_#11916 := { base : local_#11914!base, offset : local_#11914!offset + 0 * 8 + local_#11915 * 8 }; assume { :LIR "52909" } { :back_translation "assignment" } true; local_#11917 := _memory_ptr[local_#11916]; goto CFG_45859; CFG_45859: assume { :LIR "45859" } { :back_translation "block" } true; assume { :LIR "79396" } { :back_translation "visiting" } true; call local_#11918 := routine_#33884_luaT_gettm(local_#11911,local_#11912,local_#11917); goto CFG_40081; CFG_40081: assume { :LIR "40081" } { :back_translation "block" } true; assume { :LIR "52910" } { :back_translation "assignment" } true; local_#30631 := local_#11918; goto CFG_40083; CFG_40082: assume { :LIR "40082" } { :back_translation "block" } true; assume { :LIR "69837" } { :back_translation "visiting" } true; local_#30631 := { base : 0, offset : 0 }; goto CFG_40083; CFG_40083: assume { :LIR "40083" } { :back_translation "block" } true; assume { :LIR "52911" } { :back_translation "assignment" } true; local_#30632 := local_#30631; goto CFG_40085; CFG_40084: assume { :LIR "40084" } { :back_translation "block" } true; assume { :LIR "69838" } { :back_translation "visiting" } true; local_#30632 := { base : 0, offset : 0 }; goto CFG_40085; CFG_40085: assume { :LIR "40085" } { :back_translation "block" } true; assume { :LIR "52912" } { :back_translation "assignment" } true; local_#31472_tm := local_#30632; goto CFG_39505; CFG_39505: assume { :LIR "39505" } { :back_translation "block" } true; goto CFG_49462; CFG_49462: assume { :LIR "49462" } { :back_translation "block" } true; assume { :LIR "69839" } { :back_translation "visiting" } true; local_#11919 := { base : 0, offset : 0 }; assume { :LIR "64809" } { :back_translation "visiting" } true; local_#11920 := (if local_#31472_tm == local_#11919 then 1 else 0); if (local_#11920 != 0) { assume { :LIR "38184" } { :back_translation "taking-then-branch" } true; goto CFG_38184; } else { assume { :LIR "42406" } { :back_translation "taking-else-branch" } true; goto CFG_42406; } CFG_42406: assume { :LIR "42406" } { :back_translation "block" } true; assume { :LIR "52913" } { :back_translation "assignment" } true; local_#11921 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 16 }]; assume { :LIR "72256" } { :back_translation "visiting" } true; local_#11922 := 1; goto CFG_45860; CFG_45860: assume { :LIR "45860" } { :back_translation "block" } true; assume { :LIR "79397" } { :back_translation "visiting" } true; call routine_#33881_luaT_callTM(local_#4186_L,local_#31472_tm,local_#4187_t1,local_#4188_t2,local_#11921,local_#11922); goto CFG_49463; CFG_49463: assume { :LIR "49463" } { :back_translation "block" } true; assume { :LIR "52914" } { :back_translation "assignment" } true; local_#11923 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 16 }]; assume { :LIR "72257" } { :back_translation "visiting" } true; local_#11924 := 0; assume { :LIR "64810" } { :back_translation "visiting" } true; local_#11925 := (if _memory[{ base : local_#11923!base, offset : local_#11923!offset + 8 }] == local_#11924 then 1 else 0); if (local_#11925 != 0) { assume { :LIR "40087" } { :back_translation "taking-then-branch" } true; goto CFG_40087; } else { assume { :LIR "49464" } { :back_translation "taking-else-branch" } true; goto CFG_49464; } CFG_49464: assume { :LIR "49464" } { :back_translation "block" } true; assume { :LIR "52915" } { :back_translation "assignment" } true; local_#11926 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 16 }]; assume { :LIR "72258" } { :back_translation "visiting" } true; local_#11927 := 1; assume { :LIR "64811" } { :back_translation "visiting" } true; local_#11928 := (if _memory[{ base : local_#11926!base, offset : local_#11926!offset + 8 }] == local_#11927 then 1 else 0); if (local_#11928 != 0) { assume { :LIR "49465" } { :back_translation "taking-then-branch" } true; goto CFG_49465; } else { assume { :LIR "40086" } { :back_translation "taking-else-branch" } true; goto CFG_40086; } CFG_49465: assume { :LIR "49465" } { :back_translation "block" } true; assume { :LIR "52916" } { :back_translation "assignment" } true; local_#11929 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 16 }]; assume { :LIR "52917" } { :back_translation "assignment" } true; local_#11930 := { base : local_#11929!base, offset : local_#11929!offset + 0 }; assume { :LIR "72259" } { :back_translation "visiting" } true; local_#11931 := 0; assume { :LIR "64812" } { :back_translation "visiting" } true; local_#11932 := (if _memory[local_#11930] == local_#11931 then 1 else 0); if (local_#11932 != 0) { assume { :LIR "40087" } { :back_translation "taking-then-branch" } true; goto CFG_40087; } else { assume { :LIR "40086" } { :back_translation "taking-else-branch" } true; goto CFG_40086; } CFG_40086: assume { :LIR "40086" } { :back_translation "block" } true; assume { :LIR "78742" } { :back_translation "visiting" } true; local_#30633 := 0; goto CFG_38183; CFG_40087: assume { :LIR "40087" } { :back_translation "block" } true; assume { :LIR "78649" } { :back_translation "visiting" } true; local_#30633 := 1; goto CFG_38183; CFG_38183: assume { :LIR "38183" } { :back_translation "block" } true; assume { :LIR "64514" } { :back_translation "visiting" } true; local_#11933 := (if local_#30633 != 0 then 0 else 1); assume { :LIR "52918" } { :back_translation "assignment" } true; local_#7841 := local_#11933; goto CFG_37312; CFG_38184: assume { :LIR "38184" } { :back_translation "block" } true; assume { :LIR "72260" } { :back_translation "visiting" } true; local_#7841 := 0; goto CFG_37312; CFG_38185: assume { :LIR "38185" } { :back_translation "block" } true; assume { :LIR "72261" } { :back_translation "visiting" } true; local_#7841 := 0; goto CFG_37312; CFG_38186: assume { :LIR "38186" } { :back_translation "block" } true; assume { :LIR "72262" } { :back_translation "visiting" } true; local_#7841 := 1; goto CFG_37312; CFG_42407: assume { :LIR "42407" } { :back_translation "block" } true; assume { :LIR "52919" } { :back_translation "assignment" } true; local_#11934 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60430" } { :back_translation "visiting" } true; local_#11935 := _memory_ptr[local_#11934]; assume { :LIR "52920" } { :back_translation "assignment" } true; local_#11936 := { base : local_#11935!base, offset : local_#11935!offset + 0 }; assume { :LIR "52921" } { :back_translation "assignment" } true; local_#11937 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60431" } { :back_translation "visiting" } true; local_#11938 := _memory_ptr[local_#11937]; assume { :LIR "52922" } { :back_translation "assignment" } true; local_#11939 := { base : local_#11938!base, offset : local_#11938!offset + 0 }; goto CFG_45861; CFG_45861: assume { :LIR "45861" } { :back_translation "block" } true; assume { :LIR "79398" } { :back_translation "visiting" } true; call local_#11940 := routine_#33872_luaS_eqlngstr(local_#11936,local_#11939); goto CFG_38187; CFG_38187: assume { :LIR "38187" } { :back_translation "block" } true; assume { :LIR "52923" } { :back_translation "assignment" } true; local_#7841 := local_#11940; goto CFG_37312; CFG_38188: assume { :LIR "38188" } { :back_translation "block" } true; assume { :LIR "52924" } { :back_translation "assignment" } true; local_#11941 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "60432" } { :back_translation "visiting" } true; local_#11942 := _memory_ptr[local_#11941]; assume { :LIR "52925" } { :back_translation "assignment" } true; local_#11943 := { base : local_#11942!base, offset : local_#11942!offset + 0 }; assume { :LIR "52926" } { :back_translation "assignment" } true; local_#11944 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "60433" } { :back_translation "visiting" } true; local_#11945 := _memory_ptr[local_#11944]; assume { :LIR "52927" } { :back_translation "assignment" } true; local_#11946 := { base : local_#11945!base, offset : local_#11945!offset + 0 }; assume { :LIR "64813" } { :back_translation "visiting" } true; local_#11947 := (if local_#11943 == local_#11946 then 1 else 0); assume { :LIR "52928" } { :back_translation "assignment" } true; local_#7841 := local_#11947; goto CFG_37312; CFG_38189: assume { :LIR "38189" } { :back_translation "block" } true; assume { :LIR "52929" } { :back_translation "assignment" } true; local_#11948 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "52930" } { :back_translation "assignment" } true; local_#11949 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "64814" } { :back_translation "visiting" } true; local_#11950 := (if _memory_ptr[local_#11948] == _memory_ptr[local_#11949] then 1 else 0); assume { :LIR "52931" } { :back_translation "assignment" } true; local_#7841 := local_#11950; goto CFG_37312; CFG_38190: assume { :LIR "38190" } { :back_translation "block" } true; assume { :LIR "52932" } { :back_translation "assignment" } true; local_#11951 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "52933" } { :back_translation "assignment" } true; local_#11952 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "64815" } { :back_translation "visiting" } true; local_#11953 := (if _memory_ptr[local_#11951] == _memory_ptr[local_#11952] then 1 else 0); assume { :LIR "52934" } { :back_translation "assignment" } true; local_#7841 := local_#11953; goto CFG_37312; CFG_38191: assume { :LIR "38191" } { :back_translation "block" } true; assume { :LIR "52935" } { :back_translation "assignment" } true; local_#11954 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "52936" } { :back_translation "assignment" } true; local_#11955 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "64816" } { :back_translation "visiting" } true; local_#11956 := (if _memory[local_#11954] == _memory[local_#11955] then 1 else 0); assume { :LIR "52937" } { :back_translation "assignment" } true; local_#7841 := local_#11956; goto CFG_37312; CFG_38192: assume { :LIR "38192" } { :back_translation "block" } true; assume { :LIR "52938" } { :back_translation "assignment" } true; local_#11957 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "52939" } { :back_translation "assignment" } true; local_#11958 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "64817" } { :back_translation "visiting" } true; havoc nondet_#0; havoc nondet_#1; havoc nondet_#2; local_#11959 := (if nondet_#2 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 64817. */ then 1 else 0); assume { :LIR "52940" } { :back_translation "assignment" } true; local_#7841 := local_#11959; goto CFG_37312; CFG_38193: assume { :LIR "38193" } { :back_translation "block" } true; assume { :LIR "52941" } { :back_translation "assignment" } true; local_#11960 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "52942" } { :back_translation "assignment" } true; local_#11961 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "64818" } { :back_translation "visiting" } true; local_#11962 := (if _memory[local_#11960] == _memory[local_#11961] then 1 else 0); assume { :LIR "52943" } { :back_translation "assignment" } true; local_#7841 := local_#11962; goto CFG_37312; CFG_38194: assume { :LIR "38194" } { :back_translation "block" } true; assume { :LIR "72263" } { :back_translation "visiting" } true; local_#7841 := 1; goto CFG_37312; CFG_49466: assume { :LIR "49466" } { :back_translation "block" } true; assume { :LIR "72264" } { :back_translation "visiting" } true; local_#11963 := 15; assume { :LIR "68751" } { :back_translation "visiting" } true; local_#11964 := ~sand32(_memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }], local_#11963); assume { :LIR "72265" } { :back_translation "visiting" } true; local_#11965 := 15; assume { :LIR "68752" } { :back_translation "visiting" } true; local_#11966 := ~sand32(_memory[{ base : local_#4188_t2!base, offset : local_#4188_t2!offset + 8 }], local_#11965); assume { :LIR "65482" } { :back_translation "visiting" } true; local_#11967 := (if local_#11964 != local_#11966 then 1 else 0); if (local_#11967 != 0) { assume { :LIR "38196" } { :back_translation "taking-then-branch" } true; goto CFG_38196; } else { assume { :LIR "49467" } { :back_translation "taking-else-branch" } true; goto CFG_49467; } CFG_49467: assume { :LIR "49467" } { :back_translation "block" } true; assume { :LIR "72266" } { :back_translation "visiting" } true; local_#11968 := 15; assume { :LIR "68753" } { :back_translation "visiting" } true; local_#11969 := ~sand32(_memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }], local_#11968); assume { :LIR "72267" } { :back_translation "visiting" } true; local_#11970 := 3; assume { :LIR "65483" } { :back_translation "visiting" } true; local_#11971 := (if local_#11969 != local_#11970 then 1 else 0); if (local_#11971 != 0) { assume { :LIR "38196" } { :back_translation "taking-then-branch" } true; goto CFG_38196; } else { assume { :LIR "49468" } { :back_translation "taking-else-branch" } true; goto CFG_49468; } CFG_49468: assume { :LIR "49468" } { :back_translation "block" } true; assume { :LIR "72268" } { :back_translation "visiting" } true; local_#11972 := 19; assume { :LIR "64819" } { :back_translation "visiting" } true; local_#11973 := (if _memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }] == local_#11972 then 1 else 0); if (local_#11973 != 0) { assume { :LIR "49470" } { :back_translation "taking-then-branch" } true; goto CFG_49470; } else { assume { :LIR "42408" } { :back_translation "taking-else-branch" } true; goto CFG_42408; } CFG_42408: assume { :LIR "42408" } { :back_translation "block" } true; assume { :LIR "52944" } { :back_translation "assignment" } true; local_#11974 := local_#31473_i1; assume { :LIR "72269" } { :back_translation "visiting" } true; local_#11975 := 0; goto CFG_45862; CFG_45862: assume { :LIR "45862" } { :back_translation "block" } true; assume { :LIR "79399" } { :back_translation "visiting" } true; call local_#11976 := routine_#33903_luaV_tointeger(local_#4187_t1,local_#11974,local_#11975); goto CFG_49469; CFG_49469: assume { :LIR "49469" } { :back_translation "block" } true; assume { :LIR "52945" } { :back_translation "assignment" } true; local_#11977 := local_#11976; if (local_#11977 != 0) { assume { :LIR "49471" } { :back_translation "taking-then-branch" } true; goto CFG_49471; } else { assume { :LIR "40088" } { :back_translation "taking-else-branch" } true; goto CFG_40088; } CFG_49470: assume { :LIR "49470" } { :back_translation "block" } true; assume { :LIR "52946" } { :back_translation "assignment" } true; local_#11978 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; assume { :LIR "52947" } { :back_translation "assignment" } true; _memory[local_#31473_i1] := _memory[local_#11978]; assume { :LIR "52948" } { :back_translation "assignment" } true; local_#11979 := _memory[local_#31473_i1]; assume { :LIR "72270" } { :back_translation "visiting" } true; local_#11980 := 1; if (local_#11980 != 0) { assume { :LIR "49471" } { :back_translation "taking-then-branch" } true; goto CFG_49471; } else { assume { :LIR "40088" } { :back_translation "taking-else-branch" } true; goto CFG_40088; } CFG_49471: assume { :LIR "49471" } { :back_translation "block" } true; assume { :LIR "72271" } { :back_translation "visiting" } true; local_#11981 := 19; assume { :LIR "64820" } { :back_translation "visiting" } true; local_#11982 := (if _memory[{ base : local_#4188_t2!base, offset : local_#4188_t2!offset + 8 }] == local_#11981 then 1 else 0); if (local_#11982 != 0) { assume { :LIR "49473" } { :back_translation "taking-then-branch" } true; goto CFG_49473; } else { assume { :LIR "42409" } { :back_translation "taking-else-branch" } true; goto CFG_42409; } CFG_42409: assume { :LIR "42409" } { :back_translation "block" } true; assume { :LIR "52949" } { :back_translation "assignment" } true; local_#11983 := local_#31474_i2; assume { :LIR "72272" } { :back_translation "visiting" } true; local_#11984 := 0; goto CFG_45863; CFG_45863: assume { :LIR "45863" } { :back_translation "block" } true; assume { :LIR "79400" } { :back_translation "visiting" } true; call local_#11985 := routine_#33903_luaV_tointeger(local_#4188_t2,local_#11983,local_#11984); goto CFG_49472; CFG_49472: assume { :LIR "49472" } { :back_translation "block" } true; assume { :LIR "52950" } { :back_translation "assignment" } true; local_#11986 := local_#11985; if (local_#11986 != 0) { assume { :LIR "49474" } { :back_translation "taking-then-branch" } true; goto CFG_49474; } else { assume { :LIR "40088" } { :back_translation "taking-else-branch" } true; goto CFG_40088; } CFG_49473: assume { :LIR "49473" } { :back_translation "block" } true; assume { :LIR "52951" } { :back_translation "assignment" } true; local_#11987 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; assume { :LIR "52952" } { :back_translation "assignment" } true; _memory[local_#31474_i2] := _memory[local_#11987]; assume { :LIR "52953" } { :back_translation "assignment" } true; local_#11988 := _memory[local_#31474_i2]; assume { :LIR "72273" } { :back_translation "visiting" } true; local_#11989 := 1; if (local_#11989 != 0) { assume { :LIR "49474" } { :back_translation "taking-then-branch" } true; goto CFG_49474; } else { assume { :LIR "40088" } { :back_translation "taking-else-branch" } true; goto CFG_40088; } CFG_49474: assume { :LIR "49474" } { :back_translation "block" } true; assume { :LIR "64821" } { :back_translation "visiting" } true; local_#11990 := (if _memory[local_#31473_i1] == _memory[local_#31474_i2] then 1 else 0); if (local_#11990 != 0) { assume { :LIR "40089" } { :back_translation "taking-then-branch" } true; goto CFG_40089; } else { assume { :LIR "40088" } { :back_translation "taking-else-branch" } true; goto CFG_40088; } CFG_40088: assume { :LIR "40088" } { :back_translation "block" } true; assume { :LIR "78743" } { :back_translation "visiting" } true; local_#30634 := 0; goto CFG_38195; CFG_40089: assume { :LIR "40089" } { :back_translation "block" } true; assume { :LIR "78650" } { :back_translation "visiting" } true; local_#30634 := 1; goto CFG_38195; CFG_38195: assume { :LIR "38195" } { :back_translation "block" } true; assume { :LIR "52954" } { :back_translation "assignment" } true; local_#7841 := local_#30634; goto CFG_37312; CFG_38196: assume { :LIR "38196" } { :back_translation "block" } true; assume { :LIR "72274" } { :back_translation "visiting" } true; local_#7841 := 0; goto CFG_37312; CFG_41914: assume { :LIR "41914" } { :back_translation "block" } true; goto CFG_49462; CFG_37312: assume { :LIR "37312" } { :back_translation "block" } true; } procedure routine_#33894_luaV_execute(local_#4189_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#4189_L : { base : int, offset : int }; var local_#31476_ci : { base : int, offset : int }; var local_#11991 : int; var local_#11992 : int; var local_#11993 : int; var local_#11994 : int; var local_#11995 : int; var local_#11996 : { base : int, offset : int }; var local_#11997 : { base : int, offset : int }; var local_#11998 : { base : int, offset : int }; var local_#11999 : { base : int, offset : int }; var local_#12000 : { base : int, offset : int }; var local_#31477_cl : { base : int, offset : int }; var local_#12001 : { base : int, offset : int }; var local_#31478_k : { base : int, offset : int }; var local_#12002 : { base : int, offset : int }; var local_#31475_base : { base : int, offset : int }; var local_#12003 : int; var local_#12004 : { base : int, offset : int }; var local_#12005 : { base : int, offset : int }; var local_#12006 : int; var local_#31479_i : int; var local_#12007 : int; var local_#12008 : int; var local_#12009 : { base : int, offset : int }; var local_#12010 : int; var local_#12011 : int; var local_#12012 : int; var local_#12013 : int; var local_#12014 : int; var local_#12015 : { base : int, offset : int }; var local_#31480_ra : { base : int, offset : int }; var local_#12016 : int; var local_#12017 : int; var local_#12018 : int; var local_#12019 : int; var local_#12020 : int; var local_#12021 : int; var local_#12022 : int; var local_#12023 : int; var local_#12024 : int; var local_#12025 : int; var local_#12026 : int; var local_#12027 : int; var local_#12028 : int; var local_#12029 : int; var local_#12030 : int; var local_#12031 : int; var local_#12032 : int; var local_#12033 : int; var local_#31668_b : int; var local_#12034 : int; var local_#12035 : int; var local_#12036 : { base : int, offset : int }; var local_#12037 : int; var local_#12038 : int; var local_#12039 : int; var local_#12040 : int; var local_#31670_n : int; var local_#12041 : int; var local_#12042 : int; var local_#12043 : int; var local_#12044 : int; var local_#12045 : int; var local_#12046 : int; var local_#12047 : int; var local_#12048 : int; var local_#12049 : int; var local_#12050 : int; var local_#12051 : int; var local_#12052 : int; var local_#12053 : int; var local_#12054 : { base : int, offset : int }; var local_#12055 : int; var local_#12056 : int; var local_#12057 : int; var local_#12058 : int; var local_#12059 : int; var local_#12060 : { base : int, offset : int }; var local_#12061 : { base : int, offset : int }; var local_#31669_j : int; var local_#12062 : int; var local_#12063 : int; var local_#12064 : int; var local_#12065 : int; var local_#12066 : { base : int, offset : int }; var local_#12067 : int; var local_#12068 : int; var local_#12069 : int; var local_#12070 : { base : int, offset : int }; var local_#31671_io1 : { base : int, offset : int }; var local_#12071 : { base : int, offset : int }; var local_#12072 : { base : int, offset : int }; var local_#12073 : int; var local_#12074 : int; var local_#12075 : int; var local_#12076 : int; var local_#12077 : int; var local_#12078 : int; var local_#12079 : { base : int, offset : int }; var local_#12080 : int; var local_#12081 : int; var local_#12082 : int; var local_#12083 : int; var local_#12084 : int; var local_#12085 : { base : int, offset : int }; var local_#31665_p : { base : int, offset : int }; var local_#12086 : { base : int, offset : int }; var local_#12087 : { base : int, offset : int }; var local_#12088 : { base : int, offset : int }; var local_#31664_ncl : { base : int, offset : int }; var local_#12089 : { base : int, offset : int }; var local_#12090 : int; var local_#31666_io : { base : int, offset : int }; var local_#31667_x_ : { base : int, offset : int }; var local_#12091 : { base : int, offset : int }; var local_#12092 : { base : int, offset : int }; var local_#12093 : { base : int, offset : int }; var local_#12094 : int; var local_#12095 : int; var local_#12096 : { base : int, offset : int }; var local_#12097 : { base : int, offset : int }; var local_#12098 : { base : int, offset : int }; var local_#12099 : int; var local_#12100 : int; var local_#12101 : int; var local_#12102 : { base : int, offset : int }; var local_#12103 : { base : int, offset : int }; var local_#12104 : int; var local_#12105 : int; var local_#12106 : int; var local_#12107 : int; var local_#12108 : int; var local_#12109 : int; var local_#12110 : int; var local_#12111 : int; var local_#12112 : int; var local_#12113 : int; var local_#12114 : int; var local_#31662_n : int; var local_#12115 : int; var local_#12116 : int; var local_#12117 : int; var local_#12118 : int; var local_#12119 : int; var local_#31659_c : int; var local_#12120 : int; var local_#12121 : int; var local_#12122 : int; var local_#12123 : int; var local_#12124 : int; var local_#12125 : int; var local_#12126 : int; var local_#12127 : int; var local_#12128 : int; var local_#12129 : int; var local_#12130 : { base : int, offset : int }; var local_#12131 : { base : int, offset : int }; var local_#12132 : int; var local_#12133 : int; var local_#12134 : int; var local_#12135 : int; var local_#12136 : int; var local_#12137 : int; var local_#12138 : { base : int, offset : int }; var local_#12139 : { base : int, offset : int }; var local_#12140 : { base : int, offset : int }; var local_#31660_h : { base : int, offset : int }; var local_#12141 : int; var local_#12142 : int; var local_#12143 : int; var local_#12144 : int; var local_#12145 : int; var local_#12146 : int; var local_#31661_last : int; var local_#12147 : int; var local_#12148 : int; var local_#12149 : int; var local_#12150 : { base : int, offset : int }; var local_#31663_val : { base : int, offset : int }; var local_#12151 : int; var local_#12152 : int; var local_#12153 : int; var local_#12154 : int; var local_#12155 : int; var local_#12156 : int; var local_#12157 : int; var local_#12158 : int; var local_#12159 : { base : int, offset : int }; var local_#12160 : { base : int, offset : int }; var local_#12161 : int; var local_#12162 : int; var local_#12163 : int; var local_#12164 : int; var local_#12165 : int; var local_#12166 : int; var local_#12167 : int; var local_#12168 : int; var local_#12169 : int; var local_#12170 : { base : int, offset : int }; var local_#31654_cb : { base : int, offset : int }; var local_#12171 : int; var local_#12172 : { base : int, offset : int }; var local_#31655_io1 : { base : int, offset : int }; var local_#12173 : int; var local_#12174 : { base : int, offset : int }; var local_#12175 : int; var local_#12176 : int; var local_#12177 : int; var local_#12178 : int; var local_#12179 : { base : int, offset : int }; var local_#31656_io1 : { base : int, offset : int }; var local_#12180 : int; var local_#12181 : { base : int, offset : int }; var local_#12182 : int; var local_#12183 : int; var local_#12184 : int; var local_#31657_io1 : { base : int, offset : int }; var local_#12185 : int; var local_#12186 : int; var local_#12187 : int; var local_#12188 : int; var local_#12189 : { base : int, offset : int }; var local_#12190 : int; var local_#12191 : int; var local_#12192 : int; var local_#12193 : int; var local_#12194 : int; var local_#12195 : { base : int, offset : int }; var local_#12196 : { base : int, offset : int }; var local_#12197 : { base : int, offset : int }; var local_#12198 : int; var local_#12199 : int; var local_#12200 : int; var local_#12201 : int; var local_#12202 : int; var local_#12203 : int; var local_#12204 : { base : int, offset : int }; var local_#12205 : int; var local_#12206 : int; var local_#12207 : int; var local_#12208 : { base : int, offset : int }; var local_#12209 : int; var local_#12210 : int; var local_#12211 : int; var local_#31658_io1 : { base : int, offset : int }; var local_#12212 : int; var local_#12213 : { base : int, offset : int }; var local_#12214 : int; var local_#12215 : int; var local_#12216 : int; var local_#12217 : int; var local_#12218 : int; var local_#12219 : int; var local_#12220 : int; var local_#12221 : int; var local_#12222 : int; var local_#12223 : int; var local_#12224 : { base : int, offset : int }; var local_#31641_init : { base : int, offset : int }; var local_#12225 : int; var local_#12226 : { base : int, offset : int }; var local_#31642_plimit : { base : int, offset : int }; var local_#12227 : int; var local_#12228 : { base : int, offset : int }; var local_#31643_pstep : { base : int, offset : int }; var local_#12229 : int; var local_#12230 : int; var local_#12231 : int; var local_#12232 : int; var local_#12233 : { base : int, offset : int }; var local_#31640_ilimit : { base : int, offset : int }; var local_#12234 : { base : int, offset : int }; var local_#12235 : { base : int, offset : int }; var local_#12236 : int; var local_#31644_stopnow : { base : int, offset : int }; var local_#12237 : { base : int, offset : int }; var local_#12238 : int; var local_#12239 : int; var local_#12240 : int; var local_#12241 : int; var local_#12242 : { base : int, offset : int }; var local_#31649_nlimit : { base : int, offset : int }; var local_#12243 : { base : int, offset : int }; var local_#12244 : int; var local_#12245 : int; var local_#12246 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#12247 : int; var local_#12248 : int; var local_#31651_io : { base : int, offset : int }; var local_#12251 : { base : int, offset : int }; var nondet_#2 : int; var local_#12252 : int; var local_#12253 : int; var local_#12254 : { base : int, offset : int }; var local_#31650_nstep : { base : int, offset : int }; var local_#12255 : { base : int, offset : int }; var local_#12256 : int; var local_#12257 : int; var local_#12258 : { base : int, offset : int }; var nondet_#3 : int; var nondet_#4 : int; var local_#12259 : int; var local_#12260 : int; var local_#31652_io : { base : int, offset : int }; var local_#12263 : { base : int, offset : int }; var nondet_#5 : int; var local_#12264 : int; var local_#12265 : int; var local_#12266 : { base : int, offset : int }; var local_#31648_ninit : { base : int, offset : int }; var local_#12267 : { base : int, offset : int }; var local_#12268 : int; var local_#12269 : int; var local_#12270 : { base : int, offset : int }; var nondet_#6 : int; var nondet_#7 : int; var local_#12271 : int; var local_#12272 : int; var local_#31653_io : { base : int, offset : int }; var nondet_#8 : int; var nondet_#9 : int; var nondet_#10 : int; var local_#12275 : int; var local_#12276 : { base : int, offset : int }; var local_#12277 : int; var local_#12278 : { base : int, offset : int }; var local_#30635 : int; var local_#31645_initv : int; var local_#31646_io : { base : int, offset : int }; var local_#12279 : { base : int, offset : int }; var local_#31647_io : { base : int, offset : int }; var local_#12280 : int; var local_#12281 : { base : int, offset : int }; var local_#12282 : int; var local_#12283 : int; var local_#12284 : int; var local_#12285 : { base : int, offset : int }; var local_#12286 : int; var local_#12287 : int; var local_#12288 : int; var local_#12289 : int; var local_#12290 : int; var local_#12291 : int; var local_#12292 : int; var local_#12293 : { base : int, offset : int }; var local_#12294 : int; var local_#12295 : int; var local_#12296 : int; var local_#12297 : { base : int, offset : int }; var local_#12298 : { base : int, offset : int }; var nondet_#11 : int; var local_#31637_step : int; var local_#12299 : { base : int, offset : int }; var nondet_#12 : int; var nondet_#13 : int; var local_#12300 : int; var local_#31635_idx : int; var local_#12301 : int; var local_#12302 : { base : int, offset : int }; var local_#12303 : { base : int, offset : int }; var nondet_#14 : int; var local_#31636_limit : int; var nondet_#15 : int; var local_#12304 : int; var nondet_#16 : bool; var local_#12305 : int; var nondet_#17 : bool; var local_#12306 : int; var nondet_#18 : bool; var local_#12307 : int; var local_#12308 : int; var local_#12309 : int; var local_#12310 : int; var local_#12311 : int; var local_#12312 : int; var local_#12313 : int; var local_#12314 : int; var local_#12315 : { base : int, offset : int }; var local_#31638_io : { base : int, offset : int }; var local_#12316 : int; var local_#12317 : int; var local_#12318 : { base : int, offset : int }; var local_#12319 : int; var local_#12320 : { base : int, offset : int }; var local_#31639_io : { base : int, offset : int }; var local_#12321 : { base : int, offset : int }; var local_#12322 : int; var local_#12323 : { base : int, offset : int }; var local_#12324 : { base : int, offset : int }; var local_#31632_step : int; var local_#12325 : { base : int, offset : int }; var local_#12326 : int; var local_#12327 : int; var local_#12328 : int; var local_#12329 : int; var local_#31630_idx : int; var local_#12330 : int; var local_#12331 : { base : int, offset : int }; var local_#12332 : { base : int, offset : int }; var local_#31631_limit : int; var local_#12333 : int; var local_#12334 : int; var local_#12335 : int; var local_#12336 : int; var local_#12337 : int; var local_#12338 : int; var local_#12339 : int; var local_#12340 : int; var local_#12341 : int; var local_#12342 : int; var local_#12343 : int; var local_#12344 : { base : int, offset : int }; var local_#31633_io : { base : int, offset : int }; var local_#12345 : int; var local_#12346 : int; var local_#12347 : { base : int, offset : int }; var local_#12348 : int; var local_#12349 : { base : int, offset : int }; var local_#31634_io : { base : int, offset : int }; var local_#12350 : { base : int, offset : int }; var local_#12351 : int; var local_#12352 : int; var local_#12353 : int; var local_#12354 : int; var local_#12355 : int; var local_#31629_b : int; var local_#12356 : { base : int, offset : int }; var local_#12357 : int; var local_#12358 : int; var local_#12359 : int; var local_#12360 : int; var local_#12361 : int; var local_#12362 : int; var local_#30636 : int; var local_#12363 : int; var local_#12364 : int; var local_#12365 : int; var local_#12366 : int; var local_#12367 : int; var local_#12368 : int; var local_#12369 : int; var local_#12370 : int; var local_#12371 : int; var local_#12372 : int; var local_#12373 : int; var local_#12374 : int; var local_#12375 : int; var local_#12376 : int; var local_#12377 : int; var local_#12378 : int; var local_#31621_b : int; var local_#12379 : int; var local_#12380 : int; var local_#12381 : { base : int, offset : int }; var local_#12382 : int; var local_#12383 : int; var local_#12384 : int; var local_#12385 : int; var local_#12386 : int; var local_#31624_nci : { base : int, offset : int }; var local_#31626_oci : { base : int, offset : int }; var local_#31625_nfunc : { base : int, offset : int }; var local_#31627_ofunc : { base : int, offset : int }; var local_#12387 : { base : int, offset : int }; var local_#12388 : { base : int, offset : int }; var local_#12389 : { base : int, offset : int }; var local_#12390 : { base : int, offset : int }; var local_#12391 : { base : int, offset : int }; var local_#12392 : { base : int, offset : int }; var local_#12393 : { base : int, offset : int }; var local_#31623_lim : { base : int, offset : int }; var local_#12394 : { base : int, offset : int }; var local_#12395 : int; var local_#12396 : int; var local_#12397 : { base : int, offset : int }; var local_#12398 : { base : int, offset : int }; var local_#31622_aux : int; var local_#12399 : { base : int, offset : int }; var local_#12400 : int; var local_#12401 : { base : int, offset : int }; var local_#12402 : int; var local_#12403 : { base : int, offset : int }; var local_#12404 : { base : int, offset : int }; var local_#12405 : int; var local_#12406 : { base : int, offset : int }; var local_#12407 : { base : int, offset : int }; var local_#12408 : { base : int, offset : int }; var local_#12409 : int; var local_#12410 : int; var local_#12411 : int; var local_#12412 : int; var local_#12413 : int; var local_#12414 : { base : int, offset : int }; var local_#31628_io1 : { base : int, offset : int }; var local_#12415 : { base : int, offset : int }; var local_#12416 : int; var local_#12417 : int; var local_#12418 : int; var local_#12419 : int; var local_#12420 : int; var local_#12421 : int; var local_#12422 : int; var local_#12423 : int; var local_#12424 : { base : int, offset : int }; var local_#12425 : int; var local_#12426 : int; var local_#12427 : int; var local_#12428 : int; var local_#12429 : int; var local_#31619_b : int; var local_#12430 : int; var local_#12431 : int; var local_#12432 : int; var local_#12433 : int; var local_#12434 : int; var local_#12435 : int; var local_#12436 : int; var local_#31620_nresults : int; var local_#12437 : int; var local_#12438 : int; var local_#12439 : { base : int, offset : int }; var local_#12440 : int; var local_#12441 : int; var local_#12442 : int; var local_#12443 : int; var local_#12444 : int; var local_#12445 : int; var local_#12446 : { base : int, offset : int }; var local_#12447 : int; var local_#12448 : int; var local_#12449 : int; var local_#12450 : int; var local_#12451 : int; var local_#12452 : { base : int, offset : int }; var local_#31616_rb : { base : int, offset : int }; var local_#12453 : int; var local_#12454 : int; var local_#12455 : int; var local_#12456 : int; var local_#12457 : int; var local_#12458 : int; var local_#12459 : int; var local_#12460 : int; var local_#12461 : int; var local_#12462 : { base : int, offset : int }; var local_#12463 : int; var local_#12464 : int; var local_#12465 : int; var local_#12466 : int; var local_#12467 : int; var local_#12468 : int; var local_#12469 : { base : int, offset : int }; var local_#12470 : int; var local_#12471 : int; var local_#31617_io1 : { base : int, offset : int }; var local_#12472 : int; var local_#12473 : int; var local_#12474 : int; var local_#12475 : { base : int, offset : int }; var local_#12476 : { base : int, offset : int }; var local_#12477 : int; var local_#12478 : int; var local_#12479 : int; var local_#12480 : int; var local_#12481 : int; var local_#31618_a : int; var local_#12482 : int; var local_#12483 : int; var local_#12484 : { base : int, offset : int }; var local_#12485 : { base : int, offset : int }; var local_#12486 : int; var local_#12487 : { base : int, offset : int }; var local_#12488 : int; var local_#12489 : int; var local_#12490 : int; var local_#12491 : int; var local_#12492 : int; var local_#12493 : int; var local_#12494 : int; var local_#12495 : int; var local_#12496 : int; var local_#12497 : { base : int, offset : int }; var local_#12498 : { base : int, offset : int }; var local_#12499 : { base : int, offset : int }; var local_#12500 : int; var local_#12501 : { base : int, offset : int }; var local_#12502 : int; var local_#12503 : int; var local_#12504 : int; var local_#12505 : int; var local_#12506 : int; var local_#12507 : int; var local_#12508 : int; var local_#12509 : int; var local_#12510 : int; var local_#12511 : { base : int, offset : int }; var local_#12512 : int; var local_#12513 : int; var local_#12514 : int; var local_#12515 : int; var local_#12516 : int; var local_#12517 : int; var local_#12518 : { base : int, offset : int }; var local_#12519 : int; var local_#12520 : int; var local_#12521 : { base : int, offset : int }; var local_#12522 : { base : int, offset : int }; var local_#12523 : int; var local_#12524 : int; var local_#12525 : int; var local_#12526 : int; var local_#12527 : int; var local_#31615_a : int; var local_#12528 : int; var local_#12529 : int; var local_#12530 : { base : int, offset : int }; var local_#12531 : { base : int, offset : int }; var local_#12532 : int; var local_#12533 : { base : int, offset : int }; var local_#12534 : int; var local_#12535 : int; var local_#12536 : int; var local_#12537 : int; var local_#12538 : int; var local_#12539 : int; var local_#12540 : int; var local_#12541 : int; var local_#12542 : int; var local_#12543 : { base : int, offset : int }; var local_#12544 : { base : int, offset : int }; var local_#12545 : { base : int, offset : int }; var local_#12546 : int; var local_#12547 : { base : int, offset : int }; var local_#12548 : int; var local_#12549 : int; var local_#12550 : int; var local_#12551 : int; var local_#12552 : int; var local_#12553 : int; var local_#12554 : int; var local_#12555 : int; var local_#12556 : int; var local_#12557 : int; var local_#12558 : int; var local_#12559 : int; var local_#12560 : { base : int, offset : int }; var local_#30637 : { base : int, offset : int }; var local_#12561 : int; var local_#12562 : int; var local_#12563 : int; var local_#12564 : int; var local_#12565 : int; var local_#12566 : int; var local_#12567 : int; var local_#12568 : int; var local_#12569 : { base : int, offset : int }; var local_#12570 : { base : int, offset : int }; var local_#12571 : int; var local_#12572 : int; var local_#12573 : int; var local_#12574 : int; var local_#12575 : int; var local_#12576 : int; var local_#12577 : int; var local_#12578 : int; var local_#12579 : int; var local_#12580 : int; var local_#12581 : int; var local_#12582 : int; var local_#12583 : { base : int, offset : int }; var local_#30638 : { base : int, offset : int }; var local_#12584 : int; var local_#12585 : int; var local_#12586 : int; var local_#12587 : int; var local_#12588 : int; var local_#12589 : int; var local_#12590 : int; var local_#12591 : int; var local_#12592 : { base : int, offset : int }; var local_#12593 : { base : int, offset : int }; var local_#12594 : int; var local_#12595 : int; var local_#12596 : int; var local_#12597 : int; var local_#12598 : int; var local_#12599 : int; var local_#12600 : int; var local_#12601 : { base : int, offset : int }; var local_#12602 : { base : int, offset : int }; var local_#12603 : int; var local_#12604 : int; var local_#12605 : int; var local_#12606 : int; var local_#12607 : int; var local_#31614_a : int; var local_#12608 : int; var local_#12609 : int; var local_#12610 : { base : int, offset : int }; var local_#12611 : { base : int, offset : int }; var local_#12612 : int; var local_#12613 : { base : int, offset : int }; var local_#12614 : int; var local_#12615 : int; var local_#12616 : int; var local_#12617 : int; var local_#12618 : int; var local_#12619 : int; var local_#12620 : int; var local_#12621 : int; var local_#12622 : int; var local_#12623 : { base : int, offset : int }; var local_#12624 : { base : int, offset : int }; var local_#12625 : { base : int, offset : int }; var local_#12626 : int; var local_#12627 : { base : int, offset : int }; var local_#12628 : { base : int, offset : int }; var local_#12629 : int; var local_#12630 : int; var local_#12631 : int; var local_#12632 : int; var local_#12633 : int; var local_#12634 : int; var local_#12635 : int; var local_#12636 : int; var local_#12637 : int; var local_#12638 : int; var local_#12639 : int; var local_#12640 : int; var local_#12641 : { base : int, offset : int }; var local_#30639 : { base : int, offset : int }; var local_#12642 : int; var local_#12643 : int; var local_#12644 : int; var local_#12645 : int; var local_#12646 : int; var local_#12647 : int; var local_#12648 : int; var local_#12649 : int; var local_#12650 : { base : int, offset : int }; var local_#12651 : { base : int, offset : int }; var local_#12652 : int; var local_#12653 : int; var local_#12654 : int; var local_#12655 : int; var local_#12656 : int; var local_#12657 : int; var local_#12658 : int; var local_#12659 : int; var local_#12660 : int; var local_#12661 : int; var local_#12662 : int; var local_#12663 : int; var local_#12664 : { base : int, offset : int }; var local_#30640 : { base : int, offset : int }; var local_#12665 : int; var local_#12666 : int; var local_#12667 : int; var local_#12668 : int; var local_#12669 : int; var local_#12670 : int; var local_#12671 : int; var local_#12672 : int; var local_#12673 : { base : int, offset : int }; var local_#12674 : { base : int, offset : int }; var local_#12675 : int; var local_#12676 : int; var local_#12677 : int; var local_#12678 : int; var local_#12679 : int; var local_#12680 : int; var local_#12681 : int; var local_#12682 : { base : int, offset : int }; var local_#12683 : { base : int, offset : int }; var local_#12684 : int; var local_#12685 : int; var local_#12686 : int; var local_#12687 : int; var local_#12688 : int; var local_#31613_a : int; var local_#12689 : int; var local_#12690 : int; var local_#12691 : { base : int, offset : int }; var local_#12692 : { base : int, offset : int }; var local_#12693 : int; var local_#12694 : { base : int, offset : int }; var local_#12695 : int; var local_#12696 : int; var local_#12697 : int; var local_#12698 : int; var local_#12699 : int; var local_#12700 : int; var local_#12701 : int; var local_#12702 : int; var local_#12703 : int; var local_#12704 : { base : int, offset : int }; var local_#12705 : { base : int, offset : int }; var local_#12706 : { base : int, offset : int }; var local_#12707 : int; var local_#12708 : { base : int, offset : int }; var local_#12709 : { base : int, offset : int }; var local_#12710 : int; var local_#12711 : int; var local_#12712 : int; var local_#12713 : int; var local_#12714 : int; var local_#12715 : int; var local_#12716 : int; var local_#12717 : int; var local_#12718 : int; var local_#12719 : int; var local_#12720 : int; var local_#12721 : int; var local_#12722 : { base : int, offset : int }; var local_#30641 : { base : int, offset : int }; var local_#12723 : int; var local_#12724 : int; var local_#12725 : int; var local_#12726 : int; var local_#12727 : int; var local_#12728 : int; var local_#12729 : int; var local_#12730 : int; var local_#12731 : { base : int, offset : int }; var local_#31610_rb : { base : int, offset : int }; var local_#12732 : int; var local_#12733 : int; var local_#12734 : int; var local_#12735 : int; var local_#12736 : int; var local_#12737 : int; var local_#12738 : int; var local_#12739 : int; var local_#12740 : int; var local_#12741 : int; var local_#12742 : int; var local_#12743 : int; var local_#12744 : { base : int, offset : int }; var local_#30642 : { base : int, offset : int }; var local_#12745 : int; var local_#12746 : int; var local_#12747 : int; var local_#12748 : int; var local_#12749 : int; var local_#12750 : int; var local_#12751 : int; var local_#12752 : int; var local_#12753 : { base : int, offset : int }; var local_#31611_rc : { base : int, offset : int }; var local_#12754 : { base : int, offset : int }; var local_#12755 : { base : int, offset : int }; var local_#12756 : int; var local_#12757 : int; var local_#12758 : int; var local_#12759 : int; var local_#12760 : int; var local_#12761 : int; var local_#12762 : int; var local_#12763 : { base : int, offset : int }; var local_#12764 : { base : int, offset : int }; var local_#12765 : int; var local_#12766 : int; var local_#12767 : int; var local_#12768 : int; var local_#12769 : int; var local_#31612_a : int; var local_#12770 : int; var local_#12771 : int; var local_#12772 : { base : int, offset : int }; var local_#12773 : { base : int, offset : int }; var local_#12774 : int; var local_#12775 : { base : int, offset : int }; var local_#12776 : int; var local_#12777 : int; var local_#12778 : int; var local_#12779 : int; var local_#12780 : int; var local_#12781 : int; var local_#12782 : int; var local_#12783 : int; var local_#12784 : int; var local_#12785 : { base : int, offset : int }; var local_#12786 : { base : int, offset : int }; var local_#12787 : { base : int, offset : int }; var local_#12788 : int; var local_#12789 : { base : int, offset : int }; var local_#12790 : { base : int, offset : int }; var local_#12791 : int; var local_#12792 : int; var local_#12793 : int; var local_#12794 : int; var local_#12795 : int; var local_#31609_a : int; var local_#12796 : int; var local_#12797 : int; var local_#12798 : { base : int, offset : int }; var local_#12799 : { base : int, offset : int }; var local_#12800 : int; var local_#12801 : { base : int, offset : int }; var local_#12802 : int; var local_#12803 : int; var local_#12804 : int; var local_#12805 : int; var local_#12806 : int; var local_#12807 : int; var local_#12808 : int; var local_#12809 : int; var local_#12810 : int; var local_#12811 : { base : int, offset : int }; var local_#12812 : int; var local_#12813 : int; var local_#12814 : int; var local_#12815 : int; var local_#12816 : int; var local_#31605_b : int; var local_#12817 : int; var local_#12818 : int; var local_#12819 : int; var local_#12820 : int; var local_#12821 : int; var local_#31606_c : int; var local_#12822 : { base : int, offset : int }; var local_#12823 : int; var local_#12824 : { base : int, offset : int }; var local_#12825 : int; var local_#12826 : int; var local_#12827 : int; var local_#12828 : { base : int, offset : int }; var local_#12829 : int; var local_#12830 : int; var local_#12831 : int; var local_#12832 : int; var local_#12833 : int; var local_#12834 : { base : int, offset : int }; var local_#12835 : { base : int, offset : int }; var local_#31607_rb : { base : int, offset : int }; var local_#31608_io1 : { base : int, offset : int }; var local_#12836 : int; var local_#12837 : int; var local_#12838 : int; var local_#12839 : { base : int, offset : int }; var local_#12840 : int; var local_#12841 : int; var local_#12842 : int; var local_#30643 : { base : int, offset : int }; var local_#12843 : int; var local_#12844 : { base : int, offset : int }; var local_#12845 : { base : int, offset : int }; var local_#12846 : int; var local_#12847 : int; var local_#12848 : int; var local_#12849 : int; var local_#12850 : int; var local_#12851 : int; var local_#12852 : int; var local_#12853 : int; var local_#12854 : int; var local_#12855 : int; var local_#12856 : int; var local_#12857 : { base : int, offset : int }; var local_#12858 : { base : int, offset : int }; var local_#12859 : { base : int, offset : int }; var local_#12860 : int; var local_#12861 : int; var local_#12862 : int; var local_#12863 : int; var local_#12864 : int; var local_#12865 : { base : int, offset : int }; var local_#31602_rb : { base : int, offset : int }; var local_#12866 : int; var local_#12867 : int; var local_#12868 : int; var local_#12869 : int; var local_#12870 : { base : int, offset : int }; var local_#12871 : int; var local_#12872 : int; var local_#30644 : int; var local_#31603_res : int; var local_#31604_io : { base : int, offset : int }; var local_#12873 : { base : int, offset : int }; var local_#12874 : int; var local_#12875 : int; var local_#12876 : int; var local_#12877 : int; var local_#12878 : int; var local_#12879 : { base : int, offset : int }; var local_#31600_rb : { base : int, offset : int }; var local_#12880 : int; var local_#12881 : int; var local_#12882 : { base : int, offset : int }; var local_#31599_ib : { base : int, offset : int }; var local_#12883 : { base : int, offset : int }; var local_#12884 : int; var local_#12885 : int; var local_#12886 : int; var local_#12887 : { base : int, offset : int }; var local_#12888 : int; var local_#12889 : int; var local_#12890 : { base : int, offset : int }; var local_#12891 : { base : int, offset : int }; var local_#12892 : int; var local_#12893 : { base : int, offset : int }; var local_#31601_io : { base : int, offset : int }; var local_#12894 : int; var local_#12895 : int; var local_#12896 : int; var local_#12897 : int; var local_#12898 : { base : int, offset : int }; var local_#12899 : int; var local_#12900 : int; var local_#12901 : int; var local_#12902 : int; var local_#12903 : int; var local_#12904 : { base : int, offset : int }; var local_#31595_rb : { base : int, offset : int }; var local_#12905 : int; var local_#12906 : int; var local_#12907 : int; var local_#12908 : int; var local_#12909 : { base : int, offset : int }; var local_#31594_nb : { base : int, offset : int }; var local_#12910 : { base : int, offset : int }; var local_#12911 : int; var local_#12912 : int; var local_#12913 : { base : int, offset : int }; var nondet_#19 : int; var nondet_#20 : int; var local_#12914 : int; var local_#12915 : int; var local_#12916 : { base : int, offset : int }; var local_#12917 : { base : int, offset : int }; var local_#12918 : int; var local_#12919 : { base : int, offset : int }; var local_#31598_io : { base : int, offset : int }; var nondet_#21 : int; var nondet_#22 : int; var local_#12920 : int; var local_#12921 : { base : int, offset : int }; var local_#12922 : { base : int, offset : int }; var local_#31596_ib : int; var local_#31597_io : { base : int, offset : int }; var local_#12923 : int; var local_#12924 : int; var local_#12925 : int; var local_#12926 : int; var local_#12927 : { base : int, offset : int }; var local_#12928 : int; var local_#12929 : int; var local_#12930 : int; var local_#12931 : int; var local_#12932 : int; var local_#12933 : int; var local_#12934 : int; var local_#12935 : int; var local_#12936 : int; var local_#12937 : int; var local_#12938 : int; var local_#12939 : int; var local_#12940 : { base : int, offset : int }; var local_#30645 : { base : int, offset : int }; var local_#12941 : int; var local_#12942 : int; var local_#12943 : int; var local_#12944 : int; var local_#12945 : int; var local_#12946 : int; var local_#12947 : int; var local_#12948 : int; var local_#12949 : { base : int, offset : int }; var local_#31591_rb : { base : int, offset : int }; var local_#12950 : int; var local_#12951 : int; var local_#12952 : int; var local_#12953 : int; var local_#12954 : int; var local_#12955 : int; var local_#12956 : int; var local_#12957 : int; var local_#12958 : int; var local_#12959 : int; var local_#12960 : int; var local_#12961 : int; var local_#12962 : { base : int, offset : int }; var local_#30646 : { base : int, offset : int }; var local_#12963 : int; var local_#12964 : int; var local_#12965 : int; var local_#12966 : int; var local_#12967 : int; var local_#12968 : int; var local_#12969 : int; var local_#12970 : int; var local_#12971 : { base : int, offset : int }; var local_#31592_rc : { base : int, offset : int }; var local_#12972 : int; var local_#12973 : int; var local_#12974 : { base : int, offset : int }; var local_#31589_nb : { base : int, offset : int }; var local_#12975 : { base : int, offset : int }; var local_#12976 : int; var local_#12977 : int; var local_#12978 : { base : int, offset : int }; var nondet_#23 : int; var nondet_#24 : int; var local_#12979 : int; var local_#12980 : int; var local_#12981 : int; var local_#12982 : int; var local_#12983 : { base : int, offset : int }; var local_#31590_nc : { base : int, offset : int }; var local_#12984 : { base : int, offset : int }; var local_#12985 : int; var local_#12986 : int; var local_#12987 : { base : int, offset : int }; var nondet_#25 : int; var nondet_#26 : int; var local_#12988 : int; var local_#12989 : int; var local_#12990 : { base : int, offset : int }; var local_#12991 : { base : int, offset : int }; var local_#12992 : int; var local_#12993 : { base : int, offset : int }; var local_#31593_io : { base : int, offset : int }; var local_#12994 : int; var local_#12995 : int; var nondet_#27 : int; var nondet_#28 : int; var local_#12996 : { base : int, offset : int }; var local_#12997 : int; var local_#12998 : int; var local_#12999 : int; var local_#13000 : int; var local_#13001 : int; var local_#13002 : int; var local_#13003 : int; var local_#13004 : int; var local_#13005 : int; var local_#13006 : int; var local_#13007 : int; var local_#13008 : int; var local_#13009 : { base : int, offset : int }; var local_#30647 : { base : int, offset : int }; var local_#13010 : int; var local_#13011 : int; var local_#13012 : int; var local_#13013 : int; var local_#13014 : int; var local_#13015 : int; var local_#13016 : int; var local_#13017 : int; var local_#13018 : { base : int, offset : int }; var local_#31583_rb : { base : int, offset : int }; var local_#13019 : int; var local_#13020 : int; var local_#13021 : int; var local_#13022 : int; var local_#13023 : int; var local_#13024 : int; var local_#13025 : int; var local_#13026 : int; var local_#13027 : int; var local_#13028 : int; var local_#13029 : int; var local_#13030 : int; var local_#13031 : { base : int, offset : int }; var local_#30648 : { base : int, offset : int }; var local_#13032 : int; var local_#13033 : int; var local_#13034 : int; var local_#13035 : int; var local_#13036 : int; var local_#13037 : int; var local_#13038 : int; var local_#13039 : int; var local_#13040 : { base : int, offset : int }; var local_#31584_rc : { base : int, offset : int }; var local_#13041 : int; var local_#13042 : int; var local_#13043 : int; var local_#13044 : int; var local_#13045 : int; var local_#13046 : int; var local_#13047 : { base : int, offset : int }; var local_#31581_nb : { base : int, offset : int }; var local_#13048 : { base : int, offset : int }; var local_#13049 : int; var local_#13050 : int; var local_#13051 : { base : int, offset : int }; var nondet_#29 : int; var nondet_#30 : int; var local_#13052 : int; var local_#13053 : int; var local_#13054 : int; var local_#13055 : int; var local_#13056 : { base : int, offset : int }; var local_#31582_nc : { base : int, offset : int }; var local_#13057 : { base : int, offset : int }; var local_#13058 : int; var local_#13059 : int; var local_#13060 : { base : int, offset : int }; var nondet_#31 : int; var nondet_#32 : int; var local_#13061 : int; var local_#13062 : int; var local_#13063 : { base : int, offset : int }; var local_#13064 : { base : int, offset : int }; var local_#13065 : int; var local_#13066 : { base : int, offset : int }; var local_#31588_io : { base : int, offset : int }; var local_#13067 : int; var nondet_#33 : int; var nondet_#34 : int; var nondet_#35 : int; var local_#13068 : int; var local_#13069 : int; var local_#13070 : { base : int, offset : int }; var local_#13071 : { base : int, offset : int }; var local_#31585_ib : int; var local_#13072 : { base : int, offset : int }; var local_#31586_ic : int; var local_#31587_io : { base : int, offset : int }; var local_#13073 : int; var local_#13074 : { base : int, offset : int }; var local_#13075 : int; var local_#13076 : int; var local_#13077 : int; var local_#13078 : int; var local_#13079 : int; var local_#13080 : int; var local_#13081 : int; var local_#13082 : int; var local_#13083 : int; var local_#13084 : int; var local_#13085 : int; var local_#13086 : int; var local_#13087 : { base : int, offset : int }; var local_#30649 : { base : int, offset : int }; var local_#13088 : int; var local_#13089 : int; var local_#13090 : int; var local_#13091 : int; var local_#13092 : int; var local_#13093 : int; var local_#13094 : int; var local_#13095 : int; var local_#13096 : { base : int, offset : int }; var local_#31574_rb : { base : int, offset : int }; var local_#13097 : int; var local_#13098 : int; var local_#13099 : int; var local_#13100 : int; var local_#13101 : int; var local_#13102 : int; var local_#13103 : int; var local_#13104 : int; var local_#13105 : int; var local_#13106 : int; var local_#13107 : int; var local_#13108 : int; var local_#13109 : { base : int, offset : int }; var local_#30650 : { base : int, offset : int }; var local_#13110 : int; var local_#13111 : int; var local_#13112 : int; var local_#13113 : int; var local_#13114 : int; var local_#13115 : int; var local_#13116 : int; var local_#13117 : int; var local_#13118 : { base : int, offset : int }; var local_#31575_rc : { base : int, offset : int }; var local_#13119 : int; var local_#13120 : int; var local_#13121 : int; var local_#13122 : int; var local_#13123 : int; var local_#13124 : int; var local_#13125 : { base : int, offset : int }; var local_#31572_nb : { base : int, offset : int }; var local_#13126 : { base : int, offset : int }; var local_#13127 : int; var local_#13128 : int; var local_#13129 : { base : int, offset : int }; var nondet_#36 : int; var nondet_#37 : int; var local_#13130 : int; var local_#13131 : int; var local_#13132 : int; var local_#13133 : int; var local_#13134 : { base : int, offset : int }; var local_#31573_nc : { base : int, offset : int }; var local_#13135 : { base : int, offset : int }; var local_#13136 : int; var local_#13137 : int; var local_#13138 : { base : int, offset : int }; var nondet_#38 : int; var nondet_#39 : int; var local_#13139 : int; var local_#13140 : int; var local_#13141 : { base : int, offset : int }; var local_#13142 : { base : int, offset : int }; var local_#13143 : int; var local_#13144 : { base : int, offset : int }; var local_#13145 : int; var nondet_#40 : int; var nondet_#41 : int; var local_#31579_m : int; var nondet_#42 : int; var nondet_#43 : int; var local_#13146 : int; var nondet_#44 : int; var local_#13147 : int; var nondet_#45 : bool; var local_#13148 : int; var nondet_#46 : int; var nondet_#47 : int; var local_#31580_io : { base : int, offset : int }; var local_#13149 : { base : int, offset : int }; var local_#13150 : { base : int, offset : int }; var local_#31576_ib : int; var local_#13151 : { base : int, offset : int }; var local_#31577_ic : int; var local_#31578_io : { base : int, offset : int }; var local_#13152 : int; var local_#13153 : { base : int, offset : int }; var local_#13154 : int; var local_#13155 : int; var local_#13156 : int; var local_#13157 : int; var local_#13158 : int; var local_#13159 : int; var local_#13160 : int; var local_#13161 : int; var local_#13162 : int; var local_#13163 : int; var local_#13164 : int; var local_#13165 : int; var local_#13166 : { base : int, offset : int }; var local_#30651 : { base : int, offset : int }; var local_#13167 : int; var local_#13168 : int; var local_#13169 : int; var local_#13170 : int; var local_#13171 : int; var local_#13172 : int; var local_#13173 : int; var local_#13174 : int; var local_#13175 : { base : int, offset : int }; var local_#31569_rb : { base : int, offset : int }; var local_#13176 : int; var local_#13177 : int; var local_#13178 : int; var local_#13179 : int; var local_#13180 : int; var local_#13181 : int; var local_#13182 : int; var local_#13183 : int; var local_#13184 : int; var local_#13185 : int; var local_#13186 : int; var local_#13187 : int; var local_#13188 : { base : int, offset : int }; var local_#30652 : { base : int, offset : int }; var local_#13189 : int; var local_#13190 : int; var local_#13191 : int; var local_#13192 : int; var local_#13193 : int; var local_#13194 : int; var local_#13195 : int; var local_#13196 : int; var local_#13197 : { base : int, offset : int }; var local_#31570_rc : { base : int, offset : int }; var local_#13198 : int; var local_#13199 : int; var local_#13200 : { base : int, offset : int }; var local_#31567_ib : { base : int, offset : int }; var local_#13201 : { base : int, offset : int }; var local_#13202 : int; var local_#13203 : int; var local_#13204 : int; var local_#13205 : { base : int, offset : int }; var local_#13206 : int; var local_#13207 : int; var local_#13208 : int; var local_#13209 : int; var local_#13210 : { base : int, offset : int }; var local_#31568_ic : { base : int, offset : int }; var local_#13211 : { base : int, offset : int }; var local_#13212 : int; var local_#13213 : int; var local_#13214 : int; var local_#13215 : { base : int, offset : int }; var local_#13216 : int; var local_#13217 : int; var local_#13218 : { base : int, offset : int }; var local_#13219 : { base : int, offset : int }; var local_#13220 : int; var local_#13221 : { base : int, offset : int }; var local_#31571_io : { base : int, offset : int }; var local_#13222 : int; var local_#13223 : int; var local_#13224 : { base : int, offset : int }; var local_#13225 : int; var local_#13226 : int; var local_#13227 : int; var local_#13228 : int; var local_#13229 : int; var local_#13230 : int; var local_#13231 : int; var local_#13232 : int; var local_#13233 : int; var local_#13234 : int; var local_#13235 : int; var local_#13236 : int; var local_#13237 : { base : int, offset : int }; var local_#30653 : { base : int, offset : int }; var local_#13238 : int; var local_#13239 : int; var local_#13240 : int; var local_#13241 : int; var local_#13242 : int; var local_#13243 : int; var local_#13244 : int; var local_#13245 : int; var local_#13246 : { base : int, offset : int }; var local_#31564_rb : { base : int, offset : int }; var local_#13247 : int; var local_#13248 : int; var local_#13249 : int; var local_#13250 : int; var local_#13251 : int; var local_#13252 : int; var local_#13253 : int; var local_#13254 : int; var local_#13255 : int; var local_#13256 : int; var local_#13257 : int; var local_#13258 : int; var local_#13259 : { base : int, offset : int }; var local_#30654 : { base : int, offset : int }; var local_#13260 : int; var local_#13261 : int; var local_#13262 : int; var local_#13263 : int; var local_#13264 : int; var local_#13265 : int; var local_#13266 : int; var local_#13267 : int; var local_#13268 : { base : int, offset : int }; var local_#31565_rc : { base : int, offset : int }; var local_#13269 : int; var local_#13270 : int; var local_#13271 : { base : int, offset : int }; var local_#31562_ib : { base : int, offset : int }; var local_#13272 : { base : int, offset : int }; var local_#13273 : int; var local_#13274 : int; var local_#13275 : int; var local_#13276 : { base : int, offset : int }; var local_#13277 : int; var local_#13278 : int; var local_#13279 : int; var local_#13280 : int; var local_#13281 : { base : int, offset : int }; var local_#31563_ic : { base : int, offset : int }; var local_#13282 : { base : int, offset : int }; var local_#13283 : int; var local_#13284 : int; var local_#13285 : int; var local_#13286 : { base : int, offset : int }; var local_#13287 : int; var local_#13288 : int; var local_#13289 : { base : int, offset : int }; var local_#13290 : { base : int, offset : int }; var local_#13291 : int; var local_#13292 : { base : int, offset : int }; var local_#31566_io : { base : int, offset : int }; var local_#13293 : int; var local_#13294 : { base : int, offset : int }; var local_#13295 : int; var local_#13296 : int; var local_#13297 : int; var local_#13298 : int; var local_#13299 : int; var local_#13300 : int; var local_#13301 : int; var local_#13302 : int; var local_#13303 : int; var local_#13304 : int; var local_#13305 : int; var local_#13306 : int; var local_#13307 : { base : int, offset : int }; var local_#30655 : { base : int, offset : int }; var local_#13308 : int; var local_#13309 : int; var local_#13310 : int; var local_#13311 : int; var local_#13312 : int; var local_#13313 : int; var local_#13314 : int; var local_#13315 : int; var local_#13316 : { base : int, offset : int }; var local_#31559_rb : { base : int, offset : int }; var local_#13317 : int; var local_#13318 : int; var local_#13319 : int; var local_#13320 : int; var local_#13321 : int; var local_#13322 : int; var local_#13323 : int; var local_#13324 : int; var local_#13325 : int; var local_#13326 : int; var local_#13327 : int; var local_#13328 : int; var local_#13329 : { base : int, offset : int }; var local_#30656 : { base : int, offset : int }; var local_#13330 : int; var local_#13331 : int; var local_#13332 : int; var local_#13333 : int; var local_#13334 : int; var local_#13335 : int; var local_#13336 : int; var local_#13337 : int; var local_#13338 : { base : int, offset : int }; var local_#31560_rc : { base : int, offset : int }; var local_#13339 : int; var local_#13340 : int; var local_#13341 : { base : int, offset : int }; var local_#31557_ib : { base : int, offset : int }; var local_#13342 : { base : int, offset : int }; var local_#13343 : int; var local_#13344 : int; var local_#13345 : int; var local_#13346 : { base : int, offset : int }; var local_#13347 : int; var local_#13348 : int; var local_#13349 : int; var local_#13350 : int; var local_#13351 : { base : int, offset : int }; var local_#31558_ic : { base : int, offset : int }; var local_#13352 : { base : int, offset : int }; var local_#13353 : int; var local_#13354 : int; var local_#13355 : int; var local_#13356 : { base : int, offset : int }; var local_#13357 : int; var local_#13358 : int; var local_#13359 : { base : int, offset : int }; var local_#13360 : { base : int, offset : int }; var local_#13361 : int; var local_#13362 : { base : int, offset : int }; var local_#31561_io : { base : int, offset : int }; var local_#13363 : int; var local_#13364 : int; var local_#13365 : int; var local_#13366 : int; var local_#13367 : { base : int, offset : int }; var local_#13368 : int; var local_#13369 : int; var local_#13370 : int; var local_#13371 : int; var local_#13372 : int; var local_#13373 : int; var local_#13374 : int; var local_#13375 : int; var local_#13376 : int; var local_#13377 : int; var local_#13378 : int; var local_#13379 : int; var local_#13380 : { base : int, offset : int }; var local_#30657 : { base : int, offset : int }; var local_#13381 : int; var local_#13382 : int; var local_#13383 : int; var local_#13384 : int; var local_#13385 : int; var local_#13386 : int; var local_#13387 : int; var local_#13388 : int; var local_#13389 : { base : int, offset : int }; var local_#31554_rb : { base : int, offset : int }; var local_#13390 : int; var local_#13391 : int; var local_#13392 : int; var local_#13393 : int; var local_#13394 : int; var local_#13395 : int; var local_#13396 : int; var local_#13397 : int; var local_#13398 : int; var local_#13399 : int; var local_#13400 : int; var local_#13401 : int; var local_#13402 : { base : int, offset : int }; var local_#30658 : { base : int, offset : int }; var local_#13403 : int; var local_#13404 : int; var local_#13405 : int; var local_#13406 : int; var local_#13407 : int; var local_#13408 : int; var local_#13409 : int; var local_#13410 : int; var local_#13411 : { base : int, offset : int }; var local_#31555_rc : { base : int, offset : int }; var local_#13412 : int; var local_#13413 : int; var local_#13414 : { base : int, offset : int }; var local_#31552_ib : { base : int, offset : int }; var local_#13415 : { base : int, offset : int }; var local_#13416 : int; var local_#13417 : int; var local_#13418 : int; var local_#13419 : { base : int, offset : int }; var local_#13420 : int; var local_#13421 : int; var local_#13422 : int; var local_#13423 : int; var local_#13424 : { base : int, offset : int }; var local_#31553_ic : { base : int, offset : int }; var local_#13425 : { base : int, offset : int }; var local_#13426 : int; var local_#13427 : int; var local_#13428 : int; var local_#13429 : { base : int, offset : int }; var local_#13430 : int; var local_#13431 : int; var local_#13432 : { base : int, offset : int }; var local_#13433 : { base : int, offset : int }; var local_#13434 : int; var local_#13435 : { base : int, offset : int }; var local_#31556_io : { base : int, offset : int }; var local_#13436 : int; var local_#13437 : int; var local_#13438 : int; var local_#13439 : int; var local_#13440 : { base : int, offset : int }; var local_#13441 : int; var local_#13442 : int; var local_#13443 : int; var local_#13444 : int; var local_#13445 : int; var local_#13446 : int; var local_#13447 : int; var local_#13448 : int; var local_#13449 : int; var local_#13450 : int; var local_#13451 : int; var local_#13452 : int; var local_#13453 : { base : int, offset : int }; var local_#30659 : { base : int, offset : int }; var local_#13454 : int; var local_#13455 : int; var local_#13456 : int; var local_#13457 : int; var local_#13458 : int; var local_#13459 : int; var local_#13460 : int; var local_#13461 : int; var local_#13462 : { base : int, offset : int }; var local_#31549_rb : { base : int, offset : int }; var local_#13463 : int; var local_#13464 : int; var local_#13465 : int; var local_#13466 : int; var local_#13467 : int; var local_#13468 : int; var local_#13469 : int; var local_#13470 : int; var local_#13471 : int; var local_#13472 : int; var local_#13473 : int; var local_#13474 : int; var local_#13475 : { base : int, offset : int }; var local_#30660 : { base : int, offset : int }; var local_#13476 : int; var local_#13477 : int; var local_#13478 : int; var local_#13479 : int; var local_#13480 : int; var local_#13481 : int; var local_#13482 : int; var local_#13483 : int; var local_#13484 : { base : int, offset : int }; var local_#31550_rc : { base : int, offset : int }; var local_#13485 : int; var local_#13486 : int; var local_#13487 : { base : int, offset : int }; var local_#31547_ib : { base : int, offset : int }; var local_#13488 : { base : int, offset : int }; var local_#13489 : int; var local_#13490 : int; var local_#13491 : int; var local_#13492 : { base : int, offset : int }; var local_#13493 : int; var local_#13494 : int; var local_#13495 : int; var local_#13496 : int; var local_#13497 : { base : int, offset : int }; var local_#31548_ic : { base : int, offset : int }; var local_#13498 : { base : int, offset : int }; var local_#13499 : int; var local_#13500 : int; var local_#13501 : int; var local_#13502 : { base : int, offset : int }; var local_#13503 : int; var local_#13504 : int; var local_#13505 : { base : int, offset : int }; var local_#13506 : { base : int, offset : int }; var local_#13507 : int; var local_#13508 : { base : int, offset : int }; var local_#31551_io : { base : int, offset : int }; var local_#13509 : int; var local_#13510 : int; var local_#13511 : int; var local_#13512 : int; var local_#13513 : { base : int, offset : int }; var local_#13514 : int; var local_#13515 : int; var local_#13516 : int; var local_#13517 : int; var local_#13518 : int; var local_#13519 : int; var local_#13520 : int; var local_#13521 : int; var local_#13522 : int; var local_#13523 : int; var local_#13524 : int; var local_#13525 : int; var local_#13526 : { base : int, offset : int }; var local_#30661 : { base : int, offset : int }; var local_#13527 : int; var local_#13528 : int; var local_#13529 : int; var local_#13530 : int; var local_#13531 : int; var local_#13532 : int; var local_#13533 : int; var local_#13534 : int; var local_#13535 : { base : int, offset : int }; var local_#31544_rb : { base : int, offset : int }; var local_#13536 : int; var local_#13537 : int; var local_#13538 : int; var local_#13539 : int; var local_#13540 : int; var local_#13541 : int; var local_#13542 : int; var local_#13543 : int; var local_#13544 : int; var local_#13545 : int; var local_#13546 : int; var local_#13547 : int; var local_#13548 : { base : int, offset : int }; var local_#30662 : { base : int, offset : int }; var local_#13549 : int; var local_#13550 : int; var local_#13551 : int; var local_#13552 : int; var local_#13553 : int; var local_#13554 : int; var local_#13555 : int; var local_#13556 : int; var local_#13557 : { base : int, offset : int }; var local_#31545_rc : { base : int, offset : int }; var local_#13558 : int; var local_#13559 : int; var local_#13560 : { base : int, offset : int }; var local_#31542_nb : { base : int, offset : int }; var local_#13561 : { base : int, offset : int }; var local_#13562 : int; var local_#13563 : int; var local_#13564 : { base : int, offset : int }; var nondet_#48 : int; var nondet_#49 : int; var local_#13565 : int; var local_#13566 : int; var local_#13567 : int; var local_#13568 : int; var local_#13569 : { base : int, offset : int }; var local_#31543_nc : { base : int, offset : int }; var local_#13570 : { base : int, offset : int }; var local_#13571 : int; var local_#13572 : int; var local_#13573 : { base : int, offset : int }; var nondet_#50 : int; var nondet_#51 : int; var local_#13574 : int; var local_#13575 : int; var local_#13576 : { base : int, offset : int }; var local_#13577 : { base : int, offset : int }; var local_#13578 : int; var local_#13579 : { base : int, offset : int }; var local_#31546_io : { base : int, offset : int }; var nondet_#52 : int; var nondet_#53 : int; var nondet_#54 : int; var local_#13580 : int; var local_#13581 : { base : int, offset : int }; var local_#13582 : int; var local_#13583 : int; var local_#13584 : int; var local_#13585 : int; var local_#13586 : int; var local_#13587 : int; var local_#13588 : int; var local_#13589 : int; var local_#13590 : int; var local_#13591 : int; var local_#13592 : int; var local_#13593 : int; var local_#13594 : { base : int, offset : int }; var local_#30663 : { base : int, offset : int }; var local_#13595 : int; var local_#13596 : int; var local_#13597 : int; var local_#13598 : int; var local_#13599 : int; var local_#13600 : int; var local_#13601 : int; var local_#13602 : int; var local_#13603 : { base : int, offset : int }; var local_#31536_rb : { base : int, offset : int }; var local_#13604 : int; var local_#13605 : int; var local_#13606 : int; var local_#13607 : int; var local_#13608 : int; var local_#13609 : int; var local_#13610 : int; var local_#13611 : int; var local_#13612 : int; var local_#13613 : int; var local_#13614 : int; var local_#13615 : int; var local_#13616 : { base : int, offset : int }; var local_#30664 : { base : int, offset : int }; var local_#13617 : int; var local_#13618 : int; var local_#13619 : int; var local_#13620 : int; var local_#13621 : int; var local_#13622 : int; var local_#13623 : int; var local_#13624 : int; var local_#13625 : { base : int, offset : int }; var local_#31537_rc : { base : int, offset : int }; var local_#13626 : int; var local_#13627 : int; var local_#13628 : int; var local_#13629 : int; var local_#13630 : int; var local_#13631 : int; var local_#13632 : { base : int, offset : int }; var local_#31534_nb : { base : int, offset : int }; var local_#13633 : { base : int, offset : int }; var local_#13634 : int; var local_#13635 : int; var local_#13636 : { base : int, offset : int }; var nondet_#55 : int; var nondet_#56 : int; var local_#13637 : int; var local_#13638 : int; var local_#13639 : int; var local_#13640 : int; var local_#13641 : { base : int, offset : int }; var local_#31535_nc : { base : int, offset : int }; var local_#13642 : { base : int, offset : int }; var local_#13643 : int; var local_#13644 : int; var local_#13645 : { base : int, offset : int }; var nondet_#57 : int; var nondet_#58 : int; var local_#13646 : int; var local_#13647 : int; var local_#13648 : { base : int, offset : int }; var local_#13649 : { base : int, offset : int }; var local_#13650 : int; var local_#13651 : { base : int, offset : int }; var local_#31541_io : { base : int, offset : int }; var nondet_#59 : int; var nondet_#60 : int; var nondet_#61 : int; var local_#13652 : int; var local_#13653 : { base : int, offset : int }; var local_#13654 : { base : int, offset : int }; var local_#31538_ib : int; var local_#13655 : { base : int, offset : int }; var local_#31539_ic : int; var local_#31540_io : { base : int, offset : int }; var local_#13656 : int; var local_#13657 : int; var local_#13658 : int; var local_#13659 : int; var local_#13660 : { base : int, offset : int }; var local_#13661 : int; var local_#13662 : int; var local_#13663 : int; var local_#13664 : int; var local_#13665 : int; var local_#13666 : int; var local_#13667 : int; var local_#13668 : int; var local_#13669 : int; var local_#13670 : int; var local_#13671 : int; var local_#13672 : int; var local_#13673 : { base : int, offset : int }; var local_#30665 : { base : int, offset : int }; var local_#13674 : int; var local_#13675 : int; var local_#13676 : int; var local_#13677 : int; var local_#13678 : int; var local_#13679 : int; var local_#13680 : int; var local_#13681 : int; var local_#13682 : { base : int, offset : int }; var local_#31528_rb : { base : int, offset : int }; var local_#13683 : int; var local_#13684 : int; var local_#13685 : int; var local_#13686 : int; var local_#13687 : int; var local_#13688 : int; var local_#13689 : int; var local_#13690 : int; var local_#13691 : int; var local_#13692 : int; var local_#13693 : int; var local_#13694 : int; var local_#13695 : { base : int, offset : int }; var local_#30666 : { base : int, offset : int }; var local_#13696 : int; var local_#13697 : int; var local_#13698 : int; var local_#13699 : int; var local_#13700 : int; var local_#13701 : int; var local_#13702 : int; var local_#13703 : int; var local_#13704 : { base : int, offset : int }; var local_#31529_rc : { base : int, offset : int }; var local_#13705 : int; var local_#13706 : int; var local_#13707 : int; var local_#13708 : int; var local_#13709 : int; var local_#13710 : int; var local_#13711 : { base : int, offset : int }; var local_#31526_nb : { base : int, offset : int }; var local_#13712 : { base : int, offset : int }; var local_#13713 : int; var local_#13714 : int; var local_#13715 : { base : int, offset : int }; var nondet_#62 : int; var nondet_#63 : int; var local_#13716 : int; var local_#13717 : int; var local_#13718 : int; var local_#13719 : int; var local_#13720 : { base : int, offset : int }; var local_#31527_nc : { base : int, offset : int }; var local_#13721 : { base : int, offset : int }; var local_#13722 : int; var local_#13723 : int; var local_#13724 : { base : int, offset : int }; var nondet_#64 : int; var nondet_#65 : int; var local_#13725 : int; var local_#13726 : int; var local_#13727 : { base : int, offset : int }; var local_#13728 : { base : int, offset : int }; var local_#13729 : int; var local_#13730 : { base : int, offset : int }; var local_#31533_io : { base : int, offset : int }; var nondet_#66 : int; var nondet_#67 : int; var nondet_#68 : int; var local_#13731 : int; var local_#13732 : { base : int, offset : int }; var local_#13733 : { base : int, offset : int }; var local_#31530_ib : int; var local_#13734 : { base : int, offset : int }; var local_#31531_ic : int; var local_#31532_io : { base : int, offset : int }; var local_#13735 : int; var local_#13736 : int; var local_#13737 : int; var local_#13738 : int; var local_#13739 : { base : int, offset : int }; var local_#13740 : int; var local_#13741 : int; var local_#13742 : int; var local_#13743 : int; var local_#13744 : int; var local_#13745 : int; var local_#13746 : int; var local_#13747 : int; var local_#13748 : int; var local_#13749 : int; var local_#13750 : int; var local_#13751 : int; var local_#13752 : { base : int, offset : int }; var local_#30667 : { base : int, offset : int }; var local_#13753 : int; var local_#13754 : int; var local_#13755 : int; var local_#13756 : int; var local_#13757 : int; var local_#13758 : int; var local_#13759 : int; var local_#13760 : int; var local_#13761 : { base : int, offset : int }; var local_#31520_rb : { base : int, offset : int }; var local_#13762 : int; var local_#13763 : int; var local_#13764 : int; var local_#13765 : int; var local_#13766 : int; var local_#13767 : int; var local_#13768 : int; var local_#13769 : int; var local_#13770 : int; var local_#13771 : int; var local_#13772 : int; var local_#13773 : int; var local_#13774 : { base : int, offset : int }; var local_#30668 : { base : int, offset : int }; var local_#13775 : int; var local_#13776 : int; var local_#13777 : int; var local_#13778 : int; var local_#13779 : int; var local_#13780 : int; var local_#13781 : int; var local_#13782 : int; var local_#13783 : { base : int, offset : int }; var local_#31521_rc : { base : int, offset : int }; var local_#13784 : int; var local_#13785 : int; var local_#13786 : int; var local_#13787 : int; var local_#13788 : int; var local_#13789 : int; var local_#13790 : { base : int, offset : int }; var local_#31518_nb : { base : int, offset : int }; var local_#13791 : { base : int, offset : int }; var local_#13792 : int; var local_#13793 : int; var local_#13794 : { base : int, offset : int }; var nondet_#69 : int; var nondet_#70 : int; var local_#13795 : int; var local_#13796 : int; var local_#13797 : int; var local_#13798 : int; var local_#13799 : { base : int, offset : int }; var local_#31519_nc : { base : int, offset : int }; var local_#13800 : { base : int, offset : int }; var local_#13801 : int; var local_#13802 : int; var local_#13803 : { base : int, offset : int }; var nondet_#71 : int; var nondet_#72 : int; var local_#13804 : int; var local_#13805 : int; var local_#13806 : { base : int, offset : int }; var local_#13807 : { base : int, offset : int }; var local_#13808 : int; var local_#13809 : { base : int, offset : int }; var local_#31525_io : { base : int, offset : int }; var nondet_#73 : int; var nondet_#74 : int; var nondet_#75 : int; var local_#13810 : int; var local_#13811 : { base : int, offset : int }; var local_#13812 : { base : int, offset : int }; var local_#31522_ib : int; var local_#13813 : { base : int, offset : int }; var local_#31523_ic : int; var local_#31524_io : { base : int, offset : int }; var local_#13814 : int; var local_#13815 : int; var local_#13816 : int; var local_#13817 : int; var local_#13818 : { base : int, offset : int }; var local_#13819 : int; var local_#13820 : int; var local_#13821 : int; var local_#13822 : int; var local_#13823 : int; var local_#13824 : { base : int, offset : int }; var local_#31514_rb : { base : int, offset : int }; var local_#13825 : int; var local_#13826 : int; var local_#13827 : int; var local_#13828 : int; var local_#13829 : int; var local_#13830 : int; var local_#13831 : int; var local_#13832 : int; var local_#13833 : int; var local_#13834 : int; var local_#13835 : int; var local_#13836 : int; var local_#13837 : { base : int, offset : int }; var local_#30669 : { base : int, offset : int }; var local_#13838 : int; var local_#13839 : int; var local_#13840 : int; var local_#13841 : int; var local_#13842 : int; var local_#13843 : int; var local_#13844 : int; var local_#13845 : int; var local_#13846 : { base : int, offset : int }; var local_#31515_rc : { base : int, offset : int }; var local_#13847 : { base : int, offset : int }; var local_#13848 : { base : int, offset : int }; var local_#13849 : { base : int, offset : int }; var local_#31513_key : { base : int, offset : int }; var local_#13850 : int; var local_#13851 : { base : int, offset : int }; var local_#31516_io1 : { base : int, offset : int }; var local_#13852 : int; var local_#13853 : int; var local_#13854 : int; var local_#13855 : int; var local_#13856 : int; var local_#13857 : int; var local_#13858 : { base : int, offset : int }; var local_#13859 : { base : int, offset : int }; var local_#13860 : { base : int, offset : int }; var local_#13861 : { base : int, offset : int }; var local_#31512_aux : { base : int, offset : int }; var local_#13862 : { base : int, offset : int }; var local_#13863 : int; var local_#13864 : int; var local_#13865 : int; var local_#13866 : int; var local_#13867 : { base : int, offset : int }; var local_#13868 : int; var local_#13869 : { base : int, offset : int }; var local_#13870 : { base : int, offset : int }; var local_#31517_io1 : { base : int, offset : int }; var local_#13871 : int; var local_#13872 : int; var local_#13873 : int; var local_#13874 : int; var local_#13875 : int; var local_#13876 : int; var local_#13877 : int; var local_#13878 : int; var local_#31507_b : int; var local_#13879 : int; var local_#13880 : int; var local_#13881 : int; var local_#13882 : int; var local_#13883 : int; var local_#31508_c : int; var local_#13884 : { base : int, offset : int }; var local_#31509_t : { base : int, offset : int }; var local_#31510_io : { base : int, offset : int }; var local_#31511_x_ : { base : int, offset : int }; var local_#13885 : { base : int, offset : int }; var local_#13886 : { base : int, offset : int }; var local_#13887 : { base : int, offset : int }; var local_#13888 : int; var local_#13889 : int; var local_#13890 : int; var local_#13891 : int; var local_#13892 : int; var local_#13893 : int; var local_#13894 : int; var local_#13895 : int; var local_#13896 : int; var local_#13897 : int; var local_#13898 : { base : int, offset : int }; var local_#13899 : int; var local_#13900 : int; var local_#13901 : int; var local_#13902 : { base : int, offset : int }; var local_#13903 : { base : int, offset : int }; var local_#13904 : int; var local_#13905 : int; var local_#13906 : int; var local_#13907 : int; var local_#13908 : int; var local_#13909 : int; var local_#13910 : int; var local_#13911 : int; var local_#13912 : int; var local_#13913 : int; var local_#13914 : int; var local_#13915 : int; var local_#13916 : int; var local_#13917 : int; var local_#13918 : int; var local_#13919 : int; var local_#13920 : int; var local_#13921 : int; var local_#13922 : { base : int, offset : int }; var local_#30670 : { base : int, offset : int }; var local_#13923 : int; var local_#13924 : int; var local_#13925 : int; var local_#13926 : int; var local_#13927 : int; var local_#13928 : int; var local_#13929 : int; var local_#13930 : int; var local_#13931 : { base : int, offset : int }; var local_#31504_rb : { base : int, offset : int }; var local_#13932 : int; var local_#13933 : int; var local_#13934 : int; var local_#13935 : int; var local_#13936 : int; var local_#13937 : int; var local_#13938 : int; var local_#13939 : int; var local_#13940 : int; var local_#13941 : int; var local_#13942 : int; var local_#13943 : int; var local_#13944 : { base : int, offset : int }; var local_#30671 : { base : int, offset : int }; var local_#13945 : int; var local_#13946 : int; var local_#13947 : int; var local_#13948 : int; var local_#13949 : int; var local_#13950 : int; var local_#13951 : int; var local_#13952 : int; var local_#13953 : { base : int, offset : int }; var local_#31505_rc : { base : int, offset : int }; var local_#13954 : int; var local_#13955 : int; var local_#13956 : int; var local_#13957 : { base : int, offset : int }; var local_#13958 : { base : int, offset : int }; var local_#13959 : { base : int, offset : int }; var local_#13960 : { base : int, offset : int }; var local_#13961 : { base : int, offset : int }; var local_#31506_slot : { base : int, offset : int }; var local_#13962 : { base : int, offset : int }; var local_#13963 : int; var local_#13964 : int; var local_#13965 : int; var local_#13966 : int; var local_#13967 : { base : int, offset : int }; var local_#13968 : { base : int, offset : int }; var local_#13969 : { base : int, offset : int }; var local_#13970 : int; var local_#13971 : int; var local_#13972 : int; var local_#13973 : { base : int, offset : int }; var local_#13974 : { base : int, offset : int }; var local_#13975 : int; var local_#13976 : int; var local_#13977 : int; var local_#13978 : int; var local_#13979 : int; var local_#13980 : { base : int, offset : int }; var local_#13981 : { base : int, offset : int }; var local_#13982 : { base : int, offset : int }; var local_#13983 : int; var local_#13984 : { base : int, offset : int }; var local_#13985 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#13986 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#13987 : int; var local_#13988 : int; var local_#30672 : int; var local_#13989 : int; var local_#13990 : int; var local_#13991 : { base : int, offset : int }; var local_#13992 : int; var local_#13993 : { base : int, offset : int }; var local_#13994 : { base : int, offset : int }; var local_#13995 : { base : int, offset : int }; var local_#13996 : int; var local_#13997 : int; var local_#13998 : int; var local_#13999 : int; var local_#14000 : int; var local_#14001 : { base : int, offset : int }; var local_#31502_uv : { base : int, offset : int }; var local_#31503_io1 : { base : int, offset : int }; var local_#14002 : int; var local_#14003 : int; var local_#14004 : int; var local_#14005 : { base : int, offset : int }; var local_#14006 : int; var local_#14007 : int; var local_#14008 : { base : int, offset : int }; var local_#14009 : int; var local_#14010 : int; var local_#14011 : int; var local_#14012 : int; var local_#14013 : { base : int, offset : int }; var local_#14014 : int; var local_#14015 : int; var local_#14016 : int; var local_#14017 : int; var local_#14018 : int; var local_#14019 : { base : int, offset : int }; var local_#14020 : { base : int, offset : int }; var local_#31500_upval : { base : int, offset : int }; var local_#14021 : int; var local_#14022 : int; var local_#14023 : int; var local_#14024 : int; var local_#14025 : int; var local_#14026 : int; var local_#14027 : int; var local_#14028 : int; var local_#14029 : int; var local_#14030 : int; var local_#14031 : int; var local_#14032 : int; var local_#14033 : { base : int, offset : int }; var local_#30673 : { base : int, offset : int }; var local_#14034 : int; var local_#14035 : int; var local_#14036 : int; var local_#14037 : int; var local_#14038 : int; var local_#14039 : int; var local_#14040 : int; var local_#14041 : int; var local_#14042 : { base : int, offset : int }; var local_#31498_rb : { base : int, offset : int }; var local_#14043 : int; var local_#14044 : int; var local_#14045 : int; var local_#14046 : int; var local_#14047 : int; var local_#14048 : int; var local_#14049 : int; var local_#14050 : int; var local_#14051 : int; var local_#14052 : int; var local_#14053 : int; var local_#14054 : int; var local_#14055 : { base : int, offset : int }; var local_#30674 : { base : int, offset : int }; var local_#14056 : int; var local_#14057 : int; var local_#14058 : int; var local_#14059 : int; var local_#14060 : int; var local_#14061 : int; var local_#14062 : int; var local_#14063 : int; var local_#14064 : { base : int, offset : int }; var local_#31499_rc : { base : int, offset : int }; var local_#14065 : int; var local_#14066 : int; var local_#14067 : int; var local_#14068 : { base : int, offset : int }; var local_#14069 : { base : int, offset : int }; var local_#14070 : { base : int, offset : int }; var local_#14071 : { base : int, offset : int }; var local_#14072 : { base : int, offset : int }; var local_#31501_slot : { base : int, offset : int }; var local_#14073 : { base : int, offset : int }; var local_#14074 : int; var local_#14075 : int; var local_#14076 : int; var local_#14077 : int; var local_#14078 : { base : int, offset : int }; var local_#14079 : { base : int, offset : int }; var local_#14080 : { base : int, offset : int }; var local_#14081 : int; var local_#14082 : int; var local_#14083 : int; var local_#14084 : { base : int, offset : int }; var local_#14085 : { base : int, offset : int }; var local_#14086 : int; var local_#14087 : int; var local_#14088 : int; var local_#14089 : int; var local_#14090 : int; var local_#14091 : { base : int, offset : int }; var local_#14092 : { base : int, offset : int }; var local_#14093 : { base : int, offset : int }; var local_#14094 : int; var local_#14095 : { base : int, offset : int }; var local_#14096 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14097 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14098 : int; var local_#14099 : int; var local_#30675 : int; var local_#14100 : int; var local_#14101 : int; var local_#14102 : { base : int, offset : int }; var local_#14103 : int; var local_#14104 : { base : int, offset : int }; var local_#14105 : { base : int, offset : int }; var local_#14106 : int; var local_#14107 : int; var local_#14108 : int; var local_#14109 : int; var local_#14110 : int; var local_#14111 : { base : int, offset : int }; var local_#31494_rb : { base : int, offset : int }; var local_#14112 : int; var local_#14113 : int; var local_#14114 : int; var local_#14115 : int; var local_#14116 : int; var local_#14117 : int; var local_#14118 : int; var local_#14119 : int; var local_#14120 : int; var local_#14121 : int; var local_#14122 : int; var local_#14123 : int; var local_#14124 : { base : int, offset : int }; var local_#30676 : { base : int, offset : int }; var local_#14125 : int; var local_#14126 : int; var local_#14127 : int; var local_#14128 : int; var local_#14129 : int; var local_#14130 : int; var local_#14131 : int; var local_#14132 : int; var local_#14133 : { base : int, offset : int }; var local_#31495_rc : { base : int, offset : int }; var local_#14134 : int; var local_#14135 : int; var local_#14136 : int; var local_#14137 : { base : int, offset : int }; var local_#14138 : { base : int, offset : int }; var local_#14139 : { base : int, offset : int }; var local_#14140 : { base : int, offset : int }; var local_#14141 : { base : int, offset : int }; var local_#31496_slot : { base : int, offset : int }; var local_#14142 : { base : int, offset : int }; var local_#14143 : int; var local_#14144 : int; var local_#14145 : int; var local_#14146 : int; var local_#14147 : { base : int, offset : int }; var local_#14148 : int; var local_#14149 : { base : int, offset : int }; var local_#14150 : { base : int, offset : int }; var local_#31497_io1 : { base : int, offset : int }; var local_#14151 : int; var local_#14152 : int; var local_#14153 : int; var local_#14154 : { base : int, offset : int }; var local_#14155 : int; var local_#14156 : int; var local_#14157 : int; var local_#14158 : int; var local_#14159 : int; var local_#14160 : { base : int, offset : int }; var local_#14161 : { base : int, offset : int }; var local_#31491_upval : { base : int, offset : int }; var local_#14162 : int; var local_#14163 : int; var local_#14164 : int; var local_#14165 : int; var local_#14166 : int; var local_#14167 : int; var local_#14168 : int; var local_#14169 : int; var local_#14170 : int; var local_#14171 : int; var local_#14172 : int; var local_#14173 : int; var local_#14174 : { base : int, offset : int }; var local_#30677 : { base : int, offset : int }; var local_#14175 : int; var local_#14176 : int; var local_#14177 : int; var local_#14178 : int; var local_#14179 : int; var local_#14180 : int; var local_#14181 : int; var local_#14182 : int; var local_#14183 : { base : int, offset : int }; var local_#31490_rc : { base : int, offset : int }; var local_#14184 : int; var local_#14185 : int; var local_#14186 : int; var local_#14187 : { base : int, offset : int }; var local_#14188 : { base : int, offset : int }; var local_#14189 : { base : int, offset : int }; var local_#14190 : { base : int, offset : int }; var local_#14191 : { base : int, offset : int }; var local_#31492_slot : { base : int, offset : int }; var local_#14192 : { base : int, offset : int }; var local_#14193 : int; var local_#14194 : int; var local_#14195 : int; var local_#14196 : int; var local_#14197 : { base : int, offset : int }; var local_#14198 : int; var local_#14199 : { base : int, offset : int }; var local_#14200 : { base : int, offset : int }; var local_#31493_io1 : { base : int, offset : int }; var local_#14201 : int; var local_#14202 : int; var local_#14203 : int; var local_#14204 : int; var local_#14205 : int; var local_#14206 : int; var local_#14207 : int; var local_#14208 : int; var local_#31488_b : int; var local_#31489_io1 : { base : int, offset : int }; var local_#14209 : { base : int, offset : int }; var local_#14210 : { base : int, offset : int }; var local_#14211 : { base : int, offset : int }; var local_#14212 : { base : int, offset : int }; var local_#14213 : int; var local_#14214 : int; var local_#14215 : int; var local_#14216 : int; var local_#14217 : int; var local_#14218 : int; var local_#14219 : int; var local_#14220 : int; var local_#31487_b : int; var local_#14221 : int; var local_#14222 : { base : int, offset : int }; var local_#14223 : int; var local_#14224 : int; var local_#14225 : int; var local_#14226 : int; var local_#31486_io : { base : int, offset : int }; var local_#14227 : int; var local_#14228 : int; var local_#14229 : int; var local_#14230 : int; var local_#14231 : int; var local_#14232 : { base : int, offset : int }; var local_#14233 : int; var local_#14234 : int; var local_#14235 : int; var local_#14236 : int; var local_#14237 : int; var local_#14238 : { base : int, offset : int }; var local_#14239 : { base : int, offset : int }; var local_#14240 : int; var local_#14241 : { base : int, offset : int }; var local_#14242 : int; var local_#14243 : int; var local_#14244 : { base : int, offset : int }; var local_#14245 : { base : int, offset : int }; var local_#14246 : int; var local_#14247 : int; var local_#14248 : int; var local_#14249 : int; var local_#14250 : int; var local_#14251 : int; var local_#14252 : { base : int, offset : int }; var local_#31484_rb : { base : int, offset : int }; var local_#31485_io1 : { base : int, offset : int }; var local_#14253 : int; var local_#14254 : int; var local_#14255 : int; var local_#14256 : int; var local_#14257 : int; var local_#14258 : int; var local_#14259 : int; var local_#14260 : int; var local_#14261 : { base : int, offset : int }; var local_#31482_rb : { base : int, offset : int }; var local_#31483_io1 : { base : int, offset : int }; var local_#14262 : int; var local_#14263 : int; var local_#14264 : int; var local_#31481_io1 : { base : int, offset : int }; var local_#14265 : int; var local_#14266 : int; var local_#14267 : int; var local_#14268 : int; var local_#14269 : int; var local_#14270 : { base : int, offset : int }; var local_#14271 : int; var local_#14272 : int; var local_#14273 : int; havoc local_#4189_L; havoc local_#31476_ci; havoc local_#11991; havoc local_#11992; havoc local_#11993; havoc local_#11994; havoc local_#11995; havoc local_#11996; havoc local_#11997; havoc local_#11998; havoc local_#11999; havoc local_#12000; havoc local_#31477_cl; havoc local_#12001; havoc local_#31478_k; havoc local_#12002; havoc local_#31475_base; havoc local_#12003; havoc local_#12004; havoc local_#12005; havoc local_#12006; havoc local_#31479_i; havoc local_#12007; havoc local_#12008; havoc local_#12009; havoc local_#12010; havoc local_#12011; havoc local_#12012; havoc local_#12013; havoc local_#12014; havoc local_#12015; havoc local_#31480_ra; havoc local_#12016; havoc local_#12017; havoc local_#12018; havoc local_#12019; havoc local_#12020; havoc local_#12021; havoc local_#12022; havoc local_#12023; havoc local_#12024; havoc local_#12025; havoc local_#12026; havoc local_#12027; havoc local_#12028; havoc local_#12029; havoc local_#12030; havoc local_#12031; havoc local_#12032; havoc local_#12033; havoc local_#31668_b; havoc local_#12034; havoc local_#12035; havoc local_#12036; havoc local_#12037; havoc local_#12038; havoc local_#12039; havoc local_#12040; havoc local_#31670_n; havoc local_#12041; havoc local_#12042; havoc local_#12043; havoc local_#12044; havoc local_#12045; havoc local_#12046; havoc local_#12047; havoc local_#12048; havoc local_#12049; havoc local_#12050; havoc local_#12051; havoc local_#12052; havoc local_#12053; havoc local_#12054; havoc local_#12055; havoc local_#12056; havoc local_#12057; havoc local_#12058; havoc local_#12059; havoc local_#12060; havoc local_#12061; havoc local_#31669_j; havoc local_#12062; havoc local_#12063; havoc local_#12064; havoc local_#12065; havoc local_#12066; havoc local_#12067; havoc local_#12068; havoc local_#12069; havoc local_#12070; havoc local_#31671_io1; havoc local_#12071; havoc local_#12072; havoc local_#12073; havoc local_#12074; havoc local_#12075; havoc local_#12076; havoc local_#12077; havoc local_#12078; havoc local_#12079; havoc local_#12080; havoc local_#12081; havoc local_#12082; havoc local_#12083; havoc local_#12084; havoc local_#12085; havoc local_#31665_p; havoc local_#12086; havoc local_#12087; havoc local_#12088; havoc local_#31664_ncl; havoc local_#12089; havoc local_#12090; havoc local_#31666_io; havoc local_#31667_x_; havoc local_#12091; havoc local_#12092; havoc local_#12093; havoc local_#12094; havoc local_#12095; havoc local_#12096; havoc local_#12097; havoc local_#12098; havoc local_#12099; havoc local_#12100; havoc local_#12101; havoc local_#12102; havoc local_#12103; havoc local_#12104; havoc local_#12105; havoc local_#12106; havoc local_#12107; havoc local_#12108; havoc local_#12109; havoc local_#12110; havoc local_#12111; havoc local_#12112; havoc local_#12113; havoc local_#12114; havoc local_#31662_n; havoc local_#12115; havoc local_#12116; havoc local_#12117; havoc local_#12118; havoc local_#12119; havoc local_#31659_c; havoc local_#12120; havoc local_#12121; havoc local_#12122; havoc local_#12123; havoc local_#12124; havoc local_#12125; havoc local_#12126; havoc local_#12127; havoc local_#12128; havoc local_#12129; havoc local_#12130; havoc local_#12131; havoc local_#12132; havoc local_#12133; havoc local_#12134; havoc local_#12135; havoc local_#12136; havoc local_#12137; havoc local_#12138; havoc local_#12139; havoc local_#12140; havoc local_#31660_h; havoc local_#12141; havoc local_#12142; havoc local_#12143; havoc local_#12144; havoc local_#12145; havoc local_#12146; havoc local_#31661_last; havoc local_#12147; havoc local_#12148; havoc local_#12149; havoc local_#12150; havoc local_#31663_val; havoc local_#12151; havoc local_#12152; havoc local_#12153; havoc local_#12154; havoc local_#12155; havoc local_#12156; havoc local_#12157; havoc local_#12158; havoc local_#12159; havoc local_#12160; havoc local_#12161; havoc local_#12162; havoc local_#12163; havoc local_#12164; havoc local_#12165; havoc local_#12166; havoc local_#12167; havoc local_#12168; havoc local_#12169; havoc local_#12170; havoc local_#31654_cb; havoc local_#12171; havoc local_#12172; havoc local_#31655_io1; havoc local_#12173; havoc local_#12174; havoc local_#12175; havoc local_#12176; havoc local_#12177; havoc local_#12178; havoc local_#12179; havoc local_#31656_io1; havoc local_#12180; havoc local_#12181; havoc local_#12182; havoc local_#12183; havoc local_#12184; havoc local_#31657_io1; havoc local_#12185; havoc local_#12186; havoc local_#12187; havoc local_#12188; havoc local_#12189; havoc local_#12190; havoc local_#12191; havoc local_#12192; havoc local_#12193; havoc local_#12194; havoc local_#12195; havoc local_#12196; havoc local_#12197; havoc local_#12198; havoc local_#12199; havoc local_#12200; havoc local_#12201; havoc local_#12202; havoc local_#12203; havoc local_#12204; havoc local_#12205; havoc local_#12206; havoc local_#12207; havoc local_#12208; havoc local_#12209; havoc local_#12210; havoc local_#12211; havoc local_#31658_io1; havoc local_#12212; havoc local_#12213; havoc local_#12214; havoc local_#12215; havoc local_#12216; havoc local_#12217; havoc local_#12218; havoc local_#12219; havoc local_#12220; havoc local_#12221; havoc local_#12222; havoc local_#12223; havoc local_#12224; havoc local_#31641_init; havoc local_#12225; havoc local_#12226; havoc local_#31642_plimit; havoc local_#12227; havoc local_#12228; havoc local_#31643_pstep; havoc local_#12229; havoc local_#12230; havoc local_#12231; havoc local_#12232; havoc local_#12233; havoc local_#31640_ilimit; havoc local_#12234; havoc local_#12235; havoc local_#12236; havoc local_#31644_stopnow; havoc local_#12237; havoc local_#12238; havoc local_#12239; havoc local_#12240; havoc local_#12241; havoc local_#12242; havoc local_#31649_nlimit; havoc local_#12243; havoc local_#12244; havoc local_#12245; havoc local_#12246; havoc nondet_#0; havoc nondet_#1; havoc local_#12247; havoc local_#12248; havoc local_#31651_io; havoc local_#12251; havoc nondet_#2; havoc local_#12252; havoc local_#12253; havoc local_#12254; havoc local_#31650_nstep; havoc local_#12255; havoc local_#12256; havoc local_#12257; havoc local_#12258; havoc nondet_#3; havoc nondet_#4; havoc local_#12259; havoc local_#12260; havoc local_#31652_io; havoc local_#12263; havoc nondet_#5; havoc local_#12264; havoc local_#12265; havoc local_#12266; havoc local_#31648_ninit; havoc local_#12267; havoc local_#12268; havoc local_#12269; havoc local_#12270; havoc nondet_#6; havoc nondet_#7; havoc local_#12271; havoc local_#12272; havoc local_#31653_io; havoc nondet_#8; havoc nondet_#9; havoc nondet_#10; havoc local_#12275; havoc local_#12276; havoc local_#12277; havoc local_#12278; havoc local_#30635; havoc local_#31645_initv; havoc local_#31646_io; havoc local_#12279; havoc local_#31647_io; havoc local_#12280; havoc local_#12281; havoc local_#12282; havoc local_#12283; havoc local_#12284; havoc local_#12285; havoc local_#12286; havoc local_#12287; havoc local_#12288; havoc local_#12289; havoc local_#12290; havoc local_#12291; havoc local_#12292; havoc local_#12293; havoc local_#12294; havoc local_#12295; havoc local_#12296; havoc local_#12297; havoc local_#12298; havoc nondet_#11; havoc local_#31637_step; havoc local_#12299; havoc nondet_#12; havoc nondet_#13; havoc local_#12300; havoc local_#31635_idx; havoc local_#12301; havoc local_#12302; havoc local_#12303; havoc nondet_#14; havoc local_#31636_limit; havoc nondet_#15; havoc local_#12304; havoc nondet_#16; havoc local_#12305; havoc nondet_#17; havoc local_#12306; havoc nondet_#18; havoc local_#12307; havoc local_#12308; havoc local_#12309; havoc local_#12310; havoc local_#12311; havoc local_#12312; havoc local_#12313; havoc local_#12314; havoc local_#12315; havoc local_#31638_io; havoc local_#12316; havoc local_#12317; havoc local_#12318; havoc local_#12319; havoc local_#12320; havoc local_#31639_io; havoc local_#12321; havoc local_#12322; havoc local_#12323; havoc local_#12324; havoc local_#31632_step; havoc local_#12325; havoc local_#12326; havoc local_#12327; havoc local_#12328; havoc local_#12329; havoc local_#31630_idx; havoc local_#12330; havoc local_#12331; havoc local_#12332; havoc local_#31631_limit; havoc local_#12333; havoc local_#12334; havoc local_#12335; havoc local_#12336; havoc local_#12337; havoc local_#12338; havoc local_#12339; havoc local_#12340; havoc local_#12341; havoc local_#12342; havoc local_#12343; havoc local_#12344; havoc local_#31633_io; havoc local_#12345; havoc local_#12346; havoc local_#12347; havoc local_#12348; havoc local_#12349; havoc local_#31634_io; havoc local_#12350; havoc local_#12351; havoc local_#12352; havoc local_#12353; havoc local_#12354; havoc local_#12355; havoc local_#31629_b; havoc local_#12356; havoc local_#12357; havoc local_#12358; havoc local_#12359; havoc local_#12360; havoc local_#12361; havoc local_#12362; havoc local_#30636; havoc local_#12363; havoc local_#12364; havoc local_#12365; havoc local_#12366; havoc local_#12367; havoc local_#12368; havoc local_#12369; havoc local_#12370; havoc local_#12371; havoc local_#12372; havoc local_#12373; havoc local_#12374; havoc local_#12375; havoc local_#12376; havoc local_#12377; havoc local_#12378; havoc local_#31621_b; havoc local_#12379; havoc local_#12380; havoc local_#12381; havoc local_#12382; havoc local_#12383; havoc local_#12384; havoc local_#12385; havoc local_#12386; havoc local_#31624_nci; havoc local_#31626_oci; havoc local_#31625_nfunc; havoc local_#31627_ofunc; havoc local_#12387; havoc local_#12388; havoc local_#12389; havoc local_#12390; havoc local_#12391; havoc local_#12392; havoc local_#12393; havoc local_#31623_lim; havoc local_#12394; havoc local_#12395; havoc local_#12396; havoc local_#12397; havoc local_#12398; havoc local_#31622_aux; havoc local_#12399; havoc local_#12400; havoc local_#12401; havoc local_#12402; havoc local_#12403; havoc local_#12404; havoc local_#12405; havoc local_#12406; havoc local_#12407; havoc local_#12408; havoc local_#12409; havoc local_#12410; havoc local_#12411; havoc local_#12412; havoc local_#12413; havoc local_#12414; havoc local_#31628_io1; havoc local_#12415; havoc local_#12416; havoc local_#12417; havoc local_#12418; havoc local_#12419; havoc local_#12420; havoc local_#12421; havoc local_#12422; havoc local_#12423; havoc local_#12424; havoc local_#12425; havoc local_#12426; havoc local_#12427; havoc local_#12428; havoc local_#12429; havoc local_#31619_b; havoc local_#12430; havoc local_#12431; havoc local_#12432; havoc local_#12433; havoc local_#12434; havoc local_#12435; havoc local_#12436; havoc local_#31620_nresults; havoc local_#12437; havoc local_#12438; havoc local_#12439; havoc local_#12440; havoc local_#12441; havoc local_#12442; havoc local_#12443; havoc local_#12444; havoc local_#12445; havoc local_#12446; havoc local_#12447; havoc local_#12448; havoc local_#12449; havoc local_#12450; havoc local_#12451; havoc local_#12452; havoc local_#31616_rb; havoc local_#12453; havoc local_#12454; havoc local_#12455; havoc local_#12456; havoc local_#12457; havoc local_#12458; havoc local_#12459; havoc local_#12460; havoc local_#12461; havoc local_#12462; havoc local_#12463; havoc local_#12464; havoc local_#12465; havoc local_#12466; havoc local_#12467; havoc local_#12468; havoc local_#12469; havoc local_#12470; havoc local_#12471; havoc local_#31617_io1; havoc local_#12472; havoc local_#12473; havoc local_#12474; havoc local_#12475; havoc local_#12476; havoc local_#12477; havoc local_#12478; havoc local_#12479; havoc local_#12480; havoc local_#12481; havoc local_#31618_a; havoc local_#12482; havoc local_#12483; havoc local_#12484; havoc local_#12485; havoc local_#12486; havoc local_#12487; havoc local_#12488; havoc local_#12489; havoc local_#12490; havoc local_#12491; havoc local_#12492; havoc local_#12493; havoc local_#12494; havoc local_#12495; havoc local_#12496; havoc local_#12497; havoc local_#12498; havoc local_#12499; havoc local_#12500; havoc local_#12501; havoc local_#12502; havoc local_#12503; havoc local_#12504; havoc local_#12505; havoc local_#12506; havoc local_#12507; havoc local_#12508; havoc local_#12509; havoc local_#12510; havoc local_#12511; havoc local_#12512; havoc local_#12513; havoc local_#12514; havoc local_#12515; havoc local_#12516; havoc local_#12517; havoc local_#12518; havoc local_#12519; havoc local_#12520; havoc local_#12521; havoc local_#12522; havoc local_#12523; havoc local_#12524; havoc local_#12525; havoc local_#12526; havoc local_#12527; havoc local_#31615_a; havoc local_#12528; havoc local_#12529; havoc local_#12530; havoc local_#12531; havoc local_#12532; havoc local_#12533; havoc local_#12534; havoc local_#12535; havoc local_#12536; havoc local_#12537; havoc local_#12538; havoc local_#12539; havoc local_#12540; havoc local_#12541; havoc local_#12542; havoc local_#12543; havoc local_#12544; havoc local_#12545; havoc local_#12546; havoc local_#12547; havoc local_#12548; havoc local_#12549; havoc local_#12550; havoc local_#12551; havoc local_#12552; havoc local_#12553; havoc local_#12554; havoc local_#12555; havoc local_#12556; havoc local_#12557; havoc local_#12558; havoc local_#12559; havoc local_#12560; havoc local_#30637; havoc local_#12561; havoc local_#12562; havoc local_#12563; havoc local_#12564; havoc local_#12565; havoc local_#12566; havoc local_#12567; havoc local_#12568; havoc local_#12569; havoc local_#12570; havoc local_#12571; havoc local_#12572; havoc local_#12573; havoc local_#12574; havoc local_#12575; havoc local_#12576; havoc local_#12577; havoc local_#12578; havoc local_#12579; havoc local_#12580; havoc local_#12581; havoc local_#12582; havoc local_#12583; havoc local_#30638; havoc local_#12584; havoc local_#12585; havoc local_#12586; havoc local_#12587; havoc local_#12588; havoc local_#12589; havoc local_#12590; havoc local_#12591; havoc local_#12592; havoc local_#12593; havoc local_#12594; havoc local_#12595; havoc local_#12596; havoc local_#12597; havoc local_#12598; havoc local_#12599; havoc local_#12600; havoc local_#12601; havoc local_#12602; havoc local_#12603; havoc local_#12604; havoc local_#12605; havoc local_#12606; havoc local_#12607; havoc local_#31614_a; havoc local_#12608; havoc local_#12609; havoc local_#12610; havoc local_#12611; havoc local_#12612; havoc local_#12613; havoc local_#12614; havoc local_#12615; havoc local_#12616; havoc local_#12617; havoc local_#12618; havoc local_#12619; havoc local_#12620; havoc local_#12621; havoc local_#12622; havoc local_#12623; havoc local_#12624; havoc local_#12625; havoc local_#12626; havoc local_#12627; havoc local_#12628; havoc local_#12629; havoc local_#12630; havoc local_#12631; havoc local_#12632; havoc local_#12633; havoc local_#12634; havoc local_#12635; havoc local_#12636; havoc local_#12637; havoc local_#12638; havoc local_#12639; havoc local_#12640; havoc local_#12641; havoc local_#30639; havoc local_#12642; havoc local_#12643; havoc local_#12644; havoc local_#12645; havoc local_#12646; havoc local_#12647; havoc local_#12648; havoc local_#12649; havoc local_#12650; havoc local_#12651; havoc local_#12652; havoc local_#12653; havoc local_#12654; havoc local_#12655; havoc local_#12656; havoc local_#12657; havoc local_#12658; havoc local_#12659; havoc local_#12660; havoc local_#12661; havoc local_#12662; havoc local_#12663; havoc local_#12664; havoc local_#30640; havoc local_#12665; havoc local_#12666; havoc local_#12667; havoc local_#12668; havoc local_#12669; havoc local_#12670; havoc local_#12671; havoc local_#12672; havoc local_#12673; havoc local_#12674; havoc local_#12675; havoc local_#12676; havoc local_#12677; havoc local_#12678; havoc local_#12679; havoc local_#12680; havoc local_#12681; havoc local_#12682; havoc local_#12683; havoc local_#12684; havoc local_#12685; havoc local_#12686; havoc local_#12687; havoc local_#12688; havoc local_#31613_a; havoc local_#12689; havoc local_#12690; havoc local_#12691; havoc local_#12692; havoc local_#12693; havoc local_#12694; havoc local_#12695; havoc local_#12696; havoc local_#12697; havoc local_#12698; havoc local_#12699; havoc local_#12700; havoc local_#12701; havoc local_#12702; havoc local_#12703; havoc local_#12704; havoc local_#12705; havoc local_#12706; havoc local_#12707; havoc local_#12708; havoc local_#12709; havoc local_#12710; havoc local_#12711; havoc local_#12712; havoc local_#12713; havoc local_#12714; havoc local_#12715; havoc local_#12716; havoc local_#12717; havoc local_#12718; havoc local_#12719; havoc local_#12720; havoc local_#12721; havoc local_#12722; havoc local_#30641; havoc local_#12723; havoc local_#12724; havoc local_#12725; havoc local_#12726; havoc local_#12727; havoc local_#12728; havoc local_#12729; havoc local_#12730; havoc local_#12731; havoc local_#31610_rb; havoc local_#12732; havoc local_#12733; havoc local_#12734; havoc local_#12735; havoc local_#12736; havoc local_#12737; havoc local_#12738; havoc local_#12739; havoc local_#12740; havoc local_#12741; havoc local_#12742; havoc local_#12743; havoc local_#12744; havoc local_#30642; havoc local_#12745; havoc local_#12746; havoc local_#12747; havoc local_#12748; havoc local_#12749; havoc local_#12750; havoc local_#12751; havoc local_#12752; havoc local_#12753; havoc local_#31611_rc; havoc local_#12754; havoc local_#12755; havoc local_#12756; havoc local_#12757; havoc local_#12758; havoc local_#12759; havoc local_#12760; havoc local_#12761; havoc local_#12762; havoc local_#12763; havoc local_#12764; havoc local_#12765; havoc local_#12766; havoc local_#12767; havoc local_#12768; havoc local_#12769; havoc local_#31612_a; havoc local_#12770; havoc local_#12771; havoc local_#12772; havoc local_#12773; havoc local_#12774; havoc local_#12775; havoc local_#12776; havoc local_#12777; havoc local_#12778; havoc local_#12779; havoc local_#12780; havoc local_#12781; havoc local_#12782; havoc local_#12783; havoc local_#12784; havoc local_#12785; havoc local_#12786; havoc local_#12787; havoc local_#12788; havoc local_#12789; havoc local_#12790; havoc local_#12791; havoc local_#12792; havoc local_#12793; havoc local_#12794; havoc local_#12795; havoc local_#31609_a; havoc local_#12796; havoc local_#12797; havoc local_#12798; havoc local_#12799; havoc local_#12800; havoc local_#12801; havoc local_#12802; havoc local_#12803; havoc local_#12804; havoc local_#12805; havoc local_#12806; havoc local_#12807; havoc local_#12808; havoc local_#12809; havoc local_#12810; havoc local_#12811; havoc local_#12812; havoc local_#12813; havoc local_#12814; havoc local_#12815; havoc local_#12816; havoc local_#31605_b; havoc local_#12817; havoc local_#12818; havoc local_#12819; havoc local_#12820; havoc local_#12821; havoc local_#31606_c; havoc local_#12822; havoc local_#12823; havoc local_#12824; havoc local_#12825; havoc local_#12826; havoc local_#12827; havoc local_#12828; havoc local_#12829; havoc local_#12830; havoc local_#12831; havoc local_#12832; havoc local_#12833; havoc local_#12834; havoc local_#12835; havoc local_#31607_rb; havoc local_#31608_io1; havoc local_#12836; havoc local_#12837; havoc local_#12838; havoc local_#12839; havoc local_#12840; havoc local_#12841; havoc local_#12842; havoc local_#30643; havoc local_#12843; havoc local_#12844; havoc local_#12845; havoc local_#12846; havoc local_#12847; havoc local_#12848; havoc local_#12849; havoc local_#12850; havoc local_#12851; havoc local_#12852; havoc local_#12853; havoc local_#12854; havoc local_#12855; havoc local_#12856; havoc local_#12857; havoc local_#12858; havoc local_#12859; havoc local_#12860; havoc local_#12861; havoc local_#12862; havoc local_#12863; havoc local_#12864; havoc local_#12865; havoc local_#31602_rb; havoc local_#12866; havoc local_#12867; havoc local_#12868; havoc local_#12869; havoc local_#12870; havoc local_#12871; havoc local_#12872; havoc local_#30644; havoc local_#31603_res; havoc local_#31604_io; havoc local_#12873; havoc local_#12874; havoc local_#12875; havoc local_#12876; havoc local_#12877; havoc local_#12878; havoc local_#12879; havoc local_#31600_rb; havoc local_#12880; havoc local_#12881; havoc local_#12882; havoc local_#31599_ib; havoc local_#12883; havoc local_#12884; havoc local_#12885; havoc local_#12886; havoc local_#12887; havoc local_#12888; havoc local_#12889; havoc local_#12890; havoc local_#12891; havoc local_#12892; havoc local_#12893; havoc local_#31601_io; havoc local_#12894; havoc local_#12895; havoc local_#12896; havoc local_#12897; havoc local_#12898; havoc local_#12899; havoc local_#12900; havoc local_#12901; havoc local_#12902; havoc local_#12903; havoc local_#12904; havoc local_#31595_rb; havoc local_#12905; havoc local_#12906; havoc local_#12907; havoc local_#12908; havoc local_#12909; havoc local_#31594_nb; havoc local_#12910; havoc local_#12911; havoc local_#12912; havoc local_#12913; havoc nondet_#19; havoc nondet_#20; havoc local_#12914; havoc local_#12915; havoc local_#12916; havoc local_#12917; havoc local_#12918; havoc local_#12919; havoc local_#31598_io; havoc nondet_#21; havoc nondet_#22; havoc local_#12920; havoc local_#12921; havoc local_#12922; havoc local_#31596_ib; havoc local_#31597_io; havoc local_#12923; havoc local_#12924; havoc local_#12925; havoc local_#12926; havoc local_#12927; havoc local_#12928; havoc local_#12929; havoc local_#12930; havoc local_#12931; havoc local_#12932; havoc local_#12933; havoc local_#12934; havoc local_#12935; havoc local_#12936; havoc local_#12937; havoc local_#12938; havoc local_#12939; havoc local_#12940; havoc local_#30645; havoc local_#12941; havoc local_#12942; havoc local_#12943; havoc local_#12944; havoc local_#12945; havoc local_#12946; havoc local_#12947; havoc local_#12948; havoc local_#12949; havoc local_#31591_rb; havoc local_#12950; havoc local_#12951; havoc local_#12952; havoc local_#12953; havoc local_#12954; havoc local_#12955; havoc local_#12956; havoc local_#12957; havoc local_#12958; havoc local_#12959; havoc local_#12960; havoc local_#12961; havoc local_#12962; havoc local_#30646; havoc local_#12963; havoc local_#12964; havoc local_#12965; havoc local_#12966; havoc local_#12967; havoc local_#12968; havoc local_#12969; havoc local_#12970; havoc local_#12971; havoc local_#31592_rc; havoc local_#12972; havoc local_#12973; havoc local_#12974; havoc local_#31589_nb; havoc local_#12975; havoc local_#12976; havoc local_#12977; havoc local_#12978; havoc nondet_#23; havoc nondet_#24; havoc local_#12979; havoc local_#12980; havoc local_#12981; havoc local_#12982; havoc local_#12983; havoc local_#31590_nc; havoc local_#12984; havoc local_#12985; havoc local_#12986; havoc local_#12987; havoc nondet_#25; havoc nondet_#26; havoc local_#12988; havoc local_#12989; havoc local_#12990; havoc local_#12991; havoc local_#12992; havoc local_#12993; havoc local_#31593_io; havoc local_#12994; havoc local_#12995; havoc nondet_#27; havoc nondet_#28; havoc local_#12996; havoc local_#12997; havoc local_#12998; havoc local_#12999; havoc local_#13000; havoc local_#13001; havoc local_#13002; havoc local_#13003; havoc local_#13004; havoc local_#13005; havoc local_#13006; havoc local_#13007; havoc local_#13008; havoc local_#13009; havoc local_#30647; havoc local_#13010; havoc local_#13011; havoc local_#13012; havoc local_#13013; havoc local_#13014; havoc local_#13015; havoc local_#13016; havoc local_#13017; havoc local_#13018; havoc local_#31583_rb; havoc local_#13019; havoc local_#13020; havoc local_#13021; havoc local_#13022; havoc local_#13023; havoc local_#13024; havoc local_#13025; havoc local_#13026; havoc local_#13027; havoc local_#13028; havoc local_#13029; havoc local_#13030; havoc local_#13031; havoc local_#30648; havoc local_#13032; havoc local_#13033; havoc local_#13034; havoc local_#13035; havoc local_#13036; havoc local_#13037; havoc local_#13038; havoc local_#13039; havoc local_#13040; havoc local_#31584_rc; havoc local_#13041; havoc local_#13042; havoc local_#13043; havoc local_#13044; havoc local_#13045; havoc local_#13046; havoc local_#13047; havoc local_#31581_nb; havoc local_#13048; havoc local_#13049; havoc local_#13050; havoc local_#13051; havoc nondet_#29; havoc nondet_#30; havoc local_#13052; havoc local_#13053; havoc local_#13054; havoc local_#13055; havoc local_#13056; havoc local_#31582_nc; havoc local_#13057; havoc local_#13058; havoc local_#13059; havoc local_#13060; havoc nondet_#31; havoc nondet_#32; havoc local_#13061; havoc local_#13062; havoc local_#13063; havoc local_#13064; havoc local_#13065; havoc local_#13066; havoc local_#31588_io; havoc local_#13067; havoc nondet_#33; havoc nondet_#34; havoc nondet_#35; havoc local_#13068; havoc local_#13069; havoc local_#13070; havoc local_#13071; havoc local_#31585_ib; havoc local_#13072; havoc local_#31586_ic; havoc local_#31587_io; havoc local_#13073; havoc local_#13074; havoc local_#13075; havoc local_#13076; havoc local_#13077; havoc local_#13078; havoc local_#13079; havoc local_#13080; havoc local_#13081; havoc local_#13082; havoc local_#13083; havoc local_#13084; havoc local_#13085; havoc local_#13086; havoc local_#13087; havoc local_#30649; havoc local_#13088; havoc local_#13089; havoc local_#13090; havoc local_#13091; havoc local_#13092; havoc local_#13093; havoc local_#13094; havoc local_#13095; havoc local_#13096; havoc local_#31574_rb; havoc local_#13097; havoc local_#13098; havoc local_#13099; havoc local_#13100; havoc local_#13101; havoc local_#13102; havoc local_#13103; havoc local_#13104; havoc local_#13105; havoc local_#13106; havoc local_#13107; havoc local_#13108; havoc local_#13109; havoc local_#30650; havoc local_#13110; havoc local_#13111; havoc local_#13112; havoc local_#13113; havoc local_#13114; havoc local_#13115; havoc local_#13116; havoc local_#13117; havoc local_#13118; havoc local_#31575_rc; havoc local_#13119; havoc local_#13120; havoc local_#13121; havoc local_#13122; havoc local_#13123; havoc local_#13124; havoc local_#13125; havoc local_#31572_nb; havoc local_#13126; havoc local_#13127; havoc local_#13128; havoc local_#13129; havoc nondet_#36; havoc nondet_#37; havoc local_#13130; havoc local_#13131; havoc local_#13132; havoc local_#13133; havoc local_#13134; havoc local_#31573_nc; havoc local_#13135; havoc local_#13136; havoc local_#13137; havoc local_#13138; havoc nondet_#38; havoc nondet_#39; havoc local_#13139; havoc local_#13140; havoc local_#13141; havoc local_#13142; havoc local_#13143; havoc local_#13144; havoc local_#13145; havoc nondet_#40; havoc nondet_#41; havoc local_#31579_m; havoc nondet_#42; havoc nondet_#43; havoc local_#13146; havoc nondet_#44; havoc local_#13147; havoc nondet_#45; havoc local_#13148; havoc nondet_#46; havoc nondet_#47; havoc local_#31580_io; havoc local_#13149; havoc local_#13150; havoc local_#31576_ib; havoc local_#13151; havoc local_#31577_ic; havoc local_#31578_io; havoc local_#13152; havoc local_#13153; havoc local_#13154; havoc local_#13155; havoc local_#13156; havoc local_#13157; havoc local_#13158; havoc local_#13159; havoc local_#13160; havoc local_#13161; havoc local_#13162; havoc local_#13163; havoc local_#13164; havoc local_#13165; havoc local_#13166; havoc local_#30651; havoc local_#13167; havoc local_#13168; havoc local_#13169; havoc local_#13170; havoc local_#13171; havoc local_#13172; havoc local_#13173; havoc local_#13174; havoc local_#13175; havoc local_#31569_rb; havoc local_#13176; havoc local_#13177; havoc local_#13178; havoc local_#13179; havoc local_#13180; havoc local_#13181; havoc local_#13182; havoc local_#13183; havoc local_#13184; havoc local_#13185; havoc local_#13186; havoc local_#13187; havoc local_#13188; havoc local_#30652; havoc local_#13189; havoc local_#13190; havoc local_#13191; havoc local_#13192; havoc local_#13193; havoc local_#13194; havoc local_#13195; havoc local_#13196; havoc local_#13197; havoc local_#31570_rc; havoc local_#13198; havoc local_#13199; havoc local_#13200; havoc local_#31567_ib; havoc local_#13201; havoc local_#13202; havoc local_#13203; havoc local_#13204; havoc local_#13205; havoc local_#13206; havoc local_#13207; havoc local_#13208; havoc local_#13209; havoc local_#13210; havoc local_#31568_ic; havoc local_#13211; havoc local_#13212; havoc local_#13213; havoc local_#13214; havoc local_#13215; havoc local_#13216; havoc local_#13217; havoc local_#13218; havoc local_#13219; havoc local_#13220; havoc local_#13221; havoc local_#31571_io; havoc local_#13222; havoc local_#13223; havoc local_#13224; havoc local_#13225; havoc local_#13226; havoc local_#13227; havoc local_#13228; havoc local_#13229; havoc local_#13230; havoc local_#13231; havoc local_#13232; havoc local_#13233; havoc local_#13234; havoc local_#13235; havoc local_#13236; havoc local_#13237; havoc local_#30653; havoc local_#13238; havoc local_#13239; havoc local_#13240; havoc local_#13241; havoc local_#13242; havoc local_#13243; havoc local_#13244; havoc local_#13245; havoc local_#13246; havoc local_#31564_rb; havoc local_#13247; havoc local_#13248; havoc local_#13249; havoc local_#13250; havoc local_#13251; havoc local_#13252; havoc local_#13253; havoc local_#13254; havoc local_#13255; havoc local_#13256; havoc local_#13257; havoc local_#13258; havoc local_#13259; havoc local_#30654; havoc local_#13260; havoc local_#13261; havoc local_#13262; havoc local_#13263; havoc local_#13264; havoc local_#13265; havoc local_#13266; havoc local_#13267; havoc local_#13268; havoc local_#31565_rc; havoc local_#13269; havoc local_#13270; havoc local_#13271; havoc local_#31562_ib; havoc local_#13272; havoc local_#13273; havoc local_#13274; havoc local_#13275; havoc local_#13276; havoc local_#13277; havoc local_#13278; havoc local_#13279; havoc local_#13280; havoc local_#13281; havoc local_#31563_ic; havoc local_#13282; havoc local_#13283; havoc local_#13284; havoc local_#13285; havoc local_#13286; havoc local_#13287; havoc local_#13288; havoc local_#13289; havoc local_#13290; havoc local_#13291; havoc local_#13292; havoc local_#31566_io; havoc local_#13293; havoc local_#13294; havoc local_#13295; havoc local_#13296; havoc local_#13297; havoc local_#13298; havoc local_#13299; havoc local_#13300; havoc local_#13301; havoc local_#13302; havoc local_#13303; havoc local_#13304; havoc local_#13305; havoc local_#13306; havoc local_#13307; havoc local_#30655; havoc local_#13308; havoc local_#13309; havoc local_#13310; havoc local_#13311; havoc local_#13312; havoc local_#13313; havoc local_#13314; havoc local_#13315; havoc local_#13316; havoc local_#31559_rb; havoc local_#13317; havoc local_#13318; havoc local_#13319; havoc local_#13320; havoc local_#13321; havoc local_#13322; havoc local_#13323; havoc local_#13324; havoc local_#13325; havoc local_#13326; havoc local_#13327; havoc local_#13328; havoc local_#13329; havoc local_#30656; havoc local_#13330; havoc local_#13331; havoc local_#13332; havoc local_#13333; havoc local_#13334; havoc local_#13335; havoc local_#13336; havoc local_#13337; havoc local_#13338; havoc local_#31560_rc; havoc local_#13339; havoc local_#13340; havoc local_#13341; havoc local_#31557_ib; havoc local_#13342; havoc local_#13343; havoc local_#13344; havoc local_#13345; havoc local_#13346; havoc local_#13347; havoc local_#13348; havoc local_#13349; havoc local_#13350; havoc local_#13351; havoc local_#31558_ic; havoc local_#13352; havoc local_#13353; havoc local_#13354; havoc local_#13355; havoc local_#13356; havoc local_#13357; havoc local_#13358; havoc local_#13359; havoc local_#13360; havoc local_#13361; havoc local_#13362; havoc local_#31561_io; havoc local_#13363; havoc local_#13364; havoc local_#13365; havoc local_#13366; havoc local_#13367; havoc local_#13368; havoc local_#13369; havoc local_#13370; havoc local_#13371; havoc local_#13372; havoc local_#13373; havoc local_#13374; havoc local_#13375; havoc local_#13376; havoc local_#13377; havoc local_#13378; havoc local_#13379; havoc local_#13380; havoc local_#30657; havoc local_#13381; havoc local_#13382; havoc local_#13383; havoc local_#13384; havoc local_#13385; havoc local_#13386; havoc local_#13387; havoc local_#13388; havoc local_#13389; havoc local_#31554_rb; havoc local_#13390; havoc local_#13391; havoc local_#13392; havoc local_#13393; havoc local_#13394; havoc local_#13395; havoc local_#13396; havoc local_#13397; havoc local_#13398; havoc local_#13399; havoc local_#13400; havoc local_#13401; havoc local_#13402; havoc local_#30658; havoc local_#13403; havoc local_#13404; havoc local_#13405; havoc local_#13406; havoc local_#13407; havoc local_#13408; havoc local_#13409; havoc local_#13410; havoc local_#13411; havoc local_#31555_rc; havoc local_#13412; havoc local_#13413; havoc local_#13414; havoc local_#31552_ib; havoc local_#13415; havoc local_#13416; havoc local_#13417; havoc local_#13418; havoc local_#13419; havoc local_#13420; havoc local_#13421; havoc local_#13422; havoc local_#13423; havoc local_#13424; havoc local_#31553_ic; havoc local_#13425; havoc local_#13426; havoc local_#13427; havoc local_#13428; havoc local_#13429; havoc local_#13430; havoc local_#13431; havoc local_#13432; havoc local_#13433; havoc local_#13434; havoc local_#13435; havoc local_#31556_io; havoc local_#13436; havoc local_#13437; havoc local_#13438; havoc local_#13439; havoc local_#13440; havoc local_#13441; havoc local_#13442; havoc local_#13443; havoc local_#13444; havoc local_#13445; havoc local_#13446; havoc local_#13447; havoc local_#13448; havoc local_#13449; havoc local_#13450; havoc local_#13451; havoc local_#13452; havoc local_#13453; havoc local_#30659; havoc local_#13454; havoc local_#13455; havoc local_#13456; havoc local_#13457; havoc local_#13458; havoc local_#13459; havoc local_#13460; havoc local_#13461; havoc local_#13462; havoc local_#31549_rb; havoc local_#13463; havoc local_#13464; havoc local_#13465; havoc local_#13466; havoc local_#13467; havoc local_#13468; havoc local_#13469; havoc local_#13470; havoc local_#13471; havoc local_#13472; havoc local_#13473; havoc local_#13474; havoc local_#13475; havoc local_#30660; havoc local_#13476; havoc local_#13477; havoc local_#13478; havoc local_#13479; havoc local_#13480; havoc local_#13481; havoc local_#13482; havoc local_#13483; havoc local_#13484; havoc local_#31550_rc; havoc local_#13485; havoc local_#13486; havoc local_#13487; havoc local_#31547_ib; havoc local_#13488; havoc local_#13489; havoc local_#13490; havoc local_#13491; havoc local_#13492; havoc local_#13493; havoc local_#13494; havoc local_#13495; havoc local_#13496; havoc local_#13497; havoc local_#31548_ic; havoc local_#13498; havoc local_#13499; havoc local_#13500; havoc local_#13501; havoc local_#13502; havoc local_#13503; havoc local_#13504; havoc local_#13505; havoc local_#13506; havoc local_#13507; havoc local_#13508; havoc local_#31551_io; havoc local_#13509; havoc local_#13510; havoc local_#13511; havoc local_#13512; havoc local_#13513; havoc local_#13514; havoc local_#13515; havoc local_#13516; havoc local_#13517; havoc local_#13518; havoc local_#13519; havoc local_#13520; havoc local_#13521; havoc local_#13522; havoc local_#13523; havoc local_#13524; havoc local_#13525; havoc local_#13526; havoc local_#30661; havoc local_#13527; havoc local_#13528; havoc local_#13529; havoc local_#13530; havoc local_#13531; havoc local_#13532; havoc local_#13533; havoc local_#13534; havoc local_#13535; havoc local_#31544_rb; havoc local_#13536; havoc local_#13537; havoc local_#13538; havoc local_#13539; havoc local_#13540; havoc local_#13541; havoc local_#13542; havoc local_#13543; havoc local_#13544; havoc local_#13545; havoc local_#13546; havoc local_#13547; havoc local_#13548; havoc local_#30662; havoc local_#13549; havoc local_#13550; havoc local_#13551; havoc local_#13552; havoc local_#13553; havoc local_#13554; havoc local_#13555; havoc local_#13556; havoc local_#13557; havoc local_#31545_rc; havoc local_#13558; havoc local_#13559; havoc local_#13560; havoc local_#31542_nb; havoc local_#13561; havoc local_#13562; havoc local_#13563; havoc local_#13564; havoc nondet_#48; havoc nondet_#49; havoc local_#13565; havoc local_#13566; havoc local_#13567; havoc local_#13568; havoc local_#13569; havoc local_#31543_nc; havoc local_#13570; havoc local_#13571; havoc local_#13572; havoc local_#13573; havoc nondet_#50; havoc nondet_#51; havoc local_#13574; havoc local_#13575; havoc local_#13576; havoc local_#13577; havoc local_#13578; havoc local_#13579; havoc local_#31546_io; havoc nondet_#52; havoc nondet_#53; havoc nondet_#54; havoc local_#13580; havoc local_#13581; havoc local_#13582; havoc local_#13583; havoc local_#13584; havoc local_#13585; havoc local_#13586; havoc local_#13587; havoc local_#13588; havoc local_#13589; havoc local_#13590; havoc local_#13591; havoc local_#13592; havoc local_#13593; havoc local_#13594; havoc local_#30663; havoc local_#13595; havoc local_#13596; havoc local_#13597; havoc local_#13598; havoc local_#13599; havoc local_#13600; havoc local_#13601; havoc local_#13602; havoc local_#13603; havoc local_#31536_rb; havoc local_#13604; havoc local_#13605; havoc local_#13606; havoc local_#13607; havoc local_#13608; havoc local_#13609; havoc local_#13610; havoc local_#13611; havoc local_#13612; havoc local_#13613; havoc local_#13614; havoc local_#13615; havoc local_#13616; havoc local_#30664; havoc local_#13617; havoc local_#13618; havoc local_#13619; havoc local_#13620; havoc local_#13621; havoc local_#13622; havoc local_#13623; havoc local_#13624; havoc local_#13625; havoc local_#31537_rc; havoc local_#13626; havoc local_#13627; havoc local_#13628; havoc local_#13629; havoc local_#13630; havoc local_#13631; havoc local_#13632; havoc local_#31534_nb; havoc local_#13633; havoc local_#13634; havoc local_#13635; havoc local_#13636; havoc nondet_#55; havoc nondet_#56; havoc local_#13637; havoc local_#13638; havoc local_#13639; havoc local_#13640; havoc local_#13641; havoc local_#31535_nc; havoc local_#13642; havoc local_#13643; havoc local_#13644; havoc local_#13645; havoc nondet_#57; havoc nondet_#58; havoc local_#13646; havoc local_#13647; havoc local_#13648; havoc local_#13649; havoc local_#13650; havoc local_#13651; havoc local_#31541_io; havoc nondet_#59; havoc nondet_#60; havoc nondet_#61; havoc local_#13652; havoc local_#13653; havoc local_#13654; havoc local_#31538_ib; havoc local_#13655; havoc local_#31539_ic; havoc local_#31540_io; havoc local_#13656; havoc local_#13657; havoc local_#13658; havoc local_#13659; havoc local_#13660; havoc local_#13661; havoc local_#13662; havoc local_#13663; havoc local_#13664; havoc local_#13665; havoc local_#13666; havoc local_#13667; havoc local_#13668; havoc local_#13669; havoc local_#13670; havoc local_#13671; havoc local_#13672; havoc local_#13673; havoc local_#30665; havoc local_#13674; havoc local_#13675; havoc local_#13676; havoc local_#13677; havoc local_#13678; havoc local_#13679; havoc local_#13680; havoc local_#13681; havoc local_#13682; havoc local_#31528_rb; havoc local_#13683; havoc local_#13684; havoc local_#13685; havoc local_#13686; havoc local_#13687; havoc local_#13688; havoc local_#13689; havoc local_#13690; havoc local_#13691; havoc local_#13692; havoc local_#13693; havoc local_#13694; havoc local_#13695; havoc local_#30666; havoc local_#13696; havoc local_#13697; havoc local_#13698; havoc local_#13699; havoc local_#13700; havoc local_#13701; havoc local_#13702; havoc local_#13703; havoc local_#13704; havoc local_#31529_rc; havoc local_#13705; havoc local_#13706; havoc local_#13707; havoc local_#13708; havoc local_#13709; havoc local_#13710; havoc local_#13711; havoc local_#31526_nb; havoc local_#13712; havoc local_#13713; havoc local_#13714; havoc local_#13715; havoc nondet_#62; havoc nondet_#63; havoc local_#13716; havoc local_#13717; havoc local_#13718; havoc local_#13719; havoc local_#13720; havoc local_#31527_nc; havoc local_#13721; havoc local_#13722; havoc local_#13723; havoc local_#13724; havoc nondet_#64; havoc nondet_#65; havoc local_#13725; havoc local_#13726; havoc local_#13727; havoc local_#13728; havoc local_#13729; havoc local_#13730; havoc local_#31533_io; havoc nondet_#66; havoc nondet_#67; havoc nondet_#68; havoc local_#13731; havoc local_#13732; havoc local_#13733; havoc local_#31530_ib; havoc local_#13734; havoc local_#31531_ic; havoc local_#31532_io; havoc local_#13735; havoc local_#13736; havoc local_#13737; havoc local_#13738; havoc local_#13739; havoc local_#13740; havoc local_#13741; havoc local_#13742; havoc local_#13743; havoc local_#13744; havoc local_#13745; havoc local_#13746; havoc local_#13747; havoc local_#13748; havoc local_#13749; havoc local_#13750; havoc local_#13751; havoc local_#13752; havoc local_#30667; havoc local_#13753; havoc local_#13754; havoc local_#13755; havoc local_#13756; havoc local_#13757; havoc local_#13758; havoc local_#13759; havoc local_#13760; havoc local_#13761; havoc local_#31520_rb; havoc local_#13762; havoc local_#13763; havoc local_#13764; havoc local_#13765; havoc local_#13766; havoc local_#13767; havoc local_#13768; havoc local_#13769; havoc local_#13770; havoc local_#13771; havoc local_#13772; havoc local_#13773; havoc local_#13774; havoc local_#30668; havoc local_#13775; havoc local_#13776; havoc local_#13777; havoc local_#13778; havoc local_#13779; havoc local_#13780; havoc local_#13781; havoc local_#13782; havoc local_#13783; havoc local_#31521_rc; havoc local_#13784; havoc local_#13785; havoc local_#13786; havoc local_#13787; havoc local_#13788; havoc local_#13789; havoc local_#13790; havoc local_#31518_nb; havoc local_#13791; havoc local_#13792; havoc local_#13793; havoc local_#13794; havoc nondet_#69; havoc nondet_#70; havoc local_#13795; havoc local_#13796; havoc local_#13797; havoc local_#13798; havoc local_#13799; havoc local_#31519_nc; havoc local_#13800; havoc local_#13801; havoc local_#13802; havoc local_#13803; havoc nondet_#71; havoc nondet_#72; havoc local_#13804; havoc local_#13805; havoc local_#13806; havoc local_#13807; havoc local_#13808; havoc local_#13809; havoc local_#31525_io; havoc nondet_#73; havoc nondet_#74; havoc nondet_#75; havoc local_#13810; havoc local_#13811; havoc local_#13812; havoc local_#31522_ib; havoc local_#13813; havoc local_#31523_ic; havoc local_#31524_io; havoc local_#13814; havoc local_#13815; havoc local_#13816; havoc local_#13817; havoc local_#13818; havoc local_#13819; havoc local_#13820; havoc local_#13821; havoc local_#13822; havoc local_#13823; havoc local_#13824; havoc local_#31514_rb; havoc local_#13825; havoc local_#13826; havoc local_#13827; havoc local_#13828; havoc local_#13829; havoc local_#13830; havoc local_#13831; havoc local_#13832; havoc local_#13833; havoc local_#13834; havoc local_#13835; havoc local_#13836; havoc local_#13837; havoc local_#30669; havoc local_#13838; havoc local_#13839; havoc local_#13840; havoc local_#13841; havoc local_#13842; havoc local_#13843; havoc local_#13844; havoc local_#13845; havoc local_#13846; havoc local_#31515_rc; havoc local_#13847; havoc local_#13848; havoc local_#13849; havoc local_#31513_key; havoc local_#13850; havoc local_#13851; havoc local_#31516_io1; havoc local_#13852; havoc local_#13853; havoc local_#13854; havoc local_#13855; havoc local_#13856; havoc local_#13857; havoc local_#13858; havoc local_#13859; havoc local_#13860; havoc local_#13861; havoc local_#31512_aux; havoc local_#13862; havoc local_#13863; havoc local_#13864; havoc local_#13865; havoc local_#13866; havoc local_#13867; havoc local_#13868; havoc local_#13869; havoc local_#13870; havoc local_#31517_io1; havoc local_#13871; havoc local_#13872; havoc local_#13873; havoc local_#13874; havoc local_#13875; havoc local_#13876; havoc local_#13877; havoc local_#13878; havoc local_#31507_b; havoc local_#13879; havoc local_#13880; havoc local_#13881; havoc local_#13882; havoc local_#13883; havoc local_#31508_c; havoc local_#13884; havoc local_#31509_t; havoc local_#31510_io; havoc local_#31511_x_; havoc local_#13885; havoc local_#13886; havoc local_#13887; havoc local_#13888; havoc local_#13889; havoc local_#13890; havoc local_#13891; havoc local_#13892; havoc local_#13893; havoc local_#13894; havoc local_#13895; havoc local_#13896; havoc local_#13897; havoc local_#13898; havoc local_#13899; havoc local_#13900; havoc local_#13901; havoc local_#13902; havoc local_#13903; havoc local_#13904; havoc local_#13905; havoc local_#13906; havoc local_#13907; havoc local_#13908; havoc local_#13909; havoc local_#13910; havoc local_#13911; havoc local_#13912; havoc local_#13913; havoc local_#13914; havoc local_#13915; havoc local_#13916; havoc local_#13917; havoc local_#13918; havoc local_#13919; havoc local_#13920; havoc local_#13921; havoc local_#13922; havoc local_#30670; havoc local_#13923; havoc local_#13924; havoc local_#13925; havoc local_#13926; havoc local_#13927; havoc local_#13928; havoc local_#13929; havoc local_#13930; havoc local_#13931; havoc local_#31504_rb; havoc local_#13932; havoc local_#13933; havoc local_#13934; havoc local_#13935; havoc local_#13936; havoc local_#13937; havoc local_#13938; havoc local_#13939; havoc local_#13940; havoc local_#13941; havoc local_#13942; havoc local_#13943; havoc local_#13944; havoc local_#30671; havoc local_#13945; havoc local_#13946; havoc local_#13947; havoc local_#13948; havoc local_#13949; havoc local_#13950; havoc local_#13951; havoc local_#13952; havoc local_#13953; havoc local_#31505_rc; havoc local_#13954; havoc local_#13955; havoc local_#13956; havoc local_#13957; havoc local_#13958; havoc local_#13959; havoc local_#13960; havoc local_#13961; havoc local_#31506_slot; havoc local_#13962; havoc local_#13963; havoc local_#13964; havoc local_#13965; havoc local_#13966; havoc local_#13967; havoc local_#13968; havoc local_#13969; havoc local_#13970; havoc local_#13971; havoc local_#13972; havoc local_#13973; havoc local_#13974; havoc local_#13975; havoc local_#13976; havoc local_#13977; havoc local_#13978; havoc local_#13979; havoc local_#13980; havoc local_#13981; havoc local_#13982; havoc local_#13983; havoc local_#13984; havoc local_#13985; havoc local_#13986; havoc local_#13987; havoc local_#13988; havoc local_#30672; havoc local_#13989; havoc local_#13990; havoc local_#13991; havoc local_#13992; havoc local_#13993; havoc local_#13994; havoc local_#13995; havoc local_#13996; havoc local_#13997; havoc local_#13998; havoc local_#13999; havoc local_#14000; havoc local_#14001; havoc local_#31502_uv; havoc local_#31503_io1; havoc local_#14002; havoc local_#14003; havoc local_#14004; havoc local_#14005; havoc local_#14006; havoc local_#14007; havoc local_#14008; havoc local_#14009; havoc local_#14010; havoc local_#14011; havoc local_#14012; havoc local_#14013; havoc local_#14014; havoc local_#14015; havoc local_#14016; havoc local_#14017; havoc local_#14018; havoc local_#14019; havoc local_#14020; havoc local_#31500_upval; havoc local_#14021; havoc local_#14022; havoc local_#14023; havoc local_#14024; havoc local_#14025; havoc local_#14026; havoc local_#14027; havoc local_#14028; havoc local_#14029; havoc local_#14030; havoc local_#14031; havoc local_#14032; havoc local_#14033; havoc local_#30673; havoc local_#14034; havoc local_#14035; havoc local_#14036; havoc local_#14037; havoc local_#14038; havoc local_#14039; havoc local_#14040; havoc local_#14041; havoc local_#14042; havoc local_#31498_rb; havoc local_#14043; havoc local_#14044; havoc local_#14045; havoc local_#14046; havoc local_#14047; havoc local_#14048; havoc local_#14049; havoc local_#14050; havoc local_#14051; havoc local_#14052; havoc local_#14053; havoc local_#14054; havoc local_#14055; havoc local_#30674; havoc local_#14056; havoc local_#14057; havoc local_#14058; havoc local_#14059; havoc local_#14060; havoc local_#14061; havoc local_#14062; havoc local_#14063; havoc local_#14064; havoc local_#31499_rc; havoc local_#14065; havoc local_#14066; havoc local_#14067; havoc local_#14068; havoc local_#14069; havoc local_#14070; havoc local_#14071; havoc local_#14072; havoc local_#31501_slot; havoc local_#14073; havoc local_#14074; havoc local_#14075; havoc local_#14076; havoc local_#14077; havoc local_#14078; havoc local_#14079; havoc local_#14080; havoc local_#14081; havoc local_#14082; havoc local_#14083; havoc local_#14084; havoc local_#14085; havoc local_#14086; havoc local_#14087; havoc local_#14088; havoc local_#14089; havoc local_#14090; havoc local_#14091; havoc local_#14092; havoc local_#14093; havoc local_#14094; havoc local_#14095; havoc local_#14096; havoc local_#14097; havoc local_#14098; havoc local_#14099; havoc local_#30675; havoc local_#14100; havoc local_#14101; havoc local_#14102; havoc local_#14103; havoc local_#14104; havoc local_#14105; havoc local_#14106; havoc local_#14107; havoc local_#14108; havoc local_#14109; havoc local_#14110; havoc local_#14111; havoc local_#31494_rb; havoc local_#14112; havoc local_#14113; havoc local_#14114; havoc local_#14115; havoc local_#14116; havoc local_#14117; havoc local_#14118; havoc local_#14119; havoc local_#14120; havoc local_#14121; havoc local_#14122; havoc local_#14123; havoc local_#14124; havoc local_#30676; havoc local_#14125; havoc local_#14126; havoc local_#14127; havoc local_#14128; havoc local_#14129; havoc local_#14130; havoc local_#14131; havoc local_#14132; havoc local_#14133; havoc local_#31495_rc; havoc local_#14134; havoc local_#14135; havoc local_#14136; havoc local_#14137; havoc local_#14138; havoc local_#14139; havoc local_#14140; havoc local_#14141; havoc local_#31496_slot; havoc local_#14142; havoc local_#14143; havoc local_#14144; havoc local_#14145; havoc local_#14146; havoc local_#14147; havoc local_#14148; havoc local_#14149; havoc local_#14150; havoc local_#31497_io1; havoc local_#14151; havoc local_#14152; havoc local_#14153; havoc local_#14154; havoc local_#14155; havoc local_#14156; havoc local_#14157; havoc local_#14158; havoc local_#14159; havoc local_#14160; havoc local_#14161; havoc local_#31491_upval; havoc local_#14162; havoc local_#14163; havoc local_#14164; havoc local_#14165; havoc local_#14166; havoc local_#14167; havoc local_#14168; havoc local_#14169; havoc local_#14170; havoc local_#14171; havoc local_#14172; havoc local_#14173; havoc local_#14174; havoc local_#30677; havoc local_#14175; havoc local_#14176; havoc local_#14177; havoc local_#14178; havoc local_#14179; havoc local_#14180; havoc local_#14181; havoc local_#14182; havoc local_#14183; havoc local_#31490_rc; havoc local_#14184; havoc local_#14185; havoc local_#14186; havoc local_#14187; havoc local_#14188; havoc local_#14189; havoc local_#14190; havoc local_#14191; havoc local_#31492_slot; havoc local_#14192; havoc local_#14193; havoc local_#14194; havoc local_#14195; havoc local_#14196; havoc local_#14197; havoc local_#14198; havoc local_#14199; havoc local_#14200; havoc local_#31493_io1; havoc local_#14201; havoc local_#14202; havoc local_#14203; havoc local_#14204; havoc local_#14205; havoc local_#14206; havoc local_#14207; havoc local_#14208; havoc local_#31488_b; havoc local_#31489_io1; havoc local_#14209; havoc local_#14210; havoc local_#14211; havoc local_#14212; havoc local_#14213; havoc local_#14214; havoc local_#14215; havoc local_#14216; havoc local_#14217; havoc local_#14218; havoc local_#14219; havoc local_#14220; havoc local_#31487_b; havoc local_#14221; havoc local_#14222; havoc local_#14223; havoc local_#14224; havoc local_#14225; havoc local_#14226; havoc local_#31486_io; havoc local_#14227; havoc local_#14228; havoc local_#14229; havoc local_#14230; havoc local_#14231; havoc local_#14232; havoc local_#14233; havoc local_#14234; havoc local_#14235; havoc local_#14236; havoc local_#14237; havoc local_#14238; havoc local_#14239; havoc local_#14240; havoc local_#14241; havoc local_#14242; havoc local_#14243; havoc local_#14244; havoc local_#14245; havoc local_#14246; havoc local_#14247; havoc local_#14248; havoc local_#14249; havoc local_#14250; havoc local_#14251; havoc local_#14252; havoc local_#31484_rb; havoc local_#31485_io1; havoc local_#14253; havoc local_#14254; havoc local_#14255; havoc local_#14256; havoc local_#14257; havoc local_#14258; havoc local_#14259; havoc local_#14260; havoc local_#14261; havoc local_#31482_rb; havoc local_#31483_io1; havoc local_#14262; havoc local_#14263; havoc local_#14264; havoc local_#31481_io1; havoc local_#14265; havoc local_#14266; havoc local_#14267; havoc local_#14268; havoc local_#14269; havoc local_#14270; havoc local_#14271; havoc local_#14272; havoc local_#14273; local_#4189_L := local_#4189_L_IN; goto CFG_36402; CFG_36402: assume { :LIR "36402" } { :back_translation "block" } true; goto CFG_41915; CFG_41915: assume { :LIR "41915" } { :back_translation "block" } true; assume { :LIR "52955" } { :back_translation "assignment" } true; assert { :LIR "139290" } { :check "null-dereference" } { :finding_ids "86,220,307,685" } local_#4189_L != { base : 0, offset : 0 }; local_#31476_ci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; assume { :LIR "72275" } { :back_translation "visiting" } true; local_#11991 := 8; assume { :LIR "62486" } { :back_translation "visiting" } true; assert { :LIR "139291" } { :check "null-dereference" } { :finding_ids "88,222,304,687" } local_#31476_ci != { base : 0, offset : 0 }; local_#11992 := _memory[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 66 }]; assume { :LIR "69370" } { :back_translation "visiting" } true; local_#11993 := ~sor32(local_#11992, local_#11991); assume { :LIR "62487" } { :back_translation "visiting" } true; _memory[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 66 }] := ~uwrap16(local_#11993); goto CFG_41662; CFG_41662: assume { :LIR "41662" } { :back_translation "block" } true; assume { :LIR "72276" } { :back_translation "visiting" } true; local_#11994 := 0; assume { :LIR "60434" } { :back_translation "visiting" } true; local_#11995 := 0; assume { :LIR "52956" } { :back_translation "assignment" } true; assert { :LIR "139292" } { :check "null-dereference" } { :finding_ids "319,456,552,674" } local_#31476_ci != { base : 0, offset : 0 }; local_#11996 := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 0 }]; assume { :LIR "52957" } { :back_translation "assignment" } true; local_#11997 := { base : local_#11996!base, offset : local_#11996!offset + 0 }; assume { :LIR "60435" } { :back_translation "visiting" } true; local_#11998 := _memory_ptr[local_#11997]; assume { :LIR "52958" } { :back_translation "assignment" } true; local_#11999 := { base : local_#11998!base, offset : local_#11998!offset + 0 }; assume { :LIR "52959" } { :back_translation "assignment" } true; local_#12000 := { base : local_#11999!base, offset : local_#11999!offset + 0 }; assume { :LIR "52960" } { :back_translation "assignment" } true; local_#31477_cl := local_#12000; assume { :LIR "52961" } { :back_translation "assignment" } true; local_#12001 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; assume { :LIR "52962" } { :back_translation "assignment" } true; local_#31478_k := _memory_ptr[{ base : local_#12001!base, offset : local_#12001!offset + 48 }]; assume { :LIR "52963" } { :back_translation "assignment" } true; local_#12002 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "52964" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12002!base, offset : local_#12002!offset + 0 }]; goto CFG_49475; CFG_49475: assume { :LIR "49475" } { :back_translation "block" } true; assume { :LIR "78651" } { :back_translation "visiting" } true; local_#12003 := 1; if (local_#12003 != 0) { assume { :LIR "49476" } { :back_translation "taking-then-branch" } true; goto CFG_49476; } else { assume { :LIR "37313" } { :back_translation "taking-else-branch" } true; goto _routine_#33894_luaV_execute_SLICED_OUT_BLOCK; } CFG_49476: assume { :LIR "49476" } { :back_translation "block" } true; assume { :LIR "52965" } { :back_translation "assignment" } true; local_#12004 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "52966" } { :back_translation "assignment" } true; local_#12005 := _memory_ptr[{ base : local_#12004!base, offset : local_#12004!offset + 8 }]; assume { :LIR "72277" } { :back_translation "visiting" } true; local_#12006 := 1; assume { :LIR "67066" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12004!base, offset : local_#12004!offset + 8 }] := { base : local_#12005!base, offset : local_#12005!offset + local_#12006 * 4 }; assume { :LIR "52967" } { :back_translation "assignment" } true; assert { :LIR "137503" } { :check "null-dereference" } { :finding_ids "8,619,748,855" } local_#12005 != { base : 0, offset : 0 }; local_#31479_i := _memory[local_#12005]; assume { :LIR "72278" } { :back_translation "visiting" } true; local_#12007 := 12; assume { :LIR "68754" } { :back_translation "visiting" } true; local_#12008 := ~sand32(_memory[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 200 }], local_#12007); if (local_#12008 != 0) { assume { :LIR "45864" } { :back_translation "taking-then-branch" } true; goto CFG_45864; } else { assume { :LIR "51580" } { :back_translation "taking-else-branch" } true; goto CFG_51580; } CFG_45864: assume { :LIR "45864" } { :back_translation "block" } true; assume { :LIR "79401" } { :back_translation "visiting" } true; call routine_#33764_luaG_traceexec(local_#4189_L); goto CFG_40090; CFG_40090: assume { :LIR "40090" } { :back_translation "block" } true; assume { :LIR "52968" } { :back_translation "assignment" } true; local_#12009 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "52969" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12009!base, offset : local_#12009!offset + 0 }]; goto CFG_51580; CFG_51580: assume { :LIR "51580" } { :back_translation "block" } true; assume { :LIR "72279" } { :back_translation "visiting" } true; local_#12010 := 6; assume { :LIR "69533" } { :back_translation "visiting" } true; local_#12011 := ~lshr32(local_#31479_i, local_#12010); assume { :LIR "72280" } { :back_translation "visiting" } true; local_#12012 := 255; assume { :LIR "68755" } { :back_translation "visiting" } true; local_#12013 := ~uand32(local_#12011, local_#12012); assume { :LIR "60436" } { :back_translation "visiting" } true; local_#12014 := local_#12013; assume { :LIR "67067" } { :back_translation "visiting" } true; local_#12015 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12014 * 16 }; assume { :LIR "52970" } { :back_translation "assignment" } true; local_#31480_ra := local_#12015; assume { :LIR "72281" } { :back_translation "visiting" } true; local_#12016 := 0; assume { :LIR "60437" } { :back_translation "visiting" } true; local_#12017 := 0; assume { :LIR "72282" } { :back_translation "visiting" } true; local_#12018 := 0; assume { :LIR "60438" } { :back_translation "visiting" } true; local_#12019 := 0; assume { :LIR "72283" } { :back_translation "visiting" } true; local_#12020 := 0; assume { :LIR "69534" } { :back_translation "visiting" } true; local_#12021 := ~lshr32(local_#31479_i, local_#12020); assume { :LIR "72284" } { :back_translation "visiting" } true; local_#12022 := 63; assume { :LIR "68756" } { :back_translation "visiting" } true; local_#12023 := ~uand32(local_#12021, local_#12022); assume { :LIR "60439" } { :back_translation "visiting" } true; local_#12024 := local_#12023; if (local_#12024 == 0) { goto CFG_39550; } if (local_#12024 == 1) { goto CFG_39549; } if (local_#12024 == 2) { goto CFG_39548; } if (local_#12024 == 3) { goto CFG_49708; } if (local_#12024 == 4) { goto CFG_41667; } if (local_#12024 == 5) { goto CFG_39545; } if (local_#12024 == 6) { goto CFG_49703; } if (local_#12024 == 7) { goto CFG_49699; } if (local_#12024 == 8) { goto CFG_49690; } if (local_#12024 == 9) { goto CFG_49688; } if (local_#12024 == 10) { goto CFG_49679; } if (local_#12024 == 11) { goto CFG_42488; } if (local_#12024 == 12) { goto CFG_49672; } if (local_#12024 == 13) { goto CFG_49662; } if (local_#12024 == 14) { goto CFG_49652; } if (local_#12024 == 15) { goto CFG_49642; } if (local_#12024 == 18) { goto CFG_49634; } if (local_#12024 == 20) { goto CFG_49626; } if (local_#12024 == 21) { goto CFG_49618; } if (local_#12024 == 22) { goto CFG_49610; } if (local_#12024 == 23) { goto CFG_49602; } if (local_#12024 == 24) { goto CFG_49594; } if (local_#12024 == 16) { goto CFG_49583; } if (local_#12024 == 19) { goto CFG_49573; } if (local_#12024 == 17) { goto CFG_49565; } if (local_#12024 == 25) { goto CFG_49561; } if (local_#12024 == 26) { goto CFG_49558; } if (local_#12024 == 27) { goto CFG_49555; } if (local_#12024 == 28) { goto CFG_42439; } if (local_#12024 == 29) { goto CFG_42437; } if (local_#12024 == 30) { goto CFG_49552; } if (local_#12024 == 31) { goto CFG_49548; } if (local_#12024 == 32) { goto CFG_49544; } if (local_#12024 == 33) { goto CFG_49540; } if (local_#12024 == 34) { goto CFG_49532; } if (local_#12024 == 35) { goto CFG_49524; } if (local_#12024 == 36) { goto CFG_49521; } if (local_#12024 == 37) { goto CFG_49517; } if (local_#12024 == 38) { goto CFG_49513; } if (local_#12024 == 39) { goto CFG_49506; } if (local_#12024 == 40) { goto CFG_49493; } if (local_#12024 == 41) { goto CFG_42417; } if (local_#12024 == 42) { goto CFG_41917; } if (local_#12024 == 43) { goto CFG_49485; } if (local_#12024 == 44) { goto CFG_42413; } if (local_#12024 == 45) { goto CFG_49477; } if (local_#12024 == 46) { goto CFG_39506; } CFG_41916: assume { :LIR "41916" } { :back_translation "block" } true; goto CFG_45008; CFG_39506: assume { :LIR "39506" } { :back_translation "block" } true; assume { :LIR "72285" } { :back_translation "visiting" } true; local_#12025 := 0; assume { :LIR "60440" } { :back_translation "visiting" } true; local_#12026 := 0; goto CFG_45008; CFG_49477: assume { :LIR "49477" } { :back_translation "block" } true; assume { :LIR "72286" } { :back_translation "visiting" } true; local_#12027 := 23; assume { :LIR "69535" } { :back_translation "visiting" } true; local_#12028 := ~lshr32(local_#31479_i, local_#12027); assume { :LIR "72287" } { :back_translation "visiting" } true; local_#12029 := 511; assume { :LIR "68757" } { :back_translation "visiting" } true; local_#12030 := ~uand32(local_#12028, local_#12029); assume { :LIR "60441" } { :back_translation "visiting" } true; local_#12031 := local_#12030; assume { :LIR "72288" } { :back_translation "visiting" } true; local_#12032 := 1; assume { :LIR "67924" } { :back_translation "visiting" } true; local_#12033 := local_#12031 - local_#12032; assume { :LIR "52971" } { :back_translation "assignment" } true; local_#31668_b := local_#12033; assume { :LIR "68439" } { :back_translation "visiting" } true; assert { :LIR "139299" } { :check "null-dereference" } { :finding_ids "60,349,399,497" } local_#31476_ci != { base : 0, offset : 0 }; local_#12034 := (local_#31475_base!offset - _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 0 }]!offset) / 16; assume { :LIR "60442" } { :back_translation "visiting" } true; local_#12035 := local_#12034; assume { :LIR "52972" } { :back_translation "assignment" } true; local_#12036 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; assume { :LIR "62488" } { :back_translation "visiting" } true; assert { :LIR "139301" } { :check "null-dereference" } { :finding_ids "14,625,769,861" } local_#12036 != { base : 0, offset : 0 }; local_#12037 := _memory[{ base : local_#12036!base, offset : local_#12036!offset + 10 }]; assume { :LIR "67925" } { :back_translation "visiting" } true; local_#12038 := local_#12035 - local_#12037; assume { :LIR "72289" } { :back_translation "visiting" } true; local_#12039 := 1; assume { :LIR "67926" } { :back_translation "visiting" } true; local_#12040 := local_#12038 - local_#12039; assume { :LIR "52973" } { :back_translation "assignment" } true; local_#31670_n := local_#12040; assume { :LIR "72290" } { :back_translation "visiting" } true; local_#12041 := 0; assume { :LIR "66165" } { :back_translation "visiting" } true; local_#12042 := (if local_#31670_n < local_#12041 then 1 else 0); if (local_#12042 != 0) { assume { :LIR "40091" } { :back_translation "taking-then-branch" } true; goto CFG_40091; } else { assume { :LIR "49478" } { :back_translation "taking-else-branch" } true; goto CFG_49478; } CFG_40091: assume { :LIR "40091" } { :back_translation "block" } true; assume { :LIR "72291" } { :back_translation "visiting" } true; local_#31670_n := 0; goto CFG_49478; CFG_49478: assume { :LIR "49478" } { :back_translation "block" } true; assume { :LIR "72292" } { :back_translation "visiting" } true; local_#12043 := 0; assume { :LIR "66166" } { :back_translation "visiting" } true; local_#12044 := (if local_#31668_b < local_#12043 then 1 else 0); if (local_#12044 != 0) { assume { :LIR "49479" } { :back_translation "taking-then-branch" } true; goto CFG_49479; } else { assume { :LIR "41663" } { :back_translation "taking-else-branch" } true; goto CFG_41663; } CFG_49479: assume { :LIR "49479" } { :back_translation "block" } true; assume { :LIR "52974" } { :back_translation "assignment" } true; local_#31668_b := local_#31670_n; assume { :LIR "68440" } { :back_translation "visiting" } true; local_#12045 := (_memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]!offset) / 16; assume { :LIR "62489" } { :back_translation "visiting" } true; local_#12046 := local_#31670_n; assume { :LIR "66022" } { :back_translation "visiting" } true; local_#12047 := (if local_#12045 <= local_#12046 then 1 else 0); if (local_#12047 != 0) { assume { :LIR "42410" } { :back_translation "taking-then-branch" } true; goto CFG_42410; } else { assume { :LIR "40092" } { :back_translation "taking-else-branch" } true; goto CFG_40092; } CFG_40092: assume { :LIR "40092" } { :back_translation "block" } true; assume { :LIR "72293" } { :back_translation "visiting" } true; local_#12048 := 0; assume { :LIR "60443" } { :back_translation "visiting" } true; local_#12049 := 0; goto CFG_40094; CFG_42410: assume { :LIR "42410" } { :back_translation "block" } true; assume { :LIR "72294" } { :back_translation "visiting" } true; local_#12050 := 0; assume { :LIR "60444" } { :back_translation "visiting" } true; local_#12051 := 0; goto CFG_45865; CFG_45865: assume { :LIR "45865" } { :back_translation "block" } true; assume { :LIR "79402" } { :back_translation "visiting" } true; call routine_#33733_luaD_growstack(local_#4189_L,local_#31670_n); goto CFG_40093; CFG_40093: assume { :LIR "40093" } { :back_translation "block" } true; assume { :LIR "72295" } { :back_translation "visiting" } true; local_#12052 := 0; assume { :LIR "60445" } { :back_translation "visiting" } true; local_#12053 := 0; goto CFG_40094; CFG_40094: assume { :LIR "40094" } { :back_translation "block" } true; assume { :LIR "52975" } { :back_translation "assignment" } true; local_#12054 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "52976" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12054!base, offset : local_#12054!offset + 0 }]; assume { :LIR "72296" } { :back_translation "visiting" } true; local_#12055 := 6; assume { :LIR "69536" } { :back_translation "visiting" } true; local_#12056 := ~lshr32(local_#31479_i, local_#12055); assume { :LIR "72297" } { :back_translation "visiting" } true; local_#12057 := 255; assume { :LIR "68758" } { :back_translation "visiting" } true; local_#12058 := ~uand32(local_#12056, local_#12057); assume { :LIR "60446" } { :back_translation "visiting" } true; local_#12059 := local_#12058; assume { :LIR "67068" } { :back_translation "visiting" } true; local_#12060 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12059 * 16 }; assume { :LIR "52977" } { :back_translation "assignment" } true; local_#31480_ra := local_#12060; assume { :LIR "67069" } { :back_translation "visiting" } true; local_#12061 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31670_n * 16 }; assume { :LIR "52978" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12061; goto CFG_41663; CFG_41663: assume { :LIR "41663" } { :back_translation "block" } true; assume { :LIR "72298" } { :back_translation "visiting" } true; local_#31669_j := 0; goto CFG_49480; CFG_49480: assume { :LIR "49480" } { :back_translation "block" } true; assume { :LIR "66167" } { :back_translation "visiting" } true; local_#12062 := (if local_#31669_j < local_#31668_b then 1 else 0); if (local_#12062 != 0) { assume { :LIR "49481" } { :back_translation "taking-then-branch" } true; goto CFG_49481; } else { assume { :LIR "41664" } { :back_translation "taking-else-branch" } true; goto CFG_41664; } CFG_49481: assume { :LIR "49481" } { :back_translation "block" } true; assume { :LIR "66168" } { :back_translation "visiting" } true; local_#12063 := (if local_#31669_j < local_#31670_n then 1 else 0); if (local_#12063 != 0) { assume { :LIR "42412" } { :back_translation "taking-then-branch" } true; goto CFG_42412; } else { assume { :LIR "41664" } { :back_translation "taking-else-branch" } true; goto CFG_41664; } CFG_41664: assume { :LIR "41664" } { :back_translation "block" } true; goto CFG_49482; CFG_49482: assume { :LIR "49482" } { :back_translation "block" } true; assume { :LIR "66169" } { :back_translation "visiting" } true; local_#12064 := (if local_#31669_j < local_#31668_b then 1 else 0); if (local_#12064 != 0) { assume { :LIR "42411" } { :back_translation "taking-then-branch" } true; goto CFG_42411; } else { assume { :LIR "39507" } { :back_translation "taking-else-branch" } true; goto CFG_39507; } CFG_39507: assume { :LIR "39507" } { :back_translation "block" } true; goto CFG_45008; CFG_42411: assume { :LIR "42411" } { :back_translation "block" } true; assume { :LIR "72299" } { :back_translation "visiting" } true; local_#12065 := 0; assume { :LIR "67070" } { :back_translation "visiting" } true; local_#12066 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31669_j * 16 }; assume { :LIR "52979" } { :back_translation "assignment" } true; assert { :LIR "143199" } { :check "null-dereference" } { :finding_ids "165,278,574,810" } local_#12066 != { base : 0, offset : 0 }; _memory[{ base : local_#12066!base, offset : local_#12066!offset + 8 }] := local_#12065; goto CFG_45003; CFG_45003: assume { :LIR "45003" } { :back_translation "block" } true; assume { :LIR "52980" } { :back_translation "assignment" } true; local_#12067 := local_#31669_j; assume { :LIR "72300" } { :back_translation "visiting" } true; local_#12068 := 1; assume { :LIR "66455" } { :back_translation "visiting" } true; local_#31669_j := local_#12067 + local_#12068; assume { :LIR "52981" } { :back_translation "assignment" } true; local_#12069 := local_#12067; goto CFG_49482; CFG_42412: assume { :LIR "42412" } { :back_translation "block" } true; assume { :LIR "67071" } { :back_translation "visiting" } true; local_#12070 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31669_j * 16 }; assume { :LIR "52982" } { :back_translation "assignment" } true; local_#31671_io1 := local_#12070; assume { :LIR "68264" } { :back_translation "visiting" } true; local_#12071 := { base : local_#31475_base!base, offset : local_#31475_base!offset - local_#31670_n * 16 }; assume { :LIR "67072" } { :back_translation "visiting" } true; local_#12072 := { base : local_#12071!base, offset : local_#12071!offset + local_#31669_j * 16 }; assume { :LIR "52983" } { :back_translation "assignment" } true; assert { :LIR "137504" } { :check "null-dereference" } { :finding_ids "164,277,573,809" } local_#12072 != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_b == _memory[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_f == _memory_ptr[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_gc == _memory_ptr[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_i == _memory[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_p == _memory_ptr[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12072)!_tt_ == _memory[{ base : local_#12072!base, offset : local_#12072!offset + 8 }]; assert { :LIR "138391" } { :check "null-dereference" } { :finding_ids "167,276,572,808" } local_#31671_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31671_io1,read_type_#101(_memory, _memory_ptr, local_#12072)); assume { :LIR "60447" } { :back_translation "visiting" } true; local_#12073 := 0; assume { :LIR "72301" } { :back_translation "visiting" } true; local_#12074 := 0; assume { :LIR "60448" } { :back_translation "visiting" } true; local_#12075 := 0; goto CFG_45004; CFG_45004: assume { :LIR "45004" } { :back_translation "block" } true; assume { :LIR "52984" } { :back_translation "assignment" } true; local_#12076 := local_#31669_j; assume { :LIR "72302" } { :back_translation "visiting" } true; local_#12077 := 1; assume { :LIR "66456" } { :back_translation "visiting" } true; local_#31669_j := local_#12076 + local_#12077; assume { :LIR "52985" } { :back_translation "assignment" } true; local_#12078 := local_#12076; goto CFG_49480; CFG_42413: assume { :LIR "42413" } { :back_translation "block" } true; assume { :LIR "52986" } { :back_translation "assignment" } true; local_#12079 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; assume { :LIR "72303" } { :back_translation "visiting" } true; local_#12080 := 14; assume { :LIR "69537" } { :back_translation "visiting" } true; local_#12081 := ~lshr32(local_#31479_i, local_#12080); assume { :LIR "72304" } { :back_translation "visiting" } true; local_#12082 := 262143; assume { :LIR "68759" } { :back_translation "visiting" } true; local_#12083 := ~uand32(local_#12081, local_#12082); assume { :LIR "60449" } { :back_translation "visiting" } true; local_#12084 := local_#12083; assume { :LIR "67073" } { :back_translation "visiting" } true; assert { :LIR "139306" } { :check "null-dereference" } { :finding_ids "15,626,770,862" } local_#12079 != { base : 0, offset : 0 }; local_#12085 := { base : _memory_ptr[{ base : local_#12079!base, offset : local_#12079!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#12079!base, offset : local_#12079!offset + 64 }]!offset + local_#12084 * 8 }; assume { :LIR "52987" } { :back_translation "assignment" } true; assert { :LIR "137505" } { :check "null-dereference" } { :finding_ids "162,279,575,811" } local_#12085 != { base : 0, offset : 0 }; local_#31665_p := _memory_ptr[local_#12085]; assume { :LIR "52988" } { :back_translation "assignment" } true; local_#12086 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; assume { :LIR "52989" } { :back_translation "assignment" } true; local_#12087 := { base : local_#12086!base, offset : local_#12086!offset + 0 * 8 }; goto CFG_45866; CFG_45866: assume { :LIR "45866" } { :back_translation "block" } true; assume { :LIR "79403" } { :back_translation "visiting" } true; call local_#12088 := routine_#34780_getcached(local_#31665_p,local_#12087,local_#31475_base); goto CFG_49483; CFG_49483: assume { :LIR "49483" } { :back_translation "block" } true; assume { :LIR "52990" } { :back_translation "assignment" } true; local_#31664_ncl := local_#12088; assume { :LIR "69840" } { :back_translation "visiting" } true; local_#12089 := { base : 0, offset : 0 }; assume { :LIR "64822" } { :back_translation "visiting" } true; local_#12090 := (if local_#31664_ncl == local_#12089 then 1 else 0); if (local_#12090 != 0) { assume { :LIR "42414" } { :back_translation "taking-then-branch" } true; goto CFG_42414; } else { assume { :LIR "40095" } { :back_translation "taking-else-branch" } true; goto CFG_40095; } CFG_40095: assume { :LIR "40095" } { :back_translation "block" } true; assume { :LIR "52991" } { :back_translation "assignment" } true; local_#31666_io := local_#31480_ra; assume { :LIR "52992" } { :back_translation "assignment" } true; local_#31667_x_ := local_#31664_ncl; assume { :LIR "60450" } { :back_translation "visiting" } true; local_#12091 := local_#31667_x_; assume { :LIR "52993" } { :back_translation "assignment" } true; local_#12092 := { base : local_#12091!base, offset : local_#12091!offset + 0 }; assume { :LIR "52994" } { :back_translation "assignment" } true; local_#12093 := { base : local_#31666_io!base, offset : local_#31666_io!offset + 0 }; assume { :LIR "52995" } { :back_translation "assignment" } true; _memory_ptr[local_#12093] := local_#12092; assume { :LIR "72305" } { :back_translation "visiting" } true; _memory[{ base : local_#31666_io!base, offset : local_#31666_io!offset + 8 }] := 70; assume { :LIR "72306" } { :back_translation "visiting" } true; local_#12094 := 0; assume { :LIR "60451" } { :back_translation "visiting" } true; local_#12095 := 0; goto CFG_49484; CFG_42414: assume { :LIR "42414" } { :back_translation "block" } true; assume { :LIR "52996" } { :back_translation "assignment" } true; local_#12096 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; assume { :LIR "52997" } { :back_translation "assignment" } true; local_#12097 := { base : local_#12096!base, offset : local_#12096!offset + 0 * 8 }; goto CFG_45867; CFG_45867: assume { :LIR "45867" } { :back_translation "block" } true; assume { :LIR "79404" } { :back_translation "visiting" } true; call routine_#35003_pushclosure(local_#4189_L,local_#31665_p,local_#12097,local_#31475_base,local_#31480_ra); goto CFG_40096; CFG_40096: assume { :LIR "40096" } { :back_translation "block" } true; goto CFG_49484; CFG_49484: assume { :LIR "49484" } { :back_translation "block" } true; assume { :LIR "52998" } { :back_translation "assignment" } true; local_#12098 := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 24 }]; assume { :LIR "72307" } { :back_translation "visiting" } true; local_#12099 := 0; assume { :LIR "65812" } { :back_translation "visiting" } true; assert { :LIR "139308" } { :check "null-dereference" } { :finding_ids "9,620,749,856" } local_#12098 != { base : 0, offset : 0 }; local_#12100 := (if _memory[{ base : local_#12098!base, offset : local_#12098!offset + 24 }] > local_#12099 then 1 else 0); if (local_#12100 != 0) { assume { :LIR "42415" } { :back_translation "taking-then-branch" } true; goto CFG_42415; } else { assume { :LIR "39508" } { :back_translation "taking-else-branch" } true; goto CFG_39508; } CFG_42415: assume { :LIR "42415" } { :back_translation "block" } true; assume { :LIR "72308" } { :back_translation "visiting" } true; local_#12101 := 1; assume { :LIR "67074" } { :back_translation "visiting" } true; local_#12102 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12101 * 16 }; assume { :LIR "52999" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12102; goto CFG_45868; CFG_45868: assume { :LIR "45868" } { :back_translation "block" } true; assume { :LIR "79405" } { :back_translation "visiting" } true; call routine_#33728_luaC_step(local_#4189_L); goto CFG_40097; CFG_40097: assume { :LIR "40097" } { :back_translation "block" } true; assume { :LIR "53000" } { :back_translation "assignment" } true; assert { :LIR "139309" } { :check "null-dereference" } { :finding_ids "61,333,401,498" } local_#31476_ci != { base : 0, offset : 0 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; assume { :LIR "53001" } { :back_translation "assignment" } true; local_#12103 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53002" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12103!base, offset : local_#12103!offset + 0 }]; goto CFG_39508; CFG_39508: assume { :LIR "39508" } { :back_translation "block" } true; assume { :LIR "72309" } { :back_translation "visiting" } true; local_#12104 := 0; assume { :LIR "60452" } { :back_translation "visiting" } true; local_#12105 := 0; assume { :LIR "72310" } { :back_translation "visiting" } true; local_#12106 := 0; assume { :LIR "60453" } { :back_translation "visiting" } true; local_#12107 := 0; assume { :LIR "72311" } { :back_translation "visiting" } true; local_#12108 := 0; assume { :LIR "60454" } { :back_translation "visiting" } true; local_#12109 := 0; goto CFG_45008; CFG_49485: assume { :LIR "49485" } { :back_translation "block" } true; assume { :LIR "72312" } { :back_translation "visiting" } true; local_#12110 := 23; assume { :LIR "69538" } { :back_translation "visiting" } true; local_#12111 := ~lshr32(local_#31479_i, local_#12110); assume { :LIR "72313" } { :back_translation "visiting" } true; local_#12112 := 511; assume { :LIR "68760" } { :back_translation "visiting" } true; local_#12113 := ~uand32(local_#12111, local_#12112); assume { :LIR "60455" } { :back_translation "visiting" } true; local_#12114 := local_#12113; assume { :LIR "53003" } { :back_translation "assignment" } true; local_#31662_n := local_#12114; assume { :LIR "72314" } { :back_translation "visiting" } true; local_#12115 := 14; assume { :LIR "69539" } { :back_translation "visiting" } true; local_#12116 := ~lshr32(local_#31479_i, local_#12115); assume { :LIR "72315" } { :back_translation "visiting" } true; local_#12117 := 511; assume { :LIR "68761" } { :back_translation "visiting" } true; local_#12118 := ~uand32(local_#12116, local_#12117); assume { :LIR "60456" } { :back_translation "visiting" } true; local_#12119 := local_#12118; assume { :LIR "53004" } { :back_translation "assignment" } true; local_#31659_c := local_#12119; assume { :LIR "72316" } { :back_translation "visiting" } true; local_#12120 := 0; assume { :LIR "64823" } { :back_translation "visiting" } true; local_#12121 := (if local_#31662_n == local_#12120 then 1 else 0); if (local_#12121 != 0) { assume { :LIR "40098" } { :back_translation "taking-then-branch" } true; goto CFG_40098; } else { assume { :LIR "49486" } { :back_translation "taking-else-branch" } true; goto CFG_49486; } CFG_40098: assume { :LIR "40098" } { :back_translation "block" } true; assume { :LIR "68441" } { :back_translation "visiting" } true; local_#12122 := (_memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]!offset - local_#31480_ra!offset) / 16; assume { :LIR "60457" } { :back_translation "visiting" } true; local_#12123 := local_#12122; assume { :LIR "72317" } { :back_translation "visiting" } true; local_#12124 := 1; assume { :LIR "67927" } { :back_translation "visiting" } true; local_#12125 := local_#12123 - local_#12124; assume { :LIR "53005" } { :back_translation "assignment" } true; local_#31662_n := local_#12125; goto CFG_49486; CFG_49486: assume { :LIR "49486" } { :back_translation "block" } true; assume { :LIR "72318" } { :back_translation "visiting" } true; local_#12126 := 0; assume { :LIR "64824" } { :back_translation "visiting" } true; local_#12127 := (if local_#31659_c == local_#12126 then 1 else 0); if (local_#12127 != 0) { assume { :LIR "40099" } { :back_translation "taking-then-branch" } true; goto CFG_40099; } else { assume { :LIR "49487" } { :back_translation "taking-else-branch" } true; goto CFG_49487; } CFG_40099: assume { :LIR "40099" } { :back_translation "block" } true; assume { :LIR "72319" } { :back_translation "visiting" } true; local_#12128 := 0; assume { :LIR "60458" } { :back_translation "visiting" } true; local_#12129 := 0; assume { :LIR "53006" } { :back_translation "assignment" } true; local_#12130 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53007" } { :back_translation "assignment" } true; local_#12131 := _memory_ptr[{ base : local_#12130!base, offset : local_#12130!offset + 8 }]; assume { :LIR "72320" } { :back_translation "visiting" } true; local_#12132 := 1; assume { :LIR "67075" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12130!base, offset : local_#12130!offset + 8 }] := { base : local_#12131!base, offset : local_#12131!offset + local_#12132 * 4 }; assume { :LIR "72321" } { :back_translation "visiting" } true; local_#12133 := 6; assume { :LIR "69540" } { :back_translation "visiting" } true; assert { :LIR "137506" } { :check "null-dereference" } { :finding_ids "21,632,776,868" } local_#12131 != { base : 0, offset : 0 }; local_#12134 := ~lshr32(_memory[local_#12131], local_#12133); assume { :LIR "72322" } { :back_translation "visiting" } true; local_#12135 := 67108863; assume { :LIR "68762" } { :back_translation "visiting" } true; local_#12136 := ~uand32(local_#12134, local_#12135); assume { :LIR "60459" } { :back_translation "visiting" } true; local_#12137 := local_#12136; assume { :LIR "53008" } { :back_translation "assignment" } true; local_#31659_c := local_#12137; goto CFG_49487; CFG_49487: assume { :LIR "49487" } { :back_translation "block" } true; assume { :LIR "53009" } { :back_translation "assignment" } true; local_#12138 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; assume { :LIR "60460" } { :back_translation "visiting" } true; local_#12139 := _memory_ptr[local_#12138]; assume { :LIR "53010" } { :back_translation "assignment" } true; local_#12140 := { base : local_#12139!base, offset : local_#12139!offset + 0 }; assume { :LIR "53011" } { :back_translation "assignment" } true; local_#31660_h := local_#12140; assume { :LIR "72323" } { :back_translation "visiting" } true; local_#12141 := 1; assume { :LIR "67928" } { :back_translation "visiting" } true; local_#12142 := local_#31659_c - local_#12141; assume { :LIR "72324" } { :back_translation "visiting" } true; local_#12143 := 50; assume { :LIR "68529" } { :back_translation "visiting" } true; local_#12144 := local_#12142 * local_#12143; assume { :LIR "66457" } { :back_translation "visiting" } true; local_#12145 := local_#12144 + local_#31662_n; assume { :LIR "62490" } { :back_translation "visiting" } true; local_#12146 := ~uwrap32(local_#12145); assume { :LIR "53012" } { :back_translation "assignment" } true; local_#31661_last := local_#12146; assume { :LIR "65813" } { :back_translation "visiting" } true; local_#12147 := (if local_#31661_last > _memory[{ base : local_#31660_h!base, offset : local_#31660_h!offset + 12 }] then 1 else 0); if (local_#12147 != 0) { assume { :LIR "45869" } { :back_translation "taking-then-branch" } true; goto CFG_45869; } else { assume { :LIR "41665" } { :back_translation "taking-else-branch" } true; goto CFG_41665; } CFG_45869: assume { :LIR "45869" } { :back_translation "block" } true; assume { :LIR "79406" } { :back_translation "visiting" } true; call routine_#33776_luaH_resizearray(local_#4189_L,local_#31660_h,local_#31661_last); goto CFG_40100; CFG_40100: assume { :LIR "40100" } { :back_translation "block" } true; goto CFG_41665; CFG_41665: assume { :LIR "41665" } { :back_translation "block" } true; goto CFG_49488; CFG_49488: assume { :LIR "49488" } { :back_translation "block" } true; assume { :LIR "72325" } { :back_translation "visiting" } true; local_#12148 := 0; assume { :LIR "65814" } { :back_translation "visiting" } true; local_#12149 := (if local_#31662_n > local_#12148 then 1 else 0); if (local_#12149 != 0) { assume { :LIR "42416" } { :back_translation "taking-then-branch" } true; goto CFG_42416; } else { assume { :LIR "39509" } { :back_translation "taking-else-branch" } true; goto CFG_39509; } CFG_39509: assume { :LIR "39509" } { :back_translation "block" } true; assume { :LIR "53013" } { :back_translation "assignment" } true; assert { :LIR "139314" } { :check "null-dereference" } { :finding_ids "25,636,759,872" } local_#31476_ci != { base : 0, offset : 0 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; goto CFG_45008; CFG_42416: assume { :LIR "42416" } { :back_translation "block" } true; assume { :LIR "67076" } { :back_translation "visiting" } true; local_#12150 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31662_n * 16 }; assume { :LIR "53014" } { :back_translation "assignment" } true; local_#31663_val := local_#12150; assume { :LIR "53015" } { :back_translation "assignment" } true; local_#12151 := local_#31661_last; assume { :LIR "72326" } { :back_translation "visiting" } true; local_#12152 := 1; assume { :LIR "67929" } { :back_translation "visiting" } true; assume { :symbol "~uwrap32" } true; local_#31661_last := ~uwrap32(local_#12151 - local_#12152); assume { :LIR "62491" } { :back_translation "visiting" } true; local_#12153 := local_#12151; goto CFG_45870; CFG_45870: assume { :LIR "45870" } { :back_translation "block" } true; assume { :LIR "79407" } { :back_translation "visiting" } true; call routine_#33778_luaH_setint(local_#4189_L,local_#31660_h,local_#12153,local_#31663_val); goto CFG_49489; CFG_49489: assume { :LIR "49489" } { :back_translation "block" } true; assume { :LIR "72327" } { :back_translation "visiting" } true; local_#12154 := 64; assume { :LIR "68763" } { :back_translation "visiting" } true; assert { :LIR "139315" } { :check "null-dereference" } { :finding_ids "160,281,577,813" } local_#31663_val != { base : 0, offset : 0 }; local_#12155 := ~sand32(_memory[{ base : local_#31663_val!base, offset : local_#31663_val!offset + 8 }], local_#12154); if (local_#12155 != 0) { assume { :LIR "49490" } { :back_translation "taking-then-branch" } true; goto CFG_49490; } else { assume { :LIR "40101" } { :back_translation "taking-else-branch" } true; goto CFG_40101; } CFG_49490: assume { :LIR "49490" } { :back_translation "block" } true; assume { :LIR "62492" } { :back_translation "visiting" } true; local_#12156 := _memory[{ base : local_#31660_h!base, offset : local_#31660_h!offset + 9 }]; assume { :LIR "72328" } { :back_translation "visiting" } true; local_#12157 := 4; assume { :LIR "68764" } { :back_translation "visiting" } true; local_#12158 := ~sand32(local_#12156, local_#12157); if (local_#12158 != 0) { assume { :LIR "49491" } { :back_translation "taking-then-branch" } true; goto CFG_49491; } else { assume { :LIR "40101" } { :back_translation "taking-else-branch" } true; goto CFG_40101; } CFG_49491: assume { :LIR "49491" } { :back_translation "block" } true; assume { :LIR "53016" } { :back_translation "assignment" } true; local_#12159 := { base : local_#31663_val!base, offset : local_#31663_val!offset + 0 }; assume { :LIR "53017" } { :back_translation "assignment" } true; local_#12160 := _memory_ptr[local_#12159]; assume { :LIR "62493" } { :back_translation "visiting" } true; assert { :LIR "139317" } { :check "null-dereference" } { :finding_ids "216,309,463,682" } local_#12160 != { base : 0, offset : 0 }; local_#12161 := _memory[{ base : local_#12160!base, offset : local_#12160!offset + 9 }]; assume { :LIR "72329" } { :back_translation "visiting" } true; local_#12162 := 3; assume { :LIR "68765" } { :back_translation "visiting" } true; local_#12163 := ~sand32(local_#12161, local_#12162); if (local_#12163 != 0) { assume { :LIR "45871" } { :back_translation "taking-then-branch" } true; goto CFG_45871; } else { assume { :LIR "40101" } { :back_translation "taking-else-branch" } true; goto CFG_40101; } CFG_40101: assume { :LIR "40101" } { :back_translation "block" } true; assume { :LIR "72330" } { :back_translation "visiting" } true; local_#12164 := 0; assume { :LIR "60461" } { :back_translation "visiting" } true; local_#12165 := 0; goto CFG_45005; CFG_45871: assume { :LIR "45871" } { :back_translation "block" } true; assume { :LIR "79408" } { :back_translation "visiting" } true; call routine_#33721_luaC_barrierback_(local_#4189_L,local_#31660_h); goto CFG_40102; CFG_40102: assume { :LIR "40102" } { :back_translation "block" } true; goto CFG_45005; CFG_45005: assume { :LIR "45005" } { :back_translation "block" } true; assume { :LIR "53018" } { :back_translation "assignment" } true; local_#12166 := local_#31662_n; assume { :LIR "72331" } { :back_translation "visiting" } true; local_#12167 := 1; assume { :LIR "67930" } { :back_translation "visiting" } true; local_#31662_n := local_#12166 - local_#12167; assume { :LIR "53019" } { :back_translation "assignment" } true; local_#12168 := local_#12166; goto CFG_49488; CFG_41917: assume { :LIR "41917" } { :back_translation "block" } true; goto CFG_49492; CFG_42417: assume { :LIR "42417" } { :back_translation "block" } true; assume { :LIR "72332" } { :back_translation "visiting" } true; local_#12169 := 3; assume { :LIR "67077" } { :back_translation "visiting" } true; local_#12170 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12169 * 16 }; assume { :LIR "53020" } { :back_translation "assignment" } true; local_#31654_cb := local_#12170; assume { :LIR "72333" } { :back_translation "visiting" } true; local_#12171 := 2; assume { :LIR "67078" } { :back_translation "visiting" } true; local_#12172 := { base : local_#31654_cb!base, offset : local_#31654_cb!offset + local_#12171 * 16 }; assume { :LIR "53021" } { :back_translation "assignment" } true; local_#31655_io1 := local_#12172; assume { :LIR "72334" } { :back_translation "visiting" } true; local_#12173 := 2; assume { :LIR "67079" } { :back_translation "visiting" } true; local_#12174 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12173 * 16 }; assume { :LIR "53022" } { :back_translation "assignment" } true; assert { :LIR "137509" } { :check "null-dereference" } { :finding_ids "159,284,580,816" } local_#12174 != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_b == _memory[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_f == _memory_ptr[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_gc == _memory_ptr[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_i == _memory[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_p == _memory_ptr[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12174)!_tt_ == _memory[{ base : local_#12174!base, offset : local_#12174!offset + 8 }]; assert { :LIR "138393" } { :check "null-dereference" } { :finding_ids "158,283,579,815" } local_#31655_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31655_io1,read_type_#101(_memory, _memory_ptr, local_#12174)); assume { :LIR "60462" } { :back_translation "visiting" } true; local_#12175 := 0; assume { :LIR "72335" } { :back_translation "visiting" } true; local_#12176 := 0; assume { :LIR "60463" } { :back_translation "visiting" } true; local_#12177 := 0; assume { :LIR "72336" } { :back_translation "visiting" } true; local_#12178 := 1; assume { :LIR "67080" } { :back_translation "visiting" } true; local_#12179 := { base : local_#31654_cb!base, offset : local_#31654_cb!offset + local_#12178 * 16 }; assume { :LIR "53023" } { :back_translation "assignment" } true; local_#31656_io1 := local_#12179; assume { :LIR "72337" } { :back_translation "visiting" } true; local_#12180 := 1; assume { :LIR "67081" } { :back_translation "visiting" } true; local_#12181 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12180 * 16 }; assume { :LIR "53024" } { :back_translation "assignment" } true; assert { :LIR "137510" } { :check "null-dereference" } { :finding_ids "157,286,582,818" } local_#12181 != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_b == _memory[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_f == _memory_ptr[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_gc == _memory_ptr[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_i == _memory[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_p == _memory_ptr[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12181)!_tt_ == _memory[{ base : local_#12181!base, offset : local_#12181!offset + 8 }]; assert { :LIR "138394" } { :check "null-dereference" } { :finding_ids "156,285,581,817" } local_#31656_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31656_io1,read_type_#101(_memory, _memory_ptr, local_#12181)); assume { :LIR "60464" } { :back_translation "visiting" } true; local_#12182 := 0; assume { :LIR "72338" } { :back_translation "visiting" } true; local_#12183 := 0; assume { :LIR "60465" } { :back_translation "visiting" } true; local_#12184 := 0; assume { :LIR "53025" } { :back_translation "assignment" } true; local_#31657_io1 := local_#31654_cb; assume { :LIR "53026" } { :back_translation "assignment" } true; assert { :LIR "137511" } { :check "null-dereference" } { :finding_ids "124,176,259,723" } local_#31480_ra != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_b == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_f == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_gc == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_i == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_p == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_tt_ == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }]; assert { :LIR "138395" } { :check "null-dereference" } { :finding_ids "161,282,578,814" } local_#31657_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31657_io1,read_type_#101(_memory, _memory_ptr, local_#31480_ra)); assume { :LIR "60466" } { :back_translation "visiting" } true; local_#12185 := 0; assume { :LIR "72339" } { :back_translation "visiting" } true; local_#12186 := 0; assume { :LIR "60467" } { :back_translation "visiting" } true; local_#12187 := 0; assume { :LIR "72340" } { :back_translation "visiting" } true; local_#12188 := 3; assume { :LIR "67082" } { :back_translation "visiting" } true; local_#12189 := { base : local_#31654_cb!base, offset : local_#31654_cb!offset + local_#12188 * 16 }; assume { :LIR "53027" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12189; assume { :LIR "72341" } { :back_translation "visiting" } true; local_#12190 := 14; assume { :LIR "69541" } { :back_translation "visiting" } true; local_#12191 := ~lshr32(local_#31479_i, local_#12190); assume { :LIR "72342" } { :back_translation "visiting" } true; local_#12192 := 511; assume { :LIR "68766" } { :back_translation "visiting" } true; local_#12193 := ~uand32(local_#12191, local_#12192); assume { :LIR "60468" } { :back_translation "visiting" } true; local_#12194 := local_#12193; goto CFG_45872; CFG_45872: assume { :LIR "45872" } { :back_translation "block" } true; assume { :LIR "79409" } { :back_translation "visiting" } true; call routine_#33731_luaD_call(local_#4189_L,local_#31654_cb,local_#12194); goto CFG_45246; CFG_45246: assume { :LIR "45246" } { :back_translation "block" } true; assume { :LIR "53028" } { :back_translation "assignment" } true; local_#12195 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53029" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12195!base, offset : local_#12195!offset + 0 }]; assume { :LIR "53030" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; assume { :LIR "53031" } { :back_translation "assignment" } true; local_#12196 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53032" } { :back_translation "assignment" } true; local_#12197 := _memory_ptr[{ base : local_#12196!base, offset : local_#12196!offset + 8 }]; assume { :LIR "72343" } { :back_translation "visiting" } true; local_#12198 := 1; assume { :LIR "67083" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12196!base, offset : local_#12196!offset + 8 }] := { base : local_#12197!base, offset : local_#12197!offset + local_#12198 * 4 }; assume { :LIR "53033" } { :back_translation "assignment" } true; assert { :LIR "137512" } { :check "null-dereference" } { :finding_ids "217,310,469,683" } local_#12197 != { base : 0, offset : 0 }; local_#31479_i := _memory[local_#12197]; assume { :LIR "72344" } { :back_translation "visiting" } true; local_#12199 := 6; assume { :LIR "69542" } { :back_translation "visiting" } true; local_#12200 := ~lshr32(local_#31479_i, local_#12199); assume { :LIR "72345" } { :back_translation "visiting" } true; local_#12201 := 255; assume { :LIR "68767" } { :back_translation "visiting" } true; local_#12202 := ~uand32(local_#12200, local_#12201); assume { :LIR "60469" } { :back_translation "visiting" } true; local_#12203 := local_#12202; assume { :LIR "67084" } { :back_translation "visiting" } true; local_#12204 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12203 * 16 }; assume { :LIR "53034" } { :back_translation "assignment" } true; local_#31480_ra := local_#12204; assume { :LIR "72346" } { :back_translation "visiting" } true; local_#12205 := 0; assume { :LIR "60470" } { :back_translation "visiting" } true; local_#12206 := 0; goto CFG_49492; CFG_49492: assume { :LIR "49492" } { :back_translation "block" } true; assume { :LIR "72347" } { :back_translation "visiting" } true; local_#12207 := 1; assume { :LIR "67085" } { :back_translation "visiting" } true; local_#12208 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12207 * 16 }; assume { :LIR "72348" } { :back_translation "visiting" } true; local_#12209 := 0; assume { :LIR "64825" } { :back_translation "visiting" } true; assert { :LIR "139321" } { :check "null-dereference" } { :finding_ids "190,287,583,819" } local_#12208 != { base : 0, offset : 0 }; local_#12210 := (if _memory[{ base : local_#12208!base, offset : local_#12208!offset + 8 }] == local_#12209 then 1 else 0); assume { :LIR "64515" } { :back_translation "visiting" } true; local_#12211 := (if local_#12210 != 0 then 0 else 1); if (local_#12211 != 0) { assume { :LIR "40103" } { :back_translation "taking-then-branch" } true; goto CFG_40103; } else { assume { :LIR "39510" } { :back_translation "taking-else-branch" } true; goto CFG_39510; } CFG_40103: assume { :LIR "40103" } { :back_translation "block" } true; assume { :LIR "53035" } { :back_translation "assignment" } true; local_#31658_io1 := local_#31480_ra; assume { :LIR "72349" } { :back_translation "visiting" } true; local_#12212 := 1; assume { :LIR "67086" } { :back_translation "visiting" } true; local_#12213 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12212 * 16 }; assume { :LIR "53036" } { :back_translation "assignment" } true; assert { :LIR "137513" } { :check "null-dereference" } { :finding_ids "186,288,584,820" } local_#12213 != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_b == _memory[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_f == _memory_ptr[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_gc == _memory_ptr[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_i == _memory[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_p == _memory_ptr[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12213)!_tt_ == _memory[{ base : local_#12213!base, offset : local_#12213!offset + 8 }]; assert { :LIR "138396" } { :check "null-dereference" } { :finding_ids "212,314,461,678" } local_#31658_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31658_io1,read_type_#101(_memory, _memory_ptr, local_#12213)); assume { :LIR "60471" } { :back_translation "visiting" } true; local_#12214 := 0; assume { :LIR "72350" } { :back_translation "visiting" } true; local_#12215 := 0; assume { :LIR "60472" } { :back_translation "visiting" } true; local_#12216 := 0; assume { :LIR "72351" } { :back_translation "visiting" } true; local_#12217 := 14; assume { :LIR "69543" } { :back_translation "visiting" } true; local_#12218 := ~lshr32(local_#31479_i, local_#12217); assume { :LIR "72352" } { :back_translation "visiting" } true; local_#12219 := 262143; assume { :LIR "68768" } { :back_translation "visiting" } true; local_#12220 := ~uand32(local_#12218, local_#12219); assume { :LIR "60473" } { :back_translation "visiting" } true; local_#12221 := local_#12220; assume { :LIR "72353" } { :back_translation "visiting" } true; local_#12222 := 131071; assume { :LIR "67931" } { :back_translation "visiting" } true; local_#12223 := local_#12221 - local_#12222; assume { :LIR "53037" } { :back_translation "assignment" } true; local_#12224 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67087" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12224!base, offset : local_#12224!offset + 8 }] := { base : _memory_ptr[{ base : local_#12224!base, offset : local_#12224!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12224!base, offset : local_#12224!offset + 8 }]!offset + local_#12223 * 4 }; goto CFG_39510; CFG_39510: assume { :LIR "39510" } { :back_translation "block" } true; goto CFG_45008; CFG_49493: assume { :LIR "49493" } { :back_translation "block" } true; assume { :LIR "53038" } { :back_translation "assignment" } true; local_#31641_init := local_#31480_ra; assume { :LIR "72354" } { :back_translation "visiting" } true; local_#12225 := 1; assume { :LIR "67088" } { :back_translation "visiting" } true; local_#12226 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12225 * 16 }; assume { :LIR "53039" } { :back_translation "assignment" } true; local_#31642_plimit := local_#12226; assume { :LIR "72355" } { :back_translation "visiting" } true; local_#12227 := 2; assume { :LIR "67089" } { :back_translation "visiting" } true; local_#12228 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12227 * 16 }; assume { :LIR "53040" } { :back_translation "assignment" } true; local_#31643_pstep := local_#12228; assume { :LIR "72356" } { :back_translation "visiting" } true; local_#12229 := 19; assume { :LIR "64826" } { :back_translation "visiting" } true; assert { :LIR "139323" } { :check "null-dereference" } { :finding_ids "90,224,299,689" } local_#31641_init != { base : 0, offset : 0 }; local_#12230 := (if _memory[{ base : local_#31641_init!base, offset : local_#31641_init!offset + 8 }] == local_#12229 then 1 else 0); if (local_#12230 != 0) { assume { :LIR "49494" } { :back_translation "taking-then-branch" } true; goto CFG_49494; } else { assume { :LIR "49496" } { :back_translation "taking-else-branch" } true; goto CFG_49496; } CFG_49494: assume { :LIR "49494" } { :back_translation "block" } true; assume { :LIR "72357" } { :back_translation "visiting" } true; local_#12231 := 19; assume { :LIR "64827" } { :back_translation "visiting" } true; assert { :LIR "139324" } { :check "null-dereference" } { :finding_ids "6,617,750,853" } local_#31643_pstep != { base : 0, offset : 0 }; local_#12232 := (if _memory[{ base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 8 }] == local_#12231 then 1 else 0); if (local_#12232 != 0) { assume { :LIR "42418" } { :back_translation "taking-then-branch" } true; goto CFG_42418; } else { assume { :LIR "49496" } { :back_translation "taking-else-branch" } true; goto CFG_49496; } CFG_42418: assume { :LIR "42418" } { :back_translation "block" } true; assume { :LIR "62494" } { :back_translation "visiting" } true; local_#12233 := local_#31642_plimit; assume { :LIR "53041" } { :back_translation "assignment" } true; local_#12234 := local_#31640_ilimit; assume { :LIR "53042" } { :back_translation "assignment" } true; local_#12235 := { base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 0 }; assume { :LIR "53043" } { :back_translation "assignment" } true; local_#12236 := _memory[local_#12235]; assume { :LIR "53044" } { :back_translation "assignment" } true; local_#12237 := local_#31644_stopnow; goto CFG_45873; CFG_45873: assume { :LIR "45873" } { :back_translation "block" } true; assume { :LIR "79410" } { :back_translation "visiting" } true; call local_#12238 := routine_#34755_forlimit(local_#12233,local_#12234,local_#12236,local_#12237); goto CFG_49495; CFG_49495: assume { :LIR "49495" } { :back_translation "block" } true; assume { :LIR "53045" } { :back_translation "assignment" } true; local_#12239 := local_#12238; if (local_#12239 != 0) { assume { :LIR "49505" } { :back_translation "taking-then-branch" } true; goto CFG_49505; } else { assume { :LIR "49496" } { :back_translation "taking-else-branch" } true; goto CFG_49496; } CFG_49496: assume { :LIR "49496" } { :back_translation "block" } true; assume { :LIR "72358" } { :back_translation "visiting" } true; local_#12240 := 3; assume { :LIR "64828" } { :back_translation "visiting" } true; assert { :LIR "139325" } { :check "null-dereference" } { :finding_ids "155,290,586,822" } local_#31642_plimit != { base : 0, offset : 0 }; local_#12241 := (if _memory[{ base : local_#31642_plimit!base, offset : local_#31642_plimit!offset + 8 }] == local_#12240 then 1 else 0); if (local_#12241 != 0) { assume { :LIR "49498" } { :back_translation "taking-then-branch" } true; goto CFG_49498; } else { assume { :LIR "42419" } { :back_translation "taking-else-branch" } true; goto CFG_42419; } CFG_42419: assume { :LIR "42419" } { :back_translation "block" } true; assume { :LIR "62495" } { :back_translation "visiting" } true; local_#12242 := local_#31642_plimit; assume { :LIR "53046" } { :back_translation "assignment" } true; local_#12243 := local_#31649_nlimit; goto CFG_45874; CFG_45874: assume { :LIR "45874" } { :back_translation "block" } true; assume { :LIR "79411" } { :back_translation "visiting" } true; call local_#12244 := routine_#33904_luaV_tonumber_(local_#12242,local_#12243); goto CFG_49497; CFG_49497: assume { :LIR "49497" } { :back_translation "block" } true; assume { :LIR "53047" } { :back_translation "assignment" } true; local_#12245 := local_#12244; if (local_#12245 != 0) { assume { :LIR "49499" } { :back_translation "taking-then-branch" } true; goto CFG_49499; } else { assume { :LIR "42420" } { :back_translation "taking-else-branch" } true; goto _routine_#33894_luaV_execute_SLICED_OUT_BLOCK; } CFG_49498: assume { :LIR "49498" } { :back_translation "block" } true; assume { :LIR "53048" } { :back_translation "assignment" } true; local_#12246 := { base : local_#31642_plimit!base, offset : local_#31642_plimit!offset + 0 }; assume { :LIR "53049" } { :back_translation "assignment" } true; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53050" } { :back_translation "assignment" } true; havoc nondet_#1; local_#12247 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72359" } { :back_translation "visiting" } true; local_#12248 := 1; if (local_#12248 != 0) { assume { :LIR "49499" } { :back_translation "taking-then-branch" } true; goto CFG_49499; } else { assume { :LIR "42420" } { :back_translation "taking-else-branch" } true; goto _routine_#33894_luaV_execute_SLICED_OUT_BLOCK; } CFG_49499: assume { :LIR "49499" } { :back_translation "block" } true; assume { :LIR "53051" } { :back_translation "assignment" } true; local_#31651_io := local_#31642_plimit; assume { :LIR "53052" } { :back_translation "assignment" } true; local_#12251 := { base : local_#31651_io!base, offset : local_#31651_io!offset + 0 }; assume { :LIR "53053" } { :back_translation "assignment" } true; havoc nondet_#2; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72360" } { :back_translation "visiting" } true; _memory[{ base : local_#31651_io!base, offset : local_#31651_io!offset + 8 }] := 3; assume { :LIR "72361" } { :back_translation "visiting" } true; local_#12252 := 3; assume { :LIR "64829" } { :back_translation "visiting" } true; assert { :LIR "139326" } { :check "null-dereference" } { :finding_ids "5,616,753,852" } local_#31643_pstep != { base : 0, offset : 0 }; local_#12253 := (if _memory[{ base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 8 }] == local_#12252 then 1 else 0); if (local_#12253 != 0) { assume { :LIR "49501" } { :back_translation "taking-then-branch" } true; goto CFG_49501; } else { assume { :LIR "42421" } { :back_translation "taking-else-branch" } true; goto CFG_42421; } CFG_42421: assume { :LIR "42421" } { :back_translation "block" } true; assume { :LIR "62497" } { :back_translation "visiting" } true; local_#12254 := local_#31643_pstep; assume { :LIR "53054" } { :back_translation "assignment" } true; local_#12255 := local_#31650_nstep; goto CFG_45876; CFG_45876: assume { :LIR "45876" } { :back_translation "block" } true; assume { :LIR "79413" } { :back_translation "visiting" } true; call local_#12256 := routine_#33904_luaV_tonumber_(local_#12254,local_#12255); goto CFG_49500; CFG_49500: assume { :LIR "49500" } { :back_translation "block" } true; assume { :LIR "53055" } { :back_translation "assignment" } true; local_#12257 := local_#12256; if (local_#12257 != 0) { assume { :LIR "49502" } { :back_translation "taking-then-branch" } true; goto CFG_49502; } else { assume { :LIR "42422" } { :back_translation "taking-else-branch" } true; goto _routine_#33894_luaV_execute_SLICED_OUT_BLOCK; } CFG_49501: assume { :LIR "49501" } { :back_translation "block" } true; assume { :LIR "53056" } { :back_translation "assignment" } true; local_#12258 := { base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 0 }; assume { :LIR "53057" } { :back_translation "assignment" } true; havoc nondet_#3; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53058" } { :back_translation "assignment" } true; havoc nondet_#4; local_#12259 := nondet_#4 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72362" } { :back_translation "visiting" } true; local_#12260 := 1; if (local_#12260 != 0) { assume { :LIR "49502" } { :back_translation "taking-then-branch" } true; goto CFG_49502; } else { assume { :LIR "42422" } { :back_translation "taking-else-branch" } true; goto _routine_#33894_luaV_execute_SLICED_OUT_BLOCK; } CFG_49502: assume { :LIR "49502" } { :back_translation "block" } true; assume { :LIR "53059" } { :back_translation "assignment" } true; local_#31652_io := local_#31643_pstep; assume { :LIR "53060" } { :back_translation "assignment" } true; local_#12263 := { base : local_#31652_io!base, offset : local_#31652_io!offset + 0 }; assume { :LIR "53061" } { :back_translation "assignment" } true; havoc nondet_#5; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72363" } { :back_translation "visiting" } true; _memory[{ base : local_#31652_io!base, offset : local_#31652_io!offset + 8 }] := 3; assume { :LIR "72364" } { :back_translation "visiting" } true; local_#12264 := 3; assume { :LIR "64830" } { :back_translation "visiting" } true; local_#12265 := (if _memory[{ base : local_#31641_init!base, offset : local_#31641_init!offset + 8 }] == local_#12264 then 1 else 0); if (local_#12265 != 0) { assume { :LIR "49504" } { :back_translation "taking-then-branch" } true; goto CFG_49504; } else { assume { :LIR "42423" } { :back_translation "taking-else-branch" } true; goto CFG_42423; } CFG_42423: assume { :LIR "42423" } { :back_translation "block" } true; assume { :LIR "62499" } { :back_translation "visiting" } true; local_#12266 := local_#31641_init; assume { :LIR "53062" } { :back_translation "assignment" } true; local_#12267 := local_#31648_ninit; goto CFG_45878; CFG_45878: assume { :LIR "45878" } { :back_translation "block" } true; assume { :LIR "79415" } { :back_translation "visiting" } true; call local_#12268 := routine_#33904_luaV_tonumber_(local_#12266,local_#12267); goto CFG_49503; CFG_49503: assume { :LIR "49503" } { :back_translation "block" } true; assume { :LIR "53063" } { :back_translation "assignment" } true; local_#12269 := local_#12268; if (local_#12269 != 0) { assume { :LIR "40104" } { :back_translation "taking-then-branch" } true; goto CFG_40104; } else { assume { :LIR "42424" } { :back_translation "taking-else-branch" } true; goto _routine_#33894_luaV_execute_SLICED_OUT_BLOCK; } CFG_49504: assume { :LIR "49504" } { :back_translation "block" } true; assume { :LIR "53064" } { :back_translation "assignment" } true; local_#12270 := { base : local_#31641_init!base, offset : local_#31641_init!offset + 0 }; assume { :LIR "53065" } { :back_translation "assignment" } true; havoc nondet_#6; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53066" } { :back_translation "assignment" } true; havoc nondet_#7; local_#12271 := nondet_#7 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72365" } { :back_translation "visiting" } true; local_#12272 := 1; if (local_#12272 != 0) { assume { :LIR "40104" } { :back_translation "taking-then-branch" } true; goto CFG_40104; } else { assume { :LIR "42424" } { :back_translation "taking-else-branch" } true; goto _routine_#33894_luaV_execute_SLICED_OUT_BLOCK; } CFG_40104: assume { :LIR "40104" } { :back_translation "block" } true; assume { :LIR "53067" } { :back_translation "assignment" } true; local_#31653_io := local_#31641_init; assume { :LIR "67932" } { :back_translation "visiting" } true; havoc nondet_#8; havoc nondet_#9; havoc nondet_#10; local_#12275 := nondet_#10 /* IR2BOOGIE-ERROR: Unsupported type for binary - in 67932. */; assume { :LIR "53068" } { :back_translation "assignment" } true; local_#12276 := { base : local_#31653_io!base, offset : local_#31653_io!offset + 0 }; assume { :LIR "53069" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72366" } { :back_translation "visiting" } true; _memory[{ base : local_#31653_io!base, offset : local_#31653_io!offset + 8 }] := 3; goto CFG_39511; CFG_49505: assume { :LIR "49505" } { :back_translation "block" } true; assume { :LIR "53070" } { :back_translation "assignment" } true; local_#12277 := _memory[local_#31644_stopnow]; if (local_#12277 != 0) { assume { :LIR "40106" } { :back_translation "taking-then-branch" } true; goto CFG_40106; } else { assume { :LIR "40105" } { :back_translation "taking-else-branch" } true; goto CFG_40105; } CFG_40105: assume { :LIR "40105" } { :back_translation "block" } true; assume { :LIR "53071" } { :back_translation "assignment" } true; local_#12278 := { base : local_#31641_init!base, offset : local_#31641_init!offset + 0 }; assume { :LIR "53072" } { :back_translation "assignment" } true; local_#30635 := _memory[local_#12278]; goto CFG_40107; CFG_40106: assume { :LIR "40106" } { :back_translation "block" } true; assume { :LIR "72367" } { :back_translation "visiting" } true; local_#30635 := 0; goto CFG_40107; CFG_40107: assume { :LIR "40107" } { :back_translation "block" } true; assume { :LIR "53073" } { :back_translation "assignment" } true; local_#31645_initv := local_#30635; assume { :LIR "53074" } { :back_translation "assignment" } true; local_#31646_io := local_#31642_plimit; assume { :LIR "53075" } { :back_translation "assignment" } true; local_#12279 := { base : local_#31646_io!base, offset : local_#31646_io!offset + 0 }; assume { :LIR "53076" } { :back_translation "assignment" } true; _memory[local_#12279] := _memory[local_#31640_ilimit]; assume { :LIR "72368" } { :back_translation "visiting" } true; _memory[{ base : local_#31646_io!base, offset : local_#31646_io!offset + 8 }] := 19; assume { :LIR "53077" } { :back_translation "assignment" } true; local_#31647_io := local_#31641_init; assume { :LIR "60474" } { :back_translation "visiting" } true; local_#12280 := ~uwrap64(local_#31645_initv); assume { :LIR "53078" } { :back_translation "assignment" } true; local_#12281 := { base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 0 }; assume { :LIR "60475" } { :back_translation "visiting" } true; local_#12282 := ~uwrap64(_memory[local_#12281]); assume { :LIR "67933" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#12283 := ~uwrap64(local_#12280 - local_#12282); assume { :LIR "60476" } { :back_translation "visiting" } true; local_#12284 := local_#12283; assume { :LIR "53079" } { :back_translation "assignment" } true; local_#12285 := { base : local_#31647_io!base, offset : local_#31647_io!offset + 0 }; assume { :LIR "53080" } { :back_translation "assignment" } true; _memory[local_#12285] := local_#12284; assume { :LIR "72369" } { :back_translation "visiting" } true; _memory[{ base : local_#31647_io!base, offset : local_#31647_io!offset + 8 }] := 19; goto CFG_39511; CFG_39511: assume { :LIR "39511" } { :back_translation "block" } true; assume { :LIR "72370" } { :back_translation "visiting" } true; local_#12286 := 14; assume { :LIR "69544" } { :back_translation "visiting" } true; local_#12287 := ~lshr32(local_#31479_i, local_#12286); assume { :LIR "72371" } { :back_translation "visiting" } true; local_#12288 := 262143; assume { :LIR "68769" } { :back_translation "visiting" } true; local_#12289 := ~uand32(local_#12287, local_#12288); assume { :LIR "60477" } { :back_translation "visiting" } true; local_#12290 := local_#12289; assume { :LIR "72372" } { :back_translation "visiting" } true; local_#12291 := 131071; assume { :LIR "67934" } { :back_translation "visiting" } true; local_#12292 := local_#12290 - local_#12291; assume { :LIR "53081" } { :back_translation "assignment" } true; local_#12293 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67090" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12293!base, offset : local_#12293!offset + 8 }] := { base : _memory_ptr[{ base : local_#12293!base, offset : local_#12293!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12293!base, offset : local_#12293!offset + 8 }]!offset + local_#12292 * 4 }; goto CFG_45008; CFG_49506: assume { :LIR "49506" } { :back_translation "block" } true; assume { :LIR "72373" } { :back_translation "visiting" } true; local_#12294 := 19; assume { :LIR "64831" } { :back_translation "visiting" } true; assert { :LIR "139329" } { :check "null-dereference" } { :finding_ids "126,174,261,725" } local_#31480_ra != { base : 0, offset : 0 }; local_#12295 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12294 then 1 else 0); if (local_#12295 != 0) { assume { :LIR "49510" } { :back_translation "taking-then-branch" } true; goto CFG_49510; } else { assume { :LIR "49507" } { :back_translation "taking-else-branch" } true; goto CFG_49507; } CFG_49507: assume { :LIR "49507" } { :back_translation "block" } true; assume { :LIR "72374" } { :back_translation "visiting" } true; local_#12296 := 2; assume { :LIR "67091" } { :back_translation "visiting" } true; local_#12297 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12296 * 16 }; assume { :LIR "53082" } { :back_translation "assignment" } true; local_#12298 := { base : local_#12297!base, offset : local_#12297!offset + 0 }; assume { :LIR "53083" } { :back_translation "assignment" } true; havoc nondet_#11; local_#31637_step := nondet_#11 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "53084" } { :back_translation "assignment" } true; local_#12299 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; assume { :LIR "66458" } { :back_translation "visiting" } true; havoc nondet_#12; havoc nondet_#13; local_#12300 := nondet_#13 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66458. */; assume { :LIR "53085" } { :back_translation "assignment" } true; local_#31635_idx := local_#12300; assume { :LIR "72375" } { :back_translation "visiting" } true; local_#12301 := 1; assume { :LIR "67092" } { :back_translation "visiting" } true; local_#12302 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12301 * 16 }; assume { :LIR "53086" } { :back_translation "assignment" } true; local_#12303 := { base : local_#12302!base, offset : local_#12302!offset + 0 }; assume { :LIR "53087" } { :back_translation "assignment" } true; havoc nondet_#14; local_#31636_limit := nondet_#14 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "78594" } { :back_translation "visiting" } true; havoc nondet_#15; local_#12304 := nondet_#15 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78594 */; assume { :LIR "66170" } { :back_translation "visiting" } true; havoc nondet_#16; local_#12305 := (if nondet_#16 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66170. */ then 1 else 0); if (local_#12305 != 0) { assume { :LIR "49509" } { :back_translation "taking-then-branch" } true; goto CFG_49509; } else { assume { :LIR "49508" } { :back_translation "taking-else-branch" } true; goto CFG_49508; } CFG_49508: assume { :LIR "49508" } { :back_translation "block" } true; assume { :LIR "66023" } { :back_translation "visiting" } true; havoc nondet_#17; local_#12306 := (if nondet_#17 /* IR2BOOGIE-ERROR: Unsupported type for relation <= in 66023. */ then 1 else 0); if (local_#12306 != 0) { assume { :LIR "40108" } { :back_translation "taking-then-branch" } true; goto CFG_40108; } else { assume { :LIR "40109" } { :back_translation "taking-else-branch" } true; goto CFG_40109; } CFG_49509: assume { :LIR "49509" } { :back_translation "block" } true; assume { :LIR "66024" } { :back_translation "visiting" } true; havoc nondet_#18; local_#12307 := (if nondet_#18 /* IR2BOOGIE-ERROR: Unsupported type for relation <= in 66024. */ then 1 else 0); if (local_#12307 != 0) { assume { :LIR "40108" } { :back_translation "taking-then-branch" } true; goto CFG_40108; } else { assume { :LIR "40109" } { :back_translation "taking-else-branch" } true; goto CFG_40109; } CFG_40108: assume { :LIR "40108" } { :back_translation "block" } true; assume { :LIR "72376" } { :back_translation "visiting" } true; local_#12308 := 14; assume { :LIR "69545" } { :back_translation "visiting" } true; local_#12309 := ~lshr32(local_#31479_i, local_#12308); assume { :LIR "72377" } { :back_translation "visiting" } true; local_#12310 := 262143; assume { :LIR "68770" } { :back_translation "visiting" } true; local_#12311 := ~uand32(local_#12309, local_#12310); assume { :LIR "60478" } { :back_translation "visiting" } true; local_#12312 := local_#12311; assume { :LIR "72378" } { :back_translation "visiting" } true; local_#12313 := 131071; assume { :LIR "67935" } { :back_translation "visiting" } true; local_#12314 := local_#12312 - local_#12313; assume { :LIR "53088" } { :back_translation "assignment" } true; local_#12315 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67093" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12315!base, offset : local_#12315!offset + 8 }] := { base : _memory_ptr[{ base : local_#12315!base, offset : local_#12315!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12315!base, offset : local_#12315!offset + 8 }]!offset + local_#12314 * 4 }; assume { :LIR "53089" } { :back_translation "assignment" } true; local_#31638_io := local_#31480_ra; assume { :LIR "72379" } { :back_translation "visiting" } true; local_#12316 := 0; assume { :LIR "60479" } { :back_translation "visiting" } true; local_#12317 := 0; assume { :LIR "53090" } { :back_translation "assignment" } true; local_#12318 := { base : local_#31638_io!base, offset : local_#31638_io!offset + 0 }; assume { :LIR "53091" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72380" } { :back_translation "visiting" } true; local_#12319 := 3; assume { :LIR "67094" } { :back_translation "visiting" } true; local_#12320 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12319 * 16 }; assume { :LIR "53092" } { :back_translation "assignment" } true; local_#31639_io := local_#12320; assume { :LIR "53093" } { :back_translation "assignment" } true; local_#12321 := { base : local_#31639_io!base, offset : local_#31639_io!offset + 0 }; assume { :LIR "53094" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72381" } { :back_translation "visiting" } true; _memory[{ base : local_#31639_io!base, offset : local_#31639_io!offset + 8 }] := 3; goto CFG_40109; CFG_40109: assume { :LIR "40109" } { :back_translation "block" } true; goto CFG_39512; CFG_49510: assume { :LIR "49510" } { :back_translation "block" } true; assume { :LIR "72382" } { :back_translation "visiting" } true; local_#12322 := 2; assume { :LIR "67095" } { :back_translation "visiting" } true; local_#12323 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12322 * 16 }; assume { :LIR "53095" } { :back_translation "assignment" } true; local_#12324 := { base : local_#12323!base, offset : local_#12323!offset + 0 }; assume { :LIR "53096" } { :back_translation "assignment" } true; local_#31632_step := _memory[local_#12324]; assume { :LIR "53097" } { :back_translation "assignment" } true; local_#12325 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; assume { :LIR "60480" } { :back_translation "visiting" } true; local_#12326 := ~uwrap64(_memory[local_#12325]); assume { :LIR "60481" } { :back_translation "visiting" } true; local_#12327 := ~uwrap64(local_#31632_step); assume { :LIR "66459" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#12328 := ~uwrap64(local_#12326 + local_#12327); assume { :LIR "60482" } { :back_translation "visiting" } true; local_#12329 := local_#12328; assume { :LIR "53098" } { :back_translation "assignment" } true; local_#31630_idx := local_#12329; assume { :LIR "72383" } { :back_translation "visiting" } true; local_#12330 := 1; assume { :LIR "67096" } { :back_translation "visiting" } true; local_#12331 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12330 * 16 }; assume { :LIR "53099" } { :back_translation "assignment" } true; local_#12332 := { base : local_#12331!base, offset : local_#12331!offset + 0 }; assume { :LIR "53100" } { :back_translation "assignment" } true; local_#31631_limit := _memory[local_#12332]; assume { :LIR "72384" } { :back_translation "visiting" } true; local_#12333 := 0; assume { :LIR "66171" } { :back_translation "visiting" } true; local_#12334 := (if local_#12333 < local_#31632_step then 1 else 0); if (local_#12334 != 0) { assume { :LIR "49512" } { :back_translation "taking-then-branch" } true; goto CFG_49512; } else { assume { :LIR "49511" } { :back_translation "taking-else-branch" } true; goto CFG_49511; } CFG_49511: assume { :LIR "49511" } { :back_translation "block" } true; assume { :LIR "66025" } { :back_translation "visiting" } true; local_#12335 := (if local_#31631_limit <= local_#31630_idx then 1 else 0); if (local_#12335 != 0) { assume { :LIR "40110" } { :back_translation "taking-then-branch" } true; goto CFG_40110; } else { assume { :LIR "40111" } { :back_translation "taking-else-branch" } true; goto CFG_40111; } CFG_49512: assume { :LIR "49512" } { :back_translation "block" } true; assume { :LIR "66026" } { :back_translation "visiting" } true; local_#12336 := (if local_#31630_idx <= local_#31631_limit then 1 else 0); if (local_#12336 != 0) { assume { :LIR "40110" } { :back_translation "taking-then-branch" } true; goto CFG_40110; } else { assume { :LIR "40111" } { :back_translation "taking-else-branch" } true; goto CFG_40111; } CFG_40110: assume { :LIR "40110" } { :back_translation "block" } true; assume { :LIR "72385" } { :back_translation "visiting" } true; local_#12337 := 14; assume { :LIR "69546" } { :back_translation "visiting" } true; local_#12338 := ~lshr32(local_#31479_i, local_#12337); assume { :LIR "72386" } { :back_translation "visiting" } true; local_#12339 := 262143; assume { :LIR "68771" } { :back_translation "visiting" } true; local_#12340 := ~uand32(local_#12338, local_#12339); assume { :LIR "60483" } { :back_translation "visiting" } true; local_#12341 := local_#12340; assume { :LIR "72387" } { :back_translation "visiting" } true; local_#12342 := 131071; assume { :LIR "67936" } { :back_translation "visiting" } true; local_#12343 := local_#12341 - local_#12342; assume { :LIR "53101" } { :back_translation "assignment" } true; local_#12344 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67097" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12344!base, offset : local_#12344!offset + 8 }] := { base : _memory_ptr[{ base : local_#12344!base, offset : local_#12344!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12344!base, offset : local_#12344!offset + 8 }]!offset + local_#12343 * 4 }; assume { :LIR "53102" } { :back_translation "assignment" } true; local_#31633_io := local_#31480_ra; assume { :LIR "72388" } { :back_translation "visiting" } true; local_#12345 := 0; assume { :LIR "60484" } { :back_translation "visiting" } true; local_#12346 := 0; assume { :LIR "53103" } { :back_translation "assignment" } true; local_#12347 := { base : local_#31633_io!base, offset : local_#31633_io!offset + 0 }; assume { :LIR "53104" } { :back_translation "assignment" } true; _memory[local_#12347] := local_#31630_idx; assume { :LIR "72389" } { :back_translation "visiting" } true; local_#12348 := 3; assume { :LIR "67098" } { :back_translation "visiting" } true; local_#12349 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12348 * 16 }; assume { :LIR "53105" } { :back_translation "assignment" } true; local_#31634_io := local_#12349; assume { :LIR "53106" } { :back_translation "assignment" } true; local_#12350 := { base : local_#31634_io!base, offset : local_#31634_io!offset + 0 }; assume { :LIR "53107" } { :back_translation "assignment" } true; _memory[local_#12350] := local_#31630_idx; assume { :LIR "72390" } { :back_translation "visiting" } true; _memory[{ base : local_#31634_io!base, offset : local_#31634_io!offset + 8 }] := 19; goto CFG_40111; CFG_40111: assume { :LIR "40111" } { :back_translation "block" } true; goto CFG_39512; CFG_39512: assume { :LIR "39512" } { :back_translation "block" } true; goto CFG_45008; CFG_49513: assume { :LIR "49513" } { :back_translation "block" } true; assume { :LIR "72391" } { :back_translation "visiting" } true; local_#12351 := 23; assume { :LIR "69547" } { :back_translation "visiting" } true; local_#12352 := ~lshr32(local_#31479_i, local_#12351); assume { :LIR "72392" } { :back_translation "visiting" } true; local_#12353 := 511; assume { :LIR "68772" } { :back_translation "visiting" } true; local_#12354 := ~uand32(local_#12352, local_#12353); assume { :LIR "60485" } { :back_translation "visiting" } true; local_#12355 := local_#12354; assume { :LIR "53108" } { :back_translation "assignment" } true; local_#31629_b := local_#12355; assume { :LIR "53109" } { :back_translation "assignment" } true; local_#12356 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; assume { :LIR "72393" } { :back_translation "visiting" } true; local_#12357 := 0; assume { :LIR "65815" } { :back_translation "visiting" } true; assert { :LIR "139333" } { :check "null-dereference" } { :finding_ids "20,631,775,867" } local_#12356 != { base : 0, offset : 0 }; local_#12358 := (if _memory[{ base : local_#12356!base, offset : local_#12356!offset + 32 }] > local_#12357 then 1 else 0); if (local_#12358 != 0) { assume { :LIR "45880" } { :back_translation "taking-then-branch" } true; goto CFG_45880; } else { assume { :LIR "49514" } { :back_translation "taking-else-branch" } true; goto CFG_49514; } CFG_45880: assume { :LIR "45880" } { :back_translation "block" } true; assume { :LIR "79417" } { :back_translation "visiting" } true; call routine_#33749_luaF_close(local_#4189_L,local_#31475_base); goto CFG_40112; CFG_40112: assume { :LIR "40112" } { :back_translation "block" } true; goto CFG_49514; CFG_49514: assume { :LIR "49514" } { :back_translation "block" } true; assume { :LIR "72394" } { :back_translation "visiting" } true; local_#12359 := 0; assume { :LIR "65484" } { :back_translation "visiting" } true; local_#12360 := (if local_#31629_b != local_#12359 then 1 else 0); if (local_#12360 != 0) { assume { :LIR "40114" } { :back_translation "taking-then-branch" } true; goto CFG_40114; } else { assume { :LIR "40113" } { :back_translation "taking-else-branch" } true; goto CFG_40113; } CFG_40113: assume { :LIR "40113" } { :back_translation "block" } true; assume { :LIR "68442" } { :back_translation "visiting" } true; local_#12361 := (_memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]!offset - local_#31480_ra!offset) / 16; assume { :LIR "60486" } { :back_translation "visiting" } true; local_#12362 := local_#12361; assume { :LIR "53110" } { :back_translation "assignment" } true; local_#30636 := local_#12362; goto CFG_45881; CFG_40114: assume { :LIR "40114" } { :back_translation "block" } true; assume { :LIR "72395" } { :back_translation "visiting" } true; local_#12363 := 1; assume { :LIR "67937" } { :back_translation "visiting" } true; local_#12364 := local_#31629_b - local_#12363; assume { :LIR "53111" } { :back_translation "assignment" } true; local_#30636 := local_#12364; goto CFG_45881; CFG_45881: assume { :LIR "45881" } { :back_translation "block" } true; assume { :LIR "79418" } { :back_translation "visiting" } true; call local_#12365 := routine_#33737_luaD_poscall(local_#4189_L,local_#31476_ci,local_#31480_ra,local_#30636); goto CFG_49515; CFG_49515: assume { :LIR "49515" } { :back_translation "block" } true; assume { :LIR "53112" } { :back_translation "assignment" } true; local_#31629_b := local_#12365; assume { :LIR "62501" } { :back_translation "visiting" } true; assert { :LIR "139335" } { :check "null-dereference" } { :finding_ids "80,370,421,517" } local_#31476_ci != { base : 0, offset : 0 }; local_#12366 := _memory[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 66 }]; assume { :LIR "72396" } { :back_translation "visiting" } true; local_#12367 := 8; assume { :LIR "68773" } { :back_translation "visiting" } true; local_#12368 := ~sand32(local_#12366, local_#12367); if (local_#12368 != 0) { assume { :LIR "39169" } { :back_translation "taking-then-branch" } true; goto _routine_#33894_luaV_execute_SLICED_OUT_BLOCK; } else { assume { :LIR "49516" } { :back_translation "taking-else-branch" } true; goto CFG_49516; } CFG_49516: assume { :LIR "49516" } { :back_translation "block" } true; assume { :LIR "53113" } { :back_translation "assignment" } true; local_#31476_ci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; assume { :LIR "53114" } { :back_translation "assignment" } true; local_#12369 := local_#31629_b; if (local_#12369 != 0) { assume { :LIR "40115" } { :back_translation "taking-then-branch" } true; goto CFG_40115; } else { assume { :LIR "45247" } { :back_translation "taking-else-branch" } true; goto CFG_45247; } CFG_40115: assume { :LIR "40115" } { :back_translation "block" } true; assume { :LIR "53115" } { :back_translation "assignment" } true; assert { :LIR "139337" } { :check "null-dereference" } { :finding_ids "301,454,550,672" } local_#31476_ci != { base : 0, offset : 0 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; goto CFG_45247; CFG_45247: assume { :LIR "45247" } { :back_translation "block" } true; assume { :LIR "72397" } { :back_translation "visiting" } true; local_#12370 := 0; assume { :LIR "60487" } { :back_translation "visiting" } true; local_#12371 := 0; assume { :LIR "72398" } { :back_translation "visiting" } true; local_#12372 := 0; assume { :LIR "60488" } { :back_translation "visiting" } true; local_#12373 := 0; goto CFG_41662; CFG_49517: assume { :LIR "49517" } { :back_translation "block" } true; assume { :LIR "72399" } { :back_translation "visiting" } true; local_#12374 := 23; assume { :LIR "69548" } { :back_translation "visiting" } true; local_#12375 := ~lshr32(local_#31479_i, local_#12374); assume { :LIR "72400" } { :back_translation "visiting" } true; local_#12376 := 511; assume { :LIR "68774" } { :back_translation "visiting" } true; local_#12377 := ~uand32(local_#12375, local_#12376); assume { :LIR "60489" } { :back_translation "visiting" } true; local_#12378 := local_#12377; assume { :LIR "53116" } { :back_translation "assignment" } true; local_#31621_b := local_#12378; assume { :LIR "72401" } { :back_translation "visiting" } true; local_#12379 := 0; assume { :LIR "65485" } { :back_translation "visiting" } true; local_#12380 := (if local_#31621_b != local_#12379 then 1 else 0); if (local_#12380 != 0) { assume { :LIR "40116" } { :back_translation "taking-then-branch" } true; goto CFG_40116; } else { assume { :LIR "42425" } { :back_translation "taking-else-branch" } true; goto CFG_42425; } CFG_40116: assume { :LIR "40116" } { :back_translation "block" } true; assume { :LIR "67099" } { :back_translation "visiting" } true; local_#12381 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31621_b * 16 }; assume { :LIR "53117" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12381; goto CFG_42425; CFG_42425: assume { :LIR "42425" } { :back_translation "block" } true; assume { :LIR "72402" } { :back_translation "visiting" } true; local_#12382 := 0; assume { :LIR "60490" } { :back_translation "visiting" } true; local_#12383 := 0; assume { :LIR "72403" } { :back_translation "visiting" } true; local_#12384 := -1; goto CFG_45882; CFG_45882: assume { :LIR "45882" } { :back_translation "block" } true; assume { :LIR "79419" } { :back_translation "visiting" } true; call local_#12385 := routine_#33738_luaD_precall(local_#4189_L,local_#31480_ra,local_#12384); goto CFG_49518; CFG_49518: assume { :LIR "49518" } { :back_translation "block" } true; assume { :LIR "53118" } { :back_translation "assignment" } true; local_#12386 := local_#12385; if (local_#12386 != 0) { assume { :LIR "40118" } { :back_translation "taking-then-branch" } true; goto CFG_40118; } else { assume { :LIR "49519" } { :back_translation "taking-else-branch" } true; goto CFG_49519; } CFG_49519: assume { :LIR "49519" } { :back_translation "block" } true; assume { :LIR "53119" } { :back_translation "assignment" } true; local_#31624_nci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; assume { :LIR "53120" } { :back_translation "assignment" } true; assert { :LIR "139339" } { :check "null-dereference" } { :finding_ids "302,455,551,673" } local_#31624_nci != { base : 0, offset : 0 }; local_#31626_oci := _memory_ptr[{ base : local_#31624_nci!base, offset : local_#31624_nci!offset + 16 }]; assume { :LIR "53121" } { :back_translation "assignment" } true; local_#31625_nfunc := _memory_ptr[{ base : local_#31624_nci!base, offset : local_#31624_nci!offset + 0 }]; assume { :LIR "53122" } { :back_translation "assignment" } true; local_#31627_ofunc := _memory_ptr[{ base : local_#31626_oci!base, offset : local_#31626_oci!offset + 0 }]; assume { :LIR "53123" } { :back_translation "assignment" } true; local_#12387 := { base : local_#31624_nci!base, offset : local_#31624_nci!offset + 32 }; assume { :LIR "53124" } { :back_translation "assignment" } true; local_#12388 := { base : local_#31625_nfunc!base, offset : local_#31625_nfunc!offset + 0 }; assume { :LIR "60491" } { :back_translation "visiting" } true; local_#12389 := _memory_ptr[local_#12388]; assume { :LIR "53125" } { :back_translation "assignment" } true; local_#12390 := { base : local_#12389!base, offset : local_#12389!offset + 0 }; assume { :LIR "53126" } { :back_translation "assignment" } true; local_#12391 := { base : local_#12390!base, offset : local_#12390!offset + 0 }; assume { :LIR "53127" } { :back_translation "assignment" } true; local_#12392 := _memory_ptr[{ base : local_#12391!base, offset : local_#12391!offset + 24 }]; assume { :LIR "67100" } { :back_translation "visiting" } true; local_#12393 := { base : _memory_ptr[{ base : local_#12387!base, offset : local_#12387!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12387!base, offset : local_#12387!offset + 0 }]!offset + _memory[{ base : local_#12392!base, offset : local_#12392!offset + 10 }] * 16 }; assume { :LIR "53128" } { :back_translation "assignment" } true; local_#31623_lim := local_#12393; assume { :LIR "53129" } { :back_translation "assignment" } true; local_#12394 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; assume { :LIR "72404" } { :back_translation "visiting" } true; local_#12395 := 0; assume { :LIR "65816" } { :back_translation "visiting" } true; local_#12396 := (if _memory[{ base : local_#12394!base, offset : local_#12394!offset + 32 }] > local_#12395 then 1 else 0); if (local_#12396 != 0) { assume { :LIR "42426" } { :back_translation "taking-then-branch" } true; goto CFG_42426; } else { assume { :LIR "41666" } { :back_translation "taking-else-branch" } true; goto CFG_41666; } CFG_42426: assume { :LIR "42426" } { :back_translation "block" } true; assume { :LIR "53130" } { :back_translation "assignment" } true; local_#12397 := { base : local_#31626_oci!base, offset : local_#31626_oci!offset + 32 }; assume { :LIR "53131" } { :back_translation "assignment" } true; local_#12398 := _memory_ptr[{ base : local_#12397!base, offset : local_#12397!offset + 0 }]; goto CFG_45883; CFG_45883: assume { :LIR "45883" } { :back_translation "block" } true; assume { :LIR "79420" } { :back_translation "visiting" } true; call routine_#33749_luaF_close(local_#4189_L,local_#12398); goto CFG_40117; CFG_40117: assume { :LIR "40117" } { :back_translation "block" } true; goto CFG_41666; CFG_41666: assume { :LIR "41666" } { :back_translation "block" } true; assume { :LIR "72405" } { :back_translation "visiting" } true; local_#31622_aux := 0; goto CFG_49520; CFG_49520: assume { :LIR "49520" } { :back_translation "block" } true; assume { :LIR "67101" } { :back_translation "visiting" } true; local_#12399 := { base : local_#31625_nfunc!base, offset : local_#31625_nfunc!offset + local_#31622_aux * 16 }; assume { :LIR "66172" } { :back_translation "visiting" } true; local_#12400 := (if local_#12399!offset < local_#31623_lim!offset then 1 else 0); if (local_#12400 != 0) { assume { :LIR "42427" } { :back_translation "taking-then-branch" } true; goto CFG_42427; } else { assume { :LIR "45248" } { :back_translation "taking-else-branch" } true; goto CFG_45248; } CFG_45248: assume { :LIR "45248" } { :back_translation "block" } true; assume { :LIR "53132" } { :back_translation "assignment" } true; local_#12401 := { base : local_#31624_nci!base, offset : local_#31624_nci!offset + 32 }; assume { :LIR "68443" } { :back_translation "visiting" } true; local_#12402 := (_memory_ptr[{ base : local_#12401!base, offset : local_#12401!offset + 0 }]!offset - local_#31625_nfunc!offset) / 16; assume { :LIR "67102" } { :back_translation "visiting" } true; local_#12403 := { base : local_#31627_ofunc!base, offset : local_#31627_ofunc!offset + local_#12402 * 16 }; assume { :LIR "53133" } { :back_translation "assignment" } true; local_#12404 := { base : local_#31626_oci!base, offset : local_#31626_oci!offset + 32 }; assume { :LIR "53134" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#12404!base, offset : local_#12404!offset + 0 }] := local_#12403; assume { :LIR "68444" } { :back_translation "visiting" } true; local_#12405 := (_memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]!offset - local_#31625_nfunc!offset) / 16; assume { :LIR "67103" } { :back_translation "visiting" } true; local_#12406 := { base : local_#31627_ofunc!base, offset : local_#31627_ofunc!offset + local_#12405 * 16 }; assume { :LIR "53135" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12406; assume { :LIR "53136" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#31626_oci!base, offset : local_#31626_oci!offset + 8 }] := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]; assume { :LIR "53137" } { :back_translation "assignment" } true; local_#12407 := { base : local_#31624_nci!base, offset : local_#31624_nci!offset + 32 }; assume { :LIR "53138" } { :back_translation "assignment" } true; local_#12408 := { base : local_#31626_oci!base, offset : local_#31626_oci!offset + 32 }; assume { :LIR "53139" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#12408!base, offset : local_#12408!offset + 8 }] := _memory_ptr[{ base : local_#12407!base, offset : local_#12407!offset + 8 }]; assume { :LIR "72406" } { :back_translation "visiting" } true; local_#12409 := 32; assume { :LIR "62502" } { :back_translation "visiting" } true; local_#12410 := _memory[{ base : local_#31626_oci!base, offset : local_#31626_oci!offset + 66 }]; assume { :LIR "69371" } { :back_translation "visiting" } true; local_#12411 := ~sor32(local_#12410, local_#12409); assume { :LIR "62503" } { :back_translation "visiting" } true; _memory[{ base : local_#31626_oci!base, offset : local_#31626_oci!offset + 66 }] := ~uwrap16(local_#12411); assume { :LIR "53140" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }] := local_#31626_oci; assume { :LIR "53141" } { :back_translation "assignment" } true; local_#31476_ci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; assume { :LIR "72407" } { :back_translation "visiting" } true; local_#12412 := 0; assume { :LIR "60492" } { :back_translation "visiting" } true; local_#12413 := 0; goto CFG_41662; CFG_42427: assume { :LIR "42427" } { :back_translation "block" } true; assume { :LIR "67104" } { :back_translation "visiting" } true; local_#12414 := { base : local_#31627_ofunc!base, offset : local_#31627_ofunc!offset + local_#31622_aux * 16 }; assume { :LIR "53142" } { :back_translation "assignment" } true; local_#31628_io1 := local_#12414; assume { :LIR "67105" } { :back_translation "visiting" } true; local_#12415 := { base : local_#31625_nfunc!base, offset : local_#31625_nfunc!offset + local_#31622_aux * 16 }; assume { :LIR "53143" } { :back_translation "assignment" } true; assert { :LIR "137527" } { :check "null-dereference" } { :finding_ids "169,274,570,806" } local_#12415 != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_b == _memory[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_f == _memory_ptr[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_gc == _memory_ptr[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_i == _memory[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_p == _memory_ptr[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12415)!_tt_ == _memory[{ base : local_#12415!base, offset : local_#12415!offset + 8 }]; assert { :LIR "138406" } { :check "null-dereference" } { :finding_ids "168,273,569,805" } local_#31628_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31628_io1,read_type_#101(_memory, _memory_ptr, local_#12415)); assume { :LIR "60493" } { :back_translation "visiting" } true; local_#12416 := 0; assume { :LIR "72408" } { :back_translation "visiting" } true; local_#12417 := 0; assume { :LIR "60494" } { :back_translation "visiting" } true; local_#12418 := 0; goto CFG_45006; CFG_45006: assume { :LIR "45006" } { :back_translation "block" } true; assume { :LIR "53144" } { :back_translation "assignment" } true; local_#12419 := local_#31622_aux; assume { :LIR "72409" } { :back_translation "visiting" } true; local_#12420 := 1; assume { :LIR "66460" } { :back_translation "visiting" } true; local_#31622_aux := local_#12419 + local_#12420; assume { :LIR "53145" } { :back_translation "assignment" } true; local_#12421 := local_#12419; goto CFG_49520; CFG_40118: assume { :LIR "40118" } { :back_translation "block" } true; assume { :LIR "72410" } { :back_translation "visiting" } true; local_#12422 := 0; assume { :LIR "60495" } { :back_translation "visiting" } true; local_#12423 := 0; assume { :LIR "53146" } { :back_translation "assignment" } true; local_#12424 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53147" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12424!base, offset : local_#12424!offset + 0 }]; goto CFG_39513; CFG_39513: assume { :LIR "39513" } { :back_translation "block" } true; goto CFG_45008; CFG_49521: assume { :LIR "49521" } { :back_translation "block" } true; assume { :LIR "72411" } { :back_translation "visiting" } true; local_#12425 := 23; assume { :LIR "69549" } { :back_translation "visiting" } true; local_#12426 := ~lshr32(local_#31479_i, local_#12425); assume { :LIR "72412" } { :back_translation "visiting" } true; local_#12427 := 511; assume { :LIR "68775" } { :back_translation "visiting" } true; local_#12428 := ~uand32(local_#12426, local_#12427); assume { :LIR "60496" } { :back_translation "visiting" } true; local_#12429 := local_#12428; assume { :LIR "53148" } { :back_translation "assignment" } true; local_#31619_b := local_#12429; assume { :LIR "72413" } { :back_translation "visiting" } true; local_#12430 := 14; assume { :LIR "69550" } { :back_translation "visiting" } true; local_#12431 := ~lshr32(local_#31479_i, local_#12430); assume { :LIR "72414" } { :back_translation "visiting" } true; local_#12432 := 511; assume { :LIR "68776" } { :back_translation "visiting" } true; local_#12433 := ~uand32(local_#12431, local_#12432); assume { :LIR "60497" } { :back_translation "visiting" } true; local_#12434 := local_#12433; assume { :LIR "72415" } { :back_translation "visiting" } true; local_#12435 := 1; assume { :LIR "67938" } { :back_translation "visiting" } true; local_#12436 := local_#12434 - local_#12435; assume { :LIR "53149" } { :back_translation "assignment" } true; local_#31620_nresults := local_#12436; assume { :LIR "72416" } { :back_translation "visiting" } true; local_#12437 := 0; assume { :LIR "65486" } { :back_translation "visiting" } true; local_#12438 := (if local_#31619_b != local_#12437 then 1 else 0); if (local_#12438 != 0) { assume { :LIR "40119" } { :back_translation "taking-then-branch" } true; goto CFG_40119; } else { assume { :LIR "45884" } { :back_translation "taking-else-branch" } true; goto CFG_45884; } CFG_40119: assume { :LIR "40119" } { :back_translation "block" } true; assume { :LIR "67106" } { :back_translation "visiting" } true; local_#12439 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31619_b * 16 }; assume { :LIR "53150" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12439; goto CFG_45884; CFG_45884: assume { :LIR "45884" } { :back_translation "block" } true; assume { :LIR "79421" } { :back_translation "visiting" } true; call local_#12440 := routine_#33738_luaD_precall(local_#4189_L,local_#31480_ra,local_#31620_nresults); goto CFG_49522; CFG_49522: assume { :LIR "49522" } { :back_translation "block" } true; assume { :LIR "53151" } { :back_translation "assignment" } true; local_#12441 := local_#12440; if (local_#12441 != 0) { assume { :LIR "49523" } { :back_translation "taking-then-branch" } true; goto CFG_49523; } else { assume { :LIR "45249" } { :back_translation "taking-else-branch" } true; goto CFG_45249; } CFG_45249: assume { :LIR "45249" } { :back_translation "block" } true; assume { :LIR "53152" } { :back_translation "assignment" } true; local_#31476_ci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; goto CFG_41662; CFG_49523: assume { :LIR "49523" } { :back_translation "block" } true; assume { :LIR "72417" } { :back_translation "visiting" } true; local_#12442 := 0; assume { :LIR "65708" } { :back_translation "visiting" } true; local_#12443 := (if local_#31620_nresults >= local_#12442 then 1 else 0); if (local_#12443 != 0) { assume { :LIR "40120" } { :back_translation "taking-then-branch" } true; goto CFG_40120; } else { assume { :LIR "40121" } { :back_translation "taking-else-branch" } true; goto CFG_40121; } CFG_40120: assume { :LIR "40120" } { :back_translation "block" } true; assume { :LIR "53153" } { :back_translation "assignment" } true; assert { :LIR "139356" } { :check "null-dereference" } { :finding_ids "65,360,406,502" } local_#31476_ci != { base : 0, offset : 0 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; goto CFG_40121; CFG_40121: assume { :LIR "40121" } { :back_translation "block" } true; assume { :LIR "72418" } { :back_translation "visiting" } true; local_#12444 := 0; assume { :LIR "60498" } { :back_translation "visiting" } true; local_#12445 := 0; assume { :LIR "53154" } { :back_translation "assignment" } true; local_#12446 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53155" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12446!base, offset : local_#12446!offset + 0 }]; goto CFG_39514; CFG_39514: assume { :LIR "39514" } { :back_translation "block" } true; goto CFG_45008; CFG_49524: assume { :LIR "49524" } { :back_translation "block" } true; assume { :LIR "72419" } { :back_translation "visiting" } true; local_#12447 := 23; assume { :LIR "69551" } { :back_translation "visiting" } true; local_#12448 := ~lshr32(local_#31479_i, local_#12447); assume { :LIR "72420" } { :back_translation "visiting" } true; local_#12449 := 511; assume { :LIR "68777" } { :back_translation "visiting" } true; local_#12450 := ~uand32(local_#12448, local_#12449); assume { :LIR "60499" } { :back_translation "visiting" } true; local_#12451 := local_#12450; assume { :LIR "67107" } { :back_translation "visiting" } true; local_#12452 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12451 * 16 }; assume { :LIR "53156" } { :back_translation "assignment" } true; local_#31616_rb := local_#12452; assume { :LIR "72421" } { :back_translation "visiting" } true; local_#12453 := 14; assume { :LIR "69552" } { :back_translation "visiting" } true; local_#12454 := ~lshr32(local_#31479_i, local_#12453); assume { :LIR "72422" } { :back_translation "visiting" } true; local_#12455 := 511; assume { :LIR "68778" } { :back_translation "visiting" } true; local_#12456 := ~uand32(local_#12454, local_#12455); assume { :LIR "60500" } { :back_translation "visiting" } true; local_#12457 := local_#12456; if (local_#12457 != 0) { assume { :LIR "49528" } { :back_translation "taking-then-branch" } true; goto CFG_49528; } else { assume { :LIR "49525" } { :back_translation "taking-else-branch" } true; goto CFG_49525; } CFG_49525: assume { :LIR "49525" } { :back_translation "block" } true; assume { :LIR "72423" } { :back_translation "visiting" } true; local_#12458 := 0; assume { :LIR "64832" } { :back_translation "visiting" } true; assert { :LIR "139358" } { :check "null-dereference" } { :finding_ids "2,199,593,829" } local_#31616_rb != { base : 0, offset : 0 }; local_#12459 := (if _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }] == local_#12458 then 1 else 0); if (local_#12459 != 0) { assume { :LIR "49531" } { :back_translation "taking-then-branch" } true; goto CFG_49531; } else { assume { :LIR "49526" } { :back_translation "taking-else-branch" } true; goto CFG_49526; } CFG_49526: assume { :LIR "49526" } { :back_translation "block" } true; assume { :LIR "72424" } { :back_translation "visiting" } true; local_#12460 := 1; assume { :LIR "64833" } { :back_translation "visiting" } true; local_#12461 := (if _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }] == local_#12460 then 1 else 0); if (local_#12461 != 0) { assume { :LIR "49527" } { :back_translation "taking-then-branch" } true; goto CFG_49527; } else { assume { :LIR "40124" } { :back_translation "taking-else-branch" } true; goto CFG_40124; } CFG_49527: assume { :LIR "49527" } { :back_translation "block" } true; assume { :LIR "53157" } { :back_translation "assignment" } true; local_#12462 := { base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 }; assume { :LIR "72425" } { :back_translation "visiting" } true; local_#12463 := 0; assume { :LIR "64834" } { :back_translation "visiting" } true; local_#12464 := (if _memory[local_#12462] == local_#12463 then 1 else 0); if (local_#12464 != 0) { assume { :LIR "49531" } { :back_translation "taking-then-branch" } true; goto CFG_49531; } else { assume { :LIR "40124" } { :back_translation "taking-else-branch" } true; goto CFG_40124; } CFG_49528: assume { :LIR "49528" } { :back_translation "block" } true; assume { :LIR "72426" } { :back_translation "visiting" } true; local_#12465 := 0; assume { :LIR "64835" } { :back_translation "visiting" } true; assert { :LIR "139360" } { :check "null-dereference" } { :finding_ids "196,594,830,880" } local_#31616_rb != { base : 0, offset : 0 }; local_#12466 := (if _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }] == local_#12465 then 1 else 0); if (local_#12466 != 0) { assume { :LIR "40124" } { :back_translation "taking-then-branch" } true; goto CFG_40124; } else { assume { :LIR "49529" } { :back_translation "taking-else-branch" } true; goto CFG_49529; } CFG_49529: assume { :LIR "49529" } { :back_translation "block" } true; assume { :LIR "72427" } { :back_translation "visiting" } true; local_#12467 := 1; assume { :LIR "64836" } { :back_translation "visiting" } true; local_#12468 := (if _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }] == local_#12467 then 1 else 0); if (local_#12468 != 0) { assume { :LIR "49530" } { :back_translation "taking-then-branch" } true; goto CFG_49530; } else { assume { :LIR "49531" } { :back_translation "taking-else-branch" } true; goto CFG_49531; } CFG_49530: assume { :LIR "49530" } { :back_translation "block" } true; assume { :LIR "53158" } { :back_translation "assignment" } true; local_#12469 := { base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 }; assume { :LIR "72428" } { :back_translation "visiting" } true; local_#12470 := 0; assume { :LIR "64837" } { :back_translation "visiting" } true; local_#12471 := (if _memory[local_#12469] == local_#12470 then 1 else 0); if (local_#12471 != 0) { assume { :LIR "40124" } { :back_translation "taking-then-branch" } true; goto CFG_40124; } else { assume { :LIR "49531" } { :back_translation "taking-else-branch" } true; goto CFG_49531; } CFG_49531: assume { :LIR "49531" } { :back_translation "block" } true; assume { :LIR "53159" } { :back_translation "assignment" } true; local_#31617_io1 := local_#31480_ra; assume { :LIR "53160" } { :back_translation "assignment" } true; assert { :LIR "137530" } { :check "null-dereference" } { :finding_ids "197,458,595,831" } local_#31616_rb != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_b == _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_f == _memory_ptr[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_gc == _memory_ptr[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_i == _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_p == _memory_ptr[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_tt_ == _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }]; assert { :LIR "138407" } { :check "null-dereference" } { :finding_ids "92,226,297,691" } local_#31617_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31617_io1,read_type_#101(_memory, _memory_ptr, local_#31616_rb)); assume { :LIR "60501" } { :back_translation "visiting" } true; local_#12472 := 0; assume { :LIR "72429" } { :back_translation "visiting" } true; local_#12473 := 0; assume { :LIR "60502" } { :back_translation "visiting" } true; local_#12474 := 0; assume { :LIR "53161" } { :back_translation "assignment" } true; local_#12475 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53162" } { :back_translation "assignment" } true; local_#12476 := _memory_ptr[{ base : local_#12475!base, offset : local_#12475!offset + 8 }]; assume { :LIR "53163" } { :back_translation "assignment" } true; assert { :LIR "137531" } { :check "null-dereference" } { :finding_ids "10,621,746,857" } local_#12476 != { base : 0, offset : 0 }; local_#31479_i := _memory[local_#12476]; assume { :LIR "72430" } { :back_translation "visiting" } true; local_#12477 := 6; assume { :LIR "69553" } { :back_translation "visiting" } true; local_#12478 := ~lshr32(local_#31479_i, local_#12477); assume { :LIR "72431" } { :back_translation "visiting" } true; local_#12479 := 255; assume { :LIR "68779" } { :back_translation "visiting" } true; local_#12480 := ~uand32(local_#12478, local_#12479); assume { :LIR "60503" } { :back_translation "visiting" } true; local_#12481 := local_#12480; assume { :LIR "53164" } { :back_translation "assignment" } true; local_#31618_a := local_#12481; assume { :LIR "72432" } { :back_translation "visiting" } true; local_#12482 := 0; assume { :LIR "65487" } { :back_translation "visiting" } true; local_#12483 := (if local_#31618_a != local_#12482 then 1 else 0); if (local_#12483 != 0) { assume { :LIR "42428" } { :back_translation "taking-then-branch" } true; goto CFG_42428; } else { assume { :LIR "40123" } { :back_translation "taking-else-branch" } true; goto CFG_40123; } CFG_42428: assume { :LIR "42428" } { :back_translation "block" } true; assume { :LIR "53165" } { :back_translation "assignment" } true; local_#12484 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67108" } { :back_translation "visiting" } true; local_#12485 := { base : _memory_ptr[{ base : local_#12484!base, offset : local_#12484!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12484!base, offset : local_#12484!offset + 0 }]!offset + local_#31618_a * 16 }; assume { :LIR "72433" } { :back_translation "visiting" } true; local_#12486 := 1; assume { :LIR "68265" } { :back_translation "visiting" } true; local_#12487 := { base : local_#12485!base, offset : local_#12485!offset - local_#12486 * 16 }; goto CFG_45885; CFG_45885: assume { :LIR "45885" } { :back_translation "block" } true; assume { :LIR "79422" } { :back_translation "visiting" } true; call routine_#33749_luaF_close(local_#4189_L,local_#12487); goto CFG_40122; CFG_40122: assume { :LIR "40122" } { :back_translation "block" } true; goto CFG_40123; CFG_40123: assume { :LIR "40123" } { :back_translation "block" } true; assume { :LIR "72434" } { :back_translation "visiting" } true; local_#12488 := 14; assume { :LIR "69554" } { :back_translation "visiting" } true; local_#12489 := ~lshr32(local_#31479_i, local_#12488); assume { :LIR "72435" } { :back_translation "visiting" } true; local_#12490 := 262143; assume { :LIR "68780" } { :back_translation "visiting" } true; local_#12491 := ~uand32(local_#12489, local_#12490); assume { :LIR "60504" } { :back_translation "visiting" } true; local_#12492 := local_#12491; assume { :LIR "72436" } { :back_translation "visiting" } true; local_#12493 := 131071; assume { :LIR "67939" } { :back_translation "visiting" } true; local_#12494 := local_#12492 - local_#12493; assume { :LIR "72437" } { :back_translation "visiting" } true; local_#12495 := 1; assume { :LIR "66461" } { :back_translation "visiting" } true; local_#12496 := local_#12494 + local_#12495; assume { :LIR "53166" } { :back_translation "assignment" } true; local_#12497 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67109" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12497!base, offset : local_#12497!offset + 8 }] := { base : _memory_ptr[{ base : local_#12497!base, offset : local_#12497!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12497!base, offset : local_#12497!offset + 8 }]!offset + local_#12496 * 4 }; goto CFG_39515; CFG_40124: assume { :LIR "40124" } { :back_translation "block" } true; assume { :LIR "53167" } { :back_translation "assignment" } true; local_#12498 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53168" } { :back_translation "assignment" } true; local_#12499 := _memory_ptr[{ base : local_#12498!base, offset : local_#12498!offset + 8 }]; assume { :LIR "72438" } { :back_translation "visiting" } true; local_#12500 := 1; assume { :LIR "67110" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12498!base, offset : local_#12498!offset + 8 }] := { base : local_#12499!base, offset : local_#12499!offset + local_#12500 * 4 }; assume { :LIR "53169" } { :back_translation "assignment" } true; local_#12501 := local_#12499; goto CFG_39515; CFG_39515: assume { :LIR "39515" } { :back_translation "block" } true; goto CFG_45008; CFG_49532: assume { :LIR "49532" } { :back_translation "block" } true; assume { :LIR "72439" } { :back_translation "visiting" } true; local_#12502 := 14; assume { :LIR "69555" } { :back_translation "visiting" } true; local_#12503 := ~lshr32(local_#31479_i, local_#12502); assume { :LIR "72440" } { :back_translation "visiting" } true; local_#12504 := 511; assume { :LIR "68781" } { :back_translation "visiting" } true; local_#12505 := ~uand32(local_#12503, local_#12504); assume { :LIR "60505" } { :back_translation "visiting" } true; local_#12506 := local_#12505; if (local_#12506 != 0) { assume { :LIR "49536" } { :back_translation "taking-then-branch" } true; goto CFG_49536; } else { assume { :LIR "49533" } { :back_translation "taking-else-branch" } true; goto CFG_49533; } CFG_49533: assume { :LIR "49533" } { :back_translation "block" } true; assume { :LIR "72441" } { :back_translation "visiting" } true; local_#12507 := 0; assume { :LIR "64838" } { :back_translation "visiting" } true; assert { :LIR "139366" } { :check "null-dereference" } { :finding_ids "127,175,262,726" } local_#31480_ra != { base : 0, offset : 0 }; local_#12508 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12507 then 1 else 0); if (local_#12508 != 0) { assume { :LIR "49539" } { :back_translation "taking-then-branch" } true; goto CFG_49539; } else { assume { :LIR "49534" } { :back_translation "taking-else-branch" } true; goto CFG_49534; } CFG_49534: assume { :LIR "49534" } { :back_translation "block" } true; assume { :LIR "72442" } { :back_translation "visiting" } true; local_#12509 := 1; assume { :LIR "64839" } { :back_translation "visiting" } true; local_#12510 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12509 then 1 else 0); if (local_#12510 != 0) { assume { :LIR "49535" } { :back_translation "taking-then-branch" } true; goto CFG_49535; } else { assume { :LIR "40127" } { :back_translation "taking-else-branch" } true; goto CFG_40127; } CFG_49535: assume { :LIR "49535" } { :back_translation "block" } true; assume { :LIR "53170" } { :back_translation "assignment" } true; local_#12511 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; assume { :LIR "72443" } { :back_translation "visiting" } true; local_#12512 := 0; assume { :LIR "64840" } { :back_translation "visiting" } true; local_#12513 := (if _memory[local_#12511] == local_#12512 then 1 else 0); if (local_#12513 != 0) { assume { :LIR "49539" } { :back_translation "taking-then-branch" } true; goto CFG_49539; } else { assume { :LIR "40127" } { :back_translation "taking-else-branch" } true; goto CFG_40127; } CFG_49536: assume { :LIR "49536" } { :back_translation "block" } true; assume { :LIR "72444" } { :back_translation "visiting" } true; local_#12514 := 0; assume { :LIR "64841" } { :back_translation "visiting" } true; assert { :LIR "139368" } { :check "null-dereference" } { :finding_ids "128,172,263,727" } local_#31480_ra != { base : 0, offset : 0 }; local_#12515 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12514 then 1 else 0); if (local_#12515 != 0) { assume { :LIR "40127" } { :back_translation "taking-then-branch" } true; goto CFG_40127; } else { assume { :LIR "49537" } { :back_translation "taking-else-branch" } true; goto CFG_49537; } CFG_49537: assume { :LIR "49537" } { :back_translation "block" } true; assume { :LIR "72445" } { :back_translation "visiting" } true; local_#12516 := 1; assume { :LIR "64842" } { :back_translation "visiting" } true; local_#12517 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12516 then 1 else 0); if (local_#12517 != 0) { assume { :LIR "49538" } { :back_translation "taking-then-branch" } true; goto CFG_49538; } else { assume { :LIR "49539" } { :back_translation "taking-else-branch" } true; goto CFG_49539; } CFG_49538: assume { :LIR "49538" } { :back_translation "block" } true; assume { :LIR "53171" } { :back_translation "assignment" } true; local_#12518 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; assume { :LIR "72446" } { :back_translation "visiting" } true; local_#12519 := 0; assume { :LIR "64843" } { :back_translation "visiting" } true; local_#12520 := (if _memory[local_#12518] == local_#12519 then 1 else 0); if (local_#12520 != 0) { assume { :LIR "40127" } { :back_translation "taking-then-branch" } true; goto CFG_40127; } else { assume { :LIR "49539" } { :back_translation "taking-else-branch" } true; goto CFG_49539; } CFG_49539: assume { :LIR "49539" } { :back_translation "block" } true; assume { :LIR "53172" } { :back_translation "assignment" } true; local_#12521 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53173" } { :back_translation "assignment" } true; local_#12522 := _memory_ptr[{ base : local_#12521!base, offset : local_#12521!offset + 8 }]; assume { :LIR "53174" } { :back_translation "assignment" } true; assert { :LIR "137534" } { :check "null-dereference" } { :finding_ids "11,622,747,858" } local_#12522 != { base : 0, offset : 0 }; local_#31479_i := _memory[local_#12522]; assume { :LIR "72447" } { :back_translation "visiting" } true; local_#12523 := 6; assume { :LIR "69556" } { :back_translation "visiting" } true; local_#12524 := ~lshr32(local_#31479_i, local_#12523); assume { :LIR "72448" } { :back_translation "visiting" } true; local_#12525 := 255; assume { :LIR "68782" } { :back_translation "visiting" } true; local_#12526 := ~uand32(local_#12524, local_#12525); assume { :LIR "60506" } { :back_translation "visiting" } true; local_#12527 := local_#12526; assume { :LIR "53175" } { :back_translation "assignment" } true; local_#31615_a := local_#12527; assume { :LIR "72449" } { :back_translation "visiting" } true; local_#12528 := 0; assume { :LIR "65488" } { :back_translation "visiting" } true; local_#12529 := (if local_#31615_a != local_#12528 then 1 else 0); if (local_#12529 != 0) { assume { :LIR "42429" } { :back_translation "taking-then-branch" } true; goto CFG_42429; } else { assume { :LIR "40126" } { :back_translation "taking-else-branch" } true; goto CFG_40126; } CFG_42429: assume { :LIR "42429" } { :back_translation "block" } true; assume { :LIR "53176" } { :back_translation "assignment" } true; local_#12530 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67111" } { :back_translation "visiting" } true; local_#12531 := { base : _memory_ptr[{ base : local_#12530!base, offset : local_#12530!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12530!base, offset : local_#12530!offset + 0 }]!offset + local_#31615_a * 16 }; assume { :LIR "72450" } { :back_translation "visiting" } true; local_#12532 := 1; assume { :LIR "68266" } { :back_translation "visiting" } true; local_#12533 := { base : local_#12531!base, offset : local_#12531!offset - local_#12532 * 16 }; goto CFG_45886; CFG_45886: assume { :LIR "45886" } { :back_translation "block" } true; assume { :LIR "79423" } { :back_translation "visiting" } true; call routine_#33749_luaF_close(local_#4189_L,local_#12533); goto CFG_40125; CFG_40125: assume { :LIR "40125" } { :back_translation "block" } true; goto CFG_40126; CFG_40126: assume { :LIR "40126" } { :back_translation "block" } true; assume { :LIR "72451" } { :back_translation "visiting" } true; local_#12534 := 14; assume { :LIR "69557" } { :back_translation "visiting" } true; local_#12535 := ~lshr32(local_#31479_i, local_#12534); assume { :LIR "72452" } { :back_translation "visiting" } true; local_#12536 := 262143; assume { :LIR "68783" } { :back_translation "visiting" } true; local_#12537 := ~uand32(local_#12535, local_#12536); assume { :LIR "60507" } { :back_translation "visiting" } true; local_#12538 := local_#12537; assume { :LIR "72453" } { :back_translation "visiting" } true; local_#12539 := 131071; assume { :LIR "67940" } { :back_translation "visiting" } true; local_#12540 := local_#12538 - local_#12539; assume { :LIR "72454" } { :back_translation "visiting" } true; local_#12541 := 1; assume { :LIR "66462" } { :back_translation "visiting" } true; local_#12542 := local_#12540 + local_#12541; assume { :LIR "53177" } { :back_translation "assignment" } true; local_#12543 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67112" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12543!base, offset : local_#12543!offset + 8 }] := { base : _memory_ptr[{ base : local_#12543!base, offset : local_#12543!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12543!base, offset : local_#12543!offset + 8 }]!offset + local_#12542 * 4 }; goto CFG_39516; CFG_40127: assume { :LIR "40127" } { :back_translation "block" } true; assume { :LIR "53178" } { :back_translation "assignment" } true; local_#12544 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53179" } { :back_translation "assignment" } true; local_#12545 := _memory_ptr[{ base : local_#12544!base, offset : local_#12544!offset + 8 }]; assume { :LIR "72455" } { :back_translation "visiting" } true; local_#12546 := 1; assume { :LIR "67113" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12544!base, offset : local_#12544!offset + 8 }] := { base : local_#12545!base, offset : local_#12545!offset + local_#12546 * 4 }; assume { :LIR "53180" } { :back_translation "assignment" } true; local_#12547 := local_#12545; goto CFG_39516; CFG_39516: assume { :LIR "39516" } { :back_translation "block" } true; goto CFG_45008; CFG_49540: assume { :LIR "49540" } { :back_translation "block" } true; assume { :LIR "72456" } { :back_translation "visiting" } true; local_#12548 := 23; assume { :LIR "69558" } { :back_translation "visiting" } true; local_#12549 := ~lshr32(local_#31479_i, local_#12548); assume { :LIR "72457" } { :back_translation "visiting" } true; local_#12550 := 511; assume { :LIR "68784" } { :back_translation "visiting" } true; local_#12551 := ~uand32(local_#12549, local_#12550); assume { :LIR "60508" } { :back_translation "visiting" } true; local_#12552 := local_#12551; assume { :LIR "72458" } { :back_translation "visiting" } true; local_#12553 := 256; assume { :LIR "68785" } { :back_translation "visiting" } true; local_#12554 := ~sand32(local_#12552, local_#12553); if (local_#12554 != 0) { assume { :LIR "40129" } { :back_translation "taking-then-branch" } true; goto CFG_40129; } else { assume { :LIR "40128" } { :back_translation "taking-else-branch" } true; goto CFG_40128; } CFG_40128: assume { :LIR "40128" } { :back_translation "block" } true; assume { :LIR "72459" } { :back_translation "visiting" } true; local_#12555 := 23; assume { :LIR "69559" } { :back_translation "visiting" } true; local_#12556 := ~lshr32(local_#31479_i, local_#12555); assume { :LIR "72460" } { :back_translation "visiting" } true; local_#12557 := 511; assume { :LIR "68786" } { :back_translation "visiting" } true; local_#12558 := ~uand32(local_#12556, local_#12557); assume { :LIR "60509" } { :back_translation "visiting" } true; local_#12559 := local_#12558; assume { :LIR "67114" } { :back_translation "visiting" } true; local_#12560 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12559 * 16 }; assume { :LIR "53181" } { :back_translation "assignment" } true; local_#30637 := local_#12560; goto CFG_49541; CFG_40129: assume { :LIR "40129" } { :back_translation "block" } true; assume { :LIR "72461" } { :back_translation "visiting" } true; local_#12561 := 23; assume { :LIR "69560" } { :back_translation "visiting" } true; local_#12562 := ~lshr32(local_#31479_i, local_#12561); assume { :LIR "72462" } { :back_translation "visiting" } true; local_#12563 := 511; assume { :LIR "68787" } { :back_translation "visiting" } true; local_#12564 := ~uand32(local_#12562, local_#12563); assume { :LIR "60510" } { :back_translation "visiting" } true; local_#12565 := local_#12564; assume { :LIR "60511" } { :back_translation "visiting" } true; local_#12566 := local_#12565; assume { :LIR "72463" } { :back_translation "visiting" } true; local_#12567 := -257; assume { :LIR "68788" } { :back_translation "visiting" } true; local_#12568 := ~sand32(local_#12566, local_#12567); assume { :LIR "67115" } { :back_translation "visiting" } true; local_#12569 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12568 * 16 }; assume { :LIR "53182" } { :back_translation "assignment" } true; local_#30637 := local_#12569; goto CFG_49541; CFG_49541: assume { :LIR "49541" } { :back_translation "block" } true; assume { :LIR "62504" } { :back_translation "visiting" } true; local_#12570 := local_#30637; assume { :LIR "72464" } { :back_translation "visiting" } true; local_#12571 := 14; assume { :LIR "69561" } { :back_translation "visiting" } true; local_#12572 := ~lshr32(local_#31479_i, local_#12571); assume { :LIR "72465" } { :back_translation "visiting" } true; local_#12573 := 511; assume { :LIR "68789" } { :back_translation "visiting" } true; local_#12574 := ~uand32(local_#12572, local_#12573); assume { :LIR "60512" } { :back_translation "visiting" } true; local_#12575 := local_#12574; assume { :LIR "72466" } { :back_translation "visiting" } true; local_#12576 := 256; assume { :LIR "68790" } { :back_translation "visiting" } true; local_#12577 := ~sand32(local_#12575, local_#12576); if (local_#12577 != 0) { assume { :LIR "40131" } { :back_translation "taking-then-branch" } true; goto CFG_40131; } else { assume { :LIR "40130" } { :back_translation "taking-else-branch" } true; goto CFG_40130; } CFG_40130: assume { :LIR "40130" } { :back_translation "block" } true; assume { :LIR "72467" } { :back_translation "visiting" } true; local_#12578 := 14; assume { :LIR "69562" } { :back_translation "visiting" } true; local_#12579 := ~lshr32(local_#31479_i, local_#12578); assume { :LIR "72468" } { :back_translation "visiting" } true; local_#12580 := 511; assume { :LIR "68791" } { :back_translation "visiting" } true; local_#12581 := ~uand32(local_#12579, local_#12580); assume { :LIR "60513" } { :back_translation "visiting" } true; local_#12582 := local_#12581; assume { :LIR "67116" } { :back_translation "visiting" } true; local_#12583 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12582 * 16 }; assume { :LIR "53183" } { :back_translation "assignment" } true; local_#30638 := local_#12583; goto CFG_42430; CFG_40131: assume { :LIR "40131" } { :back_translation "block" } true; assume { :LIR "72469" } { :back_translation "visiting" } true; local_#12584 := 14; assume { :LIR "69563" } { :back_translation "visiting" } true; local_#12585 := ~lshr32(local_#31479_i, local_#12584); assume { :LIR "72470" } { :back_translation "visiting" } true; local_#12586 := 511; assume { :LIR "68792" } { :back_translation "visiting" } true; local_#12587 := ~uand32(local_#12585, local_#12586); assume { :LIR "60514" } { :back_translation "visiting" } true; local_#12588 := local_#12587; assume { :LIR "60515" } { :back_translation "visiting" } true; local_#12589 := local_#12588; assume { :LIR "72471" } { :back_translation "visiting" } true; local_#12590 := -257; assume { :LIR "68793" } { :back_translation "visiting" } true; local_#12591 := ~sand32(local_#12589, local_#12590); assume { :LIR "67117" } { :back_translation "visiting" } true; local_#12592 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12591 * 16 }; assume { :LIR "53184" } { :back_translation "assignment" } true; local_#30638 := local_#12592; goto CFG_42430; CFG_42430: assume { :LIR "42430" } { :back_translation "block" } true; assume { :LIR "62505" } { :back_translation "visiting" } true; local_#12593 := local_#30638; goto CFG_45887; CFG_45887: assume { :LIR "45887" } { :back_translation "block" } true; assume { :LIR "79424" } { :back_translation "visiting" } true; call local_#12594 := routine_#33898_luaV_lessequal(local_#4189_L,local_#12570,local_#12593); goto CFG_49542; CFG_49542: assume { :LIR "49542" } { :back_translation "block" } true; assume { :LIR "72472" } { :back_translation "visiting" } true; local_#12595 := 6; assume { :LIR "69564" } { :back_translation "visiting" } true; local_#12596 := ~lshr32(local_#31479_i, local_#12595); assume { :LIR "72473" } { :back_translation "visiting" } true; local_#12597 := 255; assume { :LIR "68794" } { :back_translation "visiting" } true; local_#12598 := ~uand32(local_#12596, local_#12597); assume { :LIR "60516" } { :back_translation "visiting" } true; local_#12599 := local_#12598; assume { :LIR "65489" } { :back_translation "visiting" } true; local_#12600 := (if local_#12594 != local_#12599 then 1 else 0); if (local_#12600 != 0) { assume { :LIR "40134" } { :back_translation "taking-then-branch" } true; goto CFG_40134; } else { assume { :LIR "49543" } { :back_translation "taking-else-branch" } true; goto CFG_49543; } CFG_49543: assume { :LIR "49543" } { :back_translation "block" } true; assume { :LIR "53185" } { :back_translation "assignment" } true; local_#12601 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53186" } { :back_translation "assignment" } true; local_#12602 := _memory_ptr[{ base : local_#12601!base, offset : local_#12601!offset + 8 }]; assume { :LIR "53187" } { :back_translation "assignment" } true; assert { :LIR "137535" } { :check "null-dereference" } { :finding_ids "315,457,553,675" } local_#12602 != { base : 0, offset : 0 }; local_#31479_i := _memory[local_#12602]; assume { :LIR "72474" } { :back_translation "visiting" } true; local_#12603 := 6; assume { :LIR "69565" } { :back_translation "visiting" } true; local_#12604 := ~lshr32(local_#31479_i, local_#12603); assume { :LIR "72475" } { :back_translation "visiting" } true; local_#12605 := 255; assume { :LIR "68795" } { :back_translation "visiting" } true; local_#12606 := ~uand32(local_#12604, local_#12605); assume { :LIR "60517" } { :back_translation "visiting" } true; local_#12607 := local_#12606; assume { :LIR "53188" } { :back_translation "assignment" } true; local_#31614_a := local_#12607; assume { :LIR "72476" } { :back_translation "visiting" } true; local_#12608 := 0; assume { :LIR "65490" } { :back_translation "visiting" } true; local_#12609 := (if local_#31614_a != local_#12608 then 1 else 0); if (local_#12609 != 0) { assume { :LIR "42431" } { :back_translation "taking-then-branch" } true; goto CFG_42431; } else { assume { :LIR "40133" } { :back_translation "taking-else-branch" } true; goto CFG_40133; } CFG_42431: assume { :LIR "42431" } { :back_translation "block" } true; assume { :LIR "53189" } { :back_translation "assignment" } true; local_#12610 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67118" } { :back_translation "visiting" } true; local_#12611 := { base : _memory_ptr[{ base : local_#12610!base, offset : local_#12610!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12610!base, offset : local_#12610!offset + 0 }]!offset + local_#31614_a * 16 }; assume { :LIR "72477" } { :back_translation "visiting" } true; local_#12612 := 1; assume { :LIR "68267" } { :back_translation "visiting" } true; local_#12613 := { base : local_#12611!base, offset : local_#12611!offset - local_#12612 * 16 }; goto CFG_45888; CFG_45888: assume { :LIR "45888" } { :back_translation "block" } true; assume { :LIR "79425" } { :back_translation "visiting" } true; call routine_#33749_luaF_close(local_#4189_L,local_#12613); goto CFG_40132; CFG_40132: assume { :LIR "40132" } { :back_translation "block" } true; goto CFG_40133; CFG_40133: assume { :LIR "40133" } { :back_translation "block" } true; assume { :LIR "72478" } { :back_translation "visiting" } true; local_#12614 := 14; assume { :LIR "69566" } { :back_translation "visiting" } true; local_#12615 := ~lshr32(local_#31479_i, local_#12614); assume { :LIR "72479" } { :back_translation "visiting" } true; local_#12616 := 262143; assume { :LIR "68796" } { :back_translation "visiting" } true; local_#12617 := ~uand32(local_#12615, local_#12616); assume { :LIR "60518" } { :back_translation "visiting" } true; local_#12618 := local_#12617; assume { :LIR "72480" } { :back_translation "visiting" } true; local_#12619 := 131071; assume { :LIR "67941" } { :back_translation "visiting" } true; local_#12620 := local_#12618 - local_#12619; assume { :LIR "72481" } { :back_translation "visiting" } true; local_#12621 := 1; assume { :LIR "66463" } { :back_translation "visiting" } true; local_#12622 := local_#12620 + local_#12621; assume { :LIR "53190" } { :back_translation "assignment" } true; local_#12623 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67119" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12623!base, offset : local_#12623!offset + 8 }] := { base : _memory_ptr[{ base : local_#12623!base, offset : local_#12623!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12623!base, offset : local_#12623!offset + 8 }]!offset + local_#12622 * 4 }; goto CFG_39517; CFG_40134: assume { :LIR "40134" } { :back_translation "block" } true; assume { :LIR "53191" } { :back_translation "assignment" } true; local_#12624 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53192" } { :back_translation "assignment" } true; local_#12625 := _memory_ptr[{ base : local_#12624!base, offset : local_#12624!offset + 8 }]; assume { :LIR "72482" } { :back_translation "visiting" } true; local_#12626 := 1; assume { :LIR "67120" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12624!base, offset : local_#12624!offset + 8 }] := { base : local_#12625!base, offset : local_#12625!offset + local_#12626 * 4 }; assume { :LIR "53193" } { :back_translation "assignment" } true; local_#12627 := local_#12625; goto CFG_39517; CFG_39517: assume { :LIR "39517" } { :back_translation "block" } true; assume { :LIR "53194" } { :back_translation "assignment" } true; local_#12628 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53195" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12628!base, offset : local_#12628!offset + 0 }]; goto CFG_45008; CFG_49544: assume { :LIR "49544" } { :back_translation "block" } true; assume { :LIR "72483" } { :back_translation "visiting" } true; local_#12629 := 23; assume { :LIR "69567" } { :back_translation "visiting" } true; local_#12630 := ~lshr32(local_#31479_i, local_#12629); assume { :LIR "72484" } { :back_translation "visiting" } true; local_#12631 := 511; assume { :LIR "68797" } { :back_translation "visiting" } true; local_#12632 := ~uand32(local_#12630, local_#12631); assume { :LIR "60519" } { :back_translation "visiting" } true; local_#12633 := local_#12632; assume { :LIR "72485" } { :back_translation "visiting" } true; local_#12634 := 256; assume { :LIR "68798" } { :back_translation "visiting" } true; local_#12635 := ~sand32(local_#12633, local_#12634); if (local_#12635 != 0) { assume { :LIR "40136" } { :back_translation "taking-then-branch" } true; goto CFG_40136; } else { assume { :LIR "40135" } { :back_translation "taking-else-branch" } true; goto CFG_40135; } CFG_40135: assume { :LIR "40135" } { :back_translation "block" } true; assume { :LIR "72486" } { :back_translation "visiting" } true; local_#12636 := 23; assume { :LIR "69568" } { :back_translation "visiting" } true; local_#12637 := ~lshr32(local_#31479_i, local_#12636); assume { :LIR "72487" } { :back_translation "visiting" } true; local_#12638 := 511; assume { :LIR "68799" } { :back_translation "visiting" } true; local_#12639 := ~uand32(local_#12637, local_#12638); assume { :LIR "60520" } { :back_translation "visiting" } true; local_#12640 := local_#12639; assume { :LIR "67121" } { :back_translation "visiting" } true; local_#12641 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12640 * 16 }; assume { :LIR "53196" } { :back_translation "assignment" } true; local_#30639 := local_#12641; goto CFG_49545; CFG_40136: assume { :LIR "40136" } { :back_translation "block" } true; assume { :LIR "72488" } { :back_translation "visiting" } true; local_#12642 := 23; assume { :LIR "69569" } { :back_translation "visiting" } true; local_#12643 := ~lshr32(local_#31479_i, local_#12642); assume { :LIR "72489" } { :back_translation "visiting" } true; local_#12644 := 511; assume { :LIR "68800" } { :back_translation "visiting" } true; local_#12645 := ~uand32(local_#12643, local_#12644); assume { :LIR "60521" } { :back_translation "visiting" } true; local_#12646 := local_#12645; assume { :LIR "60522" } { :back_translation "visiting" } true; local_#12647 := local_#12646; assume { :LIR "72490" } { :back_translation "visiting" } true; local_#12648 := -257; assume { :LIR "68801" } { :back_translation "visiting" } true; local_#12649 := ~sand32(local_#12647, local_#12648); assume { :LIR "67122" } { :back_translation "visiting" } true; local_#12650 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12649 * 16 }; assume { :LIR "53197" } { :back_translation "assignment" } true; local_#30639 := local_#12650; goto CFG_49545; CFG_49545: assume { :LIR "49545" } { :back_translation "block" } true; assume { :LIR "62506" } { :back_translation "visiting" } true; local_#12651 := local_#30639; assume { :LIR "72491" } { :back_translation "visiting" } true; local_#12652 := 14; assume { :LIR "69570" } { :back_translation "visiting" } true; local_#12653 := ~lshr32(local_#31479_i, local_#12652); assume { :LIR "72492" } { :back_translation "visiting" } true; local_#12654 := 511; assume { :LIR "68802" } { :back_translation "visiting" } true; local_#12655 := ~uand32(local_#12653, local_#12654); assume { :LIR "60523" } { :back_translation "visiting" } true; local_#12656 := local_#12655; assume { :LIR "72493" } { :back_translation "visiting" } true; local_#12657 := 256; assume { :LIR "68803" } { :back_translation "visiting" } true; local_#12658 := ~sand32(local_#12656, local_#12657); if (local_#12658 != 0) { assume { :LIR "40138" } { :back_translation "taking-then-branch" } true; goto CFG_40138; } else { assume { :LIR "40137" } { :back_translation "taking-else-branch" } true; goto CFG_40137; } CFG_40137: assume { :LIR "40137" } { :back_translation "block" } true; assume { :LIR "72494" } { :back_translation "visiting" } true; local_#12659 := 14; assume { :LIR "69571" } { :back_translation "visiting" } true; local_#12660 := ~lshr32(local_#31479_i, local_#12659); assume { :LIR "72495" } { :back_translation "visiting" } true; local_#12661 := 511; assume { :LIR "68804" } { :back_translation "visiting" } true; local_#12662 := ~uand32(local_#12660, local_#12661); assume { :LIR "60524" } { :back_translation "visiting" } true; local_#12663 := local_#12662; assume { :LIR "67123" } { :back_translation "visiting" } true; local_#12664 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12663 * 16 }; assume { :LIR "53198" } { :back_translation "assignment" } true; local_#30640 := local_#12664; goto CFG_42432; CFG_40138: assume { :LIR "40138" } { :back_translation "block" } true; assume { :LIR "72496" } { :back_translation "visiting" } true; local_#12665 := 14; assume { :LIR "69572" } { :back_translation "visiting" } true; local_#12666 := ~lshr32(local_#31479_i, local_#12665); assume { :LIR "72497" } { :back_translation "visiting" } true; local_#12667 := 511; assume { :LIR "68805" } { :back_translation "visiting" } true; local_#12668 := ~uand32(local_#12666, local_#12667); assume { :LIR "60525" } { :back_translation "visiting" } true; local_#12669 := local_#12668; assume { :LIR "60526" } { :back_translation "visiting" } true; local_#12670 := local_#12669; assume { :LIR "72498" } { :back_translation "visiting" } true; local_#12671 := -257; assume { :LIR "68806" } { :back_translation "visiting" } true; local_#12672 := ~sand32(local_#12670, local_#12671); assume { :LIR "67124" } { :back_translation "visiting" } true; local_#12673 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12672 * 16 }; assume { :LIR "53199" } { :back_translation "assignment" } true; local_#30640 := local_#12673; goto CFG_42432; CFG_42432: assume { :LIR "42432" } { :back_translation "block" } true; assume { :LIR "62507" } { :back_translation "visiting" } true; local_#12674 := local_#30640; goto CFG_45889; CFG_45889: assume { :LIR "45889" } { :back_translation "block" } true; assume { :LIR "79426" } { :back_translation "visiting" } true; call local_#12675 := routine_#33899_luaV_lessthan(local_#4189_L,local_#12651,local_#12674); goto CFG_49546; CFG_49546: assume { :LIR "49546" } { :back_translation "block" } true; assume { :LIR "72499" } { :back_translation "visiting" } true; local_#12676 := 6; assume { :LIR "69573" } { :back_translation "visiting" } true; local_#12677 := ~lshr32(local_#31479_i, local_#12676); assume { :LIR "72500" } { :back_translation "visiting" } true; local_#12678 := 255; assume { :LIR "68807" } { :back_translation "visiting" } true; local_#12679 := ~uand32(local_#12677, local_#12678); assume { :LIR "60527" } { :back_translation "visiting" } true; local_#12680 := local_#12679; assume { :LIR "65491" } { :back_translation "visiting" } true; local_#12681 := (if local_#12675 != local_#12680 then 1 else 0); if (local_#12681 != 0) { assume { :LIR "40141" } { :back_translation "taking-then-branch" } true; goto CFG_40141; } else { assume { :LIR "49547" } { :back_translation "taking-else-branch" } true; goto CFG_49547; } CFG_49547: assume { :LIR "49547" } { :back_translation "block" } true; assume { :LIR "53200" } { :back_translation "assignment" } true; local_#12682 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53201" } { :back_translation "assignment" } true; local_#12683 := _memory_ptr[{ base : local_#12682!base, offset : local_#12682!offset + 8 }]; assume { :LIR "53202" } { :back_translation "assignment" } true; assert { :LIR "137536" } { :check "null-dereference" } { :finding_ids "210,316,467,676" } local_#12683 != { base : 0, offset : 0 }; local_#31479_i := _memory[local_#12683]; assume { :LIR "72501" } { :back_translation "visiting" } true; local_#12684 := 6; assume { :LIR "69574" } { :back_translation "visiting" } true; local_#12685 := ~lshr32(local_#31479_i, local_#12684); assume { :LIR "72502" } { :back_translation "visiting" } true; local_#12686 := 255; assume { :LIR "68808" } { :back_translation "visiting" } true; local_#12687 := ~uand32(local_#12685, local_#12686); assume { :LIR "60528" } { :back_translation "visiting" } true; local_#12688 := local_#12687; assume { :LIR "53203" } { :back_translation "assignment" } true; local_#31613_a := local_#12688; assume { :LIR "72503" } { :back_translation "visiting" } true; local_#12689 := 0; assume { :LIR "65492" } { :back_translation "visiting" } true; local_#12690 := (if local_#31613_a != local_#12689 then 1 else 0); if (local_#12690 != 0) { assume { :LIR "42433" } { :back_translation "taking-then-branch" } true; goto CFG_42433; } else { assume { :LIR "40140" } { :back_translation "taking-else-branch" } true; goto CFG_40140; } CFG_42433: assume { :LIR "42433" } { :back_translation "block" } true; assume { :LIR "53204" } { :back_translation "assignment" } true; local_#12691 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67125" } { :back_translation "visiting" } true; local_#12692 := { base : _memory_ptr[{ base : local_#12691!base, offset : local_#12691!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12691!base, offset : local_#12691!offset + 0 }]!offset + local_#31613_a * 16 }; assume { :LIR "72504" } { :back_translation "visiting" } true; local_#12693 := 1; assume { :LIR "68268" } { :back_translation "visiting" } true; local_#12694 := { base : local_#12692!base, offset : local_#12692!offset - local_#12693 * 16 }; goto CFG_45890; CFG_45890: assume { :LIR "45890" } { :back_translation "block" } true; assume { :LIR "79427" } { :back_translation "visiting" } true; call routine_#33749_luaF_close(local_#4189_L,local_#12694); goto CFG_40139; CFG_40139: assume { :LIR "40139" } { :back_translation "block" } true; goto CFG_40140; CFG_40140: assume { :LIR "40140" } { :back_translation "block" } true; assume { :LIR "72505" } { :back_translation "visiting" } true; local_#12695 := 14; assume { :LIR "69575" } { :back_translation "visiting" } true; local_#12696 := ~lshr32(local_#31479_i, local_#12695); assume { :LIR "72506" } { :back_translation "visiting" } true; local_#12697 := 262143; assume { :LIR "68809" } { :back_translation "visiting" } true; local_#12698 := ~uand32(local_#12696, local_#12697); assume { :LIR "60529" } { :back_translation "visiting" } true; local_#12699 := local_#12698; assume { :LIR "72507" } { :back_translation "visiting" } true; local_#12700 := 131071; assume { :LIR "67942" } { :back_translation "visiting" } true; local_#12701 := local_#12699 - local_#12700; assume { :LIR "72508" } { :back_translation "visiting" } true; local_#12702 := 1; assume { :LIR "66464" } { :back_translation "visiting" } true; local_#12703 := local_#12701 + local_#12702; assume { :LIR "53205" } { :back_translation "assignment" } true; local_#12704 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67126" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12704!base, offset : local_#12704!offset + 8 }] := { base : _memory_ptr[{ base : local_#12704!base, offset : local_#12704!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12704!base, offset : local_#12704!offset + 8 }]!offset + local_#12703 * 4 }; goto CFG_39518; CFG_40141: assume { :LIR "40141" } { :back_translation "block" } true; assume { :LIR "53206" } { :back_translation "assignment" } true; local_#12705 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53207" } { :back_translation "assignment" } true; local_#12706 := _memory_ptr[{ base : local_#12705!base, offset : local_#12705!offset + 8 }]; assume { :LIR "72509" } { :back_translation "visiting" } true; local_#12707 := 1; assume { :LIR "67127" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12705!base, offset : local_#12705!offset + 8 }] := { base : local_#12706!base, offset : local_#12706!offset + local_#12707 * 4 }; assume { :LIR "53208" } { :back_translation "assignment" } true; local_#12708 := local_#12706; goto CFG_39518; CFG_39518: assume { :LIR "39518" } { :back_translation "block" } true; assume { :LIR "53209" } { :back_translation "assignment" } true; local_#12709 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53210" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12709!base, offset : local_#12709!offset + 0 }]; goto CFG_45008; CFG_49548: assume { :LIR "49548" } { :back_translation "block" } true; assume { :LIR "72510" } { :back_translation "visiting" } true; local_#12710 := 23; assume { :LIR "69576" } { :back_translation "visiting" } true; local_#12711 := ~lshr32(local_#31479_i, local_#12710); assume { :LIR "72511" } { :back_translation "visiting" } true; local_#12712 := 511; assume { :LIR "68810" } { :back_translation "visiting" } true; local_#12713 := ~uand32(local_#12711, local_#12712); assume { :LIR "60530" } { :back_translation "visiting" } true; local_#12714 := local_#12713; assume { :LIR "72512" } { :back_translation "visiting" } true; local_#12715 := 256; assume { :LIR "68811" } { :back_translation "visiting" } true; local_#12716 := ~sand32(local_#12714, local_#12715); if (local_#12716 != 0) { assume { :LIR "40143" } { :back_translation "taking-then-branch" } true; goto CFG_40143; } else { assume { :LIR "40142" } { :back_translation "taking-else-branch" } true; goto CFG_40142; } CFG_40142: assume { :LIR "40142" } { :back_translation "block" } true; assume { :LIR "72513" } { :back_translation "visiting" } true; local_#12717 := 23; assume { :LIR "69577" } { :back_translation "visiting" } true; local_#12718 := ~lshr32(local_#31479_i, local_#12717); assume { :LIR "72514" } { :back_translation "visiting" } true; local_#12719 := 511; assume { :LIR "68812" } { :back_translation "visiting" } true; local_#12720 := ~uand32(local_#12718, local_#12719); assume { :LIR "60531" } { :back_translation "visiting" } true; local_#12721 := local_#12720; assume { :LIR "67128" } { :back_translation "visiting" } true; local_#12722 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12721 * 16 }; assume { :LIR "53211" } { :back_translation "assignment" } true; local_#30641 := local_#12722; goto CFG_49549; CFG_40143: assume { :LIR "40143" } { :back_translation "block" } true; assume { :LIR "72515" } { :back_translation "visiting" } true; local_#12723 := 23; assume { :LIR "69578" } { :back_translation "visiting" } true; local_#12724 := ~lshr32(local_#31479_i, local_#12723); assume { :LIR "72516" } { :back_translation "visiting" } true; local_#12725 := 511; assume { :LIR "68813" } { :back_translation "visiting" } true; local_#12726 := ~uand32(local_#12724, local_#12725); assume { :LIR "60532" } { :back_translation "visiting" } true; local_#12727 := local_#12726; assume { :LIR "60533" } { :back_translation "visiting" } true; local_#12728 := local_#12727; assume { :LIR "72517" } { :back_translation "visiting" } true; local_#12729 := -257; assume { :LIR "68814" } { :back_translation "visiting" } true; local_#12730 := ~sand32(local_#12728, local_#12729); assume { :LIR "67129" } { :back_translation "visiting" } true; local_#12731 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12730 * 16 }; assume { :LIR "53212" } { :back_translation "assignment" } true; local_#30641 := local_#12731; goto CFG_49549; CFG_49549: assume { :LIR "49549" } { :back_translation "block" } true; assume { :LIR "53213" } { :back_translation "assignment" } true; local_#31610_rb := local_#30641; assume { :LIR "72518" } { :back_translation "visiting" } true; local_#12732 := 14; assume { :LIR "69579" } { :back_translation "visiting" } true; local_#12733 := ~lshr32(local_#31479_i, local_#12732); assume { :LIR "72519" } { :back_translation "visiting" } true; local_#12734 := 511; assume { :LIR "68815" } { :back_translation "visiting" } true; local_#12735 := ~uand32(local_#12733, local_#12734); assume { :LIR "60534" } { :back_translation "visiting" } true; local_#12736 := local_#12735; assume { :LIR "72520" } { :back_translation "visiting" } true; local_#12737 := 256; assume { :LIR "68816" } { :back_translation "visiting" } true; local_#12738 := ~sand32(local_#12736, local_#12737); if (local_#12738 != 0) { assume { :LIR "40145" } { :back_translation "taking-then-branch" } true; goto CFG_40145; } else { assume { :LIR "40144" } { :back_translation "taking-else-branch" } true; goto CFG_40144; } CFG_40144: assume { :LIR "40144" } { :back_translation "block" } true; assume { :LIR "72521" } { :back_translation "visiting" } true; local_#12739 := 14; assume { :LIR "69580" } { :back_translation "visiting" } true; local_#12740 := ~lshr32(local_#31479_i, local_#12739); assume { :LIR "72522" } { :back_translation "visiting" } true; local_#12741 := 511; assume { :LIR "68817" } { :back_translation "visiting" } true; local_#12742 := ~uand32(local_#12740, local_#12741); assume { :LIR "60535" } { :back_translation "visiting" } true; local_#12743 := local_#12742; assume { :LIR "67130" } { :back_translation "visiting" } true; local_#12744 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12743 * 16 }; assume { :LIR "53214" } { :back_translation "assignment" } true; local_#30642 := local_#12744; goto CFG_42434; CFG_40145: assume { :LIR "40145" } { :back_translation "block" } true; assume { :LIR "72523" } { :back_translation "visiting" } true; local_#12745 := 14; assume { :LIR "69581" } { :back_translation "visiting" } true; local_#12746 := ~lshr32(local_#31479_i, local_#12745); assume { :LIR "72524" } { :back_translation "visiting" } true; local_#12747 := 511; assume { :LIR "68818" } { :back_translation "visiting" } true; local_#12748 := ~uand32(local_#12746, local_#12747); assume { :LIR "60536" } { :back_translation "visiting" } true; local_#12749 := local_#12748; assume { :LIR "60537" } { :back_translation "visiting" } true; local_#12750 := local_#12749; assume { :LIR "72525" } { :back_translation "visiting" } true; local_#12751 := -257; assume { :LIR "68819" } { :back_translation "visiting" } true; local_#12752 := ~sand32(local_#12750, local_#12751); assume { :LIR "67131" } { :back_translation "visiting" } true; local_#12753 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12752 * 16 }; assume { :LIR "53215" } { :back_translation "assignment" } true; local_#30642 := local_#12753; goto CFG_42434; CFG_42434: assume { :LIR "42434" } { :back_translation "block" } true; assume { :LIR "53216" } { :back_translation "assignment" } true; local_#31611_rc := local_#30642; assume { :LIR "62508" } { :back_translation "visiting" } true; local_#12754 := local_#31610_rb; assume { :LIR "62509" } { :back_translation "visiting" } true; local_#12755 := local_#31611_rc; goto CFG_45891; CFG_45891: assume { :LIR "45891" } { :back_translation "block" } true; assume { :LIR "79428" } { :back_translation "visiting" } true; call local_#12756 := routine_#33893_luaV_equalobj(local_#4189_L,local_#12754,local_#12755); goto CFG_49550; CFG_49550: assume { :LIR "49550" } { :back_translation "block" } true; assume { :LIR "72526" } { :back_translation "visiting" } true; local_#12757 := 6; assume { :LIR "69582" } { :back_translation "visiting" } true; local_#12758 := ~lshr32(local_#31479_i, local_#12757); assume { :LIR "72527" } { :back_translation "visiting" } true; local_#12759 := 255; assume { :LIR "68820" } { :back_translation "visiting" } true; local_#12760 := ~uand32(local_#12758, local_#12759); assume { :LIR "60538" } { :back_translation "visiting" } true; local_#12761 := local_#12760; assume { :LIR "65493" } { :back_translation "visiting" } true; local_#12762 := (if local_#12756 != local_#12761 then 1 else 0); if (local_#12762 != 0) { assume { :LIR "40148" } { :back_translation "taking-then-branch" } true; goto CFG_40148; } else { assume { :LIR "49551" } { :back_translation "taking-else-branch" } true; goto CFG_49551; } CFG_49551: assume { :LIR "49551" } { :back_translation "block" } true; assume { :LIR "53217" } { :back_translation "assignment" } true; local_#12763 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53218" } { :back_translation "assignment" } true; local_#12764 := _memory_ptr[{ base : local_#12763!base, offset : local_#12763!offset + 8 }]; assume { :LIR "53219" } { :back_translation "assignment" } true; assert { :LIR "137537" } { :check "null-dereference" } { :finding_ids "211,313,462,677" } local_#12764 != { base : 0, offset : 0 }; local_#31479_i := _memory[local_#12764]; assume { :LIR "72528" } { :back_translation "visiting" } true; local_#12765 := 6; assume { :LIR "69583" } { :back_translation "visiting" } true; local_#12766 := ~lshr32(local_#31479_i, local_#12765); assume { :LIR "72529" } { :back_translation "visiting" } true; local_#12767 := 255; assume { :LIR "68821" } { :back_translation "visiting" } true; local_#12768 := ~uand32(local_#12766, local_#12767); assume { :LIR "60539" } { :back_translation "visiting" } true; local_#12769 := local_#12768; assume { :LIR "53220" } { :back_translation "assignment" } true; local_#31612_a := local_#12769; assume { :LIR "72530" } { :back_translation "visiting" } true; local_#12770 := 0; assume { :LIR "65494" } { :back_translation "visiting" } true; local_#12771 := (if local_#31612_a != local_#12770 then 1 else 0); if (local_#12771 != 0) { assume { :LIR "42435" } { :back_translation "taking-then-branch" } true; goto CFG_42435; } else { assume { :LIR "40147" } { :back_translation "taking-else-branch" } true; goto CFG_40147; } CFG_42435: assume { :LIR "42435" } { :back_translation "block" } true; assume { :LIR "53221" } { :back_translation "assignment" } true; local_#12772 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67132" } { :back_translation "visiting" } true; local_#12773 := { base : _memory_ptr[{ base : local_#12772!base, offset : local_#12772!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12772!base, offset : local_#12772!offset + 0 }]!offset + local_#31612_a * 16 }; assume { :LIR "72531" } { :back_translation "visiting" } true; local_#12774 := 1; assume { :LIR "68269" } { :back_translation "visiting" } true; local_#12775 := { base : local_#12773!base, offset : local_#12773!offset - local_#12774 * 16 }; goto CFG_45892; CFG_45892: assume { :LIR "45892" } { :back_translation "block" } true; assume { :LIR "79429" } { :back_translation "visiting" } true; call routine_#33749_luaF_close(local_#4189_L,local_#12775); goto CFG_40146; CFG_40146: assume { :LIR "40146" } { :back_translation "block" } true; goto CFG_40147; CFG_40147: assume { :LIR "40147" } { :back_translation "block" } true; assume { :LIR "72532" } { :back_translation "visiting" } true; local_#12776 := 14; assume { :LIR "69584" } { :back_translation "visiting" } true; local_#12777 := ~lshr32(local_#31479_i, local_#12776); assume { :LIR "72533" } { :back_translation "visiting" } true; local_#12778 := 262143; assume { :LIR "68822" } { :back_translation "visiting" } true; local_#12779 := ~uand32(local_#12777, local_#12778); assume { :LIR "60540" } { :back_translation "visiting" } true; local_#12780 := local_#12779; assume { :LIR "72534" } { :back_translation "visiting" } true; local_#12781 := 131071; assume { :LIR "67943" } { :back_translation "visiting" } true; local_#12782 := local_#12780 - local_#12781; assume { :LIR "72535" } { :back_translation "visiting" } true; local_#12783 := 1; assume { :LIR "66465" } { :back_translation "visiting" } true; local_#12784 := local_#12782 + local_#12783; assume { :LIR "53222" } { :back_translation "assignment" } true; local_#12785 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67133" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12785!base, offset : local_#12785!offset + 8 }] := { base : _memory_ptr[{ base : local_#12785!base, offset : local_#12785!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12785!base, offset : local_#12785!offset + 8 }]!offset + local_#12784 * 4 }; goto CFG_39519; CFG_40148: assume { :LIR "40148" } { :back_translation "block" } true; assume { :LIR "53223" } { :back_translation "assignment" } true; local_#12786 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53224" } { :back_translation "assignment" } true; local_#12787 := _memory_ptr[{ base : local_#12786!base, offset : local_#12786!offset + 8 }]; assume { :LIR "72536" } { :back_translation "visiting" } true; local_#12788 := 1; assume { :LIR "67134" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12786!base, offset : local_#12786!offset + 8 }] := { base : local_#12787!base, offset : local_#12787!offset + local_#12788 * 4 }; assume { :LIR "53225" } { :back_translation "assignment" } true; local_#12789 := local_#12787; goto CFG_39519; CFG_39519: assume { :LIR "39519" } { :back_translation "block" } true; assume { :LIR "53226" } { :back_translation "assignment" } true; local_#12790 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53227" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12790!base, offset : local_#12790!offset + 0 }]; goto CFG_45008; CFG_49552: assume { :LIR "49552" } { :back_translation "block" } true; assume { :LIR "72537" } { :back_translation "visiting" } true; local_#12791 := 6; assume { :LIR "69585" } { :back_translation "visiting" } true; local_#12792 := ~lshr32(local_#31479_i, local_#12791); assume { :LIR "72538" } { :back_translation "visiting" } true; local_#12793 := 255; assume { :LIR "68823" } { :back_translation "visiting" } true; local_#12794 := ~uand32(local_#12792, local_#12793); assume { :LIR "60541" } { :back_translation "visiting" } true; local_#12795 := local_#12794; assume { :LIR "53228" } { :back_translation "assignment" } true; local_#31609_a := local_#12795; assume { :LIR "72539" } { :back_translation "visiting" } true; local_#12796 := 0; assume { :LIR "65495" } { :back_translation "visiting" } true; local_#12797 := (if local_#31609_a != local_#12796 then 1 else 0); if (local_#12797 != 0) { assume { :LIR "42436" } { :back_translation "taking-then-branch" } true; goto CFG_42436; } else { assume { :LIR "39520" } { :back_translation "taking-else-branch" } true; goto CFG_39520; } CFG_42436: assume { :LIR "42436" } { :back_translation "block" } true; assume { :LIR "53229" } { :back_translation "assignment" } true; local_#12798 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67135" } { :back_translation "visiting" } true; local_#12799 := { base : _memory_ptr[{ base : local_#12798!base, offset : local_#12798!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12798!base, offset : local_#12798!offset + 0 }]!offset + local_#31609_a * 16 }; assume { :LIR "72540" } { :back_translation "visiting" } true; local_#12800 := 1; assume { :LIR "68270" } { :back_translation "visiting" } true; local_#12801 := { base : local_#12799!base, offset : local_#12799!offset - local_#12800 * 16 }; goto CFG_45893; CFG_45893: assume { :LIR "45893" } { :back_translation "block" } true; assume { :LIR "79430" } { :back_translation "visiting" } true; call routine_#33749_luaF_close(local_#4189_L,local_#12801); goto CFG_40149; CFG_40149: assume { :LIR "40149" } { :back_translation "block" } true; goto CFG_39520; CFG_39520: assume { :LIR "39520" } { :back_translation "block" } true; assume { :LIR "72541" } { :back_translation "visiting" } true; local_#12802 := 14; assume { :LIR "69586" } { :back_translation "visiting" } true; local_#12803 := ~lshr32(local_#31479_i, local_#12802); assume { :LIR "72542" } { :back_translation "visiting" } true; local_#12804 := 262143; assume { :LIR "68824" } { :back_translation "visiting" } true; local_#12805 := ~uand32(local_#12803, local_#12804); assume { :LIR "60542" } { :back_translation "visiting" } true; local_#12806 := local_#12805; assume { :LIR "72543" } { :back_translation "visiting" } true; local_#12807 := 131071; assume { :LIR "67944" } { :back_translation "visiting" } true; local_#12808 := local_#12806 - local_#12807; assume { :LIR "72544" } { :back_translation "visiting" } true; local_#12809 := 0; assume { :LIR "66466" } { :back_translation "visiting" } true; local_#12810 := local_#12808 + local_#12809; assume { :LIR "53230" } { :back_translation "assignment" } true; local_#12811 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "67136" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#12811!base, offset : local_#12811!offset + 8 }] := { base : _memory_ptr[{ base : local_#12811!base, offset : local_#12811!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12811!base, offset : local_#12811!offset + 8 }]!offset + local_#12810 * 4 }; goto CFG_45008; CFG_42437: assume { :LIR "42437" } { :back_translation "block" } true; assume { :LIR "72545" } { :back_translation "visiting" } true; local_#12812 := 23; assume { :LIR "69587" } { :back_translation "visiting" } true; local_#12813 := ~lshr32(local_#31479_i, local_#12812); assume { :LIR "72546" } { :back_translation "visiting" } true; local_#12814 := 511; assume { :LIR "68825" } { :back_translation "visiting" } true; local_#12815 := ~uand32(local_#12813, local_#12814); assume { :LIR "60543" } { :back_translation "visiting" } true; local_#12816 := local_#12815; assume { :LIR "53231" } { :back_translation "assignment" } true; local_#31605_b := local_#12816; assume { :LIR "72547" } { :back_translation "visiting" } true; local_#12817 := 14; assume { :LIR "69588" } { :back_translation "visiting" } true; local_#12818 := ~lshr32(local_#31479_i, local_#12817); assume { :LIR "72548" } { :back_translation "visiting" } true; local_#12819 := 511; assume { :LIR "68826" } { :back_translation "visiting" } true; local_#12820 := ~uand32(local_#12818, local_#12819); assume { :LIR "60544" } { :back_translation "visiting" } true; local_#12821 := local_#12820; assume { :LIR "53232" } { :back_translation "assignment" } true; local_#31606_c := local_#12821; assume { :LIR "67137" } { :back_translation "visiting" } true; local_#12822 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#31606_c * 16 }; assume { :LIR "72549" } { :back_translation "visiting" } true; local_#12823 := 1; assume { :LIR "67138" } { :back_translation "visiting" } true; local_#12824 := { base : local_#12822!base, offset : local_#12822!offset + local_#12823 * 16 }; assume { :LIR "53233" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12824; assume { :LIR "67945" } { :back_translation "visiting" } true; local_#12825 := local_#31606_c - local_#31605_b; assume { :LIR "72550" } { :back_translation "visiting" } true; local_#12826 := 1; assume { :LIR "66467" } { :back_translation "visiting" } true; local_#12827 := local_#12825 + local_#12826; goto CFG_45894; CFG_45894: assume { :LIR "45894" } { :back_translation "block" } true; assume { :LIR "79431" } { :back_translation "visiting" } true; call routine_#33891_luaV_concat(local_#4189_L,local_#12827); goto CFG_49553; CFG_49553: assume { :LIR "49553" } { :back_translation "block" } true; assume { :LIR "53234" } { :back_translation "assignment" } true; local_#12828 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53235" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12828!base, offset : local_#12828!offset + 0 }]; assume { :LIR "72551" } { :back_translation "visiting" } true; local_#12829 := 6; assume { :LIR "69589" } { :back_translation "visiting" } true; local_#12830 := ~lshr32(local_#31479_i, local_#12829); assume { :LIR "72552" } { :back_translation "visiting" } true; local_#12831 := 255; assume { :LIR "68827" } { :back_translation "visiting" } true; local_#12832 := ~uand32(local_#12830, local_#12831); assume { :LIR "60545" } { :back_translation "visiting" } true; local_#12833 := local_#12832; assume { :LIR "67139" } { :back_translation "visiting" } true; local_#12834 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12833 * 16 }; assume { :LIR "53236" } { :back_translation "assignment" } true; local_#31480_ra := local_#12834; assume { :LIR "67140" } { :back_translation "visiting" } true; local_#12835 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#31605_b * 16 }; assume { :LIR "53237" } { :back_translation "assignment" } true; local_#31607_rb := local_#12835; assume { :LIR "53238" } { :back_translation "assignment" } true; local_#31608_io1 := local_#31480_ra; assume { :LIR "53239" } { :back_translation "assignment" } true; assert { :LIR "137538" } { :check "null-dereference" } { :finding_ids "87,221,303,686" } local_#31607_rb != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_b == _memory[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_f == _memory_ptr[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_gc == _memory_ptr[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_i == _memory[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_p == _memory_ptr[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_tt_ == _memory[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 8 }]; assert { :LIR "138408" } { :check "null-dereference" } { :finding_ids "173,264,560,796" } local_#31608_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31608_io1,read_type_#101(_memory, _memory_ptr, local_#31607_rb)); assume { :LIR "60546" } { :back_translation "visiting" } true; local_#12836 := 0; assume { :LIR "72553" } { :back_translation "visiting" } true; local_#12837 := 0; assume { :LIR "60547" } { :back_translation "visiting" } true; local_#12838 := 0; assume { :LIR "53240" } { :back_translation "assignment" } true; local_#12839 := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 24 }]; assume { :LIR "72554" } { :back_translation "visiting" } true; local_#12840 := 0; assume { :LIR "65817" } { :back_translation "visiting" } true; assert { :LIR "139393" } { :check "null-dereference" } { :finding_ids "218,306,468,684" } local_#12839 != { base : 0, offset : 0 }; local_#12841 := (if _memory[{ base : local_#12839!base, offset : local_#12839!offset + 24 }] > local_#12840 then 1 else 0); if (local_#12841 != 0) { assume { :LIR "49554" } { :back_translation "taking-then-branch" } true; goto CFG_49554; } else { assume { :LIR "39521" } { :back_translation "taking-else-branch" } true; goto CFG_39521; } CFG_49554: assume { :LIR "49554" } { :back_translation "block" } true; assume { :LIR "65709" } { :back_translation "visiting" } true; local_#12842 := (if local_#31480_ra!offset >= local_#31607_rb!offset then 1 else 0); if (local_#12842 != 0) { assume { :LIR "40151" } { :back_translation "taking-then-branch" } true; goto CFG_40151; } else { assume { :LIR "40150" } { :back_translation "taking-else-branch" } true; goto CFG_40150; } CFG_40150: assume { :LIR "40150" } { :back_translation "block" } true; assume { :LIR "53241" } { :back_translation "assignment" } true; local_#30643 := local_#31607_rb; goto CFG_42438; CFG_40151: assume { :LIR "40151" } { :back_translation "block" } true; assume { :LIR "72555" } { :back_translation "visiting" } true; local_#12843 := 1; assume { :LIR "67141" } { :back_translation "visiting" } true; local_#12844 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12843 * 16 }; assume { :LIR "53242" } { :back_translation "assignment" } true; local_#30643 := local_#12844; goto CFG_42438; CFG_42438: assume { :LIR "42438" } { :back_translation "block" } true; assume { :LIR "53243" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#30643; goto CFG_45895; CFG_45895: assume { :LIR "45895" } { :back_translation "block" } true; assume { :LIR "79432" } { :back_translation "visiting" } true; call routine_#33728_luaC_step(local_#4189_L); goto CFG_40152; CFG_40152: assume { :LIR "40152" } { :back_translation "block" } true; assume { :LIR "53244" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; assume { :LIR "53245" } { :back_translation "assignment" } true; local_#12845 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53246" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12845!base, offset : local_#12845!offset + 0 }]; goto CFG_39521; CFG_39521: assume { :LIR "39521" } { :back_translation "block" } true; assume { :LIR "72556" } { :back_translation "visiting" } true; local_#12846 := 0; assume { :LIR "60548" } { :back_translation "visiting" } true; local_#12847 := 0; assume { :LIR "72557" } { :back_translation "visiting" } true; local_#12848 := 0; assume { :LIR "60549" } { :back_translation "visiting" } true; local_#12849 := 0; assume { :LIR "72558" } { :back_translation "visiting" } true; local_#12850 := 0; assume { :LIR "60550" } { :back_translation "visiting" } true; local_#12851 := 0; assume { :LIR "53247" } { :back_translation "assignment" } true; assert { :LIR "139396" } { :check "null-dereference" } { :finding_ids "42,381,479,787" } local_#31476_ci != { base : 0, offset : 0 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; goto CFG_45008; CFG_42439: assume { :LIR "42439" } { :back_translation "block" } true; assume { :LIR "72559" } { :back_translation "visiting" } true; local_#12852 := 23; assume { :LIR "69590" } { :back_translation "visiting" } true; local_#12853 := ~lshr32(local_#31479_i, local_#12852); assume { :LIR "72560" } { :back_translation "visiting" } true; local_#12854 := 511; assume { :LIR "68828" } { :back_translation "visiting" } true; local_#12855 := ~uand32(local_#12853, local_#12854); assume { :LIR "60551" } { :back_translation "visiting" } true; local_#12856 := local_#12855; assume { :LIR "67142" } { :back_translation "visiting" } true; local_#12857 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12856 * 16 }; assume { :LIR "62510" } { :back_translation "visiting" } true; local_#12858 := local_#12857; goto CFG_45896; CFG_45896: assume { :LIR "45896" } { :back_translation "block" } true; assume { :LIR "79433" } { :back_translation "visiting" } true; call routine_#33901_luaV_objlen(local_#4189_L,local_#31480_ra,local_#12858); goto CFG_39522; CFG_39522: assume { :LIR "39522" } { :back_translation "block" } true; assume { :LIR "53248" } { :back_translation "assignment" } true; local_#12859 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53249" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12859!base, offset : local_#12859!offset + 0 }]; goto CFG_45008; CFG_49555: assume { :LIR "49555" } { :back_translation "block" } true; assume { :LIR "72561" } { :back_translation "visiting" } true; local_#12860 := 23; assume { :LIR "69591" } { :back_translation "visiting" } true; local_#12861 := ~lshr32(local_#31479_i, local_#12860); assume { :LIR "72562" } { :back_translation "visiting" } true; local_#12862 := 511; assume { :LIR "68829" } { :back_translation "visiting" } true; local_#12863 := ~uand32(local_#12861, local_#12862); assume { :LIR "60552" } { :back_translation "visiting" } true; local_#12864 := local_#12863; assume { :LIR "67143" } { :back_translation "visiting" } true; local_#12865 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12864 * 16 }; assume { :LIR "53250" } { :back_translation "assignment" } true; local_#31602_rb := local_#12865; assume { :LIR "72563" } { :back_translation "visiting" } true; local_#12866 := 0; assume { :LIR "64844" } { :back_translation "visiting" } true; assert { :LIR "139398" } { :check "null-dereference" } { :finding_ids "194,405,596,832" } local_#31602_rb != { base : 0, offset : 0 }; local_#12867 := (if _memory[{ base : local_#31602_rb!base, offset : local_#31602_rb!offset + 8 }] == local_#12866 then 1 else 0); if (local_#12867 != 0) { assume { :LIR "40154" } { :back_translation "taking-then-branch" } true; goto CFG_40154; } else { assume { :LIR "49556" } { :back_translation "taking-else-branch" } true; goto CFG_49556; } CFG_49556: assume { :LIR "49556" } { :back_translation "block" } true; assume { :LIR "72564" } { :back_translation "visiting" } true; local_#12868 := 1; assume { :LIR "64845" } { :back_translation "visiting" } true; local_#12869 := (if _memory[{ base : local_#31602_rb!base, offset : local_#31602_rb!offset + 8 }] == local_#12868 then 1 else 0); if (local_#12869 != 0) { assume { :LIR "49557" } { :back_translation "taking-then-branch" } true; goto CFG_49557; } else { assume { :LIR "40153" } { :back_translation "taking-else-branch" } true; goto CFG_40153; } CFG_49557: assume { :LIR "49557" } { :back_translation "block" } true; assume { :LIR "53251" } { :back_translation "assignment" } true; local_#12870 := { base : local_#31602_rb!base, offset : local_#31602_rb!offset + 0 }; assume { :LIR "72565" } { :back_translation "visiting" } true; local_#12871 := 0; assume { :LIR "64846" } { :back_translation "visiting" } true; local_#12872 := (if _memory[local_#12870] == local_#12871 then 1 else 0); if (local_#12872 != 0) { assume { :LIR "40154" } { :back_translation "taking-then-branch" } true; goto CFG_40154; } else { assume { :LIR "40153" } { :back_translation "taking-else-branch" } true; goto CFG_40153; } CFG_40153: assume { :LIR "40153" } { :back_translation "block" } true; assume { :LIR "78744" } { :back_translation "visiting" } true; local_#30644 := 0; goto CFG_39523; CFG_40154: assume { :LIR "40154" } { :back_translation "block" } true; assume { :LIR "78652" } { :back_translation "visiting" } true; local_#30644 := 1; goto CFG_39523; CFG_39523: assume { :LIR "39523" } { :back_translation "block" } true; assume { :LIR "53252" } { :back_translation "assignment" } true; local_#31603_res := local_#30644; assume { :LIR "53253" } { :back_translation "assignment" } true; local_#31604_io := local_#31480_ra; assume { :LIR "53254" } { :back_translation "assignment" } true; local_#12873 := { base : local_#31604_io!base, offset : local_#31604_io!offset + 0 }; assume { :LIR "53255" } { :back_translation "assignment" } true; _memory[local_#12873] := local_#31603_res; assume { :LIR "72566" } { :back_translation "visiting" } true; _memory[{ base : local_#31604_io!base, offset : local_#31604_io!offset + 8 }] := 1; goto CFG_45008; CFG_49558: assume { :LIR "49558" } { :back_translation "block" } true; assume { :LIR "72567" } { :back_translation "visiting" } true; local_#12874 := 23; assume { :LIR "69592" } { :back_translation "visiting" } true; local_#12875 := ~lshr32(local_#31479_i, local_#12874); assume { :LIR "72568" } { :back_translation "visiting" } true; local_#12876 := 511; assume { :LIR "68830" } { :back_translation "visiting" } true; local_#12877 := ~uand32(local_#12875, local_#12876); assume { :LIR "60553" } { :back_translation "visiting" } true; local_#12878 := local_#12877; assume { :LIR "67144" } { :back_translation "visiting" } true; local_#12879 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12878 * 16 }; assume { :LIR "53256" } { :back_translation "assignment" } true; local_#31600_rb := local_#12879; assume { :LIR "72569" } { :back_translation "visiting" } true; local_#12880 := 19; assume { :LIR "64847" } { :back_translation "visiting" } true; assert { :LIR "139400" } { :check "null-dereference" } { :finding_ids "195,400,597,833" } local_#31600_rb != { base : 0, offset : 0 }; local_#12881 := (if _memory[{ base : local_#31600_rb!base, offset : local_#31600_rb!offset + 8 }] == local_#12880 then 1 else 0); if (local_#12881 != 0) { assume { :LIR "49560" } { :back_translation "taking-then-branch" } true; goto CFG_49560; } else { assume { :LIR "42440" } { :back_translation "taking-else-branch" } true; goto CFG_42440; } CFG_42440: assume { :LIR "42440" } { :back_translation "block" } true; assume { :LIR "62511" } { :back_translation "visiting" } true; local_#12882 := local_#31600_rb; assume { :LIR "53257" } { :back_translation "assignment" } true; local_#12883 := local_#31599_ib; assume { :LIR "72570" } { :back_translation "visiting" } true; local_#12884 := 0; goto CFG_45897; CFG_45897: assume { :LIR "45897" } { :back_translation "block" } true; assume { :LIR "79434" } { :back_translation "visiting" } true; call local_#12885 := routine_#33903_luaV_tointeger(local_#12882,local_#12883,local_#12884); goto CFG_49559; CFG_49559: assume { :LIR "49559" } { :back_translation "block" } true; assume { :LIR "53258" } { :back_translation "assignment" } true; local_#12886 := local_#12885; if (local_#12886 != 0) { assume { :LIR "40156" } { :back_translation "taking-then-branch" } true; goto CFG_40156; } else { assume { :LIR "42441" } { :back_translation "taking-else-branch" } true; goto CFG_42441; } CFG_49560: assume { :LIR "49560" } { :back_translation "block" } true; assume { :LIR "53259" } { :back_translation "assignment" } true; local_#12887 := { base : local_#31600_rb!base, offset : local_#31600_rb!offset + 0 }; assume { :LIR "53260" } { :back_translation "assignment" } true; _memory[local_#31599_ib] := _memory[local_#12887]; assume { :LIR "53261" } { :back_translation "assignment" } true; local_#12888 := _memory[local_#31599_ib]; assume { :LIR "72571" } { :back_translation "visiting" } true; local_#12889 := 1; if (local_#12889 != 0) { assume { :LIR "40156" } { :back_translation "taking-then-branch" } true; goto CFG_40156; } else { assume { :LIR "42441" } { :back_translation "taking-else-branch" } true; goto CFG_42441; } CFG_42441: assume { :LIR "42441" } { :back_translation "block" } true; assume { :LIR "62512" } { :back_translation "visiting" } true; local_#12890 := local_#31600_rb; assume { :LIR "62513" } { :back_translation "visiting" } true; local_#12891 := local_#31600_rb; assume { :LIR "72572" } { :back_translation "visiting" } true; local_#12892 := 19; goto CFG_45898; CFG_45898: assume { :LIR "45898" } { :back_translation "block" } true; assume { :LIR "79435" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#12890,local_#12891,local_#31480_ra,local_#12892); goto CFG_40155; CFG_40155: assume { :LIR "40155" } { :back_translation "block" } true; assume { :LIR "53262" } { :back_translation "assignment" } true; local_#12893 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53263" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12893!base, offset : local_#12893!offset + 0 }]; goto CFG_39524; CFG_40156: assume { :LIR "40156" } { :back_translation "block" } true; assume { :LIR "53264" } { :back_translation "assignment" } true; local_#31601_io := local_#31480_ra; assume { :LIR "72573" } { :back_translation "visiting" } true; local_#12894 := 18446744073709551615; assume { :LIR "60554" } { :back_translation "visiting" } true; local_#12895 := ~uwrap64(_memory[local_#31599_ib]); assume { :LIR "69435" } { :back_translation "visiting" } true; local_#12896 := ~uxor64(local_#12894, local_#12895); assume { :LIR "60555" } { :back_translation "visiting" } true; local_#12897 := local_#12896; assume { :LIR "53265" } { :back_translation "assignment" } true; local_#12898 := { base : local_#31601_io!base, offset : local_#31601_io!offset + 0 }; assume { :LIR "53266" } { :back_translation "assignment" } true; _memory[local_#12898] := local_#12897; assume { :LIR "72574" } { :back_translation "visiting" } true; _memory[{ base : local_#31601_io!base, offset : local_#31601_io!offset + 8 }] := 19; goto CFG_39524; CFG_39524: assume { :LIR "39524" } { :back_translation "block" } true; goto CFG_45008; CFG_49561: assume { :LIR "49561" } { :back_translation "block" } true; assume { :LIR "72575" } { :back_translation "visiting" } true; local_#12899 := 23; assume { :LIR "69593" } { :back_translation "visiting" } true; local_#12900 := ~lshr32(local_#31479_i, local_#12899); assume { :LIR "72576" } { :back_translation "visiting" } true; local_#12901 := 511; assume { :LIR "68831" } { :back_translation "visiting" } true; local_#12902 := ~uand32(local_#12900, local_#12901); assume { :LIR "60556" } { :back_translation "visiting" } true; local_#12903 := local_#12902; assume { :LIR "67145" } { :back_translation "visiting" } true; local_#12904 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12903 * 16 }; assume { :LIR "53267" } { :back_translation "assignment" } true; local_#31595_rb := local_#12904; assume { :LIR "72577" } { :back_translation "visiting" } true; local_#12905 := 19; assume { :LIR "64848" } { :back_translation "visiting" } true; assert { :LIR "139402" } { :check "null-dereference" } { :finding_ids "192,464,598,834" } local_#31595_rb != { base : 0, offset : 0 }; local_#12906 := (if _memory[{ base : local_#31595_rb!base, offset : local_#31595_rb!offset + 8 }] == local_#12905 then 1 else 0); if (local_#12906 != 0) { assume { :LIR "40160" } { :back_translation "taking-then-branch" } true; goto CFG_40160; } else { assume { :LIR "49562" } { :back_translation "taking-else-branch" } true; goto CFG_49562; } CFG_49562: assume { :LIR "49562" } { :back_translation "block" } true; assume { :LIR "72578" } { :back_translation "visiting" } true; local_#12907 := 3; assume { :LIR "64849" } { :back_translation "visiting" } true; local_#12908 := (if _memory[{ base : local_#31595_rb!base, offset : local_#31595_rb!offset + 8 }] == local_#12907 then 1 else 0); if (local_#12908 != 0) { assume { :LIR "49564" } { :back_translation "taking-then-branch" } true; goto CFG_49564; } else { assume { :LIR "42442" } { :back_translation "taking-else-branch" } true; goto CFG_42442; } CFG_42442: assume { :LIR "42442" } { :back_translation "block" } true; assume { :LIR "62514" } { :back_translation "visiting" } true; local_#12909 := local_#31595_rb; assume { :LIR "53268" } { :back_translation "assignment" } true; local_#12910 := local_#31594_nb; goto CFG_45899; CFG_45899: assume { :LIR "45899" } { :back_translation "block" } true; assume { :LIR "79436" } { :back_translation "visiting" } true; call local_#12911 := routine_#33904_luaV_tonumber_(local_#12909,local_#12910); goto CFG_49563; CFG_49563: assume { :LIR "49563" } { :back_translation "block" } true; assume { :LIR "53269" } { :back_translation "assignment" } true; local_#12912 := local_#12911; if (local_#12912 != 0) { assume { :LIR "40158" } { :back_translation "taking-then-branch" } true; goto CFG_40158; } else { assume { :LIR "42443" } { :back_translation "taking-else-branch" } true; goto CFG_42443; } CFG_49564: assume { :LIR "49564" } { :back_translation "block" } true; assume { :LIR "53270" } { :back_translation "assignment" } true; local_#12913 := { base : local_#31595_rb!base, offset : local_#31595_rb!offset + 0 }; assume { :LIR "53271" } { :back_translation "assignment" } true; havoc nondet_#19; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53272" } { :back_translation "assignment" } true; havoc nondet_#20; local_#12914 := nondet_#20 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72579" } { :back_translation "visiting" } true; local_#12915 := 1; if (local_#12915 != 0) { assume { :LIR "40158" } { :back_translation "taking-then-branch" } true; goto CFG_40158; } else { assume { :LIR "42443" } { :back_translation "taking-else-branch" } true; goto CFG_42443; } CFG_42443: assume { :LIR "42443" } { :back_translation "block" } true; assume { :LIR "62515" } { :back_translation "visiting" } true; local_#12916 := local_#31595_rb; assume { :LIR "62516" } { :back_translation "visiting" } true; local_#12917 := local_#31595_rb; assume { :LIR "72580" } { :back_translation "visiting" } true; local_#12918 := 18; goto CFG_45900; CFG_45900: assume { :LIR "45900" } { :back_translation "block" } true; assume { :LIR "79437" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#12916,local_#12917,local_#31480_ra,local_#12918); goto CFG_40157; CFG_40157: assume { :LIR "40157" } { :back_translation "block" } true; assume { :LIR "53273" } { :back_translation "assignment" } true; local_#12919 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53274" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12919!base, offset : local_#12919!offset + 0 }]; goto CFG_40159; CFG_40158: assume { :LIR "40158" } { :back_translation "block" } true; assume { :LIR "53275" } { :back_translation "assignment" } true; local_#31598_io := local_#31480_ra; assume { :LIR "64651" } { :back_translation "visiting" } true; havoc nondet_#21; havoc nondet_#22; local_#12920 := nondet_#22 /* IR2BOOGIE-ERROR: Unsupported type for unary - in 64651. */; assume { :LIR "53276" } { :back_translation "assignment" } true; local_#12921 := { base : local_#31598_io!base, offset : local_#31598_io!offset + 0 }; assume { :LIR "53277" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72581" } { :back_translation "visiting" } true; _memory[{ base : local_#31598_io!base, offset : local_#31598_io!offset + 8 }] := 3; goto CFG_40159; CFG_40159: assume { :LIR "40159" } { :back_translation "block" } true; goto CFG_39525; CFG_40160: assume { :LIR "40160" } { :back_translation "block" } true; assume { :LIR "53278" } { :back_translation "assignment" } true; local_#12922 := { base : local_#31595_rb!base, offset : local_#31595_rb!offset + 0 }; assume { :LIR "53279" } { :back_translation "assignment" } true; local_#31596_ib := _memory[local_#12922]; assume { :LIR "53280" } { :back_translation "assignment" } true; local_#31597_io := local_#31480_ra; assume { :LIR "72582" } { :back_translation "visiting" } true; local_#12923 := 0; assume { :LIR "60557" } { :back_translation "visiting" } true; local_#12924 := ~uwrap64(local_#31596_ib); assume { :LIR "67946" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#12925 := ~uwrap64(local_#12923 - local_#12924); assume { :LIR "60558" } { :back_translation "visiting" } true; local_#12926 := local_#12925; assume { :LIR "53281" } { :back_translation "assignment" } true; local_#12927 := { base : local_#31597_io!base, offset : local_#31597_io!offset + 0 }; assume { :LIR "53282" } { :back_translation "assignment" } true; _memory[local_#12927] := local_#12926; assume { :LIR "72583" } { :back_translation "visiting" } true; _memory[{ base : local_#31597_io!base, offset : local_#31597_io!offset + 8 }] := 19; goto CFG_39525; CFG_39525: assume { :LIR "39525" } { :back_translation "block" } true; goto CFG_45008; CFG_49565: assume { :LIR "49565" } { :back_translation "block" } true; assume { :LIR "72584" } { :back_translation "visiting" } true; local_#12928 := 23; assume { :LIR "69594" } { :back_translation "visiting" } true; local_#12929 := ~lshr32(local_#31479_i, local_#12928); assume { :LIR "72585" } { :back_translation "visiting" } true; local_#12930 := 511; assume { :LIR "68832" } { :back_translation "visiting" } true; local_#12931 := ~uand32(local_#12929, local_#12930); assume { :LIR "60559" } { :back_translation "visiting" } true; local_#12932 := local_#12931; assume { :LIR "72586" } { :back_translation "visiting" } true; local_#12933 := 256; assume { :LIR "68833" } { :back_translation "visiting" } true; local_#12934 := ~sand32(local_#12932, local_#12933); if (local_#12934 != 0) { assume { :LIR "40162" } { :back_translation "taking-then-branch" } true; goto CFG_40162; } else { assume { :LIR "40161" } { :back_translation "taking-else-branch" } true; goto CFG_40161; } CFG_40161: assume { :LIR "40161" } { :back_translation "block" } true; assume { :LIR "72587" } { :back_translation "visiting" } true; local_#12935 := 23; assume { :LIR "69595" } { :back_translation "visiting" } true; local_#12936 := ~lshr32(local_#31479_i, local_#12935); assume { :LIR "72588" } { :back_translation "visiting" } true; local_#12937 := 511; assume { :LIR "68834" } { :back_translation "visiting" } true; local_#12938 := ~uand32(local_#12936, local_#12937); assume { :LIR "60560" } { :back_translation "visiting" } true; local_#12939 := local_#12938; assume { :LIR "67146" } { :back_translation "visiting" } true; local_#12940 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12939 * 16 }; assume { :LIR "53283" } { :back_translation "assignment" } true; local_#30645 := local_#12940; goto CFG_49566; CFG_40162: assume { :LIR "40162" } { :back_translation "block" } true; assume { :LIR "72589" } { :back_translation "visiting" } true; local_#12941 := 23; assume { :LIR "69596" } { :back_translation "visiting" } true; local_#12942 := ~lshr32(local_#31479_i, local_#12941); assume { :LIR "72590" } { :back_translation "visiting" } true; local_#12943 := 511; assume { :LIR "68835" } { :back_translation "visiting" } true; local_#12944 := ~uand32(local_#12942, local_#12943); assume { :LIR "60561" } { :back_translation "visiting" } true; local_#12945 := local_#12944; assume { :LIR "60562" } { :back_translation "visiting" } true; local_#12946 := local_#12945; assume { :LIR "72591" } { :back_translation "visiting" } true; local_#12947 := -257; assume { :LIR "68836" } { :back_translation "visiting" } true; local_#12948 := ~sand32(local_#12946, local_#12947); assume { :LIR "67147" } { :back_translation "visiting" } true; local_#12949 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12948 * 16 }; assume { :LIR "53284" } { :back_translation "assignment" } true; local_#30645 := local_#12949; goto CFG_49566; CFG_49566: assume { :LIR "49566" } { :back_translation "block" } true; assume { :LIR "53285" } { :back_translation "assignment" } true; local_#31591_rb := local_#30645; assume { :LIR "72592" } { :back_translation "visiting" } true; local_#12950 := 14; assume { :LIR "69597" } { :back_translation "visiting" } true; local_#12951 := ~lshr32(local_#31479_i, local_#12950); assume { :LIR "72593" } { :back_translation "visiting" } true; local_#12952 := 511; assume { :LIR "68837" } { :back_translation "visiting" } true; local_#12953 := ~uand32(local_#12951, local_#12952); assume { :LIR "60563" } { :back_translation "visiting" } true; local_#12954 := local_#12953; assume { :LIR "72594" } { :back_translation "visiting" } true; local_#12955 := 256; assume { :LIR "68838" } { :back_translation "visiting" } true; local_#12956 := ~sand32(local_#12954, local_#12955); if (local_#12956 != 0) { assume { :LIR "40164" } { :back_translation "taking-then-branch" } true; goto CFG_40164; } else { assume { :LIR "40163" } { :back_translation "taking-else-branch" } true; goto CFG_40163; } CFG_40163: assume { :LIR "40163" } { :back_translation "block" } true; assume { :LIR "72595" } { :back_translation "visiting" } true; local_#12957 := 14; assume { :LIR "69598" } { :back_translation "visiting" } true; local_#12958 := ~lshr32(local_#31479_i, local_#12957); assume { :LIR "72596" } { :back_translation "visiting" } true; local_#12959 := 511; assume { :LIR "68839" } { :back_translation "visiting" } true; local_#12960 := ~uand32(local_#12958, local_#12959); assume { :LIR "60564" } { :back_translation "visiting" } true; local_#12961 := local_#12960; assume { :LIR "67148" } { :back_translation "visiting" } true; local_#12962 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12961 * 16 }; assume { :LIR "53286" } { :back_translation "assignment" } true; local_#30646 := local_#12962; goto CFG_49567; CFG_40164: assume { :LIR "40164" } { :back_translation "block" } true; assume { :LIR "72597" } { :back_translation "visiting" } true; local_#12963 := 14; assume { :LIR "69599" } { :back_translation "visiting" } true; local_#12964 := ~lshr32(local_#31479_i, local_#12963); assume { :LIR "72598" } { :back_translation "visiting" } true; local_#12965 := 511; assume { :LIR "68840" } { :back_translation "visiting" } true; local_#12966 := ~uand32(local_#12964, local_#12965); assume { :LIR "60565" } { :back_translation "visiting" } true; local_#12967 := local_#12966; assume { :LIR "60566" } { :back_translation "visiting" } true; local_#12968 := local_#12967; assume { :LIR "72599" } { :back_translation "visiting" } true; local_#12969 := -257; assume { :LIR "68841" } { :back_translation "visiting" } true; local_#12970 := ~sand32(local_#12968, local_#12969); assume { :LIR "67149" } { :back_translation "visiting" } true; local_#12971 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12970 * 16 }; assume { :LIR "53287" } { :back_translation "assignment" } true; local_#30646 := local_#12971; goto CFG_49567; CFG_49567: assume { :LIR "49567" } { :back_translation "block" } true; assume { :LIR "53288" } { :back_translation "assignment" } true; local_#31592_rc := local_#30646; assume { :LIR "72600" } { :back_translation "visiting" } true; local_#12972 := 3; assume { :LIR "64850" } { :back_translation "visiting" } true; assert { :LIR "139405" } { :check "null-dereference" } { :finding_ids "81,371,422,518" } local_#31591_rb != { base : 0, offset : 0 }; local_#12973 := (if _memory[{ base : local_#31591_rb!base, offset : local_#31591_rb!offset + 8 }] == local_#12972 then 1 else 0); if (local_#12973 != 0) { assume { :LIR "49569" } { :back_translation "taking-then-branch" } true; goto CFG_49569; } else { assume { :LIR "42444" } { :back_translation "taking-else-branch" } true; goto CFG_42444; } CFG_42444: assume { :LIR "42444" } { :back_translation "block" } true; assume { :LIR "62517" } { :back_translation "visiting" } true; local_#12974 := local_#31591_rb; assume { :LIR "53289" } { :back_translation "assignment" } true; local_#12975 := local_#31589_nb; goto CFG_45901; CFG_45901: assume { :LIR "45901" } { :back_translation "block" } true; assume { :LIR "79438" } { :back_translation "visiting" } true; call local_#12976 := routine_#33904_luaV_tonumber_(local_#12974,local_#12975); goto CFG_49568; CFG_49568: assume { :LIR "49568" } { :back_translation "block" } true; assume { :LIR "53290" } { :back_translation "assignment" } true; local_#12977 := local_#12976; if (local_#12977 != 0) { assume { :LIR "49570" } { :back_translation "taking-then-branch" } true; goto CFG_49570; } else { assume { :LIR "42446" } { :back_translation "taking-else-branch" } true; goto CFG_42446; } CFG_49569: assume { :LIR "49569" } { :back_translation "block" } true; assume { :LIR "53291" } { :back_translation "assignment" } true; local_#12978 := { base : local_#31591_rb!base, offset : local_#31591_rb!offset + 0 }; assume { :LIR "53292" } { :back_translation "assignment" } true; havoc nondet_#23; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53293" } { :back_translation "assignment" } true; havoc nondet_#24; local_#12979 := nondet_#24 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72601" } { :back_translation "visiting" } true; local_#12980 := 1; if (local_#12980 != 0) { assume { :LIR "49570" } { :back_translation "taking-then-branch" } true; goto CFG_49570; } else { assume { :LIR "42446" } { :back_translation "taking-else-branch" } true; goto CFG_42446; } CFG_49570: assume { :LIR "49570" } { :back_translation "block" } true; assume { :LIR "72602" } { :back_translation "visiting" } true; local_#12981 := 3; assume { :LIR "64851" } { :back_translation "visiting" } true; assert { :LIR "139406" } { :check "null-dereference" } { :finding_ids "82,365,423,519" } local_#31592_rc != { base : 0, offset : 0 }; local_#12982 := (if _memory[{ base : local_#31592_rc!base, offset : local_#31592_rc!offset + 8 }] == local_#12981 then 1 else 0); if (local_#12982 != 0) { assume { :LIR "49572" } { :back_translation "taking-then-branch" } true; goto CFG_49572; } else { assume { :LIR "42445" } { :back_translation "taking-else-branch" } true; goto CFG_42445; } CFG_42445: assume { :LIR "42445" } { :back_translation "block" } true; assume { :LIR "62518" } { :back_translation "visiting" } true; local_#12983 := local_#31592_rc; assume { :LIR "53294" } { :back_translation "assignment" } true; local_#12984 := local_#31590_nc; goto CFG_45902; CFG_45902: assume { :LIR "45902" } { :back_translation "block" } true; assume { :LIR "79439" } { :back_translation "visiting" } true; call local_#12985 := routine_#33904_luaV_tonumber_(local_#12983,local_#12984); goto CFG_49571; CFG_49571: assume { :LIR "49571" } { :back_translation "block" } true; assume { :LIR "53295" } { :back_translation "assignment" } true; local_#12986 := local_#12985; if (local_#12986 != 0) { assume { :LIR "42447" } { :back_translation "taking-then-branch" } true; goto CFG_42447; } else { assume { :LIR "42446" } { :back_translation "taking-else-branch" } true; goto CFG_42446; } CFG_49572: assume { :LIR "49572" } { :back_translation "block" } true; assume { :LIR "53296" } { :back_translation "assignment" } true; local_#12987 := { base : local_#31592_rc!base, offset : local_#31592_rc!offset + 0 }; assume { :LIR "53297" } { :back_translation "assignment" } true; havoc nondet_#25; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53298" } { :back_translation "assignment" } true; havoc nondet_#26; local_#12988 := nondet_#26 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72603" } { :back_translation "visiting" } true; local_#12989 := 1; if (local_#12989 != 0) { assume { :LIR "42447" } { :back_translation "taking-then-branch" } true; goto CFG_42447; } else { assume { :LIR "42446" } { :back_translation "taking-else-branch" } true; goto CFG_42446; } CFG_42446: assume { :LIR "42446" } { :back_translation "block" } true; assume { :LIR "62519" } { :back_translation "visiting" } true; local_#12990 := local_#31591_rb; assume { :LIR "62520" } { :back_translation "visiting" } true; local_#12991 := local_#31592_rc; assume { :LIR "72604" } { :back_translation "visiting" } true; local_#12992 := 10; goto CFG_45903; CFG_45903: assume { :LIR "45903" } { :back_translation "block" } true; assume { :LIR "79440" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#12990,local_#12991,local_#31480_ra,local_#12992); goto CFG_40165; CFG_40165: assume { :LIR "40165" } { :back_translation "block" } true; assume { :LIR "53299" } { :back_translation "assignment" } true; local_#12993 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53300" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#12993!base, offset : local_#12993!offset + 0 }]; goto CFG_39526; CFG_42447: assume { :LIR "42447" } { :back_translation "block" } true; assume { :LIR "53301" } { :back_translation "assignment" } true; local_#31593_io := local_#31480_ra; assume { :LIR "60567" } { :back_translation "visiting" } true; local_#12994 := 0; goto CFG_45904; CFG_45904: assume { :LIR "45904" } { :back_translation "block" } true; assume { :LIR "79441" } { :back_translation "visiting" } true; havoc nondet_#27; havoc nondet_#28; call local_#12995 := routine_#34060_pow(nondet_#27 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */,nondet_#28 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */); goto CFG_40166; CFG_40166: assume { :LIR "40166" } { :back_translation "block" } true; assume { :LIR "53302" } { :back_translation "assignment" } true; local_#12996 := { base : local_#31593_io!base, offset : local_#31593_io!offset + 0 }; assume { :LIR "53303" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72605" } { :back_translation "visiting" } true; _memory[{ base : local_#31593_io!base, offset : local_#31593_io!offset + 8 }] := 3; goto CFG_39526; CFG_39526: assume { :LIR "39526" } { :back_translation "block" } true; goto CFG_45008; CFG_49573: assume { :LIR "49573" } { :back_translation "block" } true; assume { :LIR "72606" } { :back_translation "visiting" } true; local_#12997 := 23; assume { :LIR "69600" } { :back_translation "visiting" } true; local_#12998 := ~lshr32(local_#31479_i, local_#12997); assume { :LIR "72607" } { :back_translation "visiting" } true; local_#12999 := 511; assume { :LIR "68842" } { :back_translation "visiting" } true; local_#13000 := ~uand32(local_#12998, local_#12999); assume { :LIR "60568" } { :back_translation "visiting" } true; local_#13001 := local_#13000; assume { :LIR "72608" } { :back_translation "visiting" } true; local_#13002 := 256; assume { :LIR "68843" } { :back_translation "visiting" } true; local_#13003 := ~sand32(local_#13001, local_#13002); if (local_#13003 != 0) { assume { :LIR "40168" } { :back_translation "taking-then-branch" } true; goto CFG_40168; } else { assume { :LIR "40167" } { :back_translation "taking-else-branch" } true; goto CFG_40167; } CFG_40167: assume { :LIR "40167" } { :back_translation "block" } true; assume { :LIR "72609" } { :back_translation "visiting" } true; local_#13004 := 23; assume { :LIR "69601" } { :back_translation "visiting" } true; local_#13005 := ~lshr32(local_#31479_i, local_#13004); assume { :LIR "72610" } { :back_translation "visiting" } true; local_#13006 := 511; assume { :LIR "68844" } { :back_translation "visiting" } true; local_#13007 := ~uand32(local_#13005, local_#13006); assume { :LIR "60569" } { :back_translation "visiting" } true; local_#13008 := local_#13007; assume { :LIR "67150" } { :back_translation "visiting" } true; local_#13009 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13008 * 16 }; assume { :LIR "53304" } { :back_translation "assignment" } true; local_#30647 := local_#13009; goto CFG_49574; CFG_40168: assume { :LIR "40168" } { :back_translation "block" } true; assume { :LIR "72611" } { :back_translation "visiting" } true; local_#13010 := 23; assume { :LIR "69602" } { :back_translation "visiting" } true; local_#13011 := ~lshr32(local_#31479_i, local_#13010); assume { :LIR "72612" } { :back_translation "visiting" } true; local_#13012 := 511; assume { :LIR "68845" } { :back_translation "visiting" } true; local_#13013 := ~uand32(local_#13011, local_#13012); assume { :LIR "60570" } { :back_translation "visiting" } true; local_#13014 := local_#13013; assume { :LIR "60571" } { :back_translation "visiting" } true; local_#13015 := local_#13014; assume { :LIR "72613" } { :back_translation "visiting" } true; local_#13016 := -257; assume { :LIR "68846" } { :back_translation "visiting" } true; local_#13017 := ~sand32(local_#13015, local_#13016); assume { :LIR "67151" } { :back_translation "visiting" } true; local_#13018 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13017 * 16 }; assume { :LIR "53305" } { :back_translation "assignment" } true; local_#30647 := local_#13018; goto CFG_49574; CFG_49574: assume { :LIR "49574" } { :back_translation "block" } true; assume { :LIR "53306" } { :back_translation "assignment" } true; local_#31583_rb := local_#30647; assume { :LIR "72614" } { :back_translation "visiting" } true; local_#13019 := 14; assume { :LIR "69603" } { :back_translation "visiting" } true; local_#13020 := ~lshr32(local_#31479_i, local_#13019); assume { :LIR "72615" } { :back_translation "visiting" } true; local_#13021 := 511; assume { :LIR "68847" } { :back_translation "visiting" } true; local_#13022 := ~uand32(local_#13020, local_#13021); assume { :LIR "60572" } { :back_translation "visiting" } true; local_#13023 := local_#13022; assume { :LIR "72616" } { :back_translation "visiting" } true; local_#13024 := 256; assume { :LIR "68848" } { :back_translation "visiting" } true; local_#13025 := ~sand32(local_#13023, local_#13024); if (local_#13025 != 0) { assume { :LIR "40170" } { :back_translation "taking-then-branch" } true; goto CFG_40170; } else { assume { :LIR "40169" } { :back_translation "taking-else-branch" } true; goto CFG_40169; } CFG_40169: assume { :LIR "40169" } { :back_translation "block" } true; assume { :LIR "72617" } { :back_translation "visiting" } true; local_#13026 := 14; assume { :LIR "69604" } { :back_translation "visiting" } true; local_#13027 := ~lshr32(local_#31479_i, local_#13026); assume { :LIR "72618" } { :back_translation "visiting" } true; local_#13028 := 511; assume { :LIR "68849" } { :back_translation "visiting" } true; local_#13029 := ~uand32(local_#13027, local_#13028); assume { :LIR "60573" } { :back_translation "visiting" } true; local_#13030 := local_#13029; assume { :LIR "67152" } { :back_translation "visiting" } true; local_#13031 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13030 * 16 }; assume { :LIR "53307" } { :back_translation "assignment" } true; local_#30648 := local_#13031; goto CFG_49575; CFG_40170: assume { :LIR "40170" } { :back_translation "block" } true; assume { :LIR "72619" } { :back_translation "visiting" } true; local_#13032 := 14; assume { :LIR "69605" } { :back_translation "visiting" } true; local_#13033 := ~lshr32(local_#31479_i, local_#13032); assume { :LIR "72620" } { :back_translation "visiting" } true; local_#13034 := 511; assume { :LIR "68850" } { :back_translation "visiting" } true; local_#13035 := ~uand32(local_#13033, local_#13034); assume { :LIR "60574" } { :back_translation "visiting" } true; local_#13036 := local_#13035; assume { :LIR "60575" } { :back_translation "visiting" } true; local_#13037 := local_#13036; assume { :LIR "72621" } { :back_translation "visiting" } true; local_#13038 := -257; assume { :LIR "68851" } { :back_translation "visiting" } true; local_#13039 := ~sand32(local_#13037, local_#13038); assume { :LIR "67153" } { :back_translation "visiting" } true; local_#13040 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13039 * 16 }; assume { :LIR "53308" } { :back_translation "assignment" } true; local_#30648 := local_#13040; goto CFG_49575; CFG_49575: assume { :LIR "49575" } { :back_translation "block" } true; assume { :LIR "53309" } { :back_translation "assignment" } true; local_#31584_rc := local_#30648; assume { :LIR "72622" } { :back_translation "visiting" } true; local_#13041 := 19; assume { :LIR "64852" } { :back_translation "visiting" } true; assert { :LIR "139408" } { :check "null-dereference" } { :finding_ids "83,368,424,520" } local_#31583_rb != { base : 0, offset : 0 }; local_#13042 := (if _memory[{ base : local_#31583_rb!base, offset : local_#31583_rb!offset + 8 }] == local_#13041 then 1 else 0); if (local_#13042 != 0) { assume { :LIR "49576" } { :back_translation "taking-then-branch" } true; goto CFG_49576; } else { assume { :LIR "49577" } { :back_translation "taking-else-branch" } true; goto CFG_49577; } CFG_49576: assume { :LIR "49576" } { :back_translation "block" } true; assume { :LIR "72623" } { :back_translation "visiting" } true; local_#13043 := 19; assume { :LIR "64853" } { :back_translation "visiting" } true; assert { :LIR "139409" } { :check "null-dereference" } { :finding_ids "84,366,425,521" } local_#31584_rc != { base : 0, offset : 0 }; local_#13044 := (if _memory[{ base : local_#31584_rc!base, offset : local_#31584_rc!offset + 8 }] == local_#13043 then 1 else 0); if (local_#13044 != 0) { assume { :LIR "42452" } { :back_translation "taking-then-branch" } true; goto CFG_42452; } else { assume { :LIR "49577" } { :back_translation "taking-else-branch" } true; goto CFG_49577; } CFG_49577: assume { :LIR "49577" } { :back_translation "block" } true; assume { :LIR "72624" } { :back_translation "visiting" } true; local_#13045 := 3; assume { :LIR "64854" } { :back_translation "visiting" } true; local_#13046 := (if _memory[{ base : local_#31583_rb!base, offset : local_#31583_rb!offset + 8 }] == local_#13045 then 1 else 0); if (local_#13046 != 0) { assume { :LIR "49579" } { :back_translation "taking-then-branch" } true; goto CFG_49579; } else { assume { :LIR "42448" } { :back_translation "taking-else-branch" } true; goto CFG_42448; } CFG_42448: assume { :LIR "42448" } { :back_translation "block" } true; assume { :LIR "62521" } { :back_translation "visiting" } true; local_#13047 := local_#31583_rb; assume { :LIR "53310" } { :back_translation "assignment" } true; local_#13048 := local_#31581_nb; goto CFG_45905; CFG_45905: assume { :LIR "45905" } { :back_translation "block" } true; assume { :LIR "79442" } { :back_translation "visiting" } true; call local_#13049 := routine_#33904_luaV_tonumber_(local_#13047,local_#13048); goto CFG_49578; CFG_49578: assume { :LIR "49578" } { :back_translation "block" } true; assume { :LIR "53311" } { :back_translation "assignment" } true; local_#13050 := local_#13049; if (local_#13050 != 0) { assume { :LIR "49580" } { :back_translation "taking-then-branch" } true; goto CFG_49580; } else { assume { :LIR "42450" } { :back_translation "taking-else-branch" } true; goto CFG_42450; } CFG_49579: assume { :LIR "49579" } { :back_translation "block" } true; assume { :LIR "53312" } { :back_translation "assignment" } true; local_#13051 := { base : local_#31583_rb!base, offset : local_#31583_rb!offset + 0 }; assume { :LIR "53313" } { :back_translation "assignment" } true; havoc nondet_#29; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53314" } { :back_translation "assignment" } true; havoc nondet_#30; local_#13052 := nondet_#30 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72625" } { :back_translation "visiting" } true; local_#13053 := 1; if (local_#13053 != 0) { assume { :LIR "49580" } { :back_translation "taking-then-branch" } true; goto CFG_49580; } else { assume { :LIR "42450" } { :back_translation "taking-else-branch" } true; goto CFG_42450; } CFG_49580: assume { :LIR "49580" } { :back_translation "block" } true; assume { :LIR "72626" } { :back_translation "visiting" } true; local_#13054 := 3; assume { :LIR "64855" } { :back_translation "visiting" } true; assert { :LIR "139411" } { :check "null-dereference" } { :finding_ids "367,426,522,644" } local_#31584_rc != { base : 0, offset : 0 }; local_#13055 := (if _memory[{ base : local_#31584_rc!base, offset : local_#31584_rc!offset + 8 }] == local_#13054 then 1 else 0); if (local_#13055 != 0) { assume { :LIR "49582" } { :back_translation "taking-then-branch" } true; goto CFG_49582; } else { assume { :LIR "42449" } { :back_translation "taking-else-branch" } true; goto CFG_42449; } CFG_42449: assume { :LIR "42449" } { :back_translation "block" } true; assume { :LIR "62522" } { :back_translation "visiting" } true; local_#13056 := local_#31584_rc; assume { :LIR "53315" } { :back_translation "assignment" } true; local_#13057 := local_#31582_nc; goto CFG_45906; CFG_45906: assume { :LIR "45906" } { :back_translation "block" } true; assume { :LIR "79443" } { :back_translation "visiting" } true; call local_#13058 := routine_#33904_luaV_tonumber_(local_#13056,local_#13057); goto CFG_49581; CFG_49581: assume { :LIR "49581" } { :back_translation "block" } true; assume { :LIR "53316" } { :back_translation "assignment" } true; local_#13059 := local_#13058; if (local_#13059 != 0) { assume { :LIR "42451" } { :back_translation "taking-then-branch" } true; goto CFG_42451; } else { assume { :LIR "42450" } { :back_translation "taking-else-branch" } true; goto CFG_42450; } CFG_49582: assume { :LIR "49582" } { :back_translation "block" } true; assume { :LIR "53317" } { :back_translation "assignment" } true; local_#13060 := { base : local_#31584_rc!base, offset : local_#31584_rc!offset + 0 }; assume { :LIR "53318" } { :back_translation "assignment" } true; havoc nondet_#31; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53319" } { :back_translation "assignment" } true; havoc nondet_#32; local_#13061 := nondet_#32 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72627" } { :back_translation "visiting" } true; local_#13062 := 1; if (local_#13062 != 0) { assume { :LIR "42451" } { :back_translation "taking-then-branch" } true; goto CFG_42451; } else { assume { :LIR "42450" } { :back_translation "taking-else-branch" } true; goto CFG_42450; } CFG_42450: assume { :LIR "42450" } { :back_translation "block" } true; assume { :LIR "62523" } { :back_translation "visiting" } true; local_#13063 := local_#31583_rb; assume { :LIR "62524" } { :back_translation "visiting" } true; local_#13064 := local_#31584_rc; assume { :LIR "72628" } { :back_translation "visiting" } true; local_#13065 := 12; goto CFG_45907; CFG_45907: assume { :LIR "45907" } { :back_translation "block" } true; assume { :LIR "79444" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13063,local_#13064,local_#31480_ra,local_#13065); goto CFG_40171; CFG_40171: assume { :LIR "40171" } { :back_translation "block" } true; assume { :LIR "53320" } { :back_translation "assignment" } true; local_#13066 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53321" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13066!base, offset : local_#13066!offset + 0 }]; goto CFG_40173; CFG_42451: assume { :LIR "42451" } { :back_translation "block" } true; assume { :LIR "53322" } { :back_translation "assignment" } true; local_#31588_io := local_#31480_ra; assume { :LIR "60576" } { :back_translation "visiting" } true; local_#13067 := 0; assume { :LIR "68636" } { :back_translation "visiting" } true; havoc nondet_#33; havoc nondet_#34; havoc nondet_#35; local_#13068 := nondet_#35 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68636. */; goto CFG_45908; CFG_45908: assume { :LIR "45908" } { :back_translation "block" } true; assume { :LIR "79445" } { :back_translation "visiting" } true; call local_#13069 := routine_#33562_floor(local_#13068); goto CFG_40172; CFG_40172: assume { :LIR "40172" } { :back_translation "block" } true; assume { :LIR "53323" } { :back_translation "assignment" } true; local_#13070 := { base : local_#31588_io!base, offset : local_#31588_io!offset + 0 }; assume { :LIR "53324" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72629" } { :back_translation "visiting" } true; _memory[{ base : local_#31588_io!base, offset : local_#31588_io!offset + 8 }] := 3; goto CFG_40173; CFG_40173: assume { :LIR "40173" } { :back_translation "block" } true; goto CFG_39527; CFG_42452: assume { :LIR "42452" } { :back_translation "block" } true; assume { :LIR "53325" } { :back_translation "assignment" } true; local_#13071 := { base : local_#31583_rb!base, offset : local_#31583_rb!offset + 0 }; assume { :LIR "53326" } { :back_translation "assignment" } true; local_#31585_ib := _memory[local_#13071]; assume { :LIR "53327" } { :back_translation "assignment" } true; local_#13072 := { base : local_#31584_rc!base, offset : local_#31584_rc!offset + 0 }; assume { :LIR "53328" } { :back_translation "assignment" } true; local_#31586_ic := _memory[local_#13072]; assume { :LIR "53329" } { :back_translation "assignment" } true; local_#31587_io := local_#31480_ra; goto CFG_45909; CFG_45909: assume { :LIR "45909" } { :back_translation "block" } true; assume { :LIR "79446" } { :back_translation "visiting" } true; call local_#13073 := routine_#33892_luaV_div(local_#4189_L,local_#31585_ib,local_#31586_ic); goto CFG_40174; CFG_40174: assume { :LIR "40174" } { :back_translation "block" } true; assume { :LIR "53330" } { :back_translation "assignment" } true; local_#13074 := { base : local_#31587_io!base, offset : local_#31587_io!offset + 0 }; assume { :LIR "53331" } { :back_translation "assignment" } true; _memory[local_#13074] := local_#13073; assume { :LIR "72630" } { :back_translation "visiting" } true; _memory[{ base : local_#31587_io!base, offset : local_#31587_io!offset + 8 }] := 19; goto CFG_39527; CFG_39527: assume { :LIR "39527" } { :back_translation "block" } true; goto CFG_45008; CFG_49583: assume { :LIR "49583" } { :back_translation "block" } true; assume { :LIR "72631" } { :back_translation "visiting" } true; local_#13075 := 23; assume { :LIR "69606" } { :back_translation "visiting" } true; local_#13076 := ~lshr32(local_#31479_i, local_#13075); assume { :LIR "72632" } { :back_translation "visiting" } true; local_#13077 := 511; assume { :LIR "68852" } { :back_translation "visiting" } true; local_#13078 := ~uand32(local_#13076, local_#13077); assume { :LIR "60577" } { :back_translation "visiting" } true; local_#13079 := local_#13078; assume { :LIR "72633" } { :back_translation "visiting" } true; local_#13080 := 256; assume { :LIR "68853" } { :back_translation "visiting" } true; local_#13081 := ~sand32(local_#13079, local_#13080); if (local_#13081 != 0) { assume { :LIR "40176" } { :back_translation "taking-then-branch" } true; goto CFG_40176; } else { assume { :LIR "40175" } { :back_translation "taking-else-branch" } true; goto CFG_40175; } CFG_40175: assume { :LIR "40175" } { :back_translation "block" } true; assume { :LIR "72634" } { :back_translation "visiting" } true; local_#13082 := 23; assume { :LIR "69607" } { :back_translation "visiting" } true; local_#13083 := ~lshr32(local_#31479_i, local_#13082); assume { :LIR "72635" } { :back_translation "visiting" } true; local_#13084 := 511; assume { :LIR "68854" } { :back_translation "visiting" } true; local_#13085 := ~uand32(local_#13083, local_#13084); assume { :LIR "60578" } { :back_translation "visiting" } true; local_#13086 := local_#13085; assume { :LIR "67154" } { :back_translation "visiting" } true; local_#13087 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13086 * 16 }; assume { :LIR "53332" } { :back_translation "assignment" } true; local_#30649 := local_#13087; goto CFG_49584; CFG_40176: assume { :LIR "40176" } { :back_translation "block" } true; assume { :LIR "72636" } { :back_translation "visiting" } true; local_#13088 := 23; assume { :LIR "69608" } { :back_translation "visiting" } true; local_#13089 := ~lshr32(local_#31479_i, local_#13088); assume { :LIR "72637" } { :back_translation "visiting" } true; local_#13090 := 511; assume { :LIR "68855" } { :back_translation "visiting" } true; local_#13091 := ~uand32(local_#13089, local_#13090); assume { :LIR "60579" } { :back_translation "visiting" } true; local_#13092 := local_#13091; assume { :LIR "60580" } { :back_translation "visiting" } true; local_#13093 := local_#13092; assume { :LIR "72638" } { :back_translation "visiting" } true; local_#13094 := -257; assume { :LIR "68856" } { :back_translation "visiting" } true; local_#13095 := ~sand32(local_#13093, local_#13094); assume { :LIR "67155" } { :back_translation "visiting" } true; local_#13096 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13095 * 16 }; assume { :LIR "53333" } { :back_translation "assignment" } true; local_#30649 := local_#13096; goto CFG_49584; CFG_49584: assume { :LIR "49584" } { :back_translation "block" } true; assume { :LIR "53334" } { :back_translation "assignment" } true; local_#31574_rb := local_#30649; assume { :LIR "72639" } { :back_translation "visiting" } true; local_#13097 := 14; assume { :LIR "69609" } { :back_translation "visiting" } true; local_#13098 := ~lshr32(local_#31479_i, local_#13097); assume { :LIR "72640" } { :back_translation "visiting" } true; local_#13099 := 511; assume { :LIR "68857" } { :back_translation "visiting" } true; local_#13100 := ~uand32(local_#13098, local_#13099); assume { :LIR "60581" } { :back_translation "visiting" } true; local_#13101 := local_#13100; assume { :LIR "72641" } { :back_translation "visiting" } true; local_#13102 := 256; assume { :LIR "68858" } { :back_translation "visiting" } true; local_#13103 := ~sand32(local_#13101, local_#13102); if (local_#13103 != 0) { assume { :LIR "40178" } { :back_translation "taking-then-branch" } true; goto CFG_40178; } else { assume { :LIR "40177" } { :back_translation "taking-else-branch" } true; goto CFG_40177; } CFG_40177: assume { :LIR "40177" } { :back_translation "block" } true; assume { :LIR "72642" } { :back_translation "visiting" } true; local_#13104 := 14; assume { :LIR "69610" } { :back_translation "visiting" } true; local_#13105 := ~lshr32(local_#31479_i, local_#13104); assume { :LIR "72643" } { :back_translation "visiting" } true; local_#13106 := 511; assume { :LIR "68859" } { :back_translation "visiting" } true; local_#13107 := ~uand32(local_#13105, local_#13106); assume { :LIR "60582" } { :back_translation "visiting" } true; local_#13108 := local_#13107; assume { :LIR "67156" } { :back_translation "visiting" } true; local_#13109 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13108 * 16 }; assume { :LIR "53335" } { :back_translation "assignment" } true; local_#30650 := local_#13109; goto CFG_49585; CFG_40178: assume { :LIR "40178" } { :back_translation "block" } true; assume { :LIR "72644" } { :back_translation "visiting" } true; local_#13110 := 14; assume { :LIR "69611" } { :back_translation "visiting" } true; local_#13111 := ~lshr32(local_#31479_i, local_#13110); assume { :LIR "72645" } { :back_translation "visiting" } true; local_#13112 := 511; assume { :LIR "68860" } { :back_translation "visiting" } true; local_#13113 := ~uand32(local_#13111, local_#13112); assume { :LIR "60583" } { :back_translation "visiting" } true; local_#13114 := local_#13113; assume { :LIR "60584" } { :back_translation "visiting" } true; local_#13115 := local_#13114; assume { :LIR "72646" } { :back_translation "visiting" } true; local_#13116 := -257; assume { :LIR "68861" } { :back_translation "visiting" } true; local_#13117 := ~sand32(local_#13115, local_#13116); assume { :LIR "67157" } { :back_translation "visiting" } true; local_#13118 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13117 * 16 }; assume { :LIR "53336" } { :back_translation "assignment" } true; local_#30650 := local_#13118; goto CFG_49585; CFG_49585: assume { :LIR "49585" } { :back_translation "block" } true; assume { :LIR "53337" } { :back_translation "assignment" } true; local_#31575_rc := local_#30650; assume { :LIR "72647" } { :back_translation "visiting" } true; local_#13119 := 19; assume { :LIR "64856" } { :back_translation "visiting" } true; assert { :LIR "139413" } { :check "null-dereference" } { :finding_ids "361,427,523,645" } local_#31574_rb != { base : 0, offset : 0 }; local_#13120 := (if _memory[{ base : local_#31574_rb!base, offset : local_#31574_rb!offset + 8 }] == local_#13119 then 1 else 0); if (local_#13120 != 0) { assume { :LIR "49586" } { :back_translation "taking-then-branch" } true; goto CFG_49586; } else { assume { :LIR "49587" } { :back_translation "taking-else-branch" } true; goto CFG_49587; } CFG_49586: assume { :LIR "49586" } { :back_translation "block" } true; assume { :LIR "72648" } { :back_translation "visiting" } true; local_#13121 := 19; assume { :LIR "64857" } { :back_translation "visiting" } true; assert { :LIR "139414" } { :check "null-dereference" } { :finding_ids "364,428,524,646" } local_#31575_rc != { base : 0, offset : 0 }; local_#13122 := (if _memory[{ base : local_#31575_rc!base, offset : local_#31575_rc!offset + 8 }] == local_#13121 then 1 else 0); if (local_#13122 != 0) { assume { :LIR "42456" } { :back_translation "taking-then-branch" } true; goto CFG_42456; } else { assume { :LIR "49587" } { :back_translation "taking-else-branch" } true; goto CFG_49587; } CFG_49587: assume { :LIR "49587" } { :back_translation "block" } true; assume { :LIR "72649" } { :back_translation "visiting" } true; local_#13123 := 3; assume { :LIR "64858" } { :back_translation "visiting" } true; local_#13124 := (if _memory[{ base : local_#31574_rb!base, offset : local_#31574_rb!offset + 8 }] == local_#13123 then 1 else 0); if (local_#13124 != 0) { assume { :LIR "49589" } { :back_translation "taking-then-branch" } true; goto CFG_49589; } else { assume { :LIR "42453" } { :back_translation "taking-else-branch" } true; goto CFG_42453; } CFG_42453: assume { :LIR "42453" } { :back_translation "block" } true; assume { :LIR "62525" } { :back_translation "visiting" } true; local_#13125 := local_#31574_rb; assume { :LIR "53338" } { :back_translation "assignment" } true; local_#13126 := local_#31572_nb; goto CFG_45910; CFG_45910: assume { :LIR "45910" } { :back_translation "block" } true; assume { :LIR "79447" } { :back_translation "visiting" } true; call local_#13127 := routine_#33904_luaV_tonumber_(local_#13125,local_#13126); goto CFG_49588; CFG_49588: assume { :LIR "49588" } { :back_translation "block" } true; assume { :LIR "53339" } { :back_translation "assignment" } true; local_#13128 := local_#13127; if (local_#13128 != 0) { assume { :LIR "49590" } { :back_translation "taking-then-branch" } true; goto CFG_49590; } else { assume { :LIR "42455" } { :back_translation "taking-else-branch" } true; goto CFG_42455; } CFG_49589: assume { :LIR "49589" } { :back_translation "block" } true; assume { :LIR "53340" } { :back_translation "assignment" } true; local_#13129 := { base : local_#31574_rb!base, offset : local_#31574_rb!offset + 0 }; assume { :LIR "53341" } { :back_translation "assignment" } true; havoc nondet_#36; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53342" } { :back_translation "assignment" } true; havoc nondet_#37; local_#13130 := nondet_#37 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72650" } { :back_translation "visiting" } true; local_#13131 := 1; if (local_#13131 != 0) { assume { :LIR "49590" } { :back_translation "taking-then-branch" } true; goto CFG_49590; } else { assume { :LIR "42455" } { :back_translation "taking-else-branch" } true; goto CFG_42455; } CFG_49590: assume { :LIR "49590" } { :back_translation "block" } true; assume { :LIR "72651" } { :back_translation "visiting" } true; local_#13132 := 3; assume { :LIR "64859" } { :back_translation "visiting" } true; assert { :LIR "139416" } { :check "null-dereference" } { :finding_ids "362,429,525,647" } local_#31575_rc != { base : 0, offset : 0 }; local_#13133 := (if _memory[{ base : local_#31575_rc!base, offset : local_#31575_rc!offset + 8 }] == local_#13132 then 1 else 0); if (local_#13133 != 0) { assume { :LIR "49592" } { :back_translation "taking-then-branch" } true; goto CFG_49592; } else { assume { :LIR "42454" } { :back_translation "taking-else-branch" } true; goto CFG_42454; } CFG_42454: assume { :LIR "42454" } { :back_translation "block" } true; assume { :LIR "62526" } { :back_translation "visiting" } true; local_#13134 := local_#31575_rc; assume { :LIR "53343" } { :back_translation "assignment" } true; local_#13135 := local_#31573_nc; goto CFG_45911; CFG_45911: assume { :LIR "45911" } { :back_translation "block" } true; assume { :LIR "79448" } { :back_translation "visiting" } true; call local_#13136 := routine_#33904_luaV_tonumber_(local_#13134,local_#13135); goto CFG_49591; CFG_49591: assume { :LIR "49591" } { :back_translation "block" } true; assume { :LIR "53344" } { :back_translation "assignment" } true; local_#13137 := local_#13136; if (local_#13137 != 0) { assume { :LIR "45913" } { :back_translation "taking-then-branch" } true; goto CFG_45913; } else { assume { :LIR "42455" } { :back_translation "taking-else-branch" } true; goto CFG_42455; } CFG_49592: assume { :LIR "49592" } { :back_translation "block" } true; assume { :LIR "53345" } { :back_translation "assignment" } true; local_#13138 := { base : local_#31575_rc!base, offset : local_#31575_rc!offset + 0 }; assume { :LIR "53346" } { :back_translation "assignment" } true; havoc nondet_#38; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53347" } { :back_translation "assignment" } true; havoc nondet_#39; local_#13139 := nondet_#39 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72652" } { :back_translation "visiting" } true; local_#13140 := 1; if (local_#13140 != 0) { assume { :LIR "45913" } { :back_translation "taking-then-branch" } true; goto CFG_45913; } else { assume { :LIR "42455" } { :back_translation "taking-else-branch" } true; goto CFG_42455; } CFG_42455: assume { :LIR "42455" } { :back_translation "block" } true; assume { :LIR "62527" } { :back_translation "visiting" } true; local_#13141 := local_#31574_rb; assume { :LIR "62528" } { :back_translation "visiting" } true; local_#13142 := local_#31575_rc; assume { :LIR "72653" } { :back_translation "visiting" } true; local_#13143 := 9; goto CFG_45912; CFG_45912: assume { :LIR "45912" } { :back_translation "block" } true; assume { :LIR "79449" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13141,local_#13142,local_#31480_ra,local_#13143); goto CFG_40179; CFG_40179: assume { :LIR "40179" } { :back_translation "block" } true; assume { :LIR "53348" } { :back_translation "assignment" } true; local_#13144 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53349" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13144!base, offset : local_#13144!offset + 0 }]; goto CFG_40182; CFG_45913: assume { :LIR "45913" } { :back_translation "block" } true; assume { :LIR "79450" } { :back_translation "visiting" } true; havoc nondet_#40; havoc nondet_#41; call local_#13145 := routine_#33574_fmod(nondet_#40 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */,nondet_#41 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */); goto CFG_49593; CFG_49593: assume { :LIR "49593" } { :back_translation "block" } true; assume { :LIR "53350" } { :back_translation "assignment" } true; local_#31579_m := local_#13145; assume { :LIR "68530" } { :back_translation "visiting" } true; havoc nondet_#42; havoc nondet_#43; local_#13146 := nondet_#43 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68530. */; assume { :LIR "78595" } { :back_translation "visiting" } true; havoc nondet_#44; local_#13147 := nondet_#44 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78595 */; assume { :LIR "66173" } { :back_translation "visiting" } true; havoc nondet_#45; local_#13148 := (if nondet_#45 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66173. */ then 1 else 0); if (local_#13148 != 0) { assume { :LIR "40180" } { :back_translation "taking-then-branch" } true; goto CFG_40180; } else { assume { :LIR "40181" } { :back_translation "taking-else-branch" } true; goto CFG_40181; } CFG_40180: assume { :LIR "40180" } { :back_translation "block" } true; assume { :LIR "66468" } { :back_translation "visiting" } true; havoc nondet_#46; havoc nondet_#47; local_#31579_m := nondet_#47 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66468. */; goto CFG_40181; CFG_40181: assume { :LIR "40181" } { :back_translation "block" } true; assume { :LIR "53351" } { :back_translation "assignment" } true; local_#31580_io := local_#31480_ra; assume { :LIR "53352" } { :back_translation "assignment" } true; local_#13149 := { base : local_#31580_io!base, offset : local_#31580_io!offset + 0 }; assume { :LIR "53353" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72654" } { :back_translation "visiting" } true; _memory[{ base : local_#31580_io!base, offset : local_#31580_io!offset + 8 }] := 3; goto CFG_40182; CFG_40182: assume { :LIR "40182" } { :back_translation "block" } true; goto CFG_39528; CFG_42456: assume { :LIR "42456" } { :back_translation "block" } true; assume { :LIR "53354" } { :back_translation "assignment" } true; local_#13150 := { base : local_#31574_rb!base, offset : local_#31574_rb!offset + 0 }; assume { :LIR "53355" } { :back_translation "assignment" } true; local_#31576_ib := _memory[local_#13150]; assume { :LIR "53356" } { :back_translation "assignment" } true; local_#13151 := { base : local_#31575_rc!base, offset : local_#31575_rc!offset + 0 }; assume { :LIR "53357" } { :back_translation "assignment" } true; local_#31577_ic := _memory[local_#13151]; assume { :LIR "53358" } { :back_translation "assignment" } true; local_#31578_io := local_#31480_ra; goto CFG_45914; CFG_45914: assume { :LIR "45914" } { :back_translation "block" } true; assume { :LIR "79451" } { :back_translation "visiting" } true; call local_#13152 := routine_#33900_luaV_mod(local_#4189_L,local_#31576_ib,local_#31577_ic); goto CFG_40183; CFG_40183: assume { :LIR "40183" } { :back_translation "block" } true; assume { :LIR "53359" } { :back_translation "assignment" } true; local_#13153 := { base : local_#31578_io!base, offset : local_#31578_io!offset + 0 }; assume { :LIR "53360" } { :back_translation "assignment" } true; _memory[local_#13153] := local_#13152; assume { :LIR "72655" } { :back_translation "visiting" } true; _memory[{ base : local_#31578_io!base, offset : local_#31578_io!offset + 8 }] := 19; goto CFG_39528; CFG_39528: assume { :LIR "39528" } { :back_translation "block" } true; goto CFG_45008; CFG_49594: assume { :LIR "49594" } { :back_translation "block" } true; assume { :LIR "72656" } { :back_translation "visiting" } true; local_#13154 := 23; assume { :LIR "69612" } { :back_translation "visiting" } true; local_#13155 := ~lshr32(local_#31479_i, local_#13154); assume { :LIR "72657" } { :back_translation "visiting" } true; local_#13156 := 511; assume { :LIR "68862" } { :back_translation "visiting" } true; local_#13157 := ~uand32(local_#13155, local_#13156); assume { :LIR "60585" } { :back_translation "visiting" } true; local_#13158 := local_#13157; assume { :LIR "72658" } { :back_translation "visiting" } true; local_#13159 := 256; assume { :LIR "68863" } { :back_translation "visiting" } true; local_#13160 := ~sand32(local_#13158, local_#13159); if (local_#13160 != 0) { assume { :LIR "40185" } { :back_translation "taking-then-branch" } true; goto CFG_40185; } else { assume { :LIR "40184" } { :back_translation "taking-else-branch" } true; goto CFG_40184; } CFG_40184: assume { :LIR "40184" } { :back_translation "block" } true; assume { :LIR "72659" } { :back_translation "visiting" } true; local_#13161 := 23; assume { :LIR "69613" } { :back_translation "visiting" } true; local_#13162 := ~lshr32(local_#31479_i, local_#13161); assume { :LIR "72660" } { :back_translation "visiting" } true; local_#13163 := 511; assume { :LIR "68864" } { :back_translation "visiting" } true; local_#13164 := ~uand32(local_#13162, local_#13163); assume { :LIR "60586" } { :back_translation "visiting" } true; local_#13165 := local_#13164; assume { :LIR "67158" } { :back_translation "visiting" } true; local_#13166 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13165 * 16 }; assume { :LIR "53361" } { :back_translation "assignment" } true; local_#30651 := local_#13166; goto CFG_49595; CFG_40185: assume { :LIR "40185" } { :back_translation "block" } true; assume { :LIR "72661" } { :back_translation "visiting" } true; local_#13167 := 23; assume { :LIR "69614" } { :back_translation "visiting" } true; local_#13168 := ~lshr32(local_#31479_i, local_#13167); assume { :LIR "72662" } { :back_translation "visiting" } true; local_#13169 := 511; assume { :LIR "68865" } { :back_translation "visiting" } true; local_#13170 := ~uand32(local_#13168, local_#13169); assume { :LIR "60587" } { :back_translation "visiting" } true; local_#13171 := local_#13170; assume { :LIR "60588" } { :back_translation "visiting" } true; local_#13172 := local_#13171; assume { :LIR "72663" } { :back_translation "visiting" } true; local_#13173 := -257; assume { :LIR "68866" } { :back_translation "visiting" } true; local_#13174 := ~sand32(local_#13172, local_#13173); assume { :LIR "67159" } { :back_translation "visiting" } true; local_#13175 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13174 * 16 }; assume { :LIR "53362" } { :back_translation "assignment" } true; local_#30651 := local_#13175; goto CFG_49595; CFG_49595: assume { :LIR "49595" } { :back_translation "block" } true; assume { :LIR "53363" } { :back_translation "assignment" } true; local_#31569_rb := local_#30651; assume { :LIR "72664" } { :back_translation "visiting" } true; local_#13176 := 14; assume { :LIR "69615" } { :back_translation "visiting" } true; local_#13177 := ~lshr32(local_#31479_i, local_#13176); assume { :LIR "72665" } { :back_translation "visiting" } true; local_#13178 := 511; assume { :LIR "68867" } { :back_translation "visiting" } true; local_#13179 := ~uand32(local_#13177, local_#13178); assume { :LIR "60589" } { :back_translation "visiting" } true; local_#13180 := local_#13179; assume { :LIR "72666" } { :back_translation "visiting" } true; local_#13181 := 256; assume { :LIR "68868" } { :back_translation "visiting" } true; local_#13182 := ~sand32(local_#13180, local_#13181); if (local_#13182 != 0) { assume { :LIR "40187" } { :back_translation "taking-then-branch" } true; goto CFG_40187; } else { assume { :LIR "40186" } { :back_translation "taking-else-branch" } true; goto CFG_40186; } CFG_40186: assume { :LIR "40186" } { :back_translation "block" } true; assume { :LIR "72667" } { :back_translation "visiting" } true; local_#13183 := 14; assume { :LIR "69616" } { :back_translation "visiting" } true; local_#13184 := ~lshr32(local_#31479_i, local_#13183); assume { :LIR "72668" } { :back_translation "visiting" } true; local_#13185 := 511; assume { :LIR "68869" } { :back_translation "visiting" } true; local_#13186 := ~uand32(local_#13184, local_#13185); assume { :LIR "60590" } { :back_translation "visiting" } true; local_#13187 := local_#13186; assume { :LIR "67160" } { :back_translation "visiting" } true; local_#13188 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13187 * 16 }; assume { :LIR "53364" } { :back_translation "assignment" } true; local_#30652 := local_#13188; goto CFG_49596; CFG_40187: assume { :LIR "40187" } { :back_translation "block" } true; assume { :LIR "72669" } { :back_translation "visiting" } true; local_#13189 := 14; assume { :LIR "69617" } { :back_translation "visiting" } true; local_#13190 := ~lshr32(local_#31479_i, local_#13189); assume { :LIR "72670" } { :back_translation "visiting" } true; local_#13191 := 511; assume { :LIR "68870" } { :back_translation "visiting" } true; local_#13192 := ~uand32(local_#13190, local_#13191); assume { :LIR "60591" } { :back_translation "visiting" } true; local_#13193 := local_#13192; assume { :LIR "60592" } { :back_translation "visiting" } true; local_#13194 := local_#13193; assume { :LIR "72671" } { :back_translation "visiting" } true; local_#13195 := -257; assume { :LIR "68871" } { :back_translation "visiting" } true; local_#13196 := ~sand32(local_#13194, local_#13195); assume { :LIR "67161" } { :back_translation "visiting" } true; local_#13197 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13196 * 16 }; assume { :LIR "53365" } { :back_translation "assignment" } true; local_#30652 := local_#13197; goto CFG_49596; CFG_49596: assume { :LIR "49596" } { :back_translation "block" } true; assume { :LIR "53366" } { :back_translation "assignment" } true; local_#31570_rc := local_#30652; assume { :LIR "72672" } { :back_translation "visiting" } true; local_#13198 := 19; assume { :LIR "64860" } { :back_translation "visiting" } true; assert { :LIR "139418" } { :check "null-dereference" } { :finding_ids "363,430,526,648" } local_#31569_rb != { base : 0, offset : 0 }; local_#13199 := (if _memory[{ base : local_#31569_rb!base, offset : local_#31569_rb!offset + 8 }] == local_#13198 then 1 else 0); if (local_#13199 != 0) { assume { :LIR "49598" } { :back_translation "taking-then-branch" } true; goto CFG_49598; } else { assume { :LIR "42457" } { :back_translation "taking-else-branch" } true; goto CFG_42457; } CFG_42457: assume { :LIR "42457" } { :back_translation "block" } true; assume { :LIR "62529" } { :back_translation "visiting" } true; local_#13200 := local_#31569_rb; assume { :LIR "53367" } { :back_translation "assignment" } true; local_#13201 := local_#31567_ib; assume { :LIR "72673" } { :back_translation "visiting" } true; local_#13202 := 0; goto CFG_45915; CFG_45915: assume { :LIR "45915" } { :back_translation "block" } true; assume { :LIR "79452" } { :back_translation "visiting" } true; call local_#13203 := routine_#33903_luaV_tointeger(local_#13200,local_#13201,local_#13202); goto CFG_49597; CFG_49597: assume { :LIR "49597" } { :back_translation "block" } true; assume { :LIR "53368" } { :back_translation "assignment" } true; local_#13204 := local_#13203; if (local_#13204 != 0) { assume { :LIR "49599" } { :back_translation "taking-then-branch" } true; goto CFG_49599; } else { assume { :LIR "42459" } { :back_translation "taking-else-branch" } true; goto CFG_42459; } CFG_49598: assume { :LIR "49598" } { :back_translation "block" } true; assume { :LIR "53369" } { :back_translation "assignment" } true; local_#13205 := { base : local_#31569_rb!base, offset : local_#31569_rb!offset + 0 }; assume { :LIR "53370" } { :back_translation "assignment" } true; _memory[local_#31567_ib] := _memory[local_#13205]; assume { :LIR "53371" } { :back_translation "assignment" } true; local_#13206 := _memory[local_#31567_ib]; assume { :LIR "72674" } { :back_translation "visiting" } true; local_#13207 := 1; if (local_#13207 != 0) { assume { :LIR "49599" } { :back_translation "taking-then-branch" } true; goto CFG_49599; } else { assume { :LIR "42459" } { :back_translation "taking-else-branch" } true; goto CFG_42459; } CFG_49599: assume { :LIR "49599" } { :back_translation "block" } true; assume { :LIR "72675" } { :back_translation "visiting" } true; local_#13208 := 19; assume { :LIR "64861" } { :back_translation "visiting" } true; assert { :LIR "139419" } { :check "null-dereference" } { :finding_ids "345,431,527,649" } local_#31570_rc != { base : 0, offset : 0 }; local_#13209 := (if _memory[{ base : local_#31570_rc!base, offset : local_#31570_rc!offset + 8 }] == local_#13208 then 1 else 0); if (local_#13209 != 0) { assume { :LIR "49601" } { :back_translation "taking-then-branch" } true; goto CFG_49601; } else { assume { :LIR "42458" } { :back_translation "taking-else-branch" } true; goto CFG_42458; } CFG_42458: assume { :LIR "42458" } { :back_translation "block" } true; assume { :LIR "62530" } { :back_translation "visiting" } true; local_#13210 := local_#31570_rc; assume { :LIR "53372" } { :back_translation "assignment" } true; local_#13211 := local_#31568_ic; assume { :LIR "72676" } { :back_translation "visiting" } true; local_#13212 := 0; goto CFG_45916; CFG_45916: assume { :LIR "45916" } { :back_translation "block" } true; assume { :LIR "79453" } { :back_translation "visiting" } true; call local_#13213 := routine_#33903_luaV_tointeger(local_#13210,local_#13211,local_#13212); goto CFG_49600; CFG_49600: assume { :LIR "49600" } { :back_translation "block" } true; assume { :LIR "53373" } { :back_translation "assignment" } true; local_#13214 := local_#13213; if (local_#13214 != 0) { assume { :LIR "42460" } { :back_translation "taking-then-branch" } true; goto CFG_42460; } else { assume { :LIR "42459" } { :back_translation "taking-else-branch" } true; goto CFG_42459; } CFG_49601: assume { :LIR "49601" } { :back_translation "block" } true; assume { :LIR "53374" } { :back_translation "assignment" } true; local_#13215 := { base : local_#31570_rc!base, offset : local_#31570_rc!offset + 0 }; assume { :LIR "53375" } { :back_translation "assignment" } true; _memory[local_#31568_ic] := _memory[local_#13215]; assume { :LIR "53376" } { :back_translation "assignment" } true; local_#13216 := _memory[local_#31568_ic]; assume { :LIR "72677" } { :back_translation "visiting" } true; local_#13217 := 1; if (local_#13217 != 0) { assume { :LIR "42460" } { :back_translation "taking-then-branch" } true; goto CFG_42460; } else { assume { :LIR "42459" } { :back_translation "taking-else-branch" } true; goto CFG_42459; } CFG_42459: assume { :LIR "42459" } { :back_translation "block" } true; assume { :LIR "62531" } { :back_translation "visiting" } true; local_#13218 := local_#31569_rb; assume { :LIR "62532" } { :back_translation "visiting" } true; local_#13219 := local_#31570_rc; assume { :LIR "72678" } { :back_translation "visiting" } true; local_#13220 := 17; goto CFG_45917; CFG_45917: assume { :LIR "45917" } { :back_translation "block" } true; assume { :LIR "79454" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13218,local_#13219,local_#31480_ra,local_#13220); goto CFG_40188; CFG_40188: assume { :LIR "40188" } { :back_translation "block" } true; assume { :LIR "53377" } { :back_translation "assignment" } true; local_#13221 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53378" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13221!base, offset : local_#13221!offset + 0 }]; goto CFG_39529; CFG_42460: assume { :LIR "42460" } { :back_translation "block" } true; assume { :LIR "53379" } { :back_translation "assignment" } true; local_#31571_io := local_#31480_ra; assume { :LIR "64652" } { :back_translation "visiting" } true; local_#13222 := -_memory[local_#31568_ic]; goto CFG_45918; CFG_45918: assume { :LIR "45918" } { :back_translation "block" } true; assume { :LIR "79455" } { :back_translation "visiting" } true; call local_#13223 := routine_#33902_luaV_shiftl(_memory[local_#31567_ib],local_#13222); goto CFG_40189; CFG_40189: assume { :LIR "40189" } { :back_translation "block" } true; assume { :LIR "53380" } { :back_translation "assignment" } true; local_#13224 := { base : local_#31571_io!base, offset : local_#31571_io!offset + 0 }; assume { :LIR "53381" } { :back_translation "assignment" } true; _memory[local_#13224] := local_#13223; assume { :LIR "72679" } { :back_translation "visiting" } true; _memory[{ base : local_#31571_io!base, offset : local_#31571_io!offset + 8 }] := 19; goto CFG_39529; CFG_39529: assume { :LIR "39529" } { :back_translation "block" } true; goto CFG_45008; CFG_49602: assume { :LIR "49602" } { :back_translation "block" } true; assume { :LIR "72680" } { :back_translation "visiting" } true; local_#13225 := 23; assume { :LIR "69618" } { :back_translation "visiting" } true; local_#13226 := ~lshr32(local_#31479_i, local_#13225); assume { :LIR "72681" } { :back_translation "visiting" } true; local_#13227 := 511; assume { :LIR "68872" } { :back_translation "visiting" } true; local_#13228 := ~uand32(local_#13226, local_#13227); assume { :LIR "60593" } { :back_translation "visiting" } true; local_#13229 := local_#13228; assume { :LIR "72682" } { :back_translation "visiting" } true; local_#13230 := 256; assume { :LIR "68873" } { :back_translation "visiting" } true; local_#13231 := ~sand32(local_#13229, local_#13230); if (local_#13231 != 0) { assume { :LIR "40191" } { :back_translation "taking-then-branch" } true; goto CFG_40191; } else { assume { :LIR "40190" } { :back_translation "taking-else-branch" } true; goto CFG_40190; } CFG_40190: assume { :LIR "40190" } { :back_translation "block" } true; assume { :LIR "72683" } { :back_translation "visiting" } true; local_#13232 := 23; assume { :LIR "69619" } { :back_translation "visiting" } true; local_#13233 := ~lshr32(local_#31479_i, local_#13232); assume { :LIR "72684" } { :back_translation "visiting" } true; local_#13234 := 511; assume { :LIR "68874" } { :back_translation "visiting" } true; local_#13235 := ~uand32(local_#13233, local_#13234); assume { :LIR "60594" } { :back_translation "visiting" } true; local_#13236 := local_#13235; assume { :LIR "67162" } { :back_translation "visiting" } true; local_#13237 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13236 * 16 }; assume { :LIR "53382" } { :back_translation "assignment" } true; local_#30653 := local_#13237; goto CFG_49603; CFG_40191: assume { :LIR "40191" } { :back_translation "block" } true; assume { :LIR "72685" } { :back_translation "visiting" } true; local_#13238 := 23; assume { :LIR "69620" } { :back_translation "visiting" } true; local_#13239 := ~lshr32(local_#31479_i, local_#13238); assume { :LIR "72686" } { :back_translation "visiting" } true; local_#13240 := 511; assume { :LIR "68875" } { :back_translation "visiting" } true; local_#13241 := ~uand32(local_#13239, local_#13240); assume { :LIR "60595" } { :back_translation "visiting" } true; local_#13242 := local_#13241; assume { :LIR "60596" } { :back_translation "visiting" } true; local_#13243 := local_#13242; assume { :LIR "72687" } { :back_translation "visiting" } true; local_#13244 := -257; assume { :LIR "68876" } { :back_translation "visiting" } true; local_#13245 := ~sand32(local_#13243, local_#13244); assume { :LIR "67163" } { :back_translation "visiting" } true; local_#13246 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13245 * 16 }; assume { :LIR "53383" } { :back_translation "assignment" } true; local_#30653 := local_#13246; goto CFG_49603; CFG_49603: assume { :LIR "49603" } { :back_translation "block" } true; assume { :LIR "53384" } { :back_translation "assignment" } true; local_#31564_rb := local_#30653; assume { :LIR "72688" } { :back_translation "visiting" } true; local_#13247 := 14; assume { :LIR "69621" } { :back_translation "visiting" } true; local_#13248 := ~lshr32(local_#31479_i, local_#13247); assume { :LIR "72689" } { :back_translation "visiting" } true; local_#13249 := 511; assume { :LIR "68877" } { :back_translation "visiting" } true; local_#13250 := ~uand32(local_#13248, local_#13249); assume { :LIR "60597" } { :back_translation "visiting" } true; local_#13251 := local_#13250; assume { :LIR "72690" } { :back_translation "visiting" } true; local_#13252 := 256; assume { :LIR "68878" } { :back_translation "visiting" } true; local_#13253 := ~sand32(local_#13251, local_#13252); if (local_#13253 != 0) { assume { :LIR "40193" } { :back_translation "taking-then-branch" } true; goto CFG_40193; } else { assume { :LIR "40192" } { :back_translation "taking-else-branch" } true; goto CFG_40192; } CFG_40192: assume { :LIR "40192" } { :back_translation "block" } true; assume { :LIR "72691" } { :back_translation "visiting" } true; local_#13254 := 14; assume { :LIR "69622" } { :back_translation "visiting" } true; local_#13255 := ~lshr32(local_#31479_i, local_#13254); assume { :LIR "72692" } { :back_translation "visiting" } true; local_#13256 := 511; assume { :LIR "68879" } { :back_translation "visiting" } true; local_#13257 := ~uand32(local_#13255, local_#13256); assume { :LIR "60598" } { :back_translation "visiting" } true; local_#13258 := local_#13257; assume { :LIR "67164" } { :back_translation "visiting" } true; local_#13259 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13258 * 16 }; assume { :LIR "53385" } { :back_translation "assignment" } true; local_#30654 := local_#13259; goto CFG_49604; CFG_40193: assume { :LIR "40193" } { :back_translation "block" } true; assume { :LIR "72693" } { :back_translation "visiting" } true; local_#13260 := 14; assume { :LIR "69623" } { :back_translation "visiting" } true; local_#13261 := ~lshr32(local_#31479_i, local_#13260); assume { :LIR "72694" } { :back_translation "visiting" } true; local_#13262 := 511; assume { :LIR "68880" } { :back_translation "visiting" } true; local_#13263 := ~uand32(local_#13261, local_#13262); assume { :LIR "60599" } { :back_translation "visiting" } true; local_#13264 := local_#13263; assume { :LIR "60600" } { :back_translation "visiting" } true; local_#13265 := local_#13264; assume { :LIR "72695" } { :back_translation "visiting" } true; local_#13266 := -257; assume { :LIR "68881" } { :back_translation "visiting" } true; local_#13267 := ~sand32(local_#13265, local_#13266); assume { :LIR "67165" } { :back_translation "visiting" } true; local_#13268 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13267 * 16 }; assume { :LIR "53386" } { :back_translation "assignment" } true; local_#30654 := local_#13268; goto CFG_49604; CFG_49604: assume { :LIR "49604" } { :back_translation "block" } true; assume { :LIR "53387" } { :back_translation "assignment" } true; local_#31565_rc := local_#30654; assume { :LIR "72696" } { :back_translation "visiting" } true; local_#13269 := 19; assume { :LIR "64862" } { :back_translation "visiting" } true; assert { :LIR "139421" } { :check "null-dereference" } { :finding_ids "346,432,528,650" } local_#31564_rb != { base : 0, offset : 0 }; local_#13270 := (if _memory[{ base : local_#31564_rb!base, offset : local_#31564_rb!offset + 8 }] == local_#13269 then 1 else 0); if (local_#13270 != 0) { assume { :LIR "49606" } { :back_translation "taking-then-branch" } true; goto CFG_49606; } else { assume { :LIR "42461" } { :back_translation "taking-else-branch" } true; goto CFG_42461; } CFG_42461: assume { :LIR "42461" } { :back_translation "block" } true; assume { :LIR "62533" } { :back_translation "visiting" } true; local_#13271 := local_#31564_rb; assume { :LIR "53388" } { :back_translation "assignment" } true; local_#13272 := local_#31562_ib; assume { :LIR "72697" } { :back_translation "visiting" } true; local_#13273 := 0; goto CFG_45919; CFG_45919: assume { :LIR "45919" } { :back_translation "block" } true; assume { :LIR "79456" } { :back_translation "visiting" } true; call local_#13274 := routine_#33903_luaV_tointeger(local_#13271,local_#13272,local_#13273); goto CFG_49605; CFG_49605: assume { :LIR "49605" } { :back_translation "block" } true; assume { :LIR "53389" } { :back_translation "assignment" } true; local_#13275 := local_#13274; if (local_#13275 != 0) { assume { :LIR "49607" } { :back_translation "taking-then-branch" } true; goto CFG_49607; } else { assume { :LIR "42463" } { :back_translation "taking-else-branch" } true; goto CFG_42463; } CFG_49606: assume { :LIR "49606" } { :back_translation "block" } true; assume { :LIR "53390" } { :back_translation "assignment" } true; local_#13276 := { base : local_#31564_rb!base, offset : local_#31564_rb!offset + 0 }; assume { :LIR "53391" } { :back_translation "assignment" } true; _memory[local_#31562_ib] := _memory[local_#13276]; assume { :LIR "53392" } { :back_translation "assignment" } true; local_#13277 := _memory[local_#31562_ib]; assume { :LIR "72698" } { :back_translation "visiting" } true; local_#13278 := 1; if (local_#13278 != 0) { assume { :LIR "49607" } { :back_translation "taking-then-branch" } true; goto CFG_49607; } else { assume { :LIR "42463" } { :back_translation "taking-else-branch" } true; goto CFG_42463; } CFG_49607: assume { :LIR "49607" } { :back_translation "block" } true; assume { :LIR "72699" } { :back_translation "visiting" } true; local_#13279 := 19; assume { :LIR "64863" } { :back_translation "visiting" } true; assert { :LIR "139422" } { :check "null-dereference" } { :finding_ids "340,433,529,651" } local_#31565_rc != { base : 0, offset : 0 }; local_#13280 := (if _memory[{ base : local_#31565_rc!base, offset : local_#31565_rc!offset + 8 }] == local_#13279 then 1 else 0); if (local_#13280 != 0) { assume { :LIR "49609" } { :back_translation "taking-then-branch" } true; goto CFG_49609; } else { assume { :LIR "42462" } { :back_translation "taking-else-branch" } true; goto CFG_42462; } CFG_42462: assume { :LIR "42462" } { :back_translation "block" } true; assume { :LIR "62534" } { :back_translation "visiting" } true; local_#13281 := local_#31565_rc; assume { :LIR "53393" } { :back_translation "assignment" } true; local_#13282 := local_#31563_ic; assume { :LIR "72700" } { :back_translation "visiting" } true; local_#13283 := 0; goto CFG_45920; CFG_45920: assume { :LIR "45920" } { :back_translation "block" } true; assume { :LIR "79457" } { :back_translation "visiting" } true; call local_#13284 := routine_#33903_luaV_tointeger(local_#13281,local_#13282,local_#13283); goto CFG_49608; CFG_49608: assume { :LIR "49608" } { :back_translation "block" } true; assume { :LIR "53394" } { :back_translation "assignment" } true; local_#13285 := local_#13284; if (local_#13285 != 0) { assume { :LIR "42464" } { :back_translation "taking-then-branch" } true; goto CFG_42464; } else { assume { :LIR "42463" } { :back_translation "taking-else-branch" } true; goto CFG_42463; } CFG_49609: assume { :LIR "49609" } { :back_translation "block" } true; assume { :LIR "53395" } { :back_translation "assignment" } true; local_#13286 := { base : local_#31565_rc!base, offset : local_#31565_rc!offset + 0 }; assume { :LIR "53396" } { :back_translation "assignment" } true; _memory[local_#31563_ic] := _memory[local_#13286]; assume { :LIR "53397" } { :back_translation "assignment" } true; local_#13287 := _memory[local_#31563_ic]; assume { :LIR "72701" } { :back_translation "visiting" } true; local_#13288 := 1; if (local_#13288 != 0) { assume { :LIR "42464" } { :back_translation "taking-then-branch" } true; goto CFG_42464; } else { assume { :LIR "42463" } { :back_translation "taking-else-branch" } true; goto CFG_42463; } CFG_42463: assume { :LIR "42463" } { :back_translation "block" } true; assume { :LIR "62535" } { :back_translation "visiting" } true; local_#13289 := local_#31564_rb; assume { :LIR "62536" } { :back_translation "visiting" } true; local_#13290 := local_#31565_rc; assume { :LIR "72702" } { :back_translation "visiting" } true; local_#13291 := 16; goto CFG_45921; CFG_45921: assume { :LIR "45921" } { :back_translation "block" } true; assume { :LIR "79458" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13289,local_#13290,local_#31480_ra,local_#13291); goto CFG_40194; CFG_40194: assume { :LIR "40194" } { :back_translation "block" } true; assume { :LIR "53398" } { :back_translation "assignment" } true; local_#13292 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53399" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13292!base, offset : local_#13292!offset + 0 }]; goto CFG_39530; CFG_42464: assume { :LIR "42464" } { :back_translation "block" } true; assume { :LIR "53400" } { :back_translation "assignment" } true; local_#31566_io := local_#31480_ra; goto CFG_45922; CFG_45922: assume { :LIR "45922" } { :back_translation "block" } true; assume { :LIR "79459" } { :back_translation "visiting" } true; call local_#13293 := routine_#33902_luaV_shiftl(_memory[local_#31562_ib],_memory[local_#31563_ic]); goto CFG_40195; CFG_40195: assume { :LIR "40195" } { :back_translation "block" } true; assume { :LIR "53401" } { :back_translation "assignment" } true; local_#13294 := { base : local_#31566_io!base, offset : local_#31566_io!offset + 0 }; assume { :LIR "53402" } { :back_translation "assignment" } true; _memory[local_#13294] := local_#13293; assume { :LIR "72703" } { :back_translation "visiting" } true; _memory[{ base : local_#31566_io!base, offset : local_#31566_io!offset + 8 }] := 19; goto CFG_39530; CFG_39530: assume { :LIR "39530" } { :back_translation "block" } true; goto CFG_45008; CFG_49610: assume { :LIR "49610" } { :back_translation "block" } true; assume { :LIR "72704" } { :back_translation "visiting" } true; local_#13295 := 23; assume { :LIR "69624" } { :back_translation "visiting" } true; local_#13296 := ~lshr32(local_#31479_i, local_#13295); assume { :LIR "72705" } { :back_translation "visiting" } true; local_#13297 := 511; assume { :LIR "68882" } { :back_translation "visiting" } true; local_#13298 := ~uand32(local_#13296, local_#13297); assume { :LIR "60601" } { :back_translation "visiting" } true; local_#13299 := local_#13298; assume { :LIR "72706" } { :back_translation "visiting" } true; local_#13300 := 256; assume { :LIR "68883" } { :back_translation "visiting" } true; local_#13301 := ~sand32(local_#13299, local_#13300); if (local_#13301 != 0) { assume { :LIR "40197" } { :back_translation "taking-then-branch" } true; goto CFG_40197; } else { assume { :LIR "40196" } { :back_translation "taking-else-branch" } true; goto CFG_40196; } CFG_40196: assume { :LIR "40196" } { :back_translation "block" } true; assume { :LIR "72707" } { :back_translation "visiting" } true; local_#13302 := 23; assume { :LIR "69625" } { :back_translation "visiting" } true; local_#13303 := ~lshr32(local_#31479_i, local_#13302); assume { :LIR "72708" } { :back_translation "visiting" } true; local_#13304 := 511; assume { :LIR "68884" } { :back_translation "visiting" } true; local_#13305 := ~uand32(local_#13303, local_#13304); assume { :LIR "60602" } { :back_translation "visiting" } true; local_#13306 := local_#13305; assume { :LIR "67166" } { :back_translation "visiting" } true; local_#13307 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13306 * 16 }; assume { :LIR "53403" } { :back_translation "assignment" } true; local_#30655 := local_#13307; goto CFG_49611; CFG_40197: assume { :LIR "40197" } { :back_translation "block" } true; assume { :LIR "72709" } { :back_translation "visiting" } true; local_#13308 := 23; assume { :LIR "69626" } { :back_translation "visiting" } true; local_#13309 := ~lshr32(local_#31479_i, local_#13308); assume { :LIR "72710" } { :back_translation "visiting" } true; local_#13310 := 511; assume { :LIR "68885" } { :back_translation "visiting" } true; local_#13311 := ~uand32(local_#13309, local_#13310); assume { :LIR "60603" } { :back_translation "visiting" } true; local_#13312 := local_#13311; assume { :LIR "60604" } { :back_translation "visiting" } true; local_#13313 := local_#13312; assume { :LIR "72711" } { :back_translation "visiting" } true; local_#13314 := -257; assume { :LIR "68886" } { :back_translation "visiting" } true; local_#13315 := ~sand32(local_#13313, local_#13314); assume { :LIR "67167" } { :back_translation "visiting" } true; local_#13316 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13315 * 16 }; assume { :LIR "53404" } { :back_translation "assignment" } true; local_#30655 := local_#13316; goto CFG_49611; CFG_49611: assume { :LIR "49611" } { :back_translation "block" } true; assume { :LIR "53405" } { :back_translation "assignment" } true; local_#31559_rb := local_#30655; assume { :LIR "72712" } { :back_translation "visiting" } true; local_#13317 := 14; assume { :LIR "69627" } { :back_translation "visiting" } true; local_#13318 := ~lshr32(local_#31479_i, local_#13317); assume { :LIR "72713" } { :back_translation "visiting" } true; local_#13319 := 511; assume { :LIR "68887" } { :back_translation "visiting" } true; local_#13320 := ~uand32(local_#13318, local_#13319); assume { :LIR "60605" } { :back_translation "visiting" } true; local_#13321 := local_#13320; assume { :LIR "72714" } { :back_translation "visiting" } true; local_#13322 := 256; assume { :LIR "68888" } { :back_translation "visiting" } true; local_#13323 := ~sand32(local_#13321, local_#13322); if (local_#13323 != 0) { assume { :LIR "40199" } { :back_translation "taking-then-branch" } true; goto CFG_40199; } else { assume { :LIR "40198" } { :back_translation "taking-else-branch" } true; goto CFG_40198; } CFG_40198: assume { :LIR "40198" } { :back_translation "block" } true; assume { :LIR "72715" } { :back_translation "visiting" } true; local_#13324 := 14; assume { :LIR "69628" } { :back_translation "visiting" } true; local_#13325 := ~lshr32(local_#31479_i, local_#13324); assume { :LIR "72716" } { :back_translation "visiting" } true; local_#13326 := 511; assume { :LIR "68889" } { :back_translation "visiting" } true; local_#13327 := ~uand32(local_#13325, local_#13326); assume { :LIR "60606" } { :back_translation "visiting" } true; local_#13328 := local_#13327; assume { :LIR "67168" } { :back_translation "visiting" } true; local_#13329 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13328 * 16 }; assume { :LIR "53406" } { :back_translation "assignment" } true; local_#30656 := local_#13329; goto CFG_49612; CFG_40199: assume { :LIR "40199" } { :back_translation "block" } true; assume { :LIR "72717" } { :back_translation "visiting" } true; local_#13330 := 14; assume { :LIR "69629" } { :back_translation "visiting" } true; local_#13331 := ~lshr32(local_#31479_i, local_#13330); assume { :LIR "72718" } { :back_translation "visiting" } true; local_#13332 := 511; assume { :LIR "68890" } { :back_translation "visiting" } true; local_#13333 := ~uand32(local_#13331, local_#13332); assume { :LIR "60607" } { :back_translation "visiting" } true; local_#13334 := local_#13333; assume { :LIR "60608" } { :back_translation "visiting" } true; local_#13335 := local_#13334; assume { :LIR "72719" } { :back_translation "visiting" } true; local_#13336 := -257; assume { :LIR "68891" } { :back_translation "visiting" } true; local_#13337 := ~sand32(local_#13335, local_#13336); assume { :LIR "67169" } { :back_translation "visiting" } true; local_#13338 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13337 * 16 }; assume { :LIR "53407" } { :back_translation "assignment" } true; local_#30656 := local_#13338; goto CFG_49612; CFG_49612: assume { :LIR "49612" } { :back_translation "block" } true; assume { :LIR "53408" } { :back_translation "assignment" } true; local_#31560_rc := local_#30656; assume { :LIR "72720" } { :back_translation "visiting" } true; local_#13339 := 19; assume { :LIR "64864" } { :back_translation "visiting" } true; assert { :LIR "139424" } { :check "null-dereference" } { :finding_ids "341,434,530,652" } local_#31559_rb != { base : 0, offset : 0 }; local_#13340 := (if _memory[{ base : local_#31559_rb!base, offset : local_#31559_rb!offset + 8 }] == local_#13339 then 1 else 0); if (local_#13340 != 0) { assume { :LIR "49614" } { :back_translation "taking-then-branch" } true; goto CFG_49614; } else { assume { :LIR "42465" } { :back_translation "taking-else-branch" } true; goto CFG_42465; } CFG_42465: assume { :LIR "42465" } { :back_translation "block" } true; assume { :LIR "62537" } { :back_translation "visiting" } true; local_#13341 := local_#31559_rb; assume { :LIR "53409" } { :back_translation "assignment" } true; local_#13342 := local_#31557_ib; assume { :LIR "72721" } { :back_translation "visiting" } true; local_#13343 := 0; goto CFG_45923; CFG_45923: assume { :LIR "45923" } { :back_translation "block" } true; assume { :LIR "79460" } { :back_translation "visiting" } true; call local_#13344 := routine_#33903_luaV_tointeger(local_#13341,local_#13342,local_#13343); goto CFG_49613; CFG_49613: assume { :LIR "49613" } { :back_translation "block" } true; assume { :LIR "53410" } { :back_translation "assignment" } true; local_#13345 := local_#13344; if (local_#13345 != 0) { assume { :LIR "49615" } { :back_translation "taking-then-branch" } true; goto CFG_49615; } else { assume { :LIR "42467" } { :back_translation "taking-else-branch" } true; goto CFG_42467; } CFG_49614: assume { :LIR "49614" } { :back_translation "block" } true; assume { :LIR "53411" } { :back_translation "assignment" } true; local_#13346 := { base : local_#31559_rb!base, offset : local_#31559_rb!offset + 0 }; assume { :LIR "53412" } { :back_translation "assignment" } true; _memory[local_#31557_ib] := _memory[local_#13346]; assume { :LIR "53413" } { :back_translation "assignment" } true; local_#13347 := _memory[local_#31557_ib]; assume { :LIR "72722" } { :back_translation "visiting" } true; local_#13348 := 1; if (local_#13348 != 0) { assume { :LIR "49615" } { :back_translation "taking-then-branch" } true; goto CFG_49615; } else { assume { :LIR "42467" } { :back_translation "taking-else-branch" } true; goto CFG_42467; } CFG_49615: assume { :LIR "49615" } { :back_translation "block" } true; assume { :LIR "72723" } { :back_translation "visiting" } true; local_#13349 := 19; assume { :LIR "64865" } { :back_translation "visiting" } true; assert { :LIR "139425" } { :check "null-dereference" } { :finding_ids "342,435,531,653" } local_#31560_rc != { base : 0, offset : 0 }; local_#13350 := (if _memory[{ base : local_#31560_rc!base, offset : local_#31560_rc!offset + 8 }] == local_#13349 then 1 else 0); if (local_#13350 != 0) { assume { :LIR "49617" } { :back_translation "taking-then-branch" } true; goto CFG_49617; } else { assume { :LIR "42466" } { :back_translation "taking-else-branch" } true; goto CFG_42466; } CFG_42466: assume { :LIR "42466" } { :back_translation "block" } true; assume { :LIR "62538" } { :back_translation "visiting" } true; local_#13351 := local_#31560_rc; assume { :LIR "53414" } { :back_translation "assignment" } true; local_#13352 := local_#31558_ic; assume { :LIR "72724" } { :back_translation "visiting" } true; local_#13353 := 0; goto CFG_45924; CFG_45924: assume { :LIR "45924" } { :back_translation "block" } true; assume { :LIR "79461" } { :back_translation "visiting" } true; call local_#13354 := routine_#33903_luaV_tointeger(local_#13351,local_#13352,local_#13353); goto CFG_49616; CFG_49616: assume { :LIR "49616" } { :back_translation "block" } true; assume { :LIR "53415" } { :back_translation "assignment" } true; local_#13355 := local_#13354; if (local_#13355 != 0) { assume { :LIR "40201" } { :back_translation "taking-then-branch" } true; goto CFG_40201; } else { assume { :LIR "42467" } { :back_translation "taking-else-branch" } true; goto CFG_42467; } CFG_49617: assume { :LIR "49617" } { :back_translation "block" } true; assume { :LIR "53416" } { :back_translation "assignment" } true; local_#13356 := { base : local_#31560_rc!base, offset : local_#31560_rc!offset + 0 }; assume { :LIR "53417" } { :back_translation "assignment" } true; _memory[local_#31558_ic] := _memory[local_#13356]; assume { :LIR "53418" } { :back_translation "assignment" } true; local_#13357 := _memory[local_#31558_ic]; assume { :LIR "72725" } { :back_translation "visiting" } true; local_#13358 := 1; if (local_#13358 != 0) { assume { :LIR "40201" } { :back_translation "taking-then-branch" } true; goto CFG_40201; } else { assume { :LIR "42467" } { :back_translation "taking-else-branch" } true; goto CFG_42467; } CFG_42467: assume { :LIR "42467" } { :back_translation "block" } true; assume { :LIR "62539" } { :back_translation "visiting" } true; local_#13359 := local_#31559_rb; assume { :LIR "62540" } { :back_translation "visiting" } true; local_#13360 := local_#31560_rc; assume { :LIR "72726" } { :back_translation "visiting" } true; local_#13361 := 15; goto CFG_45925; CFG_45925: assume { :LIR "45925" } { :back_translation "block" } true; assume { :LIR "79462" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13359,local_#13360,local_#31480_ra,local_#13361); goto CFG_40200; CFG_40200: assume { :LIR "40200" } { :back_translation "block" } true; assume { :LIR "53419" } { :back_translation "assignment" } true; local_#13362 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53420" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13362!base, offset : local_#13362!offset + 0 }]; goto CFG_39531; CFG_40201: assume { :LIR "40201" } { :back_translation "block" } true; assume { :LIR "53421" } { :back_translation "assignment" } true; local_#31561_io := local_#31480_ra; assume { :LIR "60609" } { :back_translation "visiting" } true; local_#13363 := ~uwrap64(_memory[local_#31557_ib]); assume { :LIR "60610" } { :back_translation "visiting" } true; local_#13364 := ~uwrap64(_memory[local_#31558_ic]); assume { :LIR "69436" } { :back_translation "visiting" } true; local_#13365 := ~uxor64(local_#13363, local_#13364); assume { :LIR "60611" } { :back_translation "visiting" } true; local_#13366 := local_#13365; assume { :LIR "53422" } { :back_translation "assignment" } true; local_#13367 := { base : local_#31561_io!base, offset : local_#31561_io!offset + 0 }; assume { :LIR "53423" } { :back_translation "assignment" } true; _memory[local_#13367] := local_#13366; assume { :LIR "72727" } { :back_translation "visiting" } true; _memory[{ base : local_#31561_io!base, offset : local_#31561_io!offset + 8 }] := 19; goto CFG_39531; CFG_39531: assume { :LIR "39531" } { :back_translation "block" } true; goto CFG_45008; CFG_49618: assume { :LIR "49618" } { :back_translation "block" } true; assume { :LIR "72728" } { :back_translation "visiting" } true; local_#13368 := 23; assume { :LIR "69630" } { :back_translation "visiting" } true; local_#13369 := ~lshr32(local_#31479_i, local_#13368); assume { :LIR "72729" } { :back_translation "visiting" } true; local_#13370 := 511; assume { :LIR "68892" } { :back_translation "visiting" } true; local_#13371 := ~uand32(local_#13369, local_#13370); assume { :LIR "60612" } { :back_translation "visiting" } true; local_#13372 := local_#13371; assume { :LIR "72730" } { :back_translation "visiting" } true; local_#13373 := 256; assume { :LIR "68893" } { :back_translation "visiting" } true; local_#13374 := ~sand32(local_#13372, local_#13373); if (local_#13374 != 0) { assume { :LIR "40203" } { :back_translation "taking-then-branch" } true; goto CFG_40203; } else { assume { :LIR "40202" } { :back_translation "taking-else-branch" } true; goto CFG_40202; } CFG_40202: assume { :LIR "40202" } { :back_translation "block" } true; assume { :LIR "72731" } { :back_translation "visiting" } true; local_#13375 := 23; assume { :LIR "69631" } { :back_translation "visiting" } true; local_#13376 := ~lshr32(local_#31479_i, local_#13375); assume { :LIR "72732" } { :back_translation "visiting" } true; local_#13377 := 511; assume { :LIR "68894" } { :back_translation "visiting" } true; local_#13378 := ~uand32(local_#13376, local_#13377); assume { :LIR "60613" } { :back_translation "visiting" } true; local_#13379 := local_#13378; assume { :LIR "67170" } { :back_translation "visiting" } true; local_#13380 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13379 * 16 }; assume { :LIR "53424" } { :back_translation "assignment" } true; local_#30657 := local_#13380; goto CFG_49619; CFG_40203: assume { :LIR "40203" } { :back_translation "block" } true; assume { :LIR "72733" } { :back_translation "visiting" } true; local_#13381 := 23; assume { :LIR "69632" } { :back_translation "visiting" } true; local_#13382 := ~lshr32(local_#31479_i, local_#13381); assume { :LIR "72734" } { :back_translation "visiting" } true; local_#13383 := 511; assume { :LIR "68895" } { :back_translation "visiting" } true; local_#13384 := ~uand32(local_#13382, local_#13383); assume { :LIR "60614" } { :back_translation "visiting" } true; local_#13385 := local_#13384; assume { :LIR "60615" } { :back_translation "visiting" } true; local_#13386 := local_#13385; assume { :LIR "72735" } { :back_translation "visiting" } true; local_#13387 := -257; assume { :LIR "68896" } { :back_translation "visiting" } true; local_#13388 := ~sand32(local_#13386, local_#13387); assume { :LIR "67171" } { :back_translation "visiting" } true; local_#13389 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13388 * 16 }; assume { :LIR "53425" } { :back_translation "assignment" } true; local_#30657 := local_#13389; goto CFG_49619; CFG_49619: assume { :LIR "49619" } { :back_translation "block" } true; assume { :LIR "53426" } { :back_translation "assignment" } true; local_#31554_rb := local_#30657; assume { :LIR "72736" } { :back_translation "visiting" } true; local_#13390 := 14; assume { :LIR "69633" } { :back_translation "visiting" } true; local_#13391 := ~lshr32(local_#31479_i, local_#13390); assume { :LIR "72737" } { :back_translation "visiting" } true; local_#13392 := 511; assume { :LIR "68897" } { :back_translation "visiting" } true; local_#13393 := ~uand32(local_#13391, local_#13392); assume { :LIR "60616" } { :back_translation "visiting" } true; local_#13394 := local_#13393; assume { :LIR "72738" } { :back_translation "visiting" } true; local_#13395 := 256; assume { :LIR "68898" } { :back_translation "visiting" } true; local_#13396 := ~sand32(local_#13394, local_#13395); if (local_#13396 != 0) { assume { :LIR "40205" } { :back_translation "taking-then-branch" } true; goto CFG_40205; } else { assume { :LIR "40204" } { :back_translation "taking-else-branch" } true; goto CFG_40204; } CFG_40204: assume { :LIR "40204" } { :back_translation "block" } true; assume { :LIR "72739" } { :back_translation "visiting" } true; local_#13397 := 14; assume { :LIR "69634" } { :back_translation "visiting" } true; local_#13398 := ~lshr32(local_#31479_i, local_#13397); assume { :LIR "72740" } { :back_translation "visiting" } true; local_#13399 := 511; assume { :LIR "68899" } { :back_translation "visiting" } true; local_#13400 := ~uand32(local_#13398, local_#13399); assume { :LIR "60617" } { :back_translation "visiting" } true; local_#13401 := local_#13400; assume { :LIR "67172" } { :back_translation "visiting" } true; local_#13402 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13401 * 16 }; assume { :LIR "53427" } { :back_translation "assignment" } true; local_#30658 := local_#13402; goto CFG_49620; CFG_40205: assume { :LIR "40205" } { :back_translation "block" } true; assume { :LIR "72741" } { :back_translation "visiting" } true; local_#13403 := 14; assume { :LIR "69635" } { :back_translation "visiting" } true; local_#13404 := ~lshr32(local_#31479_i, local_#13403); assume { :LIR "72742" } { :back_translation "visiting" } true; local_#13405 := 511; assume { :LIR "68900" } { :back_translation "visiting" } true; local_#13406 := ~uand32(local_#13404, local_#13405); assume { :LIR "60618" } { :back_translation "visiting" } true; local_#13407 := local_#13406; assume { :LIR "60619" } { :back_translation "visiting" } true; local_#13408 := local_#13407; assume { :LIR "72743" } { :back_translation "visiting" } true; local_#13409 := -257; assume { :LIR "68901" } { :back_translation "visiting" } true; local_#13410 := ~sand32(local_#13408, local_#13409); assume { :LIR "67173" } { :back_translation "visiting" } true; local_#13411 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13410 * 16 }; assume { :LIR "53428" } { :back_translation "assignment" } true; local_#30658 := local_#13411; goto CFG_49620; CFG_49620: assume { :LIR "49620" } { :back_translation "block" } true; assume { :LIR "53429" } { :back_translation "assignment" } true; local_#31555_rc := local_#30658; assume { :LIR "72744" } { :back_translation "visiting" } true; local_#13412 := 19; assume { :LIR "64866" } { :back_translation "visiting" } true; assert { :LIR "139427" } { :check "null-dereference" } { :finding_ids "335,436,532,654" } local_#31554_rb != { base : 0, offset : 0 }; local_#13413 := (if _memory[{ base : local_#31554_rb!base, offset : local_#31554_rb!offset + 8 }] == local_#13412 then 1 else 0); if (local_#13413 != 0) { assume { :LIR "49622" } { :back_translation "taking-then-branch" } true; goto CFG_49622; } else { assume { :LIR "42468" } { :back_translation "taking-else-branch" } true; goto CFG_42468; } CFG_42468: assume { :LIR "42468" } { :back_translation "block" } true; assume { :LIR "62541" } { :back_translation "visiting" } true; local_#13414 := local_#31554_rb; assume { :LIR "53430" } { :back_translation "assignment" } true; local_#13415 := local_#31552_ib; assume { :LIR "72745" } { :back_translation "visiting" } true; local_#13416 := 0; goto CFG_45926; CFG_45926: assume { :LIR "45926" } { :back_translation "block" } true; assume { :LIR "79463" } { :back_translation "visiting" } true; call local_#13417 := routine_#33903_luaV_tointeger(local_#13414,local_#13415,local_#13416); goto CFG_49621; CFG_49621: assume { :LIR "49621" } { :back_translation "block" } true; assume { :LIR "53431" } { :back_translation "assignment" } true; local_#13418 := local_#13417; if (local_#13418 != 0) { assume { :LIR "49623" } { :back_translation "taking-then-branch" } true; goto CFG_49623; } else { assume { :LIR "42470" } { :back_translation "taking-else-branch" } true; goto CFG_42470; } CFG_49622: assume { :LIR "49622" } { :back_translation "block" } true; assume { :LIR "53432" } { :back_translation "assignment" } true; local_#13419 := { base : local_#31554_rb!base, offset : local_#31554_rb!offset + 0 }; assume { :LIR "53433" } { :back_translation "assignment" } true; _memory[local_#31552_ib] := _memory[local_#13419]; assume { :LIR "53434" } { :back_translation "assignment" } true; local_#13420 := _memory[local_#31552_ib]; assume { :LIR "72746" } { :back_translation "visiting" } true; local_#13421 := 1; if (local_#13421 != 0) { assume { :LIR "49623" } { :back_translation "taking-then-branch" } true; goto CFG_49623; } else { assume { :LIR "42470" } { :back_translation "taking-else-branch" } true; goto CFG_42470; } CFG_49623: assume { :LIR "49623" } { :back_translation "block" } true; assume { :LIR "72747" } { :back_translation "visiting" } true; local_#13422 := 19; assume { :LIR "64867" } { :back_translation "visiting" } true; assert { :LIR "139428" } { :check "null-dereference" } { :finding_ids "336,437,533,655" } local_#31555_rc != { base : 0, offset : 0 }; local_#13423 := (if _memory[{ base : local_#31555_rc!base, offset : local_#31555_rc!offset + 8 }] == local_#13422 then 1 else 0); if (local_#13423 != 0) { assume { :LIR "49625" } { :back_translation "taking-then-branch" } true; goto CFG_49625; } else { assume { :LIR "42469" } { :back_translation "taking-else-branch" } true; goto CFG_42469; } CFG_42469: assume { :LIR "42469" } { :back_translation "block" } true; assume { :LIR "62542" } { :back_translation "visiting" } true; local_#13424 := local_#31555_rc; assume { :LIR "53435" } { :back_translation "assignment" } true; local_#13425 := local_#31553_ic; assume { :LIR "72748" } { :back_translation "visiting" } true; local_#13426 := 0; goto CFG_45927; CFG_45927: assume { :LIR "45927" } { :back_translation "block" } true; assume { :LIR "79464" } { :back_translation "visiting" } true; call local_#13427 := routine_#33903_luaV_tointeger(local_#13424,local_#13425,local_#13426); goto CFG_49624; CFG_49624: assume { :LIR "49624" } { :back_translation "block" } true; assume { :LIR "53436" } { :back_translation "assignment" } true; local_#13428 := local_#13427; if (local_#13428 != 0) { assume { :LIR "40207" } { :back_translation "taking-then-branch" } true; goto CFG_40207; } else { assume { :LIR "42470" } { :back_translation "taking-else-branch" } true; goto CFG_42470; } CFG_49625: assume { :LIR "49625" } { :back_translation "block" } true; assume { :LIR "53437" } { :back_translation "assignment" } true; local_#13429 := { base : local_#31555_rc!base, offset : local_#31555_rc!offset + 0 }; assume { :LIR "53438" } { :back_translation "assignment" } true; _memory[local_#31553_ic] := _memory[local_#13429]; assume { :LIR "53439" } { :back_translation "assignment" } true; local_#13430 := _memory[local_#31553_ic]; assume { :LIR "72749" } { :back_translation "visiting" } true; local_#13431 := 1; if (local_#13431 != 0) { assume { :LIR "40207" } { :back_translation "taking-then-branch" } true; goto CFG_40207; } else { assume { :LIR "42470" } { :back_translation "taking-else-branch" } true; goto CFG_42470; } CFG_42470: assume { :LIR "42470" } { :back_translation "block" } true; assume { :LIR "62543" } { :back_translation "visiting" } true; local_#13432 := local_#31554_rb; assume { :LIR "62544" } { :back_translation "visiting" } true; local_#13433 := local_#31555_rc; assume { :LIR "72750" } { :back_translation "visiting" } true; local_#13434 := 14; goto CFG_45928; CFG_45928: assume { :LIR "45928" } { :back_translation "block" } true; assume { :LIR "79465" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13432,local_#13433,local_#31480_ra,local_#13434); goto CFG_40206; CFG_40206: assume { :LIR "40206" } { :back_translation "block" } true; assume { :LIR "53440" } { :back_translation "assignment" } true; local_#13435 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53441" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13435!base, offset : local_#13435!offset + 0 }]; goto CFG_39532; CFG_40207: assume { :LIR "40207" } { :back_translation "block" } true; assume { :LIR "53442" } { :back_translation "assignment" } true; local_#31556_io := local_#31480_ra; assume { :LIR "60620" } { :back_translation "visiting" } true; local_#13436 := ~uwrap64(_memory[local_#31552_ib]); assume { :LIR "60621" } { :back_translation "visiting" } true; local_#13437 := ~uwrap64(_memory[local_#31553_ic]); assume { :LIR "69372" } { :back_translation "visiting" } true; local_#13438 := ~uor64(local_#13436, local_#13437); assume { :LIR "60622" } { :back_translation "visiting" } true; local_#13439 := local_#13438; assume { :LIR "53443" } { :back_translation "assignment" } true; local_#13440 := { base : local_#31556_io!base, offset : local_#31556_io!offset + 0 }; assume { :LIR "53444" } { :back_translation "assignment" } true; _memory[local_#13440] := local_#13439; assume { :LIR "72751" } { :back_translation "visiting" } true; _memory[{ base : local_#31556_io!base, offset : local_#31556_io!offset + 8 }] := 19; goto CFG_39532; CFG_39532: assume { :LIR "39532" } { :back_translation "block" } true; goto CFG_45008; CFG_49626: assume { :LIR "49626" } { :back_translation "block" } true; assume { :LIR "72752" } { :back_translation "visiting" } true; local_#13441 := 23; assume { :LIR "69636" } { :back_translation "visiting" } true; local_#13442 := ~lshr32(local_#31479_i, local_#13441); assume { :LIR "72753" } { :back_translation "visiting" } true; local_#13443 := 511; assume { :LIR "68902" } { :back_translation "visiting" } true; local_#13444 := ~uand32(local_#13442, local_#13443); assume { :LIR "60623" } { :back_translation "visiting" } true; local_#13445 := local_#13444; assume { :LIR "72754" } { :back_translation "visiting" } true; local_#13446 := 256; assume { :LIR "68903" } { :back_translation "visiting" } true; local_#13447 := ~sand32(local_#13445, local_#13446); if (local_#13447 != 0) { assume { :LIR "40209" } { :back_translation "taking-then-branch" } true; goto CFG_40209; } else { assume { :LIR "40208" } { :back_translation "taking-else-branch" } true; goto CFG_40208; } CFG_40208: assume { :LIR "40208" } { :back_translation "block" } true; assume { :LIR "72755" } { :back_translation "visiting" } true; local_#13448 := 23; assume { :LIR "69637" } { :back_translation "visiting" } true; local_#13449 := ~lshr32(local_#31479_i, local_#13448); assume { :LIR "72756" } { :back_translation "visiting" } true; local_#13450 := 511; assume { :LIR "68904" } { :back_translation "visiting" } true; local_#13451 := ~uand32(local_#13449, local_#13450); assume { :LIR "60624" } { :back_translation "visiting" } true; local_#13452 := local_#13451; assume { :LIR "67174" } { :back_translation "visiting" } true; local_#13453 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13452 * 16 }; assume { :LIR "53445" } { :back_translation "assignment" } true; local_#30659 := local_#13453; goto CFG_49627; CFG_40209: assume { :LIR "40209" } { :back_translation "block" } true; assume { :LIR "72757" } { :back_translation "visiting" } true; local_#13454 := 23; assume { :LIR "69638" } { :back_translation "visiting" } true; local_#13455 := ~lshr32(local_#31479_i, local_#13454); assume { :LIR "72758" } { :back_translation "visiting" } true; local_#13456 := 511; assume { :LIR "68905" } { :back_translation "visiting" } true; local_#13457 := ~uand32(local_#13455, local_#13456); assume { :LIR "60625" } { :back_translation "visiting" } true; local_#13458 := local_#13457; assume { :LIR "60626" } { :back_translation "visiting" } true; local_#13459 := local_#13458; assume { :LIR "72759" } { :back_translation "visiting" } true; local_#13460 := -257; assume { :LIR "68906" } { :back_translation "visiting" } true; local_#13461 := ~sand32(local_#13459, local_#13460); assume { :LIR "67175" } { :back_translation "visiting" } true; local_#13462 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13461 * 16 }; assume { :LIR "53446" } { :back_translation "assignment" } true; local_#30659 := local_#13462; goto CFG_49627; CFG_49627: assume { :LIR "49627" } { :back_translation "block" } true; assume { :LIR "53447" } { :back_translation "assignment" } true; local_#31549_rb := local_#30659; assume { :LIR "72760" } { :back_translation "visiting" } true; local_#13463 := 14; assume { :LIR "69639" } { :back_translation "visiting" } true; local_#13464 := ~lshr32(local_#31479_i, local_#13463); assume { :LIR "72761" } { :back_translation "visiting" } true; local_#13465 := 511; assume { :LIR "68907" } { :back_translation "visiting" } true; local_#13466 := ~uand32(local_#13464, local_#13465); assume { :LIR "60627" } { :back_translation "visiting" } true; local_#13467 := local_#13466; assume { :LIR "72762" } { :back_translation "visiting" } true; local_#13468 := 256; assume { :LIR "68908" } { :back_translation "visiting" } true; local_#13469 := ~sand32(local_#13467, local_#13468); if (local_#13469 != 0) { assume { :LIR "40211" } { :back_translation "taking-then-branch" } true; goto CFG_40211; } else { assume { :LIR "40210" } { :back_translation "taking-else-branch" } true; goto CFG_40210; } CFG_40210: assume { :LIR "40210" } { :back_translation "block" } true; assume { :LIR "72763" } { :back_translation "visiting" } true; local_#13470 := 14; assume { :LIR "69640" } { :back_translation "visiting" } true; local_#13471 := ~lshr32(local_#31479_i, local_#13470); assume { :LIR "72764" } { :back_translation "visiting" } true; local_#13472 := 511; assume { :LIR "68909" } { :back_translation "visiting" } true; local_#13473 := ~uand32(local_#13471, local_#13472); assume { :LIR "60628" } { :back_translation "visiting" } true; local_#13474 := local_#13473; assume { :LIR "67176" } { :back_translation "visiting" } true; local_#13475 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13474 * 16 }; assume { :LIR "53448" } { :back_translation "assignment" } true; local_#30660 := local_#13475; goto CFG_49628; CFG_40211: assume { :LIR "40211" } { :back_translation "block" } true; assume { :LIR "72765" } { :back_translation "visiting" } true; local_#13476 := 14; assume { :LIR "69641" } { :back_translation "visiting" } true; local_#13477 := ~lshr32(local_#31479_i, local_#13476); assume { :LIR "72766" } { :back_translation "visiting" } true; local_#13478 := 511; assume { :LIR "68910" } { :back_translation "visiting" } true; local_#13479 := ~uand32(local_#13477, local_#13478); assume { :LIR "60629" } { :back_translation "visiting" } true; local_#13480 := local_#13479; assume { :LIR "60630" } { :back_translation "visiting" } true; local_#13481 := local_#13480; assume { :LIR "72767" } { :back_translation "visiting" } true; local_#13482 := -257; assume { :LIR "68911" } { :back_translation "visiting" } true; local_#13483 := ~sand32(local_#13481, local_#13482); assume { :LIR "67177" } { :back_translation "visiting" } true; local_#13484 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13483 * 16 }; assume { :LIR "53449" } { :back_translation "assignment" } true; local_#30660 := local_#13484; goto CFG_49628; CFG_49628: assume { :LIR "49628" } { :back_translation "block" } true; assume { :LIR "53450" } { :back_translation "assignment" } true; local_#31550_rc := local_#30660; assume { :LIR "72768" } { :back_translation "visiting" } true; local_#13485 := 19; assume { :LIR "64868" } { :back_translation "visiting" } true; assert { :LIR "139430" } { :check "null-dereference" } { :finding_ids "337,438,534,656" } local_#31549_rb != { base : 0, offset : 0 }; local_#13486 := (if _memory[{ base : local_#31549_rb!base, offset : local_#31549_rb!offset + 8 }] == local_#13485 then 1 else 0); if (local_#13486 != 0) { assume { :LIR "49630" } { :back_translation "taking-then-branch" } true; goto CFG_49630; } else { assume { :LIR "42471" } { :back_translation "taking-else-branch" } true; goto CFG_42471; } CFG_42471: assume { :LIR "42471" } { :back_translation "block" } true; assume { :LIR "62545" } { :back_translation "visiting" } true; local_#13487 := local_#31549_rb; assume { :LIR "53451" } { :back_translation "assignment" } true; local_#13488 := local_#31547_ib; assume { :LIR "72769" } { :back_translation "visiting" } true; local_#13489 := 0; goto CFG_45929; CFG_45929: assume { :LIR "45929" } { :back_translation "block" } true; assume { :LIR "79466" } { :back_translation "visiting" } true; call local_#13490 := routine_#33903_luaV_tointeger(local_#13487,local_#13488,local_#13489); goto CFG_49629; CFG_49629: assume { :LIR "49629" } { :back_translation "block" } true; assume { :LIR "53452" } { :back_translation "assignment" } true; local_#13491 := local_#13490; if (local_#13491 != 0) { assume { :LIR "49631" } { :back_translation "taking-then-branch" } true; goto CFG_49631; } else { assume { :LIR "42473" } { :back_translation "taking-else-branch" } true; goto CFG_42473; } CFG_49630: assume { :LIR "49630" } { :back_translation "block" } true; assume { :LIR "53453" } { :back_translation "assignment" } true; local_#13492 := { base : local_#31549_rb!base, offset : local_#31549_rb!offset + 0 }; assume { :LIR "53454" } { :back_translation "assignment" } true; _memory[local_#31547_ib] := _memory[local_#13492]; assume { :LIR "53455" } { :back_translation "assignment" } true; local_#13493 := _memory[local_#31547_ib]; assume { :LIR "72770" } { :back_translation "visiting" } true; local_#13494 := 1; if (local_#13494 != 0) { assume { :LIR "49631" } { :back_translation "taking-then-branch" } true; goto CFG_49631; } else { assume { :LIR "42473" } { :back_translation "taking-else-branch" } true; goto CFG_42473; } CFG_49631: assume { :LIR "49631" } { :back_translation "block" } true; assume { :LIR "72771" } { :back_translation "visiting" } true; local_#13495 := 19; assume { :LIR "64869" } { :back_translation "visiting" } true; assert { :LIR "139431" } { :check "null-dereference" } { :finding_ids "338,439,535,657" } local_#31550_rc != { base : 0, offset : 0 }; local_#13496 := (if _memory[{ base : local_#31550_rc!base, offset : local_#31550_rc!offset + 8 }] == local_#13495 then 1 else 0); if (local_#13496 != 0) { assume { :LIR "49633" } { :back_translation "taking-then-branch" } true; goto CFG_49633; } else { assume { :LIR "42472" } { :back_translation "taking-else-branch" } true; goto CFG_42472; } CFG_42472: assume { :LIR "42472" } { :back_translation "block" } true; assume { :LIR "62546" } { :back_translation "visiting" } true; local_#13497 := local_#31550_rc; assume { :LIR "53456" } { :back_translation "assignment" } true; local_#13498 := local_#31548_ic; assume { :LIR "72772" } { :back_translation "visiting" } true; local_#13499 := 0; goto CFG_45930; CFG_45930: assume { :LIR "45930" } { :back_translation "block" } true; assume { :LIR "79467" } { :back_translation "visiting" } true; call local_#13500 := routine_#33903_luaV_tointeger(local_#13497,local_#13498,local_#13499); goto CFG_49632; CFG_49632: assume { :LIR "49632" } { :back_translation "block" } true; assume { :LIR "53457" } { :back_translation "assignment" } true; local_#13501 := local_#13500; if (local_#13501 != 0) { assume { :LIR "40213" } { :back_translation "taking-then-branch" } true; goto CFG_40213; } else { assume { :LIR "42473" } { :back_translation "taking-else-branch" } true; goto CFG_42473; } CFG_49633: assume { :LIR "49633" } { :back_translation "block" } true; assume { :LIR "53458" } { :back_translation "assignment" } true; local_#13502 := { base : local_#31550_rc!base, offset : local_#31550_rc!offset + 0 }; assume { :LIR "53459" } { :back_translation "assignment" } true; _memory[local_#31548_ic] := _memory[local_#13502]; assume { :LIR "53460" } { :back_translation "assignment" } true; local_#13503 := _memory[local_#31548_ic]; assume { :LIR "72773" } { :back_translation "visiting" } true; local_#13504 := 1; if (local_#13504 != 0) { assume { :LIR "40213" } { :back_translation "taking-then-branch" } true; goto CFG_40213; } else { assume { :LIR "42473" } { :back_translation "taking-else-branch" } true; goto CFG_42473; } CFG_42473: assume { :LIR "42473" } { :back_translation "block" } true; assume { :LIR "62547" } { :back_translation "visiting" } true; local_#13505 := local_#31549_rb; assume { :LIR "62548" } { :back_translation "visiting" } true; local_#13506 := local_#31550_rc; assume { :LIR "72774" } { :back_translation "visiting" } true; local_#13507 := 13; goto CFG_45931; CFG_45931: assume { :LIR "45931" } { :back_translation "block" } true; assume { :LIR "79468" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13505,local_#13506,local_#31480_ra,local_#13507); goto CFG_40212; CFG_40212: assume { :LIR "40212" } { :back_translation "block" } true; assume { :LIR "53461" } { :back_translation "assignment" } true; local_#13508 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53462" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13508!base, offset : local_#13508!offset + 0 }]; goto CFG_39533; CFG_40213: assume { :LIR "40213" } { :back_translation "block" } true; assume { :LIR "53463" } { :back_translation "assignment" } true; local_#31551_io := local_#31480_ra; assume { :LIR "60631" } { :back_translation "visiting" } true; local_#13509 := ~uwrap64(_memory[local_#31547_ib]); assume { :LIR "60632" } { :back_translation "visiting" } true; local_#13510 := ~uwrap64(_memory[local_#31548_ic]); assume { :LIR "68912" } { :back_translation "visiting" } true; local_#13511 := ~uand64(local_#13509, local_#13510); assume { :LIR "60633" } { :back_translation "visiting" } true; local_#13512 := local_#13511; assume { :LIR "53464" } { :back_translation "assignment" } true; local_#13513 := { base : local_#31551_io!base, offset : local_#31551_io!offset + 0 }; assume { :LIR "53465" } { :back_translation "assignment" } true; _memory[local_#13513] := local_#13512; assume { :LIR "72775" } { :back_translation "visiting" } true; _memory[{ base : local_#31551_io!base, offset : local_#31551_io!offset + 8 }] := 19; goto CFG_39533; CFG_39533: assume { :LIR "39533" } { :back_translation "block" } true; goto CFG_45008; CFG_49634: assume { :LIR "49634" } { :back_translation "block" } true; assume { :LIR "72776" } { :back_translation "visiting" } true; local_#13514 := 23; assume { :LIR "69642" } { :back_translation "visiting" } true; local_#13515 := ~lshr32(local_#31479_i, local_#13514); assume { :LIR "72777" } { :back_translation "visiting" } true; local_#13516 := 511; assume { :LIR "68913" } { :back_translation "visiting" } true; local_#13517 := ~uand32(local_#13515, local_#13516); assume { :LIR "60634" } { :back_translation "visiting" } true; local_#13518 := local_#13517; assume { :LIR "72778" } { :back_translation "visiting" } true; local_#13519 := 256; assume { :LIR "68914" } { :back_translation "visiting" } true; local_#13520 := ~sand32(local_#13518, local_#13519); if (local_#13520 != 0) { assume { :LIR "40215" } { :back_translation "taking-then-branch" } true; goto CFG_40215; } else { assume { :LIR "40214" } { :back_translation "taking-else-branch" } true; goto CFG_40214; } CFG_40214: assume { :LIR "40214" } { :back_translation "block" } true; assume { :LIR "72779" } { :back_translation "visiting" } true; local_#13521 := 23; assume { :LIR "69643" } { :back_translation "visiting" } true; local_#13522 := ~lshr32(local_#31479_i, local_#13521); assume { :LIR "72780" } { :back_translation "visiting" } true; local_#13523 := 511; assume { :LIR "68915" } { :back_translation "visiting" } true; local_#13524 := ~uand32(local_#13522, local_#13523); assume { :LIR "60635" } { :back_translation "visiting" } true; local_#13525 := local_#13524; assume { :LIR "67178" } { :back_translation "visiting" } true; local_#13526 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13525 * 16 }; assume { :LIR "53466" } { :back_translation "assignment" } true; local_#30661 := local_#13526; goto CFG_49635; CFG_40215: assume { :LIR "40215" } { :back_translation "block" } true; assume { :LIR "72781" } { :back_translation "visiting" } true; local_#13527 := 23; assume { :LIR "69644" } { :back_translation "visiting" } true; local_#13528 := ~lshr32(local_#31479_i, local_#13527); assume { :LIR "72782" } { :back_translation "visiting" } true; local_#13529 := 511; assume { :LIR "68916" } { :back_translation "visiting" } true; local_#13530 := ~uand32(local_#13528, local_#13529); assume { :LIR "60636" } { :back_translation "visiting" } true; local_#13531 := local_#13530; assume { :LIR "60637" } { :back_translation "visiting" } true; local_#13532 := local_#13531; assume { :LIR "72783" } { :back_translation "visiting" } true; local_#13533 := -257; assume { :LIR "68917" } { :back_translation "visiting" } true; local_#13534 := ~sand32(local_#13532, local_#13533); assume { :LIR "67179" } { :back_translation "visiting" } true; local_#13535 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13534 * 16 }; assume { :LIR "53467" } { :back_translation "assignment" } true; local_#30661 := local_#13535; goto CFG_49635; CFG_49635: assume { :LIR "49635" } { :back_translation "block" } true; assume { :LIR "53468" } { :back_translation "assignment" } true; local_#31544_rb := local_#30661; assume { :LIR "72784" } { :back_translation "visiting" } true; local_#13536 := 14; assume { :LIR "69645" } { :back_translation "visiting" } true; local_#13537 := ~lshr32(local_#31479_i, local_#13536); assume { :LIR "72785" } { :back_translation "visiting" } true; local_#13538 := 511; assume { :LIR "68918" } { :back_translation "visiting" } true; local_#13539 := ~uand32(local_#13537, local_#13538); assume { :LIR "60638" } { :back_translation "visiting" } true; local_#13540 := local_#13539; assume { :LIR "72786" } { :back_translation "visiting" } true; local_#13541 := 256; assume { :LIR "68919" } { :back_translation "visiting" } true; local_#13542 := ~sand32(local_#13540, local_#13541); if (local_#13542 != 0) { assume { :LIR "40217" } { :back_translation "taking-then-branch" } true; goto CFG_40217; } else { assume { :LIR "40216" } { :back_translation "taking-else-branch" } true; goto CFG_40216; } CFG_40216: assume { :LIR "40216" } { :back_translation "block" } true; assume { :LIR "72787" } { :back_translation "visiting" } true; local_#13543 := 14; assume { :LIR "69646" } { :back_translation "visiting" } true; local_#13544 := ~lshr32(local_#31479_i, local_#13543); assume { :LIR "72788" } { :back_translation "visiting" } true; local_#13545 := 511; assume { :LIR "68920" } { :back_translation "visiting" } true; local_#13546 := ~uand32(local_#13544, local_#13545); assume { :LIR "60639" } { :back_translation "visiting" } true; local_#13547 := local_#13546; assume { :LIR "67180" } { :back_translation "visiting" } true; local_#13548 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13547 * 16 }; assume { :LIR "53469" } { :back_translation "assignment" } true; local_#30662 := local_#13548; goto CFG_49636; CFG_40217: assume { :LIR "40217" } { :back_translation "block" } true; assume { :LIR "72789" } { :back_translation "visiting" } true; local_#13549 := 14; assume { :LIR "69647" } { :back_translation "visiting" } true; local_#13550 := ~lshr32(local_#31479_i, local_#13549); assume { :LIR "72790" } { :back_translation "visiting" } true; local_#13551 := 511; assume { :LIR "68921" } { :back_translation "visiting" } true; local_#13552 := ~uand32(local_#13550, local_#13551); assume { :LIR "60640" } { :back_translation "visiting" } true; local_#13553 := local_#13552; assume { :LIR "60641" } { :back_translation "visiting" } true; local_#13554 := local_#13553; assume { :LIR "72791" } { :back_translation "visiting" } true; local_#13555 := -257; assume { :LIR "68922" } { :back_translation "visiting" } true; local_#13556 := ~sand32(local_#13554, local_#13555); assume { :LIR "67181" } { :back_translation "visiting" } true; local_#13557 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13556 * 16 }; assume { :LIR "53470" } { :back_translation "assignment" } true; local_#30662 := local_#13557; goto CFG_49636; CFG_49636: assume { :LIR "49636" } { :back_translation "block" } true; assume { :LIR "53471" } { :back_translation "assignment" } true; local_#31545_rc := local_#30662; assume { :LIR "72792" } { :back_translation "visiting" } true; local_#13558 := 3; assume { :LIR "64870" } { :back_translation "visiting" } true; assert { :LIR "139433" } { :check "null-dereference" } { :finding_ids "330,440,536,658" } local_#31544_rb != { base : 0, offset : 0 }; local_#13559 := (if _memory[{ base : local_#31544_rb!base, offset : local_#31544_rb!offset + 8 }] == local_#13558 then 1 else 0); if (local_#13559 != 0) { assume { :LIR "49638" } { :back_translation "taking-then-branch" } true; goto CFG_49638; } else { assume { :LIR "42474" } { :back_translation "taking-else-branch" } true; goto CFG_42474; } CFG_42474: assume { :LIR "42474" } { :back_translation "block" } true; assume { :LIR "62549" } { :back_translation "visiting" } true; local_#13560 := local_#31544_rb; assume { :LIR "53472" } { :back_translation "assignment" } true; local_#13561 := local_#31542_nb; goto CFG_45932; CFG_45932: assume { :LIR "45932" } { :back_translation "block" } true; assume { :LIR "79469" } { :back_translation "visiting" } true; call local_#13562 := routine_#33904_luaV_tonumber_(local_#13560,local_#13561); goto CFG_49637; CFG_49637: assume { :LIR "49637" } { :back_translation "block" } true; assume { :LIR "53473" } { :back_translation "assignment" } true; local_#13563 := local_#13562; if (local_#13563 != 0) { assume { :LIR "49639" } { :back_translation "taking-then-branch" } true; goto CFG_49639; } else { assume { :LIR "42476" } { :back_translation "taking-else-branch" } true; goto CFG_42476; } CFG_49638: assume { :LIR "49638" } { :back_translation "block" } true; assume { :LIR "53474" } { :back_translation "assignment" } true; local_#13564 := { base : local_#31544_rb!base, offset : local_#31544_rb!offset + 0 }; assume { :LIR "53475" } { :back_translation "assignment" } true; havoc nondet_#48; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53476" } { :back_translation "assignment" } true; havoc nondet_#49; local_#13565 := nondet_#49 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72793" } { :back_translation "visiting" } true; local_#13566 := 1; if (local_#13566 != 0) { assume { :LIR "49639" } { :back_translation "taking-then-branch" } true; goto CFG_49639; } else { assume { :LIR "42476" } { :back_translation "taking-else-branch" } true; goto CFG_42476; } CFG_49639: assume { :LIR "49639" } { :back_translation "block" } true; assume { :LIR "72794" } { :back_translation "visiting" } true; local_#13567 := 3; assume { :LIR "64871" } { :back_translation "visiting" } true; assert { :LIR "139434" } { :check "null-dereference" } { :finding_ids "331,441,537,659" } local_#31545_rc != { base : 0, offset : 0 }; local_#13568 := (if _memory[{ base : local_#31545_rc!base, offset : local_#31545_rc!offset + 8 }] == local_#13567 then 1 else 0); if (local_#13568 != 0) { assume { :LIR "49641" } { :back_translation "taking-then-branch" } true; goto CFG_49641; } else { assume { :LIR "42475" } { :back_translation "taking-else-branch" } true; goto CFG_42475; } CFG_42475: assume { :LIR "42475" } { :back_translation "block" } true; assume { :LIR "62550" } { :back_translation "visiting" } true; local_#13569 := local_#31545_rc; assume { :LIR "53477" } { :back_translation "assignment" } true; local_#13570 := local_#31543_nc; goto CFG_45933; CFG_45933: assume { :LIR "45933" } { :back_translation "block" } true; assume { :LIR "79470" } { :back_translation "visiting" } true; call local_#13571 := routine_#33904_luaV_tonumber_(local_#13569,local_#13570); goto CFG_49640; CFG_49640: assume { :LIR "49640" } { :back_translation "block" } true; assume { :LIR "53478" } { :back_translation "assignment" } true; local_#13572 := local_#13571; if (local_#13572 != 0) { assume { :LIR "40219" } { :back_translation "taking-then-branch" } true; goto CFG_40219; } else { assume { :LIR "42476" } { :back_translation "taking-else-branch" } true; goto CFG_42476; } CFG_49641: assume { :LIR "49641" } { :back_translation "block" } true; assume { :LIR "53479" } { :back_translation "assignment" } true; local_#13573 := { base : local_#31545_rc!base, offset : local_#31545_rc!offset + 0 }; assume { :LIR "53480" } { :back_translation "assignment" } true; havoc nondet_#50; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53481" } { :back_translation "assignment" } true; havoc nondet_#51; local_#13574 := nondet_#51 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72795" } { :back_translation "visiting" } true; local_#13575 := 1; if (local_#13575 != 0) { assume { :LIR "40219" } { :back_translation "taking-then-branch" } true; goto CFG_40219; } else { assume { :LIR "42476" } { :back_translation "taking-else-branch" } true; goto CFG_42476; } CFG_42476: assume { :LIR "42476" } { :back_translation "block" } true; assume { :LIR "62551" } { :back_translation "visiting" } true; local_#13576 := local_#31544_rb; assume { :LIR "62552" } { :back_translation "visiting" } true; local_#13577 := local_#31545_rc; assume { :LIR "72796" } { :back_translation "visiting" } true; local_#13578 := 11; goto CFG_45934; CFG_45934: assume { :LIR "45934" } { :back_translation "block" } true; assume { :LIR "79471" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13576,local_#13577,local_#31480_ra,local_#13578); goto CFG_40218; CFG_40218: assume { :LIR "40218" } { :back_translation "block" } true; assume { :LIR "53482" } { :back_translation "assignment" } true; local_#13579 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53483" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13579!base, offset : local_#13579!offset + 0 }]; goto CFG_39534; CFG_40219: assume { :LIR "40219" } { :back_translation "block" } true; assume { :LIR "53484" } { :back_translation "assignment" } true; local_#31546_io := local_#31480_ra; assume { :LIR "68637" } { :back_translation "visiting" } true; havoc nondet_#52; havoc nondet_#53; havoc nondet_#54; local_#13580 := nondet_#54 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68637. */; assume { :LIR "53485" } { :back_translation "assignment" } true; local_#13581 := { base : local_#31546_io!base, offset : local_#31546_io!offset + 0 }; assume { :LIR "53486" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72797" } { :back_translation "visiting" } true; _memory[{ base : local_#31546_io!base, offset : local_#31546_io!offset + 8 }] := 3; goto CFG_39534; CFG_39534: assume { :LIR "39534" } { :back_translation "block" } true; goto CFG_45008; CFG_49642: assume { :LIR "49642" } { :back_translation "block" } true; assume { :LIR "72798" } { :back_translation "visiting" } true; local_#13582 := 23; assume { :LIR "69648" } { :back_translation "visiting" } true; local_#13583 := ~lshr32(local_#31479_i, local_#13582); assume { :LIR "72799" } { :back_translation "visiting" } true; local_#13584 := 511; assume { :LIR "68923" } { :back_translation "visiting" } true; local_#13585 := ~uand32(local_#13583, local_#13584); assume { :LIR "60642" } { :back_translation "visiting" } true; local_#13586 := local_#13585; assume { :LIR "72800" } { :back_translation "visiting" } true; local_#13587 := 256; assume { :LIR "68924" } { :back_translation "visiting" } true; local_#13588 := ~sand32(local_#13586, local_#13587); if (local_#13588 != 0) { assume { :LIR "40221" } { :back_translation "taking-then-branch" } true; goto CFG_40221; } else { assume { :LIR "40220" } { :back_translation "taking-else-branch" } true; goto CFG_40220; } CFG_40220: assume { :LIR "40220" } { :back_translation "block" } true; assume { :LIR "72801" } { :back_translation "visiting" } true; local_#13589 := 23; assume { :LIR "69649" } { :back_translation "visiting" } true; local_#13590 := ~lshr32(local_#31479_i, local_#13589); assume { :LIR "72802" } { :back_translation "visiting" } true; local_#13591 := 511; assume { :LIR "68925" } { :back_translation "visiting" } true; local_#13592 := ~uand32(local_#13590, local_#13591); assume { :LIR "60643" } { :back_translation "visiting" } true; local_#13593 := local_#13592; assume { :LIR "67182" } { :back_translation "visiting" } true; local_#13594 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13593 * 16 }; assume { :LIR "53487" } { :back_translation "assignment" } true; local_#30663 := local_#13594; goto CFG_49643; CFG_40221: assume { :LIR "40221" } { :back_translation "block" } true; assume { :LIR "72803" } { :back_translation "visiting" } true; local_#13595 := 23; assume { :LIR "69650" } { :back_translation "visiting" } true; local_#13596 := ~lshr32(local_#31479_i, local_#13595); assume { :LIR "72804" } { :back_translation "visiting" } true; local_#13597 := 511; assume { :LIR "68926" } { :back_translation "visiting" } true; local_#13598 := ~uand32(local_#13596, local_#13597); assume { :LIR "60644" } { :back_translation "visiting" } true; local_#13599 := local_#13598; assume { :LIR "60645" } { :back_translation "visiting" } true; local_#13600 := local_#13599; assume { :LIR "72805" } { :back_translation "visiting" } true; local_#13601 := -257; assume { :LIR "68927" } { :back_translation "visiting" } true; local_#13602 := ~sand32(local_#13600, local_#13601); assume { :LIR "67183" } { :back_translation "visiting" } true; local_#13603 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13602 * 16 }; assume { :LIR "53488" } { :back_translation "assignment" } true; local_#30663 := local_#13603; goto CFG_49643; CFG_49643: assume { :LIR "49643" } { :back_translation "block" } true; assume { :LIR "53489" } { :back_translation "assignment" } true; local_#31536_rb := local_#30663; assume { :LIR "72806" } { :back_translation "visiting" } true; local_#13604 := 14; assume { :LIR "69651" } { :back_translation "visiting" } true; local_#13605 := ~lshr32(local_#31479_i, local_#13604); assume { :LIR "72807" } { :back_translation "visiting" } true; local_#13606 := 511; assume { :LIR "68928" } { :back_translation "visiting" } true; local_#13607 := ~uand32(local_#13605, local_#13606); assume { :LIR "60646" } { :back_translation "visiting" } true; local_#13608 := local_#13607; assume { :LIR "72808" } { :back_translation "visiting" } true; local_#13609 := 256; assume { :LIR "68929" } { :back_translation "visiting" } true; local_#13610 := ~sand32(local_#13608, local_#13609); if (local_#13610 != 0) { assume { :LIR "40223" } { :back_translation "taking-then-branch" } true; goto CFG_40223; } else { assume { :LIR "40222" } { :back_translation "taking-else-branch" } true; goto CFG_40222; } CFG_40222: assume { :LIR "40222" } { :back_translation "block" } true; assume { :LIR "72809" } { :back_translation "visiting" } true; local_#13611 := 14; assume { :LIR "69652" } { :back_translation "visiting" } true; local_#13612 := ~lshr32(local_#31479_i, local_#13611); assume { :LIR "72810" } { :back_translation "visiting" } true; local_#13613 := 511; assume { :LIR "68930" } { :back_translation "visiting" } true; local_#13614 := ~uand32(local_#13612, local_#13613); assume { :LIR "60647" } { :back_translation "visiting" } true; local_#13615 := local_#13614; assume { :LIR "67184" } { :back_translation "visiting" } true; local_#13616 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13615 * 16 }; assume { :LIR "53490" } { :back_translation "assignment" } true; local_#30664 := local_#13616; goto CFG_49644; CFG_40223: assume { :LIR "40223" } { :back_translation "block" } true; assume { :LIR "72811" } { :back_translation "visiting" } true; local_#13617 := 14; assume { :LIR "69653" } { :back_translation "visiting" } true; local_#13618 := ~lshr32(local_#31479_i, local_#13617); assume { :LIR "72812" } { :back_translation "visiting" } true; local_#13619 := 511; assume { :LIR "68931" } { :back_translation "visiting" } true; local_#13620 := ~uand32(local_#13618, local_#13619); assume { :LIR "60648" } { :back_translation "visiting" } true; local_#13621 := local_#13620; assume { :LIR "60649" } { :back_translation "visiting" } true; local_#13622 := local_#13621; assume { :LIR "72813" } { :back_translation "visiting" } true; local_#13623 := -257; assume { :LIR "68932" } { :back_translation "visiting" } true; local_#13624 := ~sand32(local_#13622, local_#13623); assume { :LIR "67185" } { :back_translation "visiting" } true; local_#13625 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13624 * 16 }; assume { :LIR "53491" } { :back_translation "assignment" } true; local_#30664 := local_#13625; goto CFG_49644; CFG_49644: assume { :LIR "49644" } { :back_translation "block" } true; assume { :LIR "53492" } { :back_translation "assignment" } true; local_#31537_rc := local_#30664; assume { :LIR "72814" } { :back_translation "visiting" } true; local_#13626 := 19; assume { :LIR "64872" } { :back_translation "visiting" } true; assert { :LIR "139436" } { :check "null-dereference" } { :finding_ids "328,442,538,660" } local_#31536_rb != { base : 0, offset : 0 }; local_#13627 := (if _memory[{ base : local_#31536_rb!base, offset : local_#31536_rb!offset + 8 }] == local_#13626 then 1 else 0); if (local_#13627 != 0) { assume { :LIR "49645" } { :back_translation "taking-then-branch" } true; goto CFG_49645; } else { assume { :LIR "49646" } { :back_translation "taking-else-branch" } true; goto CFG_49646; } CFG_49645: assume { :LIR "49645" } { :back_translation "block" } true; assume { :LIR "72815" } { :back_translation "visiting" } true; local_#13628 := 19; assume { :LIR "64873" } { :back_translation "visiting" } true; assert { :LIR "139437" } { :check "null-dereference" } { :finding_ids "329,443,539,661" } local_#31537_rc != { base : 0, offset : 0 }; local_#13629 := (if _memory[{ base : local_#31537_rc!base, offset : local_#31537_rc!offset + 8 }] == local_#13628 then 1 else 0); if (local_#13629 != 0) { assume { :LIR "40227" } { :back_translation "taking-then-branch" } true; goto CFG_40227; } else { assume { :LIR "49646" } { :back_translation "taking-else-branch" } true; goto CFG_49646; } CFG_49646: assume { :LIR "49646" } { :back_translation "block" } true; assume { :LIR "72816" } { :back_translation "visiting" } true; local_#13630 := 3; assume { :LIR "64874" } { :back_translation "visiting" } true; local_#13631 := (if _memory[{ base : local_#31536_rb!base, offset : local_#31536_rb!offset + 8 }] == local_#13630 then 1 else 0); if (local_#13631 != 0) { assume { :LIR "49648" } { :back_translation "taking-then-branch" } true; goto CFG_49648; } else { assume { :LIR "42477" } { :back_translation "taking-else-branch" } true; goto CFG_42477; } CFG_42477: assume { :LIR "42477" } { :back_translation "block" } true; assume { :LIR "62553" } { :back_translation "visiting" } true; local_#13632 := local_#31536_rb; assume { :LIR "53493" } { :back_translation "assignment" } true; local_#13633 := local_#31534_nb; goto CFG_45935; CFG_45935: assume { :LIR "45935" } { :back_translation "block" } true; assume { :LIR "79472" } { :back_translation "visiting" } true; call local_#13634 := routine_#33904_luaV_tonumber_(local_#13632,local_#13633); goto CFG_49647; CFG_49647: assume { :LIR "49647" } { :back_translation "block" } true; assume { :LIR "53494" } { :back_translation "assignment" } true; local_#13635 := local_#13634; if (local_#13635 != 0) { assume { :LIR "49649" } { :back_translation "taking-then-branch" } true; goto CFG_49649; } else { assume { :LIR "42479" } { :back_translation "taking-else-branch" } true; goto CFG_42479; } CFG_49648: assume { :LIR "49648" } { :back_translation "block" } true; assume { :LIR "53495" } { :back_translation "assignment" } true; local_#13636 := { base : local_#31536_rb!base, offset : local_#31536_rb!offset + 0 }; assume { :LIR "53496" } { :back_translation "assignment" } true; havoc nondet_#55; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53497" } { :back_translation "assignment" } true; havoc nondet_#56; local_#13637 := nondet_#56 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72817" } { :back_translation "visiting" } true; local_#13638 := 1; if (local_#13638 != 0) { assume { :LIR "49649" } { :back_translation "taking-then-branch" } true; goto CFG_49649; } else { assume { :LIR "42479" } { :back_translation "taking-else-branch" } true; goto CFG_42479; } CFG_49649: assume { :LIR "49649" } { :back_translation "block" } true; assume { :LIR "72818" } { :back_translation "visiting" } true; local_#13639 := 3; assume { :LIR "64875" } { :back_translation "visiting" } true; assert { :LIR "139439" } { :check "null-dereference" } { :finding_ids "317,444,540,662" } local_#31537_rc != { base : 0, offset : 0 }; local_#13640 := (if _memory[{ base : local_#31537_rc!base, offset : local_#31537_rc!offset + 8 }] == local_#13639 then 1 else 0); if (local_#13640 != 0) { assume { :LIR "49651" } { :back_translation "taking-then-branch" } true; goto CFG_49651; } else { assume { :LIR "42478" } { :back_translation "taking-else-branch" } true; goto CFG_42478; } CFG_42478: assume { :LIR "42478" } { :back_translation "block" } true; assume { :LIR "62554" } { :back_translation "visiting" } true; local_#13641 := local_#31537_rc; assume { :LIR "53498" } { :back_translation "assignment" } true; local_#13642 := local_#31535_nc; goto CFG_45936; CFG_45936: assume { :LIR "45936" } { :back_translation "block" } true; assume { :LIR "79473" } { :back_translation "visiting" } true; call local_#13643 := routine_#33904_luaV_tonumber_(local_#13641,local_#13642); goto CFG_49650; CFG_49650: assume { :LIR "49650" } { :back_translation "block" } true; assume { :LIR "53499" } { :back_translation "assignment" } true; local_#13644 := local_#13643; if (local_#13644 != 0) { assume { :LIR "40225" } { :back_translation "taking-then-branch" } true; goto CFG_40225; } else { assume { :LIR "42479" } { :back_translation "taking-else-branch" } true; goto CFG_42479; } CFG_49651: assume { :LIR "49651" } { :back_translation "block" } true; assume { :LIR "53500" } { :back_translation "assignment" } true; local_#13645 := { base : local_#31537_rc!base, offset : local_#31537_rc!offset + 0 }; assume { :LIR "53501" } { :back_translation "assignment" } true; havoc nondet_#57; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53502" } { :back_translation "assignment" } true; havoc nondet_#58; local_#13646 := nondet_#58 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72819" } { :back_translation "visiting" } true; local_#13647 := 1; if (local_#13647 != 0) { assume { :LIR "40225" } { :back_translation "taking-then-branch" } true; goto CFG_40225; } else { assume { :LIR "42479" } { :back_translation "taking-else-branch" } true; goto CFG_42479; } CFG_42479: assume { :LIR "42479" } { :back_translation "block" } true; assume { :LIR "62555" } { :back_translation "visiting" } true; local_#13648 := local_#31536_rb; assume { :LIR "62556" } { :back_translation "visiting" } true; local_#13649 := local_#31537_rc; assume { :LIR "72820" } { :back_translation "visiting" } true; local_#13650 := 8; goto CFG_45937; CFG_45937: assume { :LIR "45937" } { :back_translation "block" } true; assume { :LIR "79474" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13648,local_#13649,local_#31480_ra,local_#13650); goto CFG_40224; CFG_40224: assume { :LIR "40224" } { :back_translation "block" } true; assume { :LIR "53503" } { :back_translation "assignment" } true; local_#13651 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53504" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13651!base, offset : local_#13651!offset + 0 }]; goto CFG_40226; CFG_40225: assume { :LIR "40225" } { :back_translation "block" } true; assume { :LIR "53505" } { :back_translation "assignment" } true; local_#31541_io := local_#31480_ra; assume { :LIR "68531" } { :back_translation "visiting" } true; havoc nondet_#59; havoc nondet_#60; havoc nondet_#61; local_#13652 := nondet_#61 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68531. */; assume { :LIR "53506" } { :back_translation "assignment" } true; local_#13653 := { base : local_#31541_io!base, offset : local_#31541_io!offset + 0 }; assume { :LIR "53507" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72821" } { :back_translation "visiting" } true; _memory[{ base : local_#31541_io!base, offset : local_#31541_io!offset + 8 }] := 3; goto CFG_40226; CFG_40226: assume { :LIR "40226" } { :back_translation "block" } true; goto CFG_39535; CFG_40227: assume { :LIR "40227" } { :back_translation "block" } true; assume { :LIR "53508" } { :back_translation "assignment" } true; local_#13654 := { base : local_#31536_rb!base, offset : local_#31536_rb!offset + 0 }; assume { :LIR "53509" } { :back_translation "assignment" } true; local_#31538_ib := _memory[local_#13654]; assume { :LIR "53510" } { :back_translation "assignment" } true; local_#13655 := { base : local_#31537_rc!base, offset : local_#31537_rc!offset + 0 }; assume { :LIR "53511" } { :back_translation "assignment" } true; local_#31539_ic := _memory[local_#13655]; assume { :LIR "53512" } { :back_translation "assignment" } true; local_#31540_io := local_#31480_ra; assume { :LIR "60650" } { :back_translation "visiting" } true; local_#13656 := ~uwrap64(local_#31538_ib); assume { :LIR "60651" } { :back_translation "visiting" } true; local_#13657 := ~uwrap64(local_#31539_ic); assume { :LIR "68532" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#13658 := ~uwrap64(local_#13656 * local_#13657); assume { :LIR "60652" } { :back_translation "visiting" } true; local_#13659 := local_#13658; assume { :LIR "53513" } { :back_translation "assignment" } true; local_#13660 := { base : local_#31540_io!base, offset : local_#31540_io!offset + 0 }; assume { :LIR "53514" } { :back_translation "assignment" } true; _memory[local_#13660] := local_#13659; assume { :LIR "72822" } { :back_translation "visiting" } true; _memory[{ base : local_#31540_io!base, offset : local_#31540_io!offset + 8 }] := 19; goto CFG_39535; CFG_39535: assume { :LIR "39535" } { :back_translation "block" } true; goto CFG_45008; CFG_49652: assume { :LIR "49652" } { :back_translation "block" } true; assume { :LIR "72823" } { :back_translation "visiting" } true; local_#13661 := 23; assume { :LIR "69654" } { :back_translation "visiting" } true; local_#13662 := ~lshr32(local_#31479_i, local_#13661); assume { :LIR "72824" } { :back_translation "visiting" } true; local_#13663 := 511; assume { :LIR "68933" } { :back_translation "visiting" } true; local_#13664 := ~uand32(local_#13662, local_#13663); assume { :LIR "60653" } { :back_translation "visiting" } true; local_#13665 := local_#13664; assume { :LIR "72825" } { :back_translation "visiting" } true; local_#13666 := 256; assume { :LIR "68934" } { :back_translation "visiting" } true; local_#13667 := ~sand32(local_#13665, local_#13666); if (local_#13667 != 0) { assume { :LIR "40229" } { :back_translation "taking-then-branch" } true; goto CFG_40229; } else { assume { :LIR "40228" } { :back_translation "taking-else-branch" } true; goto CFG_40228; } CFG_40228: assume { :LIR "40228" } { :back_translation "block" } true; assume { :LIR "72826" } { :back_translation "visiting" } true; local_#13668 := 23; assume { :LIR "69655" } { :back_translation "visiting" } true; local_#13669 := ~lshr32(local_#31479_i, local_#13668); assume { :LIR "72827" } { :back_translation "visiting" } true; local_#13670 := 511; assume { :LIR "68935" } { :back_translation "visiting" } true; local_#13671 := ~uand32(local_#13669, local_#13670); assume { :LIR "60654" } { :back_translation "visiting" } true; local_#13672 := local_#13671; assume { :LIR "67186" } { :back_translation "visiting" } true; local_#13673 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13672 * 16 }; assume { :LIR "53515" } { :back_translation "assignment" } true; local_#30665 := local_#13673; goto CFG_49653; CFG_40229: assume { :LIR "40229" } { :back_translation "block" } true; assume { :LIR "72828" } { :back_translation "visiting" } true; local_#13674 := 23; assume { :LIR "69656" } { :back_translation "visiting" } true; local_#13675 := ~lshr32(local_#31479_i, local_#13674); assume { :LIR "72829" } { :back_translation "visiting" } true; local_#13676 := 511; assume { :LIR "68936" } { :back_translation "visiting" } true; local_#13677 := ~uand32(local_#13675, local_#13676); assume { :LIR "60655" } { :back_translation "visiting" } true; local_#13678 := local_#13677; assume { :LIR "60656" } { :back_translation "visiting" } true; local_#13679 := local_#13678; assume { :LIR "72830" } { :back_translation "visiting" } true; local_#13680 := -257; assume { :LIR "68937" } { :back_translation "visiting" } true; local_#13681 := ~sand32(local_#13679, local_#13680); assume { :LIR "67187" } { :back_translation "visiting" } true; local_#13682 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13681 * 16 }; assume { :LIR "53516" } { :back_translation "assignment" } true; local_#30665 := local_#13682; goto CFG_49653; CFG_49653: assume { :LIR "49653" } { :back_translation "block" } true; assume { :LIR "53517" } { :back_translation "assignment" } true; local_#31528_rb := local_#30665; assume { :LIR "72831" } { :back_translation "visiting" } true; local_#13683 := 14; assume { :LIR "69657" } { :back_translation "visiting" } true; local_#13684 := ~lshr32(local_#31479_i, local_#13683); assume { :LIR "72832" } { :back_translation "visiting" } true; local_#13685 := 511; assume { :LIR "68938" } { :back_translation "visiting" } true; local_#13686 := ~uand32(local_#13684, local_#13685); assume { :LIR "60657" } { :back_translation "visiting" } true; local_#13687 := local_#13686; assume { :LIR "72833" } { :back_translation "visiting" } true; local_#13688 := 256; assume { :LIR "68939" } { :back_translation "visiting" } true; local_#13689 := ~sand32(local_#13687, local_#13688); if (local_#13689 != 0) { assume { :LIR "40231" } { :back_translation "taking-then-branch" } true; goto CFG_40231; } else { assume { :LIR "40230" } { :back_translation "taking-else-branch" } true; goto CFG_40230; } CFG_40230: assume { :LIR "40230" } { :back_translation "block" } true; assume { :LIR "72834" } { :back_translation "visiting" } true; local_#13690 := 14; assume { :LIR "69658" } { :back_translation "visiting" } true; local_#13691 := ~lshr32(local_#31479_i, local_#13690); assume { :LIR "72835" } { :back_translation "visiting" } true; local_#13692 := 511; assume { :LIR "68940" } { :back_translation "visiting" } true; local_#13693 := ~uand32(local_#13691, local_#13692); assume { :LIR "60658" } { :back_translation "visiting" } true; local_#13694 := local_#13693; assume { :LIR "67188" } { :back_translation "visiting" } true; local_#13695 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13694 * 16 }; assume { :LIR "53518" } { :back_translation "assignment" } true; local_#30666 := local_#13695; goto CFG_49654; CFG_40231: assume { :LIR "40231" } { :back_translation "block" } true; assume { :LIR "72836" } { :back_translation "visiting" } true; local_#13696 := 14; assume { :LIR "69659" } { :back_translation "visiting" } true; local_#13697 := ~lshr32(local_#31479_i, local_#13696); assume { :LIR "72837" } { :back_translation "visiting" } true; local_#13698 := 511; assume { :LIR "68941" } { :back_translation "visiting" } true; local_#13699 := ~uand32(local_#13697, local_#13698); assume { :LIR "60659" } { :back_translation "visiting" } true; local_#13700 := local_#13699; assume { :LIR "60660" } { :back_translation "visiting" } true; local_#13701 := local_#13700; assume { :LIR "72838" } { :back_translation "visiting" } true; local_#13702 := -257; assume { :LIR "68942" } { :back_translation "visiting" } true; local_#13703 := ~sand32(local_#13701, local_#13702); assume { :LIR "67189" } { :back_translation "visiting" } true; local_#13704 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13703 * 16 }; assume { :LIR "53519" } { :back_translation "assignment" } true; local_#30666 := local_#13704; goto CFG_49654; CFG_49654: assume { :LIR "49654" } { :back_translation "block" } true; assume { :LIR "53520" } { :back_translation "assignment" } true; local_#31529_rc := local_#30666; assume { :LIR "72839" } { :back_translation "visiting" } true; local_#13705 := 19; assume { :LIR "64876" } { :back_translation "visiting" } true; assert { :LIR "139441" } { :check "null-dereference" } { :finding_ids "318,445,541,663" } local_#31528_rb != { base : 0, offset : 0 }; local_#13706 := (if _memory[{ base : local_#31528_rb!base, offset : local_#31528_rb!offset + 8 }] == local_#13705 then 1 else 0); if (local_#13706 != 0) { assume { :LIR "49655" } { :back_translation "taking-then-branch" } true; goto CFG_49655; } else { assume { :LIR "49656" } { :back_translation "taking-else-branch" } true; goto CFG_49656; } CFG_49655: assume { :LIR "49655" } { :back_translation "block" } true; assume { :LIR "72840" } { :back_translation "visiting" } true; local_#13707 := 19; assume { :LIR "64877" } { :back_translation "visiting" } true; assert { :LIR "139442" } { :check "null-dereference" } { :finding_ids "327,446,542,664" } local_#31529_rc != { base : 0, offset : 0 }; local_#13708 := (if _memory[{ base : local_#31529_rc!base, offset : local_#31529_rc!offset + 8 }] == local_#13707 then 1 else 0); if (local_#13708 != 0) { assume { :LIR "40235" } { :back_translation "taking-then-branch" } true; goto CFG_40235; } else { assume { :LIR "49656" } { :back_translation "taking-else-branch" } true; goto CFG_49656; } CFG_49656: assume { :LIR "49656" } { :back_translation "block" } true; assume { :LIR "72841" } { :back_translation "visiting" } true; local_#13709 := 3; assume { :LIR "64878" } { :back_translation "visiting" } true; local_#13710 := (if _memory[{ base : local_#31528_rb!base, offset : local_#31528_rb!offset + 8 }] == local_#13709 then 1 else 0); if (local_#13710 != 0) { assume { :LIR "49658" } { :back_translation "taking-then-branch" } true; goto CFG_49658; } else { assume { :LIR "42480" } { :back_translation "taking-else-branch" } true; goto CFG_42480; } CFG_42480: assume { :LIR "42480" } { :back_translation "block" } true; assume { :LIR "62557" } { :back_translation "visiting" } true; local_#13711 := local_#31528_rb; assume { :LIR "53521" } { :back_translation "assignment" } true; local_#13712 := local_#31526_nb; goto CFG_45938; CFG_45938: assume { :LIR "45938" } { :back_translation "block" } true; assume { :LIR "79475" } { :back_translation "visiting" } true; call local_#13713 := routine_#33904_luaV_tonumber_(local_#13711,local_#13712); goto CFG_49657; CFG_49657: assume { :LIR "49657" } { :back_translation "block" } true; assume { :LIR "53522" } { :back_translation "assignment" } true; local_#13714 := local_#13713; if (local_#13714 != 0) { assume { :LIR "49659" } { :back_translation "taking-then-branch" } true; goto CFG_49659; } else { assume { :LIR "42482" } { :back_translation "taking-else-branch" } true; goto CFG_42482; } CFG_49658: assume { :LIR "49658" } { :back_translation "block" } true; assume { :LIR "53523" } { :back_translation "assignment" } true; local_#13715 := { base : local_#31528_rb!base, offset : local_#31528_rb!offset + 0 }; assume { :LIR "53524" } { :back_translation "assignment" } true; havoc nondet_#62; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53525" } { :back_translation "assignment" } true; havoc nondet_#63; local_#13716 := nondet_#63 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72842" } { :back_translation "visiting" } true; local_#13717 := 1; if (local_#13717 != 0) { assume { :LIR "49659" } { :back_translation "taking-then-branch" } true; goto CFG_49659; } else { assume { :LIR "42482" } { :back_translation "taking-else-branch" } true; goto CFG_42482; } CFG_49659: assume { :LIR "49659" } { :back_translation "block" } true; assume { :LIR "72843" } { :back_translation "visiting" } true; local_#13718 := 3; assume { :LIR "64879" } { :back_translation "visiting" } true; assert { :LIR "139444" } { :check "null-dereference" } { :finding_ids "325,447,543,665" } local_#31529_rc != { base : 0, offset : 0 }; local_#13719 := (if _memory[{ base : local_#31529_rc!base, offset : local_#31529_rc!offset + 8 }] == local_#13718 then 1 else 0); if (local_#13719 != 0) { assume { :LIR "49661" } { :back_translation "taking-then-branch" } true; goto CFG_49661; } else { assume { :LIR "42481" } { :back_translation "taking-else-branch" } true; goto CFG_42481; } CFG_42481: assume { :LIR "42481" } { :back_translation "block" } true; assume { :LIR "62558" } { :back_translation "visiting" } true; local_#13720 := local_#31529_rc; assume { :LIR "53526" } { :back_translation "assignment" } true; local_#13721 := local_#31527_nc; goto CFG_45939; CFG_45939: assume { :LIR "45939" } { :back_translation "block" } true; assume { :LIR "79476" } { :back_translation "visiting" } true; call local_#13722 := routine_#33904_luaV_tonumber_(local_#13720,local_#13721); goto CFG_49660; CFG_49660: assume { :LIR "49660" } { :back_translation "block" } true; assume { :LIR "53527" } { :back_translation "assignment" } true; local_#13723 := local_#13722; if (local_#13723 != 0) { assume { :LIR "40233" } { :back_translation "taking-then-branch" } true; goto CFG_40233; } else { assume { :LIR "42482" } { :back_translation "taking-else-branch" } true; goto CFG_42482; } CFG_49661: assume { :LIR "49661" } { :back_translation "block" } true; assume { :LIR "53528" } { :back_translation "assignment" } true; local_#13724 := { base : local_#31529_rc!base, offset : local_#31529_rc!offset + 0 }; assume { :LIR "53529" } { :back_translation "assignment" } true; havoc nondet_#64; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53530" } { :back_translation "assignment" } true; havoc nondet_#65; local_#13725 := nondet_#65 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72844" } { :back_translation "visiting" } true; local_#13726 := 1; if (local_#13726 != 0) { assume { :LIR "40233" } { :back_translation "taking-then-branch" } true; goto CFG_40233; } else { assume { :LIR "42482" } { :back_translation "taking-else-branch" } true; goto CFG_42482; } CFG_42482: assume { :LIR "42482" } { :back_translation "block" } true; assume { :LIR "62559" } { :back_translation "visiting" } true; local_#13727 := local_#31528_rb; assume { :LIR "62560" } { :back_translation "visiting" } true; local_#13728 := local_#31529_rc; assume { :LIR "72845" } { :back_translation "visiting" } true; local_#13729 := 7; goto CFG_45940; CFG_45940: assume { :LIR "45940" } { :back_translation "block" } true; assume { :LIR "79477" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13727,local_#13728,local_#31480_ra,local_#13729); goto CFG_40232; CFG_40232: assume { :LIR "40232" } { :back_translation "block" } true; assume { :LIR "53531" } { :back_translation "assignment" } true; local_#13730 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53532" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13730!base, offset : local_#13730!offset + 0 }]; goto CFG_40234; CFG_40233: assume { :LIR "40233" } { :back_translation "block" } true; assume { :LIR "53533" } { :back_translation "assignment" } true; local_#31533_io := local_#31480_ra; assume { :LIR "67947" } { :back_translation "visiting" } true; havoc nondet_#66; havoc nondet_#67; havoc nondet_#68; local_#13731 := nondet_#68 /* IR2BOOGIE-ERROR: Unsupported type for binary - in 67947. */; assume { :LIR "53534" } { :back_translation "assignment" } true; local_#13732 := { base : local_#31533_io!base, offset : local_#31533_io!offset + 0 }; assume { :LIR "53535" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72846" } { :back_translation "visiting" } true; _memory[{ base : local_#31533_io!base, offset : local_#31533_io!offset + 8 }] := 3; goto CFG_40234; CFG_40234: assume { :LIR "40234" } { :back_translation "block" } true; goto CFG_39536; CFG_40235: assume { :LIR "40235" } { :back_translation "block" } true; assume { :LIR "53536" } { :back_translation "assignment" } true; local_#13733 := { base : local_#31528_rb!base, offset : local_#31528_rb!offset + 0 }; assume { :LIR "53537" } { :back_translation "assignment" } true; local_#31530_ib := _memory[local_#13733]; assume { :LIR "53538" } { :back_translation "assignment" } true; local_#13734 := { base : local_#31529_rc!base, offset : local_#31529_rc!offset + 0 }; assume { :LIR "53539" } { :back_translation "assignment" } true; local_#31531_ic := _memory[local_#13734]; assume { :LIR "53540" } { :back_translation "assignment" } true; local_#31532_io := local_#31480_ra; assume { :LIR "60661" } { :back_translation "visiting" } true; local_#13735 := ~uwrap64(local_#31530_ib); assume { :LIR "60662" } { :back_translation "visiting" } true; local_#13736 := ~uwrap64(local_#31531_ic); assume { :LIR "67948" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#13737 := ~uwrap64(local_#13735 - local_#13736); assume { :LIR "60663" } { :back_translation "visiting" } true; local_#13738 := local_#13737; assume { :LIR "53541" } { :back_translation "assignment" } true; local_#13739 := { base : local_#31532_io!base, offset : local_#31532_io!offset + 0 }; assume { :LIR "53542" } { :back_translation "assignment" } true; _memory[local_#13739] := local_#13738; assume { :LIR "72847" } { :back_translation "visiting" } true; _memory[{ base : local_#31532_io!base, offset : local_#31532_io!offset + 8 }] := 19; goto CFG_39536; CFG_39536: assume { :LIR "39536" } { :back_translation "block" } true; goto CFG_45008; CFG_49662: assume { :LIR "49662" } { :back_translation "block" } true; assume { :LIR "72848" } { :back_translation "visiting" } true; local_#13740 := 23; assume { :LIR "69660" } { :back_translation "visiting" } true; local_#13741 := ~lshr32(local_#31479_i, local_#13740); assume { :LIR "72849" } { :back_translation "visiting" } true; local_#13742 := 511; assume { :LIR "68943" } { :back_translation "visiting" } true; local_#13743 := ~uand32(local_#13741, local_#13742); assume { :LIR "60664" } { :back_translation "visiting" } true; local_#13744 := local_#13743; assume { :LIR "72850" } { :back_translation "visiting" } true; local_#13745 := 256; assume { :LIR "68944" } { :back_translation "visiting" } true; local_#13746 := ~sand32(local_#13744, local_#13745); if (local_#13746 != 0) { assume { :LIR "40237" } { :back_translation "taking-then-branch" } true; goto CFG_40237; } else { assume { :LIR "40236" } { :back_translation "taking-else-branch" } true; goto CFG_40236; } CFG_40236: assume { :LIR "40236" } { :back_translation "block" } true; assume { :LIR "72851" } { :back_translation "visiting" } true; local_#13747 := 23; assume { :LIR "69661" } { :back_translation "visiting" } true; local_#13748 := ~lshr32(local_#31479_i, local_#13747); assume { :LIR "72852" } { :back_translation "visiting" } true; local_#13749 := 511; assume { :LIR "68945" } { :back_translation "visiting" } true; local_#13750 := ~uand32(local_#13748, local_#13749); assume { :LIR "60665" } { :back_translation "visiting" } true; local_#13751 := local_#13750; assume { :LIR "67190" } { :back_translation "visiting" } true; local_#13752 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13751 * 16 }; assume { :LIR "53543" } { :back_translation "assignment" } true; local_#30667 := local_#13752; goto CFG_49663; CFG_40237: assume { :LIR "40237" } { :back_translation "block" } true; assume { :LIR "72853" } { :back_translation "visiting" } true; local_#13753 := 23; assume { :LIR "69662" } { :back_translation "visiting" } true; local_#13754 := ~lshr32(local_#31479_i, local_#13753); assume { :LIR "72854" } { :back_translation "visiting" } true; local_#13755 := 511; assume { :LIR "68946" } { :back_translation "visiting" } true; local_#13756 := ~uand32(local_#13754, local_#13755); assume { :LIR "60666" } { :back_translation "visiting" } true; local_#13757 := local_#13756; assume { :LIR "60667" } { :back_translation "visiting" } true; local_#13758 := local_#13757; assume { :LIR "72855" } { :back_translation "visiting" } true; local_#13759 := -257; assume { :LIR "68947" } { :back_translation "visiting" } true; local_#13760 := ~sand32(local_#13758, local_#13759); assume { :LIR "67191" } { :back_translation "visiting" } true; local_#13761 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13760 * 16 }; assume { :LIR "53544" } { :back_translation "assignment" } true; local_#30667 := local_#13761; goto CFG_49663; CFG_49663: assume { :LIR "49663" } { :back_translation "block" } true; assume { :LIR "53545" } { :back_translation "assignment" } true; local_#31520_rb := local_#30667; assume { :LIR "72856" } { :back_translation "visiting" } true; local_#13762 := 14; assume { :LIR "69663" } { :back_translation "visiting" } true; local_#13763 := ~lshr32(local_#31479_i, local_#13762); assume { :LIR "72857" } { :back_translation "visiting" } true; local_#13764 := 511; assume { :LIR "68948" } { :back_translation "visiting" } true; local_#13765 := ~uand32(local_#13763, local_#13764); assume { :LIR "60668" } { :back_translation "visiting" } true; local_#13766 := local_#13765; assume { :LIR "72858" } { :back_translation "visiting" } true; local_#13767 := 256; assume { :LIR "68949" } { :back_translation "visiting" } true; local_#13768 := ~sand32(local_#13766, local_#13767); if (local_#13768 != 0) { assume { :LIR "40239" } { :back_translation "taking-then-branch" } true; goto CFG_40239; } else { assume { :LIR "40238" } { :back_translation "taking-else-branch" } true; goto CFG_40238; } CFG_40238: assume { :LIR "40238" } { :back_translation "block" } true; assume { :LIR "72859" } { :back_translation "visiting" } true; local_#13769 := 14; assume { :LIR "69664" } { :back_translation "visiting" } true; local_#13770 := ~lshr32(local_#31479_i, local_#13769); assume { :LIR "72860" } { :back_translation "visiting" } true; local_#13771 := 511; assume { :LIR "68950" } { :back_translation "visiting" } true; local_#13772 := ~uand32(local_#13770, local_#13771); assume { :LIR "60669" } { :back_translation "visiting" } true; local_#13773 := local_#13772; assume { :LIR "67192" } { :back_translation "visiting" } true; local_#13774 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13773 * 16 }; assume { :LIR "53546" } { :back_translation "assignment" } true; local_#30668 := local_#13774; goto CFG_49664; CFG_40239: assume { :LIR "40239" } { :back_translation "block" } true; assume { :LIR "72861" } { :back_translation "visiting" } true; local_#13775 := 14; assume { :LIR "69665" } { :back_translation "visiting" } true; local_#13776 := ~lshr32(local_#31479_i, local_#13775); assume { :LIR "72862" } { :back_translation "visiting" } true; local_#13777 := 511; assume { :LIR "68951" } { :back_translation "visiting" } true; local_#13778 := ~uand32(local_#13776, local_#13777); assume { :LIR "60670" } { :back_translation "visiting" } true; local_#13779 := local_#13778; assume { :LIR "60671" } { :back_translation "visiting" } true; local_#13780 := local_#13779; assume { :LIR "72863" } { :back_translation "visiting" } true; local_#13781 := -257; assume { :LIR "68952" } { :back_translation "visiting" } true; local_#13782 := ~sand32(local_#13780, local_#13781); assume { :LIR "67193" } { :back_translation "visiting" } true; local_#13783 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13782 * 16 }; assume { :LIR "53547" } { :back_translation "assignment" } true; local_#30668 := local_#13783; goto CFG_49664; CFG_49664: assume { :LIR "49664" } { :back_translation "block" } true; assume { :LIR "53548" } { :back_translation "assignment" } true; local_#31521_rc := local_#30668; assume { :LIR "72864" } { :back_translation "visiting" } true; local_#13784 := 19; assume { :LIR "64880" } { :back_translation "visiting" } true; assert { :LIR "139446" } { :check "null-dereference" } { :finding_ids "326,448,544,666" } local_#31520_rb != { base : 0, offset : 0 }; local_#13785 := (if _memory[{ base : local_#31520_rb!base, offset : local_#31520_rb!offset + 8 }] == local_#13784 then 1 else 0); if (local_#13785 != 0) { assume { :LIR "49665" } { :back_translation "taking-then-branch" } true; goto CFG_49665; } else { assume { :LIR "49666" } { :back_translation "taking-else-branch" } true; goto CFG_49666; } CFG_49665: assume { :LIR "49665" } { :back_translation "block" } true; assume { :LIR "72865" } { :back_translation "visiting" } true; local_#13786 := 19; assume { :LIR "64881" } { :back_translation "visiting" } true; assert { :LIR "139447" } { :check "null-dereference" } { :finding_ids "322,449,545,667" } local_#31521_rc != { base : 0, offset : 0 }; local_#13787 := (if _memory[{ base : local_#31521_rc!base, offset : local_#31521_rc!offset + 8 }] == local_#13786 then 1 else 0); if (local_#13787 != 0) { assume { :LIR "40243" } { :back_translation "taking-then-branch" } true; goto CFG_40243; } else { assume { :LIR "49666" } { :back_translation "taking-else-branch" } true; goto CFG_49666; } CFG_49666: assume { :LIR "49666" } { :back_translation "block" } true; assume { :LIR "72866" } { :back_translation "visiting" } true; local_#13788 := 3; assume { :LIR "64882" } { :back_translation "visiting" } true; local_#13789 := (if _memory[{ base : local_#31520_rb!base, offset : local_#31520_rb!offset + 8 }] == local_#13788 then 1 else 0); if (local_#13789 != 0) { assume { :LIR "49668" } { :back_translation "taking-then-branch" } true; goto CFG_49668; } else { assume { :LIR "42483" } { :back_translation "taking-else-branch" } true; goto CFG_42483; } CFG_42483: assume { :LIR "42483" } { :back_translation "block" } true; assume { :LIR "62561" } { :back_translation "visiting" } true; local_#13790 := local_#31520_rb; assume { :LIR "53549" } { :back_translation "assignment" } true; local_#13791 := local_#31518_nb; goto CFG_45941; CFG_45941: assume { :LIR "45941" } { :back_translation "block" } true; assume { :LIR "79478" } { :back_translation "visiting" } true; call local_#13792 := routine_#33904_luaV_tonumber_(local_#13790,local_#13791); goto CFG_49667; CFG_49667: assume { :LIR "49667" } { :back_translation "block" } true; assume { :LIR "53550" } { :back_translation "assignment" } true; local_#13793 := local_#13792; if (local_#13793 != 0) { assume { :LIR "49669" } { :back_translation "taking-then-branch" } true; goto CFG_49669; } else { assume { :LIR "42485" } { :back_translation "taking-else-branch" } true; goto CFG_42485; } CFG_49668: assume { :LIR "49668" } { :back_translation "block" } true; assume { :LIR "53551" } { :back_translation "assignment" } true; local_#13794 := { base : local_#31520_rb!base, offset : local_#31520_rb!offset + 0 }; assume { :LIR "53552" } { :back_translation "assignment" } true; havoc nondet_#69; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53553" } { :back_translation "assignment" } true; havoc nondet_#70; local_#13795 := nondet_#70 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72867" } { :back_translation "visiting" } true; local_#13796 := 1; if (local_#13796 != 0) { assume { :LIR "49669" } { :back_translation "taking-then-branch" } true; goto CFG_49669; } else { assume { :LIR "42485" } { :back_translation "taking-else-branch" } true; goto CFG_42485; } CFG_49669: assume { :LIR "49669" } { :back_translation "block" } true; assume { :LIR "72868" } { :back_translation "visiting" } true; local_#13797 := 3; assume { :LIR "64883" } { :back_translation "visiting" } true; assert { :LIR "139449" } { :check "null-dereference" } { :finding_ids "323,450,546,668" } local_#31521_rc != { base : 0, offset : 0 }; local_#13798 := (if _memory[{ base : local_#31521_rc!base, offset : local_#31521_rc!offset + 8 }] == local_#13797 then 1 else 0); if (local_#13798 != 0) { assume { :LIR "49671" } { :back_translation "taking-then-branch" } true; goto CFG_49671; } else { assume { :LIR "42484" } { :back_translation "taking-else-branch" } true; goto CFG_42484; } CFG_42484: assume { :LIR "42484" } { :back_translation "block" } true; assume { :LIR "62562" } { :back_translation "visiting" } true; local_#13799 := local_#31521_rc; assume { :LIR "53554" } { :back_translation "assignment" } true; local_#13800 := local_#31519_nc; goto CFG_45942; CFG_45942: assume { :LIR "45942" } { :back_translation "block" } true; assume { :LIR "79479" } { :back_translation "visiting" } true; call local_#13801 := routine_#33904_luaV_tonumber_(local_#13799,local_#13800); goto CFG_49670; CFG_49670: assume { :LIR "49670" } { :back_translation "block" } true; assume { :LIR "53555" } { :back_translation "assignment" } true; local_#13802 := local_#13801; if (local_#13802 != 0) { assume { :LIR "40241" } { :back_translation "taking-then-branch" } true; goto CFG_40241; } else { assume { :LIR "42485" } { :back_translation "taking-else-branch" } true; goto CFG_42485; } CFG_49671: assume { :LIR "49671" } { :back_translation "block" } true; assume { :LIR "53556" } { :back_translation "assignment" } true; local_#13803 := { base : local_#31521_rc!base, offset : local_#31521_rc!offset + 0 }; assume { :LIR "53557" } { :back_translation "assignment" } true; havoc nondet_#71; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "53558" } { :back_translation "assignment" } true; havoc nondet_#72; local_#13804 := nondet_#72 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "72869" } { :back_translation "visiting" } true; local_#13805 := 1; if (local_#13805 != 0) { assume { :LIR "40241" } { :back_translation "taking-then-branch" } true; goto CFG_40241; } else { assume { :LIR "42485" } { :back_translation "taking-else-branch" } true; goto CFG_42485; } CFG_42485: assume { :LIR "42485" } { :back_translation "block" } true; assume { :LIR "62563" } { :back_translation "visiting" } true; local_#13806 := local_#31520_rb; assume { :LIR "62564" } { :back_translation "visiting" } true; local_#13807 := local_#31521_rc; assume { :LIR "72870" } { :back_translation "visiting" } true; local_#13808 := 6; goto CFG_45943; CFG_45943: assume { :LIR "45943" } { :back_translation "block" } true; assume { :LIR "79480" } { :back_translation "visiting" } true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13806,local_#13807,local_#31480_ra,local_#13808); goto CFG_40240; CFG_40240: assume { :LIR "40240" } { :back_translation "block" } true; assume { :LIR "53559" } { :back_translation "assignment" } true; local_#13809 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53560" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13809!base, offset : local_#13809!offset + 0 }]; goto CFG_40242; CFG_40241: assume { :LIR "40241" } { :back_translation "block" } true; assume { :LIR "53561" } { :back_translation "assignment" } true; local_#31525_io := local_#31480_ra; assume { :LIR "66469" } { :back_translation "visiting" } true; havoc nondet_#73; havoc nondet_#74; havoc nondet_#75; local_#13810 := nondet_#75 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66469. */; assume { :LIR "53562" } { :back_translation "assignment" } true; local_#13811 := { base : local_#31525_io!base, offset : local_#31525_io!offset + 0 }; assume { :LIR "53563" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "72871" } { :back_translation "visiting" } true; _memory[{ base : local_#31525_io!base, offset : local_#31525_io!offset + 8 }] := 3; goto CFG_40242; CFG_40242: assume { :LIR "40242" } { :back_translation "block" } true; goto CFG_39537; CFG_40243: assume { :LIR "40243" } { :back_translation "block" } true; assume { :LIR "53564" } { :back_translation "assignment" } true; local_#13812 := { base : local_#31520_rb!base, offset : local_#31520_rb!offset + 0 }; assume { :LIR "53565" } { :back_translation "assignment" } true; local_#31522_ib := _memory[local_#13812]; assume { :LIR "53566" } { :back_translation "assignment" } true; local_#13813 := { base : local_#31521_rc!base, offset : local_#31521_rc!offset + 0 }; assume { :LIR "53567" } { :back_translation "assignment" } true; local_#31523_ic := _memory[local_#13813]; assume { :LIR "53568" } { :back_translation "assignment" } true; local_#31524_io := local_#31480_ra; assume { :LIR "60672" } { :back_translation "visiting" } true; local_#13814 := ~uwrap64(local_#31522_ib); assume { :LIR "60673" } { :back_translation "visiting" } true; local_#13815 := ~uwrap64(local_#31523_ic); assume { :LIR "66470" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#13816 := ~uwrap64(local_#13814 + local_#13815); assume { :LIR "60674" } { :back_translation "visiting" } true; local_#13817 := local_#13816; assume { :LIR "53569" } { :back_translation "assignment" } true; local_#13818 := { base : local_#31524_io!base, offset : local_#31524_io!offset + 0 }; assume { :LIR "53570" } { :back_translation "assignment" } true; _memory[local_#13818] := local_#13817; assume { :LIR "72872" } { :back_translation "visiting" } true; _memory[{ base : local_#31524_io!base, offset : local_#31524_io!offset + 8 }] := 19; goto CFG_39537; CFG_39537: assume { :LIR "39537" } { :back_translation "block" } true; goto CFG_45008; CFG_49672: assume { :LIR "49672" } { :back_translation "block" } true; assume { :LIR "72873" } { :back_translation "visiting" } true; local_#13819 := 23; assume { :LIR "69666" } { :back_translation "visiting" } true; local_#13820 := ~lshr32(local_#31479_i, local_#13819); assume { :LIR "72874" } { :back_translation "visiting" } true; local_#13821 := 511; assume { :LIR "68953" } { :back_translation "visiting" } true; local_#13822 := ~uand32(local_#13820, local_#13821); assume { :LIR "60675" } { :back_translation "visiting" } true; local_#13823 := local_#13822; assume { :LIR "67194" } { :back_translation "visiting" } true; local_#13824 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13823 * 16 }; assume { :LIR "53571" } { :back_translation "assignment" } true; local_#31514_rb := local_#13824; assume { :LIR "72875" } { :back_translation "visiting" } true; local_#13825 := 14; assume { :LIR "69667" } { :back_translation "visiting" } true; local_#13826 := ~lshr32(local_#31479_i, local_#13825); assume { :LIR "72876" } { :back_translation "visiting" } true; local_#13827 := 511; assume { :LIR "68954" } { :back_translation "visiting" } true; local_#13828 := ~uand32(local_#13826, local_#13827); assume { :LIR "60676" } { :back_translation "visiting" } true; local_#13829 := local_#13828; assume { :LIR "72877" } { :back_translation "visiting" } true; local_#13830 := 256; assume { :LIR "68955" } { :back_translation "visiting" } true; local_#13831 := ~sand32(local_#13829, local_#13830); if (local_#13831 != 0) { assume { :LIR "40245" } { :back_translation "taking-then-branch" } true; goto CFG_40245; } else { assume { :LIR "40244" } { :back_translation "taking-else-branch" } true; goto CFG_40244; } CFG_40244: assume { :LIR "40244" } { :back_translation "block" } true; assume { :LIR "72878" } { :back_translation "visiting" } true; local_#13832 := 14; assume { :LIR "69668" } { :back_translation "visiting" } true; local_#13833 := ~lshr32(local_#31479_i, local_#13832); assume { :LIR "72879" } { :back_translation "visiting" } true; local_#13834 := 511; assume { :LIR "68956" } { :back_translation "visiting" } true; local_#13835 := ~uand32(local_#13833, local_#13834); assume { :LIR "60677" } { :back_translation "visiting" } true; local_#13836 := local_#13835; assume { :LIR "67195" } { :back_translation "visiting" } true; local_#13837 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13836 * 16 }; assume { :LIR "53572" } { :back_translation "assignment" } true; local_#30669 := local_#13837; goto CFG_49673; CFG_40245: assume { :LIR "40245" } { :back_translation "block" } true; assume { :LIR "72880" } { :back_translation "visiting" } true; local_#13838 := 14; assume { :LIR "69669" } { :back_translation "visiting" } true; local_#13839 := ~lshr32(local_#31479_i, local_#13838); assume { :LIR "72881" } { :back_translation "visiting" } true; local_#13840 := 511; assume { :LIR "68957" } { :back_translation "visiting" } true; local_#13841 := ~uand32(local_#13839, local_#13840); assume { :LIR "60678" } { :back_translation "visiting" } true; local_#13842 := local_#13841; assume { :LIR "60679" } { :back_translation "visiting" } true; local_#13843 := local_#13842; assume { :LIR "72882" } { :back_translation "visiting" } true; local_#13844 := -257; assume { :LIR "68958" } { :back_translation "visiting" } true; local_#13845 := ~sand32(local_#13843, local_#13844); assume { :LIR "67196" } { :back_translation "visiting" } true; local_#13846 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13845 * 16 }; assume { :LIR "53573" } { :back_translation "assignment" } true; local_#30669 := local_#13846; goto CFG_49673; CFG_49673: assume { :LIR "49673" } { :back_translation "block" } true; assume { :LIR "53574" } { :back_translation "assignment" } true; local_#31515_rc := local_#30669; assume { :LIR "53575" } { :back_translation "assignment" } true; local_#13847 := { base : local_#31515_rc!base, offset : local_#31515_rc!offset + 0 }; assume { :LIR "60680" } { :back_translation "visiting" } true; local_#13848 := _memory_ptr[local_#13847]; assume { :LIR "53576" } { :back_translation "assignment" } true; local_#13849 := { base : local_#13848!base, offset : local_#13848!offset + 0 }; assume { :LIR "53577" } { :back_translation "assignment" } true; local_#31513_key := local_#13849; assume { :LIR "72883" } { :back_translation "visiting" } true; local_#13850 := 1; assume { :LIR "67197" } { :back_translation "visiting" } true; local_#13851 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#13850 * 16 }; assume { :LIR "53578" } { :back_translation "assignment" } true; local_#31516_io1 := local_#13851; assume { :LIR "53579" } { :back_translation "assignment" } true; assert { :LIR "137578" } { :check "null-dereference" } { :finding_ids "193,465,599,835" } local_#31514_rb != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_b == _memory[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_f == _memory_ptr[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_gc == _memory_ptr[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_i == _memory[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_p == _memory_ptr[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_tt_ == _memory[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 8 }]; assert { :LIR "138430" } { :check "null-dereference" } { :finding_ids "191,601,729,837" } local_#31516_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31516_io1,read_type_#101(_memory, _memory_ptr, local_#31514_rb)); assume { :LIR "60681" } { :back_translation "visiting" } true; local_#13852 := 0; assume { :LIR "72884" } { :back_translation "visiting" } true; local_#13853 := 0; assume { :LIR "60682" } { :back_translation "visiting" } true; local_#13854 := 0; assume { :LIR "72885" } { :back_translation "visiting" } true; local_#13855 := 69; assume { :LIR "64884" } { :back_translation "visiting" } true; local_#13856 := (if _memory[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 8 }] == local_#13855 then 1 else 0); assume { :LIR "64516" } { :back_translation "visiting" } true; local_#13857 := (if local_#13856 != 0 then 0 else 1); if (local_#13857 != 0) { assume { :LIR "49675" } { :back_translation "taking-then-branch" } true; goto CFG_49675; } else { assume { :LIR "42486" } { :back_translation "taking-else-branch" } true; goto CFG_42486; } CFG_42486: assume { :LIR "42486" } { :back_translation "block" } true; assume { :LIR "53580" } { :back_translation "assignment" } true; local_#13858 := { base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 }; assume { :LIR "60683" } { :back_translation "visiting" } true; local_#13859 := _memory_ptr[local_#13858]; assume { :LIR "53581" } { :back_translation "assignment" } true; local_#13860 := { base : local_#13859!base, offset : local_#13859!offset + 0 }; goto CFG_45944; CFG_45944: assume { :LIR "45944" } { :back_translation "block" } true; assume { :LIR "79481" } { :back_translation "visiting" } true; call local_#13861 := routine_#33771_luaH_getstr(local_#13860,local_#31513_key); goto CFG_49674; CFG_49674: assume { :LIR "49674" } { :back_translation "block" } true; assume { :LIR "53582" } { :back_translation "assignment" } true; local_#31512_aux := local_#13861; assume { :LIR "53583" } { :back_translation "assignment" } true; local_#13862 := local_#31512_aux; assume { :LIR "72886" } { :back_translation "visiting" } true; local_#13863 := 0; assume { :LIR "64885" } { :back_translation "visiting" } true; local_#13864 := (if _memory[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 8 }] == local_#13863 then 1 else 0); assume { :LIR "64517" } { :back_translation "visiting" } true; local_#13865 := (if local_#13864 != 0 then 0 else 1); assume { :LIR "53584" } { :back_translation "assignment" } true; local_#13866 := local_#13865; if (local_#13866 != 0) { assume { :LIR "40247" } { :back_translation "taking-then-branch" } true; goto CFG_40247; } else { assume { :LIR "42487" } { :back_translation "taking-else-branch" } true; goto CFG_42487; } CFG_49675: assume { :LIR "49675" } { :back_translation "block" } true; assume { :LIR "69841" } { :back_translation "visiting" } true; local_#31512_aux := { base : 0, offset : 0 }; assume { :LIR "53585" } { :back_translation "assignment" } true; local_#13867 := local_#31512_aux; assume { :LIR "72887" } { :back_translation "visiting" } true; local_#13868 := 0; if (local_#13868 != 0) { assume { :LIR "40247" } { :back_translation "taking-then-branch" } true; goto CFG_40247; } else { assume { :LIR "42487" } { :back_translation "taking-else-branch" } true; goto CFG_42487; } CFG_42487: assume { :LIR "42487" } { :back_translation "block" } true; assume { :LIR "62565" } { :back_translation "visiting" } true; local_#13869 := local_#31514_rb; goto CFG_45945; CFG_45945: assume { :LIR "45945" } { :back_translation "block" } true; assume { :LIR "79482" } { :back_translation "visiting" } true; call routine_#33896_luaV_finishget(local_#4189_L,local_#13869,local_#31515_rc,local_#31480_ra,local_#31512_aux); goto CFG_40246; CFG_40246: assume { :LIR "40246" } { :back_translation "block" } true; assume { :LIR "53586" } { :back_translation "assignment" } true; local_#13870 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53587" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13870!base, offset : local_#13870!offset + 0 }]; goto CFG_39538; CFG_40247: assume { :LIR "40247" } { :back_translation "block" } true; assume { :LIR "53588" } { :back_translation "assignment" } true; local_#31517_io1 := local_#31480_ra; assume { :LIR "53589" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_b == _memory[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_f == _memory_ptr[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_gc == _memory_ptr[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_i == _memory[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_p == _memory_ptr[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_tt_ == _memory[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 8 }]; assert { :LIR "138431" } { :check "null-dereference" } { :finding_ids "114,132,249,713" } local_#31517_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31517_io1,read_type_#101(_memory, _memory_ptr, local_#31512_aux)); assume { :LIR "60684" } { :back_translation "visiting" } true; local_#13871 := 0; assume { :LIR "72888" } { :back_translation "visiting" } true; local_#13872 := 0; assume { :LIR "60685" } { :back_translation "visiting" } true; local_#13873 := 0; goto CFG_39538; CFG_39538: assume { :LIR "39538" } { :back_translation "block" } true; goto CFG_45008; CFG_42488: assume { :LIR "42488" } { :back_translation "block" } true; assume { :LIR "72889" } { :back_translation "visiting" } true; local_#13874 := 23; assume { :LIR "69670" } { :back_translation "visiting" } true; local_#13875 := ~lshr32(local_#31479_i, local_#13874); assume { :LIR "72890" } { :back_translation "visiting" } true; local_#13876 := 511; assume { :LIR "68959" } { :back_translation "visiting" } true; local_#13877 := ~uand32(local_#13875, local_#13876); assume { :LIR "60686" } { :back_translation "visiting" } true; local_#13878 := local_#13877; assume { :LIR "53590" } { :back_translation "assignment" } true; local_#31507_b := local_#13878; assume { :LIR "72891" } { :back_translation "visiting" } true; local_#13879 := 14; assume { :LIR "69671" } { :back_translation "visiting" } true; local_#13880 := ~lshr32(local_#31479_i, local_#13879); assume { :LIR "72892" } { :back_translation "visiting" } true; local_#13881 := 511; assume { :LIR "68960" } { :back_translation "visiting" } true; local_#13882 := ~uand32(local_#13880, local_#13881); assume { :LIR "60687" } { :back_translation "visiting" } true; local_#13883 := local_#13882; assume { :LIR "53591" } { :back_translation "assignment" } true; local_#31508_c := local_#13883; goto CFG_45946; CFG_45946: assume { :LIR "45946" } { :back_translation "block" } true; assume { :LIR "79483" } { :back_translation "visiting" } true; call local_#13884 := routine_#33772_luaH_new(local_#4189_L); goto CFG_49676; CFG_49676: assume { :LIR "49676" } { :back_translation "block" } true; assume { :LIR "53592" } { :back_translation "assignment" } true; local_#31509_t := local_#13884; assume { :LIR "53593" } { :back_translation "assignment" } true; local_#31510_io := local_#31480_ra; assume { :LIR "53594" } { :back_translation "assignment" } true; local_#31511_x_ := local_#31509_t; assume { :LIR "60688" } { :back_translation "visiting" } true; local_#13885 := local_#31511_x_; assume { :LIR "53595" } { :back_translation "assignment" } true; local_#13886 := { base : local_#13885!base, offset : local_#13885!offset + 0 }; assume { :LIR "53596" } { :back_translation "assignment" } true; local_#13887 := { base : local_#31510_io!base, offset : local_#31510_io!offset + 0 }; assume { :LIR "53597" } { :back_translation "assignment" } true; _memory_ptr[local_#13887] := local_#13886; assume { :LIR "72893" } { :back_translation "visiting" } true; _memory[{ base : local_#31510_io!base, offset : local_#31510_io!offset + 8 }] := 69; assume { :LIR "72894" } { :back_translation "visiting" } true; local_#13888 := 0; assume { :LIR "60689" } { :back_translation "visiting" } true; local_#13889 := 0; assume { :LIR "72895" } { :back_translation "visiting" } true; local_#13890 := 0; assume { :LIR "65496" } { :back_translation "visiting" } true; local_#13891 := (if local_#31507_b != local_#13890 then 1 else 0); if (local_#13891 != 0) { assume { :LIR "45947" } { :back_translation "taking-then-branch" } true; goto CFG_45947; } else { assume { :LIR "49677" } { :back_translation "taking-else-branch" } true; goto CFG_49677; } CFG_49677: assume { :LIR "49677" } { :back_translation "block" } true; assume { :LIR "72896" } { :back_translation "visiting" } true; local_#13892 := 0; assume { :LIR "65497" } { :back_translation "visiting" } true; local_#13893 := (if local_#31508_c != local_#13892 then 1 else 0); if (local_#13893 != 0) { assume { :LIR "45947" } { :back_translation "taking-then-branch" } true; goto CFG_45947; } else { assume { :LIR "49678" } { :back_translation "taking-else-branch" } true; goto CFG_49678; } CFG_45947: assume { :LIR "45947" } { :back_translation "block" } true; assume { :LIR "79484" } { :back_translation "visiting" } true; call local_#13894 := routine_#33862_luaO_fb2int(local_#31507_b); goto CFG_42489; CFG_42489: assume { :LIR "42489" } { :back_translation "block" } true; assume { :LIR "62566" } { :back_translation "visiting" } true; local_#13895 := ~uwrap32(local_#13894); goto CFG_45948; CFG_45948: assume { :LIR "45948" } { :back_translation "block" } true; assume { :LIR "79485" } { :back_translation "visiting" } true; call local_#13896 := routine_#33862_luaO_fb2int(local_#31508_c); goto CFG_42490; CFG_42490: assume { :LIR "42490" } { :back_translation "block" } true; assume { :LIR "62567" } { :back_translation "visiting" } true; local_#13897 := ~uwrap32(local_#13896); goto CFG_45949; CFG_45949: assume { :LIR "45949" } { :back_translation "block" } true; assume { :LIR "79486" } { :back_translation "visiting" } true; call routine_#33775_luaH_resize(local_#4189_L,local_#31509_t,local_#13895,local_#13897); goto CFG_40248; CFG_40248: assume { :LIR "40248" } { :back_translation "block" } true; goto CFG_49678; CFG_49678: assume { :LIR "49678" } { :back_translation "block" } true; assume { :LIR "53598" } { :back_translation "assignment" } true; local_#13898 := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 24 }]; assume { :LIR "72897" } { :back_translation "visiting" } true; local_#13899 := 0; assume { :LIR "65818" } { :back_translation "visiting" } true; assert { :LIR "139455" } { :check "null-dereference" } { :finding_ids "12,623,744,859" } local_#13898 != { base : 0, offset : 0 }; local_#13900 := (if _memory[{ base : local_#13898!base, offset : local_#13898!offset + 24 }] > local_#13899 then 1 else 0); if (local_#13900 != 0) { assume { :LIR "42491" } { :back_translation "taking-then-branch" } true; goto CFG_42491; } else { assume { :LIR "39539" } { :back_translation "taking-else-branch" } true; goto CFG_39539; } CFG_42491: assume { :LIR "42491" } { :back_translation "block" } true; assume { :LIR "72898" } { :back_translation "visiting" } true; local_#13901 := 1; assume { :LIR "67198" } { :back_translation "visiting" } true; local_#13902 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#13901 * 16 }; assume { :LIR "53599" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#13902; goto CFG_45950; CFG_45950: assume { :LIR "45950" } { :back_translation "block" } true; assume { :LIR "79487" } { :back_translation "visiting" } true; call routine_#33728_luaC_step(local_#4189_L); goto CFG_40249; CFG_40249: assume { :LIR "40249" } { :back_translation "block" } true; assume { :LIR "53600" } { :back_translation "assignment" } true; assert { :LIR "139456" } { :check "null-dereference" } { :finding_ids "77,343,418,514" } local_#31476_ci != { base : 0, offset : 0 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; assume { :LIR "53601" } { :back_translation "assignment" } true; local_#13903 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53602" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13903!base, offset : local_#13903!offset + 0 }]; goto CFG_39539; CFG_39539: assume { :LIR "39539" } { :back_translation "block" } true; assume { :LIR "72899" } { :back_translation "visiting" } true; local_#13904 := 0; assume { :LIR "60690" } { :back_translation "visiting" } true; local_#13905 := 0; assume { :LIR "72900" } { :back_translation "visiting" } true; local_#13906 := 0; assume { :LIR "60691" } { :back_translation "visiting" } true; local_#13907 := 0; assume { :LIR "72901" } { :back_translation "visiting" } true; local_#13908 := 0; assume { :LIR "60692" } { :back_translation "visiting" } true; local_#13909 := 0; goto CFG_45008; CFG_49679: assume { :LIR "49679" } { :back_translation "block" } true; assume { :LIR "72902" } { :back_translation "visiting" } true; local_#13910 := 23; assume { :LIR "69672" } { :back_translation "visiting" } true; local_#13911 := ~lshr32(local_#31479_i, local_#13910); assume { :LIR "72903" } { :back_translation "visiting" } true; local_#13912 := 511; assume { :LIR "68961" } { :back_translation "visiting" } true; local_#13913 := ~uand32(local_#13911, local_#13912); assume { :LIR "60693" } { :back_translation "visiting" } true; local_#13914 := local_#13913; assume { :LIR "72904" } { :back_translation "visiting" } true; local_#13915 := 256; assume { :LIR "68962" } { :back_translation "visiting" } true; local_#13916 := ~sand32(local_#13914, local_#13915); if (local_#13916 != 0) { assume { :LIR "40251" } { :back_translation "taking-then-branch" } true; goto CFG_40251; } else { assume { :LIR "40250" } { :back_translation "taking-else-branch" } true; goto CFG_40250; } CFG_40250: assume { :LIR "40250" } { :back_translation "block" } true; assume { :LIR "72905" } { :back_translation "visiting" } true; local_#13917 := 23; assume { :LIR "69673" } { :back_translation "visiting" } true; local_#13918 := ~lshr32(local_#31479_i, local_#13917); assume { :LIR "72906" } { :back_translation "visiting" } true; local_#13919 := 511; assume { :LIR "68963" } { :back_translation "visiting" } true; local_#13920 := ~uand32(local_#13918, local_#13919); assume { :LIR "60694" } { :back_translation "visiting" } true; local_#13921 := local_#13920; assume { :LIR "67199" } { :back_translation "visiting" } true; local_#13922 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13921 * 16 }; assume { :LIR "53603" } { :back_translation "assignment" } true; local_#30670 := local_#13922; goto CFG_49680; CFG_40251: assume { :LIR "40251" } { :back_translation "block" } true; assume { :LIR "72907" } { :back_translation "visiting" } true; local_#13923 := 23; assume { :LIR "69674" } { :back_translation "visiting" } true; local_#13924 := ~lshr32(local_#31479_i, local_#13923); assume { :LIR "72908" } { :back_translation "visiting" } true; local_#13925 := 511; assume { :LIR "68964" } { :back_translation "visiting" } true; local_#13926 := ~uand32(local_#13924, local_#13925); assume { :LIR "60695" } { :back_translation "visiting" } true; local_#13927 := local_#13926; assume { :LIR "60696" } { :back_translation "visiting" } true; local_#13928 := local_#13927; assume { :LIR "72909" } { :back_translation "visiting" } true; local_#13929 := -257; assume { :LIR "68965" } { :back_translation "visiting" } true; local_#13930 := ~sand32(local_#13928, local_#13929); assume { :LIR "67200" } { :back_translation "visiting" } true; local_#13931 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13930 * 16 }; assume { :LIR "53604" } { :back_translation "assignment" } true; local_#30670 := local_#13931; goto CFG_49680; CFG_49680: assume { :LIR "49680" } { :back_translation "block" } true; assume { :LIR "53605" } { :back_translation "assignment" } true; local_#31504_rb := local_#30670; assume { :LIR "72910" } { :back_translation "visiting" } true; local_#13932 := 14; assume { :LIR "69675" } { :back_translation "visiting" } true; local_#13933 := ~lshr32(local_#31479_i, local_#13932); assume { :LIR "72911" } { :back_translation "visiting" } true; local_#13934 := 511; assume { :LIR "68966" } { :back_translation "visiting" } true; local_#13935 := ~uand32(local_#13933, local_#13934); assume { :LIR "60697" } { :back_translation "visiting" } true; local_#13936 := local_#13935; assume { :LIR "72912" } { :back_translation "visiting" } true; local_#13937 := 256; assume { :LIR "68967" } { :back_translation "visiting" } true; local_#13938 := ~sand32(local_#13936, local_#13937); if (local_#13938 != 0) { assume { :LIR "40253" } { :back_translation "taking-then-branch" } true; goto CFG_40253; } else { assume { :LIR "40252" } { :back_translation "taking-else-branch" } true; goto CFG_40252; } CFG_40252: assume { :LIR "40252" } { :back_translation "block" } true; assume { :LIR "72913" } { :back_translation "visiting" } true; local_#13939 := 14; assume { :LIR "69676" } { :back_translation "visiting" } true; local_#13940 := ~lshr32(local_#31479_i, local_#13939); assume { :LIR "72914" } { :back_translation "visiting" } true; local_#13941 := 511; assume { :LIR "68968" } { :back_translation "visiting" } true; local_#13942 := ~uand32(local_#13940, local_#13941); assume { :LIR "60698" } { :back_translation "visiting" } true; local_#13943 := local_#13942; assume { :LIR "67201" } { :back_translation "visiting" } true; local_#13944 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13943 * 16 }; assume { :LIR "53606" } { :back_translation "assignment" } true; local_#30671 := local_#13944; goto CFG_49681; CFG_40253: assume { :LIR "40253" } { :back_translation "block" } true; assume { :LIR "72915" } { :back_translation "visiting" } true; local_#13945 := 14; assume { :LIR "69677" } { :back_translation "visiting" } true; local_#13946 := ~lshr32(local_#31479_i, local_#13945); assume { :LIR "72916" } { :back_translation "visiting" } true; local_#13947 := 511; assume { :LIR "68969" } { :back_translation "visiting" } true; local_#13948 := ~uand32(local_#13946, local_#13947); assume { :LIR "60699" } { :back_translation "visiting" } true; local_#13949 := local_#13948; assume { :LIR "60700" } { :back_translation "visiting" } true; local_#13950 := local_#13949; assume { :LIR "72917" } { :back_translation "visiting" } true; local_#13951 := -257; assume { :LIR "68970" } { :back_translation "visiting" } true; local_#13952 := ~sand32(local_#13950, local_#13951); assume { :LIR "67202" } { :back_translation "visiting" } true; local_#13953 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13952 * 16 }; assume { :LIR "53607" } { :back_translation "assignment" } true; local_#30671 := local_#13953; goto CFG_49681; CFG_49681: assume { :LIR "49681" } { :back_translation "block" } true; assume { :LIR "53608" } { :back_translation "assignment" } true; local_#31505_rc := local_#30671; assume { :LIR "72918" } { :back_translation "visiting" } true; local_#13954 := 69; assume { :LIR "64886" } { :back_translation "visiting" } true; assert { :LIR "139458" } { :check "null-dereference" } { :finding_ids "125,177,260,724" } local_#31480_ra != { base : 0, offset : 0 }; local_#13955 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#13954 then 1 else 0); assume { :LIR "64518" } { :back_translation "visiting" } true; local_#13956 := (if local_#13955 != 0 then 0 else 1); if (local_#13956 != 0) { assume { :LIR "49687" } { :back_translation "taking-then-branch" } true; goto CFG_49687; } else { assume { :LIR "42492" } { :back_translation "taking-else-branch" } true; goto CFG_42492; } CFG_42492: assume { :LIR "42492" } { :back_translation "block" } true; assume { :LIR "53609" } { :back_translation "assignment" } true; local_#13957 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; assume { :LIR "60701" } { :back_translation "visiting" } true; local_#13958 := _memory_ptr[local_#13957]; assume { :LIR "53610" } { :back_translation "assignment" } true; local_#13959 := { base : local_#13958!base, offset : local_#13958!offset + 0 }; assume { :LIR "62568" } { :back_translation "visiting" } true; local_#13960 := local_#31504_rb; goto CFG_45951; CFG_45951: assume { :LIR "45951" } { :back_translation "block" } true; assume { :LIR "79488" } { :back_translation "visiting" } true; call local_#13961 := routine_#33767_luaH_get(local_#13959,local_#13960); goto CFG_49682; CFG_49682: assume { :LIR "49682" } { :back_translation "block" } true; assume { :LIR "53611" } { :back_translation "assignment" } true; local_#31506_slot := local_#13961; assume { :LIR "53612" } { :back_translation "assignment" } true; local_#13962 := local_#31506_slot; assume { :LIR "72919" } { :back_translation "visiting" } true; local_#13963 := 0; assume { :LIR "64887" } { :back_translation "visiting" } true; assert { :LIR "139459" } { :check "null-dereference" } { :finding_ids "170,271,567,803" } local_#31506_slot != { base : 0, offset : 0 }; local_#13964 := (if _memory[{ base : local_#31506_slot!base, offset : local_#31506_slot!offset + 8 }] == local_#13963 then 1 else 0); if (local_#13964 != 0) { assume { :LIR "40257" } { :back_translation "taking-then-branch" } true; goto CFG_40257; } else { assume { :LIR "49683" } { :back_translation "taking-else-branch" } true; goto CFG_49683; } CFG_49683: assume { :LIR "49683" } { :back_translation "block" } true; assume { :LIR "72920" } { :back_translation "visiting" } true; local_#13965 := 64; assume { :LIR "68971" } { :back_translation "visiting" } true; assert { :LIR "139460" } { :check "null-dereference" } { :finding_ids "320,452,548,670" } local_#31505_rc != { base : 0, offset : 0 }; local_#13966 := ~sand32(_memory[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 8 }], local_#13965); if (local_#13966 != 0) { assume { :LIR "49684" } { :back_translation "taking-then-branch" } true; goto CFG_49684; } else { assume { :LIR "40254" } { :back_translation "taking-else-branch" } true; goto CFG_40254; } CFG_49684: assume { :LIR "49684" } { :back_translation "block" } true; assume { :LIR "53613" } { :back_translation "assignment" } true; local_#13967 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; assume { :LIR "60702" } { :back_translation "visiting" } true; local_#13968 := _memory_ptr[local_#13967]; assume { :LIR "53614" } { :back_translation "assignment" } true; local_#13969 := { base : local_#13968!base, offset : local_#13968!offset + 0 }; assume { :LIR "62569" } { :back_translation "visiting" } true; local_#13970 := _memory[{ base : local_#13969!base, offset : local_#13969!offset + 9 }]; assume { :LIR "72921" } { :back_translation "visiting" } true; local_#13971 := 4; assume { :LIR "68972" } { :back_translation "visiting" } true; local_#13972 := ~sand32(local_#13970, local_#13971); if (local_#13972 != 0) { assume { :LIR "49685" } { :back_translation "taking-then-branch" } true; goto CFG_49685; } else { assume { :LIR "40254" } { :back_translation "taking-else-branch" } true; goto CFG_40254; } CFG_49685: assume { :LIR "49685" } { :back_translation "block" } true; assume { :LIR "53615" } { :back_translation "assignment" } true; local_#13973 := { base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 }; assume { :LIR "53616" } { :back_translation "assignment" } true; local_#13974 := _memory_ptr[local_#13973]; assume { :LIR "62570" } { :back_translation "visiting" } true; assert { :LIR "139462" } { :check "null-dereference" } { :finding_ids "214,312,459,680" } local_#13974 != { base : 0, offset : 0 }; local_#13975 := _memory[{ base : local_#13974!base, offset : local_#13974!offset + 9 }]; assume { :LIR "72922" } { :back_translation "visiting" } true; local_#13976 := 3; assume { :LIR "68973" } { :back_translation "visiting" } true; local_#13977 := ~sand32(local_#13975, local_#13976); if (local_#13977 != 0) { assume { :LIR "42493" } { :back_translation "taking-then-branch" } true; goto CFG_42493; } else { assume { :LIR "40254" } { :back_translation "taking-else-branch" } true; goto CFG_40254; } CFG_40254: assume { :LIR "40254" } { :back_translation "block" } true; assume { :LIR "72923" } { :back_translation "visiting" } true; local_#13978 := 0; assume { :LIR "60703" } { :back_translation "visiting" } true; local_#13979 := 0; goto CFG_40256; CFG_42493: assume { :LIR "42493" } { :back_translation "block" } true; assume { :LIR "53617" } { :back_translation "assignment" } true; local_#13980 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; assume { :LIR "60704" } { :back_translation "visiting" } true; local_#13981 := _memory_ptr[local_#13980]; assume { :LIR "53618" } { :back_translation "assignment" } true; local_#13982 := { base : local_#13981!base, offset : local_#13981!offset + 0 }; goto CFG_45952; CFG_45952: assume { :LIR "45952" } { :back_translation "block" } true; assume { :LIR "79489" } { :back_translation "visiting" } true; call routine_#33721_luaC_barrierback_(local_#4189_L,local_#13982); goto CFG_40255; CFG_40255: assume { :LIR "40255" } { :back_translation "block" } true; goto CFG_40256; CFG_40256: assume { :LIR "40256" } { :back_translation "block" } true; assume { :LIR "60705" } { :back_translation "visiting" } true; local_#13983 := 0; assume { :LIR "60706" } { :back_translation "visiting" } true; local_#13984 := local_#31506_slot; assume { :LIR "53619" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_b == _memory[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_f == _memory_ptr[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_gc == _memory_ptr[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_i == _memory[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_p == _memory_ptr[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_tt_ == _memory[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 8 }]; assert { :LIR "138433" } { :check "null-dereference" } { :finding_ids "131,606,735,842" } local_#13984 != { base : 0, offset : 0 }; call write_type_#101(local_#13984,read_type_#101(_memory, _memory_ptr, local_#31505_rc)); assume { :LIR "53620" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_b == _memory[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_f == _memory_ptr[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_gc == _memory_ptr[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_i == _memory[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_p == _memory_ptr[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#13984)!_tt_ == _memory[{ base : local_#13984!base, offset : local_#13984!offset + 8 }]; local_#13985 := read_type_#101(_memory, _memory_ptr, local_#13984); assume { :LIR "53621" } { :back_translation "assignment" } true; local_#13986 := local_#13985; assume { :LIR "72924" } { :back_translation "visiting" } true; local_#13987 := 0; assume { :LIR "60707" } { :back_translation "visiting" } true; local_#13988 := 0; assume { :LIR "72925" } { :back_translation "visiting" } true; local_#30672 := 1; goto CFG_49686; CFG_40257: assume { :LIR "40257" } { :back_translation "block" } true; assume { :LIR "72926" } { :back_translation "visiting" } true; local_#30672 := 0; goto CFG_49686; CFG_49686: assume { :LIR "49686" } { :back_translation "block" } true; assume { :LIR "53622" } { :back_translation "assignment" } true; local_#13989 := local_#30672; assume { :LIR "53623" } { :back_translation "assignment" } true; local_#13990 := local_#13989; if (local_#13990 != 0) { assume { :LIR "39540" } { :back_translation "taking-then-branch" } true; goto CFG_39540; } else { assume { :LIR "42494" } { :back_translation "taking-else-branch" } true; goto CFG_42494; } CFG_49687: assume { :LIR "49687" } { :back_translation "block" } true; assume { :LIR "69842" } { :back_translation "visiting" } true; local_#31506_slot := { base : 0, offset : 0 }; assume { :LIR "53624" } { :back_translation "assignment" } true; local_#13991 := local_#31506_slot; assume { :LIR "72927" } { :back_translation "visiting" } true; local_#13992 := 0; if (local_#13992 != 0) { assume { :LIR "39540" } { :back_translation "taking-then-branch" } true; goto CFG_39540; } else { assume { :LIR "42494" } { :back_translation "taking-else-branch" } true; goto CFG_42494; } CFG_42494: assume { :LIR "42494" } { :back_translation "block" } true; assume { :LIR "62571" } { :back_translation "visiting" } true; local_#13993 := local_#31480_ra; goto CFG_45953; CFG_45953: assume { :LIR "45953" } { :back_translation "block" } true; assume { :LIR "79490" } { :back_translation "visiting" } true; call routine_#33897_luaV_finishset(local_#4189_L,local_#13993,local_#31504_rb,local_#31505_rc,local_#31506_slot); goto CFG_40258; CFG_40258: assume { :LIR "40258" } { :back_translation "block" } true; assume { :LIR "53625" } { :back_translation "assignment" } true; local_#13994 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53626" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#13994!base, offset : local_#13994!offset + 0 }]; goto CFG_39540; CFG_39540: assume { :LIR "39540" } { :back_translation "block" } true; goto CFG_45008; CFG_49688: assume { :LIR "49688" } { :back_translation "block" } true; assume { :LIR "53627" } { :back_translation "assignment" } true; local_#13995 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; assume { :LIR "72928" } { :back_translation "visiting" } true; local_#13996 := 23; assume { :LIR "69678" } { :back_translation "visiting" } true; local_#13997 := ~lshr32(local_#31479_i, local_#13996); assume { :LIR "72929" } { :back_translation "visiting" } true; local_#13998 := 511; assume { :LIR "68974" } { :back_translation "visiting" } true; local_#13999 := ~uand32(local_#13997, local_#13998); assume { :LIR "60708" } { :back_translation "visiting" } true; local_#14000 := local_#13999; assume { :LIR "67203" } { :back_translation "visiting" } true; local_#14001 := { base : local_#13995!base, offset : local_#13995!offset + 0 * 8 + local_#14000 * 8 }; assume { :LIR "53628" } { :back_translation "assignment" } true; local_#31502_uv := _memory_ptr[local_#14001]; assume { :LIR "53629" } { :back_translation "assignment" } true; assert { :LIR "139464" } { :check "null-dereference" } { :finding_ids "13,624,745,860" } local_#31502_uv != { base : 0, offset : 0 }; local_#31503_io1 := _memory_ptr[{ base : local_#31502_uv!base, offset : local_#31502_uv!offset + 0 }]; assume { :LIR "53630" } { :back_translation "assignment" } true; assert { :LIR "137588" } { :check "null-dereference" } { :finding_ids "91,225,300,690" } local_#31480_ra != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_b == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_f == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_gc == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_i == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_p == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_tt_ == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }]; call write_type_#101(local_#31503_io1,read_type_#101(_memory, _memory_ptr, local_#31480_ra)); assume { :LIR "60709" } { :back_translation "visiting" } true; local_#14002 := 0; assume { :LIR "72930" } { :back_translation "visiting" } true; local_#14003 := 0; assume { :LIR "60710" } { :back_translation "visiting" } true; local_#14004 := 0; assume { :LIR "53631" } { :back_translation "assignment" } true; local_#14005 := _memory_ptr[{ base : local_#31502_uv!base, offset : local_#31502_uv!offset + 0 }]; assume { :LIR "72931" } { :back_translation "visiting" } true; local_#14006 := 64; assume { :LIR "68975" } { :back_translation "visiting" } true; local_#14007 := ~sand32(_memory[{ base : local_#14005!base, offset : local_#14005!offset + 8 }], local_#14006); if (local_#14007 != 0) { assume { :LIR "49689" } { :back_translation "taking-then-branch" } true; goto CFG_49689; } else { assume { :LIR "40259" } { :back_translation "taking-else-branch" } true; goto CFG_40259; } CFG_49689: assume { :LIR "49689" } { :back_translation "block" } true; assume { :LIR "53632" } { :back_translation "assignment" } true; local_#14008 := { base : local_#31502_uv!base, offset : local_#31502_uv!offset + 16 }; assume { :LIR "65498" } { :back_translation "visiting" } true; local_#14009 := (if _memory_ptr[{ base : local_#31502_uv!base, offset : local_#31502_uv!offset + 0 }] != local_#14008 then 1 else 0); assume { :LIR "64519" } { :back_translation "visiting" } true; local_#14010 := (if local_#14009 != 0 then 0 else 1); if (local_#14010 != 0) { assume { :LIR "45954" } { :back_translation "taking-then-branch" } true; goto CFG_45954; } else { assume { :LIR "40259" } { :back_translation "taking-else-branch" } true; goto CFG_40259; } CFG_40259: assume { :LIR "40259" } { :back_translation "block" } true; assume { :LIR "72932" } { :back_translation "visiting" } true; local_#14011 := 0; assume { :LIR "60711" } { :back_translation "visiting" } true; local_#14012 := 0; goto CFG_39541; CFG_45954: assume { :LIR "45954" } { :back_translation "block" } true; assume { :LIR "79491" } { :back_translation "visiting" } true; call routine_#33729_luaC_upvalbarrier_(local_#4189_L,local_#31502_uv); goto CFG_40260; CFG_40260: assume { :LIR "40260" } { :back_translation "block" } true; goto CFG_39541; CFG_39541: assume { :LIR "39541" } { :back_translation "block" } true; goto CFG_45008; CFG_49690: assume { :LIR "49690" } { :back_translation "block" } true; assume { :LIR "53633" } { :back_translation "assignment" } true; local_#14013 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; assume { :LIR "72933" } { :back_translation "visiting" } true; local_#14014 := 6; assume { :LIR "69679" } { :back_translation "visiting" } true; local_#14015 := ~lshr32(local_#31479_i, local_#14014); assume { :LIR "72934" } { :back_translation "visiting" } true; local_#14016 := 255; assume { :LIR "68976" } { :back_translation "visiting" } true; local_#14017 := ~uand32(local_#14015, local_#14016); assume { :LIR "60712" } { :back_translation "visiting" } true; local_#14018 := local_#14017; assume { :LIR "67204" } { :back_translation "visiting" } true; local_#14019 := { base : local_#14013!base, offset : local_#14013!offset + 0 * 8 + local_#14018 * 8 }; assume { :LIR "53634" } { :back_translation "assignment" } true; local_#14020 := _memory_ptr[local_#14019]; assume { :LIR "53635" } { :back_translation "assignment" } true; assert { :LIR "139468" } { :check "null-dereference" } { :finding_ids "16,627,771,863" } local_#14020 != { base : 0, offset : 0 }; local_#31500_upval := _memory_ptr[{ base : local_#14020!base, offset : local_#14020!offset + 0 }]; assume { :LIR "72935" } { :back_translation "visiting" } true; local_#14021 := 23; assume { :LIR "69680" } { :back_translation "visiting" } true; local_#14022 := ~lshr32(local_#31479_i, local_#14021); assume { :LIR "72936" } { :back_translation "visiting" } true; local_#14023 := 511; assume { :LIR "68977" } { :back_translation "visiting" } true; local_#14024 := ~uand32(local_#14022, local_#14023); assume { :LIR "60713" } { :back_translation "visiting" } true; local_#14025 := local_#14024; assume { :LIR "72937" } { :back_translation "visiting" } true; local_#14026 := 256; assume { :LIR "68978" } { :back_translation "visiting" } true; local_#14027 := ~sand32(local_#14025, local_#14026); if (local_#14027 != 0) { assume { :LIR "40262" } { :back_translation "taking-then-branch" } true; goto CFG_40262; } else { assume { :LIR "40261" } { :back_translation "taking-else-branch" } true; goto CFG_40261; } CFG_40261: assume { :LIR "40261" } { :back_translation "block" } true; assume { :LIR "72938" } { :back_translation "visiting" } true; local_#14028 := 23; assume { :LIR "69681" } { :back_translation "visiting" } true; local_#14029 := ~lshr32(local_#31479_i, local_#14028); assume { :LIR "72939" } { :back_translation "visiting" } true; local_#14030 := 511; assume { :LIR "68979" } { :back_translation "visiting" } true; local_#14031 := ~uand32(local_#14029, local_#14030); assume { :LIR "60714" } { :back_translation "visiting" } true; local_#14032 := local_#14031; assume { :LIR "67205" } { :back_translation "visiting" } true; local_#14033 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14032 * 16 }; assume { :LIR "53636" } { :back_translation "assignment" } true; local_#30673 := local_#14033; goto CFG_49691; CFG_40262: assume { :LIR "40262" } { :back_translation "block" } true; assume { :LIR "72940" } { :back_translation "visiting" } true; local_#14034 := 23; assume { :LIR "69682" } { :back_translation "visiting" } true; local_#14035 := ~lshr32(local_#31479_i, local_#14034); assume { :LIR "72941" } { :back_translation "visiting" } true; local_#14036 := 511; assume { :LIR "68980" } { :back_translation "visiting" } true; local_#14037 := ~uand32(local_#14035, local_#14036); assume { :LIR "60715" } { :back_translation "visiting" } true; local_#14038 := local_#14037; assume { :LIR "60716" } { :back_translation "visiting" } true; local_#14039 := local_#14038; assume { :LIR "72942" } { :back_translation "visiting" } true; local_#14040 := -257; assume { :LIR "68981" } { :back_translation "visiting" } true; local_#14041 := ~sand32(local_#14039, local_#14040); assume { :LIR "67206" } { :back_translation "visiting" } true; local_#14042 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14041 * 16 }; assume { :LIR "53637" } { :back_translation "assignment" } true; local_#30673 := local_#14042; goto CFG_49691; CFG_49691: assume { :LIR "49691" } { :back_translation "block" } true; assume { :LIR "53638" } { :back_translation "assignment" } true; local_#31498_rb := local_#30673; assume { :LIR "72943" } { :back_translation "visiting" } true; local_#14043 := 14; assume { :LIR "69683" } { :back_translation "visiting" } true; local_#14044 := ~lshr32(local_#31479_i, local_#14043); assume { :LIR "72944" } { :back_translation "visiting" } true; local_#14045 := 511; assume { :LIR "68982" } { :back_translation "visiting" } true; local_#14046 := ~uand32(local_#14044, local_#14045); assume { :LIR "60717" } { :back_translation "visiting" } true; local_#14047 := local_#14046; assume { :LIR "72945" } { :back_translation "visiting" } true; local_#14048 := 256; assume { :LIR "68983" } { :back_translation "visiting" } true; local_#14049 := ~sand32(local_#14047, local_#14048); if (local_#14049 != 0) { assume { :LIR "40264" } { :back_translation "taking-then-branch" } true; goto CFG_40264; } else { assume { :LIR "40263" } { :back_translation "taking-else-branch" } true; goto CFG_40263; } CFG_40263: assume { :LIR "40263" } { :back_translation "block" } true; assume { :LIR "72946" } { :back_translation "visiting" } true; local_#14050 := 14; assume { :LIR "69684" } { :back_translation "visiting" } true; local_#14051 := ~lshr32(local_#31479_i, local_#14050); assume { :LIR "72947" } { :back_translation "visiting" } true; local_#14052 := 511; assume { :LIR "68984" } { :back_translation "visiting" } true; local_#14053 := ~uand32(local_#14051, local_#14052); assume { :LIR "60718" } { :back_translation "visiting" } true; local_#14054 := local_#14053; assume { :LIR "67207" } { :back_translation "visiting" } true; local_#14055 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14054 * 16 }; assume { :LIR "53639" } { :back_translation "assignment" } true; local_#30674 := local_#14055; goto CFG_49692; CFG_40264: assume { :LIR "40264" } { :back_translation "block" } true; assume { :LIR "72948" } { :back_translation "visiting" } true; local_#14056 := 14; assume { :LIR "69685" } { :back_translation "visiting" } true; local_#14057 := ~lshr32(local_#31479_i, local_#14056); assume { :LIR "72949" } { :back_translation "visiting" } true; local_#14058 := 511; assume { :LIR "68985" } { :back_translation "visiting" } true; local_#14059 := ~uand32(local_#14057, local_#14058); assume { :LIR "60719" } { :back_translation "visiting" } true; local_#14060 := local_#14059; assume { :LIR "60720" } { :back_translation "visiting" } true; local_#14061 := local_#14060; assume { :LIR "72950" } { :back_translation "visiting" } true; local_#14062 := -257; assume { :LIR "68986" } { :back_translation "visiting" } true; local_#14063 := ~sand32(local_#14061, local_#14062); assume { :LIR "67208" } { :back_translation "visiting" } true; local_#14064 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14063 * 16 }; assume { :LIR "53640" } { :back_translation "assignment" } true; local_#30674 := local_#14064; goto CFG_49692; CFG_49692: assume { :LIR "49692" } { :back_translation "block" } true; assume { :LIR "53641" } { :back_translation "assignment" } true; local_#31499_rc := local_#30674; assume { :LIR "72951" } { :back_translation "visiting" } true; local_#14065 := 69; assume { :LIR "64888" } { :back_translation "visiting" } true; local_#14066 := (if _memory[{ base : local_#31500_upval!base, offset : local_#31500_upval!offset + 8 }] == local_#14065 then 1 else 0); assume { :LIR "64520" } { :back_translation "visiting" } true; local_#14067 := (if local_#14066 != 0 then 0 else 1); if (local_#14067 != 0) { assume { :LIR "49698" } { :back_translation "taking-then-branch" } true; goto CFG_49698; } else { assume { :LIR "42495" } { :back_translation "taking-else-branch" } true; goto CFG_42495; } CFG_42495: assume { :LIR "42495" } { :back_translation "block" } true; assume { :LIR "53642" } { :back_translation "assignment" } true; local_#14068 := { base : local_#31500_upval!base, offset : local_#31500_upval!offset + 0 }; assume { :LIR "60721" } { :back_translation "visiting" } true; local_#14069 := _memory_ptr[local_#14068]; assume { :LIR "53643" } { :back_translation "assignment" } true; local_#14070 := { base : local_#14069!base, offset : local_#14069!offset + 0 }; assume { :LIR "62572" } { :back_translation "visiting" } true; local_#14071 := local_#31498_rb; goto CFG_45955; CFG_45955: assume { :LIR "45955" } { :back_translation "block" } true; assume { :LIR "79492" } { :back_translation "visiting" } true; call local_#14072 := routine_#33767_luaH_get(local_#14070,local_#14071); goto CFG_49693; CFG_49693: assume { :LIR "49693" } { :back_translation "block" } true; assume { :LIR "53644" } { :back_translation "assignment" } true; local_#31501_slot := local_#14072; assume { :LIR "53645" } { :back_translation "assignment" } true; local_#14073 := local_#31501_slot; assume { :LIR "72952" } { :back_translation "visiting" } true; local_#14074 := 0; assume { :LIR "64889" } { :back_translation "visiting" } true; assert { :LIR "139470" } { :check "null-dereference" } { :finding_ids "181,270,566,802" } local_#31501_slot != { base : 0, offset : 0 }; local_#14075 := (if _memory[{ base : local_#31501_slot!base, offset : local_#31501_slot!offset + 8 }] == local_#14074 then 1 else 0); if (local_#14075 != 0) { assume { :LIR "40268" } { :back_translation "taking-then-branch" } true; goto CFG_40268; } else { assume { :LIR "49694" } { :back_translation "taking-else-branch" } true; goto CFG_49694; } CFG_49694: assume { :LIR "49694" } { :back_translation "block" } true; assume { :LIR "72953" } { :back_translation "visiting" } true; local_#14076 := 64; assume { :LIR "68987" } { :back_translation "visiting" } true; assert { :LIR "139471" } { :check "null-dereference" } { :finding_ids "321,453,549,671" } local_#31499_rc != { base : 0, offset : 0 }; local_#14077 := ~sand32(_memory[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 8 }], local_#14076); if (local_#14077 != 0) { assume { :LIR "49695" } { :back_translation "taking-then-branch" } true; goto CFG_49695; } else { assume { :LIR "40265" } { :back_translation "taking-else-branch" } true; goto CFG_40265; } CFG_49695: assume { :LIR "49695" } { :back_translation "block" } true; assume { :LIR "53646" } { :back_translation "assignment" } true; local_#14078 := { base : local_#31500_upval!base, offset : local_#31500_upval!offset + 0 }; assume { :LIR "60722" } { :back_translation "visiting" } true; local_#14079 := _memory_ptr[local_#14078]; assume { :LIR "53647" } { :back_translation "assignment" } true; local_#14080 := { base : local_#14079!base, offset : local_#14079!offset + 0 }; assume { :LIR "62573" } { :back_translation "visiting" } true; local_#14081 := _memory[{ base : local_#14080!base, offset : local_#14080!offset + 9 }]; assume { :LIR "72954" } { :back_translation "visiting" } true; local_#14082 := 4; assume { :LIR "68988" } { :back_translation "visiting" } true; local_#14083 := ~sand32(local_#14081, local_#14082); if (local_#14083 != 0) { assume { :LIR "49696" } { :back_translation "taking-then-branch" } true; goto CFG_49696; } else { assume { :LIR "40265" } { :back_translation "taking-else-branch" } true; goto CFG_40265; } CFG_49696: assume { :LIR "49696" } { :back_translation "block" } true; assume { :LIR "53648" } { :back_translation "assignment" } true; local_#14084 := { base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 }; assume { :LIR "53649" } { :back_translation "assignment" } true; local_#14085 := _memory_ptr[local_#14084]; assume { :LIR "62574" } { :back_translation "visiting" } true; assert { :LIR "139473" } { :check "null-dereference" } { :finding_ids "215,308,466,681" } local_#14085 != { base : 0, offset : 0 }; local_#14086 := _memory[{ base : local_#14085!base, offset : local_#14085!offset + 9 }]; assume { :LIR "72955" } { :back_translation "visiting" } true; local_#14087 := 3; assume { :LIR "68989" } { :back_translation "visiting" } true; local_#14088 := ~sand32(local_#14086, local_#14087); if (local_#14088 != 0) { assume { :LIR "42496" } { :back_translation "taking-then-branch" } true; goto CFG_42496; } else { assume { :LIR "40265" } { :back_translation "taking-else-branch" } true; goto CFG_40265; } CFG_40265: assume { :LIR "40265" } { :back_translation "block" } true; assume { :LIR "72956" } { :back_translation "visiting" } true; local_#14089 := 0; assume { :LIR "60723" } { :back_translation "visiting" } true; local_#14090 := 0; goto CFG_40267; CFG_42496: assume { :LIR "42496" } { :back_translation "block" } true; assume { :LIR "53650" } { :back_translation "assignment" } true; local_#14091 := { base : local_#31500_upval!base, offset : local_#31500_upval!offset + 0 }; assume { :LIR "60724" } { :back_translation "visiting" } true; local_#14092 := _memory_ptr[local_#14091]; assume { :LIR "53651" } { :back_translation "assignment" } true; local_#14093 := { base : local_#14092!base, offset : local_#14092!offset + 0 }; goto CFG_45956; CFG_45956: assume { :LIR "45956" } { :back_translation "block" } true; assume { :LIR "79493" } { :back_translation "visiting" } true; call routine_#33721_luaC_barrierback_(local_#4189_L,local_#14093); goto CFG_40266; CFG_40266: assume { :LIR "40266" } { :back_translation "block" } true; goto CFG_40267; CFG_40267: assume { :LIR "40267" } { :back_translation "block" } true; assume { :LIR "60725" } { :back_translation "visiting" } true; local_#14094 := 0; assume { :LIR "60726" } { :back_translation "visiting" } true; local_#14095 := local_#31501_slot; assume { :LIR "53652" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_b == _memory[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_f == _memory_ptr[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_gc == _memory_ptr[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_i == _memory[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_p == _memory_ptr[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_tt_ == _memory[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 8 }]; assert { :LIR "138435" } { :check "null-dereference" } { :finding_ids "205,610,733,846" } local_#14095 != { base : 0, offset : 0 }; call write_type_#101(local_#14095,read_type_#101(_memory, _memory_ptr, local_#31499_rc)); assume { :LIR "53653" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_b == _memory[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_f == _memory_ptr[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_gc == _memory_ptr[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_i == _memory[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_p == _memory_ptr[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14095)!_tt_ == _memory[{ base : local_#14095!base, offset : local_#14095!offset + 8 }]; local_#14096 := read_type_#101(_memory, _memory_ptr, local_#14095); assume { :LIR "53654" } { :back_translation "assignment" } true; local_#14097 := local_#14096; assume { :LIR "72957" } { :back_translation "visiting" } true; local_#14098 := 0; assume { :LIR "60727" } { :back_translation "visiting" } true; local_#14099 := 0; assume { :LIR "72958" } { :back_translation "visiting" } true; local_#30675 := 1; goto CFG_49697; CFG_40268: assume { :LIR "40268" } { :back_translation "block" } true; assume { :LIR "72959" } { :back_translation "visiting" } true; local_#30675 := 0; goto CFG_49697; CFG_49697: assume { :LIR "49697" } { :back_translation "block" } true; assume { :LIR "53655" } { :back_translation "assignment" } true; local_#14100 := local_#30675; assume { :LIR "53656" } { :back_translation "assignment" } true; local_#14101 := local_#14100; if (local_#14101 != 0) { assume { :LIR "39542" } { :back_translation "taking-then-branch" } true; goto CFG_39542; } else { assume { :LIR "42497" } { :back_translation "taking-else-branch" } true; goto CFG_42497; } CFG_49698: assume { :LIR "49698" } { :back_translation "block" } true; assume { :LIR "69843" } { :back_translation "visiting" } true; local_#31501_slot := { base : 0, offset : 0 }; assume { :LIR "53657" } { :back_translation "assignment" } true; local_#14102 := local_#31501_slot; assume { :LIR "72960" } { :back_translation "visiting" } true; local_#14103 := 0; if (local_#14103 != 0) { assume { :LIR "39542" } { :back_translation "taking-then-branch" } true; goto CFG_39542; } else { assume { :LIR "42497" } { :back_translation "taking-else-branch" } true; goto CFG_42497; } CFG_42497: assume { :LIR "42497" } { :back_translation "block" } true; assume { :LIR "62575" } { :back_translation "visiting" } true; local_#14104 := local_#31500_upval; goto CFG_45957; CFG_45957: assume { :LIR "45957" } { :back_translation "block" } true; assume { :LIR "79494" } { :back_translation "visiting" } true; call routine_#33897_luaV_finishset(local_#4189_L,local_#14104,local_#31498_rb,local_#31499_rc,local_#31501_slot); goto CFG_40269; CFG_40269: assume { :LIR "40269" } { :back_translation "block" } true; assume { :LIR "53658" } { :back_translation "assignment" } true; local_#14105 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53659" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#14105!base, offset : local_#14105!offset + 0 }]; goto CFG_39542; CFG_39542: assume { :LIR "39542" } { :back_translation "block" } true; goto CFG_45008; CFG_49699: assume { :LIR "49699" } { :back_translation "block" } true; assume { :LIR "72961" } { :back_translation "visiting" } true; local_#14106 := 23; assume { :LIR "69686" } { :back_translation "visiting" } true; local_#14107 := ~lshr32(local_#31479_i, local_#14106); assume { :LIR "72962" } { :back_translation "visiting" } true; local_#14108 := 511; assume { :LIR "68990" } { :back_translation "visiting" } true; local_#14109 := ~uand32(local_#14107, local_#14108); assume { :LIR "60728" } { :back_translation "visiting" } true; local_#14110 := local_#14109; assume { :LIR "67209" } { :back_translation "visiting" } true; local_#14111 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14110 * 16 }; assume { :LIR "53660" } { :back_translation "assignment" } true; local_#31494_rb := local_#14111; assume { :LIR "72963" } { :back_translation "visiting" } true; local_#14112 := 14; assume { :LIR "69687" } { :back_translation "visiting" } true; local_#14113 := ~lshr32(local_#31479_i, local_#14112); assume { :LIR "72964" } { :back_translation "visiting" } true; local_#14114 := 511; assume { :LIR "68991" } { :back_translation "visiting" } true; local_#14115 := ~uand32(local_#14113, local_#14114); assume { :LIR "60729" } { :back_translation "visiting" } true; local_#14116 := local_#14115; assume { :LIR "72965" } { :back_translation "visiting" } true; local_#14117 := 256; assume { :LIR "68992" } { :back_translation "visiting" } true; local_#14118 := ~sand32(local_#14116, local_#14117); if (local_#14118 != 0) { assume { :LIR "40271" } { :back_translation "taking-then-branch" } true; goto CFG_40271; } else { assume { :LIR "40270" } { :back_translation "taking-else-branch" } true; goto CFG_40270; } CFG_40270: assume { :LIR "40270" } { :back_translation "block" } true; assume { :LIR "72966" } { :back_translation "visiting" } true; local_#14119 := 14; assume { :LIR "69688" } { :back_translation "visiting" } true; local_#14120 := ~lshr32(local_#31479_i, local_#14119); assume { :LIR "72967" } { :back_translation "visiting" } true; local_#14121 := 511; assume { :LIR "68993" } { :back_translation "visiting" } true; local_#14122 := ~uand32(local_#14120, local_#14121); assume { :LIR "60730" } { :back_translation "visiting" } true; local_#14123 := local_#14122; assume { :LIR "67210" } { :back_translation "visiting" } true; local_#14124 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14123 * 16 }; assume { :LIR "53661" } { :back_translation "assignment" } true; local_#30676 := local_#14124; goto CFG_49700; CFG_40271: assume { :LIR "40271" } { :back_translation "block" } true; assume { :LIR "72968" } { :back_translation "visiting" } true; local_#14125 := 14; assume { :LIR "69689" } { :back_translation "visiting" } true; local_#14126 := ~lshr32(local_#31479_i, local_#14125); assume { :LIR "72969" } { :back_translation "visiting" } true; local_#14127 := 511; assume { :LIR "68994" } { :back_translation "visiting" } true; local_#14128 := ~uand32(local_#14126, local_#14127); assume { :LIR "60731" } { :back_translation "visiting" } true; local_#14129 := local_#14128; assume { :LIR "60732" } { :back_translation "visiting" } true; local_#14130 := local_#14129; assume { :LIR "72970" } { :back_translation "visiting" } true; local_#14131 := -257; assume { :LIR "68995" } { :back_translation "visiting" } true; local_#14132 := ~sand32(local_#14130, local_#14131); assume { :LIR "67211" } { :back_translation "visiting" } true; local_#14133 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14132 * 16 }; assume { :LIR "53662" } { :back_translation "assignment" } true; local_#30676 := local_#14133; goto CFG_49700; CFG_49700: assume { :LIR "49700" } { :back_translation "block" } true; assume { :LIR "53663" } { :back_translation "assignment" } true; local_#31495_rc := local_#30676; assume { :LIR "72971" } { :back_translation "visiting" } true; local_#14134 := 69; assume { :LIR "64890" } { :back_translation "visiting" } true; assert { :LIR "139475" } { :check "null-dereference" } { :finding_ids "206,611,739,847" } local_#31494_rb != { base : 0, offset : 0 }; local_#14135 := (if _memory[{ base : local_#31494_rb!base, offset : local_#31494_rb!offset + 8 }] == local_#14134 then 1 else 0); assume { :LIR "64521" } { :back_translation "visiting" } true; local_#14136 := (if local_#14135 != 0 then 0 else 1); if (local_#14136 != 0) { assume { :LIR "49702" } { :back_translation "taking-then-branch" } true; goto CFG_49702; } else { assume { :LIR "42498" } { :back_translation "taking-else-branch" } true; goto CFG_42498; } CFG_42498: assume { :LIR "42498" } { :back_translation "block" } true; assume { :LIR "53664" } { :back_translation "assignment" } true; local_#14137 := { base : local_#31494_rb!base, offset : local_#31494_rb!offset + 0 }; assume { :LIR "60733" } { :back_translation "visiting" } true; local_#14138 := _memory_ptr[local_#14137]; assume { :LIR "53665" } { :back_translation "assignment" } true; local_#14139 := { base : local_#14138!base, offset : local_#14138!offset + 0 }; assume { :LIR "62576" } { :back_translation "visiting" } true; local_#14140 := local_#31495_rc; goto CFG_45958; CFG_45958: assume { :LIR "45958" } { :back_translation "block" } true; assume { :LIR "79495" } { :back_translation "visiting" } true; call local_#14141 := routine_#33767_luaH_get(local_#14139,local_#14140); goto CFG_49701; CFG_49701: assume { :LIR "49701" } { :back_translation "block" } true; assume { :LIR "53666" } { :back_translation "assignment" } true; local_#31496_slot := local_#14141; assume { :LIR "53667" } { :back_translation "assignment" } true; local_#14142 := local_#31496_slot; assume { :LIR "72972" } { :back_translation "visiting" } true; local_#14143 := 0; assume { :LIR "64891" } { :back_translation "visiting" } true; assert { :LIR "139476" } { :check "null-dereference" } { :finding_ids "152,268,564,800" } local_#31496_slot != { base : 0, offset : 0 }; local_#14144 := (if _memory[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 8 }] == local_#14143 then 1 else 0); assume { :LIR "64522" } { :back_translation "visiting" } true; local_#14145 := (if local_#14144 != 0 then 0 else 1); assume { :LIR "53668" } { :back_translation "assignment" } true; local_#14146 := local_#14145; if (local_#14146 != 0) { assume { :LIR "40273" } { :back_translation "taking-then-branch" } true; goto CFG_40273; } else { assume { :LIR "42499" } { :back_translation "taking-else-branch" } true; goto CFG_42499; } CFG_49702: assume { :LIR "49702" } { :back_translation "block" } true; assume { :LIR "69844" } { :back_translation "visiting" } true; local_#31496_slot := { base : 0, offset : 0 }; assume { :LIR "53669" } { :back_translation "assignment" } true; local_#14147 := local_#31496_slot; assume { :LIR "72973" } { :back_translation "visiting" } true; local_#14148 := 0; if (local_#14148 != 0) { assume { :LIR "40273" } { :back_translation "taking-then-branch" } true; goto CFG_40273; } else { assume { :LIR "42499" } { :back_translation "taking-else-branch" } true; goto CFG_42499; } CFG_42499: assume { :LIR "42499" } { :back_translation "block" } true; assume { :LIR "62577" } { :back_translation "visiting" } true; local_#14149 := local_#31494_rb; goto CFG_45959; CFG_45959: assume { :LIR "45959" } { :back_translation "block" } true; assume { :LIR "79496" } { :back_translation "visiting" } true; call routine_#33896_luaV_finishget(local_#4189_L,local_#14149,local_#31495_rc,local_#31480_ra,local_#31496_slot); goto CFG_40272; CFG_40272: assume { :LIR "40272" } { :back_translation "block" } true; assume { :LIR "53670" } { :back_translation "assignment" } true; local_#14150 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53671" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#14150!base, offset : local_#14150!offset + 0 }]; goto CFG_39543; CFG_40273: assume { :LIR "40273" } { :back_translation "block" } true; assume { :LIR "53672" } { :back_translation "assignment" } true; local_#31497_io1 := local_#31480_ra; assume { :LIR "53673" } { :back_translation "assignment" } true; assert { :LIR "137597" } { :check "null-dereference" } { :finding_ids "180,269,565,801" } local_#31496_slot != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_b == _memory[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_f == _memory_ptr[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_gc == _memory_ptr[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_i == _memory[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_p == _memory_ptr[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_tt_ == _memory[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 8 }]; assert { :LIR "138436" } { :check "null-dereference" } { :finding_ids "116,139,251,715" } local_#31497_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31497_io1,read_type_#101(_memory, _memory_ptr, local_#31496_slot)); assume { :LIR "60734" } { :back_translation "visiting" } true; local_#14151 := 0; assume { :LIR "72974" } { :back_translation "visiting" } true; local_#14152 := 0; assume { :LIR "60735" } { :back_translation "visiting" } true; local_#14153 := 0; goto CFG_39543; CFG_39543: assume { :LIR "39543" } { :back_translation "block" } true; goto CFG_45008; CFG_49703: assume { :LIR "49703" } { :back_translation "block" } true; assume { :LIR "53674" } { :back_translation "assignment" } true; local_#14154 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; assume { :LIR "72975" } { :back_translation "visiting" } true; local_#14155 := 23; assume { :LIR "69690" } { :back_translation "visiting" } true; local_#14156 := ~lshr32(local_#31479_i, local_#14155); assume { :LIR "72976" } { :back_translation "visiting" } true; local_#14157 := 511; assume { :LIR "68996" } { :back_translation "visiting" } true; local_#14158 := ~uand32(local_#14156, local_#14157); assume { :LIR "60736" } { :back_translation "visiting" } true; local_#14159 := local_#14158; assume { :LIR "67212" } { :back_translation "visiting" } true; local_#14160 := { base : local_#14154!base, offset : local_#14154!offset + 0 * 8 + local_#14159 * 8 }; assume { :LIR "53675" } { :back_translation "assignment" } true; local_#14161 := _memory_ptr[local_#14160]; assume { :LIR "53676" } { :back_translation "assignment" } true; assert { :LIR "139478" } { :check "null-dereference" } { :finding_ids "17,628,772,864" } local_#14161 != { base : 0, offset : 0 }; local_#31491_upval := _memory_ptr[{ base : local_#14161!base, offset : local_#14161!offset + 0 }]; assume { :LIR "72977" } { :back_translation "visiting" } true; local_#14162 := 14; assume { :LIR "69691" } { :back_translation "visiting" } true; local_#14163 := ~lshr32(local_#31479_i, local_#14162); assume { :LIR "72978" } { :back_translation "visiting" } true; local_#14164 := 511; assume { :LIR "68997" } { :back_translation "visiting" } true; local_#14165 := ~uand32(local_#14163, local_#14164); assume { :LIR "60737" } { :back_translation "visiting" } true; local_#14166 := local_#14165; assume { :LIR "72979" } { :back_translation "visiting" } true; local_#14167 := 256; assume { :LIR "68998" } { :back_translation "visiting" } true; local_#14168 := ~sand32(local_#14166, local_#14167); if (local_#14168 != 0) { assume { :LIR "40275" } { :back_translation "taking-then-branch" } true; goto CFG_40275; } else { assume { :LIR "40274" } { :back_translation "taking-else-branch" } true; goto CFG_40274; } CFG_40274: assume { :LIR "40274" } { :back_translation "block" } true; assume { :LIR "72980" } { :back_translation "visiting" } true; local_#14169 := 14; assume { :LIR "69692" } { :back_translation "visiting" } true; local_#14170 := ~lshr32(local_#31479_i, local_#14169); assume { :LIR "72981" } { :back_translation "visiting" } true; local_#14171 := 511; assume { :LIR "68999" } { :back_translation "visiting" } true; local_#14172 := ~uand32(local_#14170, local_#14171); assume { :LIR "60738" } { :back_translation "visiting" } true; local_#14173 := local_#14172; assume { :LIR "67213" } { :back_translation "visiting" } true; local_#14174 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14173 * 16 }; assume { :LIR "53677" } { :back_translation "assignment" } true; local_#30677 := local_#14174; goto CFG_49704; CFG_40275: assume { :LIR "40275" } { :back_translation "block" } true; assume { :LIR "72982" } { :back_translation "visiting" } true; local_#14175 := 14; assume { :LIR "69693" } { :back_translation "visiting" } true; local_#14176 := ~lshr32(local_#31479_i, local_#14175); assume { :LIR "72983" } { :back_translation "visiting" } true; local_#14177 := 511; assume { :LIR "69000" } { :back_translation "visiting" } true; local_#14178 := ~uand32(local_#14176, local_#14177); assume { :LIR "60739" } { :back_translation "visiting" } true; local_#14179 := local_#14178; assume { :LIR "60740" } { :back_translation "visiting" } true; local_#14180 := local_#14179; assume { :LIR "72984" } { :back_translation "visiting" } true; local_#14181 := -257; assume { :LIR "69001" } { :back_translation "visiting" } true; local_#14182 := ~sand32(local_#14180, local_#14181); assume { :LIR "67214" } { :back_translation "visiting" } true; local_#14183 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14182 * 16 }; assume { :LIR "53678" } { :back_translation "assignment" } true; local_#30677 := local_#14183; goto CFG_49704; CFG_49704: assume { :LIR "49704" } { :back_translation "block" } true; assume { :LIR "53679" } { :back_translation "assignment" } true; local_#31490_rc := local_#30677; assume { :LIR "72985" } { :back_translation "visiting" } true; local_#14184 := 69; assume { :LIR "64892" } { :back_translation "visiting" } true; local_#14185 := (if _memory[{ base : local_#31491_upval!base, offset : local_#31491_upval!offset + 8 }] == local_#14184 then 1 else 0); assume { :LIR "64523" } { :back_translation "visiting" } true; local_#14186 := (if local_#14185 != 0 then 0 else 1); if (local_#14186 != 0) { assume { :LIR "49706" } { :back_translation "taking-then-branch" } true; goto CFG_49706; } else { assume { :LIR "42500" } { :back_translation "taking-else-branch" } true; goto CFG_42500; } CFG_42500: assume { :LIR "42500" } { :back_translation "block" } true; assume { :LIR "53680" } { :back_translation "assignment" } true; local_#14187 := { base : local_#31491_upval!base, offset : local_#31491_upval!offset + 0 }; assume { :LIR "60741" } { :back_translation "visiting" } true; local_#14188 := _memory_ptr[local_#14187]; assume { :LIR "53681" } { :back_translation "assignment" } true; local_#14189 := { base : local_#14188!base, offset : local_#14188!offset + 0 }; assume { :LIR "62578" } { :back_translation "visiting" } true; local_#14190 := local_#31490_rc; goto CFG_45960; CFG_45960: assume { :LIR "45960" } { :back_translation "block" } true; assume { :LIR "79497" } { :back_translation "visiting" } true; call local_#14191 := routine_#33767_luaH_get(local_#14189,local_#14190); goto CFG_49705; CFG_49705: assume { :LIR "49705" } { :back_translation "block" } true; assume { :LIR "53682" } { :back_translation "assignment" } true; local_#31492_slot := local_#14191; assume { :LIR "53683" } { :back_translation "assignment" } true; local_#14192 := local_#31492_slot; assume { :LIR "72986" } { :back_translation "visiting" } true; local_#14193 := 0; assume { :LIR "64893" } { :back_translation "visiting" } true; assert { :LIR "139480" } { :check "null-dereference" } { :finding_ids "154,266,562,798" } local_#31492_slot != { base : 0, offset : 0 }; local_#14194 := (if _memory[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 8 }] == local_#14193 then 1 else 0); assume { :LIR "64524" } { :back_translation "visiting" } true; local_#14195 := (if local_#14194 != 0 then 0 else 1); assume { :LIR "53684" } { :back_translation "assignment" } true; local_#14196 := local_#14195; if (local_#14196 != 0) { assume { :LIR "40277" } { :back_translation "taking-then-branch" } true; goto CFG_40277; } else { assume { :LIR "42501" } { :back_translation "taking-else-branch" } true; goto CFG_42501; } CFG_49706: assume { :LIR "49706" } { :back_translation "block" } true; assume { :LIR "69845" } { :back_translation "visiting" } true; local_#31492_slot := { base : 0, offset : 0 }; assume { :LIR "53685" } { :back_translation "assignment" } true; local_#14197 := local_#31492_slot; assume { :LIR "72987" } { :back_translation "visiting" } true; local_#14198 := 0; if (local_#14198 != 0) { assume { :LIR "40277" } { :back_translation "taking-then-branch" } true; goto CFG_40277; } else { assume { :LIR "42501" } { :back_translation "taking-else-branch" } true; goto CFG_42501; } CFG_42501: assume { :LIR "42501" } { :back_translation "block" } true; assume { :LIR "62579" } { :back_translation "visiting" } true; local_#14199 := local_#31491_upval; goto CFG_45961; CFG_45961: assume { :LIR "45961" } { :back_translation "block" } true; assume { :LIR "79498" } { :back_translation "visiting" } true; call routine_#33896_luaV_finishget(local_#4189_L,local_#14199,local_#31490_rc,local_#31480_ra,local_#31492_slot); goto CFG_40276; CFG_40276: assume { :LIR "40276" } { :back_translation "block" } true; assume { :LIR "53686" } { :back_translation "assignment" } true; local_#14200 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53687" } { :back_translation "assignment" } true; local_#31475_base := _memory_ptr[{ base : local_#14200!base, offset : local_#14200!offset + 0 }]; goto CFG_39544; CFG_40277: assume { :LIR "40277" } { :back_translation "block" } true; assume { :LIR "53688" } { :back_translation "assignment" } true; local_#31493_io1 := local_#31480_ra; assume { :LIR "53689" } { :back_translation "assignment" } true; assert { :LIR "137600" } { :check "null-dereference" } { :finding_ids "151,267,563,799" } local_#31492_slot != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_b == _memory[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_f == _memory_ptr[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_gc == _memory_ptr[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_i == _memory[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_p == _memory_ptr[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_tt_ == _memory[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 8 }]; assert { :LIR "138437" } { :check "null-dereference" } { :finding_ids "117,140,252,716" } local_#31493_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31493_io1,read_type_#101(_memory, _memory_ptr, local_#31492_slot)); assume { :LIR "60742" } { :back_translation "visiting" } true; local_#14201 := 0; assume { :LIR "72988" } { :back_translation "visiting" } true; local_#14202 := 0; assume { :LIR "60743" } { :back_translation "visiting" } true; local_#14203 := 0; goto CFG_39544; CFG_39544: assume { :LIR "39544" } { :back_translation "block" } true; goto CFG_45008; CFG_39545: assume { :LIR "39545" } { :back_translation "block" } true; assume { :LIR "72989" } { :back_translation "visiting" } true; local_#14204 := 23; assume { :LIR "69694" } { :back_translation "visiting" } true; local_#14205 := ~lshr32(local_#31479_i, local_#14204); assume { :LIR "72990" } { :back_translation "visiting" } true; local_#14206 := 511; assume { :LIR "69002" } { :back_translation "visiting" } true; local_#14207 := ~uand32(local_#14205, local_#14206); assume { :LIR "60744" } { :back_translation "visiting" } true; local_#14208 := local_#14207; assume { :LIR "53690" } { :back_translation "assignment" } true; local_#31488_b := local_#14208; assume { :LIR "53691" } { :back_translation "assignment" } true; local_#31489_io1 := local_#31480_ra; assume { :LIR "53692" } { :back_translation "assignment" } true; local_#14209 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; assume { :LIR "67215" } { :back_translation "visiting" } true; local_#14210 := { base : local_#14209!base, offset : local_#14209!offset + 0 * 8 + local_#31488_b * 8 }; assume { :LIR "53693" } { :back_translation "assignment" } true; local_#14211 := _memory_ptr[local_#14210]; assume { :LIR "53694" } { :back_translation "assignment" } true; assert { :LIR "139482" } { :check "null-dereference" } { :finding_ids "18,629,773,865" } local_#14211 != { base : 0, offset : 0 }; local_#14212 := _memory_ptr[{ base : local_#14211!base, offset : local_#14211!offset + 0 }]; assume { :LIR "53695" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_b == _memory[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_f == _memory_ptr[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_gc == _memory_ptr[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_i == _memory[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_p == _memory_ptr[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14212)!_tt_ == _memory[{ base : local_#14212!base, offset : local_#14212!offset + 8 }]; assert { :LIR "138438" } { :check "null-dereference" } { :finding_ids "118,136,253,717" } local_#31489_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31489_io1,read_type_#101(_memory, _memory_ptr, local_#14212)); assume { :LIR "60745" } { :back_translation "visiting" } true; local_#14213 := 0; assume { :LIR "72991" } { :back_translation "visiting" } true; local_#14214 := 0; assume { :LIR "60746" } { :back_translation "visiting" } true; local_#14215 := 0; goto CFG_45008; CFG_41667: assume { :LIR "41667" } { :back_translation "block" } true; assume { :LIR "72992" } { :back_translation "visiting" } true; local_#14216 := 23; assume { :LIR "69695" } { :back_translation "visiting" } true; local_#14217 := ~lshr32(local_#31479_i, local_#14216); assume { :LIR "72993" } { :back_translation "visiting" } true; local_#14218 := 511; assume { :LIR "69003" } { :back_translation "visiting" } true; local_#14219 := ~uand32(local_#14217, local_#14218); assume { :LIR "60747" } { :back_translation "visiting" } true; local_#14220 := local_#14219; assume { :LIR "53696" } { :back_translation "assignment" } true; local_#31487_b := local_#14220; goto CFG_42502; CFG_42502: assume { :LIR "42502" } { :back_translation "block" } true; assume { :LIR "72994" } { :back_translation "visiting" } true; local_#14221 := 0; assume { :LIR "53697" } { :back_translation "assignment" } true; local_#14222 := local_#31480_ra; assume { :LIR "72995" } { :back_translation "visiting" } true; local_#14223 := 1; assume { :LIR "67216" } { :back_translation "visiting" } true; local_#31480_ra := { base : local_#14222!base, offset : local_#14222!offset + local_#14223 * 16 }; assume { :LIR "53698" } { :back_translation "assignment" } true; assert { :LIR "143268" } { :check "null-dereference" } { :finding_ids "213,311,460,679" } local_#14222 != { base : 0, offset : 0 }; _memory[{ base : local_#14222!base, offset : local_#14222!offset + 8 }] := local_#14221; goto CFG_49707; CFG_49707: assume { :LIR "49707" } { :back_translation "block" } true; assume { :LIR "53699" } { :back_translation "assignment" } true; local_#14224 := local_#31487_b; assume { :LIR "72996" } { :back_translation "visiting" } true; local_#14225 := 1; assume { :LIR "67949" } { :back_translation "visiting" } true; local_#31487_b := local_#14224 - local_#14225; assume { :LIR "53700" } { :back_translation "assignment" } true; local_#14226 := local_#14224; if (local_#14226 != 0) { assume { :LIR "45007" } { :back_translation "taking-then-branch" } true; goto CFG_45007; } else { assume { :LIR "39546" } { :back_translation "taking-else-branch" } true; goto CFG_39546; } CFG_39546: assume { :LIR "39546" } { :back_translation "block" } true; goto CFG_45008; CFG_45007: assume { :LIR "45007" } { :back_translation "block" } true; goto CFG_42502; CFG_49708: assume { :LIR "49708" } { :back_translation "block" } true; assume { :LIR "53701" } { :back_translation "assignment" } true; local_#31486_io := local_#31480_ra; assume { :LIR "72997" } { :back_translation "visiting" } true; local_#14227 := 23; assume { :LIR "69696" } { :back_translation "visiting" } true; local_#14228 := ~lshr32(local_#31479_i, local_#14227); assume { :LIR "72998" } { :back_translation "visiting" } true; local_#14229 := 511; assume { :LIR "69004" } { :back_translation "visiting" } true; local_#14230 := ~uand32(local_#14228, local_#14229); assume { :LIR "60748" } { :back_translation "visiting" } true; local_#14231 := local_#14230; assume { :LIR "53702" } { :back_translation "assignment" } true; local_#14232 := { base : local_#31486_io!base, offset : local_#31486_io!offset + 0 }; assume { :LIR "53703" } { :back_translation "assignment" } true; _memory[local_#14232] := local_#14231; assume { :LIR "72999" } { :back_translation "visiting" } true; _memory[{ base : local_#31486_io!base, offset : local_#31486_io!offset + 8 }] := 1; assume { :LIR "73000" } { :back_translation "visiting" } true; local_#14233 := 14; assume { :LIR "69697" } { :back_translation "visiting" } true; local_#14234 := ~lshr32(local_#31479_i, local_#14233); assume { :LIR "73001" } { :back_translation "visiting" } true; local_#14235 := 511; assume { :LIR "69005" } { :back_translation "visiting" } true; local_#14236 := ~uand32(local_#14234, local_#14235); assume { :LIR "60749" } { :back_translation "visiting" } true; local_#14237 := local_#14236; if (local_#14237 != 0) { assume { :LIR "40278" } { :back_translation "taking-then-branch" } true; goto CFG_40278; } else { assume { :LIR "39547" } { :back_translation "taking-else-branch" } true; goto CFG_39547; } CFG_40278: assume { :LIR "40278" } { :back_translation "block" } true; assume { :LIR "53704" } { :back_translation "assignment" } true; local_#14238 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53705" } { :back_translation "assignment" } true; local_#14239 := _memory_ptr[{ base : local_#14238!base, offset : local_#14238!offset + 8 }]; assume { :LIR "73002" } { :back_translation "visiting" } true; local_#14240 := 1; assume { :LIR "67217" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#14238!base, offset : local_#14238!offset + 8 }] := { base : local_#14239!base, offset : local_#14239!offset + local_#14240 * 4 }; assume { :LIR "53706" } { :back_translation "assignment" } true; local_#14241 := local_#14239; goto CFG_39547; CFG_39547: assume { :LIR "39547" } { :back_translation "block" } true; goto CFG_45008; CFG_39548: assume { :LIR "39548" } { :back_translation "block" } true; assume { :LIR "73003" } { :back_translation "visiting" } true; local_#14242 := 0; assume { :LIR "60750" } { :back_translation "visiting" } true; local_#14243 := 0; assume { :LIR "53707" } { :back_translation "assignment" } true; local_#14244 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; assume { :LIR "53708" } { :back_translation "assignment" } true; local_#14245 := _memory_ptr[{ base : local_#14244!base, offset : local_#14244!offset + 8 }]; assume { :LIR "73004" } { :back_translation "visiting" } true; local_#14246 := 1; assume { :LIR "67218" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#14244!base, offset : local_#14244!offset + 8 }] := { base : local_#14245!base, offset : local_#14245!offset + local_#14246 * 4 }; assume { :LIR "73005" } { :back_translation "visiting" } true; local_#14247 := 6; assume { :LIR "69698" } { :back_translation "visiting" } true; assert { :LIR "137603" } { :check "null-dereference" } { :finding_ids "19,630,774,866" } local_#14245 != { base : 0, offset : 0 }; local_#14248 := ~lshr32(_memory[local_#14245], local_#14247); assume { :LIR "73006" } { :back_translation "visiting" } true; local_#14249 := 67108863; assume { :LIR "69006" } { :back_translation "visiting" } true; local_#14250 := ~uand32(local_#14248, local_#14249); assume { :LIR "60751" } { :back_translation "visiting" } true; local_#14251 := local_#14250; assume { :LIR "67219" } { :back_translation "visiting" } true; local_#14252 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14251 * 16 }; assume { :LIR "53709" } { :back_translation "assignment" } true; local_#31484_rb := local_#14252; assume { :LIR "53710" } { :back_translation "assignment" } true; local_#31485_io1 := local_#31480_ra; assume { :LIR "53711" } { :back_translation "assignment" } true; assert { :LIR "137604" } { :check "null-dereference" } { :finding_ids "153,265,561,797" } local_#31484_rb != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_b == _memory[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_f == _memory_ptr[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_gc == _memory_ptr[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_i == _memory[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_p == _memory_ptr[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_tt_ == _memory[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 8 }]; assert { :LIR "138440" } { :check "null-dereference" } { :finding_ids "120,182,255,719" } local_#31485_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31485_io1,read_type_#101(_memory, _memory_ptr, local_#31484_rb)); assume { :LIR "60752" } { :back_translation "visiting" } true; local_#14253 := 0; assume { :LIR "73007" } { :back_translation "visiting" } true; local_#14254 := 0; assume { :LIR "60753" } { :back_translation "visiting" } true; local_#14255 := 0; goto CFG_45008; CFG_39549: assume { :LIR "39549" } { :back_translation "block" } true; assume { :LIR "73008" } { :back_translation "visiting" } true; local_#14256 := 14; assume { :LIR "69699" } { :back_translation "visiting" } true; local_#14257 := ~lshr32(local_#31479_i, local_#14256); assume { :LIR "73009" } { :back_translation "visiting" } true; local_#14258 := 262143; assume { :LIR "69007" } { :back_translation "visiting" } true; local_#14259 := ~uand32(local_#14257, local_#14258); assume { :LIR "60754" } { :back_translation "visiting" } true; local_#14260 := local_#14259; assume { :LIR "67220" } { :back_translation "visiting" } true; local_#14261 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14260 * 16 }; assume { :LIR "53712" } { :back_translation "assignment" } true; local_#31482_rb := local_#14261; assume { :LIR "53713" } { :back_translation "assignment" } true; local_#31483_io1 := local_#31480_ra; assume { :LIR "53714" } { :back_translation "assignment" } true; assert { :LIR "137605" } { :check "null-dereference" } { :finding_ids "3,614,737,850" } local_#31482_rb != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_b == _memory[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_f == _memory_ptr[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_gc == _memory_ptr[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_i == _memory[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_p == _memory_ptr[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_tt_ == _memory[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 8 }]; assert { :LIR "138441" } { :check "null-dereference" } { :finding_ids "121,183,256,720" } local_#31483_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31483_io1,read_type_#101(_memory, _memory_ptr, local_#31482_rb)); assume { :LIR "60755" } { :back_translation "visiting" } true; local_#14262 := 0; assume { :LIR "73010" } { :back_translation "visiting" } true; local_#14263 := 0; assume { :LIR "60756" } { :back_translation "visiting" } true; local_#14264 := 0; goto CFG_45008; CFG_39550: assume { :LIR "39550" } { :back_translation "block" } true; assume { :LIR "53715" } { :back_translation "assignment" } true; local_#31481_io1 := local_#31480_ra; assume { :LIR "73011" } { :back_translation "visiting" } true; local_#14265 := 23; assume { :LIR "69700" } { :back_translation "visiting" } true; local_#14266 := ~lshr32(local_#31479_i, local_#14265); assume { :LIR "73012" } { :back_translation "visiting" } true; local_#14267 := 511; assume { :LIR "69008" } { :back_translation "visiting" } true; local_#14268 := ~uand32(local_#14266, local_#14267); assume { :LIR "60757" } { :back_translation "visiting" } true; local_#14269 := local_#14268; assume { :LIR "67221" } { :back_translation "visiting" } true; local_#14270 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14269 * 16 }; assume { :LIR "53716" } { :back_translation "assignment" } true; assert { :LIR "137606" } { :check "null-dereference" } { :finding_ids "4,615,752,851" } local_#14270 != { base : 0, offset : 0 }; assume read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_b == _memory[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_f == _memory_ptr[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_gc == _memory_ptr[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_i == _memory[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_p == _memory_ptr[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14270)!_tt_ == _memory[{ base : local_#14270!base, offset : local_#14270!offset + 8 }]; assert { :LIR "138442" } { :check "null-dereference" } { :finding_ids "122,178,257,721" } local_#31481_io1 != { base : 0, offset : 0 }; call write_type_#101(local_#31481_io1,read_type_#101(_memory, _memory_ptr, local_#14270)); assume { :LIR "60758" } { :back_translation "visiting" } true; local_#14271 := 0; assume { :LIR "73013" } { :back_translation "visiting" } true; local_#14272 := 0; assume { :LIR "60759" } { :back_translation "visiting" } true; local_#14273 := 0; goto CFG_45008; CFG_45008: assume { :LIR "45008" } { :back_translation "block" } true; goto CFG_49475; _routine_#33894_luaV_execute_SLICED_OUT_BLOCK: assume false; } procedure routine_#33895_luaV_finishOp(local_#4190_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#4190_L : { base : int, offset : int }; var local_#31673_ci : { base : int, offset : int }; var local_#14274 : { base : int, offset : int }; var local_#31672_base : { base : int, offset : int }; var local_#14275 : { base : int, offset : int }; var local_#14276 : int; var local_#14277 : { base : int, offset : int }; var local_#31674_inst : int; var local_#14278 : int; var local_#14279 : int; var local_#14280 : int; var local_#14281 : int; var local_#14282 : int; var local_#31675_op : int; var local_#14283 : int; var local_#14284 : int; var local_#14285 : int; var local_#14286 : int; var local_#14287 : int; var local_#14288 : int; var local_#14289 : int; var local_#14290 : int; var local_#14291 : int; var local_#14292 : int; var local_#14293 : int; var local_#14294 : int; var local_#14295 : int; var local_#14296 : int; var local_#14297 : int; var local_#14298 : { base : int, offset : int }; var local_#31679_top : { base : int, offset : int }; var local_#14299 : int; var local_#14300 : int; var local_#14301 : int; var local_#14302 : int; var local_#14303 : int; var local_#31678_b : int; var local_#14304 : int; var local_#14305 : { base : int, offset : int }; var local_#14306 : { base : int, offset : int }; var local_#14307 : int; var local_#14308 : int; var local_#31680_total : int; var local_#14309 : int; var local_#14310 : { base : int, offset : int }; var local_#31681_io1 : { base : int, offset : int }; var local_#14311 : int; var local_#14312 : int; var local_#14313 : int; var local_#14314 : int; var local_#14315 : int; var local_#14316 : int; var local_#14317 : { base : int, offset : int }; var local_#14318 : { base : int, offset : int }; var local_#14319 : int; var local_#14320 : int; var local_#14321 : int; var local_#14322 : int; var local_#14323 : int; var local_#14324 : { base : int, offset : int }; var local_#31682_io1 : { base : int, offset : int }; var local_#14325 : int; var local_#14326 : { base : int, offset : int }; var local_#14327 : int; var local_#14328 : int; var local_#14329 : int; var local_#14330 : int; var local_#14331 : { base : int, offset : int }; var local_#14332 : int; var local_#14333 : int; var local_#14334 : int; var local_#14335 : { base : int, offset : int }; var local_#14336 : int; var local_#14337 : int; var local_#14338 : int; var local_#14339 : { base : int, offset : int }; var local_#14340 : { base : int, offset : int }; var local_#14341 : int; var local_#14342 : int; var local_#30678 : int; var local_#14343 : int; var local_#31677_res : int; var local_#14344 : { base : int, offset : int }; var local_#14345 : int; var local_#14346 : { base : int, offset : int }; var local_#14347 : int; var local_#14348 : int; var local_#14349 : int; var local_#14350 : int; var local_#14351 : int; var local_#14352 : int; var local_#14353 : int; var local_#14354 : int; var local_#14355 : int; var local_#14356 : int; var local_#14357 : int; var local_#14358 : int; var local_#14359 : int; var local_#14360 : int; var local_#14361 : int; var local_#14362 : int; var local_#14363 : int; var local_#14364 : { base : int, offset : int }; var local_#14365 : { base : int, offset : int }; var local_#14366 : int; var local_#14367 : { base : int, offset : int }; var local_#14368 : int; var local_#14369 : int; var local_#14370 : int; var local_#14371 : int; var local_#14372 : int; var local_#14373 : { base : int, offset : int }; var local_#31676_io1 : { base : int, offset : int }; var local_#14374 : int; var local_#14375 : { base : int, offset : int }; var local_#14376 : int; var local_#14377 : int; var local_#14378 : int; havoc local_#4190_L; havoc local_#31673_ci; havoc local_#14274; havoc local_#31672_base; havoc local_#14275; havoc local_#14276; havoc local_#14277; havoc local_#31674_inst; havoc local_#14278; havoc local_#14279; havoc local_#14280; havoc local_#14281; havoc local_#14282; havoc local_#31675_op; havoc local_#14283; havoc local_#14284; havoc local_#14285; havoc local_#14286; havoc local_#14287; havoc local_#14288; havoc local_#14289; havoc local_#14290; havoc local_#14291; havoc local_#14292; havoc local_#14293; havoc local_#14294; havoc local_#14295; havoc local_#14296; havoc local_#14297; havoc local_#14298; havoc local_#31679_top; havoc local_#14299; havoc local_#14300; havoc local_#14301; havoc local_#14302; havoc local_#14303; havoc local_#31678_b; havoc local_#14304; havoc local_#14305; havoc local_#14306; havoc local_#14307; havoc local_#14308; havoc local_#31680_total; havoc local_#14309; havoc local_#14310; havoc local_#31681_io1; havoc local_#14311; havoc local_#14312; havoc local_#14313; havoc local_#14314; havoc local_#14315; havoc local_#14316; havoc local_#14317; havoc local_#14318; havoc local_#14319; havoc local_#14320; havoc local_#14321; havoc local_#14322; havoc local_#14323; havoc local_#14324; havoc local_#31682_io1; havoc local_#14325; havoc local_#14326; havoc local_#14327; havoc local_#14328; havoc local_#14329; havoc local_#14330; havoc local_#14331; havoc local_#14332; havoc local_#14333; havoc local_#14334; havoc local_#14335; havoc local_#14336; havoc local_#14337; havoc local_#14338; havoc local_#14339; havoc local_#14340; havoc local_#14341; havoc local_#14342; havoc local_#30678; havoc local_#14343; havoc local_#31677_res; havoc local_#14344; havoc local_#14345; havoc local_#14346; havoc local_#14347; havoc local_#14348; havoc local_#14349; havoc local_#14350; havoc local_#14351; havoc local_#14352; havoc local_#14353; havoc local_#14354; havoc local_#14355; havoc local_#14356; havoc local_#14357; havoc local_#14358; havoc local_#14359; havoc local_#14360; havoc local_#14361; havoc local_#14362; havoc local_#14363; havoc local_#14364; havoc local_#14365; havoc local_#14366; havoc local_#14367; havoc local_#14368; havoc local_#14369; havoc local_#14370; havoc local_#14371; havoc local_#14372; havoc local_#14373; havoc local_#31676_io1; havoc local_#14374; havoc local_#14375; havoc local_#14376; havoc local_#14377; havoc local_#14378; local_#4190_L := local_#4190_L_IN; goto CFG_36403; CFG_36403: assume { :LIR "36403" } { :back_translation "block" } true; goto CFG_51516; CFG_51516: assume { :LIR "51516" } { :back_translation "block" } true; assume { :LIR "53717" } { :back_translation "assignment" } true; local_#31673_ci := _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 32 }]; assume { :LIR "53718" } { :back_translation "assignment" } true; local_#14274 := { base : local_#31673_ci!base, offset : local_#31673_ci!offset + 32 }; assume { :LIR "53719" } { :back_translation "assignment" } true; local_#31672_base := _memory_ptr[{ base : local_#14274!base, offset : local_#14274!offset + 0 }]; assume { :LIR "53720" } { :back_translation "assignment" } true; local_#14275 := { base : local_#31673_ci!base, offset : local_#31673_ci!offset + 32 }; assume { :LIR "73014" } { :back_translation "visiting" } true; local_#14276 := 1; assume { :LIR "68271" } { :back_translation "visiting" } true; local_#14277 := { base : _memory_ptr[{ base : local_#14275!base, offset : local_#14275!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#14275!base, offset : local_#14275!offset + 8 }]!offset - local_#14276 * 4 }; assume { :LIR "53721" } { :back_translation "assignment" } true; local_#31674_inst := _memory[local_#14277]; assume { :LIR "73015" } { :back_translation "visiting" } true; local_#14278 := 0; assume { :LIR "69701" } { :back_translation "visiting" } true; local_#14279 := ~lshr32(local_#31674_inst, local_#14278); assume { :LIR "73016" } { :back_translation "visiting" } true; local_#14280 := 63; assume { :LIR "69009" } { :back_translation "visiting" } true; local_#14281 := ~uand32(local_#14279, local_#14280); assume { :LIR "60760" } { :back_translation "visiting" } true; local_#14282 := local_#14281; assume { :LIR "53722" } { :back_translation "assignment" } true; local_#31675_op := local_#14282; assume { :LIR "53723" } { :back_translation "assignment" } true; local_#14283 := local_#31675_op; if (local_#14283 == 13) { goto CFG_39556; } if (local_#14283 == 14) { goto CFG_39556; } if (local_#14283 == 15) { goto CFG_39556; } if (local_#14283 == 18) { goto CFG_39556; } if (local_#14283 == 19) { goto CFG_39556; } if (local_#14283 == 20) { goto CFG_39556; } if (local_#14283 == 21) { goto CFG_39556; } if (local_#14283 == 22) { goto CFG_39556; } if (local_#14283 == 23) { goto CFG_39556; } if (local_#14283 == 24) { goto CFG_39556; } if (local_#14283 == 16) { goto CFG_39556; } if (local_#14283 == 17) { goto CFG_39556; } if (local_#14283 == 25) { goto CFG_39556; } if (local_#14283 == 26) { goto CFG_39556; } if (local_#14283 == 28) { goto CFG_39556; } if (local_#14283 == 6) { goto CFG_39556; } if (local_#14283 == 7) { goto CFG_39556; } if (local_#14283 == 12) { goto CFG_39556; } if (local_#14283 == 33) { goto CFG_49711; } if (local_#14283 == 32) { goto CFG_49711; } if (local_#14283 == 31) { goto CFG_49711; } if (local_#14283 == 29) { goto CFG_49710; } if (local_#14283 == 41) { goto CFG_39553; } if (local_#14283 == 36) { goto CFG_49709; } if (local_#14283 == 37) { goto CFG_39551; } if (local_#14283 == 8) { goto CFG_39551; } if (local_#14283 == 10) { goto CFG_39551; } goto CFG_42503; CFG_42503: assume { :LIR "42503" } { :back_translation "block" } true; assume { :LIR "73017" } { :back_translation "visiting" } true; local_#14284 := 0; assume { :LIR "60761" } { :back_translation "visiting" } true; local_#14285 := 0; goto CFG_41918; CFG_41918: assume { :LIR "41918" } { :back_translation "block" } true; goto CFG_39170; CFG_39551: assume { :LIR "39551" } { :back_translation "block" } true; goto CFG_39170; CFG_49709: assume { :LIR "49709" } { :back_translation "block" } true; assume { :LIR "73018" } { :back_translation "visiting" } true; local_#14286 := 14; assume { :LIR "69702" } { :back_translation "visiting" } true; local_#14287 := ~lshr32(local_#31674_inst, local_#14286); assume { :LIR "73019" } { :back_translation "visiting" } true; local_#14288 := 511; assume { :LIR "69010" } { :back_translation "visiting" } true; local_#14289 := ~uand32(local_#14287, local_#14288); assume { :LIR "60762" } { :back_translation "visiting" } true; local_#14290 := local_#14289; assume { :LIR "73020" } { :back_translation "visiting" } true; local_#14291 := 1; assume { :LIR "67950" } { :back_translation "visiting" } true; local_#14292 := local_#14290 - local_#14291; assume { :LIR "73021" } { :back_translation "visiting" } true; local_#14293 := 0; assume { :LIR "65710" } { :back_translation "visiting" } true; local_#14294 := (if local_#14292 >= local_#14293 then 1 else 0); if (local_#14294 != 0) { assume { :LIR "40279" } { :back_translation "taking-then-branch" } true; goto CFG_40279; } else { assume { :LIR "39552" } { :back_translation "taking-else-branch" } true; goto CFG_39552; } CFG_40279: assume { :LIR "40279" } { :back_translation "block" } true; assume { :LIR "53724" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := _memory_ptr[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 8 }]; goto CFG_39552; CFG_39552: assume { :LIR "39552" } { :back_translation "block" } true; goto CFG_39170; CFG_39553: assume { :LIR "39553" } { :back_translation "block" } true; assume { :LIR "73022" } { :back_translation "visiting" } true; local_#14295 := 0; assume { :LIR "60763" } { :back_translation "visiting" } true; local_#14296 := 0; assume { :LIR "53725" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := _memory_ptr[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 8 }]; goto CFG_39170; CFG_49710: assume { :LIR "49710" } { :back_translation "block" } true; assume { :LIR "73023" } { :back_translation "visiting" } true; local_#14297 := 1; assume { :LIR "68272" } { :back_translation "visiting" } true; local_#14298 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14297 * 16 }; assume { :LIR "53726" } { :back_translation "assignment" } true; local_#31679_top := local_#14298; assume { :LIR "73024" } { :back_translation "visiting" } true; local_#14299 := 23; assume { :LIR "69703" } { :back_translation "visiting" } true; local_#14300 := ~lshr32(local_#31674_inst, local_#14299); assume { :LIR "73025" } { :back_translation "visiting" } true; local_#14301 := 511; assume { :LIR "69011" } { :back_translation "visiting" } true; local_#14302 := ~uand32(local_#14300, local_#14301); assume { :LIR "60764" } { :back_translation "visiting" } true; local_#14303 := local_#14302; assume { :LIR "53727" } { :back_translation "assignment" } true; local_#31678_b := local_#14303; assume { :LIR "73026" } { :back_translation "visiting" } true; local_#14304 := 1; assume { :LIR "68273" } { :back_translation "visiting" } true; local_#14305 := { base : local_#31679_top!base, offset : local_#31679_top!offset - local_#14304 * 16 }; assume { :LIR "67222" } { :back_translation "visiting" } true; local_#14306 := { base : local_#31672_base!base, offset : local_#31672_base!offset + local_#31678_b * 16 }; assume { :LIR "68445" } { :back_translation "visiting" } true; local_#14307 := (local_#14305!offset - local_#14306!offset) / 16; assume { :LIR "60765" } { :back_translation "visiting" } true; local_#14308 := local_#14307; assume { :LIR "53728" } { :back_translation "assignment" } true; local_#31680_total := local_#14308; assume { :LIR "73027" } { :back_translation "visiting" } true; local_#14309 := 2; assume { :LIR "68274" } { :back_translation "visiting" } true; local_#14310 := { base : local_#31679_top!base, offset : local_#31679_top!offset - local_#14309 * 16 }; assume { :LIR "53729" } { :back_translation "assignment" } true; local_#31681_io1 := local_#14310; assume { :LIR "53730" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_b == _memory[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_f == _memory_ptr[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_gc == _memory_ptr[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_i == _memory[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_p == _memory_ptr[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_tt_ == _memory[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 8 }]; call write_type_#101(local_#31681_io1,read_type_#101(_memory, _memory_ptr, local_#31679_top)); assume { :LIR "60766" } { :back_translation "visiting" } true; local_#14311 := 0; assume { :LIR "73028" } { :back_translation "visiting" } true; local_#14312 := 0; assume { :LIR "60767" } { :back_translation "visiting" } true; local_#14313 := 0; assume { :LIR "73029" } { :back_translation "visiting" } true; local_#14314 := 1; assume { :LIR "65819" } { :back_translation "visiting" } true; local_#14315 := (if local_#31680_total > local_#14314 then 1 else 0); if (local_#14315 != 0) { assume { :LIR "42504" } { :back_translation "taking-then-branch" } true; goto CFG_42504; } else { assume { :LIR "39554" } { :back_translation "taking-else-branch" } true; goto CFG_39554; } CFG_42504: assume { :LIR "42504" } { :back_translation "block" } true; assume { :LIR "73030" } { :back_translation "visiting" } true; local_#14316 := 1; assume { :LIR "68275" } { :back_translation "visiting" } true; local_#14317 := { base : local_#31679_top!base, offset : local_#31679_top!offset - local_#14316 * 16 }; assume { :LIR "53731" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := local_#14317; goto CFG_45962; CFG_45962: assume { :LIR "45962" } { :back_translation "block" } true; assume { :LIR "79499" } { :back_translation "visiting" } true; call routine_#33891_luaV_concat(local_#4190_L,local_#31680_total); goto CFG_40280; CFG_40280: assume { :LIR "40280" } { :back_translation "block" } true; goto CFG_39554; CFG_39554: assume { :LIR "39554" } { :back_translation "block" } true; assume { :LIR "53732" } { :back_translation "assignment" } true; local_#14318 := { base : local_#31673_ci!base, offset : local_#31673_ci!offset + 32 }; assume { :LIR "73031" } { :back_translation "visiting" } true; local_#14319 := 6; assume { :LIR "69704" } { :back_translation "visiting" } true; local_#14320 := ~lshr32(local_#31674_inst, local_#14319); assume { :LIR "73032" } { :back_translation "visiting" } true; local_#14321 := 255; assume { :LIR "69012" } { :back_translation "visiting" } true; local_#14322 := ~uand32(local_#14320, local_#14321); assume { :LIR "60768" } { :back_translation "visiting" } true; local_#14323 := local_#14322; assume { :LIR "67223" } { :back_translation "visiting" } true; local_#14324 := { base : _memory_ptr[{ base : local_#14318!base, offset : local_#14318!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#14318!base, offset : local_#14318!offset + 0 }]!offset + local_#14323 * 16 }; assume { :LIR "53733" } { :back_translation "assignment" } true; local_#31682_io1 := local_#14324; assume { :LIR "73033" } { :back_translation "visiting" } true; local_#14325 := 1; assume { :LIR "68276" } { :back_translation "visiting" } true; local_#14326 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14325 * 16 }; assume { :LIR "53734" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_b == _memory[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_f == _memory_ptr[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_gc == _memory_ptr[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_i == _memory[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_p == _memory_ptr[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14326)!_tt_ == _memory[{ base : local_#14326!base, offset : local_#14326!offset + 8 }]; call write_type_#101(local_#31682_io1,read_type_#101(_memory, _memory_ptr, local_#14326)); assume { :LIR "60769" } { :back_translation "visiting" } true; local_#14327 := 0; assume { :LIR "73034" } { :back_translation "visiting" } true; local_#14328 := 0; assume { :LIR "60770" } { :back_translation "visiting" } true; local_#14329 := 0; assume { :LIR "53735" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := _memory_ptr[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 8 }]; goto CFG_39170; CFG_49711: assume { :LIR "49711" } { :back_translation "block" } true; assume { :LIR "73035" } { :back_translation "visiting" } true; local_#14330 := 1; assume { :LIR "68277" } { :back_translation "visiting" } true; local_#14331 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14330 * 16 }; assume { :LIR "73036" } { :back_translation "visiting" } true; local_#14332 := 0; assume { :LIR "64894" } { :back_translation "visiting" } true; local_#14333 := (if _memory[{ base : local_#14331!base, offset : local_#14331!offset + 8 }] == local_#14332 then 1 else 0); if (local_#14333 != 0) { assume { :LIR "40282" } { :back_translation "taking-then-branch" } true; goto CFG_40282; } else { assume { :LIR "49712" } { :back_translation "taking-else-branch" } true; goto CFG_49712; } CFG_49712: assume { :LIR "49712" } { :back_translation "block" } true; assume { :LIR "73037" } { :back_translation "visiting" } true; local_#14334 := 1; assume { :LIR "68278" } { :back_translation "visiting" } true; local_#14335 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14334 * 16 }; assume { :LIR "73038" } { :back_translation "visiting" } true; local_#14336 := 1; assume { :LIR "64895" } { :back_translation "visiting" } true; local_#14337 := (if _memory[{ base : local_#14335!base, offset : local_#14335!offset + 8 }] == local_#14336 then 1 else 0); if (local_#14337 != 0) { assume { :LIR "49713" } { :back_translation "taking-then-branch" } true; goto CFG_49713; } else { assume { :LIR "40281" } { :back_translation "taking-else-branch" } true; goto CFG_40281; } CFG_49713: assume { :LIR "49713" } { :back_translation "block" } true; assume { :LIR "73039" } { :back_translation "visiting" } true; local_#14338 := 1; assume { :LIR "68279" } { :back_translation "visiting" } true; local_#14339 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14338 * 16 }; assume { :LIR "53736" } { :back_translation "assignment" } true; local_#14340 := { base : local_#14339!base, offset : local_#14339!offset + 0 }; assume { :LIR "73040" } { :back_translation "visiting" } true; local_#14341 := 0; assume { :LIR "64896" } { :back_translation "visiting" } true; local_#14342 := (if _memory[local_#14340] == local_#14341 then 1 else 0); if (local_#14342 != 0) { assume { :LIR "40282" } { :back_translation "taking-then-branch" } true; goto CFG_40282; } else { assume { :LIR "40281" } { :back_translation "taking-else-branch" } true; goto CFG_40281; } CFG_40281: assume { :LIR "40281" } { :back_translation "block" } true; assume { :LIR "78745" } { :back_translation "visiting" } true; local_#30678 := 0; goto CFG_49714; CFG_40282: assume { :LIR "40282" } { :back_translation "block" } true; assume { :LIR "78653" } { :back_translation "visiting" } true; local_#30678 := 1; goto CFG_49714; CFG_49714: assume { :LIR "49714" } { :back_translation "block" } true; assume { :LIR "64525" } { :back_translation "visiting" } true; local_#14343 := (if local_#30678 != 0 then 0 else 1); assume { :LIR "53737" } { :back_translation "assignment" } true; local_#31677_res := local_#14343; assume { :LIR "53738" } { :back_translation "assignment" } true; local_#14344 := _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]; assume { :LIR "73041" } { :back_translation "visiting" } true; local_#14345 := 1; assume { :LIR "68280" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := { base : local_#14344!base, offset : local_#14344!offset - local_#14345 * 16 }; assume { :LIR "53739" } { :back_translation "assignment" } true; local_#14346 := local_#14344; assume { :LIR "62580" } { :back_translation "visiting" } true; local_#14347 := _memory[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 66 }]; assume { :LIR "73042" } { :back_translation "visiting" } true; local_#14348 := 128; assume { :LIR "69013" } { :back_translation "visiting" } true; local_#14349 := ~sand32(local_#14347, local_#14348); if (local_#14349 != 0) { assume { :LIR "40283" } { :back_translation "taking-then-branch" } true; goto CFG_40283; } else { assume { :LIR "49715" } { :back_translation "taking-else-branch" } true; goto CFG_49715; } CFG_40283: assume { :LIR "40283" } { :back_translation "block" } true; assume { :LIR "73043" } { :back_translation "visiting" } true; local_#14350 := 0; assume { :LIR "60771" } { :back_translation "visiting" } true; local_#14351 := 0; assume { :LIR "73044" } { :back_translation "visiting" } true; local_#14352 := 128; assume { :LIR "62581" } { :back_translation "visiting" } true; local_#14353 := _memory[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 66 }]; assume { :LIR "69437" } { :back_translation "visiting" } true; local_#14354 := ~sxor32(local_#14353, local_#14352); assume { :LIR "62582" } { :back_translation "visiting" } true; _memory[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 66 }] := ~uwrap16(local_#14354); assume { :LIR "64526" } { :back_translation "visiting" } true; local_#14355 := (if local_#31677_res != 0 then 0 else 1); assume { :LIR "53740" } { :back_translation "assignment" } true; local_#31677_res := local_#14355; goto CFG_49715; CFG_49715: assume { :LIR "49715" } { :back_translation "block" } true; assume { :LIR "73045" } { :back_translation "visiting" } true; local_#14356 := 0; assume { :LIR "60772" } { :back_translation "visiting" } true; local_#14357 := 0; assume { :LIR "73046" } { :back_translation "visiting" } true; local_#14358 := 6; assume { :LIR "69705" } { :back_translation "visiting" } true; local_#14359 := ~lshr32(local_#31674_inst, local_#14358); assume { :LIR "73047" } { :back_translation "visiting" } true; local_#14360 := 255; assume { :LIR "69014" } { :back_translation "visiting" } true; local_#14361 := ~uand32(local_#14359, local_#14360); assume { :LIR "60773" } { :back_translation "visiting" } true; local_#14362 := local_#14361; assume { :LIR "65499" } { :back_translation "visiting" } true; local_#14363 := (if local_#31677_res != local_#14362 then 1 else 0); if (local_#14363 != 0) { assume { :LIR "40284" } { :back_translation "taking-then-branch" } true; goto CFG_40284; } else { assume { :LIR "39555" } { :back_translation "taking-else-branch" } true; goto CFG_39555; } CFG_40284: assume { :LIR "40284" } { :back_translation "block" } true; assume { :LIR "53741" } { :back_translation "assignment" } true; local_#14364 := { base : local_#31673_ci!base, offset : local_#31673_ci!offset + 32 }; assume { :LIR "53742" } { :back_translation "assignment" } true; local_#14365 := _memory_ptr[{ base : local_#14364!base, offset : local_#14364!offset + 8 }]; assume { :LIR "73048" } { :back_translation "visiting" } true; local_#14366 := 1; assume { :LIR "67224" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#14364!base, offset : local_#14364!offset + 8 }] := { base : local_#14365!base, offset : local_#14365!offset + local_#14366 * 4 }; assume { :LIR "53743" } { :back_translation "assignment" } true; local_#14367 := local_#14365; goto CFG_39555; CFG_39555: assume { :LIR "39555" } { :back_translation "block" } true; goto CFG_39170; CFG_39556: assume { :LIR "39556" } { :back_translation "block" } true; assume { :LIR "73049" } { :back_translation "visiting" } true; local_#14368 := 6; assume { :LIR "69706" } { :back_translation "visiting" } true; local_#14369 := ~lshr32(local_#31674_inst, local_#14368); assume { :LIR "73050" } { :back_translation "visiting" } true; local_#14370 := 255; assume { :LIR "69015" } { :back_translation "visiting" } true; local_#14371 := ~uand32(local_#14369, local_#14370); assume { :LIR "60774" } { :back_translation "visiting" } true; local_#14372 := local_#14371; assume { :LIR "67225" } { :back_translation "visiting" } true; local_#14373 := { base : local_#31672_base!base, offset : local_#31672_base!offset + local_#14372 * 16 }; assume { :LIR "53744" } { :back_translation "assignment" } true; local_#31676_io1 := local_#14373; assume { :LIR "73051" } { :back_translation "visiting" } true; local_#14374 := 1; assume { :LIR "68281" } { :back_translation "visiting" } true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14374 * 16 }; assume { :LIR "53745" } { :back_translation "assignment" } true; local_#14375 := _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]; assume { :LIR "53746" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_b == _memory[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_f == _memory_ptr[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_gc == _memory_ptr[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_i == _memory[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_p == _memory_ptr[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14375)!_tt_ == _memory[{ base : local_#14375!base, offset : local_#14375!offset + 8 }]; call write_type_#101(local_#31676_io1,read_type_#101(_memory, _memory_ptr, local_#14375)); assume { :LIR "60775" } { :back_translation "visiting" } true; local_#14376 := 0; assume { :LIR "73052" } { :back_translation "visiting" } true; local_#14377 := 0; assume { :LIR "60776" } { :back_translation "visiting" } true; local_#14378 := 0; goto CFG_39170; CFG_39170: assume { :LIR "39170" } { :back_translation "block" } true; goto CFG_37314; CFG_37314: assume { :LIR "37314" } { :back_translation "block" } true; } procedure routine_#33896_luaV_finishget(local_#4191_L_IN : { base : int, offset : int }, local_#4192_t_IN : { base : int, offset : int }, local_#4193_key_IN : { base : int, offset : int }, local_#4194_val_IN : { base : int, offset : int }, local_#4195_slot_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#4191_L : { base : int, offset : int }; var local_#4192_t : { base : int, offset : int }; var local_#4193_key : { base : int, offset : int }; var local_#4194_val : { base : int, offset : int }; var local_#4195_slot : { base : int, offset : int }; var local_#31683_loop : int; var local_#14379 : int; var local_#14380 : int; var local_#14383 : { base : int, offset : int }; var local_#14384 : int; var local_#14385 : int; var local_#14386 : int; var local_#14387 : { base : int, offset : int }; var local_#14388 : { base : int, offset : int }; var local_#14389 : { base : int, offset : int }; var local_#14390 : { base : int, offset : int }; var local_#14391 : int; var local_#14392 : { base : int, offset : int }; var local_#14393 : { base : int, offset : int }; var local_#14394 : { base : int, offset : int }; var local_#14395 : { base : int, offset : int }; var local_#14396 : int; var local_#14397 : int; var local_#14398 : int; var local_#14399 : { base : int, offset : int }; var local_#14400 : { base : int, offset : int }; var local_#14401 : { base : int, offset : int }; var local_#14402 : { base : int, offset : int }; var local_#14403 : int; var local_#14404 : { base : int, offset : int }; var local_#14405 : { base : int, offset : int }; var local_#14406 : int; var local_#14407 : { base : int, offset : int }; var local_#14408 : { base : int, offset : int }; var local_#14409 : { base : int, offset : int }; var local_#30679 : { base : int, offset : int }; var local_#30680 : { base : int, offset : int }; var local_#31684_tm : { base : int, offset : int }; var local_#14410 : { base : int, offset : int }; var local_#14411 : int; var local_#14412 : int; var local_#14413 : int; var local_#14414 : int; var local_#14415 : { base : int, offset : int }; var local_#14416 : int; var local_#14417 : int; var local_#14418 : int; var local_#14419 : int; var local_#14420 : int; var local_#14421 : int; var local_#14422 : int; var local_#14423 : int; var local_#14424 : int; var local_#14425 : { base : int, offset : int }; var local_#14426 : { base : int, offset : int }; var local_#14427 : { base : int, offset : int }; var local_#14428 : { base : int, offset : int }; var local_#14429 : { base : int, offset : int }; var local_#14430 : { base : int, offset : int }; var local_#14431 : int; var local_#14432 : int; var local_#14433 : int; var local_#14434 : int; var local_#14435 : { base : int, offset : int }; var local_#14436 : int; var local_#14437 : int; var local_#14438 : int; var local_#14439 : int; var local_#31685_io1 : { base : int, offset : int }; var local_#14440 : int; var local_#14441 : int; var local_#14442 : int; var local_#14443 : { base : int, offset : int }; var local_#14444 : int; havoc local_#4191_L; havoc local_#4192_t; havoc local_#4193_key; havoc local_#4194_val; havoc local_#4195_slot; havoc local_#31683_loop; havoc local_#14379; havoc local_#14380; havoc local_#14383; havoc local_#14384; havoc local_#14385; havoc local_#14386; havoc local_#14387; havoc local_#14388; havoc local_#14389; havoc local_#14390; havoc local_#14391; havoc local_#14392; havoc local_#14393; havoc local_#14394; havoc local_#14395; havoc local_#14396; havoc local_#14397; havoc local_#14398; havoc local_#14399; havoc local_#14400; havoc local_#14401; havoc local_#14402; havoc local_#14403; havoc local_#14404; havoc local_#14405; havoc local_#14406; havoc local_#14407; havoc local_#14408; havoc local_#14409; havoc local_#30679; havoc local_#30680; havoc local_#31684_tm; havoc local_#14410; havoc local_#14411; havoc local_#14412; havoc local_#14413; havoc local_#14414; havoc local_#14415; havoc local_#14416; havoc local_#14417; havoc local_#14418; havoc local_#14419; havoc local_#14420; havoc local_#14421; havoc local_#14422; havoc local_#14423; havoc local_#14424; havoc local_#14425; havoc local_#14426; havoc local_#14427; havoc local_#14428; havoc local_#14429; havoc local_#14430; havoc local_#14431; havoc local_#14432; havoc local_#14433; havoc local_#14434; havoc local_#14435; havoc local_#14436; havoc local_#14437; havoc local_#14438; havoc local_#14439; havoc local_#31685_io1; havoc local_#14440; havoc local_#14441; havoc local_#14442; havoc local_#14443; havoc local_#14444; local_#4191_L := local_#4191_L_IN; local_#4192_t := local_#4192_t_IN; local_#4193_key := local_#4193_key_IN; local_#4194_val := local_#4194_val_IN; local_#4195_slot := local_#4195_slot_IN; goto CFG_36404; CFG_36404: assume { :LIR "36404" } { :back_translation "block" } true; goto CFG_41668; CFG_41668: assume { :LIR "41668" } { :back_translation "block" } true; assume { :LIR "73053" } { :back_translation "visiting" } true; local_#31683_loop := 0; goto CFG_49716; CFG_49716: assume { :LIR "49716" } { :back_translation "block" } true; assume { :LIR "73054" } { :back_translation "visiting" } true; local_#14379 := 2000; assume { :LIR "66174" } { :back_translation "visiting" } true; local_#14380 := (if local_#31683_loop < local_#14379 then 1 else 0); if (local_#14380 != 0) { assume { :LIR "49717" } { :back_translation "taking-then-branch" } true; goto CFG_49717; } else { assume { :LIR "42505" } { :back_translation "taking-else-branch" } true; goto _routine_#33896_luaV_finishget_SLICED_OUT_BLOCK; } CFG_49717: assume { :LIR "49717" } { :back_translation "block" } true; assume { :LIR "69846" } { :back_translation "visiting" } true; local_#14383 := { base : 0, offset : 0 }; assume { :LIR "64897" } { :back_translation "visiting" } true; local_#14384 := (if local_#4195_slot == local_#14383 then 1 else 0); if (local_#14384 != 0) { assume { :LIR "42507" } { :back_translation "taking-then-branch" } true; goto CFG_42507; } else { assume { :LIR "49718" } { :back_translation "taking-else-branch" } true; goto CFG_49718; } CFG_49718: assume { :LIR "49718" } { :back_translation "block" } true; assume { :LIR "73055" } { :back_translation "visiting" } true; local_#14385 := 0; assume { :LIR "60777" } { :back_translation "visiting" } true; local_#14386 := 0; assume { :LIR "53747" } { :back_translation "assignment" } true; local_#14387 := { base : local_#4192_t!base, offset : local_#4192_t!offset + 0 }; assume { :LIR "60778" } { :back_translation "visiting" } true; local_#14388 := _memory_ptr[local_#14387]; assume { :LIR "53748" } { :back_translation "assignment" } true; local_#14389 := { base : local_#14388!base, offset : local_#14388!offset + 0 }; assume { :LIR "69847" } { :back_translation "visiting" } true; local_#14390 := { base : 0, offset : 0 }; assume { :LIR "64898" } { :back_translation "visiting" } true; local_#14391 := (if _memory_ptr[{ base : local_#14389!base, offset : local_#14389!offset + 40 }] == local_#14390 then 1 else 0); if (local_#14391 != 0) { assume { :LIR "40288" } { :back_translation "taking-then-branch" } true; goto CFG_40288; } else { assume { :LIR "49719" } { :back_translation "taking-else-branch" } true; goto CFG_49719; } CFG_49719: assume { :LIR "49719" } { :back_translation "block" } true; assume { :LIR "53749" } { :back_translation "assignment" } true; local_#14392 := { base : local_#4192_t!base, offset : local_#4192_t!offset + 0 }; assume { :LIR "60779" } { :back_translation "visiting" } true; local_#14393 := _memory_ptr[local_#14392]; assume { :LIR "53750" } { :back_translation "assignment" } true; local_#14394 := { base : local_#14393!base, offset : local_#14393!offset + 0 }; assume { :LIR "53751" } { :back_translation "assignment" } true; local_#14395 := _memory_ptr[{ base : local_#14394!base, offset : local_#14394!offset + 40 }]; assume { :LIR "62584" } { :back_translation "visiting" } true; local_#14396 := ~uwrap32(_memory[{ base : local_#14395!base, offset : local_#14395!offset + 10 }]); assume { :LIR "73056" } { :back_translation "visiting" } true; local_#14397 := 1; assume { :LIR "69016" } { :back_translation "visiting" } true; local_#14398 := ~uand32(local_#14396, local_#14397); if (local_#14398 != 0) { assume { :LIR "40286" } { :back_translation "taking-then-branch" } true; goto CFG_40286; } else { assume { :LIR "42506" } { :back_translation "taking-else-branch" } true; goto CFG_42506; } CFG_42506: assume { :LIR "42506" } { :back_translation "block" } true; assume { :LIR "53752" } { :back_translation "assignment" } true; local_#14399 := { base : local_#4192_t!base, offset : local_#4192_t!offset + 0 }; assume { :LIR "60780" } { :back_translation "visiting" } true; local_#14400 := _memory_ptr[local_#14399]; assume { :LIR "53753" } { :back_translation "assignment" } true; local_#14401 := { base : local_#14400!base, offset : local_#14400!offset + 0 }; assume { :LIR "53754" } { :back_translation "assignment" } true; local_#14402 := _memory_ptr[{ base : local_#14401!base, offset : local_#14401!offset + 40 }]; assume { :LIR "73057" } { :back_translation "visiting" } true; local_#14403 := 0; assume { :LIR "53755" } { :back_translation "assignment" } true; local_#14404 := _memory_ptr[{ base : local_#4191_L!base, offset : local_#4191_L!offset + 24 }]; assume { :LIR "53756" } { :back_translation "assignment" } true; local_#14405 := { base : local_#14404!base, offset : local_#14404!offset + 224 }; assume { :LIR "73058" } { :back_translation "visiting" } true; local_#14406 := 0; assume { :LIR "67226" } { :back_translation "visiting" } true; local_#14407 := { base : local_#14405!base, offset : local_#14405!offset + 0 * 8 + local_#14406 * 8 }; assume { :LIR "53757" } { :back_translation "assignment" } true; local_#14408 := _memory_ptr[local_#14407]; goto CFG_45964; CFG_45964: assume { :LIR "45964" } { :back_translation "block" } true; assume { :LIR "79501" } { :back_translation "visiting" } true; call local_#14409 := routine_#33884_luaT_gettm(local_#14402,local_#14403,local_#14408); goto CFG_40285; CFG_40285: assume { :LIR "40285" } { :back_translation "block" } true; assume { :LIR "53758" } { :back_translation "assignment" } true; local_#30679 := local_#14409; goto CFG_40287; CFG_40286: assume { :LIR "40286" } { :back_translation "block" } true; assume { :LIR "69848" } { :back_translation "visiting" } true; local_#30679 := { base : 0, offset : 0 }; goto CFG_40287; CFG_40287: assume { :LIR "40287" } { :back_translation "block" } true; assume { :LIR "53759" } { :back_translation "assignment" } true; local_#30680 := local_#30679; goto CFG_49720; CFG_40288: assume { :LIR "40288" } { :back_translation "block" } true; assume { :LIR "69849" } { :back_translation "visiting" } true; local_#30680 := { base : 0, offset : 0 }; goto CFG_49720; CFG_49720: assume { :LIR "49720" } { :back_translation "block" } true; assume { :LIR "53760" } { :back_translation "assignment" } true; local_#31684_tm := local_#30680; assume { :LIR "69850" } { :back_translation "visiting" } true; local_#14410 := { base : 0, offset : 0 }; assume { :LIR "64899" } { :back_translation "visiting" } true; local_#14411 := (if local_#31684_tm == local_#14410 then 1 else 0); if (local_#14411 != 0) { assume { :LIR "39171" } { :back_translation "taking-then-branch" } true; goto CFG_39171; } else { assume { :LIR "40289" } { :back_translation "taking-else-branch" } true; goto CFG_40289; } CFG_40289: assume { :LIR "40289" } { :back_translation "block" } true; goto CFG_49722; CFG_39171: assume { :LIR "39171" } { :back_translation "block" } true; assume { :LIR "73059" } { :back_translation "visiting" } true; _memory[{ base : local_#4194_val!base, offset : local_#4194_val!offset + 8 }] := 0; goto CFG_37315; CFG_42507: assume { :LIR "42507" } { :back_translation "block" } true; assume { :LIR "73060" } { :back_translation "visiting" } true; local_#14412 := 0; assume { :LIR "60781" } { :back_translation "visiting" } true; local_#14413 := 0; assume { :LIR "73061" } { :back_translation "visiting" } true; local_#14414 := 0; goto CFG_45965; CFG_45965: assume { :LIR "45965" } { :back_translation "block" } true; assume { :LIR "79502" } { :back_translation "visiting" } true; call local_#14415 := routine_#33885_luaT_gettmbyobj(local_#4191_L,local_#4192_t,local_#14414); goto CFG_49721; CFG_49721: assume { :LIR "49721" } { :back_translation "block" } true; assume { :LIR "53761" } { :back_translation "assignment" } true; local_#31684_tm := local_#14415; assume { :LIR "73062" } { :back_translation "visiting" } true; local_#14416 := 0; assume { :LIR "64900" } { :back_translation "visiting" } true; local_#14417 := (if _memory[{ base : local_#31684_tm!base, offset : local_#31684_tm!offset + 8 }] == local_#14416 then 1 else 0); if (local_#14417 != 0) { assume { :LIR "42510" } { :back_translation "taking-then-branch" } true; goto _routine_#33896_luaV_finishget_SLICED_OUT_BLOCK; } else { assume { :LIR "40290" } { :back_translation "taking-else-branch" } true; goto CFG_40290; } CFG_40290: assume { :LIR "40290" } { :back_translation "block" } true; goto CFG_49722; CFG_49722: assume { :LIR "49722" } { :back_translation "block" } true; assume { :LIR "73063" } { :back_translation "visiting" } true; local_#14418 := 15; assume { :LIR "69017" } { :back_translation "visiting" } true; local_#14419 := ~sand32(_memory[{ base : local_#31684_tm!base, offset : local_#31684_tm!offset + 8 }], local_#14418); assume { :LIR "73064" } { :back_translation "visiting" } true; local_#14420 := 6; assume { :LIR "64901" } { :back_translation "visiting" } true; local_#14421 := (if local_#14419 == local_#14420 then 1 else 0); if (local_#14421 != 0) { assume { :LIR "42509" } { :back_translation "taking-then-branch" } true; goto CFG_42509; } else { assume { :LIR "49723" } { :back_translation "taking-else-branch" } true; goto CFG_49723; } CFG_49723: assume { :LIR "49723" } { :back_translation "block" } true; assume { :LIR "53762" } { :back_translation "assignment" } true; local_#4192_t := local_#31684_tm; assume { :LIR "73065" } { :back_translation "visiting" } true; local_#14422 := 69; assume { :LIR "64902" } { :back_translation "visiting" } true; local_#14423 := (if _memory[{ base : local_#4192_t!base, offset : local_#4192_t!offset + 8 }] == local_#14422 then 1 else 0); assume { :LIR "64527" } { :back_translation "visiting" } true; local_#14424 := (if local_#14423 != 0 then 0 else 1); if (local_#14424 != 0) { assume { :LIR "49725" } { :back_translation "taking-then-branch" } true; goto CFG_49725; } else { assume { :LIR "42508" } { :back_translation "taking-else-branch" } true; goto CFG_42508; } CFG_42508: assume { :LIR "42508" } { :back_translation "block" } true; assume { :LIR "53763" } { :back_translation "assignment" } true; local_#14425 := { base : local_#4192_t!base, offset : local_#4192_t!offset + 0 }; assume { :LIR "60782" } { :back_translation "visiting" } true; local_#14426 := _memory_ptr[local_#14425]; assume { :LIR "53764" } { :back_translation "assignment" } true; local_#14427 := { base : local_#14426!base, offset : local_#14426!offset + 0 }; assume { :LIR "62585" } { :back_translation "visiting" } true; local_#14428 := local_#4193_key; goto CFG_45966; CFG_45966: assume { :LIR "45966" } { :back_translation "block" } true; assume { :LIR "79503" } { :back_translation "visiting" } true; call local_#14429 := routine_#33767_luaH_get(local_#14427,local_#14428); goto CFG_49724; CFG_49724: assume { :LIR "49724" } { :back_translation "block" } true; assume { :LIR "53765" } { :back_translation "assignment" } true; local_#4195_slot := local_#14429; assume { :LIR "53766" } { :back_translation "assignment" } true; local_#14430 := local_#4195_slot; assume { :LIR "73066" } { :back_translation "visiting" } true; local_#14431 := 0; assume { :LIR "64903" } { :back_translation "visiting" } true; local_#14432 := (if _memory[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 8 }] == local_#14431 then 1 else 0); assume { :LIR "64528" } { :back_translation "visiting" } true; local_#14433 := (if local_#14432 != 0 then 0 else 1); assume { :LIR "53767" } { :back_translation "assignment" } true; local_#14434 := local_#14433; if (local_#14434 != 0) { assume { :LIR "39172" } { :back_translation "taking-then-branch" } true; goto CFG_39172; } else { assume { :LIR "45009" } { :back_translation "taking-else-branch" } true; goto CFG_45009; } CFG_49725: assume { :LIR "49725" } { :back_translation "block" } true; assume { :LIR "69851" } { :back_translation "visiting" } true; local_#4195_slot := { base : 0, offset : 0 }; assume { :LIR "53768" } { :back_translation "assignment" } true; local_#14435 := local_#4195_slot; assume { :LIR "73067" } { :back_translation "visiting" } true; local_#14436 := 0; if (local_#14436 != 0) { assume { :LIR "39172" } { :back_translation "taking-then-branch" } true; goto CFG_39172; } else { assume { :LIR "45009" } { :back_translation "taking-else-branch" } true; goto CFG_45009; } CFG_45009: assume { :LIR "45009" } { :back_translation "block" } true; assume { :LIR "53769" } { :back_translation "assignment" } true; local_#14437 := local_#31683_loop; assume { :LIR "73068" } { :back_translation "visiting" } true; local_#14438 := 1; assume { :LIR "66471" } { :back_translation "visiting" } true; local_#31683_loop := local_#14437 + local_#14438; assume { :LIR "53770" } { :back_translation "assignment" } true; local_#14439 := local_#14437; goto CFG_49716; CFG_39172: assume { :LIR "39172" } { :back_translation "block" } true; assume { :LIR "53771" } { :back_translation "assignment" } true; local_#31685_io1 := local_#4194_val; assume { :LIR "53772" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_b == _memory[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_f == _memory_ptr[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_gc == _memory_ptr[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_i == _memory[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_p == _memory_ptr[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_tt_ == _memory[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 8 }]; call write_type_#101(local_#31685_io1,read_type_#101(_memory, _memory_ptr, local_#4195_slot)); assume { :LIR "60783" } { :back_translation "visiting" } true; local_#14440 := 0; assume { :LIR "73069" } { :back_translation "visiting" } true; local_#14441 := 0; assume { :LIR "60784" } { :back_translation "visiting" } true; local_#14442 := 0; goto CFG_37315; CFG_42509: assume { :LIR "42509" } { :back_translation "block" } true; assume { :LIR "62586" } { :back_translation "visiting" } true; local_#14443 := local_#4193_key; assume { :LIR "73070" } { :back_translation "visiting" } true; local_#14444 := 1; goto CFG_45967; CFG_45967: assume { :LIR "45967" } { :back_translation "block" } true; assume { :LIR "79504" } { :back_translation "visiting" } true; call routine_#33881_luaT_callTM(local_#4191_L,local_#31684_tm,local_#4192_t,local_#14443,local_#4194_val,local_#14444); goto CFG_39173; CFG_39173: assume { :LIR "39173" } { :back_translation "block" } true; goto CFG_37315; CFG_39174: assume { :LIR "39174" } { :back_translation "block" } true; goto CFG_37315; CFG_37315: assume { :LIR "37315" } { :back_translation "block" } true; _routine_#33896_luaV_finishget_SLICED_OUT_BLOCK: assume false; } procedure routine_#33897_luaV_finishset(local_#4196_L_IN : { base : int, offset : int }, local_#4197_t_IN : { base : int, offset : int }, local_#4198_key_IN : { base : int, offset : int }, local_#4199_val_IN : { base : int, offset : int }, local_#4200_slot_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#4196_L : { base : int, offset : int }; var local_#4197_t : { base : int, offset : int }; var local_#4198_key : { base : int, offset : int }; var local_#4199_val : { base : int, offset : int }; var local_#4200_slot : { base : int, offset : int }; var local_#31686_loop : int; var local_#14447 : int; var local_#14448 : int; var local_#14451 : { base : int, offset : int }; var local_#14452 : int; var local_#14453 : int; var local_#14454 : { base : int, offset : int }; var local_#31687_tm : { base : int, offset : int }; var local_#14455 : int; var local_#14456 : int; var local_#14459 : { base : int, offset : int }; var local_#14460 : { base : int, offset : int }; var local_#14461 : { base : int, offset : int }; var local_#31688_h : { base : int, offset : int }; var local_#14462 : int; var local_#14463 : int; var local_#14464 : { base : int, offset : int }; var local_#14465 : int; var local_#14466 : { base : int, offset : int }; var local_#14467 : int; var local_#14468 : int; var local_#14469 : int; var local_#14470 : { base : int, offset : int }; var local_#14471 : int; var local_#14472 : { base : int, offset : int }; var local_#14473 : { base : int, offset : int }; var local_#14474 : int; var local_#14475 : { base : int, offset : int }; var local_#14476 : { base : int, offset : int }; var local_#14477 : { base : int, offset : int }; var local_#30681 : { base : int, offset : int }; var local_#30682 : { base : int, offset : int }; var local_#14478 : { base : int, offset : int }; var local_#14479 : int; var local_#14480 : int; var local_#14481 : int; var local_#14482 : int; var local_#14483 : int; var local_#14484 : int; var local_#14485 : int; var local_#14486 : int; var local_#14487 : { base : int, offset : int }; var local_#14488 : { base : int, offset : int }; var local_#14489 : { base : int, offset : int }; var local_#14490 : { base : int, offset : int }; var local_#14491 : { base : int, offset : int }; var local_#14492 : { base : int, offset : int }; var local_#14493 : int; var local_#14494 : int; var local_#14495 : int; var local_#14496 : int; var local_#14497 : { base : int, offset : int }; var local_#14498 : { base : int, offset : int }; var local_#14499 : { base : int, offset : int }; var local_#14500 : int; var local_#14501 : int; var local_#14502 : int; var local_#14503 : { base : int, offset : int }; var local_#14504 : { base : int, offset : int }; var local_#14505 : int; var local_#14506 : int; var local_#14507 : int; var local_#14508 : int; var local_#14509 : int; var local_#14510 : { base : int, offset : int }; var local_#14511 : { base : int, offset : int }; var local_#14512 : { base : int, offset : int }; var local_#14513 : int; var local_#14514 : { base : int, offset : int }; var local_#14515 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14516 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14517 : int; var local_#14518 : int; var local_#30683 : int; var local_#14519 : int; var local_#14520 : int; var local_#14521 : { base : int, offset : int }; var local_#14522 : int; var local_#14523 : int; var local_#14524 : int; var local_#14525 : int; var local_#14526 : { base : int, offset : int }; var local_#14527 : int; var local_#14528 : int; var local_#14529 : { base : int, offset : int }; var local_#14530 : { base : int, offset : int }; var local_#14531 : { base : int, offset : int }; var local_#14532 : int; var local_#14533 : { base : int, offset : int }; var local_#14534 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14535 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14536 : int; var local_#14537 : int; var local_#14538 : int; var local_#14539 : int; var local_#14540 : int; var local_#14541 : int; var local_#14542 : int; var local_#14543 : { base : int, offset : int }; var local_#14544 : { base : int, offset : int }; var local_#14545 : int; var local_#14546 : int; var local_#14547 : int; var local_#14548 : int; var local_#14549 : int; havoc local_#4196_L; havoc local_#4197_t; havoc local_#4198_key; havoc local_#4199_val; havoc local_#4200_slot; havoc local_#31686_loop; havoc local_#14447; havoc local_#14448; havoc local_#14451; havoc local_#14452; havoc local_#14453; havoc local_#14454; havoc local_#31687_tm; havoc local_#14455; havoc local_#14456; havoc local_#14459; havoc local_#14460; havoc local_#14461; havoc local_#31688_h; havoc local_#14462; havoc local_#14463; havoc local_#14464; havoc local_#14465; havoc local_#14466; havoc local_#14467; havoc local_#14468; havoc local_#14469; havoc local_#14470; havoc local_#14471; havoc local_#14472; havoc local_#14473; havoc local_#14474; havoc local_#14475; havoc local_#14476; havoc local_#14477; havoc local_#30681; havoc local_#30682; havoc local_#14478; havoc local_#14479; havoc local_#14480; havoc local_#14481; havoc local_#14482; havoc local_#14483; havoc local_#14484; havoc local_#14485; havoc local_#14486; havoc local_#14487; havoc local_#14488; havoc local_#14489; havoc local_#14490; havoc local_#14491; havoc local_#14492; havoc local_#14493; havoc local_#14494; havoc local_#14495; havoc local_#14496; havoc local_#14497; havoc local_#14498; havoc local_#14499; havoc local_#14500; havoc local_#14501; havoc local_#14502; havoc local_#14503; havoc local_#14504; havoc local_#14505; havoc local_#14506; havoc local_#14507; havoc local_#14508; havoc local_#14509; havoc local_#14510; havoc local_#14511; havoc local_#14512; havoc local_#14513; havoc local_#14514; havoc local_#14515; havoc local_#14516; havoc local_#14517; havoc local_#14518; havoc local_#30683; havoc local_#14519; havoc local_#14520; havoc local_#14521; havoc local_#14522; havoc local_#14523; havoc local_#14524; havoc local_#14525; havoc local_#14526; havoc local_#14527; havoc local_#14528; havoc local_#14529; havoc local_#14530; havoc local_#14531; havoc local_#14532; havoc local_#14533; havoc local_#14534; havoc local_#14535; havoc local_#14536; havoc local_#14537; havoc local_#14538; havoc local_#14539; havoc local_#14540; havoc local_#14541; havoc local_#14542; havoc local_#14543; havoc local_#14544; havoc local_#14545; havoc local_#14546; havoc local_#14547; havoc local_#14548; havoc local_#14549; local_#4196_L := local_#4196_L_IN; local_#4197_t := local_#4197_t_IN; local_#4198_key := local_#4198_key_IN; local_#4199_val := local_#4199_val_IN; local_#4200_slot := local_#4200_slot_IN; goto CFG_36405; CFG_36405: assume { :LIR "36405" } { :back_translation "block" } true; goto CFG_41669; CFG_41669: assume { :LIR "41669" } { :back_translation "block" } true; assume { :LIR "73071" } { :back_translation "visiting" } true; local_#31686_loop := 0; goto CFG_49726; CFG_49726: assume { :LIR "49726" } { :back_translation "block" } true; assume { :LIR "73072" } { :back_translation "visiting" } true; local_#14447 := 2000; assume { :LIR "66175" } { :back_translation "visiting" } true; local_#14448 := (if local_#31686_loop < local_#14447 then 1 else 0); if (local_#14448 != 0) { assume { :LIR "49727" } { :back_translation "taking-then-branch" } true; goto CFG_49727; } else { assume { :LIR "42511" } { :back_translation "taking-else-branch" } true; goto _routine_#33897_luaV_finishset_SLICED_OUT_BLOCK; } CFG_49727: assume { :LIR "49727" } { :back_translation "block" } true; assume { :LIR "69852" } { :back_translation "visiting" } true; local_#14451 := { base : 0, offset : 0 }; assume { :LIR "65500" } { :back_translation "visiting" } true; local_#14452 := (if local_#4200_slot != local_#14451 then 1 else 0); if (local_#14452 != 0) { assume { :LIR "49729" } { :back_translation "taking-then-branch" } true; goto CFG_49729; } else { assume { :LIR "42512" } { :back_translation "taking-else-branch" } true; goto CFG_42512; } CFG_42512: assume { :LIR "42512" } { :back_translation "block" } true; assume { :LIR "73073" } { :back_translation "visiting" } true; local_#14453 := 1; goto CFG_45970; CFG_45970: assume { :LIR "45970" } { :back_translation "block" } true; assume { :LIR "79507" } { :back_translation "visiting" } true; call local_#14454 := routine_#33885_luaT_gettmbyobj(local_#4196_L,local_#4197_t,local_#14453); goto CFG_49728; CFG_49728: assume { :LIR "49728" } { :back_translation "block" } true; assume { :LIR "53773" } { :back_translation "assignment" } true; local_#31687_tm := local_#14454; assume { :LIR "73074" } { :back_translation "visiting" } true; local_#14455 := 0; assume { :LIR "64904" } { :back_translation "visiting" } true; local_#14456 := (if _memory[{ base : local_#31687_tm!base, offset : local_#31687_tm!offset + 8 }] == local_#14455 then 1 else 0); if (local_#14456 != 0) { assume { :LIR "42513" } { :back_translation "taking-then-branch" } true; goto _routine_#33897_luaV_finishset_SLICED_OUT_BLOCK; } else { assume { :LIR "40291" } { :back_translation "taking-else-branch" } true; goto CFG_40291; } CFG_40291: assume { :LIR "40291" } { :back_translation "block" } true; goto CFG_49732; CFG_49729: assume { :LIR "49729" } { :back_translation "block" } true; assume { :LIR "53774" } { :back_translation "assignment" } true; local_#14459 := { base : local_#4197_t!base, offset : local_#4197_t!offset + 0 }; assume { :LIR "60785" } { :back_translation "visiting" } true; local_#14460 := _memory_ptr[local_#14459]; assume { :LIR "53775" } { :back_translation "assignment" } true; local_#14461 := { base : local_#14460!base, offset : local_#14460!offset + 0 }; assume { :LIR "53776" } { :back_translation "assignment" } true; local_#31688_h := local_#14461; assume { :LIR "73075" } { :back_translation "visiting" } true; local_#14462 := 0; assume { :LIR "60786" } { :back_translation "visiting" } true; local_#14463 := 0; assume { :LIR "69853" } { :back_translation "visiting" } true; local_#14464 := { base : 0, offset : 0 }; assume { :LIR "64905" } { :back_translation "visiting" } true; local_#14465 := (if _memory_ptr[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 40 }] == local_#14464 then 1 else 0); if (local_#14465 != 0) { assume { :LIR "40295" } { :back_translation "taking-then-branch" } true; goto CFG_40295; } else { assume { :LIR "49730" } { :back_translation "taking-else-branch" } true; goto CFG_49730; } CFG_49730: assume { :LIR "49730" } { :back_translation "block" } true; assume { :LIR "53777" } { :back_translation "assignment" } true; local_#14466 := _memory_ptr[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 40 }]; assume { :LIR "62590" } { :back_translation "visiting" } true; local_#14467 := ~uwrap32(_memory[{ base : local_#14466!base, offset : local_#14466!offset + 10 }]); assume { :LIR "73076" } { :back_translation "visiting" } true; local_#14468 := 2; assume { :LIR "69018" } { :back_translation "visiting" } true; local_#14469 := ~uand32(local_#14467, local_#14468); if (local_#14469 != 0) { assume { :LIR "40293" } { :back_translation "taking-then-branch" } true; goto CFG_40293; } else { assume { :LIR "42514" } { :back_translation "taking-else-branch" } true; goto CFG_42514; } CFG_42514: assume { :LIR "42514" } { :back_translation "block" } true; assume { :LIR "53778" } { :back_translation "assignment" } true; local_#14470 := _memory_ptr[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 40 }]; assume { :LIR "73077" } { :back_translation "visiting" } true; local_#14471 := 1; assume { :LIR "53779" } { :back_translation "assignment" } true; local_#14472 := _memory_ptr[{ base : local_#4196_L!base, offset : local_#4196_L!offset + 24 }]; assume { :LIR "53780" } { :back_translation "assignment" } true; local_#14473 := { base : local_#14472!base, offset : local_#14472!offset + 224 }; assume { :LIR "73078" } { :back_translation "visiting" } true; local_#14474 := 1; assume { :LIR "67227" } { :back_translation "visiting" } true; local_#14475 := { base : local_#14473!base, offset : local_#14473!offset + 0 * 8 + local_#14474 * 8 }; assume { :LIR "53781" } { :back_translation "assignment" } true; local_#14476 := _memory_ptr[local_#14475]; goto CFG_45972; CFG_45972: assume { :LIR "45972" } { :back_translation "block" } true; assume { :LIR "79509" } { :back_translation "visiting" } true; call local_#14477 := routine_#33884_luaT_gettm(local_#14470,local_#14471,local_#14476); goto CFG_40292; CFG_40292: assume { :LIR "40292" } { :back_translation "block" } true; assume { :LIR "53782" } { :back_translation "assignment" } true; local_#30681 := local_#14477; goto CFG_40294; CFG_40293: assume { :LIR "40293" } { :back_translation "block" } true; assume { :LIR "69854" } { :back_translation "visiting" } true; local_#30681 := { base : 0, offset : 0 }; goto CFG_40294; CFG_40294: assume { :LIR "40294" } { :back_translation "block" } true; assume { :LIR "53783" } { :back_translation "assignment" } true; local_#30682 := local_#30681; goto CFG_49731; CFG_40295: assume { :LIR "40295" } { :back_translation "block" } true; assume { :LIR "69855" } { :back_translation "visiting" } true; local_#30682 := { base : 0, offset : 0 }; goto CFG_49731; CFG_49731: assume { :LIR "49731" } { :back_translation "block" } true; assume { :LIR "53784" } { :back_translation "assignment" } true; local_#31687_tm := local_#30682; assume { :LIR "69856" } { :back_translation "visiting" } true; local_#14478 := { base : 0, offset : 0 }; assume { :LIR "64906" } { :back_translation "visiting" } true; local_#14479 := (if local_#31687_tm == local_#14478 then 1 else 0); if (local_#14479 != 0) { assume { :LIR "49740" } { :back_translation "taking-then-branch" } true; goto CFG_49740; } else { assume { :LIR "40296" } { :back_translation "taking-else-branch" } true; goto CFG_40296; } CFG_40296: assume { :LIR "40296" } { :back_translation "block" } true; goto CFG_49732; CFG_49732: assume { :LIR "49732" } { :back_translation "block" } true; assume { :LIR "73079" } { :back_translation "visiting" } true; local_#14480 := 15; assume { :LIR "69019" } { :back_translation "visiting" } true; local_#14481 := ~sand32(_memory[{ base : local_#31687_tm!base, offset : local_#31687_tm!offset + 8 }], local_#14480); assume { :LIR "73080" } { :back_translation "visiting" } true; local_#14482 := 6; assume { :LIR "64907" } { :back_translation "visiting" } true; local_#14483 := (if local_#14481 == local_#14482 then 1 else 0); if (local_#14483 != 0) { assume { :LIR "42517" } { :back_translation "taking-then-branch" } true; goto CFG_42517; } else { assume { :LIR "49733" } { :back_translation "taking-else-branch" } true; goto CFG_49733; } CFG_49733: assume { :LIR "49733" } { :back_translation "block" } true; assume { :LIR "53785" } { :back_translation "assignment" } true; local_#4197_t := local_#31687_tm; assume { :LIR "73081" } { :back_translation "visiting" } true; local_#14484 := 69; assume { :LIR "64908" } { :back_translation "visiting" } true; local_#14485 := (if _memory[{ base : local_#4197_t!base, offset : local_#4197_t!offset + 8 }] == local_#14484 then 1 else 0); assume { :LIR "64529" } { :back_translation "visiting" } true; local_#14486 := (if local_#14485 != 0 then 0 else 1); if (local_#14486 != 0) { assume { :LIR "49739" } { :back_translation "taking-then-branch" } true; goto CFG_49739; } else { assume { :LIR "42515" } { :back_translation "taking-else-branch" } true; goto CFG_42515; } CFG_42515: assume { :LIR "42515" } { :back_translation "block" } true; assume { :LIR "53786" } { :back_translation "assignment" } true; local_#14487 := { base : local_#4197_t!base, offset : local_#4197_t!offset + 0 }; assume { :LIR "60787" } { :back_translation "visiting" } true; local_#14488 := _memory_ptr[local_#14487]; assume { :LIR "53787" } { :back_translation "assignment" } true; local_#14489 := { base : local_#14488!base, offset : local_#14488!offset + 0 }; assume { :LIR "62591" } { :back_translation "visiting" } true; local_#14490 := local_#4198_key; goto CFG_45973; CFG_45973: assume { :LIR "45973" } { :back_translation "block" } true; assume { :LIR "79510" } { :back_translation "visiting" } true; call local_#14491 := routine_#33767_luaH_get(local_#14489,local_#14490); goto CFG_49734; CFG_49734: assume { :LIR "49734" } { :back_translation "block" } true; assume { :LIR "53788" } { :back_translation "assignment" } true; local_#4200_slot := local_#14491; assume { :LIR "53789" } { :back_translation "assignment" } true; local_#14492 := local_#4200_slot; assume { :LIR "73082" } { :back_translation "visiting" } true; local_#14493 := 0; assume { :LIR "64909" } { :back_translation "visiting" } true; local_#14494 := (if _memory[{ base : local_#4200_slot!base, offset : local_#4200_slot!offset + 8 }] == local_#14493 then 1 else 0); if (local_#14494 != 0) { assume { :LIR "40300" } { :back_translation "taking-then-branch" } true; goto CFG_40300; } else { assume { :LIR "49735" } { :back_translation "taking-else-branch" } true; goto CFG_49735; } CFG_49735: assume { :LIR "49735" } { :back_translation "block" } true; assume { :LIR "73083" } { :back_translation "visiting" } true; local_#14495 := 64; assume { :LIR "69020" } { :back_translation "visiting" } true; local_#14496 := ~sand32(_memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 8 }], local_#14495); if (local_#14496 != 0) { assume { :LIR "49736" } { :back_translation "taking-then-branch" } true; goto CFG_49736; } else { assume { :LIR "40297" } { :back_translation "taking-else-branch" } true; goto CFG_40297; } CFG_49736: assume { :LIR "49736" } { :back_translation "block" } true; assume { :LIR "53790" } { :back_translation "assignment" } true; local_#14497 := { base : local_#4197_t!base, offset : local_#4197_t!offset + 0 }; assume { :LIR "60788" } { :back_translation "visiting" } true; local_#14498 := _memory_ptr[local_#14497]; assume { :LIR "53791" } { :back_translation "assignment" } true; local_#14499 := { base : local_#14498!base, offset : local_#14498!offset + 0 }; assume { :LIR "62592" } { :back_translation "visiting" } true; local_#14500 := _memory[{ base : local_#14499!base, offset : local_#14499!offset + 9 }]; assume { :LIR "73084" } { :back_translation "visiting" } true; local_#14501 := 4; assume { :LIR "69021" } { :back_translation "visiting" } true; local_#14502 := ~sand32(local_#14500, local_#14501); if (local_#14502 != 0) { assume { :LIR "49737" } { :back_translation "taking-then-branch" } true; goto CFG_49737; } else { assume { :LIR "40297" } { :back_translation "taking-else-branch" } true; goto CFG_40297; } CFG_49737: assume { :LIR "49737" } { :back_translation "block" } true; assume { :LIR "53792" } { :back_translation "assignment" } true; local_#14503 := { base : local_#4199_val!base, offset : local_#4199_val!offset + 0 }; assume { :LIR "53793" } { :back_translation "assignment" } true; local_#14504 := _memory_ptr[local_#14503]; assume { :LIR "62593" } { :back_translation "visiting" } true; local_#14505 := _memory[{ base : local_#14504!base, offset : local_#14504!offset + 9 }]; assume { :LIR "73085" } { :back_translation "visiting" } true; local_#14506 := 3; assume { :LIR "69022" } { :back_translation "visiting" } true; local_#14507 := ~sand32(local_#14505, local_#14506); if (local_#14507 != 0) { assume { :LIR "42516" } { :back_translation "taking-then-branch" } true; goto CFG_42516; } else { assume { :LIR "40297" } { :back_translation "taking-else-branch" } true; goto CFG_40297; } CFG_40297: assume { :LIR "40297" } { :back_translation "block" } true; assume { :LIR "73086" } { :back_translation "visiting" } true; local_#14508 := 0; assume { :LIR "60789" } { :back_translation "visiting" } true; local_#14509 := 0; goto CFG_40299; CFG_42516: assume { :LIR "42516" } { :back_translation "block" } true; assume { :LIR "53794" } { :back_translation "assignment" } true; local_#14510 := { base : local_#4197_t!base, offset : local_#4197_t!offset + 0 }; assume { :LIR "60790" } { :back_translation "visiting" } true; local_#14511 := _memory_ptr[local_#14510]; assume { :LIR "53795" } { :back_translation "assignment" } true; local_#14512 := { base : local_#14511!base, offset : local_#14511!offset + 0 }; goto CFG_45974; CFG_45974: assume { :LIR "45974" } { :back_translation "block" } true; assume { :LIR "79511" } { :back_translation "visiting" } true; call routine_#33721_luaC_barrierback_(local_#4196_L,local_#14512); goto CFG_40298; CFG_40298: assume { :LIR "40298" } { :back_translation "block" } true; goto CFG_40299; CFG_40299: assume { :LIR "40299" } { :back_translation "block" } true; assume { :LIR "60791" } { :back_translation "visiting" } true; local_#14513 := 0; assume { :LIR "60792" } { :back_translation "visiting" } true; local_#14514 := local_#4200_slot; assume { :LIR "53796" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_b == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_f == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_gc == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_i == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_p == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_tt_ == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 8 }]; call write_type_#101(local_#14514,read_type_#101(_memory, _memory_ptr, local_#4199_val)); assume { :LIR "53797" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_b == _memory[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_f == _memory_ptr[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_gc == _memory_ptr[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_i == _memory[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_p == _memory_ptr[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14514)!_tt_ == _memory[{ base : local_#14514!base, offset : local_#14514!offset + 8 }]; local_#14515 := read_type_#101(_memory, _memory_ptr, local_#14514); assume { :LIR "53798" } { :back_translation "assignment" } true; local_#14516 := local_#14515; assume { :LIR "73087" } { :back_translation "visiting" } true; local_#14517 := 0; assume { :LIR "60793" } { :back_translation "visiting" } true; local_#14518 := 0; assume { :LIR "73088" } { :back_translation "visiting" } true; local_#30683 := 1; goto CFG_49738; CFG_40300: assume { :LIR "40300" } { :back_translation "block" } true; assume { :LIR "73089" } { :back_translation "visiting" } true; local_#30683 := 0; goto CFG_49738; CFG_49738: assume { :LIR "49738" } { :back_translation "block" } true; assume { :LIR "53799" } { :back_translation "assignment" } true; local_#14519 := local_#30683; assume { :LIR "53800" } { :back_translation "assignment" } true; local_#14520 := local_#14519; if (local_#14520 != 0) { assume { :LIR "39175" } { :back_translation "taking-then-branch" } true; goto CFG_39175; } else { assume { :LIR "45010" } { :back_translation "taking-else-branch" } true; goto CFG_45010; } CFG_49739: assume { :LIR "49739" } { :back_translation "block" } true; assume { :LIR "69857" } { :back_translation "visiting" } true; local_#4200_slot := { base : 0, offset : 0 }; assume { :LIR "53801" } { :back_translation "assignment" } true; local_#14521 := local_#4200_slot; assume { :LIR "73090" } { :back_translation "visiting" } true; local_#14522 := 0; if (local_#14522 != 0) { assume { :LIR "39175" } { :back_translation "taking-then-branch" } true; goto CFG_39175; } else { assume { :LIR "45010" } { :back_translation "taking-else-branch" } true; goto CFG_45010; } CFG_45010: assume { :LIR "45010" } { :back_translation "block" } true; assume { :LIR "53802" } { :back_translation "assignment" } true; local_#14523 := local_#31686_loop; assume { :LIR "73091" } { :back_translation "visiting" } true; local_#14524 := 1; assume { :LIR "66472" } { :back_translation "visiting" } true; local_#31686_loop := local_#14523 + local_#14524; assume { :LIR "53803" } { :back_translation "assignment" } true; local_#14525 := local_#14523; goto CFG_49726; CFG_39175: assume { :LIR "39175" } { :back_translation "block" } true; goto CFG_37316; CFG_42517: assume { :LIR "42517" } { :back_translation "block" } true; assume { :LIR "62594" } { :back_translation "visiting" } true; local_#14526 := local_#4198_key; assume { :LIR "73092" } { :back_translation "visiting" } true; local_#14527 := 0; goto CFG_45975; CFG_45975: assume { :LIR "45975" } { :back_translation "block" } true; assume { :LIR "79512" } { :back_translation "visiting" } true; call routine_#33881_luaT_callTM(local_#4196_L,local_#31687_tm,local_#4197_t,local_#14526,local_#4199_val,local_#14527); goto CFG_39176; CFG_39176: assume { :LIR "39176" } { :back_translation "block" } true; goto CFG_37316; CFG_49740: assume { :LIR "49740" } { :back_translation "block" } true; assume { :LIR "64910" } { :back_translation "visiting" } true; local_#14528 := (if local_#4200_slot == global_#33098_luaO_nilobject_ then 1 else 0); if (local_#14528 != 0) { assume { :LIR "42518" } { :back_translation "taking-then-branch" } true; goto CFG_42518; } else { assume { :LIR "49741" } { :back_translation "taking-else-branch" } true; goto CFG_49741; } CFG_42518: assume { :LIR "42518" } { :back_translation "block" } true; assume { :LIR "62595" } { :back_translation "visiting" } true; local_#14529 := local_#4198_key; goto CFG_45976; CFG_45976: assume { :LIR "45976" } { :back_translation "block" } true; assume { :LIR "79513" } { :back_translation "visiting" } true; call local_#14530 := routine_#33773_luaH_newkey(local_#4196_L,local_#31688_h,local_#14529); goto CFG_40301; CFG_40301: assume { :LIR "40301" } { :back_translation "block" } true; assume { :LIR "62596" } { :back_translation "visiting" } true; local_#14531 := local_#14530; assume { :LIR "53804" } { :back_translation "assignment" } true; local_#4200_slot := local_#14531; goto CFG_49741; CFG_49741: assume { :LIR "49741" } { :back_translation "block" } true; assume { :LIR "60794" } { :back_translation "visiting" } true; local_#14532 := 0; assume { :LIR "60795" } { :back_translation "visiting" } true; local_#14533 := local_#4200_slot; assume { :LIR "53805" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_b == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_f == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_gc == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_i == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_p == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_tt_ == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 8 }]; call write_type_#101(local_#14533,read_type_#101(_memory, _memory_ptr, local_#4199_val)); assume { :LIR "53806" } { :back_translation "assignment" } true; assume read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_b == _memory[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_f == _memory_ptr[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_gc == _memory_ptr[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_i == _memory[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_p == _memory_ptr[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14533)!_tt_ == _memory[{ base : local_#14533!base, offset : local_#14533!offset + 8 }]; local_#14534 := read_type_#101(_memory, _memory_ptr, local_#14533); assume { :LIR "53807" } { :back_translation "assignment" } true; local_#14535 := local_#14534; assume { :LIR "73093" } { :back_translation "visiting" } true; local_#14536 := 0; assume { :LIR "60796" } { :back_translation "visiting" } true; local_#14537 := 0; assume { :LIR "73094" } { :back_translation "visiting" } true; _memory[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 10 }] := 0; assume { :LIR "73095" } { :back_translation "visiting" } true; local_#14538 := 64; assume { :LIR "69023" } { :back_translation "visiting" } true; local_#14539 := ~sand32(_memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 8 }], local_#14538); if (local_#14539 != 0) { assume { :LIR "49742" } { :back_translation "taking-then-branch" } true; goto CFG_49742; } else { assume { :LIR "40302" } { :back_translation "taking-else-branch" } true; goto CFG_40302; } CFG_49742: assume { :LIR "49742" } { :back_translation "block" } true; assume { :LIR "62597" } { :back_translation "visiting" } true; local_#14540 := _memory[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 9 }]; assume { :LIR "73096" } { :back_translation "visiting" } true; local_#14541 := 4; assume { :LIR "69024" } { :back_translation "visiting" } true; local_#14542 := ~sand32(local_#14540, local_#14541); if (local_#14542 != 0) { assume { :LIR "49743" } { :back_translation "taking-then-branch" } true; goto CFG_49743; } else { assume { :LIR "40302" } { :back_translation "taking-else-branch" } true; goto CFG_40302; } CFG_49743: assume { :LIR "49743" } { :back_translation "block" } true; assume { :LIR "53808" } { :back_translation "assignment" } true; local_#14543 := { base : local_#4199_val!base, offset : local_#4199_val!offset + 0 }; assume { :LIR "53809" } { :back_translation "assignment" } true; local_#14544 := _memory_ptr[local_#14543]; assume { :LIR "62598" } { :back_translation "visiting" } true; local_#14545 := _memory[{ base : local_#14544!base, offset : local_#14544!offset + 9 }]; assume { :LIR "73097" } { :back_translation "visiting" } true; local_#14546 := 3; assume { :LIR "69025" } { :back_translation "visiting" } true; local_#14547 := ~sand32(local_#14545, local_#14546); if (local_#14547 != 0) { assume { :LIR "45977" } { :back_translation "taking-then-branch" } true; goto CFG_45977; } else { assume { :LIR "40302" } { :back_translation "taking-else-branch" } true; goto CFG_40302; } CFG_40302: assume { :LIR "40302" } { :back_translation "block" } true; assume { :LIR "73098" } { :back_translation "visiting" } true; local_#14548 := 0; assume { :LIR "60797" } { :back_translation "visiting" } true; local_#14549 := 0; goto CFG_39177; CFG_45977: assume { :LIR "45977" } { :back_translation "block" } true; assume { :LIR "79514" } { :back_translation "visiting" } true; call routine_#33721_luaC_barrierback_(local_#4196_L,local_#31688_h); goto CFG_40303; CFG_40303: assume { :LIR "40303" } { :back_translation "block" } true; goto CFG_39177; CFG_39177: assume { :LIR "39177" } { :back_translation "block" } true; goto CFG_37316; CFG_39178: assume { :LIR "39178" } { :back_translation "block" } true; goto CFG_37316; CFG_37316: assume { :LIR "37316" } { :back_translation "block" } true; _routine_#33897_luaV_finishset_SLICED_OUT_BLOCK: assume false; } procedure routine_#33898_luaV_lessequal(local_#4201_L_IN : { base : int, offset : int }, local_#4202_l_IN : { base : int, offset : int }, local_#4203_r_IN : { base : int, offset : int }) returns (local_#7842 : int) modifies _memory; { var local_#4201_L : { base : int, offset : int }; var local_#4202_l : { base : int, offset : int }; var local_#4203_r : { base : int, offset : int }; var local_#14550 : int; var local_#14551 : int; var local_#14552 : int; var local_#14553 : int; var local_#14554 : int; var local_#14555 : int; var local_#14556 : int; var local_#14557 : int; var local_#14558 : int; var local_#14559 : int; var local_#14560 : int; var local_#14561 : int; var local_#14562 : int; var local_#14563 : int; var local_#14564 : int; var local_#14565 : int; var local_#14566 : int; var local_#14567 : int; var local_#31689_res : int; var local_#14568 : int; var local_#14569 : int; var local_#14570 : int; var local_#14571 : { base : int, offset : int }; var local_#14572 : int; var local_#14573 : int; var local_#14574 : int; var local_#14575 : int; var local_#14576 : int; var local_#14577 : { base : int, offset : int }; var local_#14578 : int; var local_#14579 : int; var local_#14580 : int; var local_#14581 : int; var local_#14582 : int; var local_#14583 : { base : int, offset : int }; var local_#14584 : { base : int, offset : int }; var local_#14585 : { base : int, offset : int }; var local_#14586 : { base : int, offset : int }; var local_#14587 : { base : int, offset : int }; var local_#14588 : { base : int, offset : int }; var local_#14589 : { base : int, offset : int }; var local_#14590 : { base : int, offset : int }; var local_#14591 : int; var local_#14592 : int; var local_#14593 : int; var local_#14594 : int; havoc local_#7842; havoc local_#4201_L; havoc local_#4202_l; havoc local_#4203_r; havoc local_#14550; havoc local_#14551; havoc local_#14552; havoc local_#14553; havoc local_#14554; havoc local_#14555; havoc local_#14556; havoc local_#14557; havoc local_#14558; havoc local_#14559; havoc local_#14560; havoc local_#14561; havoc local_#14562; havoc local_#14563; havoc local_#14564; havoc local_#14565; havoc local_#14566; havoc local_#14567; havoc local_#31689_res; havoc local_#14568; havoc local_#14569; havoc local_#14570; havoc local_#14571; havoc local_#14572; havoc local_#14573; havoc local_#14574; havoc local_#14575; havoc local_#14576; havoc local_#14577; havoc local_#14578; havoc local_#14579; havoc local_#14580; havoc local_#14581; havoc local_#14582; havoc local_#14583; havoc local_#14584; havoc local_#14585; havoc local_#14586; havoc local_#14587; havoc local_#14588; havoc local_#14589; havoc local_#14590; havoc local_#14591; havoc local_#14592; havoc local_#14593; havoc local_#14594; local_#4201_L := local_#4201_L_IN; local_#4202_l := local_#4202_l_IN; local_#4203_r := local_#4203_r_IN; goto CFG_36406; CFG_36406: assume { :LIR "36406" } { :back_translation "block" } true; goto CFG_49744; CFG_49744: assume { :LIR "49744" } { :back_translation "block" } true; assume { :LIR "73099" } { :back_translation "visiting" } true; local_#14550 := 15; assume { :LIR "69026" } { :back_translation "visiting" } true; local_#14551 := ~sand32(_memory[{ base : local_#4202_l!base, offset : local_#4202_l!offset + 8 }], local_#14550); assume { :LIR "73100" } { :back_translation "visiting" } true; local_#14552 := 3; assume { :LIR "64911" } { :back_translation "visiting" } true; local_#14553 := (if local_#14551 == local_#14552 then 1 else 0); if (local_#14553 != 0) { assume { :LIR "49745" } { :back_translation "taking-then-branch" } true; goto CFG_49745; } else { assume { :LIR "49746" } { :back_translation "taking-else-branch" } true; goto CFG_49746; } CFG_49745: assume { :LIR "49745" } { :back_translation "block" } true; assume { :LIR "73101" } { :back_translation "visiting" } true; local_#14554 := 15; assume { :LIR "69027" } { :back_translation "visiting" } true; local_#14555 := ~sand32(_memory[{ base : local_#4203_r!base, offset : local_#4203_r!offset + 8 }], local_#14554); assume { :LIR "73102" } { :back_translation "visiting" } true; local_#14556 := 3; assume { :LIR "64912" } { :back_translation "visiting" } true; local_#14557 := (if local_#14555 == local_#14556 then 1 else 0); if (local_#14557 != 0) { assume { :LIR "45982" } { :back_translation "taking-then-branch" } true; goto CFG_45982; } else { assume { :LIR "49746" } { :back_translation "taking-else-branch" } true; goto CFG_49746; } CFG_49746: assume { :LIR "49746" } { :back_translation "block" } true; assume { :LIR "73103" } { :back_translation "visiting" } true; local_#14558 := 15; assume { :LIR "69028" } { :back_translation "visiting" } true; local_#14559 := ~sand32(_memory[{ base : local_#4202_l!base, offset : local_#4202_l!offset + 8 }], local_#14558); assume { :LIR "73104" } { :back_translation "visiting" } true; local_#14560 := 4; assume { :LIR "64913" } { :back_translation "visiting" } true; local_#14561 := (if local_#14559 == local_#14560 then 1 else 0); if (local_#14561 != 0) { assume { :LIR "49747" } { :back_translation "taking-then-branch" } true; goto CFG_49747; } else { assume { :LIR "42519" } { :back_translation "taking-else-branch" } true; goto CFG_42519; } CFG_49747: assume { :LIR "49747" } { :back_translation "block" } true; assume { :LIR "73105" } { :back_translation "visiting" } true; local_#14562 := 15; assume { :LIR "69029" } { :back_translation "visiting" } true; local_#14563 := ~sand32(_memory[{ base : local_#4203_r!base, offset : local_#4203_r!offset + 8 }], local_#14562); assume { :LIR "73106" } { :back_translation "visiting" } true; local_#14564 := 4; assume { :LIR "64914" } { :back_translation "visiting" } true; local_#14565 := (if local_#14563 == local_#14564 then 1 else 0); if (local_#14565 != 0) { assume { :LIR "42521" } { :back_translation "taking-then-branch" } true; goto CFG_42521; } else { assume { :LIR "42519" } { :back_translation "taking-else-branch" } true; goto CFG_42519; } CFG_42519: assume { :LIR "42519" } { :back_translation "block" } true; assume { :LIR "73107" } { :back_translation "visiting" } true; local_#14566 := 21; goto CFG_45978; CFG_45978: assume { :LIR "45978" } { :back_translation "block" } true; assume { :LIR "79515" } { :back_translation "visiting" } true; call local_#14567 := routine_#33883_luaT_callorderTM(local_#4201_L,local_#4202_l,local_#4203_r,local_#14566); goto CFG_49748; CFG_49748: assume { :LIR "49748" } { :back_translation "block" } true; assume { :LIR "53810" } { :back_translation "assignment" } true; local_#31689_res := local_#14567; assume { :LIR "73108" } { :back_translation "visiting" } true; local_#14568 := 0; assume { :LIR "65711" } { :back_translation "visiting" } true; local_#14569 := (if local_#31689_res >= local_#14568 then 1 else 0); if (local_#14569 != 0) { assume { :LIR "38198" } { :back_translation "taking-then-branch" } true; goto CFG_38198; } else { assume { :LIR "42520" } { :back_translation "taking-else-branch" } true; goto CFG_42520; } CFG_42520: assume { :LIR "42520" } { :back_translation "block" } true; assume { :LIR "73109" } { :back_translation "visiting" } true; local_#14570 := 128; assume { :LIR "53811" } { :back_translation "assignment" } true; local_#14571 := _memory_ptr[{ base : local_#4201_L!base, offset : local_#4201_L!offset + 32 }]; assume { :LIR "62599" } { :back_translation "visiting" } true; local_#14572 := _memory[{ base : local_#14571!base, offset : local_#14571!offset + 66 }]; assume { :LIR "69373" } { :back_translation "visiting" } true; local_#14573 := ~sor32(local_#14572, local_#14570); assume { :LIR "62600" } { :back_translation "visiting" } true; _memory[{ base : local_#14571!base, offset : local_#14571!offset + 66 }] := ~uwrap16(local_#14573); assume { :LIR "73110" } { :back_translation "visiting" } true; local_#14574 := 20; goto CFG_45979; CFG_45979: assume { :LIR "45979" } { :back_translation "block" } true; assume { :LIR "79516" } { :back_translation "visiting" } true; call local_#14575 := routine_#33883_luaT_callorderTM(local_#4201_L,local_#4203_r,local_#4202_l,local_#14574); goto CFG_49749; CFG_49749: assume { :LIR "49749" } { :back_translation "block" } true; assume { :LIR "53812" } { :back_translation "assignment" } true; local_#31689_res := local_#14575; assume { :LIR "73111" } { :back_translation "visiting" } true; local_#14576 := 128; assume { :LIR "53813" } { :back_translation "assignment" } true; local_#14577 := _memory_ptr[{ base : local_#4201_L!base, offset : local_#4201_L!offset + 32 }]; assume { :LIR "62601" } { :back_translation "visiting" } true; local_#14578 := _memory[{ base : local_#14577!base, offset : local_#14577!offset + 66 }]; assume { :LIR "69438" } { :back_translation "visiting" } true; local_#14579 := ~sxor32(local_#14578, local_#14576); assume { :LIR "62602" } { :back_translation "visiting" } true; _memory[{ base : local_#14577!base, offset : local_#14577!offset + 66 }] := ~uwrap16(local_#14579); assume { :LIR "73112" } { :back_translation "visiting" } true; local_#14580 := 0; assume { :LIR "66176" } { :back_translation "visiting" } true; local_#14581 := (if local_#31689_res < local_#14580 then 1 else 0); if (local_#14581 != 0) { assume { :LIR "45980" } { :back_translation "taking-then-branch" } true; goto _routine_#33898_luaV_lessequal_SLICED_OUT_BLOCK; } else { assume { :LIR "38197" } { :back_translation "taking-else-branch" } true; goto CFG_38197; } CFG_38197: assume { :LIR "38197" } { :back_translation "block" } true; assume { :LIR "64530" } { :back_translation "visiting" } true; local_#14582 := (if local_#31689_res != 0 then 0 else 1); assume { :LIR "53814" } { :back_translation "assignment" } true; local_#7842 := local_#14582; goto CFG_37317; CFG_38198: assume { :LIR "38198" } { :back_translation "block" } true; assume { :LIR "53815" } { :back_translation "assignment" } true; local_#7842 := local_#31689_res; goto CFG_37317; CFG_42521: assume { :LIR "42521" } { :back_translation "block" } true; assume { :LIR "53816" } { :back_translation "assignment" } true; local_#14583 := { base : local_#4202_l!base, offset : local_#4202_l!offset + 0 }; assume { :LIR "60798" } { :back_translation "visiting" } true; local_#14584 := _memory_ptr[local_#14583]; assume { :LIR "53817" } { :back_translation "assignment" } true; local_#14585 := { base : local_#14584!base, offset : local_#14584!offset + 0 }; assume { :LIR "62603" } { :back_translation "visiting" } true; local_#14586 := local_#14585; assume { :LIR "53818" } { :back_translation "assignment" } true; local_#14587 := { base : local_#4203_r!base, offset : local_#4203_r!offset + 0 }; assume { :LIR "60799" } { :back_translation "visiting" } true; local_#14588 := _memory_ptr[local_#14587]; assume { :LIR "53819" } { :back_translation "assignment" } true; local_#14589 := { base : local_#14588!base, offset : local_#14588!offset + 0 }; assume { :LIR "62604" } { :back_translation "visiting" } true; local_#14590 := local_#14589; goto CFG_45981; CFG_45981: assume { :LIR "45981" } { :back_translation "block" } true; assume { :LIR "79518" } { :back_translation "visiting" } true; call local_#14591 := routine_#34851_l_strcmp(local_#14586,local_#14590); goto CFG_38199; CFG_38199: assume { :LIR "38199" } { :back_translation "block" } true; assume { :LIR "73113" } { :back_translation "visiting" } true; local_#14592 := 0; assume { :LIR "66027" } { :back_translation "visiting" } true; local_#14593 := (if local_#14591 <= local_#14592 then 1 else 0); assume { :LIR "53820" } { :back_translation "assignment" } true; local_#7842 := local_#14593; goto CFG_37317; CFG_45982: assume { :LIR "45982" } { :back_translation "block" } true; assume { :LIR "79519" } { :back_translation "visiting" } true; call local_#14594 := routine_#34554_LEnum(local_#4202_l,local_#4203_r); goto CFG_38200; CFG_38200: assume { :LIR "38200" } { :back_translation "block" } true; assume { :LIR "53821" } { :back_translation "assignment" } true; local_#7842 := local_#14594; goto CFG_37317; CFG_37317: assume { :LIR "37317" } { :back_translation "block" } true; _routine_#33898_luaV_lessequal_SLICED_OUT_BLOCK: assume false; } procedure routine_#33899_luaV_lessthan(local_#4204_L_IN : { base : int, offset : int }, local_#4205_l_IN : { base : int, offset : int }, local_#4206_r_IN : { base : int, offset : int }) returns (local_#7843 : int) { var local_#4204_L : { base : int, offset : int }; var local_#4205_l : { base : int, offset : int }; var local_#4206_r : { base : int, offset : int }; var local_#14595 : int; var local_#14596 : int; var local_#14597 : int; var local_#14598 : int; var local_#14599 : int; var local_#14600 : int; var local_#14601 : int; var local_#14602 : int; var local_#14603 : int; var local_#14604 : int; var local_#14605 : int; var local_#14606 : int; var local_#14607 : int; var local_#14608 : int; var local_#14609 : int; var local_#14610 : int; var local_#14611 : int; var local_#14612 : int; var local_#31690_res : int; var local_#14613 : int; var local_#14614 : int; var local_#14615 : { base : int, offset : int }; var local_#14616 : { base : int, offset : int }; var local_#14617 : { base : int, offset : int }; var local_#14618 : { base : int, offset : int }; var local_#14619 : { base : int, offset : int }; var local_#14620 : { base : int, offset : int }; var local_#14621 : { base : int, offset : int }; var local_#14622 : { base : int, offset : int }; var local_#14623 : int; var local_#14624 : int; var local_#14625 : int; var local_#14626 : int; havoc local_#7843; havoc local_#4204_L; havoc local_#4205_l; havoc local_#4206_r; havoc local_#14595; havoc local_#14596; havoc local_#14597; havoc local_#14598; havoc local_#14599; havoc local_#14600; havoc local_#14601; havoc local_#14602; havoc local_#14603; havoc local_#14604; havoc local_#14605; havoc local_#14606; havoc local_#14607; havoc local_#14608; havoc local_#14609; havoc local_#14610; havoc local_#14611; havoc local_#14612; havoc local_#31690_res; havoc local_#14613; havoc local_#14614; havoc local_#14615; havoc local_#14616; havoc local_#14617; havoc local_#14618; havoc local_#14619; havoc local_#14620; havoc local_#14621; havoc local_#14622; havoc local_#14623; havoc local_#14624; havoc local_#14625; havoc local_#14626; local_#4204_L := local_#4204_L_IN; local_#4205_l := local_#4205_l_IN; local_#4206_r := local_#4206_r_IN; goto CFG_36407; CFG_36407: assume { :LIR "36407" } { :back_translation "block" } true; goto CFG_49750; CFG_49750: assume { :LIR "49750" } { :back_translation "block" } true; assume { :LIR "73114" } { :back_translation "visiting" } true; local_#14595 := 15; assume { :LIR "69030" } { :back_translation "visiting" } true; local_#14596 := ~sand32(_memory[{ base : local_#4205_l!base, offset : local_#4205_l!offset + 8 }], local_#14595); assume { :LIR "73115" } { :back_translation "visiting" } true; local_#14597 := 3; assume { :LIR "64915" } { :back_translation "visiting" } true; local_#14598 := (if local_#14596 == local_#14597 then 1 else 0); if (local_#14598 != 0) { assume { :LIR "49751" } { :back_translation "taking-then-branch" } true; goto CFG_49751; } else { assume { :LIR "49752" } { :back_translation "taking-else-branch" } true; goto CFG_49752; } CFG_49751: assume { :LIR "49751" } { :back_translation "block" } true; assume { :LIR "73116" } { :back_translation "visiting" } true; local_#14599 := 15; assume { :LIR "69031" } { :back_translation "visiting" } true; local_#14600 := ~sand32(_memory[{ base : local_#4206_r!base, offset : local_#4206_r!offset + 8 }], local_#14599); assume { :LIR "73117" } { :back_translation "visiting" } true; local_#14601 := 3; assume { :LIR "64916" } { :back_translation "visiting" } true; local_#14602 := (if local_#14600 == local_#14601 then 1 else 0); if (local_#14602 != 0) { assume { :LIR "45986" } { :back_translation "taking-then-branch" } true; goto CFG_45986; } else { assume { :LIR "49752" } { :back_translation "taking-else-branch" } true; goto CFG_49752; } CFG_49752: assume { :LIR "49752" } { :back_translation "block" } true; assume { :LIR "73118" } { :back_translation "visiting" } true; local_#14603 := 15; assume { :LIR "69032" } { :back_translation "visiting" } true; local_#14604 := ~sand32(_memory[{ base : local_#4205_l!base, offset : local_#4205_l!offset + 8 }], local_#14603); assume { :LIR "73119" } { :back_translation "visiting" } true; local_#14605 := 4; assume { :LIR "64917" } { :back_translation "visiting" } true; local_#14606 := (if local_#14604 == local_#14605 then 1 else 0); if (local_#14606 != 0) { assume { :LIR "49753" } { :back_translation "taking-then-branch" } true; goto CFG_49753; } else { assume { :LIR "42522" } { :back_translation "taking-else-branch" } true; goto CFG_42522; } CFG_49753: assume { :LIR "49753" } { :back_translation "block" } true; assume { :LIR "73120" } { :back_translation "visiting" } true; local_#14607 := 15; assume { :LIR "69033" } { :back_translation "visiting" } true; local_#14608 := ~sand32(_memory[{ base : local_#4206_r!base, offset : local_#4206_r!offset + 8 }], local_#14607); assume { :LIR "73121" } { :back_translation "visiting" } true; local_#14609 := 4; assume { :LIR "64918" } { :back_translation "visiting" } true; local_#14610 := (if local_#14608 == local_#14609 then 1 else 0); if (local_#14610 != 0) { assume { :LIR "42523" } { :back_translation "taking-then-branch" } true; goto CFG_42523; } else { assume { :LIR "42522" } { :back_translation "taking-else-branch" } true; goto CFG_42522; } CFG_42522: assume { :LIR "42522" } { :back_translation "block" } true; assume { :LIR "73122" } { :back_translation "visiting" } true; local_#14611 := 20; goto CFG_45983; CFG_45983: assume { :LIR "45983" } { :back_translation "block" } true; assume { :LIR "79520" } { :back_translation "visiting" } true; call local_#14612 := routine_#33883_luaT_callorderTM(local_#4204_L,local_#4205_l,local_#4206_r,local_#14611); goto CFG_49754; CFG_49754: assume { :LIR "49754" } { :back_translation "block" } true; assume { :LIR "53822" } { :back_translation "assignment" } true; local_#31690_res := local_#14612; assume { :LIR "73123" } { :back_translation "visiting" } true; local_#14613 := 0; assume { :LIR "66177" } { :back_translation "visiting" } true; local_#14614 := (if local_#31690_res < local_#14613 then 1 else 0); if (local_#14614 != 0) { assume { :LIR "45984" } { :back_translation "taking-then-branch" } true; goto _routine_#33899_luaV_lessthan_SLICED_OUT_BLOCK; } else { assume { :LIR "40304" } { :back_translation "taking-else-branch" } true; goto CFG_40304; } CFG_40304: assume { :LIR "40304" } { :back_translation "block" } true; goto CFG_40305; CFG_40305: assume { :LIR "40305" } { :back_translation "block" } true; goto CFG_38201; CFG_38201: assume { :LIR "38201" } { :back_translation "block" } true; assume { :LIR "53823" } { :back_translation "assignment" } true; local_#7843 := local_#31690_res; goto CFG_37318; CFG_42523: assume { :LIR "42523" } { :back_translation "block" } true; assume { :LIR "53824" } { :back_translation "assignment" } true; local_#14615 := { base : local_#4205_l!base, offset : local_#4205_l!offset + 0 }; assume { :LIR "60800" } { :back_translation "visiting" } true; local_#14616 := _memory_ptr[local_#14615]; assume { :LIR "53825" } { :back_translation "assignment" } true; local_#14617 := { base : local_#14616!base, offset : local_#14616!offset + 0 }; assume { :LIR "62605" } { :back_translation "visiting" } true; local_#14618 := local_#14617; assume { :LIR "53826" } { :back_translation "assignment" } true; local_#14619 := { base : local_#4206_r!base, offset : local_#4206_r!offset + 0 }; assume { :LIR "60801" } { :back_translation "visiting" } true; local_#14620 := _memory_ptr[local_#14619]; assume { :LIR "53827" } { :back_translation "assignment" } true; local_#14621 := { base : local_#14620!base, offset : local_#14620!offset + 0 }; assume { :LIR "62606" } { :back_translation "visiting" } true; local_#14622 := local_#14621; goto CFG_45985; CFG_45985: assume { :LIR "45985" } { :back_translation "block" } true; assume { :LIR "79522" } { :back_translation "visiting" } true; call local_#14623 := routine_#34851_l_strcmp(local_#14618,local_#14622); goto CFG_38202; CFG_38202: assume { :LIR "38202" } { :back_translation "block" } true; assume { :LIR "73124" } { :back_translation "visiting" } true; local_#14624 := 0; assume { :LIR "66178" } { :back_translation "visiting" } true; local_#14625 := (if local_#14623 < local_#14624 then 1 else 0); assume { :LIR "53828" } { :back_translation "assignment" } true; local_#7843 := local_#14625; goto CFG_37318; CFG_45986: assume { :LIR "45986" } { :back_translation "block" } true; assume { :LIR "79523" } { :back_translation "visiting" } true; call local_#14626 := routine_#34556_LTnum(local_#4205_l,local_#4206_r); goto CFG_38203; CFG_38203: assume { :LIR "38203" } { :back_translation "block" } true; assume { :LIR "53829" } { :back_translation "assignment" } true; local_#7843 := local_#14626; goto CFG_37318; CFG_37318: assume { :LIR "37318" } { :back_translation "block" } true; _routine_#33899_luaV_lessthan_SLICED_OUT_BLOCK: assume false; } procedure routine_#33900_luaV_mod(local_#4207_L_IN : { base : int, offset : int }, local_#4208_m_IN : int, local_#4209_n_IN : int) returns (local_#7844 : int) { var local_#4207_L : { base : int, offset : int }; var local_#4208_m : int; var local_#4209_n : int; var local_#14627 : int; var local_#14628 : int; var local_#14629 : int; var local_#14630 : int; var local_#14631 : int; var local_#14632 : int; var local_#31691_r : int; var local_#14633 : int; var local_#14634 : int; var local_#14635 : int; var local_#14636 : int; var local_#14637 : int; var local_#14638 : int; var local_#14639 : int; havoc local_#7844; havoc local_#4207_L; havoc local_#4208_m; havoc local_#4209_n; havoc local_#14627; havoc local_#14628; havoc local_#14629; havoc local_#14630; havoc local_#14631; havoc local_#14632; havoc local_#31691_r; havoc local_#14633; havoc local_#14634; havoc local_#14635; havoc local_#14636; havoc local_#14637; havoc local_#14638; havoc local_#14639; local_#4207_L := local_#4207_L_IN; local_#4208_m := local_#4208_m_IN; local_#4209_n := local_#4209_n_IN; goto CFG_36408; CFG_36408: assume { :LIR "36408" } { :back_translation "block" } true; goto CFG_49755; CFG_49755: assume { :LIR "49755" } { :back_translation "block" } true; assume { :LIR "60802" } { :back_translation "visiting" } true; local_#14627 := ~uwrap64(local_#4209_n); assume { :LIR "73125" } { :back_translation "visiting" } true; local_#14628 := 1; assume { :LIR "66473" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#14629 := ~uwrap64(local_#14627 + local_#14628); assume { :LIR "73126" } { :back_translation "visiting" } true; local_#14630 := 1; assume { :LIR "66028" } { :back_translation "visiting" } true; local_#14631 := (if local_#14629 <= local_#14630 then 1 else 0); if (local_#14631 != 0) { assume { :LIR "49758" } { :back_translation "taking-then-branch" } true; goto CFG_49758; } else { assume { :LIR "49756" } { :back_translation "taking-else-branch" } true; goto CFG_49756; } CFG_49756: assume { :LIR "49756" } { :back_translation "block" } true; assume { :LIR "68659" } { :back_translation "visiting" } true; local_#14632 := local_#4208_m % local_#4209_n; assume { :LIR "53830" } { :back_translation "assignment" } true; local_#31691_r := local_#14632; assume { :LIR "73127" } { :back_translation "visiting" } true; local_#14633 := 0; assume { :LIR "65501" } { :back_translation "visiting" } true; local_#14634 := (if local_#31691_r != local_#14633 then 1 else 0); if (local_#14634 != 0) { assume { :LIR "49757" } { :back_translation "taking-then-branch" } true; goto CFG_49757; } else { assume { :LIR "38204" } { :back_translation "taking-else-branch" } true; goto CFG_38204; } CFG_49757: assume { :LIR "49757" } { :back_translation "block" } true; assume { :LIR "69439" } { :back_translation "visiting" } true; local_#14635 := ~sxor64(local_#4208_m, local_#4209_n); assume { :LIR "73128" } { :back_translation "visiting" } true; local_#14636 := 0; assume { :LIR "66179" } { :back_translation "visiting" } true; local_#14637 := (if local_#14635 < local_#14636 then 1 else 0); if (local_#14637 != 0) { assume { :LIR "40306" } { :back_translation "taking-then-branch" } true; goto CFG_40306; } else { assume { :LIR "38204" } { :back_translation "taking-else-branch" } true; goto CFG_38204; } CFG_40306: assume { :LIR "40306" } { :back_translation "block" } true; assume { :LIR "66474" } { :back_translation "visiting" } true; local_#31691_r := local_#31691_r + local_#4209_n; goto CFG_38204; CFG_38204: assume { :LIR "38204" } { :back_translation "block" } true; assume { :LIR "53831" } { :back_translation "assignment" } true; local_#7844 := local_#31691_r; goto CFG_37319; CFG_49758: assume { :LIR "49758" } { :back_translation "block" } true; assume { :LIR "73129" } { :back_translation "visiting" } true; local_#14638 := 0; assume { :LIR "64919" } { :back_translation "visiting" } true; local_#14639 := (if local_#4209_n == local_#14638 then 1 else 0); if (local_#14639 != 0) { assume { :LIR "42524" } { :back_translation "taking-then-branch" } true; goto _routine_#33900_luaV_mod_SLICED_OUT_BLOCK; } else { assume { :LIR "38205" } { :back_translation "taking-else-branch" } true; goto CFG_38205; } CFG_38205: assume { :LIR "38205" } { :back_translation "block" } true; assume { :LIR "73130" } { :back_translation "visiting" } true; local_#7844 := 0; goto CFG_37319; CFG_37319: assume { :LIR "37319" } { :back_translation "block" } true; _routine_#33900_luaV_mod_SLICED_OUT_BLOCK: assume false; } procedure routine_#33901_luaV_objlen(local_#4210_L_IN : { base : int, offset : int }, local_#4211_ra_IN : { base : int, offset : int }, local_#4212_rb_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#4210_L : { base : int, offset : int }; var local_#4211_ra : { base : int, offset : int }; var local_#4212_rb : { base : int, offset : int }; var local_#14642 : int; var local_#14643 : int; var local_#14644 : int; var local_#14645 : { base : int, offset : int }; var local_#31692_tm : { base : int, offset : int }; var local_#14646 : int; var local_#14647 : int; var local_#31696_io : { base : int, offset : int }; var local_#14650 : { base : int, offset : int }; var local_#14651 : { base : int, offset : int }; var local_#14652 : { base : int, offset : int }; var local_#14653 : { base : int, offset : int }; var local_#14654 : int; var local_#14655 : { base : int, offset : int }; var local_#31695_io : { base : int, offset : int }; var local_#14656 : { base : int, offset : int }; var local_#14657 : { base : int, offset : int }; var local_#14658 : { base : int, offset : int }; var local_#14659 : int; var local_#14660 : { base : int, offset : int }; var local_#14661 : { base : int, offset : int }; var local_#14662 : { base : int, offset : int }; var local_#14663 : { base : int, offset : int }; var local_#31693_h : { base : int, offset : int }; var local_#14664 : { base : int, offset : int }; var local_#14665 : int; var local_#14666 : { base : int, offset : int }; var local_#14667 : int; var local_#14668 : int; var local_#14669 : int; var local_#14670 : { base : int, offset : int }; var local_#14671 : int; var local_#14672 : { base : int, offset : int }; var local_#14673 : { base : int, offset : int }; var local_#14674 : int; var local_#14675 : { base : int, offset : int }; var local_#14676 : { base : int, offset : int }; var local_#14677 : { base : int, offset : int }; var local_#30684 : { base : int, offset : int }; var local_#30685 : { base : int, offset : int }; var local_#14678 : { base : int, offset : int }; var local_#31694_io : { base : int, offset : int }; var local_#14679 : int; var local_#14680 : int; var local_#14681 : { base : int, offset : int }; var local_#14682 : int; havoc local_#4210_L; havoc local_#4211_ra; havoc local_#4212_rb; havoc local_#14642; havoc local_#14643; havoc local_#14644; havoc local_#14645; havoc local_#31692_tm; havoc local_#14646; havoc local_#14647; havoc local_#31696_io; havoc local_#14650; havoc local_#14651; havoc local_#14652; havoc local_#14653; havoc local_#14654; havoc local_#14655; havoc local_#31695_io; havoc local_#14656; havoc local_#14657; havoc local_#14658; havoc local_#14659; havoc local_#14660; havoc local_#14661; havoc local_#14662; havoc local_#14663; havoc local_#31693_h; havoc local_#14664; havoc local_#14665; havoc local_#14666; havoc local_#14667; havoc local_#14668; havoc local_#14669; havoc local_#14670; havoc local_#14671; havoc local_#14672; havoc local_#14673; havoc local_#14674; havoc local_#14675; havoc local_#14676; havoc local_#14677; havoc local_#30684; havoc local_#30685; havoc local_#14678; havoc local_#31694_io; havoc local_#14679; havoc local_#14680; havoc local_#14681; havoc local_#14682; local_#4210_L := local_#4210_L_IN; local_#4211_ra := local_#4211_ra_IN; local_#4212_rb := local_#4212_rb_IN; goto CFG_36409; CFG_36409: assume { :LIR "36409" } { :back_translation "block" } true; goto CFG_51517; CFG_51517: assume { :LIR "51517" } { :back_translation "block" } true; assume { :LIR "73131" } { :back_translation "visiting" } true; local_#14642 := 63; assume { :LIR "69034" } { :back_translation "visiting" } true; local_#14643 := ~sand32(_memory[{ base : local_#4212_rb!base, offset : local_#4212_rb!offset + 8 }], local_#14642); if (local_#14643 == 5) { goto CFG_49760; } if (local_#14643 == 4) { goto CFG_39180; } if (local_#14643 == 20) { goto CFG_39179; } goto CFG_42525; CFG_42525: assume { :LIR "42525" } { :back_translation "block" } true; assume { :LIR "73132" } { :back_translation "visiting" } true; local_#14644 := 4; goto CFG_45988; CFG_45988: assume { :LIR "45988" } { :back_translation "block" } true; assume { :LIR "79525" } { :back_translation "visiting" } true; call local_#14645 := routine_#33885_luaT_gettmbyobj(local_#4210_L,local_#4212_rb,local_#14644); goto CFG_49759; CFG_49759: assume { :LIR "49759" } { :back_translation "block" } true; assume { :LIR "53832" } { :back_translation "assignment" } true; local_#31692_tm := local_#14645; assume { :LIR "73133" } { :back_translation "visiting" } true; local_#14646 := 0; assume { :LIR "64920" } { :back_translation "visiting" } true; local_#14647 := (if _memory[{ base : local_#31692_tm!base, offset : local_#31692_tm!offset + 8 }] == local_#14646 then 1 else 0); if (local_#14647 != 0) { assume { :LIR "42526" } { :back_translation "taking-then-branch" } true; goto _routine_#33901_luaV_objlen_SLICED_OUT_BLOCK; } else { assume { :LIR "39557" } { :back_translation "taking-else-branch" } true; goto CFG_39557; } CFG_39557: assume { :LIR "39557" } { :back_translation "block" } true; goto CFG_42529; CFG_39179: assume { :LIR "39179" } { :back_translation "block" } true; assume { :LIR "53833" } { :back_translation "assignment" } true; local_#31696_io := local_#4211_ra; assume { :LIR "53834" } { :back_translation "assignment" } true; local_#14650 := { base : local_#4212_rb!base, offset : local_#4212_rb!offset + 0 }; assume { :LIR "60803" } { :back_translation "visiting" } true; local_#14651 := _memory_ptr[local_#14650]; assume { :LIR "53835" } { :back_translation "assignment" } true; local_#14652 := { base : local_#14651!base, offset : local_#14651!offset + 0 }; assume { :LIR "53836" } { :back_translation "assignment" } true; local_#14653 := { base : local_#14652!base, offset : local_#14652!offset + 16 }; assume { :LIR "62609" } { :back_translation "visiting" } true; local_#14654 := _memory[local_#14653]; assume { :LIR "53837" } { :back_translation "assignment" } true; local_#14655 := { base : local_#31696_io!base, offset : local_#31696_io!offset + 0 }; assume { :LIR "53838" } { :back_translation "assignment" } true; _memory[local_#14655] := local_#14654; assume { :LIR "73134" } { :back_translation "visiting" } true; _memory[{ base : local_#31696_io!base, offset : local_#31696_io!offset + 8 }] := 19; goto CFG_37320; CFG_39180: assume { :LIR "39180" } { :back_translation "block" } true; assume { :LIR "53839" } { :back_translation "assignment" } true; local_#31695_io := local_#4211_ra; assume { :LIR "53840" } { :back_translation "assignment" } true; local_#14656 := { base : local_#4212_rb!base, offset : local_#4212_rb!offset + 0 }; assume { :LIR "60804" } { :back_translation "visiting" } true; local_#14657 := _memory_ptr[local_#14656]; assume { :LIR "53841" } { :back_translation "assignment" } true; local_#14658 := { base : local_#14657!base, offset : local_#14657!offset + 0 }; assume { :LIR "62610" } { :back_translation "visiting" } true; local_#14659 := _memory[{ base : local_#14658!base, offset : local_#14658!offset + 11 }]; assume { :LIR "53842" } { :back_translation "assignment" } true; local_#14660 := { base : local_#31695_io!base, offset : local_#31695_io!offset + 0 }; assume { :LIR "53843" } { :back_translation "assignment" } true; _memory[local_#14660] := local_#14659; assume { :LIR "73135" } { :back_translation "visiting" } true; _memory[{ base : local_#31695_io!base, offset : local_#31695_io!offset + 8 }] := 19; goto CFG_37320; CFG_49760: assume { :LIR "49760" } { :back_translation "block" } true; assume { :LIR "53844" } { :back_translation "assignment" } true; local_#14661 := { base : local_#4212_rb!base, offset : local_#4212_rb!offset + 0 }; assume { :LIR "60805" } { :back_translation "visiting" } true; local_#14662 := _memory_ptr[local_#14661]; assume { :LIR "53845" } { :back_translation "assignment" } true; local_#14663 := { base : local_#14662!base, offset : local_#14662!offset + 0 }; assume { :LIR "53846" } { :back_translation "assignment" } true; local_#31693_h := local_#14663; assume { :LIR "69858" } { :back_translation "visiting" } true; local_#14664 := { base : 0, offset : 0 }; assume { :LIR "64921" } { :back_translation "visiting" } true; local_#14665 := (if _memory_ptr[{ base : local_#31693_h!base, offset : local_#31693_h!offset + 40 }] == local_#14664 then 1 else 0); if (local_#14665 != 0) { assume { :LIR "40310" } { :back_translation "taking-then-branch" } true; goto CFG_40310; } else { assume { :LIR "49761" } { :back_translation "taking-else-branch" } true; goto CFG_49761; } CFG_49761: assume { :LIR "49761" } { :back_translation "block" } true; assume { :LIR "53847" } { :back_translation "assignment" } true; local_#14666 := _memory_ptr[{ base : local_#31693_h!base, offset : local_#31693_h!offset + 40 }]; assume { :LIR "62611" } { :back_translation "visiting" } true; local_#14667 := ~uwrap32(_memory[{ base : local_#14666!base, offset : local_#14666!offset + 10 }]); assume { :LIR "73136" } { :back_translation "visiting" } true; local_#14668 := 16; assume { :LIR "69035" } { :back_translation "visiting" } true; local_#14669 := ~uand32(local_#14667, local_#14668); if (local_#14669 != 0) { assume { :LIR "40308" } { :back_translation "taking-then-branch" } true; goto CFG_40308; } else { assume { :LIR "42527" } { :back_translation "taking-else-branch" } true; goto CFG_42527; } CFG_42527: assume { :LIR "42527" } { :back_translation "block" } true; assume { :LIR "53848" } { :back_translation "assignment" } true; local_#14670 := _memory_ptr[{ base : local_#31693_h!base, offset : local_#31693_h!offset + 40 }]; assume { :LIR "73137" } { :back_translation "visiting" } true; local_#14671 := 4; assume { :LIR "53849" } { :back_translation "assignment" } true; local_#14672 := _memory_ptr[{ base : local_#4210_L!base, offset : local_#4210_L!offset + 24 }]; assume { :LIR "53850" } { :back_translation "assignment" } true; local_#14673 := { base : local_#14672!base, offset : local_#14672!offset + 224 }; assume { :LIR "73138" } { :back_translation "visiting" } true; local_#14674 := 4; assume { :LIR "67228" } { :back_translation "visiting" } true; local_#14675 := { base : local_#14673!base, offset : local_#14673!offset + 0 * 8 + local_#14674 * 8 }; assume { :LIR "53851" } { :back_translation "assignment" } true; local_#14676 := _memory_ptr[local_#14675]; goto CFG_45990; CFG_45990: assume { :LIR "45990" } { :back_translation "block" } true; assume { :LIR "79527" } { :back_translation "visiting" } true; call local_#14677 := routine_#33884_luaT_gettm(local_#14670,local_#14671,local_#14676); goto CFG_40307; CFG_40307: assume { :LIR "40307" } { :back_translation "block" } true; assume { :LIR "53852" } { :back_translation "assignment" } true; local_#30684 := local_#14677; goto CFG_40309; CFG_40308: assume { :LIR "40308" } { :back_translation "block" } true; assume { :LIR "69859" } { :back_translation "visiting" } true; local_#30684 := { base : 0, offset : 0 }; goto CFG_40309; CFG_40309: assume { :LIR "40309" } { :back_translation "block" } true; assume { :LIR "53853" } { :back_translation "assignment" } true; local_#30685 := local_#30684; goto CFG_49762; CFG_40310: assume { :LIR "40310" } { :back_translation "block" } true; assume { :LIR "69860" } { :back_translation "visiting" } true; local_#30685 := { base : 0, offset : 0 }; goto CFG_49762; CFG_49762: assume { :LIR "49762" } { :back_translation "block" } true; assume { :LIR "53854" } { :back_translation "assignment" } true; local_#31692_tm := local_#30685; assume { :LIR "53855" } { :back_translation "assignment" } true; local_#14678 := local_#31692_tm; if (local_#14678 != { base : 0, offset : 0 }) { assume { :LIR "39558" } { :back_translation "taking-then-branch" } true; goto CFG_39558; } else { assume { :LIR "42528" } { :back_translation "taking-else-branch" } true; goto CFG_42528; } CFG_42528: assume { :LIR "42528" } { :back_translation "block" } true; assume { :LIR "53856" } { :back_translation "assignment" } true; local_#31694_io := local_#4211_ra; goto CFG_45991; CFG_45991: assume { :LIR "45991" } { :back_translation "block" } true; assume { :LIR "79528" } { :back_translation "visiting" } true; call local_#14679 := routine_#33769_luaH_getn(local_#31693_h); goto CFG_39181; CFG_39181: assume { :LIR "39181" } { :back_translation "block" } true; assume { :LIR "62612" } { :back_translation "visiting" } true; local_#14680 := local_#14679; assume { :LIR "53857" } { :back_translation "assignment" } true; local_#14681 := { base : local_#31694_io!base, offset : local_#31694_io!offset + 0 }; assume { :LIR "53858" } { :back_translation "assignment" } true; _memory[local_#14681] := local_#14680; assume { :LIR "73139" } { :back_translation "visiting" } true; _memory[{ base : local_#31694_io!base, offset : local_#31694_io!offset + 8 }] := 19; goto CFG_37320; CFG_39558: assume { :LIR "39558" } { :back_translation "block" } true; goto CFG_42529; CFG_42529: assume { :LIR "42529" } { :back_translation "block" } true; assume { :LIR "73140" } { :back_translation "visiting" } true; local_#14682 := 1; goto CFG_45992; CFG_45992: assume { :LIR "45992" } { :back_translation "block" } true; assume { :LIR "79529" } { :back_translation "visiting" } true; call routine_#33881_luaT_callTM(local_#4210_L,local_#31692_tm,local_#4212_rb,local_#4212_rb,local_#4211_ra,local_#14682); goto CFG_39182; CFG_39182: assume { :LIR "39182" } { :back_translation "block" } true; goto CFG_37320; CFG_41919: assume { :LIR "41919" } { :back_translation "block" } true; goto CFG_42529; CFG_37320: assume { :LIR "37320" } { :back_translation "block" } true; _routine_#33901_luaV_objlen_SLICED_OUT_BLOCK: assume false; } procedure routine_#33902_luaV_shiftl(local_#4213_x_IN : int, local_#4214_y_IN : int) returns (local_#7845 : int) { var local_#4213_x : int; var local_#4214_y : int; var local_#14683 : int; var local_#14684 : int; var local_#14685 : int; var local_#14686 : int; var local_#14687 : int; var local_#14688 : int; var local_#14689 : int; var local_#14690 : int; var local_#14691 : int; var local_#14692 : int; var local_#14693 : int; var local_#14694 : int; var local_#14695 : int; var local_#14696 : int; var local_#14697 : int; havoc local_#7845; havoc local_#4213_x; havoc local_#4214_y; havoc local_#14683; havoc local_#14684; havoc local_#14685; havoc local_#14686; havoc local_#14687; havoc local_#14688; havoc local_#14689; havoc local_#14690; havoc local_#14691; havoc local_#14692; havoc local_#14693; havoc local_#14694; havoc local_#14695; havoc local_#14696; havoc local_#14697; local_#4213_x := local_#4213_x_IN; local_#4214_y := local_#4214_y_IN; goto CFG_36410; CFG_36410: assume { :LIR "36410" } { :back_translation "block" } true; goto CFG_49763; CFG_49763: assume { :LIR "49763" } { :back_translation "block" } true; assume { :LIR "73141" } { :back_translation "visiting" } true; local_#14683 := 0; assume { :LIR "66180" } { :back_translation "visiting" } true; local_#14684 := (if local_#4214_y < local_#14683 then 1 else 0); if (local_#14684 != 0) { assume { :LIR "49765" } { :back_translation "taking-then-branch" } true; goto CFG_49765; } else { assume { :LIR "49764" } { :back_translation "taking-else-branch" } true; goto CFG_49764; } CFG_49764: assume { :LIR "49764" } { :back_translation "block" } true; assume { :LIR "73142" } { :back_translation "visiting" } true; local_#14685 := 64; assume { :LIR "65712" } { :back_translation "visiting" } true; local_#14686 := (if local_#4214_y >= local_#14685 then 1 else 0); if (local_#14686 != 0) { assume { :LIR "38207" } { :back_translation "taking-then-branch" } true; goto CFG_38207; } else { assume { :LIR "38206" } { :back_translation "taking-else-branch" } true; goto CFG_38206; } CFG_38206: assume { :LIR "38206" } { :back_translation "block" } true; assume { :LIR "60806" } { :back_translation "visiting" } true; local_#14687 := ~uwrap64(local_#4213_x); assume { :LIR "60807" } { :back_translation "visiting" } true; local_#14688 := ~uwrap64(local_#4214_y); assume { :LIR "69476" } { :back_translation "visiting" } true; local_#14689 := ~shl64(local_#14687, local_#14688); assume { :LIR "60808" } { :back_translation "visiting" } true; local_#14690 := local_#14689; assume { :LIR "53859" } { :back_translation "assignment" } true; local_#7845 := local_#14690; goto CFG_37321; CFG_38207: assume { :LIR "38207" } { :back_translation "block" } true; assume { :LIR "73143" } { :back_translation "visiting" } true; local_#7845 := 0; goto CFG_37321; CFG_49765: assume { :LIR "49765" } { :back_translation "block" } true; assume { :LIR "73144" } { :back_translation "visiting" } true; local_#14691 := -64; assume { :LIR "66029" } { :back_translation "visiting" } true; local_#14692 := (if local_#4214_y <= local_#14691 then 1 else 0); if (local_#14692 != 0) { assume { :LIR "38209" } { :back_translation "taking-then-branch" } true; goto CFG_38209; } else { assume { :LIR "38208" } { :back_translation "taking-else-branch" } true; goto CFG_38208; } CFG_38208: assume { :LIR "38208" } { :back_translation "block" } true; assume { :LIR "60809" } { :back_translation "visiting" } true; local_#14693 := ~uwrap64(local_#4213_x); assume { :LIR "64653" } { :back_translation "visiting" } true; local_#14694 := -local_#4214_y; assume { :LIR "60810" } { :back_translation "visiting" } true; local_#14695 := ~uwrap64(local_#14694); assume { :LIR "69707" } { :back_translation "visiting" } true; local_#14696 := ~lshr64(local_#14693, local_#14695); assume { :LIR "60811" } { :back_translation "visiting" } true; local_#14697 := local_#14696; assume { :LIR "53860" } { :back_translation "assignment" } true; local_#7845 := local_#14697; goto CFG_37321; CFG_38209: assume { :LIR "38209" } { :back_translation "block" } true; assume { :LIR "73145" } { :back_translation "visiting" } true; local_#7845 := 0; goto CFG_37321; CFG_37321: assume { :LIR "37321" } { :back_translation "block" } true; } procedure routine_#33903_luaV_tointeger(local_#4215_obj_IN : { base : int, offset : int }, local_#4216_p_IN : { base : int, offset : int }, local_#4217_mode_IN : int) returns (local_#7846 : int) modifies _memory; { var local_#4215_obj : { base : int, offset : int }; var local_#4216_p : { base : int, offset : int }; var local_#4217_mode : int; var local_#14698 : int; var local_#14699 : int; var local_#14700 : int; var local_#14701 : int; var local_#14702 : int; var local_#14703 : int; var local_#14704 : int; var local_#14705 : int; var local_#14706 : { base : int, offset : int }; var local_#14707 : { base : int, offset : int }; var local_#14708 : { base : int, offset : int }; var local_#14709 : { base : int, offset : int }; var local_#14710 : int; var local_#14711 : { base : int, offset : int }; var local_#14712 : { base : int, offset : int }; var local_#31697_v : { base : int, offset : int }; var local_#14713 : { base : int, offset : int }; var local_#14714 : int; var local_#14715 : { base : int, offset : int }; var local_#14716 : { base : int, offset : int }; var local_#14717 : { base : int, offset : int }; var local_#14718 : int; var local_#14719 : int; var local_#14720 : int; var local_#14721 : { base : int, offset : int }; var local_#14722 : { base : int, offset : int }; var local_#14723 : { base : int, offset : int }; var local_#14724 : { base : int, offset : int }; var local_#30686 : int; var local_#14725 : { base : int, offset : int }; var local_#14726 : { base : int, offset : int }; var local_#14727 : { base : int, offset : int }; var local_#14728 : int; var local_#14729 : int; var local_#14730 : int; var local_#14731 : int; var local_#14732 : { base : int, offset : int }; var local_#14733 : { base : int, offset : int }; var local_#14734 : { base : int, offset : int }; var nondet_#0 : int; var local_#31699_n : int; var local_#14735 : int; var local_#31698_f : int; var nondet_#1 : bool; var local_#14736 : int; var local_#14737 : int; var local_#14738 : int; var local_#14739 : int; var local_#14740 : int; var nondet_#2 : int; var local_#14741 : int; var nondet_#3 : int; var nondet_#4 : int; var local_#14742 : int; var nondet_#5 : bool; var local_#14743 : int; var nondet_#6 : int; var local_#14744 : int; var nondet_#7 : bool; var local_#14745 : int; var nondet_#8 : int; var local_#14746 : int; var local_#14747 : int; var local_#14748 : int; var local_#30687 : int; havoc local_#7846; havoc local_#4215_obj; havoc local_#4216_p; havoc local_#4217_mode; havoc local_#14698; havoc local_#14699; havoc local_#14700; havoc local_#14701; havoc local_#14702; havoc local_#14703; havoc local_#14704; havoc local_#14705; havoc local_#14706; havoc local_#14707; havoc local_#14708; havoc local_#14709; havoc local_#14710; havoc local_#14711; havoc local_#14712; havoc local_#31697_v; havoc local_#14713; havoc local_#14714; havoc local_#14715; havoc local_#14716; havoc local_#14717; havoc local_#14718; havoc local_#14719; havoc local_#14720; havoc local_#14721; havoc local_#14722; havoc local_#14723; havoc local_#14724; havoc local_#30686; havoc local_#14725; havoc local_#14726; havoc local_#14727; havoc local_#14728; havoc local_#14729; havoc local_#14730; havoc local_#14731; havoc local_#14732; havoc local_#14733; havoc local_#14734; havoc nondet_#0; havoc local_#31699_n; havoc local_#14735; havoc local_#31698_f; havoc nondet_#1; havoc local_#14736; havoc local_#14737; havoc local_#14738; havoc local_#14739; havoc local_#14740; havoc nondet_#2; havoc local_#14741; havoc nondet_#3; havoc nondet_#4; havoc local_#14742; havoc nondet_#5; havoc local_#14743; havoc nondet_#6; havoc local_#14744; havoc nondet_#7; havoc local_#14745; havoc nondet_#8; havoc local_#14746; havoc local_#14747; havoc local_#14748; havoc local_#30687; local_#4215_obj := local_#4215_obj_IN; local_#4216_p := local_#4216_p_IN; local_#4217_mode := local_#4217_mode_IN; goto CFG_36411; CFG_36411: assume { :LIR "36411" } { :back_translation "block" } true; goto CFG_41920; CFG_41920: assume { :LIR "41920" } { :back_translation "block" } true; goto CFG_49766; CFG_49766: assume { :LIR "49766" } { :back_translation "block" } true; assume { :LIR "73146" } { :back_translation "visiting" } true; local_#14698 := 3; assume { :LIR "64922" } { :back_translation "visiting" } true; local_#14699 := (if _memory[{ base : local_#4215_obj!base, offset : local_#4215_obj!offset + 8 }] == local_#14698 then 1 else 0); if (local_#14699 != 0) { assume { :LIR "42531" } { :back_translation "taking-then-branch" } true; goto CFG_42531; } else { assume { :LIR "49767" } { :back_translation "taking-else-branch" } true; goto CFG_49767; } CFG_49767: assume { :LIR "49767" } { :back_translation "block" } true; assume { :LIR "73147" } { :back_translation "visiting" } true; local_#14700 := 19; assume { :LIR "64923" } { :back_translation "visiting" } true; local_#14701 := (if _memory[{ base : local_#4215_obj!base, offset : local_#4215_obj!offset + 8 }] == local_#14700 then 1 else 0); if (local_#14701 != 0) { assume { :LIR "38211" } { :back_translation "taking-then-branch" } true; goto CFG_38211; } else { assume { :LIR "49768" } { :back_translation "taking-else-branch" } true; goto CFG_49768; } CFG_49768: assume { :LIR "49768" } { :back_translation "block" } true; assume { :LIR "73148" } { :back_translation "visiting" } true; local_#14702 := 15; assume { :LIR "69036" } { :back_translation "visiting" } true; local_#14703 := ~sand32(_memory[{ base : local_#4215_obj!base, offset : local_#4215_obj!offset + 8 }], local_#14702); assume { :LIR "73149" } { :back_translation "visiting" } true; local_#14704 := 4; assume { :LIR "64924" } { :back_translation "visiting" } true; local_#14705 := (if local_#14703 == local_#14704 then 1 else 0); if (local_#14705 != 0) { assume { :LIR "42530" } { :back_translation "taking-then-branch" } true; goto CFG_42530; } else { assume { :LIR "40313" } { :back_translation "taking-else-branch" } true; goto CFG_40313; } CFG_42530: assume { :LIR "42530" } { :back_translation "block" } true; assume { :LIR "53861" } { :back_translation "assignment" } true; local_#14706 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; assume { :LIR "60812" } { :back_translation "visiting" } true; local_#14707 := _memory_ptr[local_#14706]; assume { :LIR "53862" } { :back_translation "assignment" } true; local_#14708 := { base : local_#14707!base, offset : local_#14707!offset + 0 }; assume { :LIR "60813" } { :back_translation "visiting" } true; local_#14709 := local_#14708; assume { :LIR "73150" } { :back_translation "visiting" } true; local_#14710 := 24; assume { :LIR "67229" } { :back_translation "visiting" } true; local_#14711 := { base : local_#14709!base, offset : local_#14709!offset + local_#14710 * 1 }; assume { :LIR "62613" } { :back_translation "visiting" } true; local_#14712 := local_#14711; assume { :LIR "53863" } { :back_translation "assignment" } true; local_#14713 := local_#31697_v; goto CFG_45993; CFG_45993: assume { :LIR "45993" } { :back_translation "block" } true; assume { :LIR "79530" } { :back_translation "visiting" } true; call local_#14714 := routine_#33867_luaO_str2num(local_#14712,local_#14713); goto CFG_49769; CFG_49769: assume { :LIR "49769" } { :back_translation "block" } true; assume { :LIR "53864" } { :back_translation "assignment" } true; local_#14715 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; assume { :LIR "60814" } { :back_translation "visiting" } true; local_#14716 := _memory_ptr[local_#14715]; assume { :LIR "53865" } { :back_translation "assignment" } true; local_#14717 := { base : local_#14716!base, offset : local_#14716!offset + 0 }; assume { :LIR "62614" } { :back_translation "visiting" } true; local_#14718 := _memory[{ base : local_#14717!base, offset : local_#14717!offset + 8 }]; assume { :LIR "73151" } { :back_translation "visiting" } true; local_#14719 := 4; assume { :LIR "64925" } { :back_translation "visiting" } true; local_#14720 := (if local_#14718 == local_#14719 then 1 else 0); if (local_#14720 != 0) { assume { :LIR "40312" } { :back_translation "taking-then-branch" } true; goto CFG_40312; } else { assume { :LIR "40311" } { :back_translation "taking-else-branch" } true; goto CFG_40311; } CFG_40311: assume { :LIR "40311" } { :back_translation "block" } true; assume { :LIR "53866" } { :back_translation "assignment" } true; local_#14721 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; assume { :LIR "60815" } { :back_translation "visiting" } true; local_#14722 := _memory_ptr[local_#14721]; assume { :LIR "53867" } { :back_translation "assignment" } true; local_#14723 := { base : local_#14722!base, offset : local_#14722!offset + 0 }; assume { :LIR "53868" } { :back_translation "assignment" } true; local_#14724 := { base : local_#14723!base, offset : local_#14723!offset + 16 }; assume { :LIR "53869" } { :back_translation "assignment" } true; local_#30686 := _memory[local_#14724]; goto CFG_49770; CFG_40312: assume { :LIR "40312" } { :back_translation "block" } true; assume { :LIR "53870" } { :back_translation "assignment" } true; local_#14725 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; assume { :LIR "60816" } { :back_translation "visiting" } true; local_#14726 := _memory_ptr[local_#14725]; assume { :LIR "53871" } { :back_translation "assignment" } true; local_#14727 := { base : local_#14726!base, offset : local_#14726!offset + 0 }; assume { :LIR "62615" } { :back_translation "visiting" } true; local_#14728 := ~uwrap64(_memory[{ base : local_#14727!base, offset : local_#14727!offset + 11 }]); assume { :LIR "53872" } { :back_translation "assignment" } true; local_#30686 := local_#14728; goto CFG_49770; CFG_49770: assume { :LIR "49770" } { :back_translation "block" } true; assume { :LIR "73152" } { :back_translation "visiting" } true; local_#14729 := 1; assume { :LIR "66475" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#14730 := ~uwrap64(local_#30686 + local_#14729); assume { :LIR "64926" } { :back_translation "visiting" } true; local_#14731 := (if local_#14714 == local_#14730 then 1 else 0); if (local_#14731 != 0) { assume { :LIR "45250" } { :back_translation "taking-then-branch" } true; goto CFG_45250; } else { assume { :LIR "40313" } { :back_translation "taking-else-branch" } true; goto CFG_40313; } CFG_40313: assume { :LIR "40313" } { :back_translation "block" } true; goto CFG_40314; CFG_40314: assume { :LIR "40314" } { :back_translation "block" } true; goto CFG_38210; CFG_38210: assume { :LIR "38210" } { :back_translation "block" } true; assume { :LIR "73153" } { :back_translation "visiting" } true; local_#7846 := 0; goto CFG_37322; CFG_45250: assume { :LIR "45250" } { :back_translation "block" } true; assume { :LIR "62616" } { :back_translation "visiting" } true; local_#14732 := local_#31697_v; assume { :LIR "53873" } { :back_translation "assignment" } true; local_#4215_obj := local_#14732; goto CFG_49766; CFG_38211: assume { :LIR "38211" } { :back_translation "block" } true; assume { :LIR "53874" } { :back_translation "assignment" } true; local_#14733 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; assume { :LIR "53875" } { :back_translation "assignment" } true; _memory[local_#4216_p] := _memory[local_#14733]; assume { :LIR "73154" } { :back_translation "visiting" } true; local_#7846 := 1; goto CFG_37322; CFG_42531: assume { :LIR "42531" } { :back_translation "block" } true; assume { :LIR "53876" } { :back_translation "assignment" } true; local_#14734 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; assume { :LIR "53877" } { :back_translation "assignment" } true; havoc nondet_#0; local_#31699_n := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_45994; CFG_45994: assume { :LIR "45994" } { :back_translation "block" } true; assume { :LIR "79531" } { :back_translation "visiting" } true; call local_#14735 := routine_#33562_floor(local_#31699_n); goto CFG_49771; CFG_49771: assume { :LIR "49771" } { :back_translation "block" } true; assume { :LIR "53878" } { :back_translation "assignment" } true; local_#31698_f := local_#14735; assume { :LIR "65502" } { :back_translation "visiting" } true; havoc nondet_#1; local_#14736 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation != in 65502. */ then 1 else 0); if (local_#14736 != 0) { assume { :LIR "49772" } { :back_translation "taking-then-branch" } true; goto CFG_49772; } else { assume { :LIR "49774" } { :back_translation "taking-else-branch" } true; goto CFG_49774; } CFG_49772: assume { :LIR "49772" } { :back_translation "block" } true; assume { :LIR "73155" } { :back_translation "visiting" } true; local_#14737 := 0; assume { :LIR "64927" } { :back_translation "visiting" } true; local_#14738 := (if local_#4217_mode == local_#14737 then 1 else 0); if (local_#14738 != 0) { assume { :LIR "38213" } { :back_translation "taking-then-branch" } true; goto CFG_38213; } else { assume { :LIR "49773" } { :back_translation "taking-else-branch" } true; goto CFG_49773; } CFG_49773: assume { :LIR "49773" } { :back_translation "block" } true; assume { :LIR "73156" } { :back_translation "visiting" } true; local_#14739 := 1; assume { :LIR "65820" } { :back_translation "visiting" } true; local_#14740 := (if local_#4217_mode > local_#14739 then 1 else 0); if (local_#14740 != 0) { assume { :LIR "40315" } { :back_translation "taking-then-branch" } true; goto CFG_40315; } else { assume { :LIR "40316" } { :back_translation "taking-else-branch" } true; goto CFG_40316; } CFG_40315: assume { :LIR "40315" } { :back_translation "block" } true; assume { :LIR "78596" } { :back_translation "visiting" } true; havoc nondet_#2; local_#14741 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78596 */; assume { :LIR "66476" } { :back_translation "visiting" } true; havoc nondet_#3; local_#31698_f := nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66476. */; goto CFG_40316; CFG_40316: assume { :LIR "40316" } { :back_translation "block" } true; goto CFG_40317; CFG_40317: assume { :LIR "40317" } { :back_translation "block" } true; goto CFG_49774; CFG_49774: assume { :LIR "49774" } { :back_translation "block" } true; assume { :LIR "78597" } { :back_translation "visiting" } true; havoc nondet_#4; local_#14742 := nondet_#4 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78597 */; assume { :LIR "65713" } { :back_translation "visiting" } true; havoc nondet_#5; local_#14743 := (if nondet_#5 /* IR2BOOGIE-ERROR: Unsupported type for relation >= in 65713. */ then 1 else 0); if (local_#14743 != 0) { assume { :LIR "49775" } { :back_translation "taking-then-branch" } true; goto CFG_49775; } else { assume { :LIR "40318" } { :back_translation "taking-else-branch" } true; goto CFG_40318; } CFG_49775: assume { :LIR "49775" } { :back_translation "block" } true; assume { :LIR "78598" } { :back_translation "visiting" } true; havoc nondet_#6; local_#14744 := nondet_#6 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78598 */; assume { :LIR "66181" } { :back_translation "visiting" } true; havoc nondet_#7; local_#14745 := (if nondet_#7 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66181. */ then 1 else 0); if (local_#14745 != 0) { assume { :LIR "49776" } { :back_translation "taking-then-branch" } true; goto CFG_49776; } else { assume { :LIR "40318" } { :back_translation "taking-else-branch" } true; goto CFG_40318; } CFG_49776: assume { :LIR "49776" } { :back_translation "block" } true; assume { :LIR "60817" } { :back_translation "visiting" } true; havoc nondet_#8; local_#14746 := nondet_#8 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 60817 */; assume { :LIR "53879" } { :back_translation "assignment" } true; _memory[local_#4216_p] := local_#14746; assume { :LIR "53880" } { :back_translation "assignment" } true; local_#14747 := _memory[local_#4216_p]; assume { :LIR "73157" } { :back_translation "visiting" } true; local_#14748 := 1; if (local_#14748 != 0) { assume { :LIR "40319" } { :back_translation "taking-then-branch" } true; goto CFG_40319; } else { assume { :LIR "40318" } { :back_translation "taking-else-branch" } true; goto CFG_40318; } CFG_40318: assume { :LIR "40318" } { :back_translation "block" } true; assume { :LIR "78746" } { :back_translation "visiting" } true; local_#30687 := 0; goto CFG_38212; CFG_40319: assume { :LIR "40319" } { :back_translation "block" } true; assume { :LIR "78654" } { :back_translation "visiting" } true; local_#30687 := 1; goto CFG_38212; CFG_38212: assume { :LIR "38212" } { :back_translation "block" } true; assume { :LIR "53881" } { :back_translation "assignment" } true; local_#7846 := local_#30687; goto CFG_37322; CFG_38213: assume { :LIR "38213" } { :back_translation "block" } true; assume { :LIR "73158" } { :back_translation "visiting" } true; local_#7846 := 0; goto CFG_37322; CFG_37322: assume { :LIR "37322" } { :back_translation "block" } true; } procedure routine_#33904_luaV_tonumber_(local_#4218_obj_IN : { base : int, offset : int }, local_#4219_n_IN : { base : int, offset : int }) returns (local_#7847 : int) { var local_#4218_obj : { base : int, offset : int }; var local_#4219_n : { base : int, offset : int }; var local_#14749 : int; var local_#14750 : int; var local_#14751 : int; var local_#14752 : int; var local_#14753 : int; var local_#14754 : int; var local_#14755 : { base : int, offset : int }; var local_#14756 : { base : int, offset : int }; var local_#14757 : { base : int, offset : int }; var local_#14758 : { base : int, offset : int }; var local_#14759 : int; var local_#14760 : { base : int, offset : int }; var local_#14761 : { base : int, offset : int }; var local_#31700_v : { base : int, offset : int }; var local_#14762 : { base : int, offset : int }; var local_#14763 : int; var local_#14764 : { base : int, offset : int }; var local_#14765 : { base : int, offset : int }; var local_#14766 : { base : int, offset : int }; var local_#14767 : int; var local_#14768 : int; var local_#14769 : int; var local_#14770 : { base : int, offset : int }; var local_#14771 : { base : int, offset : int }; var local_#14772 : { base : int, offset : int }; var local_#14773 : { base : int, offset : int }; var local_#30688 : int; var local_#14774 : { base : int, offset : int }; var local_#14775 : { base : int, offset : int }; var local_#14776 : { base : int, offset : int }; var local_#14777 : int; var local_#14778 : int; var local_#14779 : int; var local_#14780 : int; var local_#14781 : int; var local_#14782 : int; var local_#14783 : { base : int, offset : int }; var nondet_#0 : int; var local_#30689 : int; var local_#14784 : { base : int, offset : int }; var nondet_#1 : int; var local_#14785 : int; var local_#14786 : { base : int, offset : int }; var nondet_#2 : int; var local_#14787 : int; havoc local_#7847; havoc local_#4218_obj; havoc local_#4219_n; havoc local_#14749; havoc local_#14750; havoc local_#14751; havoc local_#14752; havoc local_#14753; havoc local_#14754; havoc local_#14755; havoc local_#14756; havoc local_#14757; havoc local_#14758; havoc local_#14759; havoc local_#14760; havoc local_#14761; havoc local_#31700_v; havoc local_#14762; havoc local_#14763; havoc local_#14764; havoc local_#14765; havoc local_#14766; havoc local_#14767; havoc local_#14768; havoc local_#14769; havoc local_#14770; havoc local_#14771; havoc local_#14772; havoc local_#14773; havoc local_#30688; havoc local_#14774; havoc local_#14775; havoc local_#14776; havoc local_#14777; havoc local_#14778; havoc local_#14779; havoc local_#14780; havoc local_#14781; havoc local_#14782; havoc local_#14783; havoc nondet_#0; havoc local_#30689; havoc local_#14784; havoc nondet_#1; havoc local_#14785; havoc local_#14786; havoc nondet_#2; havoc local_#14787; local_#4218_obj := local_#4218_obj_IN; local_#4219_n := local_#4219_n_IN; goto CFG_36412; CFG_36412: assume { :LIR "36412" } { :back_translation "block" } true; goto CFG_49777; CFG_49777: assume { :LIR "49777" } { :back_translation "block" } true; assume { :LIR "73159" } { :back_translation "visiting" } true; local_#14749 := 19; assume { :LIR "64928" } { :back_translation "visiting" } true; local_#14750 := (if _memory[{ base : local_#4218_obj!base, offset : local_#4218_obj!offset + 8 }] == local_#14749 then 1 else 0); if (local_#14750 != 0) { assume { :LIR "38216" } { :back_translation "taking-then-branch" } true; goto CFG_38216; } else { assume { :LIR "49778" } { :back_translation "taking-else-branch" } true; goto CFG_49778; } CFG_49778: assume { :LIR "49778" } { :back_translation "block" } true; assume { :LIR "73160" } { :back_translation "visiting" } true; local_#14751 := 15; assume { :LIR "69037" } { :back_translation "visiting" } true; local_#14752 := ~sand32(_memory[{ base : local_#4218_obj!base, offset : local_#4218_obj!offset + 8 }], local_#14751); assume { :LIR "73161" } { :back_translation "visiting" } true; local_#14753 := 4; assume { :LIR "64929" } { :back_translation "visiting" } true; local_#14754 := (if local_#14752 == local_#14753 then 1 else 0); if (local_#14754 != 0) { assume { :LIR "42532" } { :back_translation "taking-then-branch" } true; goto CFG_42532; } else { assume { :LIR "38214" } { :back_translation "taking-else-branch" } true; goto CFG_38214; } CFG_42532: assume { :LIR "42532" } { :back_translation "block" } true; assume { :LIR "53882" } { :back_translation "assignment" } true; local_#14755 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; assume { :LIR "60818" } { :back_translation "visiting" } true; local_#14756 := _memory_ptr[local_#14755]; assume { :LIR "53883" } { :back_translation "assignment" } true; local_#14757 := { base : local_#14756!base, offset : local_#14756!offset + 0 }; assume { :LIR "60819" } { :back_translation "visiting" } true; local_#14758 := local_#14757; assume { :LIR "73162" } { :back_translation "visiting" } true; local_#14759 := 24; assume { :LIR "67230" } { :back_translation "visiting" } true; local_#14760 := { base : local_#14758!base, offset : local_#14758!offset + local_#14759 * 1 }; assume { :LIR "62617" } { :back_translation "visiting" } true; local_#14761 := local_#14760; assume { :LIR "53884" } { :back_translation "assignment" } true; local_#14762 := local_#31700_v; goto CFG_45995; CFG_45995: assume { :LIR "45995" } { :back_translation "block" } true; assume { :LIR "79532" } { :back_translation "visiting" } true; call local_#14763 := routine_#33867_luaO_str2num(local_#14761,local_#14762); goto CFG_49779; CFG_49779: assume { :LIR "49779" } { :back_translation "block" } true; assume { :LIR "53885" } { :back_translation "assignment" } true; local_#14764 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; assume { :LIR "60820" } { :back_translation "visiting" } true; local_#14765 := _memory_ptr[local_#14764]; assume { :LIR "53886" } { :back_translation "assignment" } true; local_#14766 := { base : local_#14765!base, offset : local_#14765!offset + 0 }; assume { :LIR "62618" } { :back_translation "visiting" } true; local_#14767 := _memory[{ base : local_#14766!base, offset : local_#14766!offset + 8 }]; assume { :LIR "73163" } { :back_translation "visiting" } true; local_#14768 := 4; assume { :LIR "64930" } { :back_translation "visiting" } true; local_#14769 := (if local_#14767 == local_#14768 then 1 else 0); if (local_#14769 != 0) { assume { :LIR "40321" } { :back_translation "taking-then-branch" } true; goto CFG_40321; } else { assume { :LIR "40320" } { :back_translation "taking-else-branch" } true; goto CFG_40320; } CFG_40320: assume { :LIR "40320" } { :back_translation "block" } true; assume { :LIR "53887" } { :back_translation "assignment" } true; local_#14770 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; assume { :LIR "60821" } { :back_translation "visiting" } true; local_#14771 := _memory_ptr[local_#14770]; assume { :LIR "53888" } { :back_translation "assignment" } true; local_#14772 := { base : local_#14771!base, offset : local_#14771!offset + 0 }; assume { :LIR "53889" } { :back_translation "assignment" } true; local_#14773 := { base : local_#14772!base, offset : local_#14772!offset + 16 }; assume { :LIR "53890" } { :back_translation "assignment" } true; local_#30688 := _memory[local_#14773]; goto CFG_49780; CFG_40321: assume { :LIR "40321" } { :back_translation "block" } true; assume { :LIR "53891" } { :back_translation "assignment" } true; local_#14774 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; assume { :LIR "60822" } { :back_translation "visiting" } true; local_#14775 := _memory_ptr[local_#14774]; assume { :LIR "53892" } { :back_translation "assignment" } true; local_#14776 := { base : local_#14775!base, offset : local_#14775!offset + 0 }; assume { :LIR "62619" } { :back_translation "visiting" } true; local_#14777 := ~uwrap64(_memory[{ base : local_#14776!base, offset : local_#14776!offset + 11 }]); assume { :LIR "53893" } { :back_translation "assignment" } true; local_#30688 := local_#14777; goto CFG_49780; CFG_49780: assume { :LIR "49780" } { :back_translation "block" } true; assume { :LIR "73164" } { :back_translation "visiting" } true; local_#14778 := 1; assume { :LIR "66477" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; local_#14779 := ~uwrap64(local_#30688 + local_#14778); assume { :LIR "64931" } { :back_translation "visiting" } true; local_#14780 := (if local_#14763 == local_#14779 then 1 else 0); if (local_#14780 != 0) { assume { :LIR "49781" } { :back_translation "taking-then-branch" } true; goto CFG_49781; } else { assume { :LIR "38214" } { :back_translation "taking-else-branch" } true; goto CFG_38214; } CFG_38214: assume { :LIR "38214" } { :back_translation "block" } true; assume { :LIR "73165" } { :back_translation "visiting" } true; local_#7847 := 0; goto CFG_37323; CFG_49781: assume { :LIR "49781" } { :back_translation "block" } true; assume { :LIR "73166" } { :back_translation "visiting" } true; local_#14781 := 19; assume { :LIR "64932" } { :back_translation "visiting" } true; local_#14782 := (if _memory[{ base : local_#31700_v!base, offset : local_#31700_v!offset + 8 }] == local_#14781 then 1 else 0); if (local_#14782 != 0) { assume { :LIR "40323" } { :back_translation "taking-then-branch" } true; goto CFG_40323; } else { assume { :LIR "40322" } { :back_translation "taking-else-branch" } true; goto CFG_40322; } CFG_40322: assume { :LIR "40322" } { :back_translation "block" } true; assume { :LIR "53894" } { :back_translation "assignment" } true; local_#14783 := { base : local_#31700_v!base, offset : local_#31700_v!offset + 0 }; assume { :LIR "53895" } { :back_translation "assignment" } true; havoc nondet_#0; local_#30689 := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_38215; CFG_40323: assume { :LIR "40323" } { :back_translation "block" } true; assume { :LIR "53896" } { :back_translation "assignment" } true; local_#14784 := { base : local_#31700_v!base, offset : local_#31700_v!offset + 0 }; assume { :LIR "60823" } { :back_translation "visiting" } true; havoc nondet_#1; local_#14785 := nondet_#1 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 60823 */; assume { :LIR "53897" } { :back_translation "assignment" } true; local_#30689 := local_#14785; goto CFG_38215; CFG_38215: assume { :LIR "38215" } { :back_translation "block" } true; assume { :LIR "53898" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "73167" } { :back_translation "visiting" } true; local_#7847 := 1; goto CFG_37323; CFG_38216: assume { :LIR "38216" } { :back_translation "block" } true; assume { :LIR "53899" } { :back_translation "assignment" } true; local_#14786 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; assume { :LIR "60824" } { :back_translation "visiting" } true; havoc nondet_#2; local_#14787 := nondet_#2 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 60824 */; assume { :LIR "53900" } { :back_translation "assignment" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "73168" } { :back_translation "visiting" } true; local_#7847 := 1; goto CFG_37323; CFG_37323: assume { :LIR "37323" } { :back_translation "block" } true; } procedure routine_#34007_luaopen_base(local_#4469_L_IN : { base : int, offset : int }) returns (local_#7917 : int) { var local_#4469_L : { base : int, offset : int }; havoc local_#7917; havoc local_#4469_L; local_#4469_L := local_#4469_L_IN; } procedure routine_#34008_luaopen_bit32(local_#4470_L_IN : { base : int, offset : int }) returns (local_#7918 : int) { var local_#4470_L : { base : int, offset : int }; havoc local_#7918; havoc local_#4470_L; local_#4470_L := local_#4470_L_IN; } procedure routine_#34009_luaopen_coroutine(local_#4471_L_IN : { base : int, offset : int }) returns (local_#7919 : int) { var local_#4471_L : { base : int, offset : int }; havoc local_#7919; havoc local_#4471_L; local_#4471_L := local_#4471_L_IN; } procedure routine_#34010_luaopen_debug(local_#4472_L_IN : { base : int, offset : int }) returns (local_#7920 : int) { var local_#4472_L : { base : int, offset : int }; havoc local_#7920; havoc local_#4472_L; local_#4472_L := local_#4472_L_IN; } procedure routine_#34011_luaopen_io(local_#4473_L_IN : { base : int, offset : int }) returns (local_#7921 : int) { var local_#4473_L : { base : int, offset : int }; havoc local_#7921; havoc local_#4473_L; local_#4473_L := local_#4473_L_IN; } procedure routine_#34012_luaopen_math(local_#4474_L_IN : { base : int, offset : int }) returns (local_#7922 : int) { var local_#4474_L : { base : int, offset : int }; havoc local_#7922; havoc local_#4474_L; local_#4474_L := local_#4474_L_IN; } procedure routine_#34013_luaopen_os(local_#4475_L_IN : { base : int, offset : int }) returns (local_#7923 : int) { var local_#4475_L : { base : int, offset : int }; havoc local_#7923; havoc local_#4475_L; local_#4475_L := local_#4475_L_IN; } procedure routine_#34014_luaopen_package(local_#4476_L_IN : { base : int, offset : int }) returns (local_#7924 : int) { var local_#4476_L : { base : int, offset : int }; havoc local_#7924; havoc local_#4476_L; local_#4476_L := local_#4476_L_IN; } procedure routine_#34015_luaopen_string(local_#4477_L_IN : { base : int, offset : int }) returns (local_#7925 : int) { var local_#4477_L : { base : int, offset : int }; havoc local_#7925; havoc local_#4477_L; local_#4477_L := local_#4477_L_IN; } procedure routine_#34016_luaopen_table(local_#4478_L_IN : { base : int, offset : int }) returns (local_#7926 : int) { var local_#4478_L : { base : int, offset : int }; havoc local_#7926; havoc local_#4478_L; local_#4478_L := local_#4478_L_IN; } procedure routine_#34017_luaopen_utf8(local_#4479_L_IN : { base : int, offset : int }) returns (local_#7927 : int) { var local_#4479_L : { base : int, offset : int }; havoc local_#7927; havoc local_#4479_L; local_#4479_L := local_#4479_L_IN; } procedure routine_#34060_pow(local_#4552___x_IN : int, local_#4553___y_IN : int) returns (external_return_#34060 : int); procedure routine_#34554_LEnum(local_#5355_l_IN : { base : int, offset : int }, local_#5356_r_IN : { base : int, offset : int }) returns (local_#7930 : int) { var local_#5355_l : { base : int, offset : int }; var local_#5356_r : { base : int, offset : int }; havoc local_#7930; havoc local_#5355_l; havoc local_#5356_r; local_#5355_l := local_#5355_l_IN; local_#5356_r := local_#5356_r_IN; } procedure routine_#34556_LTnum(local_#5359_l_IN : { base : int, offset : int }, local_#5360_r_IN : { base : int, offset : int }) returns (local_#7932 : int) { var local_#5359_l : { base : int, offset : int }; var local_#5360_r : { base : int, offset : int }; havoc local_#7932; havoc local_#5359_l; havoc local_#5360_r; local_#5359_l := local_#5359_l_IN; local_#5360_r := local_#5360_r_IN; } procedure routine_#34580_adjust_varargs(local_#5414_L_IN : { base : int, offset : int }, local_#5415_p_IN : { base : int, offset : int }, local_#5416_actual_IN : int) returns (local_#7941 : { base : int, offset : int }) { var local_#5414_L : { base : int, offset : int }; var local_#5415_p : { base : int, offset : int }; var local_#5416_actual : int; havoc local_#7941; havoc local_#5414_L; havoc local_#5415_p; havoc local_#5416_actual; local_#5414_L := local_#5414_L_IN; local_#5415_p := local_#5415_p_IN; local_#5416_actual := local_#5416_actual_IN; } procedure routine_#34596_b_and(local_#5455_L_IN : { base : int, offset : int }) returns (local_#7951 : int) { var local_#5455_L : { base : int, offset : int }; havoc local_#7951; havoc local_#5455_L; local_#5455_L := local_#5455_L_IN; } procedure routine_#34597_b_arshift(local_#5456_L_IN : { base : int, offset : int }) returns (local_#7952 : int) { var local_#5456_L : { base : int, offset : int }; havoc local_#7952; havoc local_#5456_L; local_#5456_L := local_#5456_L_IN; } procedure routine_#34598_b_extract(local_#5457_L_IN : { base : int, offset : int }) returns (local_#7953 : int) { var local_#5457_L : { base : int, offset : int }; havoc local_#7953; havoc local_#5457_L; local_#5457_L := local_#5457_L_IN; } procedure routine_#34599_b_lrot(local_#5458_L_IN : { base : int, offset : int }) returns (local_#7954 : int) { var local_#5458_L : { base : int, offset : int }; havoc local_#7954; havoc local_#5458_L; local_#5458_L := local_#5458_L_IN; } procedure routine_#34600_b_lshift(local_#5459_L_IN : { base : int, offset : int }) returns (local_#7955 : int) { var local_#5459_L : { base : int, offset : int }; havoc local_#7955; havoc local_#5459_L; local_#5459_L := local_#5459_L_IN; } procedure routine_#34601_b_not(local_#5460_L_IN : { base : int, offset : int }) returns (local_#7956 : int) { var local_#5460_L : { base : int, offset : int }; havoc local_#7956; havoc local_#5460_L; local_#5460_L := local_#5460_L_IN; } procedure routine_#34602_b_or(local_#5461_L_IN : { base : int, offset : int }) returns (local_#7957 : int) { var local_#5461_L : { base : int, offset : int }; havoc local_#7957; havoc local_#5461_L; local_#5461_L := local_#5461_L_IN; } procedure routine_#34603_b_replace(local_#5462_L_IN : { base : int, offset : int }) returns (local_#7958 : int) { var local_#5462_L : { base : int, offset : int }; havoc local_#7958; havoc local_#5462_L; local_#5462_L := local_#5462_L_IN; } procedure routine_#34605_b_rrot(local_#5465_L_IN : { base : int, offset : int }) returns (local_#7960 : int) { var local_#5465_L : { base : int, offset : int }; havoc local_#7960; havoc local_#5465_L; local_#5465_L := local_#5465_L_IN; } procedure routine_#34606_b_rshift(local_#5466_L_IN : { base : int, offset : int }) returns (local_#7961 : int) { var local_#5466_L : { base : int, offset : int }; havoc local_#7961; havoc local_#5466_L; local_#5466_L := local_#5466_L_IN; } procedure routine_#34609_b_test(local_#5473_L_IN : { base : int, offset : int }) returns (local_#7964 : int) { var local_#5473_L : { base : int, offset : int }; havoc local_#7964; havoc local_#5473_L; local_#5473_L := local_#5473_L_IN; } procedure routine_#34610_b_xor(local_#5474_L_IN : { base : int, offset : int }) returns (local_#7965 : int) { var local_#5474_L : { base : int, offset : int }; havoc local_#7965; havoc local_#5474_L; local_#5474_L := local_#5474_L_IN; } procedure routine_#34615_boxgc(local_#5484_L_IN : { base : int, offset : int }) returns (local_#7968 : int) { var local_#5484_L : { base : int, offset : int }; havoc local_#7968; havoc local_#5484_L; local_#5484_L := local_#5484_L_IN; } procedure routine_#34617_byteoffset(local_#5486_L_IN : { base : int, offset : int }) returns (local_#7969 : int) { var local_#5486_L : { base : int, offset : int }; havoc local_#7969; havoc local_#5486_L; local_#5486_L := local_#5486_L_IN; } procedure routine_#34619_callhook(local_#5488_L_IN : { base : int, offset : int }, local_#5489_ci_IN : { base : int, offset : int }) returns () { var local_#5488_L : { base : int, offset : int }; var local_#5489_ci : { base : int, offset : int }; havoc local_#5488_L; havoc local_#5489_ci; local_#5488_L := local_#5488_L_IN; local_#5489_ci := local_#5489_ci_IN; } procedure routine_#34657_codepoint(local_#5586_L_IN : { base : int, offset : int }) returns (local_#7983 : int) { var local_#5586_L : { base : int, offset : int }; havoc local_#7983; havoc local_#5586_L; local_#5586_L := local_#5586_L_IN; } procedure routine_#34668_copy2buff(local_#5613_top_IN : { base : int, offset : int }, local_#5614_n_IN : int, local_#5615_buff_IN : { base : int, offset : int }) returns () { var local_#5613_top : { base : int, offset : int }; var local_#5614_n : int; var local_#5615_buff : { base : int, offset : int }; havoc local_#5613_top; havoc local_#5614_n; havoc local_#5615_buff; local_#5613_top := local_#5613_top_IN; local_#5614_n := local_#5614_n_IN; local_#5615_buff := local_#5615_buff_IN; } procedure routine_#34681_db_debug(local_#5642_L_IN : { base : int, offset : int }) returns (local_#7993 : int) { var local_#5642_L : { base : int, offset : int }; havoc local_#7993; havoc local_#5642_L; local_#5642_L := local_#5642_L_IN; } procedure routine_#34682_db_gethook(local_#5643_L_IN : { base : int, offset : int }) returns (local_#7994 : int) { var local_#5643_L : { base : int, offset : int }; havoc local_#7994; havoc local_#5643_L; local_#5643_L := local_#5643_L_IN; } procedure routine_#34683_db_getinfo(local_#5644_L_IN : { base : int, offset : int }) returns (local_#7995 : int) { var local_#5644_L : { base : int, offset : int }; havoc local_#7995; havoc local_#5644_L; local_#5644_L := local_#5644_L_IN; } procedure routine_#34684_db_getlocal(local_#5645_L_IN : { base : int, offset : int }) returns (local_#7996 : int) { var local_#5645_L : { base : int, offset : int }; havoc local_#7996; havoc local_#5645_L; local_#5645_L := local_#5645_L_IN; } procedure routine_#34685_db_getmetatable(local_#5646_L_IN : { base : int, offset : int }) returns (local_#7997 : int) { var local_#5646_L : { base : int, offset : int }; havoc local_#7997; havoc local_#5646_L; local_#5646_L := local_#5646_L_IN; } procedure routine_#34686_db_getregistry(local_#5647_L_IN : { base : int, offset : int }) returns (local_#7998 : int) { var local_#5647_L : { base : int, offset : int }; havoc local_#7998; havoc local_#5647_L; local_#5647_L := local_#5647_L_IN; } procedure routine_#34687_db_getupvalue(local_#5648_L_IN : { base : int, offset : int }) returns (local_#7999 : int) { var local_#5648_L : { base : int, offset : int }; havoc local_#7999; havoc local_#5648_L; local_#5648_L := local_#5648_L_IN; } procedure routine_#34688_db_getuservalue(local_#5649_L_IN : { base : int, offset : int }) returns (local_#8000 : int) { var local_#5649_L : { base : int, offset : int }; havoc local_#8000; havoc local_#5649_L; local_#5649_L := local_#5649_L_IN; } procedure routine_#34689_db_sethook(local_#5650_L_IN : { base : int, offset : int }) returns (local_#8001 : int) { var local_#5650_L : { base : int, offset : int }; havoc local_#8001; havoc local_#5650_L; local_#5650_L := local_#5650_L_IN; } procedure routine_#34690_db_setlocal(local_#5651_L_IN : { base : int, offset : int }) returns (local_#8002 : int) { var local_#5651_L : { base : int, offset : int }; havoc local_#8002; havoc local_#5651_L; local_#5651_L := local_#5651_L_IN; } procedure routine_#34691_db_setmetatable(local_#5652_L_IN : { base : int, offset : int }) returns (local_#8003 : int) { var local_#5652_L : { base : int, offset : int }; havoc local_#8003; havoc local_#5652_L; local_#5652_L := local_#5652_L_IN; } procedure routine_#34692_db_setupvalue(local_#5653_L_IN : { base : int, offset : int }) returns (local_#8004 : int) { var local_#5653_L : { base : int, offset : int }; havoc local_#8004; havoc local_#5653_L; local_#5653_L := local_#5653_L_IN; } procedure routine_#34693_db_setuservalue(local_#5654_L_IN : { base : int, offset : int }) returns (local_#8005 : int) { var local_#5654_L : { base : int, offset : int }; havoc local_#8005; havoc local_#5654_L; local_#5654_L := local_#5654_L_IN; } procedure routine_#34694_db_traceback(local_#5655_L_IN : { base : int, offset : int }) returns (local_#8006 : int) { var local_#5655_L : { base : int, offset : int }; havoc local_#8006; havoc local_#5655_L; local_#5655_L := local_#5655_L_IN; } procedure routine_#34695_db_upvalueid(local_#5656_L_IN : { base : int, offset : int }) returns (local_#8007 : int) { var local_#5656_L : { base : int, offset : int }; havoc local_#8007; havoc local_#5656_L; local_#5656_L := local_#5656_L_IN; } procedure routine_#34696_db_upvaluejoin(local_#5657_L_IN : { base : int, offset : int }) returns (local_#8008 : int) { var local_#5657_L : { base : int, offset : int }; havoc local_#8008; havoc local_#5657_L; local_#5657_L := local_#5657_L_IN; } procedure routine_#34705_dofilecont(local_#5673_L_IN : { base : int, offset : int }, local_#5674_d1_IN : int, local_#5675_d2_IN : int) returns (local_#8013 : int) { var local_#5673_L : { base : int, offset : int }; var local_#5674_d1 : int; var local_#5675_d2 : int; havoc local_#8013; havoc local_#5673_L; havoc local_#5674_d1; havoc local_#5675_d2; local_#5673_L := local_#5673_L_IN; local_#5674_d1 := local_#5674_d1_IN; local_#5675_d2 := local_#5675_d2_IN; } procedure routine_#34724_f_close(local_#5715_L_IN : { base : int, offset : int }) returns (local_#8020 : int) { var local_#5715_L : { base : int, offset : int }; havoc local_#8020; havoc local_#5715_L; local_#5715_L := local_#5715_L_IN; } procedure routine_#34725_f_flush(local_#5716_L_IN : { base : int, offset : int }) returns (local_#8021 : int) { var local_#5716_L : { base : int, offset : int }; havoc local_#8021; havoc local_#5716_L; local_#5716_L := local_#5716_L_IN; } procedure routine_#34726_f_gc(local_#5717_L_IN : { base : int, offset : int }) returns (local_#8022 : int) { var local_#5717_L : { base : int, offset : int }; havoc local_#8022; havoc local_#5717_L; local_#5717_L := local_#5717_L_IN; } procedure routine_#34727_f_lines(local_#5718_L_IN : { base : int, offset : int }) returns (local_#8023 : int) { var local_#5718_L : { base : int, offset : int }; havoc local_#8023; havoc local_#5718_L; local_#5718_L := local_#5718_L_IN; } procedure routine_#34730_f_read(local_#5723_L_IN : { base : int, offset : int }) returns (local_#8024 : int) { var local_#5723_L : { base : int, offset : int }; havoc local_#8024; havoc local_#5723_L; local_#5723_L := local_#5723_L_IN; } procedure routine_#34731_f_seek(local_#5724_L_IN : { base : int, offset : int }) returns (local_#8025 : int) { var local_#5724_L : { base : int, offset : int }; havoc local_#8025; havoc local_#5724_L; local_#5724_L := local_#5724_L_IN; } procedure routine_#34732_f_setvbuf(local_#5725_L_IN : { base : int, offset : int }) returns (local_#8026 : int) { var local_#5725_L : { base : int, offset : int }; havoc local_#8026; havoc local_#5725_L; local_#5725_L := local_#5725_L_IN; } procedure routine_#34733_f_tostring(local_#5726_L_IN : { base : int, offset : int }) returns (local_#8027 : int) { var local_#5726_L : { base : int, offset : int }; havoc local_#8027; havoc local_#5726_L; local_#5726_L := local_#5726_L_IN; } procedure routine_#34734_f_write(local_#5727_L_IN : { base : int, offset : int }) returns (local_#8028 : int) { var local_#5727_L : { base : int, offset : int }; havoc local_#8028; havoc local_#5727_L; local_#5727_L := local_#5727_L_IN; } procedure routine_#34751_finishCcall(local_#5768_L_IN : { base : int, offset : int }, local_#5769_status_IN : int) returns () modifies _memory, _memory_ptr; { var local_#5768_L : { base : int, offset : int }; var local_#5769_status : int; var local_#32260_ci : { base : int, offset : int }; var local_#21178 : int; var local_#21179 : int; var local_#21180 : int; var local_#21181 : int; var local_#21182 : int; var local_#21183 : int; var local_#21184 : int; var local_#21185 : int; var local_#21186 : int; var local_#21187 : int; var local_#21188 : { base : int, offset : int }; var local_#21189 : int; var local_#21190 : int; var local_#21191 : int; var local_#21192 : { base : int, offset : int }; var local_#21193 : int; var local_#21194 : { base : int, offset : int }; var local_#21195 : int; var local_#21196 : int; var local_#21197 : { base : int, offset : int }; var local_#21198 : { base : int, offset : int }; var local_#21199 : { base : int, offset : int }; var local_#21200 : int; var local_#21201 : int; var local_#32261_n : int; var local_#21202 : int; var local_#21203 : int; var local_#21204 : int; var local_#21205 : int; var local_#21206 : { base : int, offset : int }; var local_#21207 : int; havoc local_#5768_L; havoc local_#5769_status; havoc local_#32260_ci; havoc local_#21178; havoc local_#21179; havoc local_#21180; havoc local_#21181; havoc local_#21182; havoc local_#21183; havoc local_#21184; havoc local_#21185; havoc local_#21186; havoc local_#21187; havoc local_#21188; havoc local_#21189; havoc local_#21190; havoc local_#21191; havoc local_#21192; havoc local_#21193; havoc local_#21194; havoc local_#21195; havoc local_#21196; havoc local_#21197; havoc local_#21198; havoc local_#21199; havoc local_#21200; havoc local_#21201; havoc local_#32261_n; havoc local_#21202; havoc local_#21203; havoc local_#21204; havoc local_#21205; havoc local_#21206; havoc local_#21207; local_#5768_L := local_#5768_L_IN; local_#5769_status := local_#5769_status_IN; goto CFG_36739; CFG_36739: assume { :LIR "36739" } { :back_translation "block" } true; goto CFG_50444; CFG_50444: assume { :LIR "50444" } { :back_translation "block" } true; assume { :LIR "56209" } { :back_translation "assignment" } true; local_#32260_ci := _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 32 }]; assume { :LIR "75199" } { :back_translation "visiting" } true; local_#21178 := 0; assume { :LIR "61532" } { :back_translation "visiting" } true; local_#21179 := 0; assume { :LIR "75200" } { :back_translation "visiting" } true; local_#21180 := 0; assume { :LIR "61533" } { :back_translation "visiting" } true; local_#21181 := 0; assume { :LIR "63214" } { :back_translation "visiting" } true; local_#21182 := _memory[{ base : local_#32260_ci!base, offset : local_#32260_ci!offset + 66 }]; assume { :LIR "75201" } { :back_translation "visiting" } true; local_#21183 := 16; assume { :LIR "69167" } { :back_translation "visiting" } true; local_#21184 := ~sand32(local_#21182, local_#21183); if (local_#21184 != 0) { assume { :LIR "40817" } { :back_translation "taking-then-branch" } true; goto CFG_40817; } else { assume { :LIR "50445" } { :back_translation "taking-else-branch" } true; goto CFG_50445; } CFG_40817: assume { :LIR "40817" } { :back_translation "block" } true; assume { :LIR "75202" } { :back_translation "visiting" } true; local_#21185 := -17; assume { :LIR "63215" } { :back_translation "visiting" } true; local_#21186 := _memory[{ base : local_#32260_ci!base, offset : local_#32260_ci!offset + 66 }]; assume { :LIR "69168" } { :back_translation "visiting" } true; local_#21187 := ~sand32(local_#21186, local_#21185); assume { :LIR "63216" } { :back_translation "visiting" } true; _memory[{ base : local_#32260_ci!base, offset : local_#32260_ci!offset + 66 }] := ~uwrap16(local_#21187); assume { :LIR "56210" } { :back_translation "assignment" } true; local_#21188 := { base : local_#32260_ci!base, offset : local_#32260_ci!offset + 32 }; assume { :LIR "56211" } { :back_translation "assignment" } true; _memory[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 176 }] := _memory[{ base : local_#21188!base, offset : local_#21188!offset + 8 }]; goto CFG_50445; CFG_50445: assume { :LIR "50445" } { :back_translation "block" } true; assume { :LIR "63217" } { :back_translation "visiting" } true; local_#21189 := _memory[{ base : local_#32260_ci!base, offset : local_#32260_ci!offset + 64 }]; assume { :LIR "75203" } { :back_translation "visiting" } true; local_#21190 := -1; assume { :LIR "65136" } { :back_translation "visiting" } true; local_#21191 := (if local_#21189 == local_#21190 then 1 else 0); if (local_#21191 != 0) { assume { :LIR "50446" } { :back_translation "taking-then-branch" } true; goto CFG_50446; } else { assume { :LIR "43492" } { :back_translation "taking-else-branch" } true; goto CFG_43492; } CFG_50446: assume { :LIR "50446" } { :back_translation "block" } true; assume { :LIR "56212" } { :back_translation "assignment" } true; local_#21192 := _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 32 }]; assume { :LIR "66256" } { :back_translation "visiting" } true; local_#21193 := (if _memory_ptr[{ base : local_#21192!base, offset : local_#21192!offset + 8 }]!offset < _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 16 }]!offset then 1 else 0); if (local_#21193 != 0) { assume { :LIR "40818" } { :back_translation "taking-then-branch" } true; goto CFG_40818; } else { assume { :LIR "43492" } { :back_translation "taking-else-branch" } true; goto CFG_43492; } CFG_40818: assume { :LIR "40818" } { :back_translation "block" } true; assume { :LIR "56213" } { :back_translation "assignment" } true; local_#21194 := _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 32 }]; assume { :LIR "56214" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#21194!base, offset : local_#21194!offset + 8 }] := _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 16 }]; goto CFG_43492; CFG_43492: assume { :LIR "43492" } { :back_translation "block" } true; assume { :LIR "75204" } { :back_translation "visiting" } true; local_#21195 := 0; assume { :LIR "61534" } { :back_translation "visiting" } true; local_#21196 := 0; assume { :LIR "56215" } { :back_translation "assignment" } true; local_#21197 := { base : local_#32260_ci!base, offset : local_#32260_ci!offset + 32 }; assume { :LIR "56216" } { :back_translation "assignment" } true; local_#21198 := _memory_ptr[{ base : local_#21197!base, offset : local_#21197!offset + 0 }]; assume { :LIR "56217" } { :back_translation "assignment" } true; local_#21199 := { base : local_#32260_ci!base, offset : local_#32260_ci!offset + 32 }; assume { :LIR "56218" } { :back_translation "assignment" } true; local_#21200 := _memory[{ base : local_#21199!base, offset : local_#21199!offset + 16 }]; goto CFG_47180; CFG_47180: assume { :LIR "47180" } { :back_translation "block" } true; assume { :LIR "82581" } { :back_translation "visiting" } true; if (local_#21198 == fun_addr_#34752_finishpcall) { call local_#21201 := routine_#34752_finishpcall(local_#5768_L,local_#5769_status,local_#21200); } else if (local_#21198 == fun_addr_#34705_dofilecont) { call local_#21201 := routine_#34705_dofilecont(local_#5768_L,local_#5769_status,local_#21200); } else { assume false; } goto CFG_43493; CFG_43493: assume { :LIR "43493" } { :back_translation "block" } true; assume { :LIR "56219" } { :back_translation "assignment" } true; local_#32261_n := local_#21201; assume { :LIR "75205" } { :back_translation "visiting" } true; local_#21202 := 0; assume { :LIR "61535" } { :back_translation "visiting" } true; local_#21203 := 0; assume { :LIR "75206" } { :back_translation "visiting" } true; local_#21204 := 0; assume { :LIR "61536" } { :back_translation "visiting" } true; local_#21205 := 0; assume { :LIR "68388" } { :back_translation "visiting" } true; local_#21206 := { base : _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 16 }]!offset - local_#32261_n * 16 }; goto CFG_47181; CFG_47181: assume { :LIR "47181" } { :back_translation "block" } true; assume { :LIR "80712" } { :back_translation "visiting" } true; call local_#21207 := routine_#33737_luaD_poscall(local_#5768_L,local_#32260_ci,local_#21206,local_#32261_n); goto CFG_39324; CFG_39324: assume { :LIR "39324" } { :back_translation "block" } true; goto CFG_37650; CFG_37650: assume { :LIR "37650" } { :back_translation "block" } true; } procedure routine_#34752_finishpcall(local_#5770_L_IN : { base : int, offset : int }, local_#5771_status_IN : int, local_#5772_extra_IN : int) returns (local_#8040 : int) { var local_#5770_L : { base : int, offset : int }; var local_#5771_status : int; var local_#5772_extra : int; havoc local_#8040; havoc local_#5770_L; havoc local_#5771_status; havoc local_#5772_extra; local_#5770_L := local_#5770_L_IN; local_#5771_status := local_#5771_status_IN; local_#5772_extra := local_#5772_extra_IN; } procedure routine_#34755_forlimit(local_#5781_obj_IN : { base : int, offset : int }, local_#5782_p_IN : { base : int, offset : int }, local_#5783_step_IN : int, local_#5784_stopnow_IN : { base : int, offset : int }) returns (local_#8041 : int) modifies _memory; { var local_#5781_obj : { base : int, offset : int }; var local_#5782_p : { base : int, offset : int }; var local_#5783_step : int; var local_#5784_stopnow : { base : int, offset : int }; var local_#21264 : int; var local_#21265 : int; var local_#30757 : int; var local_#21266 : int; var local_#21267 : int; var local_#21268 : int; var local_#21269 : int; var local_#32268_n : { base : int, offset : int }; var local_#21270 : { base : int, offset : int }; var local_#21271 : int; var local_#21272 : int; var local_#21273 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#21274 : int; var local_#21275 : int; var nondet_#2 : int; var local_#21276 : int; var nondet_#3 : int; var nondet_#4 : bool; var local_#21277 : int; var local_#21278 : int; var local_#21279 : int; var local_#21280 : int; var local_#21281 : int; havoc local_#8041; havoc local_#5781_obj; havoc local_#5782_p; havoc local_#5783_step; havoc local_#5784_stopnow; havoc local_#21264; havoc local_#21265; havoc local_#30757; havoc local_#21266; havoc local_#21267; havoc local_#21268; havoc local_#21269; havoc local_#32268_n; havoc local_#21270; havoc local_#21271; havoc local_#21272; havoc local_#21273; havoc nondet_#0; havoc nondet_#1; havoc local_#21274; havoc local_#21275; havoc nondet_#2; havoc local_#21276; havoc nondet_#3; havoc nondet_#4; havoc local_#21277; havoc local_#21278; havoc local_#21279; havoc local_#21280; havoc local_#21281; local_#5781_obj := local_#5781_obj_IN; local_#5782_p := local_#5782_p_IN; local_#5783_step := local_#5783_step_IN; local_#5784_stopnow := local_#5784_stopnow_IN; goto CFG_36743; CFG_36743: assume { :LIR "36743" } { :back_translation "block" } true; goto CFG_50452; CFG_50452: assume { :LIR "50452" } { :back_translation "block" } true; assume { :LIR "75232" } { :back_translation "visiting" } true; _memory[local_#5784_stopnow] := 0; assume { :LIR "75233" } { :back_translation "visiting" } true; local_#21264 := 0; assume { :LIR "66257" } { :back_translation "visiting" } true; local_#21265 := (if local_#5783_step < local_#21264 then 1 else 0); if (local_#21265 != 0) { assume { :LIR "40824" } { :back_translation "taking-then-branch" } true; goto CFG_40824; } else { assume { :LIR "40823" } { :back_translation "taking-else-branch" } true; goto CFG_40823; } CFG_40823: assume { :LIR "40823" } { :back_translation "block" } true; assume { :LIR "75234" } { :back_translation "visiting" } true; local_#30757 := 1; goto CFG_47203; CFG_40824: assume { :LIR "40824" } { :back_translation "block" } true; assume { :LIR "75235" } { :back_translation "visiting" } true; local_#30757 := 2; goto CFG_47203; CFG_47203: assume { :LIR "47203" } { :back_translation "block" } true; assume { :LIR "80734" } { :back_translation "visiting" } true; call local_#21266 := routine_#33903_luaV_tointeger(local_#5781_obj,local_#5782_p,local_#30757); goto CFG_50453; CFG_50453: assume { :LIR "50453" } { :back_translation "block" } true; assume { :LIR "64588" } { :back_translation "visiting" } true; local_#21267 := (if local_#21266 != 0 then 0 else 1); if (local_#21267 != 0) { assume { :LIR "50454" } { :back_translation "taking-then-branch" } true; goto CFG_50454; } else { assume { :LIR "38514" } { :back_translation "taking-else-branch" } true; goto CFG_38514; } CFG_50454: assume { :LIR "50454" } { :back_translation "block" } true; assume { :LIR "75236" } { :back_translation "visiting" } true; local_#21268 := 3; assume { :LIR "65137" } { :back_translation "visiting" } true; local_#21269 := (if _memory[{ base : local_#5781_obj!base, offset : local_#5781_obj!offset + 8 }] == local_#21268 then 1 else 0); if (local_#21269 != 0) { assume { :LIR "50456" } { :back_translation "taking-then-branch" } true; goto CFG_50456; } else { assume { :LIR "43506" } { :back_translation "taking-else-branch" } true; goto CFG_43506; } CFG_43506: assume { :LIR "43506" } { :back_translation "block" } true; assume { :LIR "56235" } { :back_translation "assignment" } true; local_#21270 := local_#32268_n; goto CFG_47204; CFG_47204: assume { :LIR "47204" } { :back_translation "block" } true; assume { :LIR "80735" } { :back_translation "visiting" } true; call local_#21271 := routine_#33904_luaV_tonumber_(local_#5781_obj,local_#21270); goto CFG_50455; CFG_50455: assume { :LIR "50455" } { :back_translation "block" } true; assume { :LIR "56236" } { :back_translation "assignment" } true; local_#21272 := local_#21271; if (local_#21272 != 0) { assume { :LIR "50457" } { :back_translation "taking-then-branch" } true; goto CFG_50457; } else { assume { :LIR "38513" } { :back_translation "taking-else-branch" } true; goto CFG_38513; } CFG_50456: assume { :LIR "50456" } { :back_translation "block" } true; assume { :LIR "56237" } { :back_translation "assignment" } true; local_#21273 := { base : local_#5781_obj!base, offset : local_#5781_obj!offset + 0 }; assume { :LIR "56238" } { :back_translation "assignment" } true; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ assume { :LIR "56239" } { :back_translation "assignment" } true; havoc nondet_#1; local_#21274 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; assume { :LIR "75237" } { :back_translation "visiting" } true; local_#21275 := 1; if (local_#21275 != 0) { assume { :LIR "50457" } { :back_translation "taking-then-branch" } true; goto CFG_50457; } else { assume { :LIR "38513" } { :back_translation "taking-else-branch" } true; goto CFG_38513; } CFG_38513: assume { :LIR "38513" } { :back_translation "block" } true; assume { :LIR "75238" } { :back_translation "visiting" } true; local_#8041 := 0; goto CFG_37654; CFG_50457: assume { :LIR "50457" } { :back_translation "block" } true; assume { :LIR "78619" } { :back_translation "visiting" } true; havoc nondet_#2; local_#21276 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78619 */; assume { :LIR "66258" } { :back_translation "visiting" } true; havoc nondet_#3; havoc nondet_#4; local_#21277 := (if nondet_#4 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66258. */ then 1 else 0); if (local_#21277 != 0) { assume { :LIR "50459" } { :back_translation "taking-then-branch" } true; goto CFG_50459; } else { assume { :LIR "50458" } { :back_translation "taking-else-branch" } true; goto CFG_50458; } CFG_50458: assume { :LIR "50458" } { :back_translation "block" } true; assume { :LIR "75239" } { :back_translation "visiting" } true; _memory[local_#5782_p] := -9223372036854775808; assume { :LIR "75240" } { :back_translation "visiting" } true; local_#21278 := 0; assume { :LIR "65736" } { :back_translation "visiting" } true; local_#21279 := (if local_#5783_step >= local_#21278 then 1 else 0); if (local_#21279 != 0) { assume { :LIR "40825" } { :back_translation "taking-then-branch" } true; goto CFG_40825; } else { assume { :LIR "40826" } { :back_translation "taking-else-branch" } true; goto CFG_40826; } CFG_40825: assume { :LIR "40825" } { :back_translation "block" } true; assume { :LIR "75241" } { :back_translation "visiting" } true; _memory[local_#5784_stopnow] := 1; goto CFG_40826; CFG_40826: assume { :LIR "40826" } { :back_translation "block" } true; goto CFG_40829; CFG_50459: assume { :LIR "50459" } { :back_translation "block" } true; assume { :LIR "75242" } { :back_translation "visiting" } true; _memory[local_#5782_p] := 9223372036854775807; assume { :LIR "75243" } { :back_translation "visiting" } true; local_#21280 := 0; assume { :LIR "66259" } { :back_translation "visiting" } true; local_#21281 := (if local_#5783_step < local_#21280 then 1 else 0); if (local_#21281 != 0) { assume { :LIR "40827" } { :back_translation "taking-then-branch" } true; goto CFG_40827; } else { assume { :LIR "40828" } { :back_translation "taking-else-branch" } true; goto CFG_40828; } CFG_40827: assume { :LIR "40827" } { :back_translation "block" } true; assume { :LIR "75244" } { :back_translation "visiting" } true; _memory[local_#5784_stopnow] := 1; goto CFG_40828; CFG_40828: assume { :LIR "40828" } { :back_translation "block" } true; goto CFG_40829; CFG_40829: assume { :LIR "40829" } { :back_translation "block" } true; goto CFG_38514; CFG_38514: assume { :LIR "38514" } { :back_translation "block" } true; assume { :LIR "75245" } { :back_translation "visiting" } true; local_#8041 := 1; goto CFG_37654; CFG_37654: assume { :LIR "37654" } { :back_translation "block" } true; } procedure routine_#34773_gctm(local_#5825_L_IN : { base : int, offset : int }) returns (local_#8047 : int) { var local_#5825_L : { base : int, offset : int }; havoc local_#8047; havoc local_#5825_L; local_#5825_L := local_#5825_L_IN; } procedure routine_#34780_getcached(local_#5840_p_IN : { base : int, offset : int }, local_#5841_encup_IN : { base : int, offset : int }, local_#5842_base_IN : { base : int, offset : int }) returns (local_#8054 : { base : int, offset : int }) { var local_#5840_p : { base : int, offset : int }; var local_#5841_encup : { base : int, offset : int }; var local_#5842_base : { base : int, offset : int }; var local_#32313_c : { base : int, offset : int }; var local_#21770 : { base : int, offset : int }; var local_#21771 : int; var local_#32315_nup : int; var local_#32316_uv : { base : int, offset : int }; var local_#32314_i : int; var local_#21772 : int; var local_#21773 : { base : int, offset : int }; var local_#21774 : int; var local_#21775 : { base : int, offset : int }; var local_#21776 : { base : int, offset : int }; var local_#21777 : { base : int, offset : int }; var local_#30769 : { base : int, offset : int }; var local_#21778 : { base : int, offset : int }; var local_#21779 : { base : int, offset : int }; var local_#32317_v : { base : int, offset : int }; var local_#21780 : { base : int, offset : int }; var local_#21781 : { base : int, offset : int }; var local_#21782 : { base : int, offset : int }; var local_#21783 : int; var local_#21784 : int; var local_#21785 : int; var local_#21786 : int; havoc local_#8054; havoc local_#5840_p; havoc local_#5841_encup; havoc local_#5842_base; havoc local_#32313_c; havoc local_#21770; havoc local_#21771; havoc local_#32315_nup; havoc local_#32316_uv; havoc local_#32314_i; havoc local_#21772; havoc local_#21773; havoc local_#21774; havoc local_#21775; havoc local_#21776; havoc local_#21777; havoc local_#30769; havoc local_#21778; havoc local_#21779; havoc local_#32317_v; havoc local_#21780; havoc local_#21781; havoc local_#21782; havoc local_#21783; havoc local_#21784; havoc local_#21785; havoc local_#21786; local_#5840_p := local_#5840_p_IN; local_#5841_encup := local_#5841_encup_IN; local_#5842_base := local_#5842_base_IN; goto CFG_36768; CFG_36768: assume { :LIR "36768" } { :back_translation "block" } true; goto CFG_50510; CFG_50510: assume { :LIR "50510" } { :back_translation "block" } true; assume { :LIR "56410" } { :back_translation "assignment" } true; local_#32313_c := _memory_ptr[{ base : local_#5840_p!base, offset : local_#5840_p!offset + 96 }]; assume { :LIR "70032" } { :back_translation "visiting" } true; local_#21770 := { base : 0, offset : 0 }; assume { :LIR "65584" } { :back_translation "visiting" } true; local_#21771 := (if local_#32313_c != local_#21770 then 1 else 0); if (local_#21771 != 0) { assume { :LIR "41753" } { :back_translation "taking-then-branch" } true; goto CFG_41753; } else { assume { :LIR "38558" } { :back_translation "taking-else-branch" } true; goto CFG_38558; } CFG_41753: assume { :LIR "41753" } { :back_translation "block" } true; assume { :LIR "56411" } { :back_translation "assignment" } true; local_#32315_nup := _memory[{ base : local_#5840_p!base, offset : local_#5840_p!offset + 16 }]; assume { :LIR "56412" } { :back_translation "assignment" } true; local_#32316_uv := _memory_ptr[{ base : local_#5840_p!base, offset : local_#5840_p!offset + 88 }]; assume { :LIR "75434" } { :back_translation "visiting" } true; local_#32314_i := 0; goto CFG_50511; CFG_50511: assume { :LIR "50511" } { :back_translation "block" } true; assume { :LIR "66261" } { :back_translation "visiting" } true; local_#21772 := (if local_#32314_i < local_#32315_nup then 1 else 0); if (local_#21772 != 0) { assume { :LIR "50512" } { :back_translation "taking-then-branch" } true; goto CFG_50512; } else { assume { :LIR "40883" } { :back_translation "taking-else-branch" } true; goto CFG_40883; } CFG_40883: assume { :LIR "40883" } { :back_translation "block" } true; goto CFG_38558; CFG_38558: assume { :LIR "38558" } { :back_translation "block" } true; assume { :LIR "56413" } { :back_translation "assignment" } true; local_#8054 := local_#32313_c; goto CFG_37679; CFG_50512: assume { :LIR "50512" } { :back_translation "block" } true; assume { :LIR "67475" } { :back_translation "visiting" } true; local_#21773 := { base : local_#32316_uv!base, offset : local_#32316_uv!offset + local_#32314_i * 16 }; assume { :LIR "56414" } { :back_translation "assignment" } true; local_#21774 := _memory[{ base : local_#21773!base, offset : local_#21773!offset + 8 }]; if (local_#21774 != 0) { assume { :LIR "40885" } { :back_translation "taking-then-branch" } true; goto CFG_40885; } else { assume { :LIR "40884" } { :back_translation "taking-else-branch" } true; goto CFG_40884; } CFG_40884: assume { :LIR "40884" } { :back_translation "block" } true; assume { :LIR "67476" } { :back_translation "visiting" } true; local_#21775 := { base : local_#32316_uv!base, offset : local_#32316_uv!offset + local_#32314_i * 16 }; assume { :LIR "67477" } { :back_translation "visiting" } true; local_#21776 := { base : local_#5841_encup!base, offset : local_#5841_encup!offset + _memory[{ base : local_#21775!base, offset : local_#21775!offset + 9 }] * 8 }; assume { :LIR "56415" } { :back_translation "assignment" } true; local_#21777 := _memory_ptr[local_#21776]; assume { :LIR "56416" } { :back_translation "assignment" } true; local_#30769 := _memory_ptr[{ base : local_#21777!base, offset : local_#21777!offset + 0 }]; goto CFG_50513; CFG_40885: assume { :LIR "40885" } { :back_translation "block" } true; assume { :LIR "67478" } { :back_translation "visiting" } true; local_#21778 := { base : local_#32316_uv!base, offset : local_#32316_uv!offset + local_#32314_i * 16 }; assume { :LIR "67479" } { :back_translation "visiting" } true; local_#21779 := { base : local_#5842_base!base, offset : local_#5842_base!offset + _memory[{ base : local_#21778!base, offset : local_#21778!offset + 9 }] * 16 }; assume { :LIR "56417" } { :back_translation "assignment" } true; local_#30769 := local_#21779; goto CFG_50513; CFG_50513: assume { :LIR "50513" } { :back_translation "block" } true; assume { :LIR "56418" } { :back_translation "assignment" } true; local_#32317_v := local_#30769; assume { :LIR "56419" } { :back_translation "assignment" } true; local_#21780 := { base : local_#32313_c!base, offset : local_#32313_c!offset + 32 }; assume { :LIR "67480" } { :back_translation "visiting" } true; local_#21781 := { base : local_#21780!base, offset : local_#21780!offset + 0 * 8 + local_#32314_i * 8 }; assume { :LIR "56420" } { :back_translation "assignment" } true; local_#21782 := _memory_ptr[local_#21781]; assume { :LIR "65585" } { :back_translation "visiting" } true; local_#21783 := (if _memory_ptr[{ base : local_#21782!base, offset : local_#21782!offset + 0 }] != local_#32317_v then 1 else 0); if (local_#21783 != 0) { assume { :LIR "38559" } { :back_translation "taking-then-branch" } true; goto CFG_38559; } else { assume { :LIR "45094" } { :back_translation "taking-else-branch" } true; goto CFG_45094; } CFG_45094: assume { :LIR "45094" } { :back_translation "block" } true; assume { :LIR "56421" } { :back_translation "assignment" } true; local_#21784 := local_#32314_i; assume { :LIR "75435" } { :back_translation "visiting" } true; local_#21785 := 1; assume { :LIR "66658" } { :back_translation "visiting" } true; local_#32314_i := local_#21784 + local_#21785; assume { :LIR "56422" } { :back_translation "assignment" } true; local_#21786 := local_#21784; goto CFG_50511; CFG_38559: assume { :LIR "38559" } { :back_translation "block" } true; assume { :LIR "70033" } { :back_translation "visiting" } true; local_#8054 := { base : 0, offset : 0 }; goto CFG_37679; CFG_37679: assume { :LIR "37679" } { :back_translation "block" } true; } procedure routine_#34782_getdebt(local_#5844_g_IN : { base : int, offset : int }) returns (local_#8056 : int) { var local_#5844_g : { base : int, offset : int }; havoc local_#8056; havoc local_#5844_g; local_#5844_g := local_#5844_g_IN; } procedure routine_#34787_getgeneric(local_#5858_t_IN : { base : int, offset : int }, local_#5859_key_IN : { base : int, offset : int }) returns (local_#8061 : { base : int, offset : int }) { var local_#5858_t : { base : int, offset : int }; var local_#5859_key : { base : int, offset : int }; havoc local_#8061; havoc local_#5858_t; havoc local_#5859_key; local_#5858_t := local_#5858_t_IN; local_#5859_key := local_#5859_key_IN; } procedure routine_#34801_gmatch(local_#5891_L_IN : { base : int, offset : int }) returns (local_#8075 : int) { var local_#5891_L : { base : int, offset : int }; havoc local_#8075; havoc local_#5891_L; local_#5891_L := local_#5891_L_IN; } procedure routine_#34802_gmatch_aux(local_#5892_L_IN : { base : int, offset : int }) returns (local_#8076 : int) { var local_#5892_L : { base : int, offset : int }; havoc local_#8076; havoc local_#5892_L; local_#5892_L := local_#5892_L_IN; } procedure routine_#34818_io_close(local_#5925_L_IN : { base : int, offset : int }) returns (local_#8083 : int) { var local_#5925_L : { base : int, offset : int }; havoc local_#8083; havoc local_#5925_L; local_#5925_L := local_#5925_L_IN; } procedure routine_#34819_io_fclose(local_#5926_L_IN : { base : int, offset : int }) returns (local_#8084 : int) { var local_#5926_L : { base : int, offset : int }; havoc local_#8084; havoc local_#5926_L; local_#5926_L := local_#5926_L_IN; } procedure routine_#34820_io_flush(local_#5927_L_IN : { base : int, offset : int }) returns (local_#8085 : int) { var local_#5927_L : { base : int, offset : int }; havoc local_#8085; havoc local_#5927_L; local_#5927_L := local_#5927_L_IN; } procedure routine_#34821_io_input(local_#5928_L_IN : { base : int, offset : int }) returns (local_#8086 : int) { var local_#5928_L : { base : int, offset : int }; havoc local_#8086; havoc local_#5928_L; local_#5928_L := local_#5928_L_IN; } procedure routine_#34822_io_lines(local_#5929_L_IN : { base : int, offset : int }) returns (local_#8087 : int) { var local_#5929_L : { base : int, offset : int }; havoc local_#8087; havoc local_#5929_L; local_#5929_L := local_#5929_L_IN; } procedure routine_#34823_io_noclose(local_#5930_L_IN : { base : int, offset : int }) returns (local_#8088 : int) { var local_#5930_L : { base : int, offset : int }; havoc local_#8088; havoc local_#5930_L; local_#5930_L := local_#5930_L_IN; } procedure routine_#34824_io_open(local_#5931_L_IN : { base : int, offset : int }) returns (local_#8089 : int) { var local_#5931_L : { base : int, offset : int }; havoc local_#8089; havoc local_#5931_L; local_#5931_L := local_#5931_L_IN; } procedure routine_#34825_io_output(local_#5932_L_IN : { base : int, offset : int }) returns (local_#8090 : int) { var local_#5932_L : { base : int, offset : int }; havoc local_#8090; havoc local_#5932_L; local_#5932_L := local_#5932_L_IN; } procedure routine_#34826_io_pclose(local_#5933_L_IN : { base : int, offset : int }) returns (local_#8091 : int) { var local_#5933_L : { base : int, offset : int }; havoc local_#8091; havoc local_#5933_L; local_#5933_L := local_#5933_L_IN; } procedure routine_#34827_io_popen(local_#5934_L_IN : { base : int, offset : int }) returns (local_#8092 : int) { var local_#5934_L : { base : int, offset : int }; havoc local_#8092; havoc local_#5934_L; local_#5934_L := local_#5934_L_IN; } procedure routine_#34828_io_read(local_#5935_L_IN : { base : int, offset : int }) returns (local_#8093 : int) { var local_#5935_L : { base : int, offset : int }; havoc local_#8093; havoc local_#5935_L; local_#5935_L := local_#5935_L_IN; } procedure routine_#34829_io_readline(local_#5936_L_IN : { base : int, offset : int }) returns (local_#8094 : int) { var local_#5936_L : { base : int, offset : int }; havoc local_#8094; havoc local_#5936_L; local_#5936_L := local_#5936_L_IN; } procedure routine_#34830_io_tmpfile(local_#5937_L_IN : { base : int, offset : int }) returns (local_#8095 : int) { var local_#5937_L : { base : int, offset : int }; havoc local_#8095; havoc local_#5937_L; local_#5937_L := local_#5937_L_IN; } procedure routine_#34831_io_type(local_#5938_L_IN : { base : int, offset : int }) returns (local_#8096 : int) { var local_#5938_L : { base : int, offset : int }; havoc local_#8096; havoc local_#5938_L; local_#5938_L := local_#5938_L_IN; } procedure routine_#34832_io_write(local_#5939_L_IN : { base : int, offset : int }) returns (local_#8097 : int) { var local_#5939_L : { base : int, offset : int }; havoc local_#8097; havoc local_#5939_L; local_#5939_L := local_#5939_L_IN; } procedure routine_#34833_ipairsaux(local_#5940_L_IN : { base : int, offset : int }) returns (local_#8098 : int) { var local_#5940_L : { base : int, offset : int }; havoc local_#8098; havoc local_#5940_L; local_#5940_L := local_#5940_L_IN; } procedure routine_#34837_iter_aux(local_#5946_L_IN : { base : int, offset : int }) returns (local_#8102 : int) { var local_#5946_L : { base : int, offset : int }; havoc local_#8102; havoc local_#5946_L; local_#5946_L := local_#5946_L_IN; } procedure routine_#34838_iter_codes(local_#5947_L_IN : { base : int, offset : int }) returns (local_#8103 : int) { var local_#5947_L : { base : int, offset : int }; havoc local_#8103; havoc local_#5947_L; local_#5947_L := local_#5947_L_IN; } procedure routine_#34851_l_strcmp(local_#5973_ls_IN : { base : int, offset : int }, local_#5974_rs_IN : { base : int, offset : int }) returns (local_#8113 : int) { var local_#5973_ls : { base : int, offset : int }; var local_#5974_rs : { base : int, offset : int }; havoc local_#8113; havoc local_#5973_ls; havoc local_#5974_rs; local_#5973_ls := local_#5973_ls_IN; local_#5974_rs := local_#5974_rs_IN; } procedure routine_#34859_ll_loadlib(local_#5988_L_IN : { base : int, offset : int }) returns (local_#8115 : int) { var local_#5988_L : { base : int, offset : int }; havoc local_#8115; havoc local_#5988_L; local_#5988_L := local_#5988_L_IN; } procedure routine_#34860_ll_require(local_#5989_L_IN : { base : int, offset : int }) returns (local_#8116 : int) { var local_#5989_L : { base : int, offset : int }; havoc local_#8116; havoc local_#5989_L; local_#5989_L := local_#5989_L_IN; } procedure routine_#34861_ll_searchpath(local_#5990_L_IN : { base : int, offset : int }) returns (local_#8117 : int) { var local_#5990_L : { base : int, offset : int }; havoc local_#8117; havoc local_#5990_L; local_#5990_L := local_#5990_L_IN; } procedure routine_#34874_luaB_assert(local_#6018_L_IN : { base : int, offset : int }) returns (local_#8126 : int) { var local_#6018_L : { base : int, offset : int }; havoc local_#8126; havoc local_#6018_L; local_#6018_L := local_#6018_L_IN; } procedure routine_#34875_luaB_auxwrap(local_#6019_L_IN : { base : int, offset : int }) returns (local_#8127 : int) { var local_#6019_L : { base : int, offset : int }; havoc local_#8127; havoc local_#6019_L; local_#6019_L := local_#6019_L_IN; } procedure routine_#34876_luaB_cocreate(local_#6020_L_IN : { base : int, offset : int }) returns (local_#8128 : int) { var local_#6020_L : { base : int, offset : int }; havoc local_#8128; havoc local_#6020_L; local_#6020_L := local_#6020_L_IN; } procedure routine_#34877_luaB_collectgarbage(local_#6021_L_IN : { base : int, offset : int }) returns (local_#8129 : int) { var local_#6021_L : { base : int, offset : int }; havoc local_#8129; havoc local_#6021_L; local_#6021_L := local_#6021_L_IN; } procedure routine_#34878_luaB_coresume(local_#6022_L_IN : { base : int, offset : int }) returns (local_#8130 : int) { var local_#6022_L : { base : int, offset : int }; havoc local_#8130; havoc local_#6022_L; local_#6022_L := local_#6022_L_IN; } procedure routine_#34879_luaB_corunning(local_#6023_L_IN : { base : int, offset : int }) returns (local_#8131 : int) { var local_#6023_L : { base : int, offset : int }; havoc local_#8131; havoc local_#6023_L; local_#6023_L := local_#6023_L_IN; } procedure routine_#34880_luaB_costatus(local_#6024_L_IN : { base : int, offset : int }) returns (local_#8132 : int) { var local_#6024_L : { base : int, offset : int }; havoc local_#8132; havoc local_#6024_L; local_#6024_L := local_#6024_L_IN; } procedure routine_#34881_luaB_cowrap(local_#6025_L_IN : { base : int, offset : int }) returns (local_#8133 : int) { var local_#6025_L : { base : int, offset : int }; havoc local_#8133; havoc local_#6025_L; local_#6025_L := local_#6025_L_IN; } procedure routine_#34882_luaB_dofile(local_#6026_L_IN : { base : int, offset : int }) returns (local_#8134 : int) { var local_#6026_L : { base : int, offset : int }; havoc local_#8134; havoc local_#6026_L; local_#6026_L := local_#6026_L_IN; } procedure routine_#34883_luaB_error(local_#6027_L_IN : { base : int, offset : int }) returns (local_#8135 : int) { var local_#6027_L : { base : int, offset : int }; havoc local_#8135; havoc local_#6027_L; local_#6027_L := local_#6027_L_IN; } procedure routine_#34884_luaB_getmetatable(local_#6028_L_IN : { base : int, offset : int }) returns (local_#8136 : int) { var local_#6028_L : { base : int, offset : int }; havoc local_#8136; havoc local_#6028_L; local_#6028_L := local_#6028_L_IN; } procedure routine_#34885_luaB_ipairs(local_#6029_L_IN : { base : int, offset : int }) returns (local_#8137 : int) { var local_#6029_L : { base : int, offset : int }; havoc local_#8137; havoc local_#6029_L; local_#6029_L := local_#6029_L_IN; } procedure routine_#34886_luaB_load(local_#6030_L_IN : { base : int, offset : int }) returns (local_#8138 : int) { var local_#6030_L : { base : int, offset : int }; havoc local_#8138; havoc local_#6030_L; local_#6030_L := local_#6030_L_IN; } procedure routine_#34887_luaB_loadfile(local_#6031_L_IN : { base : int, offset : int }) returns (local_#8139 : int) { var local_#6031_L : { base : int, offset : int }; havoc local_#8139; havoc local_#6031_L; local_#6031_L := local_#6031_L_IN; } procedure routine_#34888_luaB_next(local_#6032_L_IN : { base : int, offset : int }) returns (local_#8140 : int) { var local_#6032_L : { base : int, offset : int }; havoc local_#8140; havoc local_#6032_L; local_#6032_L := local_#6032_L_IN; } procedure routine_#34889_luaB_pairs(local_#6033_L_IN : { base : int, offset : int }) returns (local_#8141 : int) { var local_#6033_L : { base : int, offset : int }; havoc local_#8141; havoc local_#6033_L; local_#6033_L := local_#6033_L_IN; } procedure routine_#34890_luaB_pcall(local_#6034_L_IN : { base : int, offset : int }) returns (local_#8142 : int) { var local_#6034_L : { base : int, offset : int }; havoc local_#8142; havoc local_#6034_L; local_#6034_L := local_#6034_L_IN; } procedure routine_#34891_luaB_print(local_#6035_L_IN : { base : int, offset : int }) returns (local_#8143 : int) { var local_#6035_L : { base : int, offset : int }; havoc local_#8143; havoc local_#6035_L; local_#6035_L := local_#6035_L_IN; } procedure routine_#34892_luaB_rawequal(local_#6036_L_IN : { base : int, offset : int }) returns (local_#8144 : int) { var local_#6036_L : { base : int, offset : int }; havoc local_#8144; havoc local_#6036_L; local_#6036_L := local_#6036_L_IN; } procedure routine_#34893_luaB_rawget(local_#6037_L_IN : { base : int, offset : int }) returns (local_#8145 : int) { var local_#6037_L : { base : int, offset : int }; havoc local_#8145; havoc local_#6037_L; local_#6037_L := local_#6037_L_IN; } procedure routine_#34894_luaB_rawlen(local_#6038_L_IN : { base : int, offset : int }) returns (local_#8146 : int) { var local_#6038_L : { base : int, offset : int }; havoc local_#8146; havoc local_#6038_L; local_#6038_L := local_#6038_L_IN; } procedure routine_#34895_luaB_rawset(local_#6039_L_IN : { base : int, offset : int }) returns (local_#8147 : int) { var local_#6039_L : { base : int, offset : int }; havoc local_#8147; havoc local_#6039_L; local_#6039_L := local_#6039_L_IN; } procedure routine_#34896_luaB_select(local_#6040_L_IN : { base : int, offset : int }) returns (local_#8148 : int) { var local_#6040_L : { base : int, offset : int }; havoc local_#8148; havoc local_#6040_L; local_#6040_L := local_#6040_L_IN; } procedure routine_#34897_luaB_setmetatable(local_#6041_L_IN : { base : int, offset : int }) returns (local_#8149 : int) { var local_#6041_L : { base : int, offset : int }; havoc local_#8149; havoc local_#6041_L; local_#6041_L := local_#6041_L_IN; } procedure routine_#34898_luaB_tonumber(local_#6042_L_IN : { base : int, offset : int }) returns (local_#8150 : int) { var local_#6042_L : { base : int, offset : int }; havoc local_#8150; havoc local_#6042_L; local_#6042_L := local_#6042_L_IN; } procedure routine_#34899_luaB_tostring(local_#6043_L_IN : { base : int, offset : int }) returns (local_#8151 : int) { var local_#6043_L : { base : int, offset : int }; havoc local_#8151; havoc local_#6043_L; local_#6043_L := local_#6043_L_IN; } procedure routine_#34900_luaB_type(local_#6044_L_IN : { base : int, offset : int }) returns (local_#8152 : int) { var local_#6044_L : { base : int, offset : int }; havoc local_#8152; havoc local_#6044_L; local_#6044_L := local_#6044_L_IN; } procedure routine_#34901_luaB_xpcall(local_#6045_L_IN : { base : int, offset : int }) returns (local_#8153 : int) { var local_#6045_L : { base : int, offset : int }; havoc local_#8153; havoc local_#6045_L; local_#6045_L := local_#6045_L_IN; } procedure routine_#34902_luaB_yield(local_#6046_L_IN : { base : int, offset : int }) returns (local_#8154 : int) { var local_#6046_L : { base : int, offset : int }; havoc local_#8154; havoc local_#6046_L; local_#6046_L := local_#6046_L_IN; } procedure routine_#34903_luaB_yieldable(local_#6047_L_IN : { base : int, offset : int }) returns (local_#8155 : int) { var local_#6047_L : { base : int, offset : int }; havoc local_#8155; havoc local_#6047_L; local_#6047_L := local_#6047_L_IN; } procedure routine_#34918_math_abs(local_#6077_L_IN : { base : int, offset : int }) returns (local_#8166 : int) { var local_#6077_L : { base : int, offset : int }; havoc local_#8166; havoc local_#6077_L; local_#6077_L := local_#6077_L_IN; } procedure routine_#34919_math_acos(local_#6078_L_IN : { base : int, offset : int }) returns (local_#8167 : int) { var local_#6078_L : { base : int, offset : int }; havoc local_#8167; havoc local_#6078_L; local_#6078_L := local_#6078_L_IN; } procedure routine_#34920_math_asin(local_#6079_L_IN : { base : int, offset : int }) returns (local_#8168 : int) { var local_#6079_L : { base : int, offset : int }; havoc local_#8168; havoc local_#6079_L; local_#6079_L := local_#6079_L_IN; } procedure routine_#34921_math_atan(local_#6080_L_IN : { base : int, offset : int }) returns (local_#8169 : int) { var local_#6080_L : { base : int, offset : int }; havoc local_#8169; havoc local_#6080_L; local_#6080_L := local_#6080_L_IN; } procedure routine_#34922_math_ceil(local_#6081_L_IN : { base : int, offset : int }) returns (local_#8170 : int) { var local_#6081_L : { base : int, offset : int }; havoc local_#8170; havoc local_#6081_L; local_#6081_L := local_#6081_L_IN; } procedure routine_#34923_math_cos(local_#6082_L_IN : { base : int, offset : int }) returns (local_#8171 : int) { var local_#6082_L : { base : int, offset : int }; havoc local_#8171; havoc local_#6082_L; local_#6082_L := local_#6082_L_IN; } procedure routine_#34924_math_cosh(local_#6083_L_IN : { base : int, offset : int }) returns (local_#8172 : int) { var local_#6083_L : { base : int, offset : int }; havoc local_#8172; havoc local_#6083_L; local_#6083_L := local_#6083_L_IN; } procedure routine_#34925_math_deg(local_#6084_L_IN : { base : int, offset : int }) returns (local_#8173 : int) { var local_#6084_L : { base : int, offset : int }; havoc local_#8173; havoc local_#6084_L; local_#6084_L := local_#6084_L_IN; } procedure routine_#34926_math_exp(local_#6085_L_IN : { base : int, offset : int }) returns (local_#8174 : int) { var local_#6085_L : { base : int, offset : int }; havoc local_#8174; havoc local_#6085_L; local_#6085_L := local_#6085_L_IN; } procedure routine_#34927_math_floor(local_#6086_L_IN : { base : int, offset : int }) returns (local_#8175 : int) { var local_#6086_L : { base : int, offset : int }; havoc local_#8175; havoc local_#6086_L; local_#6086_L := local_#6086_L_IN; } procedure routine_#34928_math_fmod(local_#6087_L_IN : { base : int, offset : int }) returns (local_#8176 : int) { var local_#6087_L : { base : int, offset : int }; havoc local_#8176; havoc local_#6087_L; local_#6087_L := local_#6087_L_IN; } procedure routine_#34929_math_frexp(local_#6088_L_IN : { base : int, offset : int }) returns (local_#8177 : int) { var local_#6088_L : { base : int, offset : int }; havoc local_#8177; havoc local_#6088_L; local_#6088_L := local_#6088_L_IN; } procedure routine_#34930_math_ldexp(local_#6089_L_IN : { base : int, offset : int }) returns (local_#8178 : int) { var local_#6089_L : { base : int, offset : int }; havoc local_#8178; havoc local_#6089_L; local_#6089_L := local_#6089_L_IN; } procedure routine_#34931_math_log(local_#6090_L_IN : { base : int, offset : int }) returns (local_#8179 : int) { var local_#6090_L : { base : int, offset : int }; havoc local_#8179; havoc local_#6090_L; local_#6090_L := local_#6090_L_IN; } procedure routine_#34932_math_log10(local_#6091_L_IN : { base : int, offset : int }) returns (local_#8180 : int) { var local_#6091_L : { base : int, offset : int }; havoc local_#8180; havoc local_#6091_L; local_#6091_L := local_#6091_L_IN; } procedure routine_#34933_math_max(local_#6092_L_IN : { base : int, offset : int }) returns (local_#8181 : int) { var local_#6092_L : { base : int, offset : int }; havoc local_#8181; havoc local_#6092_L; local_#6092_L := local_#6092_L_IN; } procedure routine_#34934_math_min(local_#6093_L_IN : { base : int, offset : int }) returns (local_#8182 : int) { var local_#6093_L : { base : int, offset : int }; havoc local_#8182; havoc local_#6093_L; local_#6093_L := local_#6093_L_IN; } procedure routine_#34935_math_modf(local_#6094_L_IN : { base : int, offset : int }) returns (local_#8183 : int) { var local_#6094_L : { base : int, offset : int }; havoc local_#8183; havoc local_#6094_L; local_#6094_L := local_#6094_L_IN; } procedure routine_#34936_math_pow(local_#6095_L_IN : { base : int, offset : int }) returns (local_#8184 : int) { var local_#6095_L : { base : int, offset : int }; havoc local_#8184; havoc local_#6095_L; local_#6095_L := local_#6095_L_IN; } procedure routine_#34937_math_rad(local_#6096_L_IN : { base : int, offset : int }) returns (local_#8185 : int) { var local_#6096_L : { base : int, offset : int }; havoc local_#8185; havoc local_#6096_L; local_#6096_L := local_#6096_L_IN; } procedure routine_#34938_math_random(local_#6097_L_IN : { base : int, offset : int }) returns (local_#8186 : int) { var local_#6097_L : { base : int, offset : int }; havoc local_#8186; havoc local_#6097_L; local_#6097_L := local_#6097_L_IN; } procedure routine_#34939_math_randomseed(local_#6098_L_IN : { base : int, offset : int }) returns (local_#8187 : int) { var local_#6098_L : { base : int, offset : int }; havoc local_#8187; havoc local_#6098_L; local_#6098_L := local_#6098_L_IN; } procedure routine_#34940_math_sin(local_#6099_L_IN : { base : int, offset : int }) returns (local_#8188 : int) { var local_#6099_L : { base : int, offset : int }; havoc local_#8188; havoc local_#6099_L; local_#6099_L := local_#6099_L_IN; } procedure routine_#34941_math_sinh(local_#6100_L_IN : { base : int, offset : int }) returns (local_#8189 : int) { var local_#6100_L : { base : int, offset : int }; havoc local_#8189; havoc local_#6100_L; local_#6100_L := local_#6100_L_IN; } procedure routine_#34942_math_sqrt(local_#6101_L_IN : { base : int, offset : int }) returns (local_#8190 : int) { var local_#6101_L : { base : int, offset : int }; havoc local_#8190; havoc local_#6101_L; local_#6101_L := local_#6101_L_IN; } procedure routine_#34943_math_tan(local_#6102_L_IN : { base : int, offset : int }) returns (local_#8191 : int) { var local_#6102_L : { base : int, offset : int }; havoc local_#8191; havoc local_#6102_L; local_#6102_L := local_#6102_L_IN; } procedure routine_#34944_math_tanh(local_#6103_L_IN : { base : int, offset : int }) returns (local_#8192 : int) { var local_#6103_L : { base : int, offset : int }; havoc local_#8192; havoc local_#6103_L; local_#6103_L := local_#6103_L_IN; } procedure routine_#34945_math_toint(local_#6104_L_IN : { base : int, offset : int }) returns (local_#8193 : int) { var local_#6104_L : { base : int, offset : int }; havoc local_#8193; havoc local_#6104_L; local_#6104_L := local_#6104_L_IN; } procedure routine_#34946_math_type(local_#6105_L_IN : { base : int, offset : int }) returns (local_#8194 : int) { var local_#6105_L : { base : int, offset : int }; havoc local_#8194; havoc local_#6105_L; local_#6105_L := local_#6105_L_IN; } procedure routine_#34947_math_ult(local_#6106_L_IN : { base : int, offset : int }) returns (local_#8195 : int) { var local_#6106_L : { base : int, offset : int }; havoc local_#8195; havoc local_#6106_L; local_#6106_L := local_#6106_L_IN; } procedure routine_#34951_moveresults(local_#6117_L_IN : { base : int, offset : int }, local_#6118_firstResult_IN : { base : int, offset : int }, local_#6119_res_IN : { base : int, offset : int }, local_#6120_nres_IN : int, local_#6121_wanted_IN : int) returns (local_#8198 : int) { var local_#6117_L : { base : int, offset : int }; var local_#6118_firstResult : { base : int, offset : int }; var local_#6119_res : { base : int, offset : int }; var local_#6120_nres : int; var local_#6121_wanted : int; havoc local_#8198; havoc local_#6117_L; havoc local_#6118_firstResult; havoc local_#6119_res; havoc local_#6120_nres; havoc local_#6121_wanted; local_#6117_L := local_#6117_L_IN; local_#6118_firstResult := local_#6118_firstResult_IN; local_#6119_res := local_#6119_res_IN; local_#6120_nres := local_#6120_nres_IN; local_#6121_wanted := local_#6121_wanted_IN; } procedure routine_#34952_msghandler(local_#6122_L_IN : { base : int, offset : int }) returns (local_#8199 : int) { var local_#6122_L : { base : int, offset : int }; havoc local_#8199; havoc local_#6122_L; local_#6122_L := local_#6122_L_IN; } procedure routine_#34972_os_clock(local_#6165_L_IN : { base : int, offset : int }) returns (local_#8214 : int) { var local_#6165_L : { base : int, offset : int }; havoc local_#8214; havoc local_#6165_L; local_#6165_L := local_#6165_L_IN; } procedure routine_#34973_os_date(local_#6166_L_IN : { base : int, offset : int }) returns (local_#8215 : int) { var local_#6166_L : { base : int, offset : int }; havoc local_#8215; havoc local_#6166_L; local_#6166_L := local_#6166_L_IN; } procedure routine_#34974_os_difftime(local_#6167_L_IN : { base : int, offset : int }) returns (local_#8216 : int) { var local_#6167_L : { base : int, offset : int }; havoc local_#8216; havoc local_#6167_L; local_#6167_L := local_#6167_L_IN; } procedure routine_#34975_os_execute(local_#6168_L_IN : { base : int, offset : int }) returns (local_#8217 : int) { var local_#6168_L : { base : int, offset : int }; havoc local_#8217; havoc local_#6168_L; local_#6168_L := local_#6168_L_IN; } procedure routine_#34976_os_exit(local_#6169_L_IN : { base : int, offset : int }) returns (local_#8218 : int) { var local_#6169_L : { base : int, offset : int }; havoc local_#8218; havoc local_#6169_L; local_#6169_L := local_#6169_L_IN; } procedure routine_#34977_os_getenv(local_#6170_L_IN : { base : int, offset : int }) returns (local_#8219 : int) { var local_#6170_L : { base : int, offset : int }; havoc local_#8219; havoc local_#6170_L; local_#6170_L := local_#6170_L_IN; } procedure routine_#34978_os_remove(local_#6171_L_IN : { base : int, offset : int }) returns (local_#8220 : int) { var local_#6171_L : { base : int, offset : int }; havoc local_#8220; havoc local_#6171_L; local_#6171_L := local_#6171_L_IN; } procedure routine_#34979_os_rename(local_#6172_L_IN : { base : int, offset : int }) returns (local_#8221 : int) { var local_#6172_L : { base : int, offset : int }; havoc local_#8221; havoc local_#6172_L; local_#6172_L := local_#6172_L_IN; } procedure routine_#34980_os_setlocale(local_#6173_L_IN : { base : int, offset : int }) returns (local_#8222 : int) { var local_#6173_L : { base : int, offset : int }; havoc local_#8222; havoc local_#6173_L; local_#6173_L := local_#6173_L_IN; } procedure routine_#34981_os_time(local_#6174_L_IN : { base : int, offset : int }) returns (local_#8223 : int) { var local_#6174_L : { base : int, offset : int }; havoc local_#8223; havoc local_#6174_L; local_#6174_L := local_#6174_L_IN; } procedure routine_#34982_os_tmpname(local_#6175_L_IN : { base : int, offset : int }) returns (local_#8224 : int) { var local_#6175_L : { base : int, offset : int }; havoc local_#8224; havoc local_#6175_L; local_#6175_L := local_#6175_L_IN; } procedure routine_#34983_pack(local_#6176_L_IN : { base : int, offset : int }) returns (local_#8225 : int) { var local_#6176_L : { base : int, offset : int }; havoc local_#8225; havoc local_#6176_L; local_#6176_L := local_#6176_L_IN; } procedure routine_#34986_panic(local_#6186_L_IN : { base : int, offset : int }) returns (local_#8227 : int) { var local_#6186_L : { base : int, offset : int }; havoc local_#8227; havoc local_#6186_L; local_#6186_L := local_#6186_L_IN; } procedure routine_#34991_pmain(local_#6199_L_IN : { base : int, offset : int }) returns (local_#8230 : int) { var local_#6199_L : { base : int, offset : int }; havoc local_#8230; havoc local_#6199_L; local_#6199_L := local_#6199_L_IN; } procedure routine_#35003_pushclosure(local_#6223_L_IN : { base : int, offset : int }, local_#6224_p_IN : { base : int, offset : int }, local_#6225_encup_IN : { base : int, offset : int }, local_#6226_base_IN : { base : int, offset : int }, local_#6227_ra_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6223_L : { base : int, offset : int }; var local_#6224_p : { base : int, offset : int }; var local_#6225_encup : { base : int, offset : int }; var local_#6226_base : { base : int, offset : int }; var local_#6227_ra : { base : int, offset : int }; var local_#32670_nup : int; var local_#32671_uv : { base : int, offset : int }; var local_#25931 : { base : int, offset : int }; var local_#32669_ncl : { base : int, offset : int }; var local_#32672_io : { base : int, offset : int }; var local_#32673_x_ : { base : int, offset : int }; var local_#25932 : { base : int, offset : int }; var local_#25933 : { base : int, offset : int }; var local_#25934 : { base : int, offset : int }; var local_#25935 : int; var local_#25936 : int; var local_#32668_i : int; var local_#25937 : int; var local_#25938 : int; var local_#25939 : int; var local_#25940 : int; var local_#25941 : int; var local_#25942 : { base : int, offset : int }; var local_#25943 : int; var local_#25944 : { base : int, offset : int }; var local_#25945 : { base : int, offset : int }; var local_#25946 : { base : int, offset : int }; var local_#25947 : { base : int, offset : int }; var local_#25948 : { base : int, offset : int }; var local_#25949 : { base : int, offset : int }; var local_#25950 : { base : int, offset : int }; var local_#25951 : { base : int, offset : int }; var local_#25952 : { base : int, offset : int }; var local_#25953 : { base : int, offset : int }; var local_#25954 : { base : int, offset : int }; var local_#25955 : { base : int, offset : int }; var local_#25956 : int; var local_#25957 : int; var local_#25958 : int; var local_#25959 : int; var local_#25960 : int; var local_#25961 : int; havoc local_#6223_L; havoc local_#6224_p; havoc local_#6225_encup; havoc local_#6226_base; havoc local_#6227_ra; havoc local_#32670_nup; havoc local_#32671_uv; havoc local_#25931; havoc local_#32669_ncl; havoc local_#32672_io; havoc local_#32673_x_; havoc local_#25932; havoc local_#25933; havoc local_#25934; havoc local_#25935; havoc local_#25936; havoc local_#32668_i; havoc local_#25937; havoc local_#25938; havoc local_#25939; havoc local_#25940; havoc local_#25941; havoc local_#25942; havoc local_#25943; havoc local_#25944; havoc local_#25945; havoc local_#25946; havoc local_#25947; havoc local_#25948; havoc local_#25949; havoc local_#25950; havoc local_#25951; havoc local_#25952; havoc local_#25953; havoc local_#25954; havoc local_#25955; havoc local_#25956; havoc local_#25957; havoc local_#25958; havoc local_#25959; havoc local_#25960; havoc local_#25961; local_#6223_L := local_#6223_L_IN; local_#6224_p := local_#6224_p_IN; local_#6225_encup := local_#6225_encup_IN; local_#6226_base := local_#6226_base_IN; local_#6227_ra := local_#6227_ra_IN; goto CFG_36991; CFG_36991: assume { :LIR "36991" } { :back_translation "block" } true; goto CFG_44327; CFG_44327: assume { :LIR "44327" } { :back_translation "block" } true; assume { :LIR "57758" } { :back_translation "assignment" } true; local_#32670_nup := _memory[{ base : local_#6224_p!base, offset : local_#6224_p!offset + 16 }]; assume { :LIR "57759" } { :back_translation "assignment" } true; local_#32671_uv := _memory_ptr[{ base : local_#6224_p!base, offset : local_#6224_p!offset + 88 }]; goto CFG_48282; CFG_48282: assume { :LIR "48282" } { :back_translation "block" } true; assume { :LIR "81813" } { :back_translation "visiting" } true; call local_#25931 := routine_#33755_luaF_newLclosure(local_#6223_L,local_#32670_nup); goto CFG_41812; CFG_41812: assume { :LIR "41812" } { :back_translation "block" } true; assume { :LIR "57760" } { :back_translation "assignment" } true; local_#32669_ncl := local_#25931; assume { :LIR "57761" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#32669_ncl!base, offset : local_#32669_ncl!offset + 24 }] := local_#6224_p; assume { :LIR "57762" } { :back_translation "assignment" } true; local_#32672_io := local_#6227_ra; assume { :LIR "57763" } { :back_translation "assignment" } true; local_#32673_x_ := local_#32669_ncl; assume { :LIR "61831" } { :back_translation "visiting" } true; local_#25932 := local_#32673_x_; assume { :LIR "57764" } { :back_translation "assignment" } true; local_#25933 := { base : local_#25932!base, offset : local_#25932!offset + 0 }; assume { :LIR "57765" } { :back_translation "assignment" } true; local_#25934 := { base : local_#32672_io!base, offset : local_#32672_io!offset + 0 }; assume { :LIR "57766" } { :back_translation "assignment" } true; _memory_ptr[local_#25934] := local_#25933; assume { :LIR "76834" } { :back_translation "visiting" } true; _memory[{ base : local_#32672_io!base, offset : local_#32672_io!offset + 8 }] := 70; assume { :LIR "76835" } { :back_translation "visiting" } true; local_#25935 := 0; assume { :LIR "61832" } { :back_translation "visiting" } true; local_#25936 := 0; assume { :LIR "76836" } { :back_translation "visiting" } true; local_#32668_i := 0; goto CFG_50991; CFG_50991: assume { :LIR "50991" } { :back_translation "block" } true; assume { :LIR "66298" } { :back_translation "visiting" } true; local_#25937 := (if local_#32668_i < local_#32670_nup then 1 else 0); if (local_#25937 != 0) { assume { :LIR "50993" } { :back_translation "taking-then-branch" } true; goto CFG_50993; } else { assume { :LIR "50992" } { :back_translation "taking-else-branch" } true; goto CFG_50992; } CFG_50992: assume { :LIR "50992" } { :back_translation "block" } true; assume { :LIR "63720" } { :back_translation "visiting" } true; local_#25938 := _memory[{ base : local_#6224_p!base, offset : local_#6224_p!offset + 9 }]; assume { :LIR "76837" } { :back_translation "visiting" } true; local_#25939 := 4; assume { :LIR "69260" } { :back_translation "visiting" } true; local_#25940 := ~sand32(local_#25938, local_#25939); assume { :LIR "64622" } { :back_translation "visiting" } true; local_#25941 := (if local_#25940 != 0 then 0 else 1); if (local_#25941 != 0) { assume { :LIR "41232" } { :back_translation "taking-then-branch" } true; goto CFG_41232; } else { assume { :LIR "39389" } { :back_translation "taking-else-branch" } true; goto CFG_39389; } CFG_41232: assume { :LIR "41232" } { :back_translation "block" } true; assume { :LIR "57767" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#6224_p!base, offset : local_#6224_p!offset + 96 }] := local_#32669_ncl; goto CFG_39389; CFG_39389: assume { :LIR "39389" } { :back_translation "block" } true; goto CFG_37902; CFG_50993: assume { :LIR "50993" } { :back_translation "block" } true; assume { :LIR "67671" } { :back_translation "visiting" } true; local_#25942 := { base : local_#32671_uv!base, offset : local_#32671_uv!offset + local_#32668_i * 16 }; assume { :LIR "57768" } { :back_translation "assignment" } true; local_#25943 := _memory[{ base : local_#25942!base, offset : local_#25942!offset + 8 }]; if (local_#25943 != 0) { assume { :LIR "44328" } { :back_translation "taking-then-branch" } true; goto CFG_44328; } else { assume { :LIR "41233" } { :back_translation "taking-else-branch" } true; goto CFG_41233; } CFG_41233: assume { :LIR "41233" } { :back_translation "block" } true; assume { :LIR "67672" } { :back_translation "visiting" } true; local_#25944 := { base : local_#32671_uv!base, offset : local_#32671_uv!offset + local_#32668_i * 16 }; assume { :LIR "67673" } { :back_translation "visiting" } true; local_#25945 := { base : local_#6225_encup!base, offset : local_#6225_encup!offset + _memory[{ base : local_#25944!base, offset : local_#25944!offset + 9 }] * 8 }; assume { :LIR "57769" } { :back_translation "assignment" } true; local_#25946 := { base : local_#32669_ncl!base, offset : local_#32669_ncl!offset + 32 }; assume { :LIR "67674" } { :back_translation "visiting" } true; local_#25947 := { base : local_#25946!base, offset : local_#25946!offset + 0 * 8 + local_#32668_i * 8 }; assume { :LIR "57770" } { :back_translation "assignment" } true; _memory_ptr[local_#25947] := _memory_ptr[local_#25945]; goto CFG_44329; CFG_44328: assume { :LIR "44328" } { :back_translation "block" } true; assume { :LIR "67675" } { :back_translation "visiting" } true; local_#25948 := { base : local_#32671_uv!base, offset : local_#32671_uv!offset + local_#32668_i * 16 }; assume { :LIR "67676" } { :back_translation "visiting" } true; local_#25949 := { base : local_#6226_base!base, offset : local_#6226_base!offset + _memory[{ base : local_#25948!base, offset : local_#25948!offset + 9 }] * 16 }; goto CFG_48283; CFG_48283: assume { :LIR "48283" } { :back_translation "block" } true; assume { :LIR "81814" } { :back_translation "visiting" } true; call local_#25950 := routine_#33750_luaF_findupval(local_#6223_L,local_#25949); goto CFG_41234; CFG_41234: assume { :LIR "41234" } { :back_translation "block" } true; assume { :LIR "57771" } { :back_translation "assignment" } true; local_#25951 := { base : local_#32669_ncl!base, offset : local_#32669_ncl!offset + 32 }; assume { :LIR "67677" } { :back_translation "visiting" } true; local_#25952 := { base : local_#25951!base, offset : local_#25951!offset + 0 * 8 + local_#32668_i * 8 }; assume { :LIR "57772" } { :back_translation "assignment" } true; _memory_ptr[local_#25952] := local_#25950; goto CFG_44329; CFG_44329: assume { :LIR "44329" } { :back_translation "block" } true; assume { :LIR "57773" } { :back_translation "assignment" } true; local_#25953 := { base : local_#32669_ncl!base, offset : local_#32669_ncl!offset + 32 }; assume { :LIR "67678" } { :back_translation "visiting" } true; local_#25954 := { base : local_#25953!base, offset : local_#25953!offset + 0 * 8 + local_#32668_i * 8 }; assume { :LIR "57774" } { :back_translation "assignment" } true; local_#25955 := _memory_ptr[local_#25954]; assume { :LIR "57775" } { :back_translation "assignment" } true; local_#25956 := _memory[{ base : local_#25955!base, offset : local_#25955!offset + 8 }]; assume { :LIR "76838" } { :back_translation "visiting" } true; local_#25957 := 1; assume { :LIR "66766" } { :back_translation "visiting" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#25955!base, offset : local_#25955!offset + 8 }] := ~uwrap64(local_#25956 + local_#25957); assume { :LIR "57776" } { :back_translation "assignment" } true; local_#25958 := local_#25956; goto CFG_45153; CFG_45153: assume { :LIR "45153" } { :back_translation "block" } true; assume { :LIR "57777" } { :back_translation "assignment" } true; local_#25959 := local_#32668_i; assume { :LIR "76839" } { :back_translation "visiting" } true; local_#25960 := 1; assume { :LIR "66767" } { :back_translation "visiting" } true; local_#32668_i := local_#25959 + local_#25960; assume { :LIR "57778" } { :back_translation "assignment" } true; local_#25961 := local_#25959; goto CFG_50991; CFG_37902: assume { :LIR "37902" } { :back_translation "block" } true; } procedure routine_#35023_reallymarkobject(local_#6267_g_IN : { base : int, offset : int }, local_#6268_o_IN : { base : int, offset : int }) returns () { var local_#6267_g : { base : int, offset : int }; var local_#6268_o : { base : int, offset : int }; havoc local_#6267_g; havoc local_#6268_o; local_#6267_g := local_#6267_g_IN; local_#6268_o := local_#6268_o_IN; } procedure routine_#35037_resume(local_#6293_L_IN : { base : int, offset : int }, local_#6294_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6293_L : { base : int, offset : int }; var local_#6294_ud : { base : int, offset : int }; var local_#27024 : { base : int, offset : int }; var local_#32747_n : int; var local_#27025 : { base : int, offset : int }; var local_#32746_firstArg : { base : int, offset : int }; var local_#32745_ci : { base : int, offset : int }; var local_#27026 : int; var local_#27027 : int; var local_#27028 : int; var local_#27029 : int; var local_#27030 : int; var local_#27031 : { base : int, offset : int }; var local_#27032 : { base : int, offset : int }; var local_#27033 : { base : int, offset : int }; var local_#27034 : int; var local_#27035 : int; var local_#27036 : int; var local_#27055 : int; var local_#27056 : { base : int, offset : int }; var local_#27057 : int; var local_#27058 : int; var local_#27059 : int; havoc local_#6293_L; havoc local_#6294_ud; havoc local_#27024; havoc local_#32747_n; havoc local_#27025; havoc local_#32746_firstArg; havoc local_#32745_ci; havoc local_#27026; havoc local_#27027; havoc local_#27028; havoc local_#27029; havoc local_#27030; havoc local_#27031; havoc local_#27032; havoc local_#27033; havoc local_#27034; havoc local_#27035; havoc local_#27036; havoc local_#27055; havoc local_#27056; havoc local_#27057; havoc local_#27058; havoc local_#27059; local_#6293_L := local_#6293_L_IN; local_#6294_ud := local_#6294_ud_IN; goto CFG_37025; CFG_37025: assume { :LIR "37025" } { :back_translation "block" } true; goto CFG_51109; CFG_51109: assume { :LIR "51109" } { :back_translation "block" } true; assume { :LIR "61904" } { :back_translation "visiting" } true; local_#27024 := local_#6294_ud; assume { :LIR "58281" } { :back_translation "assignment" } true; local_#32747_n := _memory[local_#27024]; assume { :LIR "68399" } { :back_translation "visiting" } true; local_#27025 := { base : _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 16 }]!offset - local_#32747_n * 16 }; assume { :LIR "58282" } { :back_translation "assignment" } true; local_#32746_firstArg := local_#27025; assume { :LIR "58283" } { :back_translation "assignment" } true; local_#32745_ci := _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 32 }]; assume { :LIR "63849" } { :back_translation "visiting" } true; local_#27026 := _memory[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 12 }]; assume { :LIR "77100" } { :back_translation "visiting" } true; local_#27027 := 0; assume { :LIR "65342" } { :back_translation "visiting" } true; local_#27028 := (if local_#27026 == local_#27027 then 1 else 0); if (local_#27028 != 0) { assume { :LIR "44483" } { :back_translation "taking-then-branch" } true; goto CFG_44483; } else { assume { :LIR "51110" } { :back_translation "taking-else-branch" } true; goto CFG_51110; } CFG_51110: assume { :LIR "51110" } { :back_translation "block" } true; assume { :LIR "77101" } { :back_translation "visiting" } true; local_#27029 := 0; assume { :LIR "61905" } { :back_translation "visiting" } true; local_#27030 := 0; assume { :LIR "77102" } { :back_translation "visiting" } true; _memory[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 12 }] := 0; assume { :LIR "61906" } { :back_translation "visiting" } true; local_#27031 := _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 56 }]; assume { :LIR "67716" } { :back_translation "visiting" } true; local_#27032 := { base : local_#27031!base, offset : local_#27031!offset + _memory[{ base : local_#32745_ci!base, offset : local_#32745_ci!offset + 56 }] * 1 }; assume { :LIR "61907" } { :back_translation "visiting" } true; local_#27033 := local_#27032; assume { :LIR "58284" } { :back_translation "assignment" } true; _memory_ptr[{ base : local_#32745_ci!base, offset : local_#32745_ci!offset + 0 }] := local_#27033; assume { :LIR "63850" } { :back_translation "visiting" } true; local_#27034 := _memory[{ base : local_#32745_ci!base, offset : local_#32745_ci!offset + 66 }]; assume { :LIR "77103" } { :back_translation "visiting" } true; local_#27035 := 2; assume { :LIR "69284" } { :back_translation "visiting" } true; local_#27036 := ~sand32(local_#27034, local_#27035); if (local_#27036 != 0) { assume { :LIR "48471" } { :back_translation "taking-then-branch" } true; goto CFG_48471; } else { assume { :LIR "51111" } { :back_translation "taking-else-branch" } true; goto _routine_#35037_resume_SLICED_OUT_BLOCK; } CFG_48471: assume { :LIR "48471" } { :back_translation "block" } true; assume { :LIR "82000" } { :back_translation "visiting" } true; call routine_#33894_luaV_execute(local_#6293_L); goto _routine_#35037_resume_SLICED_OUT_BLOCK; CFG_44483: assume { :LIR "44483" } { :back_translation "block" } true; assume { :LIR "77108" } { :back_translation "visiting" } true; local_#27055 := 1; assume { :LIR "68401" } { :back_translation "visiting" } true; local_#27056 := { base : local_#32746_firstArg!base, offset : local_#32746_firstArg!offset - local_#27055 * 16 }; assume { :LIR "77109" } { :back_translation "visiting" } true; local_#27057 := -1; goto CFG_48473; CFG_48473: assume { :LIR "48473" } { :back_translation "block" } true; assume { :LIR "82002" } { :back_translation "visiting" } true; call local_#27058 := routine_#33738_luaD_precall(local_#6293_L,local_#27056,local_#27057); goto CFG_51112; CFG_51112: assume { :LIR "51112" } { :back_translation "block" } true; assume { :LIR "64626" } { :back_translation "visiting" } true; local_#27059 := (if local_#27058 != 0 then 0 else 1); if (local_#27059 != 0) { assume { :LIR "48474" } { :back_translation "taking-then-branch" } true; goto CFG_48474; } else { assume { :LIR "41336" } { :back_translation "taking-else-branch" } true; goto _routine_#35037_resume_SLICED_OUT_BLOCK; } CFG_48474: assume { :LIR "48474" } { :back_translation "block" } true; assume { :LIR "82003" } { :back_translation "visiting" } true; call routine_#33894_luaV_execute(local_#6293_L); goto _routine_#35037_resume_SLICED_OUT_BLOCK; _routine_#35037_resume_SLICED_OUT_BLOCK: assume false; } procedure routine_#35041_runafewfinalizers(local_#6302_L_IN : { base : int, offset : int }) returns (local_#8251 : int) { var local_#6302_L : { base : int, offset : int }; havoc local_#8251; havoc local_#6302_L; local_#6302_L := local_#6302_L_IN; } procedure routine_#35045_searcher_C(local_#6311_L_IN : { base : int, offset : int }) returns (local_#8254 : int) { var local_#6311_L : { base : int, offset : int }; havoc local_#8254; havoc local_#6311_L; local_#6311_L := local_#6311_L_IN; } procedure routine_#35046_searcher_Croot(local_#6312_L_IN : { base : int, offset : int }) returns (local_#8255 : int) { var local_#6312_L : { base : int, offset : int }; havoc local_#8255; havoc local_#6312_L; local_#6312_L := local_#6312_L_IN; } procedure routine_#35047_searcher_Lua(local_#6313_L_IN : { base : int, offset : int }) returns (local_#8256 : int) { var local_#6313_L : { base : int, offset : int }; havoc local_#8256; havoc local_#6313_L; local_#6313_L := local_#6313_L_IN; } procedure routine_#35048_searcher_preload(local_#6314_L_IN : { base : int, offset : int }) returns (local_#8257 : int) { var local_#6314_L : { base : int, offset : int }; havoc local_#8257; havoc local_#6314_L; local_#6314_L := local_#6314_L_IN; } procedure routine_#35056_setarrayvector(local_#6333_L_IN : { base : int, offset : int }, local_#6334_t_IN : { base : int, offset : int }, local_#6335_size_IN : int) returns () { var local_#6333_L : { base : int, offset : int }; var local_#6334_t : { base : int, offset : int }; var local_#6335_size : int; havoc local_#6333_L; havoc local_#6334_t; havoc local_#6335_size; local_#6333_L := local_#6333_L_IN; local_#6334_t := local_#6334_t_IN; local_#6335_size := local_#6335_size_IN; } procedure routine_#35060_setnodevector(local_#6345_L_IN : { base : int, offset : int }, local_#6346_t_IN : { base : int, offset : int }, local_#6347_size_IN : int) returns () { var local_#6345_L : { base : int, offset : int }; var local_#6346_t : { base : int, offset : int }; var local_#6347_size : int; havoc local_#6345_L; havoc local_#6346_t; havoc local_#6347_size; local_#6345_L := local_#6345_L_IN; local_#6346_t := local_#6346_t_IN; local_#6347_size := local_#6347_size_IN; } procedure routine_#35062_setpause(local_#6352_g_IN : { base : int, offset : int }) returns () { var local_#6352_g : { base : int, offset : int }; havoc local_#6352_g; local_#6352_g := local_#6352_g_IN; } procedure routine_#35068_singlestep(local_#6368_L_IN : { base : int, offset : int }) returns (local_#8262 : int) { var local_#6368_L : { base : int, offset : int }; havoc local_#8262; havoc local_#6368_L; local_#6368_L := local_#6368_L_IN; } procedure routine_#35075_sort(local_#6380_L_IN : { base : int, offset : int }) returns (local_#8266 : int) { var local_#6380_L : { base : int, offset : int }; havoc local_#8266; havoc local_#6380_L; local_#6380_L := local_#6380_L_IN; } procedure routine_#35078_stackerror(local_#6386_L_IN : { base : int, offset : int }) returns () { var local_#6386_L : { base : int, offset : int }; havoc local_#6386_L; local_#6386_L := local_#6386_L_IN; } procedure routine_#35083_str_byte(local_#6394_L_IN : { base : int, offset : int }) returns (local_#8270 : int) { var local_#6394_L : { base : int, offset : int }; havoc local_#8270; havoc local_#6394_L; local_#6394_L := local_#6394_L_IN; } procedure routine_#35084_str_char(local_#6395_L_IN : { base : int, offset : int }) returns (local_#8271 : int) { var local_#6395_L : { base : int, offset : int }; havoc local_#8271; havoc local_#6395_L; local_#6395_L := local_#6395_L_IN; } procedure routine_#35086_str_dump(local_#6397_L_IN : { base : int, offset : int }) returns (local_#8273 : int) { var local_#6397_L : { base : int, offset : int }; havoc local_#8273; havoc local_#6397_L; local_#6397_L := local_#6397_L_IN; } procedure routine_#35087_str_find(local_#6398_L_IN : { base : int, offset : int }) returns (local_#8274 : int) { var local_#6398_L : { base : int, offset : int }; havoc local_#8274; havoc local_#6398_L; local_#6398_L := local_#6398_L_IN; } procedure routine_#35089_str_format(local_#6401_L_IN : { base : int, offset : int }) returns (local_#8276 : int) { var local_#6401_L : { base : int, offset : int }; havoc local_#8276; havoc local_#6401_L; local_#6401_L := local_#6401_L_IN; } procedure routine_#35090_str_gsub(local_#6402_L_IN : { base : int, offset : int }) returns (local_#8277 : int) { var local_#6402_L : { base : int, offset : int }; havoc local_#8277; havoc local_#6402_L; local_#6402_L := local_#6402_L_IN; } procedure routine_#35091_str_len(local_#6403_L_IN : { base : int, offset : int }) returns (local_#8278 : int) { var local_#6403_L : { base : int, offset : int }; havoc local_#8278; havoc local_#6403_L; local_#6403_L := local_#6403_L_IN; } procedure routine_#35092_str_lower(local_#6404_L_IN : { base : int, offset : int }) returns (local_#8279 : int) { var local_#6404_L : { base : int, offset : int }; havoc local_#8279; havoc local_#6404_L; local_#6404_L := local_#6404_L_IN; } procedure routine_#35093_str_match(local_#6405_L_IN : { base : int, offset : int }) returns (local_#8280 : int) { var local_#6405_L : { base : int, offset : int }; havoc local_#8280; havoc local_#6405_L; local_#6405_L := local_#6405_L_IN; } procedure routine_#35094_str_pack(local_#6406_L_IN : { base : int, offset : int }) returns (local_#8281 : int) { var local_#6406_L : { base : int, offset : int }; havoc local_#8281; havoc local_#6406_L; local_#6406_L := local_#6406_L_IN; } procedure routine_#35095_str_packsize(local_#6407_L_IN : { base : int, offset : int }) returns (local_#8282 : int) { var local_#6407_L : { base : int, offset : int }; havoc local_#8282; havoc local_#6407_L; local_#6407_L := local_#6407_L_IN; } procedure routine_#35096_str_rep(local_#6408_L_IN : { base : int, offset : int }) returns (local_#8283 : int) { var local_#6408_L : { base : int, offset : int }; havoc local_#8283; havoc local_#6408_L; local_#6408_L := local_#6408_L_IN; } procedure routine_#35097_str_reverse(local_#6409_L_IN : { base : int, offset : int }) returns (local_#8284 : int) { var local_#6409_L : { base : int, offset : int }; havoc local_#8284; havoc local_#6409_L; local_#6409_L := local_#6409_L_IN; } procedure routine_#35098_str_sub(local_#6410_L_IN : { base : int, offset : int }) returns (local_#8285 : int) { var local_#6410_L : { base : int, offset : int }; havoc local_#8285; havoc local_#6410_L; local_#6410_L := local_#6410_L_IN; } procedure routine_#35099_str_unpack(local_#6411_L_IN : { base : int, offset : int }) returns (local_#8286 : int) { var local_#6411_L : { base : int, offset : int }; havoc local_#8286; havoc local_#6411_L; local_#6411_L := local_#6411_L_IN; } procedure routine_#35100_str_upper(local_#6412_L_IN : { base : int, offset : int }) returns (local_#8287 : int) { var local_#6412_L : { base : int, offset : int }; havoc local_#8287; havoc local_#6412_L; local_#6412_L := local_#6412_L_IN; } procedure routine_#35108_tconcat(local_#6431_L_IN : { base : int, offset : int }) returns (local_#8292 : int) { var local_#6431_L : { base : int, offset : int }; havoc local_#8292; havoc local_#6431_L; local_#6431_L := local_#6431_L_IN; } procedure routine_#35113_tinsert(local_#6440_L_IN : { base : int, offset : int }) returns (local_#8296 : int) { var local_#6440_L : { base : int, offset : int }; havoc local_#8296; havoc local_#6440_L; local_#6440_L := local_#6440_L_IN; } procedure routine_#35114_tmove(local_#6441_L_IN : { base : int, offset : int }) returns (local_#8297 : int) { var local_#6441_L : { base : int, offset : int }; havoc local_#8297; havoc local_#6441_L; local_#6441_L := local_#6441_L_IN; } procedure routine_#35126_tremove(local_#6464_L_IN : { base : int, offset : int }) returns (local_#8306 : int) { var local_#6464_L : { base : int, offset : int }; havoc local_#8306; havoc local_#6464_L; local_#6464_L := local_#6464_L_IN; } procedure routine_#35127_tryfuncTM(local_#6465_L_IN : { base : int, offset : int }, local_#6466_func_IN : { base : int, offset : int }) returns () { var local_#6465_L : { base : int, offset : int }; var local_#6466_func : { base : int, offset : int }; havoc local_#6465_L; havoc local_#6466_func; local_#6465_L := local_#6465_L_IN; local_#6466_func := local_#6466_func_IN; } procedure routine_#35135_unpack(local_#6481_L_IN : { base : int, offset : int }) returns (local_#8313 : int) { var local_#6481_L : { base : int, offset : int }; havoc local_#8313; havoc local_#6481_L; local_#6481_L := local_#6481_L_IN; } procedure routine_#35137_unroll(local_#6487_L_IN : { base : int, offset : int }, local_#6488_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6487_L : { base : int, offset : int }; var local_#6488_ud : { base : int, offset : int }; var local_#29757 : { base : int, offset : int }; var local_#29758 : int; var local_#29759 : { base : int, offset : int }; var local_#29760 : int; var local_#29761 : int; var local_#29762 : { base : int, offset : int }; var local_#29763 : int; var local_#29764 : int; var local_#29765 : int; var local_#29766 : int; var local_#29767 : int; havoc local_#6487_L; havoc local_#6488_ud; havoc local_#29757; havoc local_#29758; havoc local_#29759; havoc local_#29760; havoc local_#29761; havoc local_#29762; havoc local_#29763; havoc local_#29764; havoc local_#29765; havoc local_#29766; havoc local_#29767; local_#6487_L := local_#6487_L_IN; local_#6488_ud := local_#6488_ud_IN; goto CFG_37125; CFG_37125: assume { :LIR "37125" } { :back_translation "block" } true; goto CFG_51468; CFG_51468: assume { :LIR "51468" } { :back_translation "block" } true; assume { :LIR "70236" } { :back_translation "visiting" } true; local_#29757 := { base : 0, offset : 0 }; assume { :LIR "65689" } { :back_translation "visiting" } true; local_#29758 := (if local_#6488_ud != local_#29757 then 1 else 0); if (local_#29758 != 0) { assume { :LIR "44904" } { :back_translation "taking-then-branch" } true; goto CFG_44904; } else { assume { :LIR "41892" } { :back_translation "taking-else-branch" } true; goto CFG_41892; } CFG_44904: assume { :LIR "44904" } { :back_translation "block" } true; assume { :LIR "62105" } { :back_translation "visiting" } true; local_#29759 := local_#6488_ud; assume { :LIR "59266" } { :back_translation "assignment" } true; local_#29760 := _memory[local_#29759]; goto CFG_48991; CFG_48991: assume { :LIR "48991" } { :back_translation "block" } true; assume { :LIR "82520" } { :back_translation "visiting" } true; call routine_#34751_finishCcall(local_#6487_L,local_#29760); goto CFG_41595; CFG_41595: assume { :LIR "41595" } { :back_translation "block" } true; goto CFG_41892; CFG_41892: assume { :LIR "41892" } { :back_translation "block" } true; goto CFG_51469; CFG_51469: assume { :LIR "51469" } { :back_translation "block" } true; assume { :LIR "65690" } { :back_translation "visiting" } true; local_#29761 := (if _memory_ptr[{ base : local_#6487_L!base, offset : local_#6487_L!offset + 32 }] != { base : local_#6487_L!base, offset : local_#6487_L!offset + 96 } then 1 else 0); if (local_#29761 != 0) { assume { :LIR "51470" } { :back_translation "taking-then-branch" } true; goto CFG_51470; } else { assume { :LIR "39449" } { :back_translation "taking-else-branch" } true; goto _routine_#35137_unroll_SLICED_OUT_BLOCK; } CFG_51470: assume { :LIR "51470" } { :back_translation "block" } true; assume { :LIR "59267" } { :back_translation "assignment" } true; local_#29762 := _memory_ptr[{ base : local_#6487_L!base, offset : local_#6487_L!offset + 32 }]; assume { :LIR "64149" } { :back_translation "visiting" } true; local_#29763 := _memory[{ base : local_#29762!base, offset : local_#29762!offset + 66 }]; assume { :LIR "77900" } { :back_translation "visiting" } true; local_#29764 := 2; assume { :LIR "69336" } { :back_translation "visiting" } true; local_#29765 := ~sand32(local_#29763, local_#29764); assume { :LIR "64646" } { :back_translation "visiting" } true; local_#29766 := (if local_#29765 != 0 then 0 else 1); if (local_#29766 != 0) { assume { :LIR "44905" } { :back_translation "taking-then-branch" } true; goto CFG_44905; } else { assume { :LIR "48992" } { :back_translation "taking-else-branch" } true; goto CFG_48992; } CFG_48992: assume { :LIR "48992" } { :back_translation "block" } true; assume { :LIR "82521" } { :back_translation "visiting" } true; call routine_#33895_luaV_finishOp(local_#6487_L); goto CFG_48993; CFG_48993: assume { :LIR "48993" } { :back_translation "block" } true; assume { :LIR "82522" } { :back_translation "visiting" } true; call routine_#33894_luaV_execute(local_#6487_L); goto CFG_41596; CFG_41596: assume { :LIR "41596" } { :back_translation "block" } true; goto CFG_45233; CFG_44905: assume { :LIR "44905" } { :back_translation "block" } true; assume { :LIR "77901" } { :back_translation "visiting" } true; local_#29767 := 1; goto CFG_48994; CFG_48994: assume { :LIR "48994" } { :back_translation "block" } true; assume { :LIR "82523" } { :back_translation "visiting" } true; call routine_#34751_finishCcall(local_#6487_L,local_#29767); goto CFG_41597; CFG_41597: assume { :LIR "41597" } { :back_translation "block" } true; goto CFG_45233; CFG_45233: assume { :LIR "45233" } { :back_translation "block" } true; goto CFG_51469; _routine_#35137_unroll_SLICED_OUT_BLOCK: assume false; } procedure routine_#35141_utfchar(local_#6494_L_IN : { base : int, offset : int }) returns (local_#8317 : int) { var local_#6494_L : { base : int, offset : int }; havoc local_#8317; havoc local_#6494_L; local_#6494_L := local_#6494_L_IN; } procedure routine_#35142_utflen(local_#6495_L_IN : { base : int, offset : int }) returns (local_#8318 : int) { var local_#6495_L : { base : int, offset : int }; havoc local_#8318; havoc local_#6495_L; local_#6495_L := local_#6495_L_IN; } procedure ULTIMATE.start() returns () modifies _memory, _memory_ptr; { var local_#3772_L : { base : int, offset : int }; var local_#3773_func : { base : int, offset : int }; var local_#3774_nResults : int; var local_#6293_L : { base : int, offset : int }; var local_#6294_ud : { base : int, offset : int }; var local_#6487_L : { base : int, offset : int }; var local_#6488_ud : { base : int, offset : int }; havoc local_#3772_L; havoc local_#3773_func; havoc local_#3774_nResults; havoc local_#6293_L; havoc local_#6294_ud; havoc local_#6487_L; havoc local_#6488_ud; goto INITIALIZATION; INITIALIZATION: call ULTIMATE.init(); goto ENTRY; ENTRY: if (*) { call routine_#33731_luaD_call(local_#3772_L,local_#3773_func,local_#3774_nResults); } else if (*) { call routine_#35037_resume(local_#6293_L,local_#6294_ud); } else if (*) { call routine_#35137_unroll(local_#6487_L,local_#6488_ud); } else { assume false; } goto FINALIZATION; FINALIZATION: } procedure ULTIMATE.init() returns () modifies _memory, _memory_ptr; { var local_#30903 : { _k : int, _u : { _ind : { _idx : int, _t : int, _vt : int }, _info : int, _ival : int, _nval : int }, _t : int, _f : int }; var local_#29950 : int; var local_#29951 : { base : int, offset : int }; var local_#30904 : { base : int, offset : int }; var local_#30905 : [int] int; var local_#29953 : { base : int, offset : int }; var local_#30906 : [int] { base : int, offset : int }; var local_#29955 : { base : int, offset : int }; var local_#29957 : { base : int, offset : int }; var local_#29959 : { base : int, offset : int }; var local_#29961 : { base : int, offset : int }; var local_#29963 : { base : int, offset : int }; var local_#29965 : { base : int, offset : int }; var local_#29967 : { base : int, offset : int }; var local_#29969 : { base : int, offset : int }; var local_#29971 : { base : int, offset : int }; var local_#29973 : { base : int, offset : int }; var local_#29975 : { base : int, offset : int }; var local_#29977 : { base : int, offset : int }; var local_#29979 : { base : int, offset : int }; var local_#29981 : { base : int, offset : int }; var local_#29983 : { base : int, offset : int }; var local_#29985 : { base : int, offset : int }; var local_#29987 : { base : int, offset : int }; var local_#29989 : { base : int, offset : int }; var local_#29991 : { base : int, offset : int }; var local_#29993 : { base : int, offset : int }; var local_#29995 : { base : int, offset : int }; var local_#29997 : { base : int, offset : int }; var local_#29999 : { base : int, offset : int }; var local_#30001 : { base : int, offset : int }; var local_#30003 : { base : int, offset : int }; var local_#30005 : { base : int, offset : int }; var local_#30007 : { base : int, offset : int }; var local_#30009 : { base : int, offset : int }; var local_#30011 : { base : int, offset : int }; var local_#30013 : { base : int, offset : int }; var local_#30015 : { base : int, offset : int }; var local_#30017 : { base : int, offset : int }; var local_#30019 : { base : int, offset : int }; var local_#30021 : { base : int, offset : int }; var local_#30023 : { base : int, offset : int }; var local_#30025 : { base : int, offset : int }; var local_#30026 : { base : int, offset : int }; var local_#30027 : { base : int, offset : int }; var local_#30908 : { base : int, offset : int }; var local_#30907 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#30909 : [int] int; var local_#30029 : { base : int, offset : int }; var local_#30910 : [int] { base : int, offset : int }; var local_#30031 : { base : int, offset : int }; var local_#30033 : { base : int, offset : int }; var local_#30035 : { base : int, offset : int }; var local_#30037 : { base : int, offset : int }; var local_#30039 : { base : int, offset : int }; var local_#30041 : { base : int, offset : int }; var local_#30043 : { base : int, offset : int }; var local_#30045 : { base : int, offset : int }; var local_#30047 : { base : int, offset : int }; var local_#30049 : { base : int, offset : int }; var local_#30051 : { base : int, offset : int }; var local_#30053 : { base : int, offset : int }; var local_#30055 : { base : int, offset : int }; var local_#30057 : { base : int, offset : int }; var local_#30059 : { base : int, offset : int }; var local_#30061 : { base : int, offset : int }; var local_#30063 : { base : int, offset : int }; var local_#30065 : { base : int, offset : int }; var local_#30067 : { base : int, offset : int }; var local_#30069 : { base : int, offset : int }; var local_#30071 : { base : int, offset : int }; var local_#30073 : { base : int, offset : int }; var local_#30075 : { base : int, offset : int }; var local_#30077 : { base : int, offset : int }; var local_#30079 : { base : int, offset : int }; var local_#30081 : { base : int, offset : int }; var local_#30083 : { base : int, offset : int }; var local_#30085 : { base : int, offset : int }; var local_#30087 : { base : int, offset : int }; var local_#30089 : { base : int, offset : int }; var local_#30091 : { base : int, offset : int }; var local_#30093 : { base : int, offset : int }; var local_#30095 : { base : int, offset : int }; var local_#30097 : { base : int, offset : int }; var local_#30099 : { base : int, offset : int }; var local_#30101 : { base : int, offset : int }; var local_#30103 : { base : int, offset : int }; var local_#30105 : { base : int, offset : int }; var local_#30107 : { base : int, offset : int }; var local_#30109 : { base : int, offset : int }; var local_#30111 : { base : int, offset : int }; var local_#30113 : { base : int, offset : int }; var local_#30115 : { base : int, offset : int }; var local_#30117 : { base : int, offset : int }; var local_#30119 : { base : int, offset : int }; var local_#30121 : { base : int, offset : int }; var local_#30911 : [int] int; var local_#30913 : { _left : int, _right : int }; var local_#30912 : [int] { _left : int, _right : int }; var local_#30914 : { _left : int, _right : int }; var local_#30915 : { _left : int, _right : int }; var local_#30916 : { _left : int, _right : int }; var local_#30917 : { _left : int, _right : int }; var local_#30918 : { _left : int, _right : int }; var local_#30919 : { _left : int, _right : int }; var local_#30920 : { _left : int, _right : int }; var local_#30921 : { _left : int, _right : int }; var local_#30922 : { _left : int, _right : int }; var local_#30923 : { _left : int, _right : int }; var local_#30924 : { _left : int, _right : int }; var local_#30925 : { _left : int, _right : int }; var local_#30926 : { _left : int, _right : int }; var local_#30927 : { _left : int, _right : int }; var local_#30928 : { _left : int, _right : int }; var local_#30929 : { _left : int, _right : int }; var local_#30930 : { _left : int, _right : int }; var local_#30931 : { _left : int, _right : int }; var local_#30932 : { _left : int, _right : int }; var local_#30933 : { _left : int, _right : int }; var local_#30122 : { base : int, offset : int }; var local_#30123 : { base : int, offset : int }; var local_#30936 : { base : int, offset : int }; var local_#30935 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#30934 : { _i_val : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }, _i_key : { _nk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }, _tvk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int } } }; var local_#30124 : { base : int, offset : int }; var local_#30125 : { base : int, offset : int }; var local_#30939 : { base : int, offset : int }; var local_#30938 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }; var local_#30126 : { base : int, offset : int }; var local_#30937 : { base : int, offset : int }; var local_#30128 : { base : int, offset : int }; var local_#30940 : [int] { base : int, offset : int }; var local_#30130 : { base : int, offset : int }; var local_#30132 : { base : int, offset : int }; var local_#30134 : { base : int, offset : int }; var local_#30136 : { base : int, offset : int }; var local_#30138 : { base : int, offset : int }; var local_#30140 : { base : int, offset : int }; var local_#30142 : { base : int, offset : int }; var local_#30144 : { base : int, offset : int }; var local_#30146 : { base : int, offset : int }; var local_#30941 : [int] { base : int, offset : int }; var local_#30148 : { base : int, offset : int }; var local_#30150 : { base : int, offset : int }; var local_#30152 : { base : int, offset : int }; var local_#30154 : { base : int, offset : int }; var local_#30156 : { base : int, offset : int }; var local_#30158 : { base : int, offset : int }; var local_#30160 : { base : int, offset : int }; var local_#30162 : { base : int, offset : int }; var local_#30164 : { base : int, offset : int }; var local_#30166 : { base : int, offset : int }; var local_#30168 : { base : int, offset : int }; var local_#30170 : { base : int, offset : int }; var local_#30172 : { base : int, offset : int }; var local_#30174 : { base : int, offset : int }; var local_#30176 : { base : int, offset : int }; var local_#30178 : { base : int, offset : int }; var local_#30180 : { base : int, offset : int }; var local_#30182 : { base : int, offset : int }; var local_#30184 : { base : int, offset : int }; var local_#30186 : { base : int, offset : int }; var local_#30188 : { base : int, offset : int }; var local_#30190 : { base : int, offset : int }; var local_#30192 : { base : int, offset : int }; var local_#30194 : { base : int, offset : int }; var local_#30943 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30942 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30196 : { base : int, offset : int }; var local_#30944 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30198 : { base : int, offset : int }; var local_#30945 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30200 : { base : int, offset : int }; var local_#30946 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30202 : { base : int, offset : int }; var local_#30947 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30204 : { base : int, offset : int }; var local_#30948 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30206 : { base : int, offset : int }; var local_#30949 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30208 : { base : int, offset : int }; var local_#30950 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30210 : { base : int, offset : int }; var local_#30951 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30212 : { base : int, offset : int }; var local_#30952 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30214 : { base : int, offset : int }; var local_#30953 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30216 : { base : int, offset : int }; var local_#30954 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30218 : { base : int, offset : int }; var local_#30955 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30220 : { base : int, offset : int }; var local_#30956 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30222 : { base : int, offset : int }; var local_#30957 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30224 : { base : int, offset : int }; var local_#30958 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30226 : { base : int, offset : int }; var local_#30959 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30228 : { base : int, offset : int }; var local_#30960 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30230 : { base : int, offset : int }; var local_#30961 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30232 : { base : int, offset : int }; var local_#30962 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30234 : { base : int, offset : int }; var local_#30963 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30236 : { base : int, offset : int }; var local_#30964 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30238 : { base : int, offset : int }; var local_#30965 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30240 : { base : int, offset : int }; var local_#30966 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30967 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30242 : { base : int, offset : int }; var local_#30968 : [int] { base : int, offset : int }; var local_#30244 : { base : int, offset : int }; var local_#30246 : { base : int, offset : int }; var local_#30248 : { base : int, offset : int }; var local_#30250 : { base : int, offset : int }; var local_#30252 : { base : int, offset : int }; var local_#30254 : { base : int, offset : int }; var local_#30256 : { base : int, offset : int }; var local_#30969 : [int] int; var local_#30258 : { base : int, offset : int }; var local_#30971 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30970 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30260 : { base : int, offset : int }; var local_#30972 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30262 : { base : int, offset : int }; var local_#30973 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30264 : { base : int, offset : int }; var local_#30974 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30266 : { base : int, offset : int }; var local_#30975 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30268 : { base : int, offset : int }; var local_#30976 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30270 : { base : int, offset : int }; var local_#30977 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30272 : { base : int, offset : int }; var local_#30978 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30274 : { base : int, offset : int }; var local_#30979 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30276 : { base : int, offset : int }; var local_#30980 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30278 : { base : int, offset : int }; var local_#30981 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30280 : { base : int, offset : int }; var local_#30982 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30983 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30282 : { base : int, offset : int }; var local_#30985 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30984 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30284 : { base : int, offset : int }; var local_#30986 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30286 : { base : int, offset : int }; var local_#30987 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30288 : { base : int, offset : int }; var local_#30988 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30290 : { base : int, offset : int }; var local_#30989 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30292 : { base : int, offset : int }; var local_#30990 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30294 : { base : int, offset : int }; var local_#30991 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30992 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30296 : { base : int, offset : int }; var local_#30994 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30993 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30298 : { base : int, offset : int }; var local_#30995 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30300 : { base : int, offset : int }; var local_#30996 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30302 : { base : int, offset : int }; var local_#30997 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30304 : { base : int, offset : int }; var local_#30998 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30306 : { base : int, offset : int }; var local_#30999 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30308 : { base : int, offset : int }; var local_#31000 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30310 : { base : int, offset : int }; var local_#31001 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30312 : { base : int, offset : int }; var local_#31002 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30314 : { base : int, offset : int }; var local_#31003 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30316 : { base : int, offset : int }; var local_#31004 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30318 : { base : int, offset : int }; var local_#31005 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30320 : { base : int, offset : int }; var local_#31006 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30322 : { base : int, offset : int }; var local_#31007 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30324 : { base : int, offset : int }; var local_#31008 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30326 : { base : int, offset : int }; var local_#31009 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31010 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30328 : { base : int, offset : int }; var local_#31011 : [int] { base : int, offset : int }; var local_#30330 : { base : int, offset : int }; var local_#30332 : { base : int, offset : int }; var local_#30334 : { base : int, offset : int }; var local_#30336 : { base : int, offset : int }; var local_#30338 : { base : int, offset : int }; var local_#31013 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31012 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30340 : { base : int, offset : int }; var local_#31014 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30342 : { base : int, offset : int }; var local_#31015 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30344 : { base : int, offset : int }; var local_#31016 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30346 : { base : int, offset : int }; var local_#31017 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30348 : { base : int, offset : int }; var local_#31018 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30350 : { base : int, offset : int }; var local_#31019 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30352 : { base : int, offset : int }; var local_#31020 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30354 : { base : int, offset : int }; var local_#31021 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30356 : { base : int, offset : int }; var local_#31022 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30358 : { base : int, offset : int }; var local_#31023 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31024 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30360 : { base : int, offset : int }; var local_#31026 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31025 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30362 : { base : int, offset : int }; var local_#31027 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30364 : { base : int, offset : int }; var local_#31028 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30366 : { base : int, offset : int }; var local_#31029 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30368 : { base : int, offset : int }; var local_#31030 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30370 : { base : int, offset : int }; var local_#31031 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30372 : { base : int, offset : int }; var local_#31032 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30374 : { base : int, offset : int }; var local_#31033 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30376 : { base : int, offset : int }; var local_#31034 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31035 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31036 : [int] int; var local_#30378 : { base : int, offset : int }; var local_#31037 : [int] { base : int, offset : int }; var local_#30380 : { base : int, offset : int }; var local_#30382 : { base : int, offset : int }; var local_#31038 : [int] int; var local_#30384 : { base : int, offset : int }; var local_#31039 : [int] { base : int, offset : int }; var local_#30386 : { base : int, offset : int }; var local_#30388 : { base : int, offset : int }; var local_#30390 : { base : int, offset : int }; var local_#31041 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31040 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30392 : { base : int, offset : int }; var local_#31042 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30394 : { base : int, offset : int }; var local_#31043 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30396 : { base : int, offset : int }; var local_#31044 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30398 : { base : int, offset : int }; var local_#31045 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30400 : { base : int, offset : int }; var local_#31046 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30402 : { base : int, offset : int }; var local_#31047 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30404 : { base : int, offset : int }; var local_#31048 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30406 : { base : int, offset : int }; var local_#31049 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30408 : { base : int, offset : int }; var local_#31050 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30410 : { base : int, offset : int }; var local_#31051 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30412 : { base : int, offset : int }; var local_#31052 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30414 : { base : int, offset : int }; var local_#31053 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30416 : { base : int, offset : int }; var local_#31054 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30418 : { base : int, offset : int }; var local_#31055 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30420 : { base : int, offset : int }; var local_#31056 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30422 : { base : int, offset : int }; var local_#31057 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30424 : { base : int, offset : int }; var local_#31058 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30426 : { base : int, offset : int }; var local_#31059 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30428 : { base : int, offset : int }; var local_#31060 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30430 : { base : int, offset : int }; var local_#31061 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30432 : { base : int, offset : int }; var local_#31062 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30434 : { base : int, offset : int }; var local_#31063 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30436 : { base : int, offset : int }; var local_#31064 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30438 : { base : int, offset : int }; var local_#31065 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30440 : { base : int, offset : int }; var local_#31066 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30442 : { base : int, offset : int }; var local_#31067 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30444 : { base : int, offset : int }; var local_#31068 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30446 : { base : int, offset : int }; var local_#31069 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30448 : { base : int, offset : int }; var local_#31070 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30450 : { base : int, offset : int }; var local_#31071 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30452 : { base : int, offset : int }; var local_#31072 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30454 : { base : int, offset : int }; var local_#31073 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30456 : { base : int, offset : int }; var local_#31074 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30458 : { base : int, offset : int }; var local_#31075 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31076 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30460 : { base : int, offset : int }; var local_#31078 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31077 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30462 : { base : int, offset : int }; var local_#31079 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30464 : { base : int, offset : int }; var local_#31080 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30466 : { base : int, offset : int }; var local_#31081 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30468 : { base : int, offset : int }; var local_#31082 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30470 : { base : int, offset : int }; var local_#31083 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30472 : { base : int, offset : int }; var local_#31084 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30474 : { base : int, offset : int }; var local_#31085 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30476 : { base : int, offset : int }; var local_#31086 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30478 : { base : int, offset : int }; var local_#31087 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30480 : { base : int, offset : int }; var local_#31088 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31089 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31090 : [int] int; var local_#30482 : { base : int, offset : int }; var local_#31091 : [int] { base : int, offset : int }; var local_#30484 : { base : int, offset : int }; var local_#30486 : { base : int, offset : int }; var local_#30488 : { base : int, offset : int }; var local_#30490 : { base : int, offset : int }; var local_#30492 : { base : int, offset : int }; var local_#30493 : int; var local_#30494 : { base : int, offset : int }; var local_#30496 : { base : int, offset : int }; var local_#31094 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31093 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30498 : { base : int, offset : int }; var local_#31095 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30500 : { base : int, offset : int }; var local_#31096 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30502 : { base : int, offset : int }; var local_#31097 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30504 : { base : int, offset : int }; var local_#31098 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30506 : { base : int, offset : int }; var local_#31099 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30508 : { base : int, offset : int }; var local_#31100 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30510 : { base : int, offset : int }; var local_#31101 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30512 : { base : int, offset : int }; var local_#31102 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30514 : { base : int, offset : int }; var local_#31103 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30516 : { base : int, offset : int }; var local_#31104 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30518 : { base : int, offset : int }; var local_#31105 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30520 : { base : int, offset : int }; var local_#31106 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30522 : { base : int, offset : int }; var local_#31107 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30524 : { base : int, offset : int }; var local_#31108 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30526 : { base : int, offset : int }; var local_#31109 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30528 : { base : int, offset : int }; var local_#31110 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31111 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30530 : { base : int, offset : int }; var local_#31113 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31112 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30532 : { base : int, offset : int }; var local_#31114 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30534 : { base : int, offset : int }; var local_#31115 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30536 : { base : int, offset : int }; var local_#31116 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30538 : { base : int, offset : int }; var local_#31117 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30540 : { base : int, offset : int }; var local_#31118 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30542 : { base : int, offset : int }; var local_#31119 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31120 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30544 : { base : int, offset : int }; var local_#31122 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31121 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30546 : { base : int, offset : int }; var local_#31123 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30548 : { base : int, offset : int }; var local_#31124 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30550 : { base : int, offset : int }; var local_#31125 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30552 : { base : int, offset : int }; var local_#31126 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30554 : { base : int, offset : int }; var local_#31127 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31128 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31129 : [int] int; var local_#30556 : { base : int, offset : int }; var local_#31131 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31130 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30558 : { base : int, offset : int }; var local_#31132 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30560 : { base : int, offset : int }; var local_#31133 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30562 : { base : int, offset : int }; var local_#31134 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30564 : { base : int, offset : int }; var local_#31135 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30566 : { base : int, offset : int }; var local_#31136 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30568 : { base : int, offset : int }; var local_#31137 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31138 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30570 : { base : int, offset : int }; var local_#31140 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31139 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31141 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31142 : [int] { base : int, offset : int }; var local_#30572 : { base : int, offset : int }; var local_#31144 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31143 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30574 : { base : int, offset : int }; var local_#31145 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30576 : { base : int, offset : int }; var local_#31146 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30578 : { base : int, offset : int }; var local_#31147 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30580 : { base : int, offset : int }; var local_#31148 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30582 : { base : int, offset : int }; var local_#31149 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30584 : { base : int, offset : int }; var local_#31150 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30586 : { base : int, offset : int }; var local_#31151 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30588 : { base : int, offset : int }; var local_#31152 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30590 : { base : int, offset : int }; var local_#31153 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30592 : { base : int, offset : int }; var local_#31154 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31155 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; havoc local_#30903; havoc local_#29950; havoc local_#29951; havoc local_#30904; havoc local_#30905; havoc local_#29953; havoc local_#30906; havoc local_#29955; havoc local_#29957; havoc local_#29959; havoc local_#29961; havoc local_#29963; havoc local_#29965; havoc local_#29967; havoc local_#29969; havoc local_#29971; havoc local_#29973; havoc local_#29975; havoc local_#29977; havoc local_#29979; havoc local_#29981; havoc local_#29983; havoc local_#29985; havoc local_#29987; havoc local_#29989; havoc local_#29991; havoc local_#29993; havoc local_#29995; havoc local_#29997; havoc local_#29999; havoc local_#30001; havoc local_#30003; havoc local_#30005; havoc local_#30007; havoc local_#30009; havoc local_#30011; havoc local_#30013; havoc local_#30015; havoc local_#30017; havoc local_#30019; havoc local_#30021; havoc local_#30023; havoc local_#30025; havoc local_#30026; havoc local_#30027; havoc local_#30908; havoc local_#30907; havoc local_#30909; havoc local_#30029; havoc local_#30910; havoc local_#30031; havoc local_#30033; havoc local_#30035; havoc local_#30037; havoc local_#30039; havoc local_#30041; havoc local_#30043; havoc local_#30045; havoc local_#30047; havoc local_#30049; havoc local_#30051; havoc local_#30053; havoc local_#30055; havoc local_#30057; havoc local_#30059; havoc local_#30061; havoc local_#30063; havoc local_#30065; havoc local_#30067; havoc local_#30069; havoc local_#30071; havoc local_#30073; havoc local_#30075; havoc local_#30077; havoc local_#30079; havoc local_#30081; havoc local_#30083; havoc local_#30085; havoc local_#30087; havoc local_#30089; havoc local_#30091; havoc local_#30093; havoc local_#30095; havoc local_#30097; havoc local_#30099; havoc local_#30101; havoc local_#30103; havoc local_#30105; havoc local_#30107; havoc local_#30109; havoc local_#30111; havoc local_#30113; havoc local_#30115; havoc local_#30117; havoc local_#30119; havoc local_#30121; havoc local_#30911; havoc local_#30913; havoc local_#30912; havoc local_#30914; havoc local_#30915; havoc local_#30916; havoc local_#30917; havoc local_#30918; havoc local_#30919; havoc local_#30920; havoc local_#30921; havoc local_#30922; havoc local_#30923; havoc local_#30924; havoc local_#30925; havoc local_#30926; havoc local_#30927; havoc local_#30928; havoc local_#30929; havoc local_#30930; havoc local_#30931; havoc local_#30932; havoc local_#30933; havoc local_#30122; havoc local_#30123; havoc local_#30936; havoc local_#30935; havoc local_#30934; havoc local_#30124; havoc local_#30125; havoc local_#30939; havoc local_#30938; havoc local_#30126; havoc local_#30937; havoc local_#30128; havoc local_#30940; havoc local_#30130; havoc local_#30132; havoc local_#30134; havoc local_#30136; havoc local_#30138; havoc local_#30140; havoc local_#30142; havoc local_#30144; havoc local_#30146; havoc local_#30941; havoc local_#30148; havoc local_#30150; havoc local_#30152; havoc local_#30154; havoc local_#30156; havoc local_#30158; havoc local_#30160; havoc local_#30162; havoc local_#30164; havoc local_#30166; havoc local_#30168; havoc local_#30170; havoc local_#30172; havoc local_#30174; havoc local_#30176; havoc local_#30178; havoc local_#30180; havoc local_#30182; havoc local_#30184; havoc local_#30186; havoc local_#30188; havoc local_#30190; havoc local_#30192; havoc local_#30194; havoc local_#30943; havoc local_#30942; havoc local_#30196; havoc local_#30944; havoc local_#30198; havoc local_#30945; havoc local_#30200; havoc local_#30946; havoc local_#30202; havoc local_#30947; havoc local_#30204; havoc local_#30948; havoc local_#30206; havoc local_#30949; havoc local_#30208; havoc local_#30950; havoc local_#30210; havoc local_#30951; havoc local_#30212; havoc local_#30952; havoc local_#30214; havoc local_#30953; havoc local_#30216; havoc local_#30954; havoc local_#30218; havoc local_#30955; havoc local_#30220; havoc local_#30956; havoc local_#30222; havoc local_#30957; havoc local_#30224; havoc local_#30958; havoc local_#30226; havoc local_#30959; havoc local_#30228; havoc local_#30960; havoc local_#30230; havoc local_#30961; havoc local_#30232; havoc local_#30962; havoc local_#30234; havoc local_#30963; havoc local_#30236; havoc local_#30964; havoc local_#30238; havoc local_#30965; havoc local_#30240; havoc local_#30966; havoc local_#30967; havoc local_#30242; havoc local_#30968; havoc local_#30244; havoc local_#30246; havoc local_#30248; havoc local_#30250; havoc local_#30252; havoc local_#30254; havoc local_#30256; havoc local_#30969; havoc local_#30258; havoc local_#30971; havoc local_#30970; havoc local_#30260; havoc local_#30972; havoc local_#30262; havoc local_#30973; havoc local_#30264; havoc local_#30974; havoc local_#30266; havoc local_#30975; havoc local_#30268; havoc local_#30976; havoc local_#30270; havoc local_#30977; havoc local_#30272; havoc local_#30978; havoc local_#30274; havoc local_#30979; havoc local_#30276; havoc local_#30980; havoc local_#30278; havoc local_#30981; havoc local_#30280; havoc local_#30982; havoc local_#30983; havoc local_#30282; havoc local_#30985; havoc local_#30984; havoc local_#30284; havoc local_#30986; havoc local_#30286; havoc local_#30987; havoc local_#30288; havoc local_#30988; havoc local_#30290; havoc local_#30989; havoc local_#30292; havoc local_#30990; havoc local_#30294; havoc local_#30991; havoc local_#30992; havoc local_#30296; havoc local_#30994; havoc local_#30993; havoc local_#30298; havoc local_#30995; havoc local_#30300; havoc local_#30996; havoc local_#30302; havoc local_#30997; havoc local_#30304; havoc local_#30998; havoc local_#30306; havoc local_#30999; havoc local_#30308; havoc local_#31000; havoc local_#30310; havoc local_#31001; havoc local_#30312; havoc local_#31002; havoc local_#30314; havoc local_#31003; havoc local_#30316; havoc local_#31004; havoc local_#30318; havoc local_#31005; havoc local_#30320; havoc local_#31006; havoc local_#30322; havoc local_#31007; havoc local_#30324; havoc local_#31008; havoc local_#30326; havoc local_#31009; havoc local_#31010; havoc local_#30328; havoc local_#31011; havoc local_#30330; havoc local_#30332; havoc local_#30334; havoc local_#30336; havoc local_#30338; havoc local_#31013; havoc local_#31012; havoc local_#30340; havoc local_#31014; havoc local_#30342; havoc local_#31015; havoc local_#30344; havoc local_#31016; havoc local_#30346; havoc local_#31017; havoc local_#30348; havoc local_#31018; havoc local_#30350; havoc local_#31019; havoc local_#30352; havoc local_#31020; havoc local_#30354; havoc local_#31021; havoc local_#30356; havoc local_#31022; havoc local_#30358; havoc local_#31023; havoc local_#31024; havoc local_#30360; havoc local_#31026; havoc local_#31025; havoc local_#30362; havoc local_#31027; havoc local_#30364; havoc local_#31028; havoc local_#30366; havoc local_#31029; havoc local_#30368; havoc local_#31030; havoc local_#30370; havoc local_#31031; havoc local_#30372; havoc local_#31032; havoc local_#30374; havoc local_#31033; havoc local_#30376; havoc local_#31034; havoc local_#31035; havoc local_#31036; havoc local_#30378; havoc local_#31037; havoc local_#30380; havoc local_#30382; havoc local_#31038; havoc local_#30384; havoc local_#31039; havoc local_#30386; havoc local_#30388; havoc local_#30390; havoc local_#31041; havoc local_#31040; havoc local_#30392; havoc local_#31042; havoc local_#30394; havoc local_#31043; havoc local_#30396; havoc local_#31044; havoc local_#30398; havoc local_#31045; havoc local_#30400; havoc local_#31046; havoc local_#30402; havoc local_#31047; havoc local_#30404; havoc local_#31048; havoc local_#30406; havoc local_#31049; havoc local_#30408; havoc local_#31050; havoc local_#30410; havoc local_#31051; havoc local_#30412; havoc local_#31052; havoc local_#30414; havoc local_#31053; havoc local_#30416; havoc local_#31054; havoc local_#30418; havoc local_#31055; havoc local_#30420; havoc local_#31056; havoc local_#30422; havoc local_#31057; havoc local_#30424; havoc local_#31058; havoc local_#30426; havoc local_#31059; havoc local_#30428; havoc local_#31060; havoc local_#30430; havoc local_#31061; havoc local_#30432; havoc local_#31062; havoc local_#30434; havoc local_#31063; havoc local_#30436; havoc local_#31064; havoc local_#30438; havoc local_#31065; havoc local_#30440; havoc local_#31066; havoc local_#30442; havoc local_#31067; havoc local_#30444; havoc local_#31068; havoc local_#30446; havoc local_#31069; havoc local_#30448; havoc local_#31070; havoc local_#30450; havoc local_#31071; havoc local_#30452; havoc local_#31072; havoc local_#30454; havoc local_#31073; havoc local_#30456; havoc local_#31074; havoc local_#30458; havoc local_#31075; havoc local_#31076; havoc local_#30460; havoc local_#31078; havoc local_#31077; havoc local_#30462; havoc local_#31079; havoc local_#30464; havoc local_#31080; havoc local_#30466; havoc local_#31081; havoc local_#30468; havoc local_#31082; havoc local_#30470; havoc local_#31083; havoc local_#30472; havoc local_#31084; havoc local_#30474; havoc local_#31085; havoc local_#30476; havoc local_#31086; havoc local_#30478; havoc local_#31087; havoc local_#30480; havoc local_#31088; havoc local_#31089; havoc local_#31090; havoc local_#30482; havoc local_#31091; havoc local_#30484; havoc local_#30486; havoc local_#30488; havoc local_#30490; havoc local_#30492; havoc local_#30493; havoc local_#30494; havoc local_#30496; havoc local_#31094; havoc local_#31093; havoc local_#30498; havoc local_#31095; havoc local_#30500; havoc local_#31096; havoc local_#30502; havoc local_#31097; havoc local_#30504; havoc local_#31098; havoc local_#30506; havoc local_#31099; havoc local_#30508; havoc local_#31100; havoc local_#30510; havoc local_#31101; havoc local_#30512; havoc local_#31102; havoc local_#30514; havoc local_#31103; havoc local_#30516; havoc local_#31104; havoc local_#30518; havoc local_#31105; havoc local_#30520; havoc local_#31106; havoc local_#30522; havoc local_#31107; havoc local_#30524; havoc local_#31108; havoc local_#30526; havoc local_#31109; havoc local_#30528; havoc local_#31110; havoc local_#31111; havoc local_#30530; havoc local_#31113; havoc local_#31112; havoc local_#30532; havoc local_#31114; havoc local_#30534; havoc local_#31115; havoc local_#30536; havoc local_#31116; havoc local_#30538; havoc local_#31117; havoc local_#30540; havoc local_#31118; havoc local_#30542; havoc local_#31119; havoc local_#31120; havoc local_#30544; havoc local_#31122; havoc local_#31121; havoc local_#30546; havoc local_#31123; havoc local_#30548; havoc local_#31124; havoc local_#30550; havoc local_#31125; havoc local_#30552; havoc local_#31126; havoc local_#30554; havoc local_#31127; havoc local_#31128; havoc local_#31129; havoc local_#30556; havoc local_#31131; havoc local_#31130; havoc local_#30558; havoc local_#31132; havoc local_#30560; havoc local_#31133; havoc local_#30562; havoc local_#31134; havoc local_#30564; havoc local_#31135; havoc local_#30566; havoc local_#31136; havoc local_#30568; havoc local_#31137; havoc local_#31138; havoc local_#30570; havoc local_#31140; havoc local_#31139; havoc local_#31141; havoc local_#31142; havoc local_#30572; havoc local_#31144; havoc local_#31143; havoc local_#30574; havoc local_#31145; havoc local_#30576; havoc local_#31146; havoc local_#30578; havoc local_#31147; havoc local_#30580; havoc local_#31148; havoc local_#30582; havoc local_#31149; havoc local_#30584; havoc local_#31150; havoc local_#30586; havoc local_#31151; havoc local_#30588; havoc local_#31152; havoc local_#30590; havoc local_#31153; havoc local_#30592; havoc local_#31154; havoc local_#31155; goto CFG_37136; CFG_37136: goto CFG_44934; CFG_44934: goto CFG_44935; CFG_44935: goto CFG_44936; CFG_44936: local_#30903!_k := 6; _memory[local_#29951] := local_#29950; assume read_type_#132(_memory, _memory_ptr, local_#30904)!_ind!_idx == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 + 0 }] && read_type_#132(_memory, _memory_ptr, local_#30904)!_ind!_t == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 + 2 }] && read_type_#132(_memory, _memory_ptr, local_#30904)!_ind!_vt == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 + 3 }] && read_type_#132(_memory, _memory_ptr, local_#30904)!_info == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 }] && read_type_#132(_memory, _memory_ptr, local_#30904)!_ival == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */; local_#30903!_u := read_type_#132(_memory, _memory_ptr, local_#30904); local_#30903!_t := -1; local_#30903!_f := -1; goto CFG_44937; CFG_44937: local_#30905[0] := 0; local_#30905[1] := 0; local_#30905[2] := 0; local_#30905[3] := 0; local_#30905[4] := 0; local_#30905[5] := 0; local_#30905[6] := 0; local_#30905[7] := 0; local_#30905[8] := 0; local_#30905[9] := 0; local_#30905[10] := 8; local_#30905[11] := 8; local_#30905[12] := 8; local_#30905[13] := 8; local_#30905[14] := 8; local_#30905[15] := 0; local_#30905[16] := 0; local_#30905[17] := 0; local_#30905[18] := 0; local_#30905[19] := 0; local_#30905[20] := 0; local_#30905[21] := 0; local_#30905[22] := 0; local_#30905[23] := 0; local_#30905[24] := 0; local_#30905[25] := 0; local_#30905[26] := 0; local_#30905[27] := 0; local_#30905[28] := 0; local_#30905[29] := 0; local_#30905[30] := 0; local_#30905[31] := 0; local_#30905[32] := 0; local_#30905[33] := 12; local_#30905[34] := 4; local_#30905[35] := 4; local_#30905[36] := 4; local_#30905[37] := 4; local_#30905[38] := 4; local_#30905[39] := 4; local_#30905[40] := 4; local_#30905[41] := 4; local_#30905[42] := 4; local_#30905[43] := 4; local_#30905[44] := 4; local_#30905[45] := 4; local_#30905[46] := 4; local_#30905[47] := 4; local_#30905[48] := 4; local_#30905[49] := 22; local_#30905[50] := 22; local_#30905[51] := 22; local_#30905[52] := 22; local_#30905[53] := 22; local_#30905[54] := 22; local_#30905[55] := 22; local_#30905[56] := 22; local_#30905[57] := 22; local_#30905[58] := 22; local_#30905[59] := 4; local_#30905[60] := 4; local_#30905[61] := 4; local_#30905[62] := 4; local_#30905[63] := 4; local_#30905[64] := 4; local_#30905[65] := 4; local_#30905[66] := 21; local_#30905[67] := 21; local_#30905[68] := 21; local_#30905[69] := 21; local_#30905[70] := 21; local_#30905[71] := 21; local_#30905[72] := 5; local_#30905[73] := 5; local_#30905[74] := 5; local_#30905[75] := 5; local_#30905[76] := 5; local_#30905[77] := 5; local_#30905[78] := 5; local_#30905[79] := 5; local_#30905[80] := 5; local_#30905[81] := 5; local_#30905[82] := 5; local_#30905[83] := 5; local_#30905[84] := 5; local_#30905[85] := 5; local_#30905[86] := 5; local_#30905[87] := 5; local_#30905[88] := 5; local_#30905[89] := 5; local_#30905[90] := 5; local_#30905[91] := 5; local_#30905[92] := 4; local_#30905[93] := 4; local_#30905[94] := 4; local_#30905[95] := 4; local_#30905[96] := 5; local_#30905[97] := 4; local_#30905[98] := 21; local_#30905[99] := 21; local_#30905[100] := 21; local_#30905[101] := 21; local_#30905[102] := 21; local_#30905[103] := 21; local_#30905[104] := 5; local_#30905[105] := 5; local_#30905[106] := 5; local_#30905[107] := 5; local_#30905[108] := 5; local_#30905[109] := 5; local_#30905[110] := 5; local_#30905[111] := 5; local_#30905[112] := 5; local_#30905[113] := 5; local_#30905[114] := 5; local_#30905[115] := 5; local_#30905[116] := 5; local_#30905[117] := 5; local_#30905[118] := 5; local_#30905[119] := 5; local_#30905[120] := 5; local_#30905[121] := 5; local_#30905[122] := 5; local_#30905[123] := 5; local_#30905[124] := 4; local_#30905[125] := 4; local_#30905[126] := 4; local_#30905[127] := 4; local_#30905[128] := 0; local_#30905[129] := 0; local_#30905[130] := 0; local_#30905[131] := 0; local_#30905[132] := 0; local_#30905[133] := 0; local_#30905[134] := 0; local_#30905[135] := 0; local_#30905[136] := 0; local_#30905[137] := 0; local_#30905[138] := 0; local_#30905[139] := 0; local_#30905[140] := 0; local_#30905[141] := 0; local_#30905[142] := 0; local_#30905[143] := 0; local_#30905[144] := 0; local_#30905[145] := 0; local_#30905[146] := 0; local_#30905[147] := 0; local_#30905[148] := 0; local_#30905[149] := 0; local_#30905[150] := 0; local_#30905[151] := 0; local_#30905[152] := 0; local_#30905[153] := 0; local_#30905[154] := 0; local_#30905[155] := 0; local_#30905[156] := 0; local_#30905[157] := 0; local_#30905[158] := 0; local_#30905[159] := 0; local_#30905[160] := 0; local_#30905[161] := 0; local_#30905[162] := 0; local_#30905[163] := 0; local_#30905[164] := 0; local_#30905[165] := 0; local_#30905[166] := 0; local_#30905[167] := 0; local_#30905[168] := 0; local_#30905[169] := 0; local_#30905[170] := 0; local_#30905[171] := 0; local_#30905[172] := 0; local_#30905[173] := 0; local_#30905[174] := 0; local_#30905[175] := 0; local_#30905[176] := 0; local_#30905[177] := 0; local_#30905[178] := 0; local_#30905[179] := 0; local_#30905[180] := 0; local_#30905[181] := 0; local_#30905[182] := 0; local_#30905[183] := 0; local_#30905[184] := 0; local_#30905[185] := 0; local_#30905[186] := 0; local_#30905[187] := 0; local_#30905[188] := 0; local_#30905[189] := 0; local_#30905[190] := 0; local_#30905[191] := 0; local_#30905[192] := 0; local_#30905[193] := 0; local_#30905[194] := 0; local_#30905[195] := 0; local_#30905[196] := 0; local_#30905[197] := 0; local_#30905[198] := 0; local_#30905[199] := 0; local_#30905[200] := 0; local_#30905[201] := 0; local_#30905[202] := 0; local_#30905[203] := 0; local_#30905[204] := 0; local_#30905[205] := 0; local_#30905[206] := 0; local_#30905[207] := 0; local_#30905[208] := 0; local_#30905[209] := 0; local_#30905[210] := 0; local_#30905[211] := 0; local_#30905[212] := 0; local_#30905[213] := 0; local_#30905[214] := 0; local_#30905[215] := 0; local_#30905[216] := 0; local_#30905[217] := 0; local_#30905[218] := 0; local_#30905[219] := 0; local_#30905[220] := 0; local_#30905[221] := 0; local_#30905[222] := 0; local_#30905[223] := 0; local_#30905[224] := 0; local_#30905[225] := 0; local_#30905[226] := 0; local_#30905[227] := 0; local_#30905[228] := 0; local_#30905[229] := 0; local_#30905[230] := 0; local_#30905[231] := 0; local_#30905[232] := 0; local_#30905[233] := 0; local_#30905[234] := 0; local_#30905[235] := 0; local_#30905[236] := 0; local_#30905[237] := 0; local_#30905[238] := 0; local_#30905[239] := 0; local_#30905[240] := 0; local_#30905[241] := 0; local_#30905[242] := 0; local_#30905[243] := 0; local_#30905[244] := 0; local_#30905[245] := 0; local_#30905[246] := 0; local_#30905[247] := 0; local_#30905[248] := 0; local_#30905[249] := 0; local_#30905[250] := 0; local_#30905[251] := 0; local_#30905[252] := 0; local_#30905[253] := 0; local_#30905[254] := 0; local_#30905[255] := 0; local_#30905[256] := 0; goto CFG_44938; CFG_44938: local_#30906[0] := local_#29953; local_#30906[1] := local_#29955; local_#30906[2] := local_#29957; local_#30906[3] := local_#29959; local_#30906[4] := local_#29961; local_#30906[5] := local_#29963; local_#30906[6] := local_#29965; local_#30906[7] := local_#29967; local_#30906[8] := local_#29969; local_#30906[9] := local_#29971; local_#30906[10] := local_#29973; local_#30906[11] := local_#29975; local_#30906[12] := local_#29977; local_#30906[13] := local_#29979; local_#30906[14] := local_#29981; local_#30906[15] := local_#29983; local_#30906[16] := local_#29985; local_#30906[17] := local_#29987; local_#30906[18] := local_#29989; local_#30906[19] := local_#29991; local_#30906[20] := local_#29993; local_#30906[21] := local_#29995; local_#30906[22] := local_#29997; local_#30906[23] := local_#29999; local_#30906[24] := local_#30001; local_#30906[25] := local_#30003; local_#30906[26] := local_#30005; local_#30906[27] := local_#30007; local_#30906[28] := local_#30009; local_#30906[29] := local_#30011; local_#30906[30] := local_#30013; local_#30906[31] := local_#30015; local_#30906[32] := local_#30017; local_#30906[33] := local_#30019; local_#30906[34] := local_#30021; local_#30906[35] := local_#30023; local_#30906[36] := local_#30025; goto CFG_44939; CFG_44939: _memory_ptr[local_#30027] := local_#30026; assume read_type_#120(_memory, _memory_ptr, local_#30908)!_b == _memory[{ base : local_#30908!base, offset : local_#30908!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30908)!_f == _memory_ptr[{ base : local_#30908!base, offset : local_#30908!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30908)!_gc == _memory_ptr[{ base : local_#30908!base, offset : local_#30908!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30908)!_i == _memory[{ base : local_#30908!base, offset : local_#30908!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, local_#30908)!_p == _memory_ptr[{ base : local_#30908!base, offset : local_#30908!offset + 0 }]; local_#30907!_value_ := read_type_#120(_memory, _memory_ptr, local_#30908); local_#30907!_tt_ := 0; call write_type_#101(global_#33098_luaO_nilobject_,local_#30907); local_#30909[0] := 0; local_#30909[1] := 1; local_#30909[2] := 2; local_#30909[3] := 2; local_#30909[4] := 3; local_#30909[5] := 3; local_#30909[6] := 3; local_#30909[7] := 3; local_#30909[8] := 4; local_#30909[9] := 4; local_#30909[10] := 4; local_#30909[11] := 4; local_#30909[12] := 4; local_#30909[13] := 4; local_#30909[14] := 4; local_#30909[15] := 4; local_#30909[16] := 5; local_#30909[17] := 5; local_#30909[18] := 5; local_#30909[19] := 5; local_#30909[20] := 5; local_#30909[21] := 5; local_#30909[22] := 5; local_#30909[23] := 5; local_#30909[24] := 5; local_#30909[25] := 5; local_#30909[26] := 5; local_#30909[27] := 5; local_#30909[28] := 5; local_#30909[29] := 5; local_#30909[30] := 5; local_#30909[31] := 5; local_#30909[32] := 6; local_#30909[33] := 6; local_#30909[34] := 6; local_#30909[35] := 6; local_#30909[36] := 6; local_#30909[37] := 6; local_#30909[38] := 6; local_#30909[39] := 6; local_#30909[40] := 6; local_#30909[41] := 6; local_#30909[42] := 6; local_#30909[43] := 6; local_#30909[44] := 6; local_#30909[45] := 6; local_#30909[46] := 6; local_#30909[47] := 6; local_#30909[48] := 6; local_#30909[49] := 6; local_#30909[50] := 6; local_#30909[51] := 6; local_#30909[52] := 6; local_#30909[53] := 6; local_#30909[54] := 6; local_#30909[55] := 6; local_#30909[56] := 6; local_#30909[57] := 6; local_#30909[58] := 6; local_#30909[59] := 6; local_#30909[60] := 6; local_#30909[61] := 6; local_#30909[62] := 6; local_#30909[63] := 6; local_#30909[64] := 7; local_#30909[65] := 7; local_#30909[66] := 7; local_#30909[67] := 7; local_#30909[68] := 7; local_#30909[69] := 7; local_#30909[70] := 7; local_#30909[71] := 7; local_#30909[72] := 7; local_#30909[73] := 7; local_#30909[74] := 7; local_#30909[75] := 7; local_#30909[76] := 7; local_#30909[77] := 7; local_#30909[78] := 7; local_#30909[79] := 7; local_#30909[80] := 7; local_#30909[81] := 7; local_#30909[82] := 7; local_#30909[83] := 7; local_#30909[84] := 7; local_#30909[85] := 7; local_#30909[86] := 7; local_#30909[87] := 7; local_#30909[88] := 7; local_#30909[89] := 7; local_#30909[90] := 7; local_#30909[91] := 7; local_#30909[92] := 7; local_#30909[93] := 7; local_#30909[94] := 7; local_#30909[95] := 7; local_#30909[96] := 7; local_#30909[97] := 7; local_#30909[98] := 7; local_#30909[99] := 7; local_#30909[100] := 7; local_#30909[101] := 7; local_#30909[102] := 7; local_#30909[103] := 7; local_#30909[104] := 7; local_#30909[105] := 7; local_#30909[106] := 7; local_#30909[107] := 7; local_#30909[108] := 7; local_#30909[109] := 7; local_#30909[110] := 7; local_#30909[111] := 7; local_#30909[112] := 7; local_#30909[113] := 7; local_#30909[114] := 7; local_#30909[115] := 7; local_#30909[116] := 7; local_#30909[117] := 7; local_#30909[118] := 7; local_#30909[119] := 7; local_#30909[120] := 7; local_#30909[121] := 7; local_#30909[122] := 7; local_#30909[123] := 7; local_#30909[124] := 7; local_#30909[125] := 7; local_#30909[126] := 7; local_#30909[127] := 7; local_#30909[128] := 8; local_#30909[129] := 8; local_#30909[130] := 8; local_#30909[131] := 8; local_#30909[132] := 8; local_#30909[133] := 8; local_#30909[134] := 8; local_#30909[135] := 8; local_#30909[136] := 8; local_#30909[137] := 8; local_#30909[138] := 8; local_#30909[139] := 8; local_#30909[140] := 8; local_#30909[141] := 8; local_#30909[142] := 8; local_#30909[143] := 8; local_#30909[144] := 8; local_#30909[145] := 8; local_#30909[146] := 8; local_#30909[147] := 8; local_#30909[148] := 8; local_#30909[149] := 8; local_#30909[150] := 8; local_#30909[151] := 8; local_#30909[152] := 8; local_#30909[153] := 8; local_#30909[154] := 8; local_#30909[155] := 8; local_#30909[156] := 8; local_#30909[157] := 8; local_#30909[158] := 8; local_#30909[159] := 8; local_#30909[160] := 8; local_#30909[161] := 8; local_#30909[162] := 8; local_#30909[163] := 8; local_#30909[164] := 8; local_#30909[165] := 8; local_#30909[166] := 8; local_#30909[167] := 8; local_#30909[168] := 8; local_#30909[169] := 8; local_#30909[170] := 8; local_#30909[171] := 8; local_#30909[172] := 8; local_#30909[173] := 8; local_#30909[174] := 8; local_#30909[175] := 8; local_#30909[176] := 8; local_#30909[177] := 8; local_#30909[178] := 8; local_#30909[179] := 8; local_#30909[180] := 8; local_#30909[181] := 8; local_#30909[182] := 8; local_#30909[183] := 8; local_#30909[184] := 8; local_#30909[185] := 8; local_#30909[186] := 8; local_#30909[187] := 8; local_#30909[188] := 8; local_#30909[189] := 8; local_#30909[190] := 8; local_#30909[191] := 8; local_#30909[192] := 8; local_#30909[193] := 8; local_#30909[194] := 8; local_#30909[195] := 8; local_#30909[196] := 8; local_#30909[197] := 8; local_#30909[198] := 8; local_#30909[199] := 8; local_#30909[200] := 8; local_#30909[201] := 8; local_#30909[202] := 8; local_#30909[203] := 8; local_#30909[204] := 8; local_#30909[205] := 8; local_#30909[206] := 8; local_#30909[207] := 8; local_#30909[208] := 8; local_#30909[209] := 8; local_#30909[210] := 8; local_#30909[211] := 8; local_#30909[212] := 8; local_#30909[213] := 8; local_#30909[214] := 8; local_#30909[215] := 8; local_#30909[216] := 8; local_#30909[217] := 8; local_#30909[218] := 8; local_#30909[219] := 8; local_#30909[220] := 8; local_#30909[221] := 8; local_#30909[222] := 8; local_#30909[223] := 8; local_#30909[224] := 8; local_#30909[225] := 8; local_#30909[226] := 8; local_#30909[227] := 8; local_#30909[228] := 8; local_#30909[229] := 8; local_#30909[230] := 8; local_#30909[231] := 8; local_#30909[232] := 8; local_#30909[233] := 8; local_#30909[234] := 8; local_#30909[235] := 8; local_#30909[236] := 8; local_#30909[237] := 8; local_#30909[238] := 8; local_#30909[239] := 8; local_#30909[240] := 8; local_#30909[241] := 8; local_#30909[242] := 8; local_#30909[243] := 8; local_#30909[244] := 8; local_#30909[245] := 8; local_#30909[246] := 8; local_#30909[247] := 8; local_#30909[248] := 8; local_#30909[249] := 8; local_#30909[250] := 8; local_#30909[251] := 8; local_#30909[252] := 8; local_#30909[253] := 8; local_#30909[254] := 8; local_#30909[255] := 8; goto CFG_44940; CFG_44940: local_#30910[0] := local_#30029; local_#30910[1] := local_#30031; local_#30910[2] := local_#30033; local_#30910[3] := local_#30035; local_#30910[4] := local_#30037; local_#30910[5] := local_#30039; local_#30910[6] := local_#30041; local_#30910[7] := local_#30043; local_#30910[8] := local_#30045; local_#30910[9] := local_#30047; local_#30910[10] := local_#30049; local_#30910[11] := local_#30051; local_#30910[12] := local_#30053; local_#30910[13] := local_#30055; local_#30910[14] := local_#30057; local_#30910[15] := local_#30059; local_#30910[16] := local_#30061; local_#30910[17] := local_#30063; local_#30910[18] := local_#30065; local_#30910[19] := local_#30067; local_#30910[20] := local_#30069; local_#30910[21] := local_#30071; local_#30910[22] := local_#30073; local_#30910[23] := local_#30075; local_#30910[24] := local_#30077; local_#30910[25] := local_#30079; local_#30910[26] := local_#30081; local_#30910[27] := local_#30083; local_#30910[28] := local_#30085; local_#30910[29] := local_#30087; local_#30910[30] := local_#30089; local_#30910[31] := local_#30091; local_#30910[32] := local_#30093; local_#30910[33] := local_#30095; local_#30910[34] := local_#30097; local_#30910[35] := local_#30099; local_#30910[36] := local_#30101; local_#30910[37] := local_#30103; local_#30910[38] := local_#30105; local_#30910[39] := local_#30107; local_#30910[40] := local_#30109; local_#30910[41] := local_#30111; local_#30910[42] := local_#30113; local_#30910[43] := local_#30115; local_#30910[44] := local_#30117; local_#30910[45] := local_#30119; local_#30910[46] := local_#30121; local_#30910[47] := { base : 0, offset : 0 }; local_#30911[0] := 96; local_#30911[1] := 113; local_#30911[2] := 65; local_#30911[3] := 84; local_#30911[4] := 80; local_#30911[5] := 80; local_#30911[6] := 92; local_#30911[7] := 108; local_#30911[8] := 60; local_#30911[9] := 16; local_#30911[10] := 60; local_#30911[11] := 84; local_#30911[12] := 108; local_#30911[13] := 124; local_#30911[14] := 124; local_#30911[15] := 124; local_#30911[16] := 124; local_#30911[17] := 124; local_#30911[18] := 124; local_#30911[19] := 124; local_#30911[20] := 124; local_#30911[21] := 124; local_#30911[22] := 124; local_#30911[23] := 124; local_#30911[24] := 124; local_#30911[25] := 96; local_#30911[26] := 96; local_#30911[27] := 96; local_#30911[28] := 96; local_#30911[29] := 104; local_#30911[30] := 34; local_#30911[31] := 188; local_#30911[32] := 188; local_#30911[33] := 188; local_#30911[34] := 132; local_#30911[35] := 228; local_#30911[36] := 84; local_#30911[37] := 84; local_#30911[38] := 16; local_#30911[39] := 98; local_#30911[40] := 98; local_#30911[41] := 4; local_#30911[42] := 98; local_#30911[43] := 20; local_#30911[44] := 81; local_#30911[45] := 80; local_#30911[46] := 23; goto CFG_44941; CFG_44941: local_#30913!_left := 10; local_#30913!_right := 10; local_#30912[0] := local_#30913; local_#30914!_left := 10; local_#30914!_right := 10; local_#30912[1] := local_#30914; local_#30915!_left := 11; local_#30915!_right := 11; local_#30912[2] := local_#30915; local_#30916!_left := 11; local_#30916!_right := 11; local_#30912[3] := local_#30916; local_#30917!_left := 14; local_#30917!_right := 13; local_#30912[4] := local_#30917; local_#30918!_left := 11; local_#30918!_right := 11; local_#30912[5] := local_#30918; local_#30919!_left := 11; local_#30919!_right := 11; local_#30912[6] := local_#30919; local_#30920!_left := 6; local_#30920!_right := 6; local_#30912[7] := local_#30920; local_#30921!_left := 4; local_#30921!_right := 4; local_#30912[8] := local_#30921; local_#30922!_left := 5; local_#30922!_right := 5; local_#30912[9] := local_#30922; local_#30923!_left := 7; local_#30923!_right := 7; local_#30912[10] := local_#30923; local_#30924!_left := 7; local_#30924!_right := 7; local_#30912[11] := local_#30924; local_#30925!_left := 9; local_#30925!_right := 8; local_#30912[12] := local_#30925; local_#30926!_left := 3; local_#30926!_right := 3; local_#30912[13] := local_#30926; local_#30927!_left := 3; local_#30927!_right := 3; local_#30912[14] := local_#30927; local_#30928!_left := 3; local_#30928!_right := 3; local_#30912[15] := local_#30928; local_#30929!_left := 3; local_#30929!_right := 3; local_#30912[16] := local_#30929; local_#30930!_left := 3; local_#30930!_right := 3; local_#30912[17] := local_#30930; local_#30931!_left := 3; local_#30931!_right := 3; local_#30912[18] := local_#30931; local_#30932!_left := 2; local_#30932!_right := 2; local_#30912[19] := local_#30932; local_#30933!_left := 1; local_#30933!_right := 1; local_#30912[20] := local_#30933; goto CFG_44942; CFG_44942: _memory_ptr[local_#30123] := local_#30122; assume read_type_#120(_memory, _memory_ptr, local_#30936)!_b == _memory[{ base : local_#30936!base, offset : local_#30936!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30936)!_f == _memory_ptr[{ base : local_#30936!base, offset : local_#30936!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30936)!_gc == _memory_ptr[{ base : local_#30936!base, offset : local_#30936!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30936)!_i == _memory[{ base : local_#30936!base, offset : local_#30936!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, local_#30936)!_p == _memory_ptr[{ base : local_#30936!base, offset : local_#30936!offset + 0 }]; local_#30935!_value_ := read_type_#120(_memory, _memory_ptr, local_#30936); local_#30935!_tt_ := 0; local_#30934!_i_val := local_#30935; _memory_ptr[local_#30125] := local_#30124; assume read_type_#120(_memory, _memory_ptr, local_#30939)!_b == _memory[{ base : local_#30939!base, offset : local_#30939!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30939)!_f == _memory_ptr[{ base : local_#30939!base, offset : local_#30939!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30939)!_gc == _memory_ptr[{ base : local_#30939!base, offset : local_#30939!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30939)!_i == _memory[{ base : local_#30939!base, offset : local_#30939!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, local_#30939)!_p == _memory_ptr[{ base : local_#30939!base, offset : local_#30939!offset + 0 }]; local_#30938!_value_ := read_type_#120(_memory, _memory_ptr, local_#30939); local_#30938!_tt_ := 0; local_#30938!_next := 0; call write_type_#3(local_#30126,local_#30938); assume read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_b == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_f == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_gc == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_i == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_p == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_tt_ == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 8 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_next == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 12 }] && (read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_b == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_f == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_gc == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_i == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_p == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_tt_ == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 8 }]); local_#30934!_i_key := read_type_#117(_memory, _memory_ptr, local_#30937); goto CFG_44943; CFG_44943: local_#30940[0] := local_#30128; local_#30940[1] := local_#30130; local_#30940[2] := local_#30132; local_#30940[3] := { base : global_#33069_udatatypename!base, offset : global_#33069_udatatypename!offset + 0 * 1 }; local_#30940[4] := local_#30134; local_#30940[5] := local_#30136; local_#30940[6] := local_#30138; local_#30940[7] := local_#30140; local_#30940[8] := { base : global_#33069_udatatypename!base, offset : global_#33069_udatatypename!offset + 0 * 1 }; local_#30940[9] := local_#30142; local_#30940[10] := local_#30144; local_#30941[0] := local_#30146; local_#30941[1] := local_#30148; local_#30941[2] := local_#30150; local_#30941[3] := local_#30152; local_#30941[4] := local_#30154; local_#30941[5] := local_#30156; local_#30941[6] := local_#30158; local_#30941[7] := local_#30160; local_#30941[8] := local_#30162; local_#30941[9] := local_#30164; local_#30941[10] := local_#30166; local_#30941[11] := local_#30168; local_#30941[12] := local_#30170; local_#30941[13] := local_#30172; local_#30941[14] := local_#30174; local_#30941[15] := local_#30176; local_#30941[16] := local_#30178; local_#30941[17] := local_#30180; local_#30941[18] := local_#30182; local_#30941[19] := local_#30184; local_#30941[20] := local_#30186; local_#30941[21] := local_#30188; local_#30941[22] := local_#30190; local_#30941[23] := local_#30192; goto CFG_44944; CFG_44944: local_#30943!_name := local_#30194; local_#30943!_func := fun_addr_#34874_luaB_assert; local_#30942[0] := local_#30943; local_#30944!_name := local_#30196; local_#30944!_func := fun_addr_#34877_luaB_collectgarbage; local_#30942[1] := local_#30944; local_#30945!_name := local_#30198; local_#30945!_func := fun_addr_#34882_luaB_dofile; local_#30942[2] := local_#30945; local_#30946!_name := local_#30200; local_#30946!_func := fun_addr_#34883_luaB_error; local_#30942[3] := local_#30946; local_#30947!_name := local_#30202; local_#30947!_func := fun_addr_#34884_luaB_getmetatable; local_#30942[4] := local_#30947; local_#30948!_name := local_#30204; local_#30948!_func := fun_addr_#34885_luaB_ipairs; local_#30942[5] := local_#30948; local_#30949!_name := local_#30206; local_#30949!_func := fun_addr_#34887_luaB_loadfile; local_#30942[6] := local_#30949; local_#30950!_name := local_#30208; local_#30950!_func := fun_addr_#34886_luaB_load; local_#30942[7] := local_#30950; local_#30951!_name := local_#30210; local_#30951!_func := fun_addr_#34888_luaB_next; local_#30942[8] := local_#30951; local_#30952!_name := local_#30212; local_#30952!_func := fun_addr_#34889_luaB_pairs; local_#30942[9] := local_#30952; local_#30953!_name := local_#30214; local_#30953!_func := fun_addr_#34890_luaB_pcall; local_#30942[10] := local_#30953; local_#30954!_name := local_#30216; local_#30954!_func := fun_addr_#34891_luaB_print; local_#30942[11] := local_#30954; local_#30955!_name := local_#30218; local_#30955!_func := fun_addr_#34892_luaB_rawequal; local_#30942[12] := local_#30955; local_#30956!_name := local_#30220; local_#30956!_func := fun_addr_#34894_luaB_rawlen; local_#30942[13] := local_#30956; local_#30957!_name := local_#30222; local_#30957!_func := fun_addr_#34893_luaB_rawget; local_#30942[14] := local_#30957; local_#30958!_name := local_#30224; local_#30958!_func := fun_addr_#34895_luaB_rawset; local_#30942[15] := local_#30958; local_#30959!_name := local_#30226; local_#30959!_func := fun_addr_#34896_luaB_select; local_#30942[16] := local_#30959; local_#30960!_name := local_#30228; local_#30960!_func := fun_addr_#34897_luaB_setmetatable; local_#30942[17] := local_#30960; local_#30961!_name := local_#30230; local_#30961!_func := fun_addr_#34898_luaB_tonumber; local_#30942[18] := local_#30961; local_#30962!_name := local_#30232; local_#30962!_func := fun_addr_#34899_luaB_tostring; local_#30942[19] := local_#30962; local_#30963!_name := local_#30234; local_#30963!_func := fun_addr_#34900_luaB_type; local_#30942[20] := local_#30963; local_#30964!_name := local_#30236; local_#30964!_func := fun_addr_#34901_luaB_xpcall; local_#30942[21] := local_#30964; local_#30965!_name := local_#30238; local_#30965!_func := { base : 0, offset : 0 }; local_#30942[22] := local_#30965; local_#30966!_name := local_#30240; local_#30966!_func := { base : 0, offset : 0 }; local_#30942[23] := local_#30966; local_#30967!_name := { base : 0, offset : 0 }; local_#30967!_func := { base : 0, offset : 0 }; local_#30942[24] := local_#30967; local_#30968[0] := local_#30242; local_#30968[1] := local_#30244; local_#30968[2] := local_#30246; local_#30968[3] := local_#30248; local_#30968[4] := local_#30250; local_#30968[5] := local_#30252; local_#30968[6] := local_#30254; local_#30968[7] := local_#30256; local_#30968[8] := { base : 0, offset : 0 }; local_#30969[0] := 0; local_#30969[1] := 1; local_#30969[2] := 2; local_#30969[3] := 3; local_#30969[4] := 5; local_#30969[5] := 6; local_#30969[6] := 7; local_#30969[7] := 9; goto CFG_44945; CFG_44945: local_#30971!_name := local_#30258; local_#30971!_func := fun_addr_#34597_b_arshift; local_#30970[0] := local_#30971; local_#30972!_name := local_#30260; local_#30972!_func := fun_addr_#34596_b_and; local_#30970[1] := local_#30972; local_#30973!_name := local_#30262; local_#30973!_func := fun_addr_#34601_b_not; local_#30970[2] := local_#30973; local_#30974!_name := local_#30264; local_#30974!_func := fun_addr_#34602_b_or; local_#30970[3] := local_#30974; local_#30975!_name := local_#30266; local_#30975!_func := fun_addr_#34610_b_xor; local_#30970[4] := local_#30975; local_#30976!_name := local_#30268; local_#30976!_func := fun_addr_#34609_b_test; local_#30970[5] := local_#30976; local_#30977!_name := local_#30270; local_#30977!_func := fun_addr_#34598_b_extract; local_#30970[6] := local_#30977; local_#30978!_name := local_#30272; local_#30978!_func := fun_addr_#34599_b_lrot; local_#30970[7] := local_#30978; local_#30979!_name := local_#30274; local_#30979!_func := fun_addr_#34600_b_lshift; local_#30970[8] := local_#30979; local_#30980!_name := local_#30276; local_#30980!_func := fun_addr_#34603_b_replace; local_#30970[9] := local_#30980; local_#30981!_name := local_#30278; local_#30981!_func := fun_addr_#34605_b_rrot; local_#30970[10] := local_#30981; local_#30982!_name := local_#30280; local_#30982!_func := fun_addr_#34606_b_rshift; local_#30970[11] := local_#30982; local_#30983!_name := { base : 0, offset : 0 }; local_#30983!_func := { base : 0, offset : 0 }; local_#30970[12] := local_#30983; goto CFG_44946; CFG_44946: local_#30985!_name := local_#30282; local_#30985!_func := fun_addr_#34876_luaB_cocreate; local_#30984[0] := local_#30985; local_#30986!_name := local_#30284; local_#30986!_func := fun_addr_#34878_luaB_coresume; local_#30984[1] := local_#30986; local_#30987!_name := local_#30286; local_#30987!_func := fun_addr_#34879_luaB_corunning; local_#30984[2] := local_#30987; local_#30988!_name := local_#30288; local_#30988!_func := fun_addr_#34880_luaB_costatus; local_#30984[3] := local_#30988; local_#30989!_name := local_#30290; local_#30989!_func := fun_addr_#34881_luaB_cowrap; local_#30984[4] := local_#30989; local_#30990!_name := local_#30292; local_#30990!_func := fun_addr_#34902_luaB_yield; local_#30984[5] := local_#30990; local_#30991!_name := local_#30294; local_#30991!_func := fun_addr_#34903_luaB_yieldable; local_#30984[6] := local_#30991; local_#30992!_name := { base : 0, offset : 0 }; local_#30992!_func := { base : 0, offset : 0 }; local_#30984[7] := local_#30992; goto CFG_44947; CFG_44947: local_#30994!_name := local_#30296; local_#30994!_func := fun_addr_#34681_db_debug; local_#30993[0] := local_#30994; local_#30995!_name := local_#30298; local_#30995!_func := fun_addr_#34688_db_getuservalue; local_#30993[1] := local_#30995; local_#30996!_name := local_#30300; local_#30996!_func := fun_addr_#34682_db_gethook; local_#30993[2] := local_#30996; local_#30997!_name := local_#30302; local_#30997!_func := fun_addr_#34683_db_getinfo; local_#30993[3] := local_#30997; local_#30998!_name := local_#30304; local_#30998!_func := fun_addr_#34684_db_getlocal; local_#30993[4] := local_#30998; local_#30999!_name := local_#30306; local_#30999!_func := fun_addr_#34686_db_getregistry; local_#30993[5] := local_#30999; local_#31000!_name := local_#30308; local_#31000!_func := fun_addr_#34685_db_getmetatable; local_#30993[6] := local_#31000; local_#31001!_name := local_#30310; local_#31001!_func := fun_addr_#34687_db_getupvalue; local_#30993[7] := local_#31001; local_#31002!_name := local_#30312; local_#31002!_func := fun_addr_#34696_db_upvaluejoin; local_#30993[8] := local_#31002; local_#31003!_name := local_#30314; local_#31003!_func := fun_addr_#34695_db_upvalueid; local_#30993[9] := local_#31003; local_#31004!_name := local_#30316; local_#31004!_func := fun_addr_#34693_db_setuservalue; local_#30993[10] := local_#31004; local_#31005!_name := local_#30318; local_#31005!_func := fun_addr_#34689_db_sethook; local_#30993[11] := local_#31005; local_#31006!_name := local_#30320; local_#31006!_func := fun_addr_#34690_db_setlocal; local_#30993[12] := local_#31006; local_#31007!_name := local_#30322; local_#31007!_func := fun_addr_#34691_db_setmetatable; local_#30993[13] := local_#31007; local_#31008!_name := local_#30324; local_#31008!_func := fun_addr_#34692_db_setupvalue; local_#30993[14] := local_#31008; local_#31009!_name := local_#30326; local_#31009!_func := fun_addr_#34694_db_traceback; local_#30993[15] := local_#31009; local_#31010!_name := { base : 0, offset : 0 }; local_#31010!_func := { base : 0, offset : 0 }; local_#30993[16] := local_#31010; local_#31011[0] := local_#30328; local_#31011[1] := local_#30330; local_#31011[2] := local_#30332; local_#31011[3] := local_#30334; local_#31011[4] := local_#30336; goto CFG_44948; CFG_44948: local_#31013!_name := local_#30338; local_#31013!_func := fun_addr_#34818_io_close; local_#31012[0] := local_#31013; local_#31014!_name := local_#30340; local_#31014!_func := fun_addr_#34820_io_flush; local_#31012[1] := local_#31014; local_#31015!_name := local_#30342; local_#31015!_func := fun_addr_#34821_io_input; local_#31012[2] := local_#31015; local_#31016!_name := local_#30344; local_#31016!_func := fun_addr_#34822_io_lines; local_#31012[3] := local_#31016; local_#31017!_name := local_#30346; local_#31017!_func := fun_addr_#34824_io_open; local_#31012[4] := local_#31017; local_#31018!_name := local_#30348; local_#31018!_func := fun_addr_#34825_io_output; local_#31012[5] := local_#31018; local_#31019!_name := local_#30350; local_#31019!_func := fun_addr_#34827_io_popen; local_#31012[6] := local_#31019; local_#31020!_name := local_#30352; local_#31020!_func := fun_addr_#34828_io_read; local_#31012[7] := local_#31020; local_#31021!_name := local_#30354; local_#31021!_func := fun_addr_#34830_io_tmpfile; local_#31012[8] := local_#31021; local_#31022!_name := local_#30356; local_#31022!_func := fun_addr_#34831_io_type; local_#31012[9] := local_#31022; local_#31023!_name := local_#30358; local_#31023!_func := fun_addr_#34832_io_write; local_#31012[10] := local_#31023; local_#31024!_name := { base : 0, offset : 0 }; local_#31024!_func := { base : 0, offset : 0 }; local_#31012[11] := local_#31024; local_#31026!_name := local_#30360; local_#31026!_func := fun_addr_#34724_f_close; local_#31025[0] := local_#31026; local_#31027!_name := local_#30362; local_#31027!_func := fun_addr_#34725_f_flush; local_#31025[1] := local_#31027; local_#31028!_name := local_#30364; local_#31028!_func := fun_addr_#34727_f_lines; local_#31025[2] := local_#31028; local_#31029!_name := local_#30366; local_#31029!_func := fun_addr_#34730_f_read; local_#31025[3] := local_#31029; local_#31030!_name := local_#30368; local_#31030!_func := fun_addr_#34731_f_seek; local_#31025[4] := local_#31030; local_#31031!_name := local_#30370; local_#31031!_func := fun_addr_#34732_f_setvbuf; local_#31025[5] := local_#31031; local_#31032!_name := local_#30372; local_#31032!_func := fun_addr_#34734_f_write; local_#31025[6] := local_#31032; local_#31033!_name := local_#30374; local_#31033!_func := fun_addr_#34726_f_gc; local_#31025[7] := local_#31033; local_#31034!_name := local_#30376; local_#31034!_func := fun_addr_#34733_f_tostring; local_#31025[8] := local_#31034; local_#31035!_name := { base : 0, offset : 0 }; local_#31035!_func := { base : 0, offset : 0 }; local_#31025[9] := local_#31035; local_#31036[0] := 0; local_#31036[1] := 1; local_#31036[2] := 2; local_#31037[0] := local_#30378; local_#31037[1] := local_#30380; local_#31037[2] := local_#30382; local_#31037[3] := { base : 0, offset : 0 }; local_#31038[0] := 2; local_#31038[1] := 0; local_#31038[2] := 1; local_#31039[0] := local_#30384; local_#31039[1] := local_#30386; local_#31039[2] := local_#30388; local_#31039[3] := { base : 0, offset : 0 }; goto CFG_44949; CFG_44949: local_#31041!_name := local_#30390; local_#31041!_func := fun_addr_#34918_math_abs; local_#31040[0] := local_#31041; local_#31042!_name := local_#30392; local_#31042!_func := fun_addr_#34919_math_acos; local_#31040[1] := local_#31042; local_#31043!_name := local_#30394; local_#31043!_func := fun_addr_#34920_math_asin; local_#31040[2] := local_#31043; local_#31044!_name := local_#30396; local_#31044!_func := fun_addr_#34921_math_atan; local_#31040[3] := local_#31044; local_#31045!_name := local_#30398; local_#31045!_func := fun_addr_#34922_math_ceil; local_#31040[4] := local_#31045; local_#31046!_name := local_#30400; local_#31046!_func := fun_addr_#34923_math_cos; local_#31040[5] := local_#31046; local_#31047!_name := local_#30402; local_#31047!_func := fun_addr_#34925_math_deg; local_#31040[6] := local_#31047; local_#31048!_name := local_#30404; local_#31048!_func := fun_addr_#34926_math_exp; local_#31040[7] := local_#31048; local_#31049!_name := local_#30406; local_#31049!_func := fun_addr_#34945_math_toint; local_#31040[8] := local_#31049; local_#31050!_name := local_#30408; local_#31050!_func := fun_addr_#34927_math_floor; local_#31040[9] := local_#31050; local_#31051!_name := local_#30410; local_#31051!_func := fun_addr_#34928_math_fmod; local_#31040[10] := local_#31051; local_#31052!_name := local_#30412; local_#31052!_func := fun_addr_#34947_math_ult; local_#31040[11] := local_#31052; local_#31053!_name := local_#30414; local_#31053!_func := fun_addr_#34931_math_log; local_#31040[12] := local_#31053; local_#31054!_name := local_#30416; local_#31054!_func := fun_addr_#34933_math_max; local_#31040[13] := local_#31054; local_#31055!_name := local_#30418; local_#31055!_func := fun_addr_#34934_math_min; local_#31040[14] := local_#31055; local_#31056!_name := local_#30420; local_#31056!_func := fun_addr_#34935_math_modf; local_#31040[15] := local_#31056; local_#31057!_name := local_#30422; local_#31057!_func := fun_addr_#34937_math_rad; local_#31040[16] := local_#31057; local_#31058!_name := local_#30424; local_#31058!_func := fun_addr_#34938_math_random; local_#31040[17] := local_#31058; local_#31059!_name := local_#30426; local_#31059!_func := fun_addr_#34939_math_randomseed; local_#31040[18] := local_#31059; local_#31060!_name := local_#30428; local_#31060!_func := fun_addr_#34940_math_sin; local_#31040[19] := local_#31060; local_#31061!_name := local_#30430; local_#31061!_func := fun_addr_#34942_math_sqrt; local_#31040[20] := local_#31061; local_#31062!_name := local_#30432; local_#31062!_func := fun_addr_#34943_math_tan; local_#31040[21] := local_#31062; local_#31063!_name := local_#30434; local_#31063!_func := fun_addr_#34946_math_type; local_#31040[22] := local_#31063; local_#31064!_name := local_#30436; local_#31064!_func := fun_addr_#34921_math_atan; local_#31040[23] := local_#31064; local_#31065!_name := local_#30438; local_#31065!_func := fun_addr_#34924_math_cosh; local_#31040[24] := local_#31065; local_#31066!_name := local_#30440; local_#31066!_func := fun_addr_#34941_math_sinh; local_#31040[25] := local_#31066; local_#31067!_name := local_#30442; local_#31067!_func := fun_addr_#34944_math_tanh; local_#31040[26] := local_#31067; local_#31068!_name := local_#30444; local_#31068!_func := fun_addr_#34936_math_pow; local_#31040[27] := local_#31068; local_#31069!_name := local_#30446; local_#31069!_func := fun_addr_#34929_math_frexp; local_#31040[28] := local_#31069; local_#31070!_name := local_#30448; local_#31070!_func := fun_addr_#34930_math_ldexp; local_#31040[29] := local_#31070; local_#31071!_name := local_#30450; local_#31071!_func := fun_addr_#34932_math_log10; local_#31040[30] := local_#31071; local_#31072!_name := local_#30452; local_#31072!_func := { base : 0, offset : 0 }; local_#31040[31] := local_#31072; local_#31073!_name := local_#30454; local_#31073!_func := { base : 0, offset : 0 }; local_#31040[32] := local_#31073; local_#31074!_name := local_#30456; local_#31074!_func := { base : 0, offset : 0 }; local_#31040[33] := local_#31074; local_#31075!_name := local_#30458; local_#31075!_func := { base : 0, offset : 0 }; local_#31040[34] := local_#31075; local_#31076!_name := { base : 0, offset : 0 }; local_#31076!_func := { base : 0, offset : 0 }; local_#31040[35] := local_#31076; goto CFG_44950; CFG_44950: local_#31078!_name := local_#30460; local_#31078!_func := fun_addr_#34972_os_clock; local_#31077[0] := local_#31078; local_#31079!_name := local_#30462; local_#31079!_func := fun_addr_#34973_os_date; local_#31077[1] := local_#31079; local_#31080!_name := local_#30464; local_#31080!_func := fun_addr_#34974_os_difftime; local_#31077[2] := local_#31080; local_#31081!_name := local_#30466; local_#31081!_func := fun_addr_#34975_os_execute; local_#31077[3] := local_#31081; local_#31082!_name := local_#30468; local_#31082!_func := fun_addr_#34976_os_exit; local_#31077[4] := local_#31082; local_#31083!_name := local_#30470; local_#31083!_func := fun_addr_#34977_os_getenv; local_#31077[5] := local_#31083; local_#31084!_name := local_#30472; local_#31084!_func := fun_addr_#34978_os_remove; local_#31077[6] := local_#31084; local_#31085!_name := local_#30474; local_#31085!_func := fun_addr_#34979_os_rename; local_#31077[7] := local_#31085; local_#31086!_name := local_#30476; local_#31086!_func := fun_addr_#34980_os_setlocale; local_#31077[8] := local_#31086; local_#31087!_name := local_#30478; local_#31087!_func := fun_addr_#34981_os_time; local_#31077[9] := local_#31087; local_#31088!_name := local_#30480; local_#31088!_func := fun_addr_#34982_os_tmpname; local_#31077[10] := local_#31088; local_#31089!_name := { base : 0, offset : 0 }; local_#31089!_func := { base : 0, offset : 0 }; local_#31077[11] := local_#31089; local_#31090[0] := 6; local_#31090[1] := 3; local_#31090[2] := 0; local_#31090[3] := 4; local_#31090[4] := 1; local_#31090[5] := 2; local_#31091[0] := local_#30482; local_#31091[1] := local_#30484; local_#31091[2] := local_#30486; local_#31091[3] := local_#30488; local_#31091[4] := local_#30490; local_#31091[5] := local_#30492; local_#31091[6] := { base : 0, offset : 0 }; goto CFG_44951; CFG_44951: _memory[local_#30494] := local_#30493; local_#31094!_name := local_#30496; local_#31094!_func := fun_addr_#35083_str_byte; local_#31093[0] := local_#31094; local_#31095!_name := local_#30498; local_#31095!_func := fun_addr_#35084_str_char; local_#31093[1] := local_#31095; local_#31096!_name := local_#30500; local_#31096!_func := fun_addr_#35086_str_dump; local_#31093[2] := local_#31096; local_#31097!_name := local_#30502; local_#31097!_func := fun_addr_#35087_str_find; local_#31093[3] := local_#31097; local_#31098!_name := local_#30504; local_#31098!_func := fun_addr_#35089_str_format; local_#31093[4] := local_#31098; local_#31099!_name := local_#30506; local_#31099!_func := fun_addr_#34801_gmatch; local_#31093[5] := local_#31099; local_#31100!_name := local_#30508; local_#31100!_func := fun_addr_#35090_str_gsub; local_#31093[6] := local_#31100; local_#31101!_name := local_#30510; local_#31101!_func := fun_addr_#35091_str_len; local_#31093[7] := local_#31101; local_#31102!_name := local_#30512; local_#31102!_func := fun_addr_#35092_str_lower; local_#31093[8] := local_#31102; local_#31103!_name := local_#30514; local_#31103!_func := fun_addr_#35093_str_match; local_#31093[9] := local_#31103; local_#31104!_name := local_#30516; local_#31104!_func := fun_addr_#35096_str_rep; local_#31093[10] := local_#31104; local_#31105!_name := local_#30518; local_#31105!_func := fun_addr_#35097_str_reverse; local_#31093[11] := local_#31105; local_#31106!_name := local_#30520; local_#31106!_func := fun_addr_#35098_str_sub; local_#31093[12] := local_#31106; local_#31107!_name := local_#30522; local_#31107!_func := fun_addr_#35100_str_upper; local_#31093[13] := local_#31107; local_#31108!_name := local_#30524; local_#31108!_func := fun_addr_#35094_str_pack; local_#31093[14] := local_#31108; local_#31109!_name := local_#30526; local_#31109!_func := fun_addr_#35095_str_packsize; local_#31093[15] := local_#31109; local_#31110!_name := local_#30528; local_#31110!_func := fun_addr_#35099_str_unpack; local_#31093[16] := local_#31110; local_#31111!_name := { base : 0, offset : 0 }; local_#31111!_func := { base : 0, offset : 0 }; local_#31093[17] := local_#31111; goto CFG_44952; CFG_44952: local_#31113!_name := local_#30530; local_#31113!_func := fun_addr_#35108_tconcat; local_#31112[0] := local_#31113; local_#31114!_name := local_#30532; local_#31114!_func := fun_addr_#35113_tinsert; local_#31112[1] := local_#31114; local_#31115!_name := local_#30534; local_#31115!_func := fun_addr_#34983_pack; local_#31112[2] := local_#31115; local_#31116!_name := local_#30536; local_#31116!_func := fun_addr_#35135_unpack; local_#31112[3] := local_#31116; local_#31117!_name := local_#30538; local_#31117!_func := fun_addr_#35126_tremove; local_#31112[4] := local_#31117; local_#31118!_name := local_#30540; local_#31118!_func := fun_addr_#35114_tmove; local_#31112[5] := local_#31118; local_#31119!_name := local_#30542; local_#31119!_func := fun_addr_#35075_sort; local_#31112[6] := local_#31119; local_#31120!_name := { base : 0, offset : 0 }; local_#31120!_func := { base : 0, offset : 0 }; local_#31112[7] := local_#31120; goto CFG_44953; CFG_44953: local_#31122!_name := local_#30544; local_#31122!_func := fun_addr_#34617_byteoffset; local_#31121[0] := local_#31122; local_#31123!_name := local_#30546; local_#31123!_func := fun_addr_#34657_codepoint; local_#31121[1] := local_#31123; local_#31124!_name := local_#30548; local_#31124!_func := fun_addr_#35141_utfchar; local_#31121[2] := local_#31124; local_#31125!_name := local_#30550; local_#31125!_func := fun_addr_#35142_utflen; local_#31121[3] := local_#31125; local_#31126!_name := local_#30552; local_#31126!_func := fun_addr_#34838_iter_codes; local_#31121[4] := local_#31126; local_#31127!_name := local_#30554; local_#31127!_func := { base : 0, offset : 0 }; local_#31121[5] := local_#31127; local_#31128!_name := { base : 0, offset : 0 }; local_#31128!_func := { base : 0, offset : 0 }; local_#31121[6] := local_#31128; local_#31129[0] := 255; local_#31129[1] := 127; local_#31129[2] := 2047; local_#31129[3] := 65535; goto CFG_44954; CFG_44954: local_#31131!_name := local_#30556; local_#31131!_func := fun_addr_#34859_ll_loadlib; local_#31130[0] := local_#31131; local_#31132!_name := local_#30558; local_#31132!_func := fun_addr_#34861_ll_searchpath; local_#31130[1] := local_#31132; local_#31133!_name := local_#30560; local_#31133!_func := { base : 0, offset : 0 }; local_#31130[2] := local_#31133; local_#31134!_name := local_#30562; local_#31134!_func := { base : 0, offset : 0 }; local_#31130[3] := local_#31134; local_#31135!_name := local_#30564; local_#31135!_func := { base : 0, offset : 0 }; local_#31130[4] := local_#31135; local_#31136!_name := local_#30566; local_#31136!_func := { base : 0, offset : 0 }; local_#31130[5] := local_#31136; local_#31137!_name := local_#30568; local_#31137!_func := { base : 0, offset : 0 }; local_#31130[6] := local_#31137; local_#31138!_name := { base : 0, offset : 0 }; local_#31138!_func := { base : 0, offset : 0 }; local_#31130[7] := local_#31138; local_#31140!_name := local_#30570; local_#31140!_func := fun_addr_#34860_ll_require; local_#31139[0] := local_#31140; local_#31141!_name := { base : 0, offset : 0 }; local_#31141!_func := { base : 0, offset : 0 }; local_#31139[1] := local_#31141; local_#31142[0] := fun_addr_#35048_searcher_preload; local_#31142[1] := fun_addr_#35047_searcher_Lua; local_#31142[2] := fun_addr_#35045_searcher_C; local_#31142[3] := fun_addr_#35046_searcher_Croot; local_#31142[4] := { base : 0, offset : 0 }; goto CFG_44955; CFG_44955: local_#31144!_name := local_#30572; local_#31144!_func := fun_addr_#34007_luaopen_base; local_#31143[0] := local_#31144; local_#31145!_name := local_#30574; local_#31145!_func := fun_addr_#34014_luaopen_package; local_#31143[1] := local_#31145; local_#31146!_name := local_#30576; local_#31146!_func := fun_addr_#34009_luaopen_coroutine; local_#31143[2] := local_#31146; local_#31147!_name := local_#30578; local_#31147!_func := fun_addr_#34016_luaopen_table; local_#31143[3] := local_#31147; local_#31148!_name := local_#30580; local_#31148!_func := fun_addr_#34011_luaopen_io; local_#31143[4] := local_#31148; local_#31149!_name := local_#30582; local_#31149!_func := fun_addr_#34013_luaopen_os; local_#31143[5] := local_#31149; local_#31150!_name := local_#30584; local_#31150!_func := fun_addr_#34015_luaopen_string; local_#31143[6] := local_#31150; local_#31151!_name := local_#30586; local_#31151!_func := fun_addr_#34012_luaopen_math; local_#31143[7] := local_#31151; local_#31152!_name := local_#30588; local_#31152!_func := fun_addr_#34017_luaopen_utf8; local_#31143[8] := local_#31152; local_#31153!_name := local_#30590; local_#31153!_func := fun_addr_#34010_luaopen_debug; local_#31143[9] := local_#31153; local_#31154!_name := local_#30592; local_#31154!_func := fun_addr_#34008_luaopen_bit32; local_#31143[10] := local_#31154; local_#31155!_name := { base : 0, offset : 0 }; local_#31155!_func := { base : 0, offset : 0 }; local_#31143[11] := local_#31155; goto CFG_38047; CFG_38047: } function ~ashr32(in0 : int, in1 : int) returns (out : int) ; function ~lshr32(in0 : int, in1 : int) returns (out : int) ; function ~lshr64(in0 : int, in1 : int) returns (out : int) ; function ~sand32(in0 : int, in1 : int) returns (out : int) ; function ~shl32(in0 : int, in1 : int) returns (out : int) ; function ~shl64(in0 : int, in1 : int) returns (out : int) ; function ~sor32(in0 : int, in1 : int) returns (out : int) ; function ~sxor32(in0 : int, in1 : int) returns (out : int) ; function ~sxor64(in0 : int, in1 : int) returns (out : int) ; function ~uand32(in0 : int, in1 : int) returns (out : int) ; function ~uand64(in0 : int, in1 : int) returns (out : int) ; function ~uor64(in0 : int, in1 : int) returns (out : int) ; function { :inline false } ~uwrap16(in0 : int) returns (out : int) { in0 % 65536 } function { :inline false } ~uwrap32(in0 : int) returns (out : int) { in0 % 4294967296 } function { :inline false } ~uwrap64(in0 : int) returns (out : int) { in0 % 18446744073709551616 } function { :inline false } ~uwrap8(in0 : int) returns (out : int) { in0 % 256 } function ~uxor64(in0 : int, in1 : int) returns (out : int) ; function read_type_#101(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }) ; function read_type_#117(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _nk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }, _tvk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int } }) ; function read_type_#120(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }) ; function read_type_#132(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _ind : { _idx : int, _t : int, _vt : int }, _info : int, _ival : int, _nval : int }) ; procedure write_type_#101(address_IN : { base : int, offset : int }, value_IN : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }) returns (); modifies _memory, _memory_ptr; ensures (forall ptr : { base : int, offset : int } :: ptr!base != address_IN!base || (ptr!offset < address_IN!offset || address_IN!offset + 16 <= ptr!offset) ==> _memory[ptr] == old(_memory)[ptr] && _memory_ptr[ptr] == old(_memory_ptr)[ptr]) && (value_IN!_value_!_b == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_f == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_gc == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_value_!_p == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_tt_ == _memory[{ base : address_IN!base, offset : address_IN!offset + 8 }]); procedure write_type_#3(address_IN : { base : int, offset : int }, value_IN : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }) returns (); modifies _memory, _memory_ptr; ensures (forall ptr : { base : int, offset : int } :: ptr!base != address_IN!base || (ptr!offset < address_IN!offset || address_IN!offset + 16 <= ptr!offset) ==> _memory[ptr] == old(_memory)[ptr] && _memory_ptr[ptr] == old(_memory_ptr)[ptr]) && (value_IN!_value_!_b == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_f == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_gc == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_value_!_p == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_tt_ == _memory[{ base : address_IN!base, offset : address_IN!offset + 8 }] && value_IN!_next == _memory[{ base : address_IN!base, offset : address_IN!offset + 12 }]); const fun_addr_#34007_luaopen_base : { base : int, offset : int }; const fun_addr_#34008_luaopen_bit32 : { base : int, offset : int }; const fun_addr_#34009_luaopen_coroutine : { base : int, offset : int }; const fun_addr_#34010_luaopen_debug : { base : int, offset : int }; const fun_addr_#34011_luaopen_io : { base : int, offset : int }; const fun_addr_#34012_luaopen_math : { base : int, offset : int }; const fun_addr_#34013_luaopen_os : { base : int, offset : int }; const fun_addr_#34014_luaopen_package : { base : int, offset : int }; const fun_addr_#34015_luaopen_string : { base : int, offset : int }; const fun_addr_#34016_luaopen_table : { base : int, offset : int }; const fun_addr_#34017_luaopen_utf8 : { base : int, offset : int }; const fun_addr_#34592_auxsetnode : { base : int, offset : int }; const fun_addr_#34596_b_and : { base : int, offset : int }; const fun_addr_#34597_b_arshift : { base : int, offset : int }; const fun_addr_#34598_b_extract : { base : int, offset : int }; const fun_addr_#34599_b_lrot : { base : int, offset : int }; const fun_addr_#34600_b_lshift : { base : int, offset : int }; const fun_addr_#34601_b_not : { base : int, offset : int }; const fun_addr_#34602_b_or : { base : int, offset : int }; const fun_addr_#34603_b_replace : { base : int, offset : int }; const fun_addr_#34605_b_rrot : { base : int, offset : int }; const fun_addr_#34606_b_rshift : { base : int, offset : int }; const fun_addr_#34609_b_test : { base : int, offset : int }; const fun_addr_#34610_b_xor : { base : int, offset : int }; const fun_addr_#34615_boxgc : { base : int, offset : int }; const fun_addr_#34617_byteoffset : { base : int, offset : int }; const fun_addr_#34657_codepoint : { base : int, offset : int }; const fun_addr_#34681_db_debug : { base : int, offset : int }; const fun_addr_#34682_db_gethook : { base : int, offset : int }; const fun_addr_#34683_db_getinfo : { base : int, offset : int }; const fun_addr_#34684_db_getlocal : { base : int, offset : int }; const fun_addr_#34685_db_getmetatable : { base : int, offset : int }; const fun_addr_#34686_db_getregistry : { base : int, offset : int }; const fun_addr_#34687_db_getupvalue : { base : int, offset : int }; const fun_addr_#34688_db_getuservalue : { base : int, offset : int }; const fun_addr_#34689_db_sethook : { base : int, offset : int }; const fun_addr_#34690_db_setlocal : { base : int, offset : int }; const fun_addr_#34691_db_setmetatable : { base : int, offset : int }; const fun_addr_#34692_db_setupvalue : { base : int, offset : int }; const fun_addr_#34693_db_setuservalue : { base : int, offset : int }; const fun_addr_#34694_db_traceback : { base : int, offset : int }; const fun_addr_#34695_db_upvalueid : { base : int, offset : int }; const fun_addr_#34696_db_upvaluejoin : { base : int, offset : int }; const fun_addr_#34705_dofilecont : { base : int, offset : int }; const fun_addr_#34724_f_close : { base : int, offset : int }; const fun_addr_#34725_f_flush : { base : int, offset : int }; const fun_addr_#34726_f_gc : { base : int, offset : int }; const fun_addr_#34727_f_lines : { base : int, offset : int }; const fun_addr_#34730_f_read : { base : int, offset : int }; const fun_addr_#34731_f_seek : { base : int, offset : int }; const fun_addr_#34732_f_setvbuf : { base : int, offset : int }; const fun_addr_#34733_f_tostring : { base : int, offset : int }; const fun_addr_#34734_f_write : { base : int, offset : int }; const fun_addr_#34752_finishpcall : { base : int, offset : int }; const fun_addr_#34773_gctm : { base : int, offset : int }; const fun_addr_#34801_gmatch : { base : int, offset : int }; const fun_addr_#34802_gmatch_aux : { base : int, offset : int }; const fun_addr_#34818_io_close : { base : int, offset : int }; const fun_addr_#34819_io_fclose : { base : int, offset : int }; const fun_addr_#34820_io_flush : { base : int, offset : int }; const fun_addr_#34821_io_input : { base : int, offset : int }; const fun_addr_#34822_io_lines : { base : int, offset : int }; const fun_addr_#34823_io_noclose : { base : int, offset : int }; const fun_addr_#34824_io_open : { base : int, offset : int }; const fun_addr_#34825_io_output : { base : int, offset : int }; const fun_addr_#34826_io_pclose : { base : int, offset : int }; const fun_addr_#34827_io_popen : { base : int, offset : int }; const fun_addr_#34828_io_read : { base : int, offset : int }; const fun_addr_#34829_io_readline : { base : int, offset : int }; const fun_addr_#34830_io_tmpfile : { base : int, offset : int }; const fun_addr_#34831_io_type : { base : int, offset : int }; const fun_addr_#34832_io_write : { base : int, offset : int }; const fun_addr_#34833_ipairsaux : { base : int, offset : int }; const fun_addr_#34837_iter_aux : { base : int, offset : int }; const fun_addr_#34838_iter_codes : { base : int, offset : int }; const fun_addr_#34859_ll_loadlib : { base : int, offset : int }; const fun_addr_#34860_ll_require : { base : int, offset : int }; const fun_addr_#34861_ll_searchpath : { base : int, offset : int }; const fun_addr_#34874_luaB_assert : { base : int, offset : int }; const fun_addr_#34875_luaB_auxwrap : { base : int, offset : int }; const fun_addr_#34876_luaB_cocreate : { base : int, offset : int }; const fun_addr_#34877_luaB_collectgarbage : { base : int, offset : int }; const fun_addr_#34878_luaB_coresume : { base : int, offset : int }; const fun_addr_#34879_luaB_corunning : { base : int, offset : int }; const fun_addr_#34880_luaB_costatus : { base : int, offset : int }; const fun_addr_#34881_luaB_cowrap : { base : int, offset : int }; const fun_addr_#34882_luaB_dofile : { base : int, offset : int }; const fun_addr_#34883_luaB_error : { base : int, offset : int }; const fun_addr_#34884_luaB_getmetatable : { base : int, offset : int }; const fun_addr_#34885_luaB_ipairs : { base : int, offset : int }; const fun_addr_#34886_luaB_load : { base : int, offset : int }; const fun_addr_#34887_luaB_loadfile : { base : int, offset : int }; const fun_addr_#34888_luaB_next : { base : int, offset : int }; const fun_addr_#34889_luaB_pairs : { base : int, offset : int }; const fun_addr_#34890_luaB_pcall : { base : int, offset : int }; const fun_addr_#34891_luaB_print : { base : int, offset : int }; const fun_addr_#34892_luaB_rawequal : { base : int, offset : int }; const fun_addr_#34893_luaB_rawget : { base : int, offset : int }; const fun_addr_#34894_luaB_rawlen : { base : int, offset : int }; const fun_addr_#34895_luaB_rawset : { base : int, offset : int }; const fun_addr_#34896_luaB_select : { base : int, offset : int }; const fun_addr_#34897_luaB_setmetatable : { base : int, offset : int }; const fun_addr_#34898_luaB_tonumber : { base : int, offset : int }; const fun_addr_#34899_luaB_tostring : { base : int, offset : int }; const fun_addr_#34900_luaB_type : { base : int, offset : int }; const fun_addr_#34901_luaB_xpcall : { base : int, offset : int }; const fun_addr_#34902_luaB_yield : { base : int, offset : int }; const fun_addr_#34903_luaB_yieldable : { base : int, offset : int }; const fun_addr_#34918_math_abs : { base : int, offset : int }; const fun_addr_#34919_math_acos : { base : int, offset : int }; const fun_addr_#34920_math_asin : { base : int, offset : int }; const fun_addr_#34921_math_atan : { base : int, offset : int }; const fun_addr_#34922_math_ceil : { base : int, offset : int }; const fun_addr_#34923_math_cos : { base : int, offset : int }; const fun_addr_#34924_math_cosh : { base : int, offset : int }; const fun_addr_#34925_math_deg : { base : int, offset : int }; const fun_addr_#34926_math_exp : { base : int, offset : int }; const fun_addr_#34927_math_floor : { base : int, offset : int }; const fun_addr_#34928_math_fmod : { base : int, offset : int }; const fun_addr_#34929_math_frexp : { base : int, offset : int }; const fun_addr_#34930_math_ldexp : { base : int, offset : int }; const fun_addr_#34931_math_log : { base : int, offset : int }; const fun_addr_#34932_math_log10 : { base : int, offset : int }; const fun_addr_#34933_math_max : { base : int, offset : int }; const fun_addr_#34934_math_min : { base : int, offset : int }; const fun_addr_#34935_math_modf : { base : int, offset : int }; const fun_addr_#34936_math_pow : { base : int, offset : int }; const fun_addr_#34937_math_rad : { base : int, offset : int }; const fun_addr_#34938_math_random : { base : int, offset : int }; const fun_addr_#34939_math_randomseed : { base : int, offset : int }; const fun_addr_#34940_math_sin : { base : int, offset : int }; const fun_addr_#34941_math_sinh : { base : int, offset : int }; const fun_addr_#34942_math_sqrt : { base : int, offset : int }; const fun_addr_#34943_math_tan : { base : int, offset : int }; const fun_addr_#34944_math_tanh : { base : int, offset : int }; const fun_addr_#34945_math_toint : { base : int, offset : int }; const fun_addr_#34946_math_type : { base : int, offset : int }; const fun_addr_#34947_math_ult : { base : int, offset : int }; const fun_addr_#34952_msghandler : { base : int, offset : int }; const fun_addr_#34972_os_clock : { base : int, offset : int }; const fun_addr_#34973_os_date : { base : int, offset : int }; const fun_addr_#34974_os_difftime : { base : int, offset : int }; const fun_addr_#34975_os_execute : { base : int, offset : int }; const fun_addr_#34976_os_exit : { base : int, offset : int }; const fun_addr_#34977_os_getenv : { base : int, offset : int }; const fun_addr_#34978_os_remove : { base : int, offset : int }; const fun_addr_#34979_os_rename : { base : int, offset : int }; const fun_addr_#34980_os_setlocale : { base : int, offset : int }; const fun_addr_#34981_os_time : { base : int, offset : int }; const fun_addr_#34982_os_tmpname : { base : int, offset : int }; const fun_addr_#34983_pack : { base : int, offset : int }; const fun_addr_#34986_panic : { base : int, offset : int }; const fun_addr_#34991_pmain : { base : int, offset : int }; const fun_addr_#35045_searcher_C : { base : int, offset : int }; const fun_addr_#35046_searcher_Croot : { base : int, offset : int }; const fun_addr_#35047_searcher_Lua : { base : int, offset : int }; const fun_addr_#35048_searcher_preload : { base : int, offset : int }; const fun_addr_#35075_sort : { base : int, offset : int }; const fun_addr_#35083_str_byte : { base : int, offset : int }; const fun_addr_#35084_str_char : { base : int, offset : int }; const fun_addr_#35086_str_dump : { base : int, offset : int }; const fun_addr_#35087_str_find : { base : int, offset : int }; const fun_addr_#35089_str_format : { base : int, offset : int }; const fun_addr_#35090_str_gsub : { base : int, offset : int }; const fun_addr_#35091_str_len : { base : int, offset : int }; const fun_addr_#35092_str_lower : { base : int, offset : int }; const fun_addr_#35093_str_match : { base : int, offset : int }; const fun_addr_#35094_str_pack : { base : int, offset : int }; const fun_addr_#35095_str_packsize : { base : int, offset : int }; const fun_addr_#35096_str_rep : { base : int, offset : int }; const fun_addr_#35097_str_reverse : { base : int, offset : int }; const fun_addr_#35098_str_sub : { base : int, offset : int }; const fun_addr_#35099_str_unpack : { base : int, offset : int }; const fun_addr_#35100_str_upper : { base : int, offset : int }; const fun_addr_#35108_tconcat : { base : int, offset : int }; const fun_addr_#35113_tinsert : { base : int, offset : int }; const fun_addr_#35114_tmove : { base : int, offset : int }; const fun_addr_#35126_tremove : { base : int, offset : int }; const fun_addr_#35135_unpack : { base : int, offset : int }; const fun_addr_#35141_utfchar : { base : int, offset : int }; const fun_addr_#35142_utflen : { base : int, offset : int }; axiom fun_addr_#34007_luaopen_base == { base : -1, offset : 107 }; axiom fun_addr_#34008_luaopen_bit32 == { base : -1, offset : 71 }; axiom fun_addr_#34009_luaopen_coroutine == { base : -1, offset : 81 }; axiom fun_addr_#34010_luaopen_debug == { base : -1, offset : 45 }; axiom fun_addr_#34011_luaopen_io == { base : -1, offset : 58 }; axiom fun_addr_#34012_luaopen_math == { base : -1, offset : 21 }; axiom fun_addr_#34013_luaopen_os == { base : -1, offset : 36 }; axiom fun_addr_#34014_luaopen_package == { base : -1, offset : 3 }; axiom fun_addr_#34015_luaopen_string == { base : -1, offset : 12 }; axiom fun_addr_#34016_luaopen_table == { base : -1, offset : 170 }; axiom fun_addr_#34017_luaopen_utf8 == { base : -1, offset : 160 }; axiom fun_addr_#34592_auxsetnode == { base : -1, offset : 178 }; axiom fun_addr_#34596_b_and == { base : -1, offset : 62 }; axiom fun_addr_#34597_b_arshift == { base : -1, offset : 49 }; axiom fun_addr_#34598_b_extract == { base : -1, offset : 86 }; axiom fun_addr_#34599_b_lrot == { base : -1, offset : 75 }; axiom fun_addr_#34600_b_lshift == { base : -1, offset : 113 }; axiom fun_addr_#34601_b_not == { base : -1, offset : 101 }; axiom fun_addr_#34602_b_or == { base : -1, offset : 130 }; axiom fun_addr_#34603_b_replace == { base : -1, offset : 123 }; axiom fun_addr_#34605_b_rrot == { base : -1, offset : 145 }; axiom fun_addr_#34606_b_rshift == { base : -1, offset : 176 }; axiom fun_addr_#34609_b_test == { base : -1, offset : 0 }; axiom fun_addr_#34610_b_xor == { base : -1, offset : 31 }; axiom fun_addr_#34615_boxgc == { base : -1, offset : 70 }; axiom fun_addr_#34617_byteoffset == { base : -1, offset : 96 }; axiom fun_addr_#34657_codepoint == { base : -1, offset : 23 }; axiom fun_addr_#34681_db_debug == { base : -1, offset : 117 }; axiom fun_addr_#34682_db_gethook == { base : -1, offset : 109 }; axiom fun_addr_#34683_db_getinfo == { base : -1, offset : 97 }; axiom fun_addr_#34684_db_getlocal == { base : -1, offset : 169 }; axiom fun_addr_#34685_db_getmetatable == { base : -1, offset : 158 }; axiom fun_addr_#34686_db_getregistry == { base : -1, offset : 149 }; axiom fun_addr_#34687_db_getupvalue == { base : -1, offset : 137 }; axiom fun_addr_#34688_db_getuservalue == { base : -1, offset : 48 }; axiom fun_addr_#34689_db_sethook == { base : -1, offset : 61 }; axiom fun_addr_#34690_db_setlocal == { base : -1, offset : 74 }; axiom fun_addr_#34691_db_setmetatable == { base : -1, offset : 84 }; axiom fun_addr_#34692_db_setupvalue == { base : -1, offset : 4 }; axiom fun_addr_#34693_db_setuservalue == { base : -1, offset : 14 }; axiom fun_addr_#34694_db_traceback == { base : -1, offset : 24 }; axiom fun_addr_#34695_db_upvalueid == { base : -1, offset : 40 }; axiom fun_addr_#34696_db_upvaluejoin == { base : -1, offset : 143 }; axiom fun_addr_#34705_dofilecont == { base : -1, offset : 180 }; axiom fun_addr_#34724_f_close == { base : -1, offset : 13 }; axiom fun_addr_#34725_f_flush == { base : -1, offset : 5 }; axiom fun_addr_#34726_f_gc == { base : -1, offset : 39 }; axiom fun_addr_#34727_f_lines == { base : -1, offset : 25 }; axiom fun_addr_#34730_f_read == { base : -1, offset : 175 }; axiom fun_addr_#34731_f_seek == { base : -1, offset : 165 }; axiom fun_addr_#34732_f_setvbuf == { base : -1, offset : 114 }; axiom fun_addr_#34733_f_tostring == { base : -1, offset : 103 }; axiom fun_addr_#34734_f_write == { base : -1, offset : 133 }; axiom fun_addr_#34752_finishpcall == { base : -1, offset : 179 }; axiom fun_addr_#34773_gctm == { base : -1, offset : 33 }; axiom fun_addr_#34801_gmatch == { base : -1, offset : 68 }; axiom fun_addr_#34802_gmatch_aux == { base : -1, offset : 56 }; axiom fun_addr_#34818_io_close == { base : -1, offset : 120 }; axiom fun_addr_#34819_io_fclose == { base : -1, offset : 128 }; axiom fun_addr_#34820_io_flush == { base : -1, offset : 140 }; axiom fun_addr_#34821_io_input == { base : -1, offset : 152 }; axiom fun_addr_#34822_io_lines == { base : -1, offset : 164 }; axiom fun_addr_#34823_io_noclose == { base : -1, offset : 174 }; axiom fun_addr_#34824_io_open == { base : -1, offset : 6 }; axiom fun_addr_#34825_io_output == { base : -1, offset : 15 }; axiom fun_addr_#34826_io_pclose == { base : -1, offset : 28 }; axiom fun_addr_#34827_io_popen == { base : -1, offset : 43 }; axiom fun_addr_#34828_io_read == { base : -1, offset : 52 }; axiom fun_addr_#34829_io_readline == { base : -1, offset : 65 }; axiom fun_addr_#34830_io_tmpfile == { base : -1, offset : 78 }; axiom fun_addr_#34831_io_type == { base : -1, offset : 91 }; axiom fun_addr_#34832_io_write == { base : -1, offset : 92 }; axiom fun_addr_#34833_ipairsaux == { base : -1, offset : 104 }; axiom fun_addr_#34837_iter_aux == { base : -1, offset : 146 }; axiom fun_addr_#34838_iter_codes == { base : -1, offset : 157 }; axiom fun_addr_#34859_ll_loadlib == { base : -1, offset : 29 }; axiom fun_addr_#34860_ll_require == { base : -1, offset : 64 }; axiom fun_addr_#34861_ll_searchpath == { base : -1, offset : 53 }; axiom fun_addr_#34874_luaB_assert == { base : -1, offset : 35 }; axiom fun_addr_#34875_luaB_auxwrap == { base : -1, offset : 20 }; axiom fun_addr_#34876_luaB_cocreate == { base : -1, offset : 59 }; axiom fun_addr_#34877_luaB_collectgarbage == { base : -1, offset : 46 }; axiom fun_addr_#34878_luaB_coresume == { base : -1, offset : 83 }; axiom fun_addr_#34879_luaB_corunning == { base : -1, offset : 73 }; axiom fun_addr_#34880_luaB_costatus == { base : -1, offset : 119 }; axiom fun_addr_#34881_luaB_cowrap == { base : -1, offset : 127 }; axiom fun_addr_#34882_luaB_dofile == { base : -1, offset : 98 }; axiom fun_addr_#34883_luaB_error == { base : -1, offset : 110 }; axiom fun_addr_#34884_luaB_getmetatable == { base : -1, offset : 163 }; axiom fun_addr_#34885_luaB_ipairs == { base : -1, offset : 173 }; axiom fun_addr_#34886_luaB_load == { base : -1, offset : 141 }; axiom fun_addr_#34887_luaB_loadfile == { base : -1, offset : 154 }; axiom fun_addr_#34888_luaB_next == { base : -1, offset : 26 }; axiom fun_addr_#34889_luaB_pairs == { base : -1, offset : 42 }; axiom fun_addr_#34890_luaB_pcall == { base : -1, offset : 7 }; axiom fun_addr_#34891_luaB_print == { base : -1, offset : 17 }; axiom fun_addr_#34892_luaB_rawequal == { base : -1, offset : 76 }; axiom fun_addr_#34893_luaB_rawget == { base : -1, offset : 90 }; axiom fun_addr_#34894_luaB_rawlen == { base : -1, offset : 54 }; axiom fun_addr_#34895_luaB_rawset == { base : -1, offset : 67 }; axiom fun_addr_#34896_luaB_select == { base : -1, offset : 115 }; axiom fun_addr_#34897_luaB_setmetatable == { base : -1, offset : 125 }; axiom fun_addr_#34898_luaB_tonumber == { base : -1, offset : 93 }; axiom fun_addr_#34899_luaB_tostring == { base : -1, offset : 106 }; axiom fun_addr_#34900_luaB_type == { base : -1, offset : 155 }; axiom fun_addr_#34901_luaB_xpcall == { base : -1, offset : 168 }; axiom fun_addr_#34902_luaB_yield == { base : -1, offset : 134 }; axiom fun_addr_#34903_luaB_yieldable == { base : -1, offset : 148 }; axiom fun_addr_#34918_math_abs == { base : -1, offset : 153 }; axiom fun_addr_#34919_math_acos == { base : -1, offset : 142 }; axiom fun_addr_#34920_math_asin == { base : -1, offset : 41 }; axiom fun_addr_#34921_math_atan == { base : -1, offset : 27 }; axiom fun_addr_#34922_math_ceil == { base : -1, offset : 16 }; axiom fun_addr_#34923_math_cos == { base : -1, offset : 8 }; axiom fun_addr_#34924_math_cosh == { base : -1, offset : 89 }; axiom fun_addr_#34925_math_deg == { base : -1, offset : 77 }; axiom fun_addr_#34926_math_exp == { base : -1, offset : 66 }; axiom fun_addr_#34927_math_floor == { base : -1, offset : 55 }; axiom fun_addr_#34928_math_fmod == { base : -1, offset : 124 }; axiom fun_addr_#34929_math_frexp == { base : -1, offset : 116 }; axiom fun_addr_#34930_math_ldexp == { base : -1, offset : 105 }; axiom fun_addr_#34931_math_log == { base : -1, offset : 94 }; axiom fun_addr_#34932_math_log10 == { base : -1, offset : 167 }; axiom fun_addr_#34933_math_max == { base : -1, offset : 156 }; axiom fun_addr_#34934_math_min == { base : -1, offset : 147 }; axiom fun_addr_#34935_math_modf == { base : -1, offset : 135 }; axiom fun_addr_#34936_math_pow == { base : -1, offset : 34 }; axiom fun_addr_#34937_math_rad == { base : -1, offset : 19 }; axiom fun_addr_#34938_math_random == { base : -1, offset : 10 }; axiom fun_addr_#34939_math_randomseed == { base : -1, offset : 1 }; axiom fun_addr_#34940_math_sin == { base : -1, offset : 82 }; axiom fun_addr_#34941_math_sinh == { base : -1, offset : 72 }; axiom fun_addr_#34942_math_sqrt == { base : -1, offset : 60 }; axiom fun_addr_#34943_math_tan == { base : -1, offset : 47 }; axiom fun_addr_#34944_math_tanh == { base : -1, offset : 138 }; axiom fun_addr_#34945_math_toint == { base : -1, offset : 151 }; axiom fun_addr_#34946_math_type == { base : -1, offset : 161 }; axiom fun_addr_#34947_math_ult == { base : -1, offset : 172 }; axiom fun_addr_#34952_msghandler == { base : -1, offset : 51 }; axiom fun_addr_#34972_os_clock == { base : -1, offset : 2 }; axiom fun_addr_#34973_os_date == { base : -1, offset : 11 }; axiom fun_addr_#34974_os_difftime == { base : -1, offset : 22 }; axiom fun_addr_#34975_os_execute == { base : -1, offset : 37 }; axiom fun_addr_#34976_os_exit == { base : -1, offset : 150 }; axiom fun_addr_#34977_os_getenv == { base : -1, offset : 139 }; axiom fun_addr_#34978_os_remove == { base : -1, offset : 171 }; axiom fun_addr_#34979_os_rename == { base : -1, offset : 162 }; axiom fun_addr_#34980_os_setlocale == { base : -1, offset : 111 }; axiom fun_addr_#34981_os_time == { base : -1, offset : 99 }; axiom fun_addr_#34982_os_tmpname == { base : -1, offset : 129 }; axiom fun_addr_#34983_pack == { base : -1, offset : 122 }; axiom fun_addr_#34986_panic == { base : -1, offset : 88 }; axiom fun_addr_#34991_pmain == { base : -1, offset : 30 }; axiom fun_addr_#35045_searcher_C == { base : -1, offset : 121 }; axiom fun_addr_#35046_searcher_Croot == { base : -1, offset : 112 }; axiom fun_addr_#35047_searcher_Lua == { base : -1, offset : 100 }; axiom fun_addr_#35048_searcher_preload == { base : -1, offset : 87 }; axiom fun_addr_#35075_sort == { base : -1, offset : 38 }; axiom fun_addr_#35083_str_byte == { base : -1, offset : 131 }; axiom fun_addr_#35084_str_char == { base : -1, offset : 144 }; axiom fun_addr_#35086_str_dump == { base : -1, offset : 166 }; axiom fun_addr_#35087_str_find == { base : -1, offset : 177 }; axiom fun_addr_#35089_str_format == { base : -1, offset : 9 }; axiom fun_addr_#35090_str_gsub == { base : -1, offset : 18 }; axiom fun_addr_#35091_str_len == { base : -1, offset : 32 }; axiom fun_addr_#35092_str_lower == { base : -1, offset : 44 }; axiom fun_addr_#35093_str_match == { base : -1, offset : 57 }; axiom fun_addr_#35094_str_pack == { base : -1, offset : 69 }; axiom fun_addr_#35095_str_packsize == { base : -1, offset : 80 }; axiom fun_addr_#35096_str_rep == { base : -1, offset : 95 }; axiom fun_addr_#35097_str_reverse == { base : -1, offset : 108 }; axiom fun_addr_#35098_str_sub == { base : -1, offset : 118 }; axiom fun_addr_#35099_str_unpack == { base : -1, offset : 126 }; axiom fun_addr_#35100_str_upper == { base : -1, offset : 136 }; axiom fun_addr_#35108_tconcat == { base : -1, offset : 63 }; axiom fun_addr_#35113_tinsert == { base : -1, offset : 102 }; axiom fun_addr_#35114_tmove == { base : -1, offset : 132 }; axiom fun_addr_#35126_tremove == { base : -1, offset : 79 }; axiom fun_addr_#35135_unpack == { base : -1, offset : 159 }; axiom fun_addr_#35141_utfchar == { base : -1, offset : 85 }; axiom fun_addr_#35142_utflen == { base : -1, offset : 50 };