Skip to content

Instantly share code, notes, and snippets.

@regehr
Created May 5, 2018 23:21
Show Gist options
  • Save regehr/0271e1060f791d7d813c000fa5596c8e to your computer and use it in GitHub Desktop.
Save regehr/0271e1060f791d7d813c000fa5596c8e to your computer and use it in GitHub Desktop.
-----------------------------------------------------------
; start LHS (in $_lua_settop)
%0:i32 = var
; (i32.le_s(get_local $1)(i32.const -1))
%1 = sle %0, -1:i32
%2:i32 = zext %1
infer %2
; RHS inferred successfully
%3:i32 = lshr %0, 31:i32
result %3
-----------------------------------------------------------
; start LHS (in $_lua_type)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaL_error)
%0:i32 = var
; (i32.add(get_local $3)(i32.const 24))
%1 = add %0, 24:i32
; (i32.add(get_local $4)(i32.const 36))
%2 = add %1, 36:i32
%3:i32 = var
; (i32.le_s(i32.const 0)(get_local $2))
%4 = sle 0:i32, %3
%5:i32 = var
; (i32.ne(unreachable)(unreachable))
%6 = ne %5, 0:i32
pc %4 1:i1
pc %6 1:i1
infer %2
; RHS inferred successfully
%7:i32 = sub %0, 4294967236:i32
result %7
-----------------------------------------------------------
; start LHS (in $_luaL_error)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $2))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_pushvalue)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_setfield)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_tolstring)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_tolstring)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $68))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_tolstring)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_pushlstring)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $5))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaL_argerror)
%0:i32 = var
; (i32.add(get_local $5)(i32.const 28))
%1 = add %0, 28:i32
; (i32.add(get_local $3)(i32.const 4))
%2 = add %1, 4:i32
%3:i32 = var
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
pc %4 1:i1
infer %2
; RHS inferred successfully
%5:i32 = sub %0, 4294967264:i32
result %5
-----------------------------------------------------------
; start LHS (in $_memcpy)
%0:i32 = var
; (i32.and(get_local $0)(i32.const 3))
%1 = and %0, 3:i32
%2:i32 = var
; (i32.and(get_local $1)(i32.const 3))
%3 = and %2, 3:i32
; (i32.eq(get_local $17)(get_local $19))
%4 = eq %1, %3
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
infer %6
; RHS inferred successfully
%7:i32 = xor %0, %2
%8:i32 = lshr %7, 1:i32
%9:i32 = or %7, %8
%10:i1 = trunc %9
result %10
-----------------------------------------------------------
; start LHS (in $_lua_pushstring)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $15))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaK_code)
%0:i32 = var
%1:i32 = var
; (i32.xor(get_local $2)(i32.const -1))
%2 = xor %1, -1:i32
; (i32.add(get_local $10)(get_local $60))
%3 = add %0, %2
; (i32.sub(i32.const 0)(get_local $3))
%4 = sub 0:i32, %3
; (i32.le_s(i32.const -1)(get_local $3))
%5 = sle -1:i32, %3
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
%8 = block 2
%9:i32 = var
%10:i32 = var
%11 = phi %8, %9, %10
; (i32.and(get_local $3)(i32.const 63))
%12 = and %11, 63:i32
; (i32.eq(get_local $48)(i32.const 28))
%13 = eq %12, 28:i32
%14:i32 = var
; (i32.eq(get_local $2)(i32.const -1))
%15 = eq %14, -1:i32
%16:i32 = zext %15
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
pc %7 1:i1
pc %13 1:i1
pc %17 1:i1
infer %4
; RHS inferred successfully
%18:i32 = add 1:i32, %1
%19:i32 = sub %18, %0
result %19
-----------------------------------------------------------
; start LHS (in $_luaK_code)
%0:i32 = var
%1:i32 = var
; (i32.xor(get_local $2)(i32.const -1))
%2 = xor %1, -1:i32
; (i32.add(get_local $10)(get_local $77))
%3 = add %0, %2
; (i32.sub(i32.const 0)(get_local $3))
%4 = sub 0:i32, %3
; (i32.le_s(i32.const -1)(get_local $3))
%5 = sle -1:i32, %3
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
%8 = block 2
%9:i32 = var
%10:i32 = var
%11 = phi %8, %9, %10
; (i32.and(get_local $3)(i32.const 63))
%12 = and %11, 63:i32
; (i32.eq(get_local $48)(i32.const 28))
%13 = eq %12, 28:i32
%14:i32 = zext %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
%16:i32 = var
; (i32.eq(get_local $2)(i32.const -1))
%17 = eq %16, -1:i32
%18:i32 = zext %17
; (i32.eq(unreachable)(unreachable))
%19 = eq %18, 0:i32
pc %7 1:i1
pc %15 1:i1
pc %19 1:i1
infer %4
; RHS inferred successfully
%20:i32 = add 1:i32, %1
%21:i32 = sub %20, %0
result %21
-----------------------------------------------------------
; start LHS (in $___shgetc)
%0:i32 = var
; (i32.lt_s(get_local $4)(i32.const 0))
%1 = slt %0, 0:i32
%2:i32 = zext %1
infer %2
; RHS inferred successfully
%3:i32 = lshr %0, 31:i32
result %3
-----------------------------------------------------------
; start LHS (in $___shgetc)
%0:i32 = var
; (i32.lt_s(get_local $4)(i32.const 0))
%1 = slt %0, 0:i32
%2:i32 = zext %1
infer %2
; RHS inferred successfully
%3:i32 = lshr %0, 31:i32
result %3
-----------------------------------------------------------
; start LHS (in $_lua_remove)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_pushfstring)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $9))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_getfield)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_fflush)
%0:i32 = var
; (i32.le_s(get_local $4)(i32.const -1))
%1 = sle %0, -1:i32
%2:i32 = zext %1
infer %2
; RHS inferred successfully
%3:i32 = lshr %0, 31:i32
result %3
-----------------------------------------------------------
; start LHS (in $_fflush)
%0:i32 = var
; (i32.le_s(get_local $4)(i32.const -1))
%1 = sle %0, -1:i32
%2:i32 = zext %1
infer %2
; RHS inferred successfully
%3:i32 = lshr %0, 31:i32
result %3
-----------------------------------------------------------
; start LHS (in $_fflush)
%0:i32 = var
; (i32.le_s(get_local $4)(i32.const -1))
%1 = sle %0, -1:i32
%2:i32 = zext %1
infer %2
; RHS inferred successfully
%3:i32 = lshr %0, 31:i32
result %3
-----------------------------------------------------------
; start LHS (in $_lua_rawgeti)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaS_newlstr)
%0:i32 = var
%1:i32 = var
; (i32.xor(get_local $41)(get_local $2))
%2 = xor %0, %1
; (i32.shr_u(get_local $2)(i32.const 5))
%3 = lshr %1, 5:i32
; (i32.lt_u(get_local $5)(get_local $2))
%4 = ult %3, %1
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
pc %6 1:i1
infer %2
; RHS inferred successfully
result %0
-----------------------------------------------------------
; start LHS (in $_luaG_runerror)
%0:i32 = var
; (i32.and(get_local $20)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i1 = trunc %0
result %5
-----------------------------------------------------------
; start LHS (in $_luaG_runerror)
%0:i32 = var
; (i32.and(get_local $20)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaG_runerror)
%0:i32 = var
%1:i32 = var
; (i32.sub(get_local $33)(get_local $35))
%2 = sub %0, %1
; (i32.shr_s(get_local $36)(i32.const 2))
%3 = ashr %2, 2:i32
; (i32.add(get_local $37)(i32.const -1))
%4 = add %3, -1:i32
; (i32.shl(get_local $38)(i32.const 2))
%5 = shl %4, 2:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %7 1:i1
infer %5
; RHS inferred successfully
%8:i32 = add 4294967292:i32, %0
%9:i32 = sub %8, %1
%10:i32 = and 4294967292:i32, %9
result %10
-----------------------------------------------------------
; start LHS (in $_subexpr)
%0:i32 = var
; (i32.add(get_local $30)(i32.const 1))
%1 = add %0, 1:i32
; (i32.shl(get_local $31)(i32.const 16))
%2 = shl %1, 16:i32
; (i32.shr_s(get_local $32)(i32.const 16))
%3 = ashr %2, 16:i32
; (i32.and(get_local $4)(i32.const 65535))
%4 = and %3, 65535:i32
infer %4
; RHS inferred successfully
%5:i32 = sub %0, 65535:i32
%6:i32 = and 65535:i32, %5
result %6
-----------------------------------------------------------
; start LHS (in $_lua_rawseti)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_insert)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_pushcclosure)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $19))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_pushcclosure)
%0:i32 = var
; (i32.sub(i32.const 0)(get_local $2))
%1 = sub 0:i32, %0
; (i32.shl(get_local $36)(i32.const 4))
%2 = shl %1, 4:i32
infer %2
; RHS inferred successfully
%3:i32 = mul 4294967280:i32, %0
result %3
-----------------------------------------------------------
; start LHS (in $_lua_pushcclosure)
%0:i32 = var
%1:i32 = var
; (i32.sub(i32.const 0)(get_local $2))
%2 = sub 0:i32, %1
; (i32.shl(get_local $36)(i32.const 4))
%3 = shl %2, 4:i32
; (i32.add(get_local $34)(get_local $37))
%4 = add %0, %3
infer %4
; RHS inferred successfully
%5:i32 = mul 16:i32, %1
%6:i32 = sub %0, %5
result %6
-----------------------------------------------------------
; start LHS (in $_lua_pushcclosure)
%0:i32 = var
; (i32.add(get_local $3)(i32.const 16))
%1 = add %0, 16:i32
%2:i32 = var
; (i32.add(get_local $2)(i32.const -1))
%3 = add %2, -1:i32
; (i32.shl(get_local $2)(i32.const 4))
%4 = shl %3, 4:i32
; (i32.add(get_local $42)(get_local $46))
%5 = add %1, %4
infer %5
; RHS inferred successfully
%6:i32 = mul 16:i32, %2
%7:i32 = add %0, %6
result %7
-----------------------------------------------------------
; start LHS (in $_lua_createtable)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $8))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_createtable)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
%3:i32 = var
; (i32.le_s(i32.const 0)(get_local $2))
%4 = sle 0:i32, %3
%5:i32 = zext %4
; (i32.or(get_local $25)(get_local $27))
%6 = or %2, %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
%8:i32 = and %0, %3
%9:i32 = lshr %8, 31:i32
%10:i1 = trunc %9
result %10
-----------------------------------------------------------
; start LHS (in $_lua_createtable)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
%3:i32 = var
; (i32.le_s(i32.const 0)(get_local $2))
%4 = sle 0:i32, %3
%5:i32 = zext %4
; (i32.or(get_local $25)(get_local $27))
%6 = or %2, %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
infer %9
; RHS inferred successfully
%10:i32 = and %0, %3
%11:i32 = ashr %10, 31:i32
%12:i32 = add 31:i32, %11
%13:i1 = trunc %12
result %13
-----------------------------------------------------------
; start LHS (in $_lua_createtable)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
%3:i32 = var
; (i32.le_s(i32.const 0)(get_local $2))
%4 = sle 0:i32, %3
%5:i32 = zext %4
; (i32.or(get_local $25)(get_local $27))
%6 = or %2, %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
%8:i32 = zext %7
infer %8
; RHS inferred successfully
%9:i32 = and %0, %3
%10:i32 = lshr %9, 31:i32
result %10
-----------------------------------------------------------
; start LHS (in $_out_789)
%0:i32 = var
; (i32.and(get_local $4)(i32.const 32))
%1 = and %0, 32:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i32 = lshr %0, 5:i32
%6:i1 = trunc %5
result %6
-----------------------------------------------------------
; start LHS (in $_pad_795)
%0 = block 2
%1:i32 = var
%2:i32 = var
; (i32.sub(get_local $2)(get_local $3))
%3 = sub %1, %2
; (i32.le_u(i32.const 255)(get_local $1))
%4 = ule 255:i32, %3
blockpc %0 0 %4 1:i1
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
blockpc %0 1 %6 1:i1
; (i32.sub(get_local $2)(get_local $3))
%7 = sub %1, %2
; (i32.and(get_local $2)(i32.const 255))
%8 = and %7, 255:i32
%9 = phi %0, %3, %8
infer %9
; RHS inferred successfully
result %7
-----------------------------------------------------------
; start LHS (in $_luaL_checkudata)
%0:i32 = var
; (i32.eq(unreachable)(unreachable))
%1 = eq %0, 0:i32
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
infer %5
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_lua_newuserdata)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $5))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaL_prepbuffsize)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $6)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $6)(get_local $2))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $40)(get_local $1))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $2)(get_local $1))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $3)(get_local $2))
%11 = sub %10, %3
; (i32.lt_u(get_local $52)(get_local $1))
%12 = ult %11, %5
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_luaL_prepbuffsize)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $6)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $6)(get_local $2))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $40)(get_local $1))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $2)(get_local $1))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $3)(get_local $2))
%11 = sub %10, %3
; (i32.lt_u(get_local $52)(get_local $1))
%12 = ult %11, %5
%13:i32 = zext %12
infer %13
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_prepbuffsize)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $6)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $6)(get_local $2))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $40)(get_local $1))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $2)(get_local $1))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $46)(get_local $2))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $3)(get_local $2))
%14 = sub %13, %3
; (i32.lt_u(get_local $52)(get_local $1))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $49)(get_local $54))
%17 = or %12, %16
infer %17
; RHS inferred successfully
result %12
-----------------------------------------------------------
; start LHS (in $_luaL_prepbuffsize)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $6)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $6)(get_local $2))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $40)(get_local $1))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $2)(get_local $1))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $46)(get_local $2))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $3)(get_local $2))
%14 = sub %13, %3
; (i32.lt_u(get_local $52)(get_local $1))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $49)(get_local $54))
%17 = or %12, %16
; (i32.ne(unreachable)(unreachable))
%18 = ne %17, 0:i32
infer %18
; RHS inferred successfully
result %11
-----------------------------------------------------------
; start LHS (in $_luaK_exp2nextreg)
%0:i32 = var
; (i32.and(get_local $2)(i32.const 256))
%1 = and %0, 256:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i32 = lshr %0, 8:i32
%6:i1 = trunc %5
result %6
-----------------------------------------------------------
; start LHS (in $_luaK_exp2nextreg)
%0:i32 = var
; (i32.add(get_local $4)(i32.const 1))
%1 = add %0, 1:i32
; (i32.and(get_local $5)(i32.const 255))
%2 = and %1, 255:i32
; (i32.and(get_local $2)(i32.const 255))
%3 = and %2, 255:i32
%4:i32 = var
; (i32.lt_s(get_local $4)(get_local $37))
%5 = slt %0, %4
pc %5 1:i1
infer %3
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_luaK_exp2nextreg)
%0:i32 = var
; (i32.add(get_local $4)(i32.const 1))
%1 = add %0, 1:i32
; (i32.and(get_local $5)(i32.const 255))
%2 = and %1, 255:i32
; (i32.and(get_local $2)(i32.const 255))
%3 = and %2, 255:i32
infer %3
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_luaD_call)
%0:i32 = var
; (i32.add(get_local $13)(i32.const 1))
%1 = add %0, 1:i32
; (i32.shl(get_local $14)(i32.const 16))
%2 = shl %1, 16:i32
; (i32.shr_s(get_local $15)(i32.const 16))
%3 = ashr %2, 16:i32
; (i32.and(get_local $4)(i32.const 65535))
%4 = and %3, 65535:i32
infer %4
; RHS inferred successfully
%5:i32 = sub %0, 65535:i32
%6:i32 = and 65535:i32, %5
result %6
-----------------------------------------------------------
; start LHS (in $_luaD_call)
%0:i32 = var
; (i32.add(get_local $13)(i32.const 1))
%1 = add %0, 1:i32
; (i32.shl(get_local $14)(i32.const 16))
%2 = shl %1, 16:i32
; (i32.shr_s(get_local $15)(i32.const 16))
%3 = ashr %2, 16:i32
; (i32.and(get_local $4)(i32.const 65535))
%4 = and %3, 65535:i32
; (i32.and(get_local $4)(i32.const 65535))
%5 = and %3, 65535:i32
; (i32.le_s(i32.const 199)(get_local $20))
%6 = sle 199:i32, %5
pc %6 1:i1
infer %4
; RHS inferred successfully
%6:i32 = sub %0, 65535:i32
%7:i32 = and 65535:i32, %6
result %7
-----------------------------------------------------------
; start LHS (in $_luaD_call)
%0 = block 2
%1:i32 = var
; (i32.add(get_local $13)(i32.const 1))
%2 = add %1, 1:i32
; (i32.shl(get_local $14)(i32.const 16))
%3 = shl %2, 16:i32
; (i32.shr_s(get_local $15)(i32.const 16))
%4 = ashr %3, 16:i32
; (i32.and(get_local $4)(i32.const 65535))
%5 = and %4, 65535:i32
; (i32.le_s(i32.const 199)(get_local $20))
%6 = sle 199:i32, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.eq(get_local $4)(i32.const 200))
%9 = eq %4, 200:i32
%10:i32 = zext %9
%11 = phi %0, 0:i32, %10
infer %11
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaD_call)
%0 = block 2
%1:i32 = var
; (i32.add(get_local $13)(i32.const 1))
%2 = add %1, 1:i32
; (i32.shl(get_local $14)(i32.const 16))
%3 = shl %2, 16:i32
; (i32.shr_s(get_local $15)(i32.const 16))
%4 = ashr %3, 16:i32
; (i32.and(get_local $4)(i32.const 65535))
%5 = and %4, 65535:i32
; (i32.le_s(i32.const 199)(get_local $20))
%6 = sle 199:i32, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.and(get_local $4)(i32.const 65535))
%9 = and %4, 65535:i32
; (i32.le_s(i32.const 224)(get_local $27))
%10 = sle 224:i32, %9
%11:i32 = zext %10
%12 = phi %0, 0:i32, %11
infer %12
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaD_call)
%0:i32 = var
; (i32.ne(get_local $3)(i32.const 0))
%1 = ne %0, 0:i32
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
infer %5
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_lua_tointegerx)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaK_dischargevars)
%0:i32 = var
; (i32.and(get_local $2)(i32.const 256))
%1 = and %0, 256:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i32 = lshr %0, 8:i32
%6:i1 = trunc %5
result %6
-----------------------------------------------------------
; start LHS (in $_luaK_dischargevars)
%0:i32 = var
; (i32.add(get_local $1)(i32.const 8))
%1 = add %0, 8:i32
; (i32.add(get_local $3)(i32.const 2))
%2 = add %1, 2:i32
infer %2
; RHS inferred successfully
%3:i32 = add 10:i32, %0
result %3
-----------------------------------------------------------
; start LHS (in $_lua_xmove)
%0:i32 = var
; (i32.sub(i32.const 0)(get_local $2))
%1 = sub 0:i32, %0
; (i32.shl(get_local $6)(i32.const 4))
%2 = shl %1, 4:i32
infer %2
; RHS inferred successfully
%3:i32 = mul 4294967280:i32, %0
result %3
-----------------------------------------------------------
; start LHS (in $_lua_xmove)
%0:i32 = var
%1:i32 = var
; (i32.sub(i32.const 0)(get_local $2))
%2 = sub 0:i32, %1
; (i32.shl(get_local $6)(i32.const 4))
%3 = shl %2, 4:i32
; (i32.add(get_local $4)(get_local $18))
%4 = add %0, %3
infer %4
; RHS inferred successfully
%5:i32 = mul 16:i32, %1
%6:i32 = sub %0, %5
result %6
-----------------------------------------------------------
; start LHS (in $_lua_xmove)
%0:i32 = var
; (i32.sub(i32.const 0)(get_local $2))
%1 = sub 0:i32, %0
; (i32.shl(get_local $6)(i32.const 4))
%2 = shl %1, 4:i32
infer %2
; RHS inferred successfully
%3:i32 = mul 4294967280:i32, %0
result %3
-----------------------------------------------------------
; start LHS (in $_lua_xmove)
%0:i32 = var
%1:i32 = var
; (i32.sub(i32.const 0)(get_local $2))
%2 = sub 0:i32, %1
; (i32.shl(get_local $6)(i32.const 4))
%3 = shl %2, 4:i32
; (i32.add(get_local $4)(get_local $37))
%4 = add %0, %3
infer %4
; RHS inferred successfully
%5:i32 = mul 16:i32, %1
%6:i32 = sub %0, %5
result %6
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
; (i32.sub(get_local $53)(get_local $3))
%2 = sub %0, %1
; (i32.shr_s(get_local $55)(i32.const 4))
%3 = ashr %2, 4:i32
; (i32.shl(get_local $56)(i32.const 4))
%4 = shl %3, 4:i32
infer %4
; RHS inferred successfully
%5:i32 = and 4294967280:i32, %2
result %5
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
%2:i32 = var
; (i32.sub(get_local $53)(get_local $3))
%3 = sub %1, %2
; (i32.shr_s(get_local $55)(i32.const 4))
%4 = ashr %3, 4:i32
; (i32.shl(get_local $56)(i32.const 4))
%5 = shl %4, 4:i32
; (i32.add(get_local $4)(get_local $57))
%6 = add %0, %5
infer %6
; RHS inferred successfully
%7:i32 = and 4294967280:i32, %3
%8:i32 = add %0, %7
result %8
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
; (i32.sub(get_local $67)(get_local $3))
%2 = sub %0, %1
; (i32.shr_s(get_local $69)(i32.const 4))
%3 = ashr %2, 4:i32
; (i32.shl(get_local $70)(i32.const 4))
%4 = shl %3, 4:i32
%5:i32 = var
; (i32.ne(unreachable)(unreachable))
%6 = ne %5, 0:i32
pc %6 1:i1
infer %4
; RHS inferred successfully
%7:i32 = and 4294967280:i32, %2
result %7
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
%2:i32 = var
; (i32.sub(get_local $82)(get_local $3))
%3 = sub %1, %2
; (i32.shr_s(get_local $84)(i32.const 4))
%4 = ashr %3, 4:i32
; (i32.shl(get_local $85)(i32.const 4))
%5 = shl %4, 4:i32
; (i32.add(get_local $80)(get_local $86))
%6 = add %0, %5
%7:i32 = var
; (i32.ne(unreachable)(unreachable))
%8 = ne %7, 0:i32
%9:i32 = var
; (i32.ne(unreachable)(unreachable))
%10 = ne %9, 0:i32
pc %8 1:i1
pc %10 1:i1
infer %6
; RHS inferred successfully
%11:i32 = and 4294967280:i32, %3
%12:i32 = add %0, %11
result %12
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
; (i32.sub(get_local $102)(get_local $3))
%2 = sub %0, %1
; (i32.shr_s(get_local $104)(i32.const 4))
%3 = ashr %2, 4:i32
; (i32.shl(get_local $105)(i32.const 4))
%4 = shl %3, 4:i32
infer %4
; RHS inferred successfully
%5:i32 = and 4294967280:i32, %2
result %5
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
%2:i32 = var
; (i32.sub(get_local $102)(get_local $3))
%3 = sub %1, %2
; (i32.shr_s(get_local $104)(i32.const 4))
%4 = ashr %3, 4:i32
; (i32.shl(get_local $105)(i32.const 4))
%5 = shl %4, 4:i32
; (i32.add(get_local $2)(get_local $106))
%6 = add %0, %5
infer %6
; RHS inferred successfully
%7:i32 = and 4294967280:i32, %3
%8:i32 = add %0, %7
result %8
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
; (i32.sub(get_local $111)(get_local $3))
%2 = sub %0, %1
; (i32.shr_s(get_local $113)(i32.const 4))
%3 = ashr %2, 4:i32
; (i32.shl(get_local $114)(i32.const 4))
%4 = shl %3, 4:i32
infer %4
; RHS inferred successfully
%5:i32 = and 4294967280:i32, %2
result %5
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
%2:i32 = var
; (i32.sub(get_local $111)(get_local $3))
%3 = sub %1, %2
; (i32.shr_s(get_local $113)(i32.const 4))
%4 = ashr %3, 4:i32
; (i32.shl(get_local $114)(i32.const 4))
%5 = shl %4, 4:i32
; (i32.add(get_local $2)(get_local $115))
%6 = add %0, %5
infer %6
; RHS inferred successfully
%7:i32 = and 4294967280:i32, %3
%8:i32 = add %0, %7
result %8
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
%1:i32 = var
; (i32.sub(get_local $125)(get_local $3))
%2 = sub %0, %1
; (i32.shr_s(get_local $127)(i32.const 4))
%3 = ashr %2, 4:i32
; (i32.shl(get_local $128)(i32.const 4))
%4 = shl %3, 4:i32
%5:i32 = var
; (i32.and(get_local $118)(i32.const 1))
%6 = and %5, 1:i32
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %7 1:i1
infer %4
; RHS inferred successfully
%8:i32 = and 4294967280:i32, %2
result %8
-----------------------------------------------------------
; start LHS (in $_luaD_reallocstack)
%0:i32 = var
; (i32.and(get_local $118)(i32.const 1))
%1 = and %0, 1:i32
; (i32.ne(unreachable)(unreachable))
%2 = ne %1, 0:i32
infer %2
; RHS inferred successfully
%3:i1 = trunc %0
result %3
-----------------------------------------------------------
; start LHS (in $_lua_toboolean)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_getstack)
%0:i32 = var
; (i32.lt_s(get_local $1)(i32.const 0))
%1 = slt %0, 0:i32
%2:i32 = zext %1
infer %2
; RHS inferred successfully
%3:i32 = lshr %0, 31:i32
result %3
-----------------------------------------------------------
; start LHS (in $_luaF_close)
%0:i32 = var
; (i32.add(get_local $2)(i32.const 16))
%1 = add %0, 16:i32
; (i32.add(get_local $3)(i32.const 4))
%2 = add %1, 4:i32
%3:i32 = var
; (i32.xor(get_local $33)(i32.const 3))
%4 = xor %3, 3:i32
%5:i32 = var
; (i32.xor(get_local $36)(i32.const 3))
%6 = xor %5, 3:i32
; (i32.and(get_local $34)(get_local $37))
%7 = and %4, %6
; (i32.and(get_local $38)(i32.const 255))
%8 = and %7, 255:i32
; (i32.ne(unreachable)(unreachable))
%9 = ne %8, 0:i32
pc %9 1:i1
infer %2
; RHS inferred successfully
%10:i32 = add 20:i32, %0
result %10
-----------------------------------------------------------
; start LHS (in $_luaF_close)
%0:i32 = var
; (i32.add(get_local $2)(i32.const 16))
%1 = add %0, 16:i32
; (i32.add(get_local $4)(i32.const 4))
%2 = add %1, 4:i32
%3:i32 = var
; (i32.add(get_local $2)(i32.const 16))
%4 = add %0, 16:i32
; (i32.ne(get_local $3)(get_local $73))
%5 = ne %3, %4
%6:i32 = var
; (i32.xor(get_local $33)(i32.const 3))
%7 = xor %6, 3:i32
%8:i32 = var
; (i32.xor(get_local $36)(i32.const 3))
%9 = xor %8, 3:i32
; (i32.and(get_local $34)(get_local $37))
%10 = and %7, %9
; (i32.and(get_local $38)(i32.const 255))
%11 = and %10, 255:i32
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
pc %5 1:i1
pc %12 1:i1
infer %2
; RHS inferred successfully
%12:i32 = add 20:i32, %0
result %12
-----------------------------------------------------------
; start LHS (in $_match)
%0:i32 = var
; (i32.eq(get_local $204)(i32.const 94))
%1 = eq %0, 94:i32
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
infer %5
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_match)
%0:i32 = var
; (i32.eq(get_local $204)(i32.const 94))
%1 = eq %0, 94:i32
%2:i32 = zext %1
; (i32.xor(get_local $2)(i32.const 1))
%3 = xor %2, 1:i32
; (i32.and(get_local $210)(i32.const 1))
%4 = and %3, 1:i32
infer %4
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_match)
%0:i32 = var
; (i32.eq(get_local $204)(i32.const 94))
%1 = eq %0, 94:i32
%2:i32 = zext %1
; (i32.xor(get_local $2)(i32.const 1))
%3 = xor %2, 1:i32
; (i32.and(get_local $210)(i32.const 1))
%4 = and %3, 1:i32
; (i32.xor(get_local $2)(i32.const 1))
%5 = xor %4, 1:i32
infer %5
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_match)
%0:i32 = var
; (i32.eq(get_local $394)(i32.const 94))
%1 = eq %0, 94:i32
%2:i32 = zext %1
; (i32.xor(get_local $2)(i32.const 1))
%3 = xor %2, 1:i32
; (i32.and(get_local $402)(i32.const 1))
%4 = and %3, 1:i32
%5:i32 = var
%6:i32 = var
; (i32.le_u(get_local $1)(get_local $24))
%7 = ule %5, %6
pc %7 1:i1
infer %4
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_match)
%0:i32 = var
; (i32.eq(get_local $394)(i32.const 94))
%1 = eq %0, 94:i32
%2:i32 = zext %1
; (i32.xor(get_local $2)(i32.const 1))
%3 = xor %2, 1:i32
; (i32.and(get_local $402)(i32.const 1))
%4 = and %3, 1:i32
; (i32.xor(get_local $3)(i32.const 1))
%5 = xor %4, 1:i32
%6:i32 = var
%7:i32 = var
; (i32.le_u(get_local $1)(get_local $24))
%8 = ule %6, %7
pc %8 1:i1
infer %5
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_match)
%0:i32 = var
; (i32.le_s(get_local $1)(i32.const -1))
%1 = sle %0, -1:i32
%2:i32 = zext %1
infer %2
; RHS inferred successfully
%3:i32 = lshr %0, 31:i32
result %3
-----------------------------------------------------------
; start LHS (in $_lua_pcallk)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $3))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_leaveblock)
%0:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%1 = and %0, 255:i32
; (i32.add(get_local $200)(i32.const -1))
%2 = add %1, -1:i32
; (i32.shl(get_local $201)(i32.const 24))
%3 = shl %2, 24:i32
%4:i32 = var
; (i32.and(get_local $2)(i32.const 255))
%5 = and %4, 255:i32
%6:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%7 = and %6, 255:i32
; (i32.lt_s(get_local $182)(get_local $184))
%8 = slt %5, %7
pc %8 1:i1
infer %3
; RHS inferred successfully
%9:i32 = mul 4278190080:i32, %0
%10:i32 = xor 4278190080:i32, %9
result %10
-----------------------------------------------------------
; start LHS (in $_leaveblock)
%0:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%1 = and %0, 255:i32
; (i32.add(get_local $200)(i32.const -1))
%2 = add %1, -1:i32
; (i32.shl(get_local $201)(i32.const 24))
%3 = shl %2, 24:i32
; (i32.shr_s(get_local $202)(i32.const 24))
%4 = ashr %3, 24:i32
%5:i32 = var
; (i32.and(get_local $2)(i32.const 255))
%6 = and %5, 255:i32
%7:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%8 = and %7, 255:i32
; (i32.lt_s(get_local $182)(get_local $184))
%9 = slt %6, %8
pc %9 1:i1
infer %4
; RHS inferred successfully
%10:i32 = shl %0, 24:i32
%11:i32 = sub %10, 24:i32
%12:i32 = ashr %11, 24:i32
result %12
-----------------------------------------------------------
; start LHS (in $_leaveblock)
%0:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%1 = and %0, 255:i32
; (i32.add(get_local $200)(i32.const -1))
%2 = add %1, -1:i32
; (i32.shl(get_local $201)(i32.const 24))
%3 = shl %2, 24:i32
; (i32.shr_s(get_local $202)(i32.const 24))
%4 = ashr %3, 24:i32
; (i32.and(get_local $3)(i32.const 255))
%5 = and %4, 255:i32
%6:i32 = var
; (i32.and(get_local $2)(i32.const 255))
%7 = and %6, 255:i32
%8:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%9 = and %8, 255:i32
; (i32.lt_s(get_local $182)(get_local $184))
%10 = slt %7, %9
pc %10 1:i1
infer %5
; RHS inferred successfully
%11:i32 = add 255:i32, %0
%12:i32 = and 255:i32, %11
result %12
-----------------------------------------------------------
; start LHS (in $_leaveblock)
%0:i32 = var
%1:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%2 = and %1, 255:i32
; (i32.add(get_local $200)(i32.const -1))
%3 = add %2, -1:i32
; (i32.shl(get_local $201)(i32.const 24))
%4 = shl %3, 24:i32
; (i32.shr_s(get_local $202)(i32.const 24))
%5 = ashr %4, 24:i32
; (i32.and(get_local $3)(i32.const 255))
%6 = and %5, 255:i32
; (i32.add(get_local $11)(get_local $205))
%7 = add %0, %6
%8:i32 = var
; (i32.and(get_local $2)(i32.const 255))
%9 = and %8, 255:i32
%10:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%11 = and %10, 255:i32
; (i32.lt_s(get_local $182)(get_local $184))
%12 = slt %9, %11
pc %12 1:i1
infer %7
; RHS inferred successfully
%13:i32 = mul 255:i32, %1
%14:i32 = or 255:i32, %13
%15:i32 = sub %14, %13
%16:i32 = add %0, %15
result %16
-----------------------------------------------------------
; start LHS (in $_leaveblock)
%0:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%1 = and %0, 255:i32
; (i32.add(get_local $200)(i32.const -1))
%2 = add %1, -1:i32
; (i32.shl(get_local $201)(i32.const 24))
%3 = shl %2, 24:i32
; (i32.shr_s(get_local $202)(i32.const 24))
%4 = ashr %3, 24:i32
; (i32.and(get_local $3)(i32.const 255))
%5 = and %4, 255:i32
%6:i32 = var
; (i32.and(get_local $2)(i32.const 255))
%7 = and %6, 255:i32
%8:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%9 = and %8, 255:i32
; (i32.lt_s(get_local $182)(get_local $184))
%10 = slt %7, %9
pc %10 1:i1
infer %5
; RHS inferred successfully
%11:i32 = add 255:i32, %0
%12:i32 = and 255:i32, %11
result %12
-----------------------------------------------------------
; start LHS (in $_statement)
%0:i32 = var
; (i32.add(get_local $42)(i32.const 1))
%1 = add %0, 1:i32
; (i32.shl(get_local $43)(i32.const 16))
%2 = shl %1, 16:i32
; (i32.shr_s(get_local $44)(i32.const 16))
%3 = ashr %2, 16:i32
; (i32.and(get_local $3)(i32.const 65535))
%4 = and %3, 65535:i32
infer %4
; RHS inferred successfully
%5:i32 = sub %0, 65535:i32
%6:i32 = and 65535:i32, %5
result %6
-----------------------------------------------------------
; start LHS (in $_statement)
%0:i32 = var
; (i32.add(get_local $5)(i32.const 1))
%1 = add %0, 1:i32
; (i32.shl(get_local $735)(i32.const 24))
%2 = shl %1, 24:i32
; (i32.shr_s(get_local $736)(i32.const 24))
%3 = ashr %2, 24:i32
; (i32.and(get_local $737)(i32.const 255))
%4 = and %3, 255:i32
%5:i32 = var
; (i32.eq(get_local $1)(i32.const 265))
%6 = eq %5, 265:i32
pc %6 1:i1
infer %4
; RHS inferred successfully
%7:i32 = sub %0, 255:i32
%8:i32 = and 255:i32, %7
result %8
-----------------------------------------------------------
; start LHS (in $_statement)
%0:i32 = var
%1:i32 = var
; (i32.add(get_local $5)(i32.const 1))
%2 = add %1, 1:i32
; (i32.shl(get_local $735)(i32.const 24))
%3 = shl %2, 24:i32
; (i32.shr_s(get_local $736)(i32.const 24))
%4 = ashr %3, 24:i32
; (i32.and(get_local $737)(i32.const 255))
%5 = and %4, 255:i32
; (i32.add(get_local $733)(get_local $738))
%6 = add %0, %5
%7:i32 = var
; (i32.eq(get_local $1)(i32.const 265))
%8 = eq %7, 265:i32
pc %8 1:i1
infer %6
; RHS inferred successfully
%9:i32 = sub %1, 255:i32
%10:i32 = and 255:i32, %9
%11:i32 = add %0, %10
result %11
-----------------------------------------------------------
; start LHS (in $_statement)
%0:i32 = var
; (i32.add(get_local $2)(i32.const 48))
%1 = add %0, 48:i32
; (i32.add(get_local $3)(i32.const 8))
%2 = add %1, 8:i32
infer %2
; RHS inferred successfully
%3:i32 = add 56:i32, %0
result %3
-----------------------------------------------------------
; start LHS (in $_lua_getinfo)
%0:i32 = var
; (i32.and(get_local $152)(i32.const 1))
%1 = and %0, 1:i32
; (i32.ne(unreachable)(unreachable))
%2 = ne %1, 0:i32
infer %2
; RHS inferred successfully
%3:i1 = trunc %0
result %3
-----------------------------------------------------------
; start LHS (in $_lua_getinfo)
%0:i32 = var
%1:i32 = var
; (i32.sub(get_local $214)(get_local $7))
%2 = sub %0, %1
; (i32.shr_s(get_local $222)(i32.const 2))
%3 = ashr %2, 2:i32
; (i32.add(get_local $223)(i32.const -1))
%4 = add %3, -1:i32
; (i32.shl(get_local $3)(i32.const 2))
%5 = shl %4, 2:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %7 1:i1
infer %5
; RHS inferred successfully
%8:i32 = add 4294967292:i32, %0
%9:i32 = sub %8, %1
%10:i32 = and 4294967292:i32, %9
result %10
-----------------------------------------------------------
; start LHS (in $_lua_getinfo)
%0:i32 = var
; (i32.and(get_local $210)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_getinfo)
%0:i32 = var
; (i32.and(get_local $210)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_getinfo)
%0:i32 = var
; (i32.and(get_local $210)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_getinfo)
%0:i32 = var
; (i32.and(get_local $210)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_getinfo)
%0:i32 = var
; (i32.and(get_local $210)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_getinfo)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $314))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaK_exp2anyreg)
%0:i32 = var
; (i32.and(get_local $2)(i32.const 256))
%1 = and %0, 256:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i32 = lshr %0, 8:i32
%6:i1 = trunc %5
result %6
-----------------------------------------------------------
; start LHS (in $_singlestep)
%0:i32 = var
; (i32.add(get_local $1)(i32.const 1))
%1 = add %0, 1:i32
%2:i32 = var
; (i32.add(get_local $3)(i32.const 1))
%3 = add %2, 1:i32
; (i32.add(get_local $1)(get_local $3))
%4 = add %1, %3
infer %4
; RHS inferred successfully
%5:i32 = sub %2, 4294967294:i32
%6:i32 = add %0, %5
result %6
-----------------------------------------------------------
; start LHS (in $_scalbn)
%0:i32 = var
; (i32.le_s(i32.const 2046)(get_local $1))
%1 = sle 2046:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
infer %5
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_scalbn)
%0:i32 = var
; (i32.le_s(i32.const 2046)(get_local $1))
%1 = sle 2046:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
infer %5
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_scalbn)
%0:i32 = var
; (i32.lt_s(get_local $1)(i32.const -2044))
%1 = slt %0, -2044:i32
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
infer %5
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_scalbn)
%0:i32 = var
; (i32.lt_s(get_local $1)(i32.const -2044))
%1 = slt %0, -2044:i32
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
infer %5
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_scalbn)
%0 = block 2
%1:i32 = var
; (i32.lt_s(get_local $1)(i32.const -1022))
%2 = slt %1, -1022:i32
blockpc %0 0 %2 1:i1
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
blockpc %0 1 %4 1:i1
; (i32.lt_s(get_local $1)(i32.const -2044))
%5 = slt %1, -2044:i32
%6:i32 = zext %5
%7 = phi %0, 0:i32, %6
infer %7
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_scalbn)
%0 = block 2
%1:i32 = var
; (i32.le_s(i32.const 1023)(get_local $1))
%2 = sle 1023:i32, %1
blockpc %0 0 %2 1:i1
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
blockpc %0 1 %4 1:i1
%5 = block 2
; (i32.lt_s(get_local $1)(i32.const -1022))
%6 = slt %1, -1022:i32
blockpc %5 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %5 1 %8 1:i1
; (i32.add(get_local $1)(i32.const 2044))
%9 = add %1, 2044:i32
; (i32.le_s(get_local $1)(i32.const -1022))
%10 = sle %9, -1022:i32
%11:i32 = zext %10
%12 = phi %5, 0:i32, %11
%13 = phi %0, 0:i32, %12
infer %13
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_memset)
%0:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%1 = and %0, 255:i32
; (i32.shl(get_local $1)(i32.const 24))
%2 = shl %1, 24:i32
%3:i32 = var
; (i32.lt_s(i32.const 67)(get_local $2))
%4 = slt 67:i32, %3
pc %4 1:i1
infer %2
; RHS inferred successfully
%5:i32 = shl %0, 24:i32
result %5
-----------------------------------------------------------
; start LHS (in $_memset)
%0:i32 = var
%1:i32 = var
; (i32.add(get_local $0)(get_local $2))
%2 = add %0, %1
; (i32.sub(get_local $4)(get_local $2))
%3 = sub %2, %1
infer %3
; RHS inferred successfully
result %0
-----------------------------------------------------------
; start LHS (in $_malloc)
%0 = block 2
%1:i32 = var
; (i32.lt_u(get_local $0)(i32.const 11))
%2 = ult %1, 11:i32
blockpc %0 0 %2 1:i1
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
blockpc %0 1 %4 1:i1
; (i32.add(get_local $0)(i32.const 11))
%5 = add %1, 11:i32
; (i32.and(get_local $20)(i32.const -8))
%6 = and %5, -8:i32
%7 = phi %0, 16:i32, %6
; (i32.shr_u(get_local $28)(i32.const 3))
%8 = lshr %7, 3:i32
; (i32.shl(i32.const 2)(get_local $0))
%9 = shl 2:i32, %8
; (i32.sub(i32.const 0)(get_local $0))
%10 = sub 0:i32, %9
; (i32.or(get_local $0)(get_local $90))
%11 = or %9, %10
%12:i32 = var
; (i32.shr_u(get_local $23)(get_local $0))
%13 = lshr %12, %8
; (i32.ne(unreachable)(unreachable))
%14 = ne %13, 0:i32
%15:i32 = var
%16 = phi %0, 16:i32, %6
; (i32.le_u(get_local $8)(get_local $2))
%17 = ule %15, %16
; (i32.lt_u(get_local $0)(i32.const 245))
%18 = ult %1, 245:i32
pc %14 1:i1
pc %17 1:i1
pc %18 1:i1
infer %11
; RHS inferred successfully
result %10
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.or(get_local $3)(get_local $0))
%1 = or %0, %0
; (i32.and(get_local $114)(i32.const 4))
%2 = and %0, 4:i32
; (i32.or(get_local $109)(get_local $1))
%3 = or %1, %2
; (i32.shr_u(get_local $0)(i32.const 1))
%4 = lshr %0, 1:i32
; (i32.and(get_local $122)(i32.const 2))
%5 = and %4, 2:i32
; (i32.or(get_local $117)(get_local $1))
%6 = or %3, %5
; (i32.shr_u(get_local $0)(get_local $1))
%7 = lshr %0, %5
; (i32.shr_u(get_local $0)(i32.const 1))
%8 = lshr %7, 1:i32
; (i32.and(get_local $130)(i32.const 1))
%9 = and %8, 1:i32
; (i32.or(get_local $125)(get_local $1))
%10 = or %6, %9
; (i32.shr_u(get_local $0)(get_local $1))
%11 = lshr %7, %9
; (i32.add(get_local $133)(get_local $136))
%12 = add %10, %11
; (i32.shl(get_local $3)(i32.const 3))
%13 = shl %12, 3:i32
; (i32.add(get_local $139)(i32.const 15588))
%14 = add %13, 15588:i32
; (i32.eq(get_local $5)(get_local $0))
%15 = eq %0, %14
%16:i32 = zext %15
infer %16
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_malloc)
%0 = block 2
%1:i32 = var
; (i32.ne(unreachable)(unreachable))
%2 = ne %1, 0:i32
blockpc %0 0 %2 1:i1
; (i32.eq(unreachable)(unreachable))
%3 = eq %1, 0:i32
blockpc %0 1 %3 1:i1
; (i32.shr_u(get_local $8)(i32.const 3))
%4 = lshr %1, 3:i32
; (i32.shl(get_local $2)(i32.const 3))
%5 = shl %4, 3:i32
%6 = phi %0, 0:i32, %5
infer %6
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
%1:i32 = var
; (i32.shr_u(get_local $8)(i32.const 3))
%2 = lshr %1, 3:i32
; (i32.shl(i32.const 1)(get_local $1))
%3 = shl 1:i32, %2
; (i32.and(get_local $6)(get_local $1))
%4 = and %0, %3
; (i32.ne(unreachable)(unreachable))
%5 = ne %4, 0:i32
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, %2
%7:i1 = trunc %6
result %7
-----------------------------------------------------------
; start LHS (in $_malloc)
%0 = block 2
%1:i32 = var
; (i32.ne(unreachable)(unreachable))
%2 = ne %1, 0:i32
blockpc %0 0 %2 1:i1
; (i32.eq(unreachable)(unreachable))
%3 = eq %1, 0:i32
blockpc %0 1 %3 1:i1
; (i32.shr_u(get_local $8)(i32.const 3))
%4 = lshr %1, 3:i32
; (i32.shl(get_local $1)(i32.const 3))
%5 = shl %4, 3:i32
%6 = phi %0, 0:i32, %5
infer %6
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $4)(i32.const 8))
%1 = add %0, 8:i32
; (i32.sub(i32.const 0)(get_local $3))
%2 = sub 0:i32, %1
%3:i32 = var
; (i32.le_u(get_local $4)(get_local $1))
%4 = ule %0, %3
%5:i32 = zext %4
%6:i32 = var
; (i32.le_u(get_local $5)(get_local $4))
%7 = ule %6, %0
%8:i32 = zext %7
; (i32.and(get_local $1220)(get_local $1223))
%9 = and %5, %8
; (i32.ne(unreachable)(unreachable))
%10 = ne %9, 0:i32
%11:i32 = var
; (i32.and(get_local $1215)(i32.const 8))
%12 = and %11, 8:i32
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
%14:i32 = var
; (i32.ne(unreachable)(unreachable))
%15 = ne %14, 0:i32
pc %10 1:i1
pc %13 1:i1
pc %15 1:i1
infer %2
; RHS inferred successfully
%16:i32 = sub 4294967288:i32, %0
result %16
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $4)(i32.const 8))
%1 = add %0, 8:i32
; (i32.sub(i32.const 0)(get_local $3))
%2 = sub 0:i32, %1
; (i32.and(get_local $1235)(i32.const 7))
%3 = and %2, 7:i32
; (i32.and(get_local $3)(i32.const 7))
%4 = and %1, 7:i32
; (i32.ne(unreachable)(unreachable))
%5 = ne %4, 0:i32
%6:i32 = var
; (i32.le_u(get_local $4)(get_local $1))
%7 = ule %0, %6
%8:i32 = zext %7
%9:i32 = var
; (i32.le_u(get_local $5)(get_local $4))
%10 = ule %9, %0
%11:i32 = zext %10
; (i32.and(get_local $1220)(get_local $1223))
%12 = and %8, %11
; (i32.ne(unreachable)(unreachable))
%13 = ne %12, 0:i32
%14:i32 = var
; (i32.and(get_local $1215)(i32.const 8))
%15 = and %14, 8:i32
; (i32.eq(unreachable)(unreachable))
%16 = eq %15, 0:i32
%17:i32 = var
; (i32.ne(unreachable)(unreachable))
%18 = ne %17, 0:i32
pc %5 1:i1
pc %13 1:i1
pc %16 1:i1
pc %18 1:i1
infer %3
; RHS inferred successfully
%19:i32 = mul 7:i32, %0
%20:i32 = and 7:i32, %19
result %20
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $4)(i32.const 8))
%1 = add %0, 8:i32
; (i32.and(get_local $3)(i32.const 7))
%2 = and %1, 7:i32
%3:i32 = var
; (i32.le_u(get_local $4)(get_local $1))
%4 = ule %0, %3
%5:i32 = zext %4
%6:i32 = var
; (i32.le_u(get_local $5)(get_local $4))
%7 = ule %6, %0
%8:i32 = zext %7
; (i32.and(get_local $1220)(get_local $1223))
%9 = and %5, %8
; (i32.ne(unreachable)(unreachable))
%10 = ne %9, 0:i32
%11:i32 = var
; (i32.and(get_local $1215)(i32.const 8))
%12 = and %11, 8:i32
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
%14:i32 = var
; (i32.ne(unreachable)(unreachable))
%15 = ne %14, 0:i32
pc %10 1:i1
pc %13 1:i1
pc %15 1:i1
infer %2
; RHS inferred successfully
%16:i32 = and 7:i32, %0
result %16
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.and(get_local $1215)(i32.const 8))
%1 = and %0, 8:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i32 = ashr %0, 3:i32
%6:i1 = trunc %5
result %6
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $1)(i32.const 8))
%1 = add %0, 8:i32
; (i32.sub(i32.const 0)(get_local $2))
%2 = sub 0:i32, %1
%3:i32 = var
; (i32.and(get_local $1272)(i32.const 8))
%4 = and %3, 8:i32
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %5 1:i1
pc %7 1:i1
infer %2
; RHS inferred successfully
%8:i32 = sub 4294967288:i32, %0
result %8
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $1)(i32.const 8))
%1 = add %0, 8:i32
; (i32.sub(i32.const 0)(get_local $2))
%2 = sub 0:i32, %1
; (i32.and(get_local $1286)(i32.const 7))
%3 = and %2, 7:i32
; (i32.and(get_local $2)(i32.const 7))
%4 = and %1, 7:i32
; (i32.ne(unreachable)(unreachable))
%5 = ne %4, 0:i32
%6:i32 = var
; (i32.and(get_local $1272)(i32.const 8))
%7 = and %6, 8:i32
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
%9:i32 = var
; (i32.ne(unreachable)(unreachable))
%10 = ne %9, 0:i32
pc %5 1:i1
pc %8 1:i1
pc %10 1:i1
infer %3
; RHS inferred successfully
%11:i32 = mul 7:i32, %0
%12:i32 = and 7:i32, %11
result %12
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $5)(i32.const 8))
%1 = add %0, 8:i32
; (i32.sub(i32.const 0)(get_local $7))
%2 = sub 0:i32, %1
%3:i32 = var
; (i32.and(get_local $1272)(i32.const 8))
%4 = and %3, 8:i32
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %5 1:i1
pc %7 1:i1
infer %2
; RHS inferred successfully
%8:i32 = sub 4294967288:i32, %0
result %8
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $5)(i32.const 8))
%1 = add %0, 8:i32
; (i32.sub(i32.const 0)(get_local $7))
%2 = sub 0:i32, %1
; (i32.and(get_local $1291)(i32.const 7))
%3 = and %2, 7:i32
; (i32.and(get_local $7)(i32.const 7))
%4 = and %1, 7:i32
; (i32.ne(unreachable)(unreachable))
%5 = ne %4, 0:i32
%6:i32 = var
; (i32.and(get_local $1272)(i32.const 8))
%7 = and %6, 8:i32
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
%9:i32 = var
; (i32.ne(unreachable)(unreachable))
%10 = ne %9, 0:i32
pc %5 1:i1
pc %8 1:i1
pc %10 1:i1
infer %3
; RHS inferred successfully
%11:i32 = mul 7:i32, %0
%12:i32 = and 7:i32, %11
result %12
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $1)(i32.const 8))
%1 = add %0, 8:i32
; (i32.and(get_local $2)(i32.const 7))
%2 = and %1, 7:i32
%3:i32 = var
; (i32.and(get_local $1272)(i32.const 8))
%4 = and %3, 8:i32
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %5 1:i1
pc %7 1:i1
infer %2
; RHS inferred successfully
%8:i32 = and 7:i32, %0
result %8
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
; (i32.add(get_local $5)(i32.const 8))
%1 = add %0, 8:i32
; (i32.and(get_local $7)(i32.const 7))
%2 = and %1, 7:i32
%3:i32 = var
; (i32.and(get_local $1272)(i32.const 8))
%4 = and %3, 8:i32
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %5 1:i1
pc %7 1:i1
infer %2
; RHS inferred successfully
%8:i32 = and 7:i32, %0
result %8
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
%1:i32 = var
; (i32.add(get_local $5)(get_local $1659))
%2 = add %0, %1
; (i32.add(get_local $8)(i32.const -47))
%3 = add %2, -47:i32
; (i32.add(get_local $3)(i32.const 8))
%4 = add %3, 8:i32
%5:i32 = var
; (i32.ne(unreachable)(unreachable))
%6 = ne %5, 0:i32
pc %6 1:i1
infer %4
; RHS inferred successfully
%7:i32 = sub %2, 39:i32
result %7
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
%1:i32 = var
; (i32.add(get_local $5)(get_local $1659))
%2 = add %0, %1
; (i32.add(get_local $8)(i32.const -47))
%3 = add %2, -47:i32
; (i32.add(get_local $3)(i32.const 8))
%4 = add %3, 8:i32
; (i32.sub(i32.const 0)(get_local $5))
%5 = sub 0:i32, %4
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %7 1:i1
infer %5
; RHS inferred successfully
%8:i32 = sub 39:i32, %2
result %8
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
%1:i32 = var
; (i32.add(get_local $5)(get_local $1659))
%2 = add %0, %1
; (i32.add(get_local $8)(i32.const -47))
%3 = add %2, -47:i32
; (i32.add(get_local $3)(i32.const 8))
%4 = add %3, 8:i32
; (i32.sub(i32.const 0)(get_local $5))
%5 = sub 0:i32, %4
; (i32.and(get_local $1671)(i32.const 7))
%6 = and %5, 7:i32
; (i32.and(get_local $5)(i32.const 7))
%7 = and %4, 7:i32
; (i32.ne(unreachable)(unreachable))
%8 = ne %7, 0:i32
%9:i32 = var
; (i32.ne(unreachable)(unreachable))
%10 = ne %9, 0:i32
pc %8 1:i1
pc %10 1:i1
infer %6
; RHS inferred successfully
%11:i32 = and 7:i32, %2
%12:i32 = xor 7:i32, %11
result %12
-----------------------------------------------------------
; start LHS (in $_malloc)
%0:i32 = var
%1:i32 = var
; (i32.add(get_local $5)(get_local $1659))
%2 = add %0, %1
; (i32.add(get_local $8)(i32.const -47))
%3 = add %2, -47:i32
; (i32.add(get_local $3)(i32.const 8))
%4 = add %3, 8:i32
; (i32.and(get_local $5)(i32.const 7))
%5 = and %4, 7:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %7 1:i1
infer %5
; RHS inferred successfully
%8:i32 = sub %1, 7:i32
%9:i32 = add %0, %8
%10:i32 = and 7:i32, %9
result %10
-----------------------------------------------------------
; start LHS (in $_lua_tothread)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_replace)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_concat)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $7))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.and(get_local $0)(i32.const 3))
%1 = and %0, 3:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i32 = lshr %0, 1:i32
%6:i32 = or %0, %5
%7:i1 = trunc %6
result %7
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -8))
%1 = add %0, -8:i32
%2:i32 = var
; (i32.sub(get_local $4)(get_local $3))
%3 = sub %1, %2
%4:i32 = var
; (i32.and(get_local $0)(i32.const -8))
%5 = and %4, -8:i32
; (i32.add(get_local $3)(get_local $1))
%6 = add %2, %5
; (i32.add(get_local $0)(get_local $1))
%7 = add %3, %6
%8:i32 = var
; (i32.eq(get_local $40)(get_local $0))
%9 = eq %8, %3
; (i32.and(get_local $0)(i32.const 1))
%10 = and %4, 1:i32
; (i32.eq(unreachable)(unreachable))
%11 = eq %10, 0:i32
pc %9 1:i1
pc %11 1:i1
infer %7
; RHS inferred successfully
%12:i32 = sub %4, 7:i32
%13:i32 = xor 7:i32, %12
%14:i32 = and %12, %13
%15:i32 = add %0, %14
result %15
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -8))
%1 = add %0, -8:i32
%2:i32 = var
; (i32.sub(get_local $4)(get_local $3))
%3 = sub %1, %2
; (i32.add(get_local $0)(i32.const 16))
%4 = add %3, 16:i32
%5:i32 = var
; (i32.ne(unreachable)(unreachable))
%6 = ne %5, 0:i32
%7:i32 = var
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
%9:i32 = var
; (i32.eq(get_local $4)(get_local $0))
%10 = eq %9, %3
%11:i32 = var
; (i32.and(get_local $0)(i32.const 1))
%12 = and %11, 1:i32
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
pc %6 1:i1
pc %8 1:i1
pc %10 1:i1
pc %13 1:i1
infer %4
; RHS inferred successfully
%14:i32 = add 8:i32, %0
%15:i32 = sub %14, %2
result %15
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -8))
%1 = add %0, -8:i32
%2:i32 = var
; (i32.sub(get_local $4)(get_local $3))
%3 = sub %1, %2
; (i32.add(get_local $0)(i32.const 16))
%4 = add %3, 16:i32
; (i32.add(get_local $3)(i32.const 4))
%5 = add %4, 4:i32
%6:i32 = var
; (i32.eq(get_local $4)(get_local $0))
%7 = eq %6, %3
%8:i32 = var
; (i32.and(get_local $0)(i32.const 1))
%9 = and %8, 1:i32
; (i32.eq(unreachable)(unreachable))
%10 = eq %9, 0:i32
pc %7 1:i1
pc %10 1:i1
infer %5
; RHS inferred successfully
%11:i32 = add 12:i32, %0
%12:i32 = sub %11, %2
result %12
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -8))
%1 = add %0, -8:i32
%2:i32 = var
; (i32.sub(get_local $4)(get_local $3))
%3 = sub %1, %2
; (i32.add(get_local $0)(i32.const 16))
%4 = add %3, 16:i32
%5:i32 = var
; (i32.ne(unreachable)(unreachable))
%6 = ne %5, 0:i32
%7:i32 = var
; (i32.and(get_local $0)(i32.const 1))
%8 = and %7, 1:i32
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
pc %6 1:i1
pc %9 1:i1
infer %4
; RHS inferred successfully
%10:i32 = add 8:i32, %0
%11:i32 = sub %10, %2
result %11
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.and(get_local $0)(i32.const 1))
%1 = and %0, 1:i32
; (i32.ne(unreachable)(unreachable))
%2 = ne %1, 0:i32
infer %2
; RHS inferred successfully
%3:i1 = trunc %0
result %3
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.and(get_local $3)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
%5:i1 = trunc %0
result %5
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.and(get_local $3)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -8))
%1 = add %0, -8:i32
%2:i32 = var
; (i32.and(get_local $0)(i32.const -8))
%3 = and %2, -8:i32
; (i32.add(get_local $4)(get_local $1))
%4 = add %1, %3
; (i32.add(get_local $6)(i32.const 16))
%5 = add %4, 16:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
%8:i32 = var
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
%10:i32 = var
; (i32.eq(get_local $1)(get_local $6))
%11 = eq %10, %4
%12:i32 = var
; (i32.lt_u(get_local $3)(i32.const 256))
%13 = ult %12, 256:i32
%14:i32 = zext %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
; (i32.and(get_local $3)(i32.const 2))
%16 = and %12, 2:i32
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
pc %7 1:i1
pc %9 1:i1
pc %11 1:i1
pc %15 1:i1
pc %17 1:i1
infer %5
; RHS inferred successfully
%18:i32 = sub %3, 4294967288:i32
%19:i32 = add %0, %18
result %19
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -8))
%1 = add %0, -8:i32
%2:i32 = var
; (i32.and(get_local $0)(i32.const -8))
%3 = and %2, -8:i32
; (i32.add(get_local $4)(get_local $1))
%4 = add %1, %3
; (i32.add(get_local $6)(i32.const 16))
%5 = add %4, 16:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
%8:i32 = var
; (i32.lt_u(get_local $3)(i32.const 256))
%9 = ult %8, 256:i32
%10:i32 = zext %9
; (i32.eq(unreachable)(unreachable))
%11 = eq %10, 0:i32
; (i32.and(get_local $3)(i32.const 2))
%12 = and %8, 2:i32
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
pc %7 1:i1
pc %11 1:i1
pc %13 1:i1
infer %5
; RHS inferred successfully
%14:i32 = sub %3, 4294967288:i32
%15:i32 = add %0, %14
result %15
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.and(get_local $3)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_free)
%0:i32 = var
; (i32.and(get_local $3)(i32.const 1))
%1 = and %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
%4:i32 = sub %0, 1:i32
%5:i32 = and 1:i32, %4
result %5
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $102)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = var
; (i32.ne(unreachable)(unreachable))
%6 = ne %5, 0:i32
%7:i32 = var
; (i32.ne(get_local $3)(i32.const 31))
%8 = ne %7, 31:i32
pc %6 1:i1
pc %8 1:i1
infer %4
; RHS inferred successfully
%9:i32 = ashr %0, 6:i32
%10:i1 = trunc %9
result %10
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $102)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
infer %6
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $102)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, 4:i32
%7:i32 = and 4:i32, %6
%8:i32 = mul %7, %7
%9:i32 = lshr %8, %7
result %9
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $102)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = var
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
%7:i32 = var
; (i32.ne(get_local $3)(i32.const 31))
%8 = ne %7, 31:i32
pc %6 1:i1
pc %8 1:i1
infer %4
; RHS inferred successfully
%9:i32 = lshr %0, 6:i32
%10:i1 = trunc %9
result %10
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $102)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
infer %6
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $102)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, 4:i32
%7:i32 = and 4:i32, %6
%8:i32 = mul %7, %7
%9:i32 = lshr %8, %7
result %9
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $102)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, 4:i32
%7:i32 = and 4:i32, %6
%8:i32 = mul %7, %7
%9:i32 = lshr %8, %7
result %9
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $102)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, 4:i32
%7:i32 = and 4:i32, %6
%8:i32 = mul %7, %7
%9:i32 = lshr %8, %7
result %9
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $224)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
infer %6
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $224)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, 4:i32
%7:i32 = and 4:i32, %6
%8:i32 = mul %7, %7
%9:i32 = lshr %8, %7
result %9
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $224)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
infer %6
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $224)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, 4:i32
%7:i32 = and 4:i32, %6
%8:i32 = mul %7, %7
%9:i32 = lshr %8, %7
result %9
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $224)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, 4:i32
%7:i32 = and 4:i32, %6
%8:i32 = mul %7, %7
%9:i32 = lshr %8, %7
result %9
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.and(get_local $224)(i32.const 64))
%1 = and %0, 64:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
%6:i32 = ashr %0, 4:i32
%7:i32 = and 4:i32, %6
%8:i32 = mul %7, %7
%9:i32 = lshr %8, %7
result %9
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_propagatemark)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $2))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_match_class)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -48))
%1 = add %0, -48:i32
; (i32.lt_u(get_local $39)(i32.const 10))
%2 = ult %1, 10:i32
%3:i32 = zext %2
; (i32.ne(get_local $40)(i32.const 0))
%4 = ne %3, 0:i32
; (i32.or(get_local $0)(i32.const 32))
%5 = or %0, 32:i32
; (i32.add(get_local $35)(i32.const -97))
%6 = add %5, -97:i32
; (i32.lt_u(get_local $36)(i32.const 26))
%7 = ult %6, 26:i32
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
; (i32.add(get_local $0)(i32.const -33))
%10 = add %0, -33:i32
; (i32.lt_u(get_local $32)(i32.const 94))
%11 = ult %10, 94:i32
pc %9 1:i1
pc %11 1:i1
infer %4
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_match_class)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -48))
%1 = add %0, -48:i32
; (i32.lt_u(get_local $39)(i32.const 10))
%2 = ult %1, 10:i32
%3:i32 = zext %2
; (i32.ne(get_local $40)(i32.const 0))
%4 = ne %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_match_class)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -48))
%1 = add %0, -48:i32
; (i32.lt_u(get_local $61)(i32.const 10))
%2 = ult %1, 10:i32
%3:i32 = zext %2
; (i32.ne(get_local $62)(i32.const 0))
%4 = ne %3, 0:i32
; (i32.or(get_local $0)(i32.const 32))
%5 = or %0, 32:i32
; (i32.add(get_local $57)(i32.const -97))
%6 = add %5, -97:i32
; (i32.lt_u(get_local $58)(i32.const 26))
%7 = ult %6, 26:i32
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
pc %9 1:i1
infer %4
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_match_class)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -48))
%1 = add %0, -48:i32
; (i32.lt_u(get_local $61)(i32.const 10))
%2 = ult %1, 10:i32
%3:i32 = zext %2
; (i32.ne(get_local $62)(i32.const 0))
%4 = ne %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_match_class)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -48))
%1 = add %0, -48:i32
; (i32.lt_u(get_local $71)(i32.const 10))
%2 = ult %1, 10:i32
%3:i32 = zext %2
; (i32.ne(get_local $72)(i32.const 0))
%4 = ne %3, 0:i32
infer %4
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_match_class)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -48))
%1 = add %0, -48:i32
; (i32.lt_u(get_local $71)(i32.const 10))
%2 = ult %1, 10:i32
%3:i32 = zext %2
; (i32.ne(get_local $72)(i32.const 0))
%4 = ne %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_match_class)
%0:i32 = var
; (i32.add(get_local $0)(i32.const -48))
%1 = add %0, -48:i32
; (i32.lt_u(get_local $71)(i32.const 10))
%2 = ult %1, 10:i32
%3:i32 = zext %2
; (i32.ne(get_local $72)(i32.const 0))
%4 = ne %3, 0:i32
%5:i32 = zext %4
infer %5
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_lua_touserdata)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaX_newstring)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $42))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_sbrk)
%0:i32 = var
%1:i32 = var
; (i32.add(get_local $1)(get_local $0))
%2 = add %0, %1
; (i32.lt_s(get_local $0)(i32.const 0))
%3 = slt %2, 0:i32
%4:i32 = zext %3
infer %4
; RHS inferred successfully
%5:i32 = lshr %2, 31:i32
result %5
-----------------------------------------------------------
; start LHS (in $_sbrk)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $0))
%1 = sle 0:i32, %0
%2:i32 = zext %1
%3:i32 = var
; (i32.add(get_local $1)(get_local $0))
%4 = add %3, %0
; (i32.lt_s(get_local $0)(get_local $1))
%5 = slt %4, %3
%6:i32 = zext %5
; (i32.and(get_local $3)(get_local $11))
%7 = and %2, %6
; (i32.lt_s(get_local $0)(i32.const 0))
%8 = slt %4, 0:i32
%9:i32 = zext %8
; (i32.or(get_local $12)(get_local $14))
%10 = or %7, %9
infer %10
; RHS inferred successfully
result %9
-----------------------------------------------------------
; start LHS (in $_sbrk)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $0))
%1 = sle 0:i32, %0
%2:i32 = zext %1
%3:i32 = var
; (i32.add(get_local $1)(get_local $0))
%4 = add %3, %0
; (i32.lt_s(get_local $0)(get_local $1))
%5 = slt %4, %3
%6:i32 = zext %5
; (i32.and(get_local $3)(get_local $11))
%7 = and %2, %6
; (i32.lt_s(get_local $0)(i32.const 0))
%8 = slt %4, 0:i32
%9:i32 = zext %8
; (i32.or(get_local $12)(get_local $14))
%10 = or %7, %9
; (i32.ne(unreachable)(unreachable))
%11 = ne %10, 0:i32
infer %11
; RHS inferred successfully
result %8
-----------------------------------------------------------
; start LHS (in $_sbrk)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $0))
%1 = sle 0:i32, %0
%2:i32 = zext %1
%3:i32 = var
; (i32.add(get_local $1)(get_local $0))
%4 = add %3, %0
; (i32.lt_s(get_local $0)(get_local $1))
%5 = slt %4, %3
%6:i32 = zext %5
; (i32.and(get_local $3)(get_local $11))
%7 = and %2, %6
; (i32.lt_s(get_local $0)(i32.const 0))
%8 = slt %4, 0:i32
%9:i32 = zext %8
; (i32.or(get_local $12)(get_local $14))
%10 = or %7, %9
; (i32.eq(unreachable)(unreachable))
%11 = eq %10, 0:i32
infer %11
; RHS inferred successfully
%12:i32 = ashr %4, 31:i32
%13:i32 = sub %12, 31:i32
%14:i1 = trunc %13
result %14
-----------------------------------------------------------
; start LHS (in $_lua_setmetatable)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_isstring)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_lua_getmetatable)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $1))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
infer %3
; RHS inferred successfully
%4:i32 = ashr %0, 31:i32
%5:i1 = trunc %4
result %5
-----------------------------------------------------------
; start LHS (in $_luaL_addvalue)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $1)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $1)(get_local $3))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $55)(get_local $4))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $3)(get_local $4))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $2)(get_local $3))
%11 = sub %10, %3
; (i32.lt_u(get_local $67)(get_local $4))
%12 = ult %11, %5
; (i32.sub(get_local $1)(get_local $3))
%13 = sub %1, %3
; (i32.lt_u(get_local $43)(get_local $4))
%14 = ult %13, %5
pc %14 1:i1
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_luaL_addvalue)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $1)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $1)(get_local $3))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $55)(get_local $4))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $3)(get_local $4))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $2)(get_local $3))
%11 = sub %10, %3
; (i32.lt_u(get_local $67)(get_local $4))
%12 = ult %11, %5
%13:i32 = zext %12
infer %13
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_addvalue)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $1)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $1)(get_local $3))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $55)(get_local $4))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $3)(get_local $4))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $61)(get_local $3))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $2)(get_local $3))
%14 = sub %13, %3
; (i32.lt_u(get_local $67)(get_local $4))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $64)(get_local $69))
%17 = or %12, %16
; (i32.sub(get_local $1)(get_local $3))
%18 = sub %1, %3
; (i32.lt_u(get_local $43)(get_local $4))
%19 = ult %18, %5
pc %19 1:i1
infer %17
; RHS inferred successfully
result %12
-----------------------------------------------------------
; start LHS (in $_luaL_addvalue)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $1)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $1)(get_local $3))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $55)(get_local $4))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $3)(get_local $4))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $61)(get_local $3))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $2)(get_local $3))
%14 = sub %13, %3
; (i32.lt_u(get_local $67)(get_local $4))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $64)(get_local $69))
%17 = or %12, %16
; (i32.ne(unreachable)(unreachable))
%18 = ne %17, 0:i32
infer %18
; RHS inferred successfully
result %11
-----------------------------------------------------------
; start LHS (in $_luaL_addvalue)
%0 = block 2
%1:i32 = var
%2:i32 = var
; (i32.sub(get_local $1)(get_local $3))
%3 = sub %1, %2
%4:i32 = var
; (i32.lt_u(get_local $43)(get_local $4))
%5 = ult %3, %4
blockpc %0 0 %5 1:i1
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
blockpc %0 1 %7 1:i1
%8 = block 2
; (i32.shl(get_local $1)(i32.const 1))
%9 = shl %1, 1:i32
; (i32.sub(get_local $1)(get_local $3))
%10 = sub %9, %2
; (i32.lt_u(get_local $55)(get_local $4))
%11 = ult %10, %4
blockpc %8 0 %11 1:i1
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
blockpc %8 1 %13 1:i1
; (i32.add(get_local $3)(get_local $4))
%14 = add %2, %4
%15 = phi %8, %14, %9
; (i32.sub(get_local $2)(get_local $3))
%16 = sub %15, %2
; (i32.lt_u(get_local $67)(get_local $4))
%17 = ult %16, %4
%18:i32 = zext %17
%19 = phi %0, %18, 0:i32
infer %19
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_addvalue)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $1)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $1)(get_local $3))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $55)(get_local $4))
%6 = ult %4, %5
blockpc %0 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %0 1 %8 1:i1
; (i32.add(get_local $3)(get_local $4))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $2)(get_local $3))
%11 = sub %10, %3
; (i32.lt_u(get_local $67)(get_local $4))
%12 = ult %11, %5
%13:i32 = zext %12
infer %13
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_exp2reg)
%0:i32 = var
%1:i32 = var
; (i32.xor(get_local $4)(i32.const -1))
%2 = xor %1, -1:i32
; (i32.add(get_local $7)(get_local $66))
%3 = add %0, %2
; (i32.sub(i32.const 0)(get_local $4))
%4 = sub 0:i32, %3
; (i32.le_s(i32.const -1)(get_local $4))
%5 = sle -1:i32, %3
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
pc %7 1:i1
infer %4
; RHS inferred successfully
%8:i32 = add 1:i32, %1
%9:i32 = sub %8, %0
result %9
-----------------------------------------------------------
; start LHS (in $_exp2reg)
%0:i32 = var
%1:i32 = var
; (i32.xor(get_local $5)(i32.const -1))
%2 = xor %1, -1:i32
; (i32.add(get_local $7)(get_local $216))
%3 = add %0, %2
; (i32.sub(i32.const 0)(get_local $5))
%4 = sub 0:i32, %3
; (i32.le_s(i32.const -1)(get_local $5))
%5 = sle -1:i32, %3
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
%8:i32 = var
; (i32.eq(get_local $4)(i32.const -1))
%9 = eq %8, -1:i32
%10:i32 = zext %9
; (i32.eq(unreachable)(unreachable))
%11 = eq %10, 0:i32
; (i32.eq(get_local $7)(i32.const -1))
%12 = eq %0, -1:i32
%13:i32 = zext %12
; (i32.eq(unreachable)(unreachable))
%14 = eq %13, 0:i32
%15 = block 2
%16:i32 = var
%17:i32 = var
%18 = phi %15, %16, %17
; (i32.eq(unreachable)(unreachable))
%19 = eq %18, 0:i32
pc %7 1:i1
pc %11 1:i1
pc %14 1:i1
pc %19 1:i1
infer %4
; RHS inferred successfully
%20:i32 = add 1:i32, %1
%21:i32 = sub %20, %0
result %21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment