Skip to content

Instantly share code, notes, and snippets.

@regehr
Last active April 26, 2018 04:26
Show Gist options
  • Save regehr/c86af851d60a75e04ce19e270bcfc554 to your computer and use it in GitHub Desktop.
Save regehr/c86af851d60a75e04ce19e270bcfc554 to your computer and use it in GitHub Desktop.
-----------------------------------------------------------
; start LHS (in $53)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $36)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $38)(get_local $39))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $40)(get_local $41))
%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 $33)(get_local $34))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $50)(get_local $51))
%11 = sub %10, %3
; (i32.lt_u(get_local $52)(get_local $53))
%12 = ult %11, %5
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $53)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $36)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $38)(get_local $39))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $40)(get_local $41))
%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 $33)(get_local $34))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $47)(get_local $48))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $50)(get_local $51))
%14 = sub %13, %3
; (i32.lt_u(get_local $52)(get_local $53))
%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 $56)
%0:i32 = var
; (i32.add(get_local $30)(i32.const 1))
%1 = add %0, 1:i32
; (i32.and(get_local $40)(i32.const 255))
%2 = and %1, 255:i32
; (i32.and(get_local $45)(i32.const 255))
%3 = and %2, 255:i32
%4:i32 = var
; (i32.lt_s(get_local $32)(get_local $37))
%5 = slt %0, %4
pc %5 1:i1
infer %3
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $56)
%0:i32 = var
; (i32.add(get_local $30)(i32.const 1))
%1 = add %0, 1:i32
; (i32.and(get_local $53)(i32.const 255))
%2 = and %1, 255:i32
; (i32.and(get_local $60)(i32.const 255))
%3 = and %2, 255:i32
infer %3
; RHS inferred successfully
result %2
-----------------------------------------------------------
; start LHS (in $106)
%0 = block 2
%1:i32 = var
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
; (i32.or(get_local $15)(i32.const 32))
%6 = or %1, 32:i32
; (i32.add(get_local $16)(i32.const -97))
%7 = add %6, -97:i32
; (i32.lt_u(get_local $17)(i32.const 26))
%8 = ult %7, 26:i32
%9:i32 = zext %8
%10 = phi %5, %1, %9
; (i32.lt_u(get_local $19)(i32.const 32))
%11 = ult %10, 32:i32
%12:i32 = zext %11
; (i32.eq(get_local $21)(i32.const 127))
%13 = eq %10, 127:i32
%14:i32 = zext %13
; (i32.or(get_local $20)(get_local $22))
%15 = or %12, %14
%16 = phi %4, %1, %15
; (i32.add(get_local $24)(i32.const -48))
%17 = add %16, -48:i32
; (i32.lt_u(get_local $25)(i32.const 10))
%18 = ult %17, 10:i32
%19:i32 = zext %18
%20 = phi %3, %1, %19
; (i32.add(get_local $27)(i32.const -33))
%21 = add %20, -33:i32
; (i32.lt_u(get_local $28)(i32.const 94))
%22 = ult %21, 94:i32
%23:i32 = zext %22
%24 = phi %2, %1, %23
; (i32.add(get_local $30)(i32.const -97))
%25 = add %24, -97:i32
; (i32.lt_u(get_local $31)(i32.const 26))
%26 = ult %25, 26:i32
%27:i32 = zext %26
%28 = phi %0, %1, %27
; (i32.or(get_local $40)(i32.const 32))
%29 = or %28, 32:i32
; (i32.add(get_local $41)(i32.const -97))
%30 = add %29, -97:i32
; (i32.lt_u(get_local $42)(i32.const 26))
%31 = ult %30, 26:i32
%32:i32 = zext %31
; (i32.ne(get_local $43)(i32.const 0))
%33 = ne %32, 0:i32
; (i32.add(get_local $37)(i32.const -48))
%34 = add %28, -48:i32
; (i32.lt_u(get_local $38)(i32.const 10))
%35 = ult %34, 10:i32
%36:i32 = zext %35
; (i32.eq(unreachable)(unreachable))
%37 = eq %36, 0:i32
pc %37 1:i1
; (i32.add(get_local $34)(i32.const -33))
%38 = add %28, -33:i32
; (i32.lt_u(get_local $35)(i32.const 94))
%39 = ult %38, 94:i32
pc %39 1:i1
infer %33
; RHS inferred successfully
result %31
-----------------------------------------------------------
; start LHS (in $106)
%0 = block 2
%1:i32 = var
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
; (i32.or(get_local $15)(i32.const 32))
%10 = or %1, 32:i32
; (i32.add(get_local $16)(i32.const -97))
%11 = add %10, -97:i32
; (i32.lt_u(get_local $17)(i32.const 26))
%12 = ult %11, 26:i32
%13:i32 = zext %12
%14 = phi %9, %1, %13
; (i32.lt_u(get_local $19)(i32.const 32))
%15 = ult %14, 32:i32
%16:i32 = zext %15
; (i32.eq(get_local $21)(i32.const 127))
%17 = eq %14, 127:i32
%18:i32 = zext %17
; (i32.or(get_local $20)(get_local $22))
%19 = or %16, %18
%20 = phi %8, %1, %19
; (i32.add(get_local $24)(i32.const -48))
%21 = add %20, -48:i32
; (i32.lt_u(get_local $25)(i32.const 10))
%22 = ult %21, 10:i32
%23:i32 = zext %22
%24 = phi %7, %1, %23
; (i32.add(get_local $27)(i32.const -33))
%25 = add %24, -33:i32
; (i32.lt_u(get_local $28)(i32.const 94))
%26 = ult %25, 94:i32
%27:i32 = zext %26
%28 = phi %6, %1, %27
; (i32.add(get_local $30)(i32.const -97))
%29 = add %28, -97:i32
; (i32.lt_u(get_local $31)(i32.const 26))
%30 = ult %29, 26:i32
%31:i32 = zext %30
%32 = phi %5, %1, %31
; (i32.add(get_local $34)(i32.const -33))
%33 = add %32, -33:i32
; (i32.lt_u(get_local $35)(i32.const 94))
%34 = ult %33, 94:i32
blockpc %4 0 %34 1:i1
%35:i32 = zext %34
; (i32.eq(unreachable)(unreachable))
%36 = eq %35, 0:i32
blockpc %4 1 %36 1:i1
%37 = block 2
; (i32.add(get_local $37)(i32.const -48))
%38 = add %32, -48:i32
; (i32.lt_u(get_local $38)(i32.const 10))
%39 = ult %38, 10:i32
blockpc %37 0 %39 1:i1
%40:i32 = zext %39
; (i32.eq(unreachable)(unreachable))
%41 = eq %40, 0:i32
blockpc %37 1 %41 1:i1
; (i32.or(get_local $40)(i32.const 32))
%42 = or %32, 32:i32
; (i32.add(get_local $41)(i32.const -97))
%43 = add %42, -97:i32
; (i32.lt_u(get_local $42)(i32.const 26))
%44 = ult %43, 26:i32
%45:i32 = zext %44
; (i32.ne(get_local $43)(i32.const 0))
%46 = ne %45, 0:i32
%47:i32 = zext %46
%48 = phi %37, 1:i32, %47
; (i32.eq(unreachable)(unreachable))
%49 = eq %48, 0:i32
%50:i32 = zext %49
%51 = phi %4, %50, 0:i32
%52 = phi %3, %1, %51
; (i32.eq(get_local $50)(i32.const 32))
%53 = eq %52, 32:i32
%54:i32 = zext %53
; (i32.add(get_local $52)(i32.const -9))
%55 = add %52, -9:i32
; (i32.lt_u(get_local $53)(i32.const 5))
%56 = ult %55, 5:i32
%57:i32 = zext %56
; (i32.or(get_local $51)(get_local $54))
%58 = or %54, %57
%59 = phi %2, %1, %58
; (i32.add(get_local $56)(i32.const -65))
%60 = add %59, -65:i32
; (i32.lt_u(get_local $57)(i32.const 26))
%61 = ult %60, 26:i32
%62:i32 = zext %61
%63 = phi %0, %1, %62
; (i32.or(get_local $62)(i32.const 32))
%64 = or %63, 32:i32
; (i32.add(get_local $63)(i32.const -97))
%65 = add %64, -97:i32
; (i32.lt_u(get_local $64)(i32.const 26))
%66 = ult %65, 26:i32
%67:i32 = zext %66
; (i32.ne(get_local $65)(i32.const 0))
%68 = ne %67, 0:i32
; (i32.add(get_local $59)(i32.const -48))
%69 = add %63, -48:i32
; (i32.lt_u(get_local $60)(i32.const 10))
%70 = ult %69, 10:i32
%71:i32 = zext %70
; (i32.eq(unreachable)(unreachable))
%72 = eq %71, 0:i32
pc %72 1:i1
infer %68
; RHS inferred successfully
result %66
-----------------------------------------------------------
; start LHS (in $114)
%0:i32 = var
; (i32.add(get_local $6)(i32.const 15))
%1 = add %0, 15:i32
; (i32.and(get_local $7)(i32.const -16))
%2 = and %1, -16:i32
; (i32.le_s(i32.const 0)(get_local $11))
%3 = sle 0:i32, %2
%4:i32 = zext %3
%5:i32 = var
; (i32.add(get_local $5)(get_local $9))
%6 = add %5, %2
; (i32.lt_s(get_local $13)(get_local $14))
%7 = slt %6, %5
%8:i32 = zext %7
; (i32.and(get_local $12)(get_local $15))
%9 = and %4, %8
; (i32.lt_s(get_local $17)(i32.const 0))
%10 = slt %6, 0:i32
%11:i32 = zext %10
; (i32.or(get_local $16)(get_local $18))
%12 = or %9, %11
infer %12
; RHS inferred successfully
result %11
-----------------------------------------------------------
; start LHS (in $125)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $51)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $53)(get_local $54))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $55)(get_local $56))
%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 $48)(get_local $49))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $65)(get_local $66))
%11 = sub %10, %3
; (i32.lt_u(get_local $67)(get_local $68))
%12 = ult %11, %5
; (i32.sub(get_local $37)(get_local $42))
%13 = sub %1, %3
; (i32.lt_u(get_local $43)(get_local $46))
%14 = ult %13, %5
pc %14 1:i1
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $125)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $51)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $53)(get_local $54))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $55)(get_local $56))
%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 $48)(get_local $49))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $62)(get_local $63))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $65)(get_local $66))
%14 = sub %13, %3
; (i32.lt_u(get_local $67)(get_local $68))
%15 = ult %14, %5
%16:i32 = zext %15
; (i32.or(get_local $64)(get_local $69))
%17 = or %12, %16
; (i32.sub(get_local $37)(get_local $42))
%18 = sub %1, %3
; (i32.lt_u(get_local $43)(get_local $46))
%19 = ult %18, %5
pc %19 1:i1
infer %17
; RHS inferred successfully
result %12
-----------------------------------------------------------
; start LHS (in $136)
%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 $27))
%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 $36)(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 $143)
%0 = block 2
%1:i32 = var
; (i32.eq(get_local $9)(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 $11)(get_local $12))
%7 = eq %5, %6
%8:i32 = zext %7
%9 = block 2
; (i32.eq(get_local $16)(get_local $17))
%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 $19)(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 $37)(i32.const 1))
%25 = and %24, 1:i32
infer %25
; RHS inferred successfully
result %24
-----------------------------------------------------------
; start LHS (in $153)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $12)(i32.const 2147483647))
%2 = and %1, 2147483647:i32
; (i32.le_u(get_local $33)(i32.const 1071001154))
%3 = ule %2, 1071001154: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 = block 2
; (i32.lt_u(get_local $35)(i32.const 1016070144))
%7 = ult %2, 1016070144:i32
blockpc %6 0 %7 1:i1
%8:i32 = zext %7
; (i32.eq(unreachable)(unreachable))
%9 = eq %8, 0:i32
blockpc %6 1 %9 1:i1
%10 = phi %6, %2, 0:i32
%11 = phi %0, %2, %10
; (i32.lt_u(i32.const 1072734898)(get_local $38))
%12 = ult 1072734898:i32, %11
; (i32.le_u(i32.const 1078159481)(get_local $17))
%13 = ule 1078159481:i32, %2
%14:i32 = zext %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
pc %15 1:i1
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $158)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $44)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $46)(get_local $47))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $48)(get_local $49))
%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 $41)(get_local $42))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $58)(get_local $59))
%11 = sub %10, %3
; (i32.lt_u(get_local $60)(get_local $61))
%12 = ult %11, %5
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $158)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $44)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $46)(get_local $47))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $48)(get_local $49))
%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 $41)(get_local $42))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $55)(get_local $56))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $58)(get_local $59))
%14 = sub %13, %3
; (i32.lt_u(get_local $60)(get_local $61))
%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 $207)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $13)(i32.const 2147483647))
%2 = and %1, 2147483647:i32
; (i32.le_u(i32.const 1141899263)(get_local $15))
%3 = ule 1141899263:i32, %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:i64 = var
; (i64.and(get_local $17)(i64.const 9223372036854775807))
%7 = and %6, 9223372036854775807:i64
; (i64.le_u(i64.const 9218868437227405312)(get_local $18))
%8 = ule 9218868437227405312:i64, %7
%9:i32 = zext %8
%10 = phi %0, %2, %9
; (i32.lt_u(get_local $30)(i32.const 1044381696))
%11 = ult %10, 1044381696:i32
; (i32.lt_u(get_local $28)(i32.const 1071382528))
%12 = ult %10, 1071382528:i32
pc %12 1:i1
infer %11
; RHS inferred successfully
result 1:i1
-----------------------------------------------------------
; start LHS (in $207)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $13)(i32.const 2147483647))
%2 = and %1, 2147483647:i32
; (i32.le_u(i32.const 1141899263)(get_local $15))
%3 = ule 1141899263:i32, %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:i64 = var
; (i64.and(get_local $17)(i64.const 9223372036854775807))
%7 = and %6, 9223372036854775807:i64
; (i64.le_u(i64.const 9218868437227405312)(get_local $18))
%8 = ule 9218868437227405312:i64, %7
%9:i32 = zext %8
%10 = phi %0, %2, %9
; (i32.lt_u(get_local $35)(i32.const 1072889856))
%11 = ult %10, 1072889856:i32
; (i32.lt_u(get_local $28)(i32.const 1071382528))
%12 = ult %10, 1071382528:i32
%13:i32 = zext %12
; (i32.eq(unreachable)(unreachable))
%14 = eq %13, 0:i32
pc %14 1:i1
infer %11
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $207)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $13)(i32.const 2147483647))
%2 = and %1, 2147483647:i32
; (i32.le_u(i32.const 1141899263)(get_local $15))
%3 = ule 1141899263:i32, %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:i64 = var
; (i64.and(get_local $17)(i64.const 9223372036854775807))
%7 = and %6, 9223372036854775807:i64
; (i64.le_u(i64.const 9218868437227405312)(get_local $18))
%8 = ule 9218868437227405312:i64, %7
%9:i32 = zext %8
%10 = phi %0, %2, %9
; (i32.lt_u(get_local $35)(i32.const 1072889856))
%11 = ult %10, 1072889856:i32
pc %11 1:i1
; (i32.lt_u(get_local $28)(i32.const 1071382528))
%12 = ult %10, 1071382528:i32
%13:i32 = zext %12
; (i32.eq(unreachable)(unreachable))
%14 = eq %13, 0:i32
pc %14 1:i1
infer %10
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $207)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $13)(i32.const 2147483647))
%2 = and %1, 2147483647:i32
; (i32.le_u(i32.const 1141899263)(get_local $15))
%3 = ule 1141899263:i32, %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:i64 = var
; (i64.and(get_local $17)(i64.const 9223372036854775807))
%7 = and %6, 9223372036854775807:i64
; (i64.le_u(i64.const 9218868437227405312)(get_local $18))
%8 = ule 9218868437227405312:i64, %7
%9:i32 = zext %8
%10 = phi %0, %2, %9
; (i32.lt_u(get_local $37)(i32.const 1072037888))
%11 = ult %10, 1072037888:i32
; (i32.lt_u(get_local $35)(i32.const 1072889856))
%12 = ult %10, 1072889856:i32
pc %12 1:i1
; (i32.lt_u(get_local $28)(i32.const 1071382528))
%13 = ult %10, 1071382528:i32
%14:i32 = zext %13
; (i32.eq(unreachable)(unreachable))
%15 = eq %14, 0:i32
pc %15 1:i1
infer %11
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $207)
%0 = block 2
%1:i32 = var
; (i32.and(get_local $13)(i32.const 2147483647))
%2 = and %1, 2147483647:i32
; (i32.le_u(i32.const 1141899263)(get_local $15))
%3 = ule 1141899263:i32, %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:i64 = var
; (i64.and(get_local $17)(i64.const 9223372036854775807))
%7 = and %6, 9223372036854775807:i64
; (i64.le_u(i64.const 9218868437227405312)(get_local $18))
%8 = ule 9218868437227405312:i64, %7
%9:i32 = zext %8
%10 = phi %0, %2, %9
; (i32.lt_u(get_local $56)(i32.const 1073971200))
%11 = ult %10, 1073971200:i32
; (i32.lt_u(get_local $35)(i32.const 1072889856))
%12 = ult %10, 1072889856:i32
%13:i32 = zext %12
; (i32.eq(unreachable)(unreachable))
%14 = eq %13, 0:i32
pc %14 1:i1
; (i32.lt_u(get_local $28)(i32.const 1071382528))
%15 = ult %10, 1071382528:i32
%16:i32 = zext %15
; (i32.eq(unreachable)(unreachable))
%17 = eq %16, 0:i32
pc %17 1:i1
infer %11
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $207)
%0 = block 2
%1 = block 2
%2:i32 = var
; (i32.and(get_local $13)(i32.const 2147483647))
%3 = and %2, 2147483647:i32
; (i32.le_u(i32.const 1141899263)(get_local $15))
%4 = ule 1141899263:i32, %3
blockpc %1 0 %4 1:i1
%5:i32 = zext %4
; (i32.eq(unreachable)(unreachable))
%6 = eq %5, 0:i32
blockpc %1 1 %6 1:i1
%7:i64 = var
; (i64.and(get_local $17)(i64.const 9223372036854775807))
%8 = and %7, 9223372036854775807:i64
; (i64.le_u(i64.const 9218868437227405312)(get_local $18))
%9 = ule 9218868437227405312:i64, %8
%10:i32 = zext %9
%11 = phi %1, %3, %10
; (i32.lt_u(get_local $28)(i32.const 1071382528))
%12 = ult %11, 1071382528:i32
blockpc %0 0 %12 1:i1
%13:i32 = zext %12
; (i32.eq(unreachable)(unreachable))
%14 = eq %13, 0:i32
blockpc %0 1 %14 1:i1
%15 = block 2
; (i32.lt_u(get_local $30)(i32.const 1044381696))
%16 = ult %11, 1044381696:i32
blockpc %15 0 %16 1:i1
%17:i32 = zext %16
; (i32.eq(unreachable)(unreachable))
%18 = eq %17, 0:i32
blockpc %15 1 %18 1:i1
%19 = phi %15, %11, -1:i32
%20 = block 2
; (i32.lt_u(get_local $35)(i32.const 1072889856))
%21 = ult %11, 1072889856:i32
blockpc %20 0 %21 1:i1
%22:i32 = zext %21
; (i32.eq(unreachable)(unreachable))
%23 = eq %22, 0:i32
blockpc %20 1 %23 1:i1
%24 = block 2
; (i32.lt_u(get_local $37)(i32.const 1072037888))
%25 = ult %11, 1072037888:i32
blockpc %24 0 %25 1:i1
%26:i32 = zext %25
; (i32.eq(unreachable)(unreachable))
%27 = eq %26, 0:i32
blockpc %24 1 %27 1:i1
%28 = phi %24, 0:i32, 1:i32
%29 = block 2
; (i32.lt_u(get_local $56)(i32.const 1073971200))
%30 = ult %11, 1073971200:i32
blockpc %29 0 %30 1:i1
%31:i32 = zext %30
; (i32.eq(unreachable)(unreachable))
%32 = eq %31, 0:i32
blockpc %29 1 %32 1:i1
%33 = phi %29, 2:i32, 3:i32
%34 = phi %20, %28, %33
%35 = phi %0, %19, %34
; (i32.lt_s(get_local $111)(i32.const 0))
%36 = slt %35, 0:i32
infer %36
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $260)
%0 = block 2
%1:i64 = var
; (i64.and(get_local $12)(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
pc %3 1:i1
infer %7
; RHS inferred successfully
result 0:i32
-----------------------------------------------------------
; start LHS (in $260)
%0 = block 2
%1:i64 = var
; (i64.and(get_local $12)(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 $330)
%0 = block 2
%1:i32 = var
%2 = phi %0, 1024:i32, %1
; (i32.eq(get_local $20)(i32.const 1024))
%3 = eq %2, 1024:i32
pc %3 1:i1
infer %2
; RHS inferred successfully
result 1024:i32
-----------------------------------------------------------
; start LHS (in $415)
%0 = block 2
%1:i32 = var
%2 = phi %0, 0:i32, %1
; (i32.eq(get_local $22)(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 $416)
%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 $427)
%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 $450)
%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 $63)(i32.const 1))
%5 = xor %4, 1:i32
; (i32.and(get_local $64)(i32.const 1))
%6 = and %5, 1:i32
infer %6
; RHS inferred successfully
result %5
-----------------------------------------------------------
; start LHS (in $450)
%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 $71)(i32.const 1))
%5 = and %4, 1:i32
%6:i32 = var
; (i32.and(get_local $21)(i32.const 63))
%7 = and %6, 63:i32
; (i32.eq(get_local $69)(i32.const 26))
%8 = eq %7, 26:i32
pc %8 1:i1
infer %5
; RHS inferred successfully
result %4
-----------------------------------------------------------
; start LHS (in $450)
%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 $63)(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.ne(unreachable)(unreachable))
%8 = ne %7, 0:i32
pc %8 1:i1
%9:i32 = var
; (i32.and(get_local $21)(i32.const 63))
%10 = and %9, 63:i32
; (i32.eq(get_local $69)(i32.const 26))
%11 = eq %10, 26:i32
pc %11 1:i1
infer %6
; RHS inferred successfully
result %5
-----------------------------------------------------------
; start LHS (in $450)
%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 $71)(i32.const 1))
%5 = and %4, 1:i32
%6:i32 = var
; (i32.eq(unreachable)(unreachable))
%7 = eq %6, 0:i32
pc %7 1:i1
%8:i32 = var
; (i32.and(get_local $21)(i32.const 63))
%9 = and %8, 63:i32
; (i32.eq(get_local $69)(i32.const 26))
%10 = eq %9, 26:i32
pc %10 1:i1
infer %5
; RHS inferred successfully
result %4
-----------------------------------------------------------
; start LHS (in $450)
%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 $63)(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 $21)(i32.const 63))
%8 = and %7, 63:i32
; (i32.eq(get_local $69)(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 $512)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $46)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $48)(get_local $49))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $50)(get_local $51))
%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 $43)(get_local $44))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.sub(get_local $60)(get_local $61))
%11 = sub %10, %3
; (i32.lt_u(get_local $62)(get_local $63))
%12 = ult %11, %5
infer %12
; RHS inferred successfully
result 0:i1
-----------------------------------------------------------
; start LHS (in $512)
%0 = block 2
%1:i32 = var
; (i32.shl(get_local $46)(i32.const 1))
%2 = shl %1, 1:i32
%3:i32 = var
; (i32.sub(get_local $48)(get_local $49))
%4 = sub %2, %3
%5:i32 = var
; (i32.lt_u(get_local $50)(get_local $51))
%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 $43)(get_local $44))
%9 = add %3, %5
%10 = phi %0, %9, %2
; (i32.lt_u(get_local $57)(get_local $58))
%11 = ult %10, %3
%12:i32 = zext %11
%13 = phi %0, %9, %2
; (i32.sub(get_local $60)(get_local $61))
%14 = sub %13, %3
; (i32.lt_u(get_local $62)(get_local $63))
%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 $612)
%0:i32 = var
; (i32.add(get_local $39)(i32.const 2))
%1 = add %0, 2:i32
; (i32.and(get_local $53)(i32.const 255))
%2 = and %1, 255:i32
; (i32.le_u(i32.const 249)(get_local $48))
%3 = ule 249:i32, %1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
pc %5 1:i1
%6:i32 = var
; (i32.le_u(get_local $46)(get_local $41))
%7 = ule %6, %1
pc %7 1:i1
infer %2
; RHS inferred successfully
result %1
-----------------------------------------------------------
; start LHS (in $612)
%0:i32 = var
; (i32.add(get_local $39)(i32.const 2))
%1 = add %0, 2:i32
; (i32.and(get_local $53)(i32.const 255))
%2 = and %1, 255:i32
; (i32.le_u(i32.const 249)(get_local $48))
%3 = ule 249:i32, %1
%4:i32 = zext %3
; (i32.eq(unreachable)(unreachable))
%5 = eq %4, 0:i32
pc %5 1:i1
%6:i32 = var
; (i32.le_u(get_local $46)(get_local $41))
%7 = ule %6, %1
pc %7 1:i1
infer %2
; RHS inferred successfully
result %1
-----------------------------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment