Skip to content

Instantly share code, notes, and snippets.

@regehr
Created May 1, 2018 05:44
Show Gist options
  • Save regehr/649c148d8c154b2550062d865b30a244 to your computer and use it in GitHub Desktop.
Save regehr/649c148d8c154b2550062d865b30a244 to your computer and use it in GitHub Desktop.
-----------------------------------------------------------
; 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 $_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 $_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.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 = 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 $_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 $_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
%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 = 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 $_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
; (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
; (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
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
infer %6
; 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
; (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 $_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 $_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 $_luaS_eqstr)
%0 = block 2
%1:i32 = var
; (i32.eq(get_local $2)(i32.const 4))
%2 = eq %1, 4: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
%5:i32 = var
%6:i32 = var
; (i32.eq(get_local $0)(get_local $1))
%7 = eq %5, %6
%8:i32 = zext %7
%9 = block 2
; (i32.eq(get_local $0)(get_local $1))
%10 = eq %5, %6
blockpc %9 0 %10 1:i1
%11:i32 = zext %10
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
blockpc %9 1 %12 1:i1
%13 = block 2
%14:i32 = var
%15:i32 = var
; (i32.eq(get_local $2)(get_local $21))
%16 = eq %14, %15
blockpc %13 0 %16 1:i1
%17:i32 = zext %16
; (i32.eq(unreachable)(unreachable))
%18 = eq %17, 0:i32
blockpc %13 1 %18 1:i1
%19:i32 = var
; (i32.eq(unreachable)(unreachable))
%20 = eq %19, 0:i32
%21:i32 = zext %20
%22 = phi %13, %21, 0:i32
%23 = phi %9, 1:i32, %22
%24 = phi %0, %8, %23
; (i32.and(get_local $36)(i32.const 1))
%25 = and %24, 1:i32
infer %25
; RHS inferred successfully
result %24
-----------------------------------------------------------
; start LHS (in $_fopen)
%0 = block 2
%1:i32 = var
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0: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
%5 = phi %0, %1, 0:i32
infer %5
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_fopen)
%0 = block 2
%1 = block 2
%2:i32 = var
; (i32.le_u(i32.const -4096)(get_local $3))
%3 = ule -4096:i32, %2
blockpc %1 0 %3 1:i1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
blockpc %1 1 %5 1:i1
%6 = phi %1, -1:i32, %2
; (i32.lt_s(get_local $35)(i32.const 0))
%7 = slt %6, 0:i32
blockpc %0 0 %7 1:i1
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
blockpc %0 1 %9 1:i1
%10 = block 2
%11:i32 = var
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
blockpc %10 0 %12 1:i1
%13:i32 = zext %12
; (i32.eq(unreachable)(unreachable))
%14 = eq %13, 0:i32
blockpc %10 1 %14 1:i1
%15 = phi %10, %11, 0:i32
%16 = phi %0, 0:i32, %15
infer %16
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_fopen)
%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
%4 = block 2
%5 = block 2
%6:i32 = var
; (i32.le_u(i32.const -4096)(get_local $3))
%7 = ule -4096:i32, %6
blockpc %5 0 %7 1:i1
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
blockpc %5 1 %9 1:i1
%10 = phi %5, -1:i32, %6
; (i32.lt_s(get_local $35)(i32.const 0))
%11 = slt %10, 0:i32
blockpc %4 0 %11 1:i1
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
blockpc %4 1 %13 1:i1
%14 = block 2
%15:i32 = var
; (i32.eq(unreachable)(unreachable))
%16 = eq %15, 0:i32
blockpc %14 0 %16 1:i1
%17:i32 = zext %16
; (i32.eq(unreachable)(unreachable))
%18 = eq %17, 0:i32
blockpc %14 1 %18 1:i1
%19 = phi %14, %15, 0:i32
%20 = phi %4, 0:i32, %19
%21 = phi %0, %20, 0:i32
infer %21
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_fclose)
%0:i32 = var
; (i32.and(get_local $9)(i32.const 1))
%1 = and %0, 1:i32
; (i32.ne(get_local $10)(i32.const 0))
%2 = ne %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_fclose)
%0:i32 = var
; (i32.and(get_local $9)(i32.const 1))
%1 = and %0, 1:i32
; (i32.ne(get_local $10)(i32.const 0))
%2 = ne %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 $_fclose)
%0:i32 = var
; (i32.and(get_local $9)(i32.const 1))
%1 = and %0, 1:i32
; (i32.ne(get_local $10)(i32.const 0))
%2 = ne %1, 0:i32
%3:i32 = zext %2
infer %3
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_fclose)
%0:i32 = var
; (i32.and(get_local $9)(i32.const 1))
%1 = and %0, 1:i32
; (i32.ne(get_local $10)(i32.const 0))
%2 = ne %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 $_luaV_tonumber)
%0 = block 2
%1:i32 = var
; (i32.ne(get_local $3)(i32.const 3))
%2 = ne %1, 3: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.and(get_local $3)(i32.const 15))
%5 = and %1, 15:i32
; (i32.eq(get_local $12)(i32.const 4))
%6 = eq %5, 4:i32
%7:i32 = zext %6
%8 = phi %0, 0:i32, %7
infer %8
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaV_tonumber)
%0 = block 2
%1:i32 = var
; (i32.ne(get_local $3)(i32.const 3))
%2 = ne %1, 3: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
%5 = block 2
; (i32.and(get_local $3)(i32.const 15))
%6 = and %1, 15:i32
; (i32.eq(get_local $12)(i32.const 4))
%7 = eq %6, 4:i32
blockpc %5 0 %7 1:i1
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
blockpc %5 1 %9 1:i1
%10:i32 = var
; (i32.add(get_local $0)(i32.const 16))
%11 = add %10, 16:i32
%12 = phi %5, %11, 0:i32
%13 = phi %0, 0:i32, %12
infer %13
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaV_tonumber)
%0 = block 2
%1:i32 = var
; (i32.ne(get_local $3)(i32.const 3))
%2 = ne %1, 3: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
%5 = block 2
; (i32.and(get_local $3)(i32.const 15))
%6 = and %1, 15:i32
; (i32.eq(get_local $12)(i32.const 4))
%7 = eq %6, 4:i32
blockpc %5 0 %7 1:i1
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
blockpc %5 1 %9 1:i1
%10:i32 = var
%11 = phi %5, %10, 0:i32
%12 = phi %0, 0:i32, %11
infer %12
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaV_tonumber)
%0 = block 2
%1:i32 = var
; (i32.ne(get_local $3)(i32.const 3))
%2 = ne %1, 3: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
%5 = block 2
; (i32.and(get_local $3)(i32.const 15))
%6 = and %1, 15:i32
; (i32.eq(get_local $12)(i32.const 4))
%7 = eq %6, 4:i32
blockpc %5 0 %7 1:i1
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
blockpc %5 1 %9 1:i1
%10:i32 = var
%11 = phi %5, %10, 0:i32
%12 = phi %0, 0:i32, %11
infer %12
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaV_tonumber)
%0 = block 2
%1:i32 = var
; (i32.ne(get_local $3)(i32.const 3))
%2 = ne %1, 3: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
%5 = block 2
; (i32.and(get_local $3)(i32.const 15))
%6 = and %1, 15:i32
; (i32.eq(get_local $12)(i32.const 4))
%7 = eq %6, 4:i32
blockpc %5 0 %7 1:i1
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
blockpc %5 1 %9 1:i1
%10 = block 2
%11:i32 = var
; (i32.ne(unreachable)(unreachable))
%12 = ne %11, 0:i32
blockpc %10 0 %12 1:i1
; (i32.eq(unreachable)(unreachable))
%13 = eq %11, 0:i32
blockpc %10 1 %13 1:i1
%14:i32 = var
%15 = phi %10, %14, 0:i32
%16 = phi %5, %15, 0:i32
%17 = phi %0, 0:i32, %16
infer %17
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaV_tonumber)
%0 = block 2
%1:i32 = var
; (i32.ne(get_local $3)(i32.const 3))
%2 = ne %1, 3: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
%5 = block 2
; (i32.and(get_local $3)(i32.const 15))
%6 = and %1, 15:i32
; (i32.eq(get_local $12)(i32.const 4))
%7 = eq %6, 4:i32
blockpc %5 0 %7 1:i1
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
blockpc %5 1 %9 1:i1
%10 = block 2
%11:i32 = var
; (i32.ne(unreachable)(unreachable))
%12 = ne %11, 0:i32
blockpc %10 0 %12 1:i1
; (i32.eq(unreachable)(unreachable))
%13 = eq %11, 0:i32
blockpc %10 1 %13 1:i1
%14:i32 = var
%15 = phi %10, %14, 0:i32
%16 = phi %5, %15, 0:i32
%17 = phi %0, 0:i32, %16
infer %17
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%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 $1))
%4 = sub %2, %3
%5:i32 = var
%6:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%7 = sub %5, %6
; (i32.lt_u(get_local $63)(get_local $11))
%8 = ult %4, %7
blockpc %0 0 %8 1:i1
%9:i32 = zext %8
; (i32.eq(unreachable)(unreachable))
%10 = eq %9, 0:i32
blockpc %0 1 %10 1:i1
; (i32.add(get_local $1)(get_local $11))
%11 = add %3, %7
%12 = phi %0, %11, %2
; (i32.sub(get_local $6)(get_local $1))
%13 = sub %12, %3
; (i32.lt_u(get_local $75)(get_local $11))
%14 = ult %13, %7
; (i32.sub(get_local $6)(get_local $1))
%15 = sub %1, %3
; (i32.lt_u(get_local $50)(get_local $11))
%16 = ult %15, %7
%17:i32 = var
; (i32.ne(unreachable)(unreachable))
%18 = ne %17, 0:i32
pc %16 1:i1
pc %18 1:i1
infer %14
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%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 $1))
%4 = sub %2, %3
%5:i32 = var
%6:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%7 = sub %5, %6
; (i32.lt_u(get_local $63)(get_local $11))
%8 = ult %4, %7
blockpc %0 0 %8 1:i1
%9:i32 = zext %8
; (i32.eq(unreachable)(unreachable))
%10 = eq %9, 0:i32
blockpc %0 1 %10 1:i1
; (i32.add(get_local $1)(get_local $11))
%11 = add %3, %7
%12 = phi %0, %11, %2
; (i32.sub(get_local $6)(get_local $1))
%13 = sub %12, %3
; (i32.lt_u(get_local $75)(get_local $11))
%14 = ult %13, %7
%15:i32 = zext %14
infer %15
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%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 $1))
%4 = sub %2, %3
%5:i32 = var
%6:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%7 = sub %5, %6
; (i32.lt_u(get_local $63)(get_local $11))
%8 = ult %4, %7
blockpc %0 0 %8 1:i1
%9:i32 = zext %8
; (i32.eq(unreachable)(unreachable))
%10 = eq %9, 0:i32
blockpc %0 1 %10 1:i1
; (i32.add(get_local $1)(get_local $11))
%11 = add %3, %7
%12 = phi %0, %11, %2
; (i32.lt_u(get_local $69)(get_local $1))
%13 = ult %12, %3
%14:i32 = zext %13
%15 = phi %0, %11, %2
; (i32.sub(get_local $6)(get_local $1))
%16 = sub %15, %3
; (i32.lt_u(get_local $75)(get_local $11))
%17 = ult %16, %7
%18:i32 = zext %17
; (i32.or(get_local $72)(get_local $77))
%19 = or %14, %18
; (i32.sub(get_local $6)(get_local $1))
%20 = sub %1, %3
; (i32.lt_u(get_local $50)(get_local $11))
%21 = ult %20, %7
%22:i32 = var
; (i32.ne(unreachable)(unreachable))
%23 = ne %22, 0:i32
pc %21 1:i1
pc %23 1:i1
infer %19
; RHS inferred successfully
result %14
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%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 $1))
%4 = sub %2, %3
%5:i32 = var
%6:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%7 = sub %5, %6
; (i32.lt_u(get_local $63)(get_local $11))
%8 = ult %4, %7
blockpc %0 0 %8 1:i1
%9:i32 = zext %8
; (i32.eq(unreachable)(unreachable))
%10 = eq %9, 0:i32
blockpc %0 1 %10 1:i1
; (i32.add(get_local $1)(get_local $11))
%11 = add %3, %7
%12 = phi %0, %11, %2
; (i32.lt_u(get_local $69)(get_local $1))
%13 = ult %12, %3
%14:i32 = zext %13
%15 = phi %0, %11, %2
; (i32.sub(get_local $6)(get_local $1))
%16 = sub %15, %3
; (i32.lt_u(get_local $75)(get_local $11))
%17 = ult %16, %7
%18:i32 = zext %17
; (i32.or(get_local $72)(get_local $77))
%19 = or %14, %18
; (i32.ne(unreachable)(unreachable))
%20 = ne %19, 0:i32
infer %20
; RHS inferred successfully
result %13
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%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 $1))
%4 = sub %2, %3
%5:i32 = var
%6:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%7 = sub %5, %6
; (i32.lt_u(get_local $63)(get_local $11))
%8 = ult %4, %7
blockpc %0 0 %8 1:i1
%9:i32 = zext %8
; (i32.eq(unreachable)(unreachable))
%10 = eq %9, 0:i32
blockpc %0 1 %10 1:i1
; (i32.add(get_local $1)(get_local $11))
%11 = add %3, %7
%12 = phi %0, %11, %2
; (i32.sub(get_local $6)(get_local $1))
%13 = sub %12, %3
; (i32.lt_u(get_local $75)(get_local $11))
%14 = ult %13, %7
%15:i32 = zext %14
infer %15
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $12)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
%4:i32 = var
%5:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%6 = sub %4, %5
; (i32.add(get_local $113)(get_local $11))
%7 = add %3, %6
; (i32.sub(get_local $12)(get_local $1))
%8 = sub %2, %7
%9:i32 = var
; (i32.lt_u(get_local $135)(get_local $7))
%10 = ult %8, %9
blockpc %0 0 %10 1:i1
%11:i32 = zext %10
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
blockpc %0 1 %12 1:i1
; (i32.add(get_local $7)(get_local $1))
%13 = add %9, %7
%14 = phi %0, %13, %2
; (i32.sub(get_local $4)(get_local $1))
%15 = sub %14, %7
; (i32.lt_u(get_local $147)(get_local $7))
%16 = ult %15, %9
; (i32.sub(get_local $12)(get_local $1))
%17 = sub %1, %7
; (i32.lt_u(get_local $125)(get_local $7))
%18 = ult %17, %9
%19:i32 = var
; (i32.ne(unreachable)(unreachable))
%20 = ne %19, 0:i32
pc %18 1:i1
pc %20 1:i1
infer %16
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $12)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
%4:i32 = var
%5:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%6 = sub %4, %5
; (i32.add(get_local $113)(get_local $11))
%7 = add %3, %6
; (i32.sub(get_local $12)(get_local $1))
%8 = sub %2, %7
%9:i32 = var
; (i32.lt_u(get_local $135)(get_local $7))
%10 = ult %8, %9
blockpc %0 0 %10 1:i1
%11:i32 = zext %10
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
blockpc %0 1 %12 1:i1
; (i32.add(get_local $7)(get_local $1))
%13 = add %9, %7
%14 = phi %0, %13, %2
; (i32.sub(get_local $4)(get_local $1))
%15 = sub %14, %7
; (i32.lt_u(get_local $147)(get_local $7))
%16 = ult %15, %9
%17:i32 = zext %16
infer %17
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $12)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
%4:i32 = var
%5:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%6 = sub %4, %5
; (i32.add(get_local $113)(get_local $11))
%7 = add %3, %6
; (i32.sub(get_local $12)(get_local $1))
%8 = sub %2, %7
%9:i32 = var
; (i32.lt_u(get_local $135)(get_local $7))
%10 = ult %8, %9
blockpc %0 0 %10 1:i1
%11:i32 = zext %10
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
blockpc %0 1 %12 1:i1
; (i32.add(get_local $7)(get_local $1))
%13 = add %9, %7
%14 = phi %0, %13, %2
; (i32.lt_u(get_local $141)(get_local $1))
%15 = ult %14, %7
%16:i32 = zext %15
%17 = phi %0, %13, %2
; (i32.sub(get_local $4)(get_local $1))
%18 = sub %17, %7
; (i32.lt_u(get_local $147)(get_local $7))
%19 = ult %18, %9
%20:i32 = zext %19
; (i32.or(get_local $144)(get_local $149))
%21 = or %16, %20
; (i32.sub(get_local $12)(get_local $1))
%22 = sub %1, %7
; (i32.lt_u(get_local $125)(get_local $7))
%23 = ult %22, %9
%24:i32 = var
; (i32.ne(unreachable)(unreachable))
%25 = ne %24, 0:i32
pc %23 1:i1
pc %25 1:i1
infer %21
; RHS inferred successfully
result %16
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $12)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
%4:i32 = var
%5:i32 = var
; (i32.sub(get_local $9)(get_local $7))
%6 = sub %4, %5
; (i32.add(get_local $113)(get_local $11))
%7 = add %3, %6
; (i32.sub(get_local $12)(get_local $1))
%8 = sub %2, %7
%9:i32 = var
; (i32.lt_u(get_local $135)(get_local $7))
%10 = ult %8, %9
blockpc %0 0 %10 1:i1
%11:i32 = zext %10
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
blockpc %0 1 %12 1:i1
; (i32.add(get_local $7)(get_local $1))
%13 = add %9, %7
%14 = phi %0, %13, %2
; (i32.sub(get_local $4)(get_local $1))
%15 = sub %14, %7
; (i32.lt_u(get_local $147)(get_local $7))
%16 = ult %15, %9
%17:i32 = zext %16
infer %17
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_gsub)
%0 = block 2
%1 = block 2
%2:i32 = var
; (i32.ne(unreachable)(unreachable))
%3 = ne %2, 0:i32
blockpc %1 0 %3 1:i1
; (i32.eq(unreachable)(unreachable))
%4 = eq %2, 0:i32
blockpc %1 1 %4 1:i1
%5:i32 = var
%6 = phi %1, %5, 1024:i32
%7:i32 = var
%8:i32 = var
; (i32.add(get_local $185)(get_local $7))
%9 = add %7, %8
%10 = phi %1, %9, 0:i32
; (i32.sub(get_local $6)(get_local $1))
%11 = sub %6, %10
%12:i32 = var
; (i32.lt_u(get_local $206)(get_local $3))
%13 = ult %11, %12
blockpc %0 0 %13 1:i1
%14:i32 = zext %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
blockpc %0 1 %15 1:i1
%16 = block 2
; (i32.shl(get_local $6)(i32.const 1))
%17 = shl %6, 1:i32
; (i32.sub(get_local $6)(get_local $1))
%18 = sub %17, %10
; (i32.lt_u(get_local $218)(get_local $3))
%19 = ult %18, %12
blockpc %16 0 %19 1:i1
%20:i32 = zext %19
; (i32.eq(unreachable)(unreachable))
%21 = eq %20, 0:i32
blockpc %16 1 %21 1:i1
; (i32.add(get_local $1)(get_local $3))
%22 = add %10, %12
%23 = phi %16, %22, %17
; (i32.sub(get_local $2)(get_local $1))
%24 = sub %23, %10
; (i32.lt_u(get_local $230)(get_local $3))
%25 = ult %24, %12
%26:i32 = zext %25
%27 = phi %0, %26, 0:i32
infer %27
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_addlstring)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $3)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $3)(get_local $5))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $48)(get_local $2))
%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 $5)(get_local $2))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $6)(get_local $5))
%11 = sub %10, %3
; (i32.lt_u(get_local $60)(get_local $2))
%12 = ult %11, %5
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_luaL_addlstring)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $3)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $3)(get_local $5))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $48)(get_local $2))
%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 $5)(get_local $2))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $6)(get_local $5))
%11 = sub %10, %3
; (i32.lt_u(get_local $60)(get_local $2))
%12 = ult %11, %5
%13:i32 = zext %12
infer %13
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_addlstring)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $3)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $3)(get_local $5))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $48)(get_local $2))
%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 $5)(get_local $2))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $54)(get_local $5))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $6)(get_local $5))
%14 = sub %13, %3
; (i32.lt_u(get_local $60)(get_local $2))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $57)(get_local $62))
%17 = or %12, %16
infer %17
; RHS inferred successfully
result %12
-----------------------------------------------------------
; start LHS (in $_luaL_addlstring)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $3)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $3)(get_local $5))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $48)(get_local $2))
%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 $5)(get_local $2))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $54)(get_local $5))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $6)(get_local $5))
%14 = sub %13, %3
; (i32.lt_u(get_local $60)(get_local $2))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $57)(get_local $62))
%17 = or %12, %16
; (i32.ne(unreachable)(unreachable))
%18 = ne %17, 0:i32
infer %18
; RHS inferred successfully
result %11
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $1)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $2)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $2)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $2)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $2)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $2)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $2)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $2)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0 = block 3
%1:i32 = var
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
%4 = phi %0, 1:i32, %3, 0:i32
; (i32.and(get_local $1010)(i32.const 1))
%5 = and %4, 1:i32
infer %5
; RHS inferred successfully
result %4
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $1)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0 = block 2
%1:i32 = var
%2:i32 = var
; (i32.eq(get_local $1136)(get_local $1149))
%3 = eq %1, %2
blockpc %0 0 %3 1:i1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
blockpc %0 1 %5 1:i1
%6:i32 = var
; (i32.ne(get_local $1160)(i32.const 0))
%7 = ne %6, 0:i32
%8:i32 = zext %7
%9 = phi %0, %8, 0:i32
; (i32.and(get_local $1)(i32.const 1))
%10 = and %9, 1:i32
infer %10
; RHS inferred successfully
result %9
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $1)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%0:i32 = var
; (i32.shr_u(get_local $4)(i32.const 23))
%1 = lshr %0, 23:i32
; (i32.and(get_local $1)(i32.const 256))
%2 = and %1, 256:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
infer %7
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_luaV_execute)
%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 $_luaV_execute)
%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 $_luaV_concat)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $1)(i32.const 15))
%2 = and %1, 15:i32
; (i32.ne(get_local $62)(i32.const 4))
%3 = ne %2, 4:i32
blockpc %0 0 %3 1:i1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
blockpc %0 1 %5 1:i1
%6:i32 = var
%7:i32 = var
%8 = phi %0, %6, %7
; (i32.eq(get_local $2)(i32.const 3))
%9 = eq %8, 3:i32
%10:i32 = zext %9
; (i32.and(get_local $2)(i32.const 15))
%11 = and %8, 15:i32
; (i32.eq(get_local $85)(i32.const 4))
%12 = eq %11, 4:i32
%13:i32 = zext %12
; (i32.xor(get_local $15)(i32.const 1))
%14 = xor %13, 1:i32
; (i32.and(get_local $93)(get_local $95))
%15 = and %10, %14
%16:i32 = var
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
pc %17 1:i1
infer %15
; RHS inferred successfully
result %10
-----------------------------------------------------------
; start LHS (in $_luaL_checkoption)
%0 = block 2
%1:i32 = var
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0: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
%5 = phi %0, %1, 0:i32
infer %5
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaK_goiftrue)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $4)(i32.const 255))
%2 = and %1, 255:i32
%3:i32 = var
; (i32.lt_s(get_local $148)(get_local $153))
%4 = slt %2, %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.add(get_local $4)(i32.const 1))
%7 = add %1, 1:i32
; (i32.and(get_local $5)(i32.const 255))
%8 = and %7, 255:i32
%9 = block 2
; (i32.and(get_local $4)(i32.const 255))
%10 = and %1, 255:i32
; (i32.le_s(i32.const 248)(get_local $158))
%11 = sle 248:i32, %10
blockpc %9 0 %11 1:i1
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
blockpc %9 1 %13 1:i1
; (i32.and(get_local $5)(i32.const 255))
%14 = and %7, 255:i32
%15 = phi %9, 0:i32, %14
%16 = phi %0, %8, %15
; (i32.and(get_local $2)(i32.const 255))
%17 = and %16, 255:i32
infer %17
; RHS inferred successfully
result %16
-----------------------------------------------------------
; start LHS (in $_discharge2reg)
%0 = block 2
%1:i32 = var
%2:i32 = var
; (i32.shr_u(get_local $4)(i32.const 6))
%3 = lshr %2, 6:i32
; (i32.and(get_local $42)(i32.const 255))
%4 = and %3, 255:i32
; (i32.le_s(get_local $2)(get_local $3))
%5 = sle %1, %4
%6:i32 = zext %5
; (i32.shr_u(get_local $4)(i32.const 23))
%7 = lshr %2, 23:i32
; (i32.add(get_local $3)(get_local $46))
%8 = add %4, %7
; (i32.add(get_local $6)(i32.const 1))
%9 = add %8, 1:i32
; (i32.lt_s(get_local $52)(get_local $2))
%10 = slt %9, %1
%11:i32 = zext %10
; (i32.or(get_local $50)(get_local $54))
%12 = or %6, %11
; (i32.ne(unreachable)(unreachable))
%13 = ne %12, 0:i32
blockpc %0 0 %13 1:i1
; (i32.eq(unreachable)(unreachable))
%14 = eq %12, 0:i32
blockpc %0 1 %14 1:i1
; (i32.add(get_local $2)(i32.const 1))
%15 = add %1, 1:i32
; (i32.le_s(get_local $7)(get_local $3))
%16 = sle %15, %4
%17:i32 = zext %16
%18 = phi %0, 0:i32, %17
infer %18
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_traverseephemeron)
%0:i32 = var
; (i32.and(get_local $9)(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 $_traverseephemeron)
%0:i32 = var
; (i32.and(get_local $9)(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 $_printf_core)
%0:i32 = var
; (i32.add(get_local $8)(i32.const -32))
%1 = add %0, -32:i32
; (i32.le_u(i32.const 31)(get_local $6))
%2 = ule 31:i32, %1
%3:i32 = zext %2
; (i32.shl(i32.const 1)(get_local $6))
%4 = shl 1:i32, %1
; (i32.and(get_local $132)(i32.const 75913))
%5 = and %4, 75913:i32
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
%7:i32 = zext %6
; (i32.or(get_local $130)(get_local $134))
%8 = or %3, %7
infer %8
; RHS inferred successfully
result %7
-----------------------------------------------------------
; start LHS (in $_printf_core)
%0:i32 = var
; (i32.add(get_local $8)(i32.const -32))
%1 = add %0, -32:i32
; (i32.le_u(i32.const 31)(get_local $7))
%2 = ule 31:i32, %1
%3:i32 = zext %2
; (i32.shl(i32.const 1)(get_local $7))
%4 = shl 1:i32, %1
; (i32.and(get_local $155)(i32.const 75913))
%5 = and %4, 75913:i32
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
%7:i32 = zext %6
; (i32.or(get_local $153)(get_local $157))
%8 = or %3, %7
%9:i32 = var
; (i32.add(get_local $8)(i32.const -32))
%10 = add %9, -32:i32
; (i32.le_u(i32.const 31)(get_local $6))
%11 = ule 31:i32, %10
%12:i32 = zext %11
; (i32.shl(i32.const 1)(get_local $6))
%13 = shl 1:i32, %10
; (i32.and(get_local $132)(i32.const 75913))
%14 = and %13, 75913:i32
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
%16:i32 = zext %15
; (i32.or(get_local $130)(get_local $134))
%17 = or %12, %16
; (i32.eq(unreachable)(unreachable))
%18 = eq %17, 0:i32
pc %18 1:i1
infer %8
; RHS inferred successfully
result %7
-----------------------------------------------------------
; start LHS (in $_printf_core)
%0:i32 = var
; (i32.add(get_local $8)(i32.const -32))
%1 = add %0, -32:i32
; (i32.le_u(i32.const 31)(get_local $7))
%2 = ule 31:i32, %1
%3:i32 = zext %2
; (i32.shl(i32.const 1)(get_local $7))
%4 = shl 1:i32, %1
; (i32.and(get_local $155)(i32.const 75913))
%5 = and %4, 75913:i32
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
%7:i32 = zext %6
; (i32.or(get_local $153)(get_local $157))
%8 = or %3, %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
%10:i32 = zext %9
; (i32.eq(unreachable)(unreachable))
%11 = eq %10, 0:i32
infer %11
; RHS inferred successfully
result %6
-----------------------------------------------------------
; start LHS (in $_printf_core)
%0:i32 = var
; (i32.add(get_local $8)(i32.const -32))
%1 = add %0, -32:i32
; (i32.le_u(i32.const 31)(get_local $6))
%2 = ule 31:i32, %1
%3:i32 = zext %2
; (i32.shl(i32.const 1)(get_local $6))
%4 = shl 1:i32, %1
; (i32.and(get_local $132)(i32.const 75913))
%5 = and %4, 75913:i32
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
%7:i32 = zext %6
; (i32.or(get_local $130)(get_local $134))
%8 = or %3, %7
; (i32.ne(unreachable)(unreachable))
%9 = ne %8, 0:i32
infer %9
; RHS inferred successfully
result %6
-----------------------------------------------------------
; start LHS (in $_printf_core)
%0 = block 2
%1:i32 = var
%2 = block 2
%3 = block 3
%4:i32 = var
%5:i32 = var
%6:i32 = var
%7 = phi %3, %4, %5, %6
; (i32.ne(unreachable)(unreachable))
%8 = ne %7, 0:i32
blockpc %2 0 %8 1:i1
; (i32.eq(unreachable)(unreachable))
%9 = eq %7, 0:i32
blockpc %2 1 %9 1:i1
%10:i32 = var
%11 = phi %2, %10, 0:i32
%12 = phi %0, %1, %11
; (i32.lt_s(get_local $1)(i32.const 0))
%13 = slt %12, 0:i32
%14:i32 = zext %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
%16:i32 = zext %15
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
infer %17
; RHS inferred successfully
result %13
-----------------------------------------------------------
; start LHS (in $_printf_core)
%0 = block 2
%1:i32 = var
%2 = block 2
%3 = block 3
%4:i32 = var
%5:i32 = var
%6:i32 = var
%7 = phi %3, %4, %5, %6
; (i32.ne(unreachable)(unreachable))
%8 = ne %7, 0:i32
blockpc %2 0 %8 1:i1
; (i32.eq(unreachable)(unreachable))
%9 = eq %7, 0:i32
blockpc %2 1 %9 1:i1
%10:i32 = var
%11 = phi %2, %10, 0:i32
%12 = phi %0, %1, %11
; (i32.lt_s(get_local $1)(i32.const 0))
%13 = slt %12, 0:i32
%14:i32 = zext %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
%16:i32 = zext %15
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
infer %17
; RHS inferred successfully
result %13
-----------------------------------------------------------
; start LHS (in $_printf_core)
%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 $_printf_core)
%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 $_printf_core)
%0 = block 3
%1:i64 = var
%2:i64 = var
%3 = block 2
%4 = block 2
%5:i64 = var
; (i64.lt_s(get_local $16)(i64.const 0))
%6 = slt %5, 0:i64
blockpc %4 0 %6 1:i1
%7:i32 = zext %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
blockpc %4 1 %8 1:i1
; (i64.sub(i64.const 0)(get_local $16))
%9 = sub 0:i64, %5
%10 = phi %4, %9, %5
%11:i64 = var
%12 = phi %3, %10, %11
%13 = phi %0, %1, %2, %12
; (i64.ne(get_local $16)(i64.const 0))
%14 = ne %13, 0:i64
%15:i32 = zext %14
; (i32.xor(get_local $10)(i32.const 1))
%16 = xor %15, 1:i32
; (i32.and(get_local $585)(i32.const 1))
%17 = and %16, 1:i32
infer %17
; RHS inferred successfully
result %16
-----------------------------------------------------------
; start LHS (in $_luaC_forcestep)
%0:i32 = var
; (i32.eq(get_local $121)(i32.const 5))
%1 = eq %0, 5: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 $_log)
%0:i64 = var
; (i64.lt_s(get_local $2)(i64.const 0))
%1 = slt %0, 0:i64
%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 $_luaV_lessequal)
%0:i32 = var
%1:i32 = var
; (i32.eq(get_local $3)(get_local $1))
%2 = eq %0, %1
%3:i32 = zext %2
; (i32.xor(get_local $4)(i32.const 1))
%4 = xor %3, 1:i32
; (i32.and(get_local $75)(i32.const 1))
%5 = and %4, 1:i32
%6:i32 = var
; (i32.and(get_local $28)(i32.const 15))
%7 = and %6, 15:i32
; (i32.eq(get_local $29)(i32.const 4))
%8 = eq %7, 4:i32
%9:i32 = var
; (i32.and(get_local $3)(i32.const 15))
%10 = and %9, 15:i32
; (i32.eq(get_local $25)(i32.const 4))
%11 = eq %10, 4:i32
; (i32.eq(get_local $3)(i32.const 3))
%12 = eq %9, 3:i32
%13:i32 = zext %12
; (i32.eq(unreachable)(unreachable))
%14 = eq %13, 0:i32
pc %8 1:i1
pc %11 1:i1
pc %14 1:i1
infer %5
; RHS inferred successfully
result %4
-----------------------------------------------------------
; start LHS (in $_luaS_hash)
%0:i32 = var
; (i32.shr_u(get_local $1)(i32.const 5))
%1 = lshr %0, 5:i32
; (i32.lt_u(get_local $1)(get_local $4))
%2 = ult %0, %1
infer %2
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_luaS_hash)
%0:i32 = var
; (i32.shr_u(get_local $1)(i32.const 5))
%1 = lshr %0, 5:i32
; (i32.lt_u(get_local $1)(get_local $4))
%2 = ult %0, %1
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
infer %4
; RHS inferred successfully
result 1:i1
-----------------------------------------------------------
; start LHS (in $_luaS_hash)
%0:i32 = var
; (i32.shr_u(get_local $1)(i32.const 5))
%1 = lshr %0, 5:i32
; (i32.lt_u(get_local $1)(get_local $4))
%2 = ult %0, %1
%3:i32 = zext %2
infer %3
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaK_goiffalse)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $4)(i32.const 255))
%2 = and %1, 255:i32
%3:i32 = var
; (i32.lt_s(get_local $113)(get_local $118))
%4 = slt %2, %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.add(get_local $4)(i32.const 1))
%7 = add %1, 1:i32
; (i32.and(get_local $5)(i32.const 255))
%8 = and %7, 255:i32
%9 = block 2
; (i32.and(get_local $4)(i32.const 255))
%10 = and %1, 255:i32
; (i32.le_s(i32.const 248)(get_local $123))
%11 = sle 248:i32, %10
blockpc %9 0 %11 1:i1
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
blockpc %9 1 %13 1:i1
; (i32.and(get_local $5)(i32.const 255))
%14 = and %7, 255:i32
%15 = phi %9, 0:i32, %14
%16 = phi %0, %8, %15
; (i32.and(get_local $2)(i32.const 255))
%17 = and %16, 255:i32
infer %17
; RHS inferred successfully
result %16
-----------------------------------------------------------
; start LHS (in $_luaH_getn)
%0:i32 = var
; (i32.le_u(i32.const 1)(get_local $5))
%1 = ule 1:i32, %0
%2:i32 = var
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
; (i32.ne(unreachable)(unreachable))
%4 = ne %0, 0:i32
pc %3 1:i1
pc %4 1:i1
infer %1
; RHS inferred successfully
result 1:i1
-----------------------------------------------------------
; start LHS (in $_luaH_getn)
%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.shl(get_local $5)(i32.const 4))
%4 = shl %1, 4:i32
%5 = phi %0, 0:i32, %4
infer %5
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_log10)
%0 = block 2
%1:i32 = var
; (i32.le_u(get_local $2)(i32.const 2146435071))
%2 = ule %1, 2146435071: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.eq(get_local $2)(i32.const 1072693248))
%5 = eq %1, 1072693248:i32
%6:i32 = zext %5
%7 = phi %0, 0:i32, %6
infer %7
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_log10)
%0 = block 2
%1:i32 = var
; (i32.le_u(get_local $2)(i32.const 2146435071))
%2 = ule %1, 2146435071: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
%5:i64 = var
; (i64.and(get_local $3)(i64.const 4294967295))
%6 = and %5, 4294967295:i64
; (i64.eq(get_local $41)(i64.const 0))
%7 = eq %6, 0:i64
%8:i32 = zext %7
; (i32.eq(get_local $2)(i32.const 1072693248))
%9 = eq %1, 1072693248:i32
%10:i32 = zext %9
; (i32.and(get_local $42)(get_local $44))
%11 = and %8, %10
%12 = phi %0, 0:i32, %11
infer %12
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_log10)
%0 = block 2
%1:i64 = var
; (i64.lt_s(get_local $3)(i64.const 0))
%2 = slt %1, 0:i64
%3:i32 = zext %2
%4:i32 = var
; (i32.lt_u(get_local $2)(i32.const 1048576))
%5 = ult %4, 1048576:i32
%6:i32 = zext %5
; (i32.or(get_local $5)(get_local $18))
%7 = or %3, %6
; (i32.ne(unreachable)(unreachable))
%8 = ne %7, 0:i32
blockpc %0 0 %8 1:i1
; (i32.eq(unreachable)(unreachable))
%9 = eq %7, 0:i32
blockpc %0 1 %9 1:i1
%10 = block 2
; (i32.le_u(get_local $2)(i32.const 2146435071))
%11 = ule %4, 2146435071:i32
blockpc %10 0 %11 1:i1
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
blockpc %10 1 %13 1:i1
; (i32.eq(get_local $2)(i32.const 1072693248))
%14 = eq %4, 1072693248:i32
%15:i32 = zext %14
%16 = phi %10, 0:i32, %15
%17 = phi %0, 0:i32, %16
infer %17
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_log10)
%0 = block 2
%1:i64 = var
; (i64.lt_s(get_local $3)(i64.const 0))
%2 = slt %1, 0:i64
%3:i32 = zext %2
%4:i32 = var
; (i32.lt_u(get_local $2)(i32.const 1048576))
%5 = ult %4, 1048576:i32
%6:i32 = zext %5
; (i32.or(get_local $5)(get_local $18))
%7 = or %3, %6
; (i32.ne(unreachable)(unreachable))
%8 = ne %7, 0:i32
blockpc %0 0 %8 1:i1
; (i32.eq(unreachable)(unreachable))
%9 = eq %7, 0:i32
blockpc %0 1 %9 1:i1
%10 = block 2
; (i32.le_u(get_local $2)(i32.const 2146435071))
%11 = ule %4, 2146435071:i32
blockpc %10 0 %11 1:i1
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
blockpc %10 1 %13 1:i1
; (i64.and(get_local $3)(i64.const 4294967295))
%14 = and %1, 4294967295:i64
; (i64.eq(get_local $41)(i64.const 0))
%15 = eq %14, 0:i64
%16:i32 = zext %15
; (i32.eq(get_local $2)(i32.const 1072693248))
%17 = eq %4, 1072693248:i32
%18:i32 = zext %17
; (i32.and(get_local $42)(get_local $44))
%19 = and %16, %18
%20 = phi %10, 0:i32, %19
%21 = phi %0, 0:i32, %20
infer %21
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_g_write)
%0 = block 2
%1:i32 = var
; (i32.eq(get_local $30)(i32.const 3))
%2 = eq %1, 3: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
%5 = block 2
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
blockpc %5 0 %7 1:i1
; (i32.eq(unreachable)(unreachable))
%8 = eq %6, 0:i32
blockpc %5 1 %8 1:i1
%9:i32 = var
; (i32.le_s(i32.const 0)(get_local $39))
%10 = sle 0:i32, %9
%11:i32 = zext %10
%12 = phi %5, %11, 0:i32
%13 = block 2
; (i32.ne(unreachable)(unreachable))
%14 = ne %6, 0:i32
blockpc %13 0 %14 1:i1
; (i32.eq(unreachable)(unreachable))
%15 = eq %6, 0:i32
blockpc %13 1 %15 1:i1
%16:i32 = var
%17:i32 = var
; (i32.eq(get_local $54)(get_local $56))
%18 = eq %16, %17
%19:i32 = zext %18
%20 = phi %13, %19, 0:i32
%21 = phi %0, %12, %20
; (i32.and(get_local $4)(i32.const 1))
%22 = and %21, 1:i32
infer %22
; RHS inferred successfully
result %21
-----------------------------------------------------------
; start LHS (in $_dispose_chunk)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $3)(i32.const 1))
%2 = and %1, 1:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
blockpc %0 0 %3 1:i1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
blockpc %0 1 %5 1:i1
; (i32.and(get_local $3)(i32.const 3))
%6 = and %1, 3:i32
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
%8:i32 = zext %7
%9 = phi %0, 0:i32, %8
infer %9
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_auxsort)
%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
%4:i32 = var
; (i32.add(get_local $3)(i32.const 1))
%5 = add %4, 1:i32
%6:i32 = var
; (i32.add(get_local $3)(i32.const 1))
%7 = add %6, 1:i32
%8 = phi %0, %5, %7
%9:i32 = var
; (i32.sub(get_local $3)(get_local $1))
%10 = sub %8, %9
%11:i32 = var
; (i32.sub(get_local $2)(get_local $3))
%12 = sub %11, %8
; (i32.lt_s(get_local $146)(get_local $149))
%13 = slt %10, %12
%14:i32 = zext %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
%16:i32 = zext %15
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
infer %17
; RHS inferred successfully
result %13
-----------------------------------------------------------
; start LHS (in $_assignment)
%0 = block 2
%1:i32 = var
; (i32.ne(get_local $9)(i32.const 9))
%2 = ne %1, 9: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.eq(get_local $9)(i32.const 7))
%5 = eq %1, 7:i32
%6:i32 = zext %5
%7 = phi %0, 0:i32, %6
infer %7
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_assignment)
%0 = block 5
%1 = block 2
%2:i32 = var
; (i32.ne(get_local $9)(i32.const 9))
%3 = ne %2, 9:i32
blockpc %1 0 %3 1:i1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
blockpc %1 1 %5 1:i1
; (i32.eq(get_local $9)(i32.const 7))
%6 = eq %2, 7:i32
%7:i32 = zext %6
%8 = phi %1, 0:i32, %7
%9 = phi %0, %8, %8, 0:i32, 0:i32, 0:i32
infer %9
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $___tan)
%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 $___tan)
%0 = block 2
%1:i64 = var
; (i64.and(get_local $6)(i64.const 9223372002495037440))
%2 = and %1, 9223372002495037440:i64
; (i64.le_u(i64.const 4604249089280835584)(get_local $13))
%3 = ule 4604249089280835584:i64, %2
blockpc %0 0 %3 1:i1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
blockpc %0 1 %5 1:i1
%6:i32 = var
%7 = phi %0, 0:i32, %6
; (i32.eq(unreachable)(unreachable))
%8 = eq %7, 0:i32
pc %3 1:i1
infer %8
; RHS inferred successfully
result 1:i1
-----------------------------------------------------------
; start LHS (in $___floatscan)
%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 $___floatscan)
%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 $_LoadFunction)
%0:i32 = var
; (i32.le_s(i32.const 0)(get_local $4))
%1 = sle 0:i32, %0
%2:i32 = zext %1
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
pc %1 1:i1
infer %3
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_vfscanf)
%0:i32 = var
; (i32.and(get_local $11)(i32.const 47))
%1 = and %0, 47:i32
; (i32.eq(get_local $227)(i32.const 3))
%2 = eq %1, 3: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 $_tmpfile)
%0 = block 2
%1:i32 = var
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0: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
%5 = phi %0, %1, 0:i32
infer %5
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_tmpfile)
%0 = block 2
%1 = block 2
%2:i32 = var
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
blockpc %1 0 %3 1:i1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
blockpc %1 1 %5 1:i1
%6 = phi %1, %2, 0:i32
%7 = phi %0, 0:i32, %6
infer %7
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_strtox)
%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
%4 = phi %0, 0:i32, %1
infer %4
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_str_sub)
%0:i32 = var
; (i32.le_s(i32.const -1)(get_local $1))
%1 = sle -1: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 $_str_sub)
%0:i32 = var
; (i32.le_s(i32.const -1)(get_local $2))
%1 = sle -1: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 $_str_rep)
%0:i32 = var
; (i32.le_s(i32.const 1)(get_local $1))
%1 = sle 1:i32, %0
%2:i32 = var
%3:i32 = var
; (i32.add(get_local $5)(get_local $2))
%4 = add %2, %3
; (i32.div_u(i32.const 2147483647)(get_local $1))
%5 = udiv 2147483647:i32, %0
; (i32.lt_u(get_local $7)(get_local $45))
%6 = ult %4, %5
; (i32.lt_u(get_local $2)(get_local $7))
%7 = ult %3, %4
pc %6 1:i1
pc %7 1:i1
infer %1
; RHS inferred successfully
result 1:i1
-----------------------------------------------------------
; start LHS (in $_str_byte)
%0 = block 2
%1:i32 = var
%2 = block 2
%3:i32 = var
; (i32.le_s(i32.const -1)(get_local $2))
%4 = sle -1:i32, %3
blockpc %2 0 %4 1:i1
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
blockpc %2 1 %6 1:i1
%7 = block 2
; (i32.sub(i32.const 0)(get_local $2))
%8 = sub 0:i32, %3
; (i32.lt_u(get_local $1)(get_local $48))
%9 = ult %1, %8
blockpc %7 0 %9 1:i1
%10:i32 = zext %9
; (i32.eq(unreachable)(unreachable))
%11 = eq %10, 0:i32
blockpc %7 1 %11 1:i1
; (i32.add(get_local $2)(i32.const 1))
%12 = add %3, 1:i32
; (i32.add(get_local $41)(get_local $1))
%13 = add %12, %1
%14 = phi %7, %13, 0:i32
%15 = phi %2, %14, %3
; (i32.le_u(get_local $1)(get_local $4))
%16 = ule %1, %15
blockpc %0 0 %16 1:i1
%17:i32 = zext %16
; (i32.eq(unreachable)(unreachable))
%18 = eq %17, 0:i32
blockpc %0 1 %18 1:i1
%19 = phi %0, %1, %15
; (i32.eq(get_local $1)(i32.const -1))
%20 = eq %19, -1:i32
infer %20
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_setlocale)
%0:i32 = var
; (i32.ne(get_local $0)(i32.const 6))
%1 = ne %0, 6:i32
; (i32.le_u(i32.const 6)(get_local $0))
%2 = ule 6:i32, %0
%3:i32 = zext %2
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
pc %4 1:i1
infer %1
; RHS inferred successfully
result 1:i1
-----------------------------------------------------------
; start LHS (in $_resume)
%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.and(get_local $7)(i32.const 255))
%4 = and %1, 255:i32
%5 = phi %0, 0:i32, %4
infer %5
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_pcallcont)
%0 = block 2
%1:i32 = var
%2 = phi %0, 0:i32, %1
; (i32.eq(get_local $2)(i32.const 1))
%3 = eq %2, 1:i32
%4:i32 = zext %3
; (i32.ne(get_local $23)(i32.const 0))
%5 = ne %4, 0:i32
%6:i32 = var
; (i32.ne(unreachable)(unreachable))
%7 = ne %6, 0:i32
pc %7 1:i1
infer %5
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_pcallcont)
%0 = block 2
%1:i32 = var
%2 = phi %0, 0:i32, %1
; (i32.eq(get_local $2)(i32.const 1))
%3 = eq %2, 1:i32
%4:i32 = zext %3
; (i32.ne(get_local $23)(i32.const 0))
%5 = ne %4, 0:i32
%6:i32 = zext %5
infer %6
; RHS inferred successfully
result %4
-----------------------------------------------------------
; start LHS (in $_luaV_finishOp)
%0 = block 3
%1:i32 = var
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
%4 = phi %0, 1:i32, %3, 0:i32
; (i32.xor(get_local $1)(i32.const 1))
%5 = xor %4, 1:i32
; (i32.and(get_local $64)(i32.const 1))
%6 = and %5, 1:i32
%7:i32 = var
; (i32.and(get_local $3)(i32.const 63))
%8 = and %7, 63:i32
; (i32.eq(get_local $7)(i32.const 26))
%9 = eq %8, 26:i32
%10:i32 = zext %9
; (i32.eq(unreachable)(unreachable))
%11 = eq %10, 0:i32
pc %11 1:i1
infer %6
; RHS inferred successfully
result %5
-----------------------------------------------------------
; start LHS (in $_luaV_finishOp)
%0 = block 3
%1:i32 = var
; (i32.eq(unreachable)(unreachable))
%2 = eq %1, 0:i32
%3:i32 = zext %2
%4 = phi %0, 1:i32, %3, 0:i32
; (i32.and(get_local $1)(i32.const 1))
%5 = and %4, 1:i32
%6:i32 = var
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
%8:i32 = var
; (i32.and(get_local $3)(i32.const 63))
%9 = and %8, 63:i32
; (i32.eq(get_local $7)(i32.const 26))
%10 = eq %9, 26:i32
pc %7 1:i1
pc %10 1:i1
infer %5
; RHS inferred successfully
result %4
-----------------------------------------------------------
; start LHS (in $_luaL_addstring)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $3)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $3)(get_local $5))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $50)(get_local $2))
%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 $5)(get_local $2))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $6)(get_local $5))
%11 = sub %10, %3
; (i32.lt_u(get_local $62)(get_local $2))
%12 = ult %11, %5
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_luaL_addstring)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $3)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $3)(get_local $5))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $50)(get_local $2))
%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 $5)(get_local $2))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $6)(get_local $5))
%11 = sub %10, %3
; (i32.lt_u(get_local $62)(get_local $2))
%12 = ult %11, %5
%13:i32 = zext %12
infer %13
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_luaL_addstring)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $3)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $3)(get_local $5))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $50)(get_local $2))
%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 $5)(get_local $2))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $56)(get_local $5))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $6)(get_local $5))
%14 = sub %13, %3
; (i32.lt_u(get_local $62)(get_local $2))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $59)(get_local $64))
%17 = or %12, %16
infer %17
; RHS inferred successfully
result %12
-----------------------------------------------------------
; start LHS (in $_luaL_addstring)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $3)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $3)(get_local $5))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $50)(get_local $2))
%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 $5)(get_local $2))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $56)(get_local $5))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $6)(get_local $5))
%14 = sub %13, %3
; (i32.lt_u(get_local $62)(get_local $2))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $59)(get_local $64))
%17 = or %12, %16
; (i32.ne(unreachable)(unreachable))
%18 = ne %17, 0:i32
infer %18
; RHS inferred successfully
result %11
-----------------------------------------------------------
; start LHS (in $_luaK_self)
%0:i32 = var
; (i32.add(get_local $39)(i32.const 2))
%1 = add %0, 2:i32
; (i32.and(get_local $1)(i32.const 255))
%2 = and %1, 255:i32
; (i32.le_u(i32.const 249)(get_local $1))
%3 = ule 249:i32, %1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
%6:i32 = var
; (i32.le_u(get_local $46)(get_local $1))
%7 = ule %6, %1
pc %5 1:i1
pc %7 1:i1
infer %2
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_luaK_prefix)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $1)(i32.const 255))
%2 = and %1, 255:i32
%3:i32 = var
; (i32.lt_s(get_local $85)(get_local $90))
%4 = slt %2, %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.add(get_local $1)(i32.const 1))
%7 = add %1, 1:i32
; (i32.and(get_local $3)(i32.const 255))
%8 = and %7, 255:i32
%9 = block 2
; (i32.and(get_local $1)(i32.const 255))
%10 = and %1, 255:i32
; (i32.le_s(i32.const 248)(get_local $95))
%11 = sle 248:i32, %10
blockpc %9 0 %11 1:i1
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
blockpc %9 1 %13 1:i1
; (i32.and(get_local $3)(i32.const 255))
%14 = and %7, 255:i32
%15 = phi %9, 0:i32, %14
%16 = phi %0, %8, %15
; (i32.and(get_local $4)(i32.const 255))
%17 = and %16, 255:i32
infer %17
; RHS inferred successfully
result %16
-----------------------------------------------------------
; start LHS (in $_luaK_posfix)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $5)(i32.const 255))
%2 = and %1, 255:i32
%3:i32 = var
; (i32.lt_s(get_local $228)(get_local $233))
%4 = slt %2, %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.add(get_local $5)(i32.const 1))
%7 = add %1, 1:i32
; (i32.and(get_local $6)(i32.const 255))
%8 = and %7, 255:i32
%9 = block 2
; (i32.and(get_local $5)(i32.const 255))
%10 = and %1, 255:i32
; (i32.le_s(i32.const 248)(get_local $238))
%11 = sle 248:i32, %10
blockpc %9 0 %11 1:i1
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
blockpc %9 1 %13 1:i1
; (i32.and(get_local $6)(i32.const 255))
%14 = and %7, 255:i32
%15 = phi %9, 0:i32, %14
%16 = phi %0, %8, %15
; (i32.and(get_local $8)(i32.const 255))
%17 = and %16, 255:i32
infer %17
; RHS inferred successfully
result %16
-----------------------------------------------------------
; start LHS (in $_luaD_poscall)
%0:i32 = var
; (i32.add(get_local $6)(i32.const 1))
%1 = add %0, 1:i32
; (i32.eq(unreachable)(unreachable))
%2 = eq %0, 0:i32
pc %2 1:i1
infer %1
; RHS inferred successfully
result 1:i32
-----------------------------------------------------------
; start LHS (in $_luaB_xpcall)
%0:i32 = var
; (i32.eq(unreachable)(unreachable))
%1 = eq %0, 0:i32
%2:i32 = zext %1
; (i32.ne(get_local $32)(i32.const 0))
%3 = ne %2, 0:i32
%4:i32 = var
; (i32.ne(unreachable)(unreachable))
%5 = ne %4, 0:i32
pc %5 1:i1
infer %3
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_luaB_xpcall)
%0:i32 = var
; (i32.eq(unreachable)(unreachable))
%1 = eq %0, 0:i32
%2:i32 = zext %1
; (i32.ne(get_local $32)(i32.const 0))
%3 = ne %2, 0:i32
%4:i32 = zext %3
infer %4
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_luaB_pcall)
%0:i32 = var
; (i32.eq(unreachable)(unreachable))
%1 = eq %0, 0:i32
%2:i32 = zext %1
; (i32.ne(get_local $34)(i32.const 0))
%3 = ne %2, 0:i32
%4:i32 = var
; (i32.ne(unreachable)(unreachable))
%5 = ne %4, 0:i32
pc %5 1:i1
infer %3
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_luaB_pcall)
%0:i32 = var
; (i32.eq(unreachable)(unreachable))
%1 = eq %0, 0:i32
%2:i32 = zext %1
; (i32.ne(get_local $34)(i32.const 0))
%3 = ne %2, 0:i32
%4:i32 = zext %3
infer %4
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_luaB_loadfile)
%0:i32 = var
; (i32.ne(get_local $3)(i32.const -1))
%1 = ne %0, -1: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 $_luaB_load)
%0:i32 = var
; (i32.ne(get_local $5)(i32.const -1))
%1 = ne %0, -1: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 $_hexfloat)
%0 = block 2
%1:i32 = var
; (i32.le_s(get_local $7)(i32.const 57))
%2 = sle %1, 57: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.or(get_local $7)(i32.const 32))
%5 = or %1, 32:i32
; (i32.add(get_local $17)(i32.const -87))
%6 = add %5, -87:i32
; (i32.add(get_local $7)(i32.const -48))
%7 = add %1, -48:i32
%8 = phi %0, %6, %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
%10:i64 = var
; (i64.lt_s(get_local $12)(i64.const 14))
%11 = slt %10, 14:i64
%12:i32 = zext %11
; (i32.eq(unreachable)(unreachable))
%13 = eq %12, 0:i32
; (i64.lt_s(get_local $12)(i64.const 8))
%14 = slt %10, 8:i64
%15:i32 = zext %14
; (i32.eq(unreachable)(unreachable))
%16 = eq %15, 0:i32
pc %13 1:i1
pc %16 1:i1
infer %9
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $_hexfloat)
%0 = block 2
%1:i32 = var
; (i32.le_s(get_local $7)(i32.const 57))
%2 = sle %1, 57: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.or(get_local $7)(i32.const 32))
%5 = or %1, 32:i32
; (i32.add(get_local $17)(i32.const -87))
%6 = add %5, -87:i32
; (i32.add(get_local $7)(i32.const -48))
%7 = add %1, -48:i32
%8 = phi %0, %6, %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
%10:i32 = zext %9
infer %10
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_hexfloat)
%0:i32 = var
; (i32.ne(get_local $20)(i32.const 0))
%1 = ne %0, 0:i32
%2:i32 = zext %1
%3 = block 2
%4:i32 = var
; (i32.le_s(get_local $7)(i32.const 57))
%5 = sle %4, 57:i32
blockpc %3 0 %5 1:i1
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
blockpc %3 1 %7 1:i1
; (i32.or(get_local $7)(i32.const 32))
%8 = or %4, 32:i32
; (i32.add(get_local $17)(i32.const -87))
%9 = add %8, -87:i32
; (i32.add(get_local $7)(i32.const -48))
%10 = add %4, -48:i32
%11 = phi %3, %9, %10
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
%13:i32 = zext %12
; (i32.or(get_local $147)(get_local $149))
%14 = or %2, %13
%15:i64 = var
; (i64.lt_s(get_local $12)(i64.const 14))
%16 = slt %15, 14:i64
%17:i32 = zext %16
; (i32.eq(unreachable)(unreachable))
%18 = eq %17, 0:i32
; (i64.lt_s(get_local $12)(i64.const 8))
%19 = slt %15, 8:i64
%20:i32 = zext %19
; (i32.eq(unreachable)(unreachable))
%21 = eq %20, 0:i32
pc %18 1:i1
pc %21 1:i1
infer %14
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_hexfloat)
%0:i32 = var
; (i32.ne(get_local $20)(i32.const 0))
%1 = ne %0, 0:i32
%2:i32 = zext %1
%3 = block 2
%4:i32 = var
; (i32.le_s(get_local $7)(i32.const 57))
%5 = sle %4, 57:i32
blockpc %3 0 %5 1:i1
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
blockpc %3 1 %7 1:i1
; (i32.or(get_local $7)(i32.const 32))
%8 = or %4, 32:i32
; (i32.add(get_local $17)(i32.const -87))
%9 = add %8, -87:i32
; (i32.add(get_local $7)(i32.const -48))
%10 = add %4, -48:i32
%11 = phi %3, %9, %10
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
%13:i32 = zext %12
; (i32.or(get_local $147)(get_local $149))
%14 = or %2, %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
%16:i32 = zext %15
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
infer %17
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_hexfloat)
%0:i32 = var
; (i32.ne(get_local $20)(i32.const 0))
%1 = ne %0, 0:i32
%2:i32 = zext %1
%3 = block 2
%4:i32 = var
; (i32.le_s(get_local $7)(i32.const 57))
%5 = sle %4, 57:i32
blockpc %3 0 %5 1:i1
%6:i32 = zext %5
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
blockpc %3 1 %7 1:i1
; (i32.or(get_local $7)(i32.const 32))
%8 = or %4, 32:i32
; (i32.add(get_local $17)(i32.const -87))
%9 = add %8, -87:i32
; (i32.add(get_local $7)(i32.const -48))
%10 = add %4, -48:i32
%11 = phi %3, %9, %10
; (i32.eq(unreachable)(unreachable))
%12 = eq %11, 0:i32
%13:i32 = zext %12
; (i32.or(get_local $147)(get_local $149))
%14 = or %2, %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
%16:i32 = zext %15
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
infer %17
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $_hexfloat)
%0 = block 2
%1:i32 = var
; (i32.le_s(get_local $7)(i32.const 57))
%2 = sle %1, 57: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.or(get_local $7)(i32.const 32))
%5 = or %1, 32:i32
; (i32.add(get_local $17)(i32.const -87))
%6 = add %5, -87:i32
; (i32.add(get_local $7)(i32.const -48))
%7 = add %1, -48:i32
%8 = phi %0, %6, %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
%10:i32 = zext %9
infer %10
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_hexfloat)
%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 $_hexfloat)
%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 $_fmt_fp)
%0:i32 = var
; (i32.and(get_local $4)(i32.const 2048))
%1 = and %0, 2048: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 $_fmt_fp)
%0:i32 = var
; (i32.le_u(i32.const 11)(get_local $3))
%1 = ule 11:i32, %0
%2:i32 = zext %1
; (i32.sub(i32.const 12)(get_local $3))
%3 = sub 12:i32, %0
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
; (i32.or(get_local $121)(get_local $125))
%6 = or %2, %5
%7:i32 = var
; (i32.or(get_local $5)(i32.const 32))
%8 = or %7, 32:i32
; (i32.eq(get_local $11)(i32.const 97))
%9 = eq %8, 97:i32
%10:i64 = var
; (i64.and(get_local $60)(i64.const 9218868437227405312))
%11 = and %10, 9218868437227405312:i64
; (i64.eq(get_local $61)(i64.const 9218868437227405312))
%12 = eq %11, 9218868437227405312:i64
%13:i32 = zext %12
; (i32.eq(unreachable)(unreachable))
%14 = eq %13, 0:i32
pc %9 1:i1
pc %14 1:i1
infer %6
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $_fmt_fp)
%0:i32 = var
; (i32.le_u(i32.const 11)(get_local $3))
%1 = ule 11:i32, %0
%2:i32 = zext %1
; (i32.sub(i32.const 12)(get_local $3))
%3 = sub 12:i32, %0
; (i32.eq(unreachable)(unreachable))
%4 = eq %3, 0:i32
%5:i32 = zext %4
; (i32.or(get_local $121)(get_local $125))
%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
result %1
-----------------------------------------------------------
; start LHS (in $_fmt_fp)
%0:i32 = var
; (i32.eq(get_local $563)(i32.const 45))
%1 = eq %0, 45: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 $_fmt_fp)
%0 = block 2
%1:i32 = var
; (i32.lt_s(get_local $3)(i32.const 0))
%2 = slt %1, 0: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
%5 = phi %0, 6:i32, %1
; (i32.ne(get_local $10)(i32.const 0))
%6 = ne %5, 0:i32
%7:i32 = zext %6
; (i32.xor(get_local $23)(i32.const 1))
%8 = xor %7, 1:i32
; (i32.and(get_local $653)(i32.const 1))
%9 = and %8, 1:i32
%10:i32 = var
; (i32.or(get_local $5)(i32.const 32))
%11 = or %10, 32:i32
; (i32.eq(get_local $11)(i32.const 103))
%12 = eq %11, 103:i32
%13:i64 = var
; (i64.and(get_local $60)(i64.const 9218868437227405312))
%14 = and %13, 9218868437227405312:i64
; (i64.eq(get_local $61)(i64.const 9218868437227405312))
%15 = eq %14, 9218868437227405312:i64
%16:i32 = zext %15
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
pc %12 1:i1
pc %17 1:i1
infer %9
; RHS inferred successfully
result %8
-----------------------------------------------------------
; start LHS (in $_fmt_fp)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $4)(i32.const 8))
%2 = and %1, 8:i32
; (i32.eq(unreachable)(unreachable))
%3 = eq %2, 0:i32
blockpc %0 0 %3 1:i1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
blockpc %0 1 %5 1:i1
%6 = phi %0, %2, 0:i32
infer %6
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $_f_parser)
%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 $_f_parser)
%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 $_decfloat)
%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 $_b_test)
%0:i32 = var
%1:i32 = var
; (i32.and(get_local $27)(get_local $3))
%2 = and %0, %1
; (i32.ne(get_local $3)(i32.const 0))
%3 = ne %2, 0:i32
%4:i32 = zext %3
; (i32.ne(get_local $42)(i32.const 0))
%5 = ne %4, 0:i32
infer %5
; RHS inferred successfully
result %3
-----------------------------------------------------------
; start LHS (in $_b_arshift)
%0 = block 2
%1:i32 = var
; (i32.lt_s(get_local $2)(i32.const -31))
%2 = slt %1, -31: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
%5:i32 = var
; (i32.sub(i32.const 0)(get_local $2))
%6 = sub 0:i32, %1
; (i32.shl(get_local $1)(get_local $34))
%7 = shl %5, %6
%8 = phi %0, %7, 0:i32
infer %8
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $___rem_pio2_large)
%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4:i32 = var
; (i32.shr_s(get_local $17)(get_local $22))
%5 = ashr %3, %4
; (i32.shl(get_local $7)(get_local $22))
%6 = shl %5, %4
; (i32.sub(get_local $17)(get_local $199))
%7 = sub %3, %6
%8:i32 = var
; (i32.shr_s(get_local $9)(get_local $25))
%9 = ashr %7, %8
%10:i32 = var
; (i32.shr_s(get_local $214)(i32.const 23))
%11 = ashr %10, 23:i32
%12 = phi %2, %9, %11
%13 = phi %1, 2:i32, %12
; (i32.eq(get_local $9)(i32.const 2))
%14 = eq %13, 2:i32
blockpc %0 0 %14 1:i1
%15:i32 = zext %14
; (i32.eq(unreachable)(unreachable))
%16 = eq %15, 0:i32
blockpc %0 1 %16 1:i1
%17 = phi %0, %13, 2:i32
infer %17
; RHS inferred successfully
result 2:i32
-----------------------------------------------------------
; start LHS (in $___mo_lookup)
%0:i32 = var
; (i32.lt_s(get_local $3)(i32.const 0))
%1 = slt %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 $___intscan)
%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
-----------------------------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment