Skip to content

Instantly share code, notes, and snippets.

@saethlin
Created April 14, 2022 21:38
Show Gist options
  • Save saethlin/816e4a47c54654ad15789fc7c5cbab71 to your computer and use it in GitHub Desktop.
Save saethlin/816e4a47c54654ad15789fc7c5cbab71 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
<%0 = block 12
%1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1
%2:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64
%3:i64 = addnw 4294967284:i64, %2
%4:i64 = select %1, %3, %2
%5:i32 = trunc %4
%6:i32 = add 2:i32, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1
%2:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64
%3:i64 = addnw 4294967284:i64, %2
%4:i64 = select %1, %3, %2
%5:i32 = trunc %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1
%2:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64
%3:i64 = addnw 4294967284:i64, %2
%4:i64 = select %1, %3, %2
infer %4 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1
%2:i64 = select %1, 1:i64, 0:i64
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1
infer %1
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1
%2:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64
%3:i64 = addnw 4294967284:i64, %2
%4:i64 = select %1, %3, %2
%5:i32 = trunc %4
%6:i32 = add 2:i32, %5
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1
%2:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64
%3:i64 = addnw 4294967284:i64, %2
%4:i64 = select %1, %3, %2
%5:i32 = trunc %4
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1
%2:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64
%3:i64 = addnw 4294967284:i64, %2
%4:i64 = select %1, %3, %2
infer %4 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i32 = phi %0, 0:i32, 0:i32, 2080374784:i32, 1073741824:i32, 0:i32, 1073741824:i32, 0:i32, 0:i32, 704643072:i32, 0:i32, 0:i32, 788529152:i32
infer %1
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i32 = phi %0, 0:i32, 0:i32, 65536:i32, 65536:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32
%2:i32 = phi %0, 0:i32, 0:i32, 2080374784:i32, 1073741824:i32, 0:i32, 1073741824:i32, 0:i32, 0:i32, 704643072:i32, 0:i32, 0:i32, 788529152:i32
%3:i32 = or %1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i32 = phi %0, 0:i32, 0:i32, 65536:i32, 65536:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32
infer %1
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i32 = phi %0, 9:i32, 11:i32, 9:i32, 7:i32, 7:i32, 12:i32, 12:i32, 14:i32, 8:i32, 8:i32, 10:i32, 10:i32
%2:i32 = phi %0, 0:i32, 0:i32, 65536:i32, 65536:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32
%3:i32 = phi %0, 0:i32, 0:i32, 2080374784:i32, 1073741824:i32, 0:i32, 1073741824:i32, 0:i32, 0:i32, 704643072:i32, 0:i32, 0:i32, 788529152:i32
%4:i32 = or %2, %3
%5:i32 = or %1, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i32 = phi %0, 9:i32, 11:i32, 9:i32, 7:i32, 7:i32, 12:i32, 12:i32, 14:i32, 8:i32, 8:i32, 10:i32, 10:i32
infer %1
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64
%2:i64 = addnw 4294967284:i64, %1
infer %2 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64
infer %1 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64
%2:i64 = addnw 4294967284:i64, %1
infer %2 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64
infer %1 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46
infer %47
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49
infer %50
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
infer %51
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i32 = trunc %47
%53:i32 = select %50, 0:i32, %52
infer %53
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i32 = trunc %47
infer %52
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i64 = addnsw 86400:i64, %7
%53:i64 = select %8, %52, %7 (hasExternalUses)
%54:i32 = trunc %53
%55:i32 = udiv %54, 3600:i32
infer %55
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i64 = addnsw 86400:i64, %7
%53:i64 = select %8, %52, %7 (hasExternalUses)
%54:i32 = trunc %53
%55:i32 = udiv %54, 60:i32
%56:i16 = trunc %55
%57:i16 = srem %56, 60:i16
%58:i32 = sext %57
infer %58
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i64 = addnsw 86400:i64, %7
%53:i64 = select %8, %52, %7 (hasExternalUses)
%54:i32 = trunc %53
%55:i32 = udiv %54, 60:i32
%56:i16 = trunc %55
%57:i16 = srem %56, 60:i16
infer %57
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i64 = addnsw 86400:i64, %7
%53:i64 = select %8, %52, %7 (hasExternalUses)
%54:i32 = trunc %53
%55:i32 = udiv %54, 60:i32
%56:i16 = trunc %55
infer %56
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i64 = addnsw 86400:i64, %7
%53:i64 = select %8, %52, %7 (hasExternalUses)
%54:i32 = trunc %53
%55:i32 = udiv %54, 60:i32
infer %55 (demandedBits=00000000000000001111111111111111)
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i64 = addnsw 86400:i64, %7
%53:i64 = select %8, %52, %7 (hasExternalUses)
%54:i32 = trunc %53
infer %54
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i64 = mulnsw 18446744073709551251:i64, %45
%53:i64 = addnsw %39, %52
%54:i64 = addnsw 18446744073709551310:i64, %53
%55:i64 = addnsw 18446744073709551279:i64, %53
%56:i64 = addnsw 18446744073709551341:i64, %53
%57:i64 = addnsw 18446744073709551371:i64, %53
%58:i64 = addnsw 18446744073709551402:i64, %53
%59:i64 = addnsw 18446744073709551432:i64, %53
%60:i64 = addnsw 18446744073709551463:i64, %53
%61:i64 = addnsw 18446744073709551494:i64, %53
%62:i64 = addnsw 18446744073709551524:i64, %53
%63:i64 = addnsw 18446744073709551555:i64, %53
%64:i64 = addnsw 18446744073709551585:i64, %53
%65:i64 = phi %0, %54, %55, %56, %57, %58, %59, %60, %61, %62, %63, %64, %53
%66:i32 = trunc %65
%67:i32 = addnsw 1:i32, %66
infer %67
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
%49:i1 = slt 2147483647:i64, %47
%50:i1 = select %48, 1:i1, %49 (hasExternalUses)
%51:i1 = select %50, 0:i1, 1:i1
pc %51 1:i1
%52:i64 = mulnsw 18446744073709551251:i64, %45
%53:i64 = addnsw %39, %52
%54:i64 = addnsw 18446744073709551310:i64, %53
%55:i64 = addnsw 18446744073709551279:i64, %53
%56:i64 = addnsw 18446744073709551341:i64, %53
%57:i64 = addnsw 18446744073709551371:i64, %53
%58:i64 = addnsw 18446744073709551402:i64, %53
%59:i64 = addnsw 18446744073709551432:i64, %53
%60:i64 = addnsw 18446744073709551463:i64, %53
%61:i64 = addnsw 18446744073709551494:i64, %53
%62:i64 = addnsw 18446744073709551524:i64, %53
%63:i64 = addnsw 18446744073709551555:i64, %53
%64:i64 = addnsw 18446744073709551585:i64, %53
%65:i64 = phi %0, %54, %55, %56, %57, %58, %59, %60, %61, %62, %63, %64, %53
%66:i32 = trunc %65
infer %66
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt %47, 18446744071562067968:i64
infer %48
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
%2:i64 = var
%3:i64 = var
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = add %2, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = srem %5, 86400:i64 (hasExternalUses)
%8:i1 = slt %7, 0:i64 (hasExternalUses)
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = addnsw %6, %9
%11:i64 = sdiv %10, 146097:i64
%12:i64 = srem %10, 146097:i64
%13:i1 = slt %12, 0:i64
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %11, %14
%16:i64 = mulnsw 400:i64, %15
%17:i64 = addnsw 100:i64, %16
%18:i64 = addnsw 146097:i64, %12
%19:i64 = select %13, %18, %12
%20:i64 = addnsw 18446744073709405520:i64, %19
%21:i1 = ult %20, 36524:i64
%22:i32 = trunc %19
%23:i32 = sdiv %22, 36524:i32
%24:i64 = sext %23
%25:i64 = select %21, 3:i64, %24
%26:i64 = mulnw 100:i64, %25
%27:i64 = addnsw %17, %26
%28:i64 = mulnsw 18446744073709515092:i64, %25
%29:i64 = addnsw %28, %19
%30:i64 = addnsw 18446744073709515091:i64, %29
%31:i1 = ult %30, 1461:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 1461:i32
%34:i64 = sext %33
%35:i64 = select %31, 24:i64, %34
%36:i64 = shlnsw %35, 2:i64
%37:i64 = addnsw %27, %36
%38:i64 = mulnsw 18446744073709550155:i64, %35
%39:i64 = addnsw %29, %38 (hasExternalUses)
%40:i64 = addnsw 18446744073709550156:i64, %39
%41:i1 = ult %40, 365:i64
%42:i32 = trunc %39
%43:i32 = sdiv %42, 365:i32
%44:i64 = sext %43
%45:i64 = select %41, 3:i64, %44 (hasExternalUses)
%46:i64 = add %37, %45
%47:i64 = add %1, %46 (hasExternalUses)
%48:i1 = slt 2147483647:i64, %47
infer %48
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = var
%2:i64 = var
%3:i64 = add 18446744072757682816:i64, %2
%4:i64 = add %1, %3
%5:i64 = sdiv %4, 86400:i64
%6:i64 = srem %4, 86400:i64 (hasExternalUses)
%7:i1 = slt %6, 0:i64 (hasExternalUses)
%8:i64 = select %7, 18446744073709551615:i64, 0:i64
%9:i64 = addnsw %5, %8 (hasExternalUses)
%10:i64 = srem %9, 146097:i64
%11:i1 = slt %10, 0:i64 (hasExternalUses)
%12:i64 = addnsw 146097:i64, %10
%13:i64 = select %11, %12, %10
%14:i64 = addnsw 18446744073709405520:i64, %13
%15:i1 = ult %14, 36524:i64
%16:i32 = trunc %13
%17:i32 = sdiv %16, 36524:i32
%18:i64 = sext %17
%19:i64 = select %15, 3:i64, %18 (hasExternalUses)
%20:i64 = mulnsw 18446744073709515092:i64, %19
%21:i64 = addnsw %20, %13
%22:i64 = addnsw 18446744073709515091:i64, %21
%23:i1 = ult %22, 1461:i64
%24:i32 = trunc %21
%25:i32 = sdiv %24, 1461:i32
%26:i64 = sext %25
%27:i64 = select %23, 24:i64, %26 (hasExternalUses)
%28:i64 = mulnsw 18446744073709550155:i64, %27
%29:i64 = addnsw %21, %28
%30:i64 = addnsw 18446744073709550156:i64, %29
%31:i1 = ult %30, 365:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 365:i32
%34:i64 = sext %33
%35:i64 = select %31, 3:i64, %34 (hasExternalUses)
%36:i64 = mulnsw 18446744073709551251:i64, %35
%37:i64 = addnsw %29, %36 (hasExternalUses)
%38:i64 = addnsw 18446744073709551310:i64, %37
%39:i64 = addnsw 18446744073709551279:i64, %37
%40:i64 = addnsw 18446744073709551341:i64, %37
%41:i64 = addnsw 18446744073709551371:i64, %37
%42:i64 = addnsw 18446744073709551402:i64, %37
%43:i64 = addnsw 18446744073709551432:i64, %37
%44:i64 = addnsw 18446744073709551463:i64, %37
%45:i64 = addnsw 18446744073709551494:i64, %37
%46:i64 = addnsw 18446744073709551524:i64, %37
%47:i64 = addnsw 18446744073709551555:i64, %37
%48:i64 = addnsw 18446744073709551585:i64, %37
%49:i64 = phi %0, %38, %39, %40, %41, %42, %43, %44, %45, %46, %47, %48, %37
infer %49 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 12
%1:i64 = var
%2:i64 = var
%3:i64 = add 18446744072757682816:i64, %2
%4:i64 = add %1, %3
%5:i64 = sdiv %4, 86400:i64
%6:i64 = srem %4, 86400:i64 (hasExternalUses)
%7:i1 = slt %6, 0:i64 (hasExternalUses)
%8:i64 = select %7, 18446744073709551615:i64, 0:i64
%9:i64 = addnsw %5, %8 (hasExternalUses)
%10:i64 = srem %9, 146097:i64
%11:i1 = slt %10, 0:i64 (hasExternalUses)
%12:i64 = addnsw 146097:i64, %10
%13:i64 = select %11, %12, %10
%14:i64 = addnsw 18446744073709405520:i64, %13
%15:i1 = ult %14, 36524:i64
%16:i32 = trunc %13
%17:i32 = sdiv %16, 36524:i32
%18:i64 = sext %17
%19:i64 = select %15, 3:i64, %18 (hasExternalUses)
%20:i64 = mulnsw 18446744073709515092:i64, %19
%21:i64 = addnsw %20, %13
%22:i64 = addnsw 18446744073709515091:i64, %21
%23:i1 = ult %22, 1461:i64
%24:i32 = trunc %21
%25:i32 = sdiv %24, 1461:i32
%26:i64 = sext %25
%27:i64 = select %23, 24:i64, %26 (hasExternalUses)
%28:i64 = mulnsw 18446744073709550155:i64, %27
%29:i64 = addnsw %21, %28
%30:i64 = addnsw 18446744073709550156:i64, %29
%31:i1 = ult %30, 365:i64
%32:i32 = trunc %29
%33:i32 = sdiv %32, 365:i32
%34:i64 = sext %33
%35:i64 = select %31, 3:i64, %34 (hasExternalUses)
%36:i64 = mulnsw 18446744073709551251:i64, %35
%37:i64 = addnsw %29, %36 (hasExternalUses)
%38:i64 = addnsw 18446744073709551585:i64, %37
%39:i64 = addnsw 18446744073709551555:i64, %37
%40:i64 = addnsw 18446744073709551524:i64, %37
%41:i64 = addnsw 18446744073709551494:i64, %37
%42:i64 = addnsw 18446744073709551463:i64, %37
%43:i64 = addnsw 18446744073709551432:i64, %37
%44:i64 = addnsw 18446744073709551402:i64, %37
%45:i64 = addnsw 18446744073709551371:i64, %37
%46:i64 = addnsw 18446744073709551341:i64, %37
%47:i64 = addnsw 18446744073709551310:i64, %37
%48:i64 = addnsw 18446744073709551279:i64, %37
%49:i64 = phi %0, %37, %38, %39, %40, %41, %42, %43, %44, %45, %46, %47, %48
infer %49 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 13
%1 = block 2
%2:i8 = var
%3:i8 = var
%4:i8 = phi %1, %2, %3
%5:i1 = eq 2:i8, %4
%6:i32 = select %5, 65536:i32, 0:i32
%7 = block 2
%8:i8 = var
%9:i8 = phi %7, %8, %3
%10:i1 = eq 2:i8, %9
%11:i32 = select %10, 65536:i32, 0:i32
%12 = block 2
%13:i8 = var
%14:i8 = phi %12, %13, %3
%15:i1 = eq 2:i8, %14
%16:i32 = select %15, 65536:i32, 0:i32
%17 = block 2
%18:i8 = var
%19:i8 = phi %17, %18, %3
%20:i1 = eq 0:i8, %19
%21:i32 = select %20, 0:i32, 65536:i32
%22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 65536:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32
%23:i32 = select %5, 1073741824:i32, 0:i32
%24:i32 = select %10, 1073741824:i32, 0:i32
%25:i32 = select %15, 704643072:i32, 0:i32
%26:i32 = select %20, 0:i32, 788529152:i32
%27:i32 = phi %0, 0:i32, 0:i32, 0:i32, 2080374784:i32, %23, %24, %25, %26, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32
%28:i32 = or %22, %27
%29 = block 3
%30 = block 5
%31:i8 = var
%32:i8 = phi %30, 244:i8, 244:i8, %31, 0:i8, 244:i8
%33:i8 = phi %29, 0:i8, %32, 0:i8
%34:i32 = zext %33
%35:i32 = shlnw %34, 8:i32
%36:i32 = or %28, %35
%37:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14))
%38:i8 = phi %30, 13:i8, 13:i8, %37, 5:i8, 13:i8
%39:i8 = phi %0, 9:i8, 11:i8, 14:i8, 9:i8, 7:i8, 12:i8, 8:i8, 10:i8, 14:i8, 14:i8, 14:i8, 14:i8, 14:i8
%40:i8 = phi %29, 0:i8, %38, %39
%41:i32 = zext %40
%42:i32 = or %36, %41
infer %42
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 13
%1 = block 2
%2:i8 = var
%3:i8 = var
%4:i8 = phi %1, %2, %3
%5:i1 = eq 2:i8, %4
%6:i32 = select %5, 65536:i32, 0:i32
%7 = block 2
%8:i8 = var
%9:i8 = phi %7, %8, %3
%10:i1 = eq 2:i8, %9
%11:i32 = select %10, 65536:i32, 0:i32
%12 = block 2
%13:i8 = var
%14:i8 = phi %12, %13, %3
%15:i1 = eq 2:i8, %14
%16:i32 = select %15, 65536:i32, 0:i32
%17 = block 2
%18:i8 = var
%19:i8 = phi %17, %18, %3
%20:i1 = eq 0:i8, %19
%21:i32 = select %20, 0:i32, 65536:i32
%22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 65536:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32
%23:i32 = select %5, 1073741824:i32, 0:i32
%24:i32 = select %10, 1073741824:i32, 0:i32
%25:i32 = select %15, 704643072:i32, 0:i32
%26:i32 = select %20, 0:i32, 788529152:i32
%27:i32 = phi %0, 0:i32, 0:i32, 0:i32, 2080374784:i32, %23, %24, %25, %26, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32
%28:i32 = or %22, %27
%29 = block 3
%30 = block 5
%31:i8 = var
%32:i8 = phi %30, 244:i8, 244:i8, %31, 0:i8, 244:i8
%33:i8 = phi %29, 0:i8, %32, 0:i8
%34:i32 = zext %33
%35:i32 = shlnw %34, 8:i32
%36:i32 = or %28, %35
infer %36
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 13
%1 = block 2
%2:i8 = var
%3:i8 = var
%4:i8 = phi %1, %2, %3
%5:i1 = eq 2:i8, %4
%6:i32 = select %5, 65536:i32, 0:i32
%7 = block 2
%8:i8 = var
%9:i8 = phi %7, %8, %3
%10:i1 = eq 2:i8, %9
%11:i32 = select %10, 65536:i32, 0:i32
%12 = block 2
%13:i8 = var
%14:i8 = phi %12, %13, %3
%15:i1 = eq 2:i8, %14
%16:i32 = select %15, 65536:i32, 0:i32
%17 = block 2
%18:i8 = var
%19:i8 = phi %17, %18, %3
%20:i1 = eq 0:i8, %19
%21:i32 = select %20, 0:i32, 65536:i32
%22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 65536:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32
%23:i32 = select %5, 1073741824:i32, 0:i32
%24:i32 = select %10, 1073741824:i32, 0:i32
%25:i32 = select %15, 704643072:i32, 0:i32
%26:i32 = select %20, 0:i32, 788529152:i32
%27:i32 = phi %0, 0:i32, 0:i32, 0:i32, 2080374784:i32, %23, %24, %25, %26, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32
%28:i32 = or %22, %27
infer %28
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 13
%1 = block 2
%2:i8 = var
%3:i8 = var
%4:i8 = phi %1, %2, %3
%5:i1 = eq 2:i8, %4 (hasExternalUses)
%6:i32 = select %5, 1073741824:i32, 0:i32
%7 = block 2
%8:i8 = var
%9:i8 = phi %7, %8, %3
%10:i1 = eq 2:i8, %9 (hasExternalUses)
%11:i32 = select %10, 1073741824:i32, 0:i32
%12 = block 2
%13:i8 = var
%14:i8 = phi %12, %13, %3
%15:i1 = eq 2:i8, %14 (hasExternalUses)
%16:i32 = select %15, 704643072:i32, 0:i32
%17 = block 2
%18:i8 = var
%19:i8 = phi %17, %18, %3
%20:i1 = eq 0:i8, %19 (hasExternalUses)
%21:i32 = select %20, 0:i32, 788529152:i32
%22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 2080374784:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32
infer %22
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 13
%1 = block 2
%2:i8 = var
%3:i8 = var
%4:i8 = phi %1, %2, %3
%5:i1 = eq 2:i8, %4 (hasExternalUses)
%6:i32 = select %5, 65536:i32, 0:i32
%7 = block 2
%8:i8 = var
%9:i8 = phi %7, %8, %3
%10:i1 = eq 2:i8, %9 (hasExternalUses)
%11:i32 = select %10, 65536:i32, 0:i32
%12 = block 2
%13:i8 = var
%14:i8 = phi %12, %13, %3
%15:i1 = eq 2:i8, %14 (hasExternalUses)
%16:i32 = select %15, 65536:i32, 0:i32
%17 = block 2
%18:i8 = var
%19:i8 = phi %17, %18, %3
%20:i1 = eq 0:i8, %19 (hasExternalUses)
%21:i32 = select %20, 0:i32, 65536:i32
%22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 65536:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32
infer %22
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 13
%1:i1 = phi %0, 0:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1
infer %1
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 13
%1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1
%2:i8 = var
%3:i1 = eq 2:i8, %2 (hasExternalUses)
%4:i1 = or %1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 13
%1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 13
%1:i8 = phi %0, 9:i8, 11:i8, 14:i8, 9:i8, 7:i8, 12:i8, 8:i8, 10:i8, 14:i8, 14:i8, 14:i8, 14:i8, 14:i8
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 14
%1:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%2:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%3:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%4:i8 = phi %0, 2:i8, 6:i8, 3:i8, 0:i8, 7:i8, 5:i8, 2:i8, 6:i8, %1, %2, 0:i8, 7:i8, 5:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 19
%1:i1 = phi %0, 0:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1
infer %1
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20 = block 2
%21:i8 = phi %20, 0:i8, 1:i8
%22:i8 = phi %19, 0:i8, %21
%23:i8 = phi %18, 0:i8, %22
%24:i8 = phi %17, 0:i8, %23
%25:i8 = phi %16, 0:i8, %24
%26:i8 = phi %15, 0:i8, %25
%27:i8 = phi %14, 0:i8, %26
%28:i8 = phi %13, 0:i8, %27
%29:i8 = phi %12, 0:i8, %28
%30:i8 = phi %11, 0:i8, %29
%31:i8 = phi %10, 0:i8, %30
%32:i8 = phi %9, 0:i8, %31
%33:i8 = phi %8, 0:i8, %32
%34:i8 = phi %7, 0:i8, %33
%35:i8 = phi %6, 0:i8, %34
%36:i8 = phi %5, 0:i8, %35
%37:i8 = phi %4, 0:i8, %36
%38:i8 = phi %3, 0:i8, %37
%39:i8 = phi %2, 0:i8, %38
%40:i8 = phi %1, 0:i8, %39
%41:i8 = phi %0, %40, 0:i8
%42:i8 = and 1:i8, %41
%43:i1 = eq 0:i8, %42
infer %43
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20 = block 2
%21:i8 = phi %20, 0:i8, 1:i8
%22:i8 = phi %19, 0:i8, %21
%23:i8 = phi %18, 0:i8, %22
%24:i8 = phi %17, 0:i8, %23
%25:i8 = phi %16, 0:i8, %24
%26:i8 = phi %15, 0:i8, %25
%27:i8 = phi %14, 0:i8, %26
%28:i8 = phi %13, 0:i8, %27
%29:i8 = phi %12, 0:i8, %28
%30:i8 = phi %11, 0:i8, %29
%31:i8 = phi %10, 0:i8, %30
%32:i8 = phi %9, 0:i8, %31
%33:i8 = phi %8, 0:i8, %32
%34:i8 = phi %7, 0:i8, %33
%35:i8 = phi %6, 0:i8, %34
%36:i8 = phi %5, 0:i8, %35
%37:i8 = phi %4, 0:i8, %36
%38:i8 = phi %3, 0:i8, %37
%39:i8 = phi %2, 0:i8, %38
%40:i8 = phi %1, 0:i8, %39
%41:i8 = phi %0, %40, 0:i8
%42:i8 = and 1:i8, %41
infer %42
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20 = block 2
%21:i8 = phi %20, 0:i8, 1:i8
%22:i8 = phi %19, 0:i8, %21
%23:i8 = phi %18, 0:i8, %22
%24:i8 = phi %17, 0:i8, %23
%25:i8 = phi %16, 0:i8, %24
%26:i8 = phi %15, 0:i8, %25
%27:i8 = phi %14, 0:i8, %26
%28:i8 = phi %13, 0:i8, %27
%29:i8 = phi %12, 0:i8, %28
%30:i8 = phi %11, 0:i8, %29
%31:i8 = phi %10, 0:i8, %30
%32:i8 = phi %9, 0:i8, %31
%33:i8 = phi %8, 0:i8, %32
%34:i8 = phi %7, 0:i8, %33
%35:i8 = phi %6, 0:i8, %34
%36:i8 = phi %5, 0:i8, %35
%37:i8 = phi %4, 0:i8, %36
%38:i8 = phi %3, 0:i8, %37
%39:i8 = phi %2, 0:i8, %38
%40:i8 = phi %1, 0:i8, %39
%41:i8 = phi %0, %40, 0:i8
infer %41 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20:i8 = phi %19, 0:i8, 1:i8
%21:i8 = phi %18, 0:i8, %20
%22:i8 = phi %17, 0:i8, %21
%23:i8 = phi %16, 0:i8, %22
%24:i8 = phi %15, 0:i8, %23
%25:i8 = phi %14, 0:i8, %24
%26:i8 = phi %13, 0:i8, %25
%27:i8 = phi %12, 0:i8, %26
%28:i8 = phi %11, 0:i8, %27
%29:i8 = phi %10, 0:i8, %28
%30:i8 = phi %9, 0:i8, %29
%31:i8 = phi %8, 0:i8, %30
%32:i8 = phi %7, 0:i8, %31
%33:i8 = phi %6, 0:i8, %32
%34:i8 = phi %5, 0:i8, %33
%35:i8 = phi %4, 0:i8, %34
%36:i8 = phi %3, 0:i8, %35
%37:i8 = phi %2, 0:i8, %36
%38:i8 = phi %1, 0:i8, %37
%39:i8 = phi %0, 0:i8, %38
%40:i8 = and 1:i8, %39
%41:i1 = eq 0:i8, %40
infer %41
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20:i8 = phi %19, 0:i8, 1:i8
%21:i8 = phi %18, 0:i8, %20
%22:i8 = phi %17, 0:i8, %21
%23:i8 = phi %16, 0:i8, %22
%24:i8 = phi %15, 0:i8, %23
%25:i8 = phi %14, 0:i8, %24
%26:i8 = phi %13, 0:i8, %25
%27:i8 = phi %12, 0:i8, %26
%28:i8 = phi %11, 0:i8, %27
%29:i8 = phi %10, 0:i8, %28
%30:i8 = phi %9, 0:i8, %29
%31:i8 = phi %8, 0:i8, %30
%32:i8 = phi %7, 0:i8, %31
%33:i8 = phi %6, 0:i8, %32
%34:i8 = phi %5, 0:i8, %33
%35:i8 = phi %4, 0:i8, %34
%36:i8 = phi %3, 0:i8, %35
%37:i8 = phi %2, 0:i8, %36
%38:i8 = phi %1, 0:i8, %37
%39:i8 = phi %0, 0:i8, %38
%40:i8 = and 1:i8, %39
infer %40
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20:i8 = phi %19, 0:i8, 1:i8
%21:i8 = phi %18, 0:i8, %20
%22:i8 = phi %17, 0:i8, %21
%23:i8 = phi %16, 0:i8, %22
%24:i8 = phi %15, 0:i8, %23
%25:i8 = phi %14, 0:i8, %24
%26:i8 = phi %13, 0:i8, %25
%27:i8 = phi %12, 0:i8, %26
%28:i8 = phi %11, 0:i8, %27
%29:i8 = phi %10, 0:i8, %28
%30:i8 = phi %9, 0:i8, %29
%31:i8 = phi %8, 0:i8, %30
%32:i8 = phi %7, 0:i8, %31
%33:i8 = phi %6, 0:i8, %32
%34:i8 = phi %5, 0:i8, %33
%35:i8 = phi %4, 0:i8, %34
%36:i8 = phi %3, 0:i8, %35
%37:i8 = phi %2, 0:i8, %36
%38:i8 = phi %1, 0:i8, %37
%39:i8 = phi %0, 0:i8, %38
infer %39 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19:i8 = phi %18, 0:i8, 1:i8
%20:i8 = phi %17, 0:i8, %19
%21:i8 = phi %16, 0:i8, %20
%22:i8 = phi %15, 0:i8, %21
%23:i8 = phi %14, 0:i8, %22
%24:i8 = phi %13, 0:i8, %23
%25:i8 = phi %12, 0:i8, %24
%26:i8 = phi %11, 0:i8, %25
%27:i8 = phi %10, 0:i8, %26
%28:i8 = phi %9, 0:i8, %27
%29:i8 = phi %8, 0:i8, %28
%30:i8 = phi %7, 0:i8, %29
%31:i8 = phi %6, 0:i8, %30
%32:i8 = phi %5, 0:i8, %31
%33:i8 = phi %4, 0:i8, %32
%34:i8 = phi %3, 0:i8, %33
%35:i8 = phi %2, 0:i8, %34
%36:i8 = phi %1, 0:i8, %35
%37:i8 = phi %0, 0:i8, %36
%38:i8 = and 1:i8, %37
%39:i1 = eq 0:i8, %38
infer %39
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19:i8 = phi %18, 0:i8, 1:i8
%20:i8 = phi %17, 0:i8, %19
%21:i8 = phi %16, 0:i8, %20
%22:i8 = phi %15, 0:i8, %21
%23:i8 = phi %14, 0:i8, %22
%24:i8 = phi %13, 0:i8, %23
%25:i8 = phi %12, 0:i8, %24
%26:i8 = phi %11, 0:i8, %25
%27:i8 = phi %10, 0:i8, %26
%28:i8 = phi %9, 0:i8, %27
%29:i8 = phi %8, 0:i8, %28
%30:i8 = phi %7, 0:i8, %29
%31:i8 = phi %6, 0:i8, %30
%32:i8 = phi %5, 0:i8, %31
%33:i8 = phi %4, 0:i8, %32
%34:i8 = phi %3, 0:i8, %33
%35:i8 = phi %2, 0:i8, %34
%36:i8 = phi %1, 0:i8, %35
%37:i8 = phi %0, 0:i8, %36
%38:i8 = and 1:i8, %37
infer %38
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19:i8 = phi %18, 0:i8, 1:i8
%20:i8 = phi %17, 0:i8, %19
%21:i8 = phi %16, 0:i8, %20
%22:i8 = phi %15, 0:i8, %21
%23:i8 = phi %14, 0:i8, %22
%24:i8 = phi %13, 0:i8, %23
%25:i8 = phi %12, 0:i8, %24
%26:i8 = phi %11, 0:i8, %25
%27:i8 = phi %10, 0:i8, %26
%28:i8 = phi %9, 0:i8, %27
%29:i8 = phi %8, 0:i8, %28
%30:i8 = phi %7, 0:i8, %29
%31:i8 = phi %6, 0:i8, %30
%32:i8 = phi %5, 0:i8, %31
%33:i8 = phi %4, 0:i8, %32
%34:i8 = phi %3, 0:i8, %33
%35:i8 = phi %2, 0:i8, %34
%36:i8 = phi %1, 0:i8, %35
%37:i8 = phi %0, 0:i8, %36
infer %37 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 3
%19:i8 = phi %18, 1:i8, 0:i8, 0:i8
%20:i8 = phi %17, %19, 0:i8
%21:i8 = phi %16, %20, 0:i8
%22:i8 = phi %15, %21, 0:i8
%23:i8 = phi %14, %22, 0:i8
%24:i8 = phi %13, %23, 0:i8
%25:i8 = phi %12, %24, 0:i8
%26:i8 = phi %11, %25, 0:i8
%27:i8 = phi %10, %26, 0:i8
%28:i8 = phi %9, 0:i8, %27
%29:i8 = phi %8, %28, 0:i8
%30:i8 = phi %7, %29, 0:i8
%31:i8 = phi %6, %30, 0:i8
%32:i8 = phi %5, %31, 0:i8
%33:i8 = phi %4, %32, 0:i8
%34:i8 = phi %3, %33, 0:i8
%35:i8 = phi %2, %34, 0:i8
%36:i8 = phi %1, %35, 0:i8
%37:i8 = phi %0, %36, 0:i8
%38:i1 = eq 0:i8, %37
infer %38
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 3
%19:i8 = phi %18, 1:i8, 0:i8, 0:i8
%20:i8 = phi %17, %19, 0:i8
%21:i8 = phi %16, %20, 0:i8
%22:i8 = phi %15, %21, 0:i8
%23:i8 = phi %14, %22, 0:i8
%24:i8 = phi %13, %23, 0:i8
%25:i8 = phi %12, %24, 0:i8
%26:i8 = phi %11, %25, 0:i8
%27:i8 = phi %10, %26, 0:i8
%28:i8 = phi %9, 0:i8, %27
%29:i8 = phi %8, %28, 0:i8
%30:i8 = phi %7, %29, 0:i8
%31:i8 = phi %6, %30, 0:i8
%32:i8 = phi %5, %31, 0:i8
%33:i8 = phi %4, %32, 0:i8
%34:i8 = phi %3, %33, 0:i8
%35:i8 = phi %2, %34, 0:i8
%36:i8 = phi %1, %35, 0:i8
%37:i8 = phi %0, %36, 0:i8
infer %37
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i8 = phi %17, 0:i8, 1:i8
%19:i8 = phi %16, 0:i8, %18
%20:i8 = phi %15, 0:i8, %19
%21:i8 = phi %14, 0:i8, %20
%22:i8 = phi %13, 0:i8, %21
%23:i8 = phi %12, 0:i8, %22
%24:i8 = phi %11, 0:i8, %23
%25:i8 = phi %10, 0:i8, %24
%26:i8 = phi %9, 0:i8, %25
%27:i8 = phi %8, 0:i8, %26
%28:i8 = phi %7, 0:i8, %27
%29:i8 = phi %6, 0:i8, %28
%30:i8 = phi %5, 0:i8, %29
%31:i8 = phi %4, 0:i8, %30
%32:i8 = phi %3, 0:i8, %31
%33:i8 = phi %2, 0:i8, %32
%34:i8 = phi %1, 0:i8, %33
%35:i8 = phi %0, %34, 0:i8
%36:i8 = and 1:i8, %35
%37:i1 = eq 0:i8, %36
infer %37
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i8 = phi %17, 0:i8, 1:i8
%19:i8 = phi %16, 0:i8, %18
%20:i8 = phi %15, 0:i8, %19
%21:i8 = phi %14, 0:i8, %20
%22:i8 = phi %13, 0:i8, %21
%23:i8 = phi %12, 0:i8, %22
%24:i8 = phi %11, 0:i8, %23
%25:i8 = phi %10, 0:i8, %24
%26:i8 = phi %9, 0:i8, %25
%27:i8 = phi %8, 0:i8, %26
%28:i8 = phi %7, 0:i8, %27
%29:i8 = phi %6, 0:i8, %28
%30:i8 = phi %5, 0:i8, %29
%31:i8 = phi %4, 0:i8, %30
%32:i8 = phi %3, 0:i8, %31
%33:i8 = phi %2, 0:i8, %32
%34:i8 = phi %1, 0:i8, %33
%35:i8 = phi %0, %34, 0:i8
%36:i8 = and 1:i8, %35
infer %36
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i8 = phi %17, 0:i8, 1:i8
%19:i8 = phi %16, 0:i8, %18
%20:i8 = phi %15, 0:i8, %19
%21:i8 = phi %14, 0:i8, %20
%22:i8 = phi %13, 0:i8, %21
%23:i8 = phi %12, 0:i8, %22
%24:i8 = phi %11, 0:i8, %23
%25:i8 = phi %10, 0:i8, %24
%26:i8 = phi %9, 0:i8, %25
%27:i8 = phi %8, 0:i8, %26
%28:i8 = phi %7, 0:i8, %27
%29:i8 = phi %6, 0:i8, %28
%30:i8 = phi %5, 0:i8, %29
%31:i8 = phi %4, 0:i8, %30
%32:i8 = phi %3, 0:i8, %31
%33:i8 = phi %2, 0:i8, %32
%34:i8 = phi %1, 0:i8, %33
%35:i8 = phi %0, %34, 0:i8
infer %35 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i8 = phi %17, 0:i8, 1:i8
%19:i8 = phi %16, 0:i8, %18
%20:i8 = phi %15, 0:i8, %19
%21:i8 = phi %14, 0:i8, %20
%22:i8 = phi %13, 0:i8, %21
%23:i8 = phi %12, 0:i8, %22
%24:i8 = phi %11, 0:i8, %23
%25:i8 = phi %10, 0:i8, %24
%26:i8 = phi %9, 0:i8, %25
%27:i8 = phi %8, 0:i8, %26
%28:i8 = phi %7, 0:i8, %27
%29:i8 = phi %6, 0:i8, %28
%30:i8 = phi %5, 0:i8, %29
%31:i8 = phi %4, 0:i8, %30
%32:i8 = phi %3, 0:i8, %31
%33:i8 = phi %2, 0:i8, %32
%34:i8 = phi %1, 0:i8, %33
%35:i8 = phi %0, 0:i8, %34
%36:i8 = and 1:i8, %35
%37:i1 = eq 0:i8, %36
infer %37
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i8 = phi %17, 0:i8, 1:i8
%19:i8 = phi %16, 0:i8, %18
%20:i8 = phi %15, 0:i8, %19
%21:i8 = phi %14, 0:i8, %20
%22:i8 = phi %13, 0:i8, %21
%23:i8 = phi %12, 0:i8, %22
%24:i8 = phi %11, 0:i8, %23
%25:i8 = phi %10, 0:i8, %24
%26:i8 = phi %9, 0:i8, %25
%27:i8 = phi %8, 0:i8, %26
%28:i8 = phi %7, 0:i8, %27
%29:i8 = phi %6, 0:i8, %28
%30:i8 = phi %5, 0:i8, %29
%31:i8 = phi %4, 0:i8, %30
%32:i8 = phi %3, 0:i8, %31
%33:i8 = phi %2, 0:i8, %32
%34:i8 = phi %1, 0:i8, %33
%35:i8 = phi %0, 0:i8, %34
%36:i8 = and 1:i8, %35
infer %36
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i8 = phi %17, 0:i8, 1:i8
%19:i8 = phi %16, 0:i8, %18
%20:i8 = phi %15, 0:i8, %19
%21:i8 = phi %14, 0:i8, %20
%22:i8 = phi %13, 0:i8, %21
%23:i8 = phi %12, 0:i8, %22
%24:i8 = phi %11, 0:i8, %23
%25:i8 = phi %10, 0:i8, %24
%26:i8 = phi %9, 0:i8, %25
%27:i8 = phi %8, 0:i8, %26
%28:i8 = phi %7, 0:i8, %27
%29:i8 = phi %6, 0:i8, %28
%30:i8 = phi %5, 0:i8, %29
%31:i8 = phi %4, 0:i8, %30
%32:i8 = phi %3, 0:i8, %31
%33:i8 = phi %2, 0:i8, %32
%34:i8 = phi %1, 0:i8, %33
%35:i8 = phi %0, 0:i8, %34
infer %35 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 3
%18:i8 = phi %17, 1:i8, 0:i8, 0:i8
%19:i8 = phi %16, %18, 0:i8
%20:i8 = phi %15, %19, 0:i8
%21:i8 = phi %14, %20, 0:i8
%22:i8 = phi %13, %21, 0:i8
%23:i8 = phi %12, %22, 0:i8
%24:i8 = phi %11, %23, 0:i8
%25:i8 = phi %10, %24, 0:i8
%26:i8 = phi %9, %25, 0:i8
%27:i8 = phi %8, 0:i8, %26
%28:i8 = phi %7, %27, 0:i8
%29:i8 = phi %6, %28, 0:i8
%30:i8 = phi %5, %29, 0:i8
%31:i8 = phi %4, %30, 0:i8
%32:i8 = phi %3, %31, 0:i8
%33:i8 = phi %2, %32, 0:i8
%34:i8 = phi %1, %33, 0:i8
%35:i8 = phi %0, %34, 0:i8
%36:i1 = eq 0:i8, %35
infer %36
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 3
%18:i8 = phi %17, 1:i8, 0:i8, 0:i8
%19:i8 = phi %16, %18, 0:i8
%20:i8 = phi %15, %19, 0:i8
%21:i8 = phi %14, %20, 0:i8
%22:i8 = phi %13, %21, 0:i8
%23:i8 = phi %12, %22, 0:i8
%24:i8 = phi %11, %23, 0:i8
%25:i8 = phi %10, %24, 0:i8
%26:i8 = phi %9, %25, 0:i8
%27:i8 = phi %8, 0:i8, %26
%28:i8 = phi %7, %27, 0:i8
%29:i8 = phi %6, %28, 0:i8
%30:i8 = phi %5, %29, 0:i8
%31:i8 = phi %4, %30, 0:i8
%32:i8 = phi %3, %31, 0:i8
%33:i8 = phi %2, %32, 0:i8
%34:i8 = phi %1, %33, 0:i8
%35:i8 = phi %0, %34, 0:i8
infer %35
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17:i8 = phi %16, 0:i8, 1:i8
%18:i8 = phi %15, 0:i8, %17
%19:i8 = phi %14, 0:i8, %18
%20:i8 = phi %13, 0:i8, %19
%21:i8 = phi %12, 0:i8, %20
%22:i8 = phi %11, 0:i8, %21
%23:i8 = phi %10, 0:i8, %22
%24:i8 = phi %9, 0:i8, %23
%25:i8 = phi %8, 0:i8, %24
%26:i8 = phi %7, 0:i8, %25
%27:i8 = phi %6, 0:i8, %26
%28:i8 = phi %5, 0:i8, %27
%29:i8 = phi %4, 0:i8, %28
%30:i8 = phi %3, 0:i8, %29
%31:i8 = phi %2, 0:i8, %30
%32:i8 = phi %1, 0:i8, %31
%33:i8 = phi %0, 0:i8, %32
%34:i8 = and 1:i8, %33
%35:i1 = eq 0:i8, %34
infer %35
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17:i8 = phi %16, 0:i8, 1:i8
%18:i8 = phi %15, 0:i8, %17
%19:i8 = phi %14, 0:i8, %18
%20:i8 = phi %13, 0:i8, %19
%21:i8 = phi %12, 0:i8, %20
%22:i8 = phi %11, 0:i8, %21
%23:i8 = phi %10, 0:i8, %22
%24:i8 = phi %9, 0:i8, %23
%25:i8 = phi %8, 0:i8, %24
%26:i8 = phi %7, 0:i8, %25
%27:i8 = phi %6, 0:i8, %26
%28:i8 = phi %5, 0:i8, %27
%29:i8 = phi %4, 0:i8, %28
%30:i8 = phi %3, 0:i8, %29
%31:i8 = phi %2, 0:i8, %30
%32:i8 = phi %1, 0:i8, %31
%33:i8 = phi %0, 0:i8, %32
%34:i8 = and 1:i8, %33
infer %34
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17:i8 = phi %16, 0:i8, 1:i8
%18:i8 = phi %15, 0:i8, %17
%19:i8 = phi %14, 0:i8, %18
%20:i8 = phi %13, 0:i8, %19
%21:i8 = phi %12, 0:i8, %20
%22:i8 = phi %11, 0:i8, %21
%23:i8 = phi %10, 0:i8, %22
%24:i8 = phi %9, 0:i8, %23
%25:i8 = phi %8, 0:i8, %24
%26:i8 = phi %7, 0:i8, %25
%27:i8 = phi %6, 0:i8, %26
%28:i8 = phi %5, 0:i8, %27
%29:i8 = phi %4, 0:i8, %28
%30:i8 = phi %3, 0:i8, %29
%31:i8 = phi %2, 0:i8, %30
%32:i8 = phi %1, 0:i8, %31
%33:i8 = phi %0, 0:i8, %32
infer %33 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 3
%17:i8 = phi %16, 1:i8, 0:i8, 0:i8
%18:i8 = phi %15, %17, 0:i8
%19:i8 = phi %14, %18, 0:i8
%20:i8 = phi %13, %19, 0:i8
%21:i8 = phi %12, %20, 0:i8
%22:i8 = phi %11, %21, 0:i8
%23:i8 = phi %10, %22, 0:i8
%24:i8 = phi %9, %23, 0:i8
%25:i8 = phi %8, %24, 0:i8
%26:i8 = phi %7, 0:i8, %25
%27:i8 = phi %6, %26, 0:i8
%28:i8 = phi %5, %27, 0:i8
%29:i8 = phi %4, %28, 0:i8
%30:i8 = phi %3, %29, 0:i8
%31:i8 = phi %2, %30, 0:i8
%32:i8 = phi %1, %31, 0:i8
%33:i8 = phi %0, %32, 0:i8
%34:i1 = eq 0:i8, %33
infer %34
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 3
%17:i8 = phi %16, 1:i8, 0:i8, 0:i8
%18:i8 = phi %15, %17, 0:i8
%19:i8 = phi %14, %18, 0:i8
%20:i8 = phi %13, %19, 0:i8
%21:i8 = phi %12, %20, 0:i8
%22:i8 = phi %11, %21, 0:i8
%23:i8 = phi %10, %22, 0:i8
%24:i8 = phi %9, %23, 0:i8
%25:i8 = phi %8, %24, 0:i8
%26:i8 = phi %7, 0:i8, %25
%27:i8 = phi %6, %26, 0:i8
%28:i8 = phi %5, %27, 0:i8
%29:i8 = phi %4, %28, 0:i8
%30:i8 = phi %3, %29, 0:i8
%31:i8 = phi %2, %30, 0:i8
%32:i8 = phi %1, %31, 0:i8
%33:i8 = phi %0, %32, 0:i8
infer %33
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i8 = phi %15, 0:i8, 1:i8
%17:i8 = phi %14, 0:i8, %16
%18:i8 = phi %13, 0:i8, %17
%19:i8 = phi %12, 0:i8, %18
%20:i8 = phi %11, 0:i8, %19
%21:i8 = phi %10, 0:i8, %20
%22:i8 = phi %9, 0:i8, %21
%23:i8 = phi %8, 0:i8, %22
%24:i8 = phi %7, 0:i8, %23
%25:i8 = phi %6, 0:i8, %24
%26:i8 = phi %5, 0:i8, %25
%27:i8 = phi %4, 0:i8, %26
%28:i8 = phi %3, 0:i8, %27
%29:i8 = phi %2, 0:i8, %28
%30:i8 = phi %1, 0:i8, %29
%31:i8 = phi %0, %30, 0:i8
%32:i8 = and 1:i8, %31
%33:i1 = eq 0:i8, %32
infer %33
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i8 = phi %15, 0:i8, 1:i8
%17:i8 = phi %14, 0:i8, %16
%18:i8 = phi %13, 0:i8, %17
%19:i8 = phi %12, 0:i8, %18
%20:i8 = phi %11, 0:i8, %19
%21:i8 = phi %10, 0:i8, %20
%22:i8 = phi %9, 0:i8, %21
%23:i8 = phi %8, 0:i8, %22
%24:i8 = phi %7, 0:i8, %23
%25:i8 = phi %6, 0:i8, %24
%26:i8 = phi %5, 0:i8, %25
%27:i8 = phi %4, 0:i8, %26
%28:i8 = phi %3, 0:i8, %27
%29:i8 = phi %2, 0:i8, %28
%30:i8 = phi %1, 0:i8, %29
%31:i8 = phi %0, %30, 0:i8
%32:i8 = and 1:i8, %31
infer %32
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i8 = phi %15, 0:i8, 1:i8
%17:i8 = phi %14, 0:i8, %16
%18:i8 = phi %13, 0:i8, %17
%19:i8 = phi %12, 0:i8, %18
%20:i8 = phi %11, 0:i8, %19
%21:i8 = phi %10, 0:i8, %20
%22:i8 = phi %9, 0:i8, %21
%23:i8 = phi %8, 0:i8, %22
%24:i8 = phi %7, 0:i8, %23
%25:i8 = phi %6, 0:i8, %24
%26:i8 = phi %5, 0:i8, %25
%27:i8 = phi %4, 0:i8, %26
%28:i8 = phi %3, 0:i8, %27
%29:i8 = phi %2, 0:i8, %28
%30:i8 = phi %1, 0:i8, %29
%31:i8 = phi %0, %30, 0:i8
infer %31 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i8 = phi %15, 0:i8, 1:i8
%17:i8 = phi %14, 0:i8, %16
%18:i8 = phi %13, 0:i8, %17
%19:i8 = phi %12, 0:i8, %18
%20:i8 = phi %11, 0:i8, %19
%21:i8 = phi %10, 0:i8, %20
%22:i8 = phi %9, 0:i8, %21
%23:i8 = phi %8, 0:i8, %22
%24:i8 = phi %7, 0:i8, %23
%25:i8 = phi %6, 0:i8, %24
%26:i8 = phi %5, 0:i8, %25
%27:i8 = phi %4, 0:i8, %26
%28:i8 = phi %3, 0:i8, %27
%29:i8 = phi %2, 0:i8, %28
%30:i8 = phi %1, 0:i8, %29
%31:i8 = phi %0, 0:i8, %30
%32:i8 = and 1:i8, %31
%33:i1 = eq 0:i8, %32
infer %33
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i8 = phi %15, 0:i8, 1:i8
%17:i8 = phi %14, 0:i8, %16
%18:i8 = phi %13, 0:i8, %17
%19:i8 = phi %12, 0:i8, %18
%20:i8 = phi %11, 0:i8, %19
%21:i8 = phi %10, 0:i8, %20
%22:i8 = phi %9, 0:i8, %21
%23:i8 = phi %8, 0:i8, %22
%24:i8 = phi %7, 0:i8, %23
%25:i8 = phi %6, 0:i8, %24
%26:i8 = phi %5, 0:i8, %25
%27:i8 = phi %4, 0:i8, %26
%28:i8 = phi %3, 0:i8, %27
%29:i8 = phi %2, 0:i8, %28
%30:i8 = phi %1, 0:i8, %29
%31:i8 = phi %0, 0:i8, %30
%32:i8 = and 1:i8, %31
infer %32
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i8 = phi %15, 0:i8, 1:i8
%17:i8 = phi %14, 0:i8, %16
%18:i8 = phi %13, 0:i8, %17
%19:i8 = phi %12, 0:i8, %18
%20:i8 = phi %11, 0:i8, %19
%21:i8 = phi %10, 0:i8, %20
%22:i8 = phi %9, 0:i8, %21
%23:i8 = phi %8, 0:i8, %22
%24:i8 = phi %7, 0:i8, %23
%25:i8 = phi %6, 0:i8, %24
%26:i8 = phi %5, 0:i8, %25
%27:i8 = phi %4, 0:i8, %26
%28:i8 = phi %3, 0:i8, %27
%29:i8 = phi %2, 0:i8, %28
%30:i8 = phi %1, 0:i8, %29
%31:i8 = phi %0, 0:i8, %30
infer %31 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i8 = phi %15, 1:i8, 0:i8
%17:i8 = phi %14, %16, 0:i8
%18:i8 = phi %13, %17, 0:i8
%19:i8 = phi %12, %18, 0:i8
%20:i8 = phi %11, %19, 0:i8
%21:i8 = phi %10, %20, 0:i8
%22:i8 = phi %9, %21, 0:i8
%23:i8 = phi %8, %22, 0:i8
%24:i8 = phi %7, %23, 0:i8
%25:i8 = phi %6, %24, 0:i8
%26:i8 = phi %5, %25, 0:i8
%27:i8 = phi %4, %26, 0:i8
%28:i8 = phi %3, %27, 0:i8
%29:i8 = phi %2, %28, 0:i8
%30:i8 = phi %1, %29, 0:i8
%31:i8 = phi %0, %30, 0:i8
%32:i1 = eq 0:i8, %31
infer %32
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i8 = phi %15, 1:i8, 0:i8
%17:i8 = phi %14, %16, 0:i8
%18:i8 = phi %13, %17, 0:i8
%19:i8 = phi %12, %18, 0:i8
%20:i8 = phi %11, %19, 0:i8
%21:i8 = phi %10, %20, 0:i8
%22:i8 = phi %9, %21, 0:i8
%23:i8 = phi %8, %22, 0:i8
%24:i8 = phi %7, %23, 0:i8
%25:i8 = phi %6, %24, 0:i8
%26:i8 = phi %5, %25, 0:i8
%27:i8 = phi %4, %26, 0:i8
%28:i8 = phi %3, %27, 0:i8
%29:i8 = phi %2, %28, 0:i8
%30:i8 = phi %1, %29, 0:i8
%31:i8 = phi %0, %30, 0:i8
infer %31
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 3
%16:i8 = phi %15, 1:i8, 0:i8, 0:i8
%17:i8 = phi %14, %16, 0:i8
%18:i8 = phi %13, %17, 0:i8
%19:i8 = phi %12, %18, 0:i8
%20:i8 = phi %11, %19, 0:i8
%21:i8 = phi %10, %20, 0:i8
%22:i8 = phi %9, %21, 0:i8
%23:i8 = phi %8, %22, 0:i8
%24:i8 = phi %7, %23, 0:i8
%25:i8 = phi %6, 0:i8, %24
%26:i8 = phi %5, %25, 0:i8
%27:i8 = phi %4, %26, 0:i8
%28:i8 = phi %3, %27, 0:i8
%29:i8 = phi %2, %28, 0:i8
%30:i8 = phi %1, %29, 0:i8
%31:i8 = phi %0, %30, 0:i8
%32:i1 = eq 0:i8, %31
infer %32
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 3
%16:i8 = phi %15, 1:i8, 0:i8, 0:i8
%17:i8 = phi %14, %16, 0:i8
%18:i8 = phi %13, %17, 0:i8
%19:i8 = phi %12, %18, 0:i8
%20:i8 = phi %11, %19, 0:i8
%21:i8 = phi %10, %20, 0:i8
%22:i8 = phi %9, %21, 0:i8
%23:i8 = phi %8, %22, 0:i8
%24:i8 = phi %7, %23, 0:i8
%25:i8 = phi %6, 0:i8, %24
%26:i8 = phi %5, %25, 0:i8
%27:i8 = phi %4, %26, 0:i8
%28:i8 = phi %3, %27, 0:i8
%29:i8 = phi %2, %28, 0:i8
%30:i8 = phi %1, %29, 0:i8
%31:i8 = phi %0, %30, 0:i8
infer %31
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15:i8 = phi %14, 0:i8, 1:i8
%16:i8 = phi %13, 0:i8, %15
%17:i8 = phi %12, 0:i8, %16
%18:i8 = phi %11, 0:i8, %17
%19:i8 = phi %10, 0:i8, %18
%20:i8 = phi %9, 0:i8, %19
%21:i8 = phi %8, 0:i8, %20
%22:i8 = phi %7, 0:i8, %21
%23:i8 = phi %6, 0:i8, %22
%24:i8 = phi %5, 0:i8, %23
%25:i8 = phi %4, 0:i8, %24
%26:i8 = phi %3, 0:i8, %25
%27:i8 = phi %2, 0:i8, %26
%28:i8 = phi %1, 0:i8, %27
%29:i8 = phi %0, 0:i8, %28
%30:i8 = and 1:i8, %29
%31:i1 = eq 0:i8, %30
infer %31
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15:i8 = phi %14, 0:i8, 1:i8
%16:i8 = phi %13, 0:i8, %15
%17:i8 = phi %12, 0:i8, %16
%18:i8 = phi %11, 0:i8, %17
%19:i8 = phi %10, 0:i8, %18
%20:i8 = phi %9, 0:i8, %19
%21:i8 = phi %8, 0:i8, %20
%22:i8 = phi %7, 0:i8, %21
%23:i8 = phi %6, 0:i8, %22
%24:i8 = phi %5, 0:i8, %23
%25:i8 = phi %4, 0:i8, %24
%26:i8 = phi %3, 0:i8, %25
%27:i8 = phi %2, 0:i8, %26
%28:i8 = phi %1, 0:i8, %27
%29:i8 = phi %0, 0:i8, %28
%30:i8 = and 1:i8, %29
infer %30
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15:i8 = phi %14, 0:i8, 1:i8
%16:i8 = phi %13, 0:i8, %15
%17:i8 = phi %12, 0:i8, %16
%18:i8 = phi %11, 0:i8, %17
%19:i8 = phi %10, 0:i8, %18
%20:i8 = phi %9, 0:i8, %19
%21:i8 = phi %8, 0:i8, %20
%22:i8 = phi %7, 0:i8, %21
%23:i8 = phi %6, 0:i8, %22
%24:i8 = phi %5, 0:i8, %23
%25:i8 = phi %4, 0:i8, %24
%26:i8 = phi %3, 0:i8, %25
%27:i8 = phi %2, 0:i8, %26
%28:i8 = phi %1, 0:i8, %27
%29:i8 = phi %0, 0:i8, %28
infer %29 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15:i8 = phi %14, 1:i8, 0:i8
%16:i8 = phi %13, %15, 0:i8
%17:i8 = phi %12, %16, 0:i8
%18:i8 = phi %11, %17, 0:i8
%19:i8 = phi %10, %18, 0:i8
%20:i8 = phi %9, %19, 0:i8
%21:i8 = phi %8, %20, 0:i8
%22:i8 = phi %7, %21, 0:i8
%23:i8 = phi %6, %22, 0:i8
%24:i8 = phi %5, %23, 0:i8
%25:i8 = phi %4, %24, 0:i8
%26:i8 = phi %3, %25, 0:i8
%27:i8 = phi %2, %26, 0:i8
%28:i8 = phi %1, %27, 0:i8
%29:i8 = phi %0, %28, 0:i8
%30:i1 = eq 0:i8, %29
infer %30
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15:i8 = phi %14, 1:i8, 0:i8
%16:i8 = phi %13, %15, 0:i8
%17:i8 = phi %12, %16, 0:i8
%18:i8 = phi %11, %17, 0:i8
%19:i8 = phi %10, %18, 0:i8
%20:i8 = phi %9, %19, 0:i8
%21:i8 = phi %8, %20, 0:i8
%22:i8 = phi %7, %21, 0:i8
%23:i8 = phi %6, %22, 0:i8
%24:i8 = phi %5, %23, 0:i8
%25:i8 = phi %4, %24, 0:i8
%26:i8 = phi %3, %25, 0:i8
%27:i8 = phi %2, %26, 0:i8
%28:i8 = phi %1, %27, 0:i8
%29:i8 = phi %0, %28, 0:i8
infer %29
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 3
%15:i8 = phi %14, 1:i8, 0:i8, 0:i8
%16:i8 = phi %13, %15, 0:i8
%17:i8 = phi %12, %16, 0:i8
%18:i8 = phi %11, %17, 0:i8
%19:i8 = phi %10, %18, 0:i8
%20:i8 = phi %9, %19, 0:i8
%21:i8 = phi %8, %20, 0:i8
%22:i8 = phi %7, %21, 0:i8
%23:i8 = phi %6, %22, 0:i8
%24:i8 = phi %5, 0:i8, %23
%25:i8 = phi %4, %24, 0:i8
%26:i8 = phi %3, %25, 0:i8
%27:i8 = phi %2, %26, 0:i8
%28:i8 = phi %1, %27, 0:i8
%29:i8 = phi %0, %28, 0:i8
%30:i1 = eq 0:i8, %29
infer %30
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 3
%15:i8 = phi %14, 1:i8, 0:i8, 0:i8
%16:i8 = phi %13, %15, 0:i8
%17:i8 = phi %12, %16, 0:i8
%18:i8 = phi %11, %17, 0:i8
%19:i8 = phi %10, %18, 0:i8
%20:i8 = phi %9, %19, 0:i8
%21:i8 = phi %8, %20, 0:i8
%22:i8 = phi %7, %21, 0:i8
%23:i8 = phi %6, %22, 0:i8
%24:i8 = phi %5, 0:i8, %23
%25:i8 = phi %4, %24, 0:i8
%26:i8 = phi %3, %25, 0:i8
%27:i8 = phi %2, %26, 0:i8
%28:i8 = phi %1, %27, 0:i8
%29:i8 = phi %0, %28, 0:i8
infer %29
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14:i8 = phi %13, 0:i8, 1:i8
%15:i8 = phi %12, 0:i8, %14
%16:i8 = phi %11, 0:i8, %15
%17:i8 = phi %10, 0:i8, %16
%18:i8 = phi %9, 0:i8, %17
%19:i8 = phi %8, 0:i8, %18
%20:i8 = phi %7, 0:i8, %19
%21:i8 = phi %6, 0:i8, %20
%22:i8 = phi %5, 0:i8, %21
%23:i8 = phi %4, 0:i8, %22
%24:i8 = phi %3, 0:i8, %23
%25:i8 = phi %2, 0:i8, %24
%26:i8 = phi %1, 0:i8, %25
%27:i8 = phi %0, 0:i8, %26
%28:i8 = and 1:i8, %27
%29:i1 = eq 0:i8, %28
infer %29
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14:i8 = phi %13, 0:i8, 1:i8
%15:i8 = phi %12, 0:i8, %14
%16:i8 = phi %11, 0:i8, %15
%17:i8 = phi %10, 0:i8, %16
%18:i8 = phi %9, 0:i8, %17
%19:i8 = phi %8, 0:i8, %18
%20:i8 = phi %7, 0:i8, %19
%21:i8 = phi %6, 0:i8, %20
%22:i8 = phi %5, 0:i8, %21
%23:i8 = phi %4, 0:i8, %22
%24:i8 = phi %3, 0:i8, %23
%25:i8 = phi %2, 0:i8, %24
%26:i8 = phi %1, 0:i8, %25
%27:i8 = phi %0, 0:i8, %26
%28:i8 = and 1:i8, %27
infer %28
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14:i8 = phi %13, 0:i8, 1:i8
%15:i8 = phi %12, 0:i8, %14
%16:i8 = phi %11, 0:i8, %15
%17:i8 = phi %10, 0:i8, %16
%18:i8 = phi %9, 0:i8, %17
%19:i8 = phi %8, 0:i8, %18
%20:i8 = phi %7, 0:i8, %19
%21:i8 = phi %6, 0:i8, %20
%22:i8 = phi %5, 0:i8, %21
%23:i8 = phi %4, 0:i8, %22
%24:i8 = phi %3, 0:i8, %23
%25:i8 = phi %2, 0:i8, %24
%26:i8 = phi %1, 0:i8, %25
%27:i8 = phi %0, 0:i8, %26
infer %27 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14:i8 = phi %13, 1:i8, 0:i8
%15:i8 = phi %12, %14, 0:i8
%16:i8 = phi %11, %15, 0:i8
%17:i8 = phi %10, %16, 0:i8
%18:i8 = phi %9, %17, 0:i8
%19:i8 = phi %8, %18, 0:i8
%20:i8 = phi %7, %19, 0:i8
%21:i8 = phi %6, %20, 0:i8
%22:i8 = phi %5, %21, 0:i8
%23:i8 = phi %4, %22, 0:i8
%24:i8 = phi %3, %23, 0:i8
%25:i8 = phi %2, %24, 0:i8
%26:i8 = phi %1, %25, 0:i8
%27:i8 = phi %0, %26, 0:i8
%28:i1 = eq 0:i8, %27
infer %28
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14:i8 = phi %13, 1:i8, 0:i8
%15:i8 = phi %12, %14, 0:i8
%16:i8 = phi %11, %15, 0:i8
%17:i8 = phi %10, %16, 0:i8
%18:i8 = phi %9, %17, 0:i8
%19:i8 = phi %8, %18, 0:i8
%20:i8 = phi %7, %19, 0:i8
%21:i8 = phi %6, %20, 0:i8
%22:i8 = phi %5, %21, 0:i8
%23:i8 = phi %4, %22, 0:i8
%24:i8 = phi %3, %23, 0:i8
%25:i8 = phi %2, %24, 0:i8
%26:i8 = phi %1, %25, 0:i8
%27:i8 = phi %0, %26, 0:i8
infer %27
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 3
%14:i8 = phi %13, 1:i8, 0:i8, 0:i8
%15:i8 = phi %12, %14, 0:i8
%16:i8 = phi %11, %15, 0:i8
%17:i8 = phi %10, %16, 0:i8
%18:i8 = phi %9, %17, 0:i8
%19:i8 = phi %8, %18, 0:i8
%20:i8 = phi %7, %19, 0:i8
%21:i8 = phi %6, %20, 0:i8
%22:i8 = phi %5, %21, 0:i8
%23:i8 = phi %4, %22, 0:i8
%24:i8 = phi %3, %23, 0:i8
%25:i8 = phi %2, %24, 0:i8
%26:i8 = phi %1, %25, 0:i8
%27:i8 = phi %0, %26, 0:i8
%28:i1 = eq 0:i8, %27
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 3
%14:i8 = phi %13, 1:i8, 0:i8, 0:i8
%15:i8 = phi %12, %14, 0:i8
%16:i8 = phi %11, %15, 0:i8
%17:i8 = phi %10, %16, 0:i8
%18:i8 = phi %9, %17, 0:i8
%19:i8 = phi %8, %18, 0:i8
%20:i8 = phi %7, %19, 0:i8
%21:i8 = phi %6, %20, 0:i8
%22:i8 = phi %5, %21, 0:i8
%23:i8 = phi %4, %22, 0:i8
%24:i8 = phi %3, %23, 0:i8
%25:i8 = phi %2, %24, 0:i8
%26:i8 = phi %1, %25, 0:i8
%27:i8 = phi %0, %26, 0:i8
infer %27
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 3
%14:i8 = phi %13, 1:i8, 0:i8, 0:i8
%15:i8 = phi %12, %14, 0:i8
%16:i8 = phi %11, %15, 0:i8
%17:i8 = phi %10, %16, 0:i8
%18:i8 = phi %9, %17, 0:i8
%19:i8 = phi %8, %18, 0:i8
%20:i8 = phi %7, %19, 0:i8
%21:i8 = phi %6, %20, 0:i8
%22:i8 = phi %5, %21, 0:i8
%23:i8 = phi %4, 0:i8, %22
%24:i8 = phi %3, %23, 0:i8
%25:i8 = phi %2, %24, 0:i8
%26:i8 = phi %1, %25, 0:i8
%27:i8 = phi %0, %26, 0:i8
%28:i1 = eq 0:i8, %27
infer %28
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 3
%14:i8 = phi %13, 1:i8, 0:i8, 0:i8
%15:i8 = phi %12, %14, 0:i8
%16:i8 = phi %11, %15, 0:i8
%17:i8 = phi %10, %16, 0:i8
%18:i8 = phi %9, %17, 0:i8
%19:i8 = phi %8, %18, 0:i8
%20:i8 = phi %7, %19, 0:i8
%21:i8 = phi %6, %20, 0:i8
%22:i8 = phi %5, %21, 0:i8
%23:i8 = phi %4, 0:i8, %22
%24:i8 = phi %3, %23, 0:i8
%25:i8 = phi %2, %24, 0:i8
%26:i8 = phi %1, %25, 0:i8
%27:i8 = phi %0, %26, 0:i8
infer %27
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13:i8 = phi %12, 0:i8, 1:i8
%14:i8 = phi %11, 0:i8, %13
%15:i8 = phi %10, 0:i8, %14
%16:i8 = phi %9, 0:i8, %15
%17:i8 = phi %8, 0:i8, %16
%18:i8 = phi %7, 0:i8, %17
%19:i8 = phi %6, 0:i8, %18
%20:i8 = phi %5, 0:i8, %19
%21:i8 = phi %4, 0:i8, %20
%22:i8 = phi %3, 0:i8, %21
%23:i8 = phi %2, 0:i8, %22
%24:i8 = phi %1, 0:i8, %23
%25:i8 = phi %0, 0:i8, %24
%26:i8 = and 1:i8, %25
%27:i1 = eq 0:i8, %26
infer %27
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13:i8 = phi %12, 0:i8, 1:i8
%14:i8 = phi %11, 0:i8, %13
%15:i8 = phi %10, 0:i8, %14
%16:i8 = phi %9, 0:i8, %15
%17:i8 = phi %8, 0:i8, %16
%18:i8 = phi %7, 0:i8, %17
%19:i8 = phi %6, 0:i8, %18
%20:i8 = phi %5, 0:i8, %19
%21:i8 = phi %4, 0:i8, %20
%22:i8 = phi %3, 0:i8, %21
%23:i8 = phi %2, 0:i8, %22
%24:i8 = phi %1, 0:i8, %23
%25:i8 = phi %0, 0:i8, %24
%26:i8 = and 1:i8, %25
infer %26
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13:i8 = phi %12, 0:i8, 1:i8
%14:i8 = phi %11, 0:i8, %13
%15:i8 = phi %10, 0:i8, %14
%16:i8 = phi %9, 0:i8, %15
%17:i8 = phi %8, 0:i8, %16
%18:i8 = phi %7, 0:i8, %17
%19:i8 = phi %6, 0:i8, %18
%20:i8 = phi %5, 0:i8, %19
%21:i8 = phi %4, 0:i8, %20
%22:i8 = phi %3, 0:i8, %21
%23:i8 = phi %2, 0:i8, %22
%24:i8 = phi %1, 0:i8, %23
%25:i8 = phi %0, 0:i8, %24
infer %25 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13:i8 = phi %12, 1:i8, 0:i8
%14:i8 = phi %11, %13, 0:i8
%15:i8 = phi %10, %14, 0:i8
%16:i8 = phi %9, %15, 0:i8
%17:i8 = phi %8, %16, 0:i8
%18:i8 = phi %7, %17, 0:i8
%19:i8 = phi %6, %18, 0:i8
%20:i8 = phi %5, %19, 0:i8
%21:i8 = phi %4, %20, 0:i8
%22:i8 = phi %3, %21, 0:i8
%23:i8 = phi %2, %22, 0:i8
%24:i8 = phi %1, %23, 0:i8
%25:i8 = phi %0, %24, 0:i8
%26:i1 = eq 0:i8, %25
infer %26
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13:i8 = phi %12, 1:i8, 0:i8
%14:i8 = phi %11, %13, 0:i8
%15:i8 = phi %10, %14, 0:i8
%16:i8 = phi %9, %15, 0:i8
%17:i8 = phi %8, %16, 0:i8
%18:i8 = phi %7, %17, 0:i8
%19:i8 = phi %6, %18, 0:i8
%20:i8 = phi %5, %19, 0:i8
%21:i8 = phi %4, %20, 0:i8
%22:i8 = phi %3, %21, 0:i8
%23:i8 = phi %2, %22, 0:i8
%24:i8 = phi %1, %23, 0:i8
%25:i8 = phi %0, %24, 0:i8
infer %25
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 3
%13:i8 = phi %12, 1:i8, 0:i8, 0:i8
%14:i8 = phi %11, %13, 0:i8
%15:i8 = phi %10, %14, 0:i8
%16:i8 = phi %9, %15, 0:i8
%17:i8 = phi %8, %16, 0:i8
%18:i8 = phi %7, %17, 0:i8
%19:i8 = phi %6, %18, 0:i8
%20:i8 = phi %5, %19, 0:i8
%21:i8 = phi %4, %20, 0:i8
%22:i8 = phi %3, %21, 0:i8
%23:i8 = phi %2, %22, 0:i8
%24:i8 = phi %1, %23, 0:i8
%25:i8 = phi %0, %24, 0:i8
%26:i1 = eq 0:i8, %25
infer %26
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 3
%13:i8 = phi %12, 1:i8, 0:i8, 0:i8
%14:i8 = phi %11, %13, 0:i8
%15:i8 = phi %10, %14, 0:i8
%16:i8 = phi %9, %15, 0:i8
%17:i8 = phi %8, %16, 0:i8
%18:i8 = phi %7, %17, 0:i8
%19:i8 = phi %6, %18, 0:i8
%20:i8 = phi %5, %19, 0:i8
%21:i8 = phi %4, %20, 0:i8
%22:i8 = phi %3, %21, 0:i8
%23:i8 = phi %2, %22, 0:i8
%24:i8 = phi %1, %23, 0:i8
%25:i8 = phi %0, %24, 0:i8
infer %25
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 3
%13:i8 = phi %12, 1:i8, 0:i8, 0:i8
%14:i8 = phi %11, %13, 0:i8
%15:i8 = phi %10, %14, 0:i8
%16:i8 = phi %9, %15, 0:i8
%17:i8 = phi %8, %16, 0:i8
%18:i8 = phi %7, %17, 0:i8
%19:i8 = phi %6, %18, 0:i8
%20:i8 = phi %5, %19, 0:i8
%21:i8 = phi %4, %20, 0:i8
%22:i8 = phi %3, 0:i8, %21
%23:i8 = phi %2, %22, 0:i8
%24:i8 = phi %1, %23, 0:i8
%25:i8 = phi %0, %24, 0:i8
%26:i1 = eq 0:i8, %25
infer %26
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 3
%13:i8 = phi %12, 1:i8, 0:i8, 0:i8
%14:i8 = phi %11, %13, 0:i8
%15:i8 = phi %10, %14, 0:i8
%16:i8 = phi %9, %15, 0:i8
%17:i8 = phi %8, %16, 0:i8
%18:i8 = phi %7, %17, 0:i8
%19:i8 = phi %6, %18, 0:i8
%20:i8 = phi %5, %19, 0:i8
%21:i8 = phi %4, %20, 0:i8
%22:i8 = phi %3, 0:i8, %21
%23:i8 = phi %2, %22, 0:i8
%24:i8 = phi %1, %23, 0:i8
%25:i8 = phi %0, %24, 0:i8
infer %25
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12:i8 = phi %11, 0:i8, 1:i8
%13:i8 = phi %10, 0:i8, %12
%14:i8 = phi %9, 0:i8, %13
%15:i8 = phi %8, 0:i8, %14
%16:i8 = phi %7, 0:i8, %15
%17:i8 = phi %6, 0:i8, %16
%18:i8 = phi %5, 0:i8, %17
%19:i8 = phi %4, 0:i8, %18
%20:i8 = phi %3, 0:i8, %19
%21:i8 = phi %2, 0:i8, %20
%22:i8 = phi %1, 0:i8, %21
%23:i8 = phi %0, 0:i8, %22
%24:i8 = and 1:i8, %23
%25:i1 = eq 0:i8, %24
infer %25
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12:i8 = phi %11, 0:i8, 1:i8
%13:i8 = phi %10, 0:i8, %12
%14:i8 = phi %9, 0:i8, %13
%15:i8 = phi %8, 0:i8, %14
%16:i8 = phi %7, 0:i8, %15
%17:i8 = phi %6, 0:i8, %16
%18:i8 = phi %5, 0:i8, %17
%19:i8 = phi %4, 0:i8, %18
%20:i8 = phi %3, 0:i8, %19
%21:i8 = phi %2, 0:i8, %20
%22:i8 = phi %1, 0:i8, %21
%23:i8 = phi %0, 0:i8, %22
%24:i8 = and 1:i8, %23
infer %24
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12:i8 = phi %11, 0:i8, 1:i8
%13:i8 = phi %10, 0:i8, %12
%14:i8 = phi %9, 0:i8, %13
%15:i8 = phi %8, 0:i8, %14
%16:i8 = phi %7, 0:i8, %15
%17:i8 = phi %6, 0:i8, %16
%18:i8 = phi %5, 0:i8, %17
%19:i8 = phi %4, 0:i8, %18
%20:i8 = phi %3, 0:i8, %19
%21:i8 = phi %2, 0:i8, %20
%22:i8 = phi %1, 0:i8, %21
%23:i8 = phi %0, 0:i8, %22
infer %23 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12:i8 = phi %11, 1:i8, 0:i8
%13:i8 = phi %10, %12, 0:i8
%14:i8 = phi %9, %13, 0:i8
%15:i8 = phi %8, %14, 0:i8
%16:i8 = phi %7, %15, 0:i8
%17:i8 = phi %6, %16, 0:i8
%18:i8 = phi %5, %17, 0:i8
%19:i8 = phi %4, %18, 0:i8
%20:i8 = phi %3, %19, 0:i8
%21:i8 = phi %2, %20, 0:i8
%22:i8 = phi %1, %21, 0:i8
%23:i8 = phi %0, %22, 0:i8
%24:i1 = eq 0:i8, %23
infer %24
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12:i8 = phi %11, 1:i8, 0:i8
%13:i8 = phi %10, %12, 0:i8
%14:i8 = phi %9, %13, 0:i8
%15:i8 = phi %8, %14, 0:i8
%16:i8 = phi %7, %15, 0:i8
%17:i8 = phi %6, %16, 0:i8
%18:i8 = phi %5, %17, 0:i8
%19:i8 = phi %4, %18, 0:i8
%20:i8 = phi %3, %19, 0:i8
%21:i8 = phi %2, %20, 0:i8
%22:i8 = phi %1, %21, 0:i8
%23:i8 = phi %0, %22, 0:i8
infer %23
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 3
%12:i8 = phi %11, 1:i8, 0:i8, 0:i8
%13:i8 = phi %10, %12, 0:i8
%14:i8 = phi %9, %13, 0:i8
%15:i8 = phi %8, %14, 0:i8
%16:i8 = phi %7, %15, 0:i8
%17:i8 = phi %6, %16, 0:i8
%18:i8 = phi %5, %17, 0:i8
%19:i8 = phi %4, %18, 0:i8
%20:i8 = phi %3, %19, 0:i8
%21:i8 = phi %2, %20, 0:i8
%22:i8 = phi %1, %21, 0:i8
%23:i8 = phi %0, %22, 0:i8
%24:i1 = eq 0:i8, %23
infer %24
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 3
%12:i8 = phi %11, 1:i8, 0:i8, 0:i8
%13:i8 = phi %10, %12, 0:i8
%14:i8 = phi %9, %13, 0:i8
%15:i8 = phi %8, %14, 0:i8
%16:i8 = phi %7, %15, 0:i8
%17:i8 = phi %6, %16, 0:i8
%18:i8 = phi %5, %17, 0:i8
%19:i8 = phi %4, %18, 0:i8
%20:i8 = phi %3, %19, 0:i8
%21:i8 = phi %2, %20, 0:i8
%22:i8 = phi %1, %21, 0:i8
%23:i8 = phi %0, %22, 0:i8
infer %23
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 3
%12:i8 = phi %11, 1:i8, 0:i8, 0:i8
%13:i8 = phi %10, %12, 0:i8
%14:i8 = phi %9, %13, 0:i8
%15:i8 = phi %8, %14, 0:i8
%16:i8 = phi %7, %15, 0:i8
%17:i8 = phi %6, %16, 0:i8
%18:i8 = phi %5, %17, 0:i8
%19:i8 = phi %4, %18, 0:i8
%20:i8 = phi %3, %19, 0:i8
%21:i8 = phi %2, 0:i8, %20
%22:i8 = phi %1, %21, 0:i8
%23:i8 = phi %0, %22, 0:i8
%24:i1 = eq 0:i8, %23
infer %24
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 3
%12:i8 = phi %11, 1:i8, 0:i8, 0:i8
%13:i8 = phi %10, %12, 0:i8
%14:i8 = phi %9, %13, 0:i8
%15:i8 = phi %8, %14, 0:i8
%16:i8 = phi %7, %15, 0:i8
%17:i8 = phi %6, %16, 0:i8
%18:i8 = phi %5, %17, 0:i8
%19:i8 = phi %4, %18, 0:i8
%20:i8 = phi %3, %19, 0:i8
%21:i8 = phi %2, 0:i8, %20
%22:i8 = phi %1, %21, 0:i8
%23:i8 = phi %0, %22, 0:i8
infer %23
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11:i8 = phi %10, 0:i8, 1:i8
%12:i8 = phi %9, 0:i8, %11
%13:i8 = phi %8, 0:i8, %12
%14:i8 = phi %7, 0:i8, %13
%15:i8 = phi %6, 0:i8, %14
%16:i8 = phi %5, 0:i8, %15
%17:i8 = phi %4, 0:i8, %16
%18:i8 = phi %3, 0:i8, %17
%19:i8 = phi %2, 0:i8, %18
%20:i8 = phi %1, 0:i8, %19
%21:i8 = phi %0, 0:i8, %20
%22:i8 = and 1:i8, %21
%23:i1 = eq 0:i8, %22
infer %23
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11:i8 = phi %10, 0:i8, 1:i8
%12:i8 = phi %9, 0:i8, %11
%13:i8 = phi %8, 0:i8, %12
%14:i8 = phi %7, 0:i8, %13
%15:i8 = phi %6, 0:i8, %14
%16:i8 = phi %5, 0:i8, %15
%17:i8 = phi %4, 0:i8, %16
%18:i8 = phi %3, 0:i8, %17
%19:i8 = phi %2, 0:i8, %18
%20:i8 = phi %1, 0:i8, %19
%21:i8 = phi %0, 0:i8, %20
%22:i8 = and 1:i8, %21
infer %22
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11:i8 = phi %10, 0:i8, 1:i8
%12:i8 = phi %9, 0:i8, %11
%13:i8 = phi %8, 0:i8, %12
%14:i8 = phi %7, 0:i8, %13
%15:i8 = phi %6, 0:i8, %14
%16:i8 = phi %5, 0:i8, %15
%17:i8 = phi %4, 0:i8, %16
%18:i8 = phi %3, 0:i8, %17
%19:i8 = phi %2, 0:i8, %18
%20:i8 = phi %1, 0:i8, %19
%21:i8 = phi %0, 0:i8, %20
infer %21 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11:i8 = phi %10, 1:i8, 0:i8
%12:i8 = phi %9, %11, 0:i8
%13:i8 = phi %8, %12, 0:i8
%14:i8 = phi %7, %13, 0:i8
%15:i8 = phi %6, %14, 0:i8
%16:i8 = phi %5, %15, 0:i8
%17:i8 = phi %4, %16, 0:i8
%18:i8 = phi %3, %17, 0:i8
%19:i8 = phi %2, %18, 0:i8
%20:i8 = phi %1, %19, 0:i8
%21:i8 = phi %0, %20, 0:i8
%22:i1 = eq 0:i8, %21
infer %22
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11:i8 = phi %10, 1:i8, 0:i8
%12:i8 = phi %9, %11, 0:i8
%13:i8 = phi %8, %12, 0:i8
%14:i8 = phi %7, %13, 0:i8
%15:i8 = phi %6, %14, 0:i8
%16:i8 = phi %5, %15, 0:i8
%17:i8 = phi %4, %16, 0:i8
%18:i8 = phi %3, %17, 0:i8
%19:i8 = phi %2, %18, 0:i8
%20:i8 = phi %1, %19, 0:i8
%21:i8 = phi %0, %20, 0:i8
infer %21
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 3
%11:i8 = phi %10, 1:i8, 0:i8, 0:i8
%12:i8 = phi %9, %11, 0:i8
%13:i8 = phi %8, %12, 0:i8
%14:i8 = phi %7, %13, 0:i8
%15:i8 = phi %6, %14, 0:i8
%16:i8 = phi %5, %15, 0:i8
%17:i8 = phi %4, %16, 0:i8
%18:i8 = phi %3, %17, 0:i8
%19:i8 = phi %2, %18, 0:i8
%20:i8 = phi %1, %19, 0:i8
%21:i8 = phi %0, %20, 0:i8
%22:i1 = eq 0:i8, %21
infer %22
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 3
%11:i8 = phi %10, 1:i8, 0:i8, 0:i8
%12:i8 = phi %9, %11, 0:i8
%13:i8 = phi %8, %12, 0:i8
%14:i8 = phi %7, %13, 0:i8
%15:i8 = phi %6, %14, 0:i8
%16:i8 = phi %5, %15, 0:i8
%17:i8 = phi %4, %16, 0:i8
%18:i8 = phi %3, %17, 0:i8
%19:i8 = phi %2, %18, 0:i8
%20:i8 = phi %1, %19, 0:i8
%21:i8 = phi %0, %20, 0:i8
infer %21
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 3
%11:i8 = phi %10, 1:i8, 0:i8, 0:i8
%12:i8 = phi %9, %11, 0:i8
%13:i8 = phi %8, %12, 0:i8
%14:i8 = phi %7, %13, 0:i8
%15:i8 = phi %6, %14, 0:i8
%16:i8 = phi %5, %15, 0:i8
%17:i8 = phi %4, %16, 0:i8
%18:i8 = phi %3, %17, 0:i8
%19:i8 = phi %2, %18, 0:i8
%20:i8 = phi %1, 0:i8, %19
%21:i8 = phi %0, %20, 0:i8
%22:i1 = eq 0:i8, %21
infer %22
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 3
%11:i8 = phi %10, 1:i8, 0:i8, 0:i8
%12:i8 = phi %9, %11, 0:i8
%13:i8 = phi %8, %12, 0:i8
%14:i8 = phi %7, %13, 0:i8
%15:i8 = phi %6, %14, 0:i8
%16:i8 = phi %5, %15, 0:i8
%17:i8 = phi %4, %16, 0:i8
%18:i8 = phi %3, %17, 0:i8
%19:i8 = phi %2, %18, 0:i8
%20:i8 = phi %1, 0:i8, %19
%21:i8 = phi %0, %20, 0:i8
infer %21
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i32 = var
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20:i32 = var
%21:i32 = var
%22:i32 = phi %19, %20, %21
%23:i32 = var
%24:i32 = phi %18, %22, %23
%25:i32 = var
%26:i32 = phi %17, %24, %25
%27:i32 = var
%28:i32 = phi %16, %26, %27
%29:i32 = var
%30:i32 = phi %15, %28, %29
%31:i32 = var
%32:i32 = phi %14, %30, %31
%33:i32 = var
%34:i32 = phi %13, %32, %33
%35:i32 = var
%36:i32 = phi %12, %34, %35
%37:i32 = var
%38:i32 = phi %11, %36, %37
%39:i32 = phi %9, %10, %38
%40:i32 = var
%41:i32 = phi %8, %39, %40
%42:i32 = var
%43:i32 = phi %7, %41, %42
%44:i32 = var
%45:i32 = phi %6, %43, %44
%46:i32 = var
%47:i32 = phi %5, %45, %46
%48:i32 = var
%49:i32 = phi %4, %47, %48
%50:i32 = var
%51:i32 = phi %3, %49, %50
%52:i32 = var
%53:i32 = phi %2, %51, %52
%54:i32 = var
%55:i32 = phi %1, %53, %54
%56:i32 = var
%57:i32 = phi %0, %55, %56
%58:i32 = and 4286611516:i32, %57
infer %58
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i32 = var
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20:i32 = var
%21:i32 = var
%22:i32 = phi %19, %20, %21
%23:i32 = var
%24:i32 = phi %18, %22, %23
%25:i32 = var
%26:i32 = phi %17, %24, %25
%27:i32 = var
%28:i32 = phi %16, %26, %27
%29:i32 = var
%30:i32 = phi %15, %28, %29
%31:i32 = var
%32:i32 = phi %14, %30, %31
%33:i32 = var
%34:i32 = phi %13, %32, %33
%35:i32 = var
%36:i32 = phi %12, %34, %35
%37:i32 = var
%38:i32 = phi %11, %36, %37
%39:i32 = phi %9, %10, %38
%40:i32 = var
%41:i32 = phi %8, %39, %40
%42:i32 = var
%43:i32 = phi %7, %41, %42
%44:i32 = var
%45:i32 = phi %6, %43, %44
%46:i32 = var
%47:i32 = phi %5, %45, %46
%48:i32 = var
%49:i32 = phi %4, %47, %48
%50:i32 = var
%51:i32 = phi %3, %49, %50
%52:i32 = var
%53:i32 = phi %2, %51, %52
%54:i32 = var
%55:i32 = phi %1, %53, %54
%56:i32 = var
%57:i32 = phi %0, %55, %56
%58:i32 = and 4286611516:i32, %57 (hasExternalUses)
%59:i1 = eq 0:i32, %58
infer %59
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i32 = var
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 2
%20:i32 = var
%21:i32 = var
%22:i32 = phi %19, %20, %21
%23:i32 = var
%24:i32 = phi %18, %22, %23
%25:i32 = var
%26:i32 = phi %17, %24, %25
%27:i32 = var
%28:i32 = phi %16, %26, %27
%29:i32 = var
%30:i32 = phi %15, %28, %29
%31:i32 = var
%32:i32 = phi %14, %30, %31
%33:i32 = var
%34:i32 = phi %13, %32, %33
%35:i32 = var
%36:i32 = phi %12, %34, %35
%37:i32 = var
%38:i32 = phi %11, %36, %37
%39:i32 = phi %9, %10, %38
%40:i32 = var
%41:i32 = phi %8, %39, %40
%42:i32 = var
%43:i32 = phi %7, %41, %42
%44:i32 = var
%45:i32 = phi %6, %43, %44
%46:i32 = var
%47:i32 = phi %5, %45, %46
%48:i32 = var
%49:i32 = phi %4, %47, %48
%50:i32 = var
%51:i32 = phi %3, %49, %50
%52:i32 = var
%53:i32 = phi %2, %51, %52
%54:i32 = var
%55:i32 = phi %1, %53, %54
%56:i32 = var
%57:i32 = phi %0, %55, %56
infer %57 (demandedBits=11111111100000001000000000111100)
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i32 = var
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 3
%20:i32 = var
%21:i32 = var
%22:i32 = var
%23:i32 = phi %19, %20, %21, %22
%24:i32 = var
%25:i32 = phi %18, %23, %24
%26:i32 = var
%27:i32 = phi %17, %25, %26
%28:i32 = var
%29:i32 = phi %16, %27, %28
%30:i32 = var
%31:i32 = phi %15, %29, %30
%32:i32 = var
%33:i32 = phi %14, %31, %32
%34:i32 = var
%35:i32 = phi %13, %33, %34
%36:i32 = var
%37:i32 = phi %12, %35, %36
%38:i32 = var
%39:i32 = phi %11, %37, %38
%40:i32 = phi %9, %10, %39
%41:i32 = var
%42:i32 = phi %8, %40, %41
%43:i32 = var
%44:i32 = phi %7, %42, %43
%45:i32 = var
%46:i32 = phi %6, %44, %45
%47:i32 = var
%48:i32 = phi %5, %46, %47
%49:i32 = var
%50:i32 = phi %4, %48, %49
%51:i32 = var
%52:i32 = phi %3, %50, %51
%53:i32 = var
%54:i32 = phi %2, %52, %53
%55:i32 = var
%56:i32 = phi %1, %54, %55
%57:i32 = var
%58:i32 = phi %0, %56, %57
%59:i32 = and 4286611516:i32, %58
infer %59
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i32 = var
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 3
%20:i32 = var
%21:i32 = var
%22:i32 = var
%23:i32 = phi %19, %20, %21, %22
%24:i32 = var
%25:i32 = phi %18, %23, %24
%26:i32 = var
%27:i32 = phi %17, %25, %26
%28:i32 = var
%29:i32 = phi %16, %27, %28
%30:i32 = var
%31:i32 = phi %15, %29, %30
%32:i32 = var
%33:i32 = phi %14, %31, %32
%34:i32 = var
%35:i32 = phi %13, %33, %34
%36:i32 = var
%37:i32 = phi %12, %35, %36
%38:i32 = var
%39:i32 = phi %11, %37, %38
%40:i32 = phi %9, %10, %39
%41:i32 = var
%42:i32 = phi %8, %40, %41
%43:i32 = var
%44:i32 = phi %7, %42, %43
%45:i32 = var
%46:i32 = phi %6, %44, %45
%47:i32 = var
%48:i32 = phi %5, %46, %47
%49:i32 = var
%50:i32 = phi %4, %48, %49
%51:i32 = var
%52:i32 = phi %3, %50, %51
%53:i32 = var
%54:i32 = phi %2, %52, %53
%55:i32 = var
%56:i32 = phi %1, %54, %55
%57:i32 = var
%58:i32 = phi %0, %56, %57
%59:i32 = and 4286611516:i32, %58 (hasExternalUses)
%60:i1 = eq 0:i32, %59
infer %60
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i32 = var
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19 = block 3
%20:i32 = var
%21:i32 = var
%22:i32 = var
%23:i32 = phi %19, %20, %21, %22
%24:i32 = var
%25:i32 = phi %18, %23, %24
%26:i32 = var
%27:i32 = phi %17, %25, %26
%28:i32 = var
%29:i32 = phi %16, %27, %28
%30:i32 = var
%31:i32 = phi %15, %29, %30
%32:i32 = var
%33:i32 = phi %14, %31, %32
%34:i32 = var
%35:i32 = phi %13, %33, %34
%36:i32 = var
%37:i32 = phi %12, %35, %36
%38:i32 = var
%39:i32 = phi %11, %37, %38
%40:i32 = phi %9, %10, %39
%41:i32 = var
%42:i32 = phi %8, %40, %41
%43:i32 = var
%44:i32 = phi %7, %42, %43
%45:i32 = var
%46:i32 = phi %6, %44, %45
%47:i32 = var
%48:i32 = phi %5, %46, %47
%49:i32 = var
%50:i32 = phi %4, %48, %49
%51:i32 = var
%52:i32 = phi %3, %50, %51
%53:i32 = var
%54:i32 = phi %2, %52, %53
%55:i32 = var
%56:i32 = phi %1, %54, %55
%57:i32 = var
%58:i32 = phi %0, %56, %57
infer %58 (demandedBits=11111111100000001000000000111100)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i8 = phi %9, 0:i8, 1:i8
%11:i8 = phi %8, 0:i8, %10
%12:i8 = phi %7, 0:i8, %11
%13:i8 = phi %6, 0:i8, %12
%14:i8 = phi %5, 0:i8, %13
%15:i8 = phi %4, 0:i8, %14
%16:i8 = phi %3, 0:i8, %15
%17:i8 = phi %2, 0:i8, %16
%18:i8 = phi %1, 0:i8, %17
%19:i8 = phi %0, %18, 0:i8
%20:i8 = and 1:i8, %19
%21:i1 = eq 0:i8, %20
infer %21
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i8 = phi %9, 0:i8, 1:i8
%11:i8 = phi %8, 0:i8, %10
%12:i8 = phi %7, 0:i8, %11
%13:i8 = phi %6, 0:i8, %12
%14:i8 = phi %5, 0:i8, %13
%15:i8 = phi %4, 0:i8, %14
%16:i8 = phi %3, 0:i8, %15
%17:i8 = phi %2, 0:i8, %16
%18:i8 = phi %1, 0:i8, %17
%19:i8 = phi %0, %18, 0:i8
%20:i8 = and 1:i8, %19
infer %20
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i8 = phi %9, 0:i8, 1:i8
%11:i8 = phi %8, 0:i8, %10
%12:i8 = phi %7, 0:i8, %11
%13:i8 = phi %6, 0:i8, %12
%14:i8 = phi %5, 0:i8, %13
%15:i8 = phi %4, 0:i8, %14
%16:i8 = phi %3, 0:i8, %15
%17:i8 = phi %2, 0:i8, %16
%18:i8 = phi %1, 0:i8, %17
%19:i8 = phi %0, %18, 0:i8
infer %19 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i8 = phi %9, 0:i8, 1:i8
%11:i8 = phi %8, 0:i8, %10
%12:i8 = phi %7, 0:i8, %11
%13:i8 = phi %6, 0:i8, %12
%14:i8 = phi %5, 0:i8, %13
%15:i8 = phi %4, 0:i8, %14
%16:i8 = phi %3, 0:i8, %15
%17:i8 = phi %2, 0:i8, %16
%18:i8 = phi %1, 0:i8, %17
%19:i8 = phi %0, 0:i8, %18
%20:i8 = and 1:i8, %19
%21:i1 = eq 0:i8, %20
infer %21
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i8 = phi %9, 0:i8, 1:i8
%11:i8 = phi %8, 0:i8, %10
%12:i8 = phi %7, 0:i8, %11
%13:i8 = phi %6, 0:i8, %12
%14:i8 = phi %5, 0:i8, %13
%15:i8 = phi %4, 0:i8, %14
%16:i8 = phi %3, 0:i8, %15
%17:i8 = phi %2, 0:i8, %16
%18:i8 = phi %1, 0:i8, %17
%19:i8 = phi %0, 0:i8, %18
%20:i8 = and 1:i8, %19
infer %20
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i8 = phi %9, 0:i8, 1:i8
%11:i8 = phi %8, 0:i8, %10
%12:i8 = phi %7, 0:i8, %11
%13:i8 = phi %6, 0:i8, %12
%14:i8 = phi %5, 0:i8, %13
%15:i8 = phi %4, 0:i8, %14
%16:i8 = phi %3, 0:i8, %15
%17:i8 = phi %2, 0:i8, %16
%18:i8 = phi %1, 0:i8, %17
%19:i8 = phi %0, 0:i8, %18
infer %19 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i8 = phi %9, 1:i8, 0:i8
%11:i8 = phi %8, %10, 0:i8
%12:i8 = phi %7, %11, 0:i8
%13:i8 = phi %6, %12, 0:i8
%14:i8 = phi %5, %13, 0:i8
%15:i8 = phi %4, %14, 0:i8
%16:i8 = phi %3, %15, 0:i8
%17:i8 = phi %2, %16, 0:i8
%18:i8 = phi %1, %17, 0:i8
%19:i8 = phi %0, %18, 0:i8
%20:i1 = eq 0:i8, %19
infer %20
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10:i8 = phi %9, 1:i8, 0:i8
%11:i8 = phi %8, %10, 0:i8
%12:i8 = phi %7, %11, 0:i8
%13:i8 = phi %6, %12, 0:i8
%14:i8 = phi %5, %13, 0:i8
%15:i8 = phi %4, %14, 0:i8
%16:i8 = phi %3, %15, 0:i8
%17:i8 = phi %2, %16, 0:i8
%18:i8 = phi %1, %17, 0:i8
%19:i8 = phi %0, %18, 0:i8
infer %19
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 3
%10:i8 = phi %9, 1:i8, 0:i8, 0:i8
%11:i8 = phi %8, %10, 0:i8
%12:i8 = phi %7, %11, 0:i8
%13:i8 = phi %6, %12, 0:i8
%14:i8 = phi %5, %13, 0:i8
%15:i8 = phi %4, %14, 0:i8
%16:i8 = phi %3, %15, 0:i8
%17:i8 = phi %2, %16, 0:i8
%18:i8 = phi %1, %17, 0:i8
%19:i8 = phi %0, %18, 0:i8
%20:i1 = eq 0:i8, %19
infer %20
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 3
%10:i8 = phi %9, 1:i8, 0:i8, 0:i8
%11:i8 = phi %8, %10, 0:i8
%12:i8 = phi %7, %11, 0:i8
%13:i8 = phi %6, %12, 0:i8
%14:i8 = phi %5, %13, 0:i8
%15:i8 = phi %4, %14, 0:i8
%16:i8 = phi %3, %15, 0:i8
%17:i8 = phi %2, %16, 0:i8
%18:i8 = phi %1, %17, 0:i8
%19:i8 = phi %0, %18, 0:i8
infer %19
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 3
%10:i8 = phi %9, 1:i8, 0:i8, 0:i8
%11:i8 = phi %8, %10, 0:i8
%12:i8 = phi %7, %11, 0:i8
%13:i8 = phi %6, %12, 0:i8
%14:i8 = phi %5, %13, 0:i8
%15:i8 = phi %4, %14, 0:i8
%16:i8 = phi %3, %15, 0:i8
%17:i8 = phi %2, %16, 0:i8
%18:i8 = phi %1, %17, 0:i8
%19:i8 = phi %0, 0:i8, %18
%20:i1 = eq 0:i8, %19
infer %20
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 3
%10:i8 = phi %9, 1:i8, 0:i8, 0:i8
%11:i8 = phi %8, %10, 0:i8
%12:i8 = phi %7, %11, 0:i8
%13:i8 = phi %6, %12, 0:i8
%14:i8 = phi %5, %13, 0:i8
%15:i8 = phi %4, %14, 0:i8
%16:i8 = phi %3, %15, 0:i8
%17:i8 = phi %2, %16, 0:i8
%18:i8 = phi %1, %17, 0:i8
%19:i8 = phi %0, 0:i8, %18
infer %19
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19:i32 = var
%20:i32 = var
%21:i32 = phi %18, %19, %20
%22:i32 = var
%23:i32 = phi %17, %21, %22
%24:i32 = var
%25:i32 = phi %16, %23, %24
%26:i32 = var
%27:i32 = phi %15, %25, %26
%28:i32 = var
%29:i32 = phi %14, %27, %28
%30:i32 = var
%31:i32 = phi %13, %29, %30
%32:i32 = var
%33:i32 = phi %12, %31, %32
%34:i32 = var
%35:i32 = phi %11, %33, %34
%36:i32 = var
%37:i32 = phi %10, %35, %36
%38:i32 = phi %8, %9, %37
%39:i32 = var
%40:i32 = phi %7, %38, %39
%41:i32 = var
%42:i32 = phi %6, %40, %41
%43:i32 = var
%44:i32 = phi %5, %42, %43
%45:i32 = var
%46:i32 = phi %4, %44, %45
%47:i32 = var
%48:i32 = phi %3, %46, %47
%49:i32 = var
%50:i32 = phi %2, %48, %49
%51:i32 = var
%52:i32 = phi %1, %50, %51
%53:i32 = var
%54:i32 = phi %0, %52, %53
%55:i32 = and 512:i32, %54
%56:i1 = eq 0:i32, %55
infer %56
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19:i32 = var
%20:i32 = var
%21:i32 = phi %18, %19, %20
%22:i32 = var
%23:i32 = phi %17, %21, %22
%24:i32 = var
%25:i32 = phi %16, %23, %24
%26:i32 = var
%27:i32 = phi %15, %25, %26
%28:i32 = var
%29:i32 = phi %14, %27, %28
%30:i32 = var
%31:i32 = phi %13, %29, %30
%32:i32 = var
%33:i32 = phi %12, %31, %32
%34:i32 = var
%35:i32 = phi %11, %33, %34
%36:i32 = var
%37:i32 = phi %10, %35, %36
%38:i32 = phi %8, %9, %37
%39:i32 = var
%40:i32 = phi %7, %38, %39
%41:i32 = var
%42:i32 = phi %6, %40, %41
%43:i32 = var
%44:i32 = phi %5, %42, %43
%45:i32 = var
%46:i32 = phi %4, %44, %45
%47:i32 = var
%48:i32 = phi %3, %46, %47
%49:i32 = var
%50:i32 = phi %2, %48, %49
%51:i32 = var
%52:i32 = phi %1, %50, %51
%53:i32 = var
%54:i32 = phi %0, %52, %53
%55:i32 = and 512:i32, %54
infer %55
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 2
%19:i32 = var
%20:i32 = var
%21:i32 = phi %18, %19, %20
%22:i32 = var
%23:i32 = phi %17, %21, %22
%24:i32 = var
%25:i32 = phi %16, %23, %24
%26:i32 = var
%27:i32 = phi %15, %25, %26
%28:i32 = var
%29:i32 = phi %14, %27, %28
%30:i32 = var
%31:i32 = phi %13, %29, %30
%32:i32 = var
%33:i32 = phi %12, %31, %32
%34:i32 = var
%35:i32 = phi %11, %33, %34
%36:i32 = var
%37:i32 = phi %10, %35, %36
%38:i32 = phi %8, %9, %37
%39:i32 = var
%40:i32 = phi %7, %38, %39
%41:i32 = var
%42:i32 = phi %6, %40, %41
%43:i32 = var
%44:i32 = phi %5, %42, %43
%45:i32 = var
%46:i32 = phi %4, %44, %45
%47:i32 = var
%48:i32 = phi %3, %46, %47
%49:i32 = var
%50:i32 = phi %2, %48, %49
%51:i32 = var
%52:i32 = phi %1, %50, %51
%53:i32 = var
%54:i32 = phi %0, %52, %53
infer %54 (demandedBits=11111111100000001000001000111100)
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 3
%19:i32 = var
%20:i32 = var
%21:i32 = var
%22:i32 = phi %18, %19, %20, %21
%23:i32 = var
%24:i32 = phi %17, %22, %23
%25:i32 = var
%26:i32 = phi %16, %24, %25
%27:i32 = var
%28:i32 = phi %15, %26, %27
%29:i32 = var
%30:i32 = phi %14, %28, %29
%31:i32 = var
%32:i32 = phi %13, %30, %31
%33:i32 = var
%34:i32 = phi %12, %32, %33
%35:i32 = var
%36:i32 = phi %11, %34, %35
%37:i32 = var
%38:i32 = phi %10, %36, %37
%39:i32 = phi %8, %9, %38
%40:i32 = var
%41:i32 = phi %7, %39, %40
%42:i32 = var
%43:i32 = phi %6, %41, %42
%44:i32 = var
%45:i32 = phi %5, %43, %44
%46:i32 = var
%47:i32 = phi %4, %45, %46
%48:i32 = var
%49:i32 = phi %3, %47, %48
%50:i32 = var
%51:i32 = phi %2, %49, %50
%52:i32 = var
%53:i32 = phi %1, %51, %52
%54:i32 = var
%55:i32 = phi %0, %53, %54
%56:i32 = and 512:i32, %55
%57:i1 = eq 0:i32, %56
infer %57
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 3
%19:i32 = var
%20:i32 = var
%21:i32 = var
%22:i32 = phi %18, %19, %20, %21
%23:i32 = var
%24:i32 = phi %17, %22, %23
%25:i32 = var
%26:i32 = phi %16, %24, %25
%27:i32 = var
%28:i32 = phi %15, %26, %27
%29:i32 = var
%30:i32 = phi %14, %28, %29
%31:i32 = var
%32:i32 = phi %13, %30, %31
%33:i32 = var
%34:i32 = phi %12, %32, %33
%35:i32 = var
%36:i32 = phi %11, %34, %35
%37:i32 = var
%38:i32 = phi %10, %36, %37
%39:i32 = phi %8, %9, %38
%40:i32 = var
%41:i32 = phi %7, %39, %40
%42:i32 = var
%43:i32 = phi %6, %41, %42
%44:i32 = var
%45:i32 = phi %5, %43, %44
%46:i32 = var
%47:i32 = phi %4, %45, %46
%48:i32 = var
%49:i32 = phi %3, %47, %48
%50:i32 = var
%51:i32 = phi %2, %49, %50
%52:i32 = var
%53:i32 = phi %1, %51, %52
%54:i32 = var
%55:i32 = phi %0, %53, %54
%56:i32 = and 512:i32, %55
infer %56
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18 = block 3
%19:i32 = var
%20:i32 = var
%21:i32 = var
%22:i32 = phi %18, %19, %20, %21
%23:i32 = var
%24:i32 = phi %17, %22, %23
%25:i32 = var
%26:i32 = phi %16, %24, %25
%27:i32 = var
%28:i32 = phi %15, %26, %27
%29:i32 = var
%30:i32 = phi %14, %28, %29
%31:i32 = var
%32:i32 = phi %13, %30, %31
%33:i32 = var
%34:i32 = phi %12, %32, %33
%35:i32 = var
%36:i32 = phi %11, %34, %35
%37:i32 = var
%38:i32 = phi %10, %36, %37
%39:i32 = phi %8, %9, %38
%40:i32 = var
%41:i32 = phi %7, %39, %40
%42:i32 = var
%43:i32 = phi %6, %41, %42
%44:i32 = var
%45:i32 = phi %5, %43, %44
%46:i32 = var
%47:i32 = phi %4, %45, %46
%48:i32 = var
%49:i32 = phi %3, %47, %48
%50:i32 = var
%51:i32 = phi %2, %49, %50
%52:i32 = var
%53:i32 = phi %1, %51, %52
%54:i32 = var
%55:i32 = phi %0, %53, %54
infer %55 (demandedBits=11111111100000001000001000111100)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10:i32 = var
%11:i32 = phi %8, %9, %10
%12:i32 = var
%13:i32 = phi %7, %11, %12
%14:i32 = var
%15:i32 = phi %6, %13, %14
%16:i32 = var
%17:i32 = phi %5, %15, %16
%18:i32 = var
%19:i32 = phi %4, %17, %18
%20:i32 = var
%21:i32 = phi %3, %19, %20
%22:i32 = var
%23:i32 = phi %2, %21, %22
%24:i32 = var
%25:i32 = phi %1, %23, %24
%26:i32 = var
%27:i32 = phi %0, %25, %26
%28:i8 = trunc %27
%29:i1 = slt %28, 0:i8
infer %29
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10:i32 = var
%11:i32 = phi %8, %9, %10
%12:i32 = var
%13:i32 = phi %7, %11, %12
%14:i32 = var
%15:i32 = phi %6, %13, %14
%16:i32 = var
%17:i32 = phi %5, %15, %16
%18:i32 = var
%19:i32 = phi %4, %17, %18
%20:i32 = var
%21:i32 = phi %3, %19, %20
%22:i32 = var
%23:i32 = phi %2, %21, %22
%24:i32 = var
%25:i32 = phi %1, %23, %24
%26:i32 = var
%27:i32 = phi %0, %25, %26
%28:i8 = trunc %27
infer %28
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i32 = var
%10:i32 = var
%11:i32 = phi %8, %9, %10
%12:i32 = var
%13:i32 = phi %7, %11, %12
%14:i32 = var
%15:i32 = phi %6, %13, %14
%16:i32 = var
%17:i32 = phi %5, %15, %16
%18:i32 = var
%19:i32 = phi %4, %17, %18
%20:i32 = var
%21:i32 = phi %3, %19, %20
%22:i32 = var
%23:i32 = phi %2, %21, %22
%24:i32 = var
%25:i32 = phi %1, %23, %24
%26:i32 = var
%27:i32 = phi %0, %25, %26
infer %27
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i8 = phi %8, 0:i8, 1:i8
%10:i8 = phi %7, 0:i8, %9
%11:i8 = phi %6, 0:i8, %10
%12:i8 = phi %5, 0:i8, %11
%13:i8 = phi %4, 0:i8, %12
%14:i8 = phi %3, 0:i8, %13
%15:i8 = phi %2, 0:i8, %14
%16:i8 = phi %1, 0:i8, %15
%17:i8 = phi %0, 0:i8, %16
%18:i8 = and 1:i8, %17
%19:i1 = eq 0:i8, %18
infer %19
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i8 = phi %8, 0:i8, 1:i8
%10:i8 = phi %7, 0:i8, %9
%11:i8 = phi %6, 0:i8, %10
%12:i8 = phi %5, 0:i8, %11
%13:i8 = phi %4, 0:i8, %12
%14:i8 = phi %3, 0:i8, %13
%15:i8 = phi %2, 0:i8, %14
%16:i8 = phi %1, 0:i8, %15
%17:i8 = phi %0, 0:i8, %16
%18:i8 = and 1:i8, %17
infer %18
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i8 = phi %8, 0:i8, 1:i8
%10:i8 = phi %7, 0:i8, %9
%11:i8 = phi %6, 0:i8, %10
%12:i8 = phi %5, 0:i8, %11
%13:i8 = phi %4, 0:i8, %12
%14:i8 = phi %3, 0:i8, %13
%15:i8 = phi %2, 0:i8, %14
%16:i8 = phi %1, 0:i8, %15
%17:i8 = phi %0, 0:i8, %16
infer %17 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i8 = phi %8, 1:i8, 0:i8
%10:i8 = phi %7, %9, 0:i8
%11:i8 = phi %6, %10, 0:i8
%12:i8 = phi %5, %11, 0:i8
%13:i8 = phi %4, %12, 0:i8
%14:i8 = phi %3, %13, 0:i8
%15:i8 = phi %2, %14, 0:i8
%16:i8 = phi %1, %15, 0:i8
%17:i8 = phi %0, %16, 0:i8
%18:i1 = eq 0:i8, %17
infer %18
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9:i8 = phi %8, 1:i8, 0:i8
%10:i8 = phi %7, %9, 0:i8
%11:i8 = phi %6, %10, 0:i8
%12:i8 = phi %5, %11, 0:i8
%13:i8 = phi %4, %12, 0:i8
%14:i8 = phi %3, %13, 0:i8
%15:i8 = phi %2, %14, 0:i8
%16:i8 = phi %1, %15, 0:i8
%17:i8 = phi %0, %16, 0:i8
infer %17
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 3
%9:i32 = var
%10:i32 = var
%11:i32 = var
%12:i32 = phi %8, %9, %10, %11
%13:i32 = var
%14:i32 = phi %7, %12, %13
%15:i32 = var
%16:i32 = phi %6, %14, %15
%17:i32 = var
%18:i32 = phi %5, %16, %17
%19:i32 = var
%20:i32 = phi %4, %18, %19
%21:i32 = var
%22:i32 = phi %3, %20, %21
%23:i32 = var
%24:i32 = phi %2, %22, %23
%25:i32 = var
%26:i32 = phi %1, %24, %25
%27:i32 = var
%28:i32 = phi %0, %26, %27
%29:i8 = trunc %28
%30:i1 = slt %29, 0:i8
infer %30
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 3
%9:i32 = var
%10:i32 = var
%11:i32 = var
%12:i32 = phi %8, %9, %10, %11
%13:i32 = var
%14:i32 = phi %7, %12, %13
%15:i32 = var
%16:i32 = phi %6, %14, %15
%17:i32 = var
%18:i32 = phi %5, %16, %17
%19:i32 = var
%20:i32 = phi %4, %18, %19
%21:i32 = var
%22:i32 = phi %3, %20, %21
%23:i32 = var
%24:i32 = phi %2, %22, %23
%25:i32 = var
%26:i32 = phi %1, %24, %25
%27:i32 = var
%28:i32 = phi %0, %26, %27
%29:i8 = trunc %28
infer %29
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 3
%9:i32 = var
%10:i32 = var
%11:i32 = var
%12:i32 = phi %8, %9, %10, %11
%13:i32 = var
%14:i32 = phi %7, %12, %13
%15:i32 = var
%16:i32 = phi %6, %14, %15
%17:i32 = var
%18:i32 = phi %5, %16, %17
%19:i32 = var
%20:i32 = phi %4, %18, %19
%21:i32 = var
%22:i32 = phi %3, %20, %21
%23:i32 = var
%24:i32 = phi %2, %22, %23
%25:i32 = var
%26:i32 = phi %1, %24, %25
%27:i32 = var
%28:i32 = phi %0, %26, %27
infer %28
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 3
%9:i8 = phi %8, 1:i8, 0:i8, 0:i8
%10:i8 = phi %7, %9, 0:i8
%11:i8 = phi %6, %10, 0:i8
%12:i8 = phi %5, %11, 0:i8
%13:i8 = phi %4, %12, 0:i8
%14:i8 = phi %3, %13, 0:i8
%15:i8 = phi %2, %14, 0:i8
%16:i8 = phi %1, %15, 0:i8
%17:i8 = phi %0, %16, 0:i8
%18:i1 = eq 0:i8, %17
infer %18
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 3
%9:i8 = phi %8, 1:i8, 0:i8, 0:i8
%10:i8 = phi %7, %9, 0:i8
%11:i8 = phi %6, %10, 0:i8
%12:i8 = phi %5, %11, 0:i8
%13:i8 = phi %4, %12, 0:i8
%14:i8 = phi %3, %13, 0:i8
%15:i8 = phi %2, %14, 0:i8
%16:i8 = phi %1, %15, 0:i8
%17:i8 = phi %0, %16, 0:i8
infer %17
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i32 = var
%19:i32 = var
%20:i32 = phi %17, %18, %19
%21:i32 = var
%22:i32 = phi %16, %20, %21
%23:i32 = var
%24:i32 = phi %15, %22, %23
%25:i32 = var
%26:i32 = phi %14, %24, %25
%27:i32 = var
%28:i32 = phi %13, %26, %27
%29:i32 = var
%30:i32 = phi %12, %28, %29
%31:i32 = var
%32:i32 = phi %11, %30, %31
%33:i32 = var
%34:i32 = phi %10, %32, %33
%35:i32 = var
%36:i32 = phi %9, %34, %35
%37:i32 = phi %7, %8, %36
%38:i32 = var
%39:i32 = phi %6, %37, %38
%40:i32 = var
%41:i32 = phi %5, %39, %40
%42:i32 = var
%43:i32 = phi %4, %41, %42
%44:i32 = var
%45:i32 = phi %3, %43, %44
%46:i32 = var
%47:i32 = phi %2, %45, %46
%48:i32 = var
%49:i32 = phi %1, %47, %48
%50:i32 = var
%51:i32 = phi %0, %49, %50
%52:i32 = and 4259840:i32, %51
%53:i1 = eq 4259840:i32, %52
infer %53
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i32 = var
%19:i32 = var
%20:i32 = phi %17, %18, %19
%21:i32 = var
%22:i32 = phi %16, %20, %21
%23:i32 = var
%24:i32 = phi %15, %22, %23
%25:i32 = var
%26:i32 = phi %14, %24, %25
%27:i32 = var
%28:i32 = phi %13, %26, %27
%29:i32 = var
%30:i32 = phi %12, %28, %29
%31:i32 = var
%32:i32 = phi %11, %30, %31
%33:i32 = var
%34:i32 = phi %10, %32, %33
%35:i32 = var
%36:i32 = phi %9, %34, %35
%37:i32 = phi %7, %8, %36
%38:i32 = var
%39:i32 = phi %6, %37, %38
%40:i32 = var
%41:i32 = phi %5, %39, %40
%42:i32 = var
%43:i32 = phi %4, %41, %42
%44:i32 = var
%45:i32 = phi %3, %43, %44
%46:i32 = var
%47:i32 = phi %2, %45, %46
%48:i32 = var
%49:i32 = phi %1, %47, %48
%50:i32 = var
%51:i32 = phi %0, %49, %50
%52:i32 = and 4259840:i32, %51
infer %52
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 2
%18:i32 = var
%19:i32 = var
%20:i32 = phi %17, %18, %19
%21:i32 = var
%22:i32 = phi %16, %20, %21
%23:i32 = var
%24:i32 = phi %15, %22, %23
%25:i32 = var
%26:i32 = phi %14, %24, %25
%27:i32 = var
%28:i32 = phi %13, %26, %27
%29:i32 = var
%30:i32 = phi %12, %28, %29
%31:i32 = var
%32:i32 = phi %11, %30, %31
%33:i32 = var
%34:i32 = phi %10, %32, %33
%35:i32 = var
%36:i32 = phi %9, %34, %35
%37:i32 = phi %7, %8, %36
%38:i32 = var
%39:i32 = phi %6, %37, %38
%40:i32 = var
%41:i32 = phi %5, %39, %40
%42:i32 = var
%43:i32 = phi %4, %41, %42
%44:i32 = var
%45:i32 = phi %3, %43, %44
%46:i32 = var
%47:i32 = phi %2, %45, %46
%48:i32 = var
%49:i32 = phi %1, %47, %48
%50:i32 = var
%51:i32 = phi %0, %49, %50
infer %51 (demandedBits=11111111110000011000001000111100)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 3
%18:i32 = var
%19:i32 = var
%20:i32 = var
%21:i32 = phi %17, %18, %19, %20
%22:i32 = var
%23:i32 = phi %16, %21, %22
%24:i32 = var
%25:i32 = phi %15, %23, %24
%26:i32 = var
%27:i32 = phi %14, %25, %26
%28:i32 = var
%29:i32 = phi %13, %27, %28
%30:i32 = var
%31:i32 = phi %12, %29, %30
%32:i32 = var
%33:i32 = phi %11, %31, %32
%34:i32 = var
%35:i32 = phi %10, %33, %34
%36:i32 = var
%37:i32 = phi %9, %35, %36
%38:i32 = phi %7, %8, %37
%39:i32 = var
%40:i32 = phi %6, %38, %39
%41:i32 = var
%42:i32 = phi %5, %40, %41
%43:i32 = var
%44:i32 = phi %4, %42, %43
%45:i32 = var
%46:i32 = phi %3, %44, %45
%47:i32 = var
%48:i32 = phi %2, %46, %47
%49:i32 = var
%50:i32 = phi %1, %48, %49
%51:i32 = var
%52:i32 = phi %0, %50, %51
%53:i32 = and 4259840:i32, %52
%54:i1 = eq 4259840:i32, %53
infer %54
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 3
%18:i32 = var
%19:i32 = var
%20:i32 = var
%21:i32 = phi %17, %18, %19, %20
%22:i32 = var
%23:i32 = phi %16, %21, %22
%24:i32 = var
%25:i32 = phi %15, %23, %24
%26:i32 = var
%27:i32 = phi %14, %25, %26
%28:i32 = var
%29:i32 = phi %13, %27, %28
%30:i32 = var
%31:i32 = phi %12, %29, %30
%32:i32 = var
%33:i32 = phi %11, %31, %32
%34:i32 = var
%35:i32 = phi %10, %33, %34
%36:i32 = var
%37:i32 = phi %9, %35, %36
%38:i32 = phi %7, %8, %37
%39:i32 = var
%40:i32 = phi %6, %38, %39
%41:i32 = var
%42:i32 = phi %5, %40, %41
%43:i32 = var
%44:i32 = phi %4, %42, %43
%45:i32 = var
%46:i32 = phi %3, %44, %45
%47:i32 = var
%48:i32 = phi %2, %46, %47
%49:i32 = var
%50:i32 = phi %1, %48, %49
%51:i32 = var
%52:i32 = phi %0, %50, %51
%53:i32 = and 4259840:i32, %52
infer %53
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17 = block 3
%18:i32 = var
%19:i32 = var
%20:i32 = var
%21:i32 = phi %17, %18, %19, %20
%22:i32 = var
%23:i32 = phi %16, %21, %22
%24:i32 = var
%25:i32 = phi %15, %23, %24
%26:i32 = var
%27:i32 = phi %14, %25, %26
%28:i32 = var
%29:i32 = phi %13, %27, %28
%30:i32 = var
%31:i32 = phi %12, %29, %30
%32:i32 = var
%33:i32 = phi %11, %31, %32
%34:i32 = var
%35:i32 = phi %10, %33, %34
%36:i32 = var
%37:i32 = phi %9, %35, %36
%38:i32 = phi %7, %8, %37
%39:i32 = var
%40:i32 = phi %6, %38, %39
%41:i32 = var
%42:i32 = phi %5, %40, %41
%43:i32 = var
%44:i32 = phi %4, %42, %43
%45:i32 = var
%46:i32 = phi %3, %44, %45
%47:i32 = var
%48:i32 = phi %2, %46, %47
%49:i32 = var
%50:i32 = phi %1, %48, %49
%51:i32 = var
%52:i32 = phi %0, %50, %51
infer %52 (demandedBits=11111111110000011000001000111100)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9:i32 = var
%10:i32 = phi %7, %8, %9
%11:i32 = var
%12:i32 = phi %6, %10, %11
%13:i32 = var
%14:i32 = phi %5, %12, %13
%15:i32 = var
%16:i32 = phi %4, %14, %15
%17:i32 = var
%18:i32 = phi %3, %16, %17
%19:i32 = var
%20:i32 = phi %2, %18, %19
%21:i32 = var
%22:i32 = phi %1, %20, %21
%23:i32 = var
%24:i32 = phi %0, %22, %23
%25:i32 = and 4096:i32, %24
%26:i1 = eq 0:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9:i32 = var
%10:i32 = phi %7, %8, %9
%11:i32 = var
%12:i32 = phi %6, %10, %11
%13:i32 = var
%14:i32 = phi %5, %12, %13
%15:i32 = var
%16:i32 = phi %4, %14, %15
%17:i32 = var
%18:i32 = phi %3, %16, %17
%19:i32 = var
%20:i32 = phi %2, %18, %19
%21:i32 = var
%22:i32 = phi %1, %20, %21
%23:i32 = var
%24:i32 = phi %0, %22, %23
%25:i32 = and 4096:i32, %24
infer %25
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i32 = var
%9:i32 = var
%10:i32 = phi %7, %8, %9
%11:i32 = var
%12:i32 = phi %6, %10, %11
%13:i32 = var
%14:i32 = phi %5, %12, %13
%15:i32 = var
%16:i32 = phi %4, %14, %15
%17:i32 = var
%18:i32 = phi %3, %16, %17
%19:i32 = var
%20:i32 = phi %2, %18, %19
%21:i32 = var
%22:i32 = phi %1, %20, %21
%23:i32 = var
%24:i32 = phi %0, %22, %23
infer %24
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i8 = phi %7, 0:i8, 1:i8
%9:i8 = phi %6, 0:i8, %8
%10:i8 = phi %5, 0:i8, %9
%11:i8 = phi %4, 0:i8, %10
%12:i8 = phi %3, 0:i8, %11
%13:i8 = phi %2, 0:i8, %12
%14:i8 = phi %1, 0:i8, %13
%15:i8 = phi %0, 0:i8, %14
%16:i8 = and 1:i8, %15
%17:i1 = eq 0:i8, %16
infer %17
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i8 = phi %7, 0:i8, 1:i8
%9:i8 = phi %6, 0:i8, %8
%10:i8 = phi %5, 0:i8, %9
%11:i8 = phi %4, 0:i8, %10
%12:i8 = phi %3, 0:i8, %11
%13:i8 = phi %2, 0:i8, %12
%14:i8 = phi %1, 0:i8, %13
%15:i8 = phi %0, 0:i8, %14
%16:i8 = and 1:i8, %15
infer %16
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i8 = phi %7, 0:i8, 1:i8
%9:i8 = phi %6, 0:i8, %8
%10:i8 = phi %5, 0:i8, %9
%11:i8 = phi %4, 0:i8, %10
%12:i8 = phi %3, 0:i8, %11
%13:i8 = phi %2, 0:i8, %12
%14:i8 = phi %1, 0:i8, %13
%15:i8 = phi %0, 0:i8, %14
infer %15 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i8 = phi %7, 1:i8, 0:i8
%9:i8 = phi %6, %8, 0:i8
%10:i8 = phi %5, %9, 0:i8
%11:i8 = phi %4, %10, 0:i8
%12:i8 = phi %3, %11, 0:i8
%13:i8 = phi %2, %12, 0:i8
%14:i8 = phi %1, %13, 0:i8
%15:i8 = phi %0, %14, 0:i8
%16:i1 = eq 0:i8, %15
infer %16
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8:i8 = phi %7, 1:i8, 0:i8
%9:i8 = phi %6, %8, 0:i8
%10:i8 = phi %5, %9, 0:i8
%11:i8 = phi %4, %10, 0:i8
%12:i8 = phi %3, %11, 0:i8
%13:i8 = phi %2, %12, 0:i8
%14:i8 = phi %1, %13, 0:i8
%15:i8 = phi %0, %14, 0:i8
infer %15
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 3
%8:i32 = var
%9:i32 = var
%10:i32 = var
%11:i32 = phi %7, %8, %9, %10
%12:i32 = var
%13:i32 = phi %6, %11, %12
%14:i32 = var
%15:i32 = phi %5, %13, %14
%16:i32 = var
%17:i32 = phi %4, %15, %16
%18:i32 = var
%19:i32 = phi %3, %17, %18
%20:i32 = var
%21:i32 = phi %2, %19, %20
%22:i32 = var
%23:i32 = phi %1, %21, %22
%24:i32 = var
%25:i32 = phi %0, %23, %24
%26:i32 = and 4096:i32, %25
%27:i1 = eq 0:i32, %26
infer %27
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 3
%8:i32 = var
%9:i32 = var
%10:i32 = var
%11:i32 = phi %7, %8, %9, %10
%12:i32 = var
%13:i32 = phi %6, %11, %12
%14:i32 = var
%15:i32 = phi %5, %13, %14
%16:i32 = var
%17:i32 = phi %4, %15, %16
%18:i32 = var
%19:i32 = phi %3, %17, %18
%20:i32 = var
%21:i32 = phi %2, %19, %20
%22:i32 = var
%23:i32 = phi %1, %21, %22
%24:i32 = var
%25:i32 = phi %0, %23, %24
%26:i32 = and 4096:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 3
%8:i32 = var
%9:i32 = var
%10:i32 = var
%11:i32 = phi %7, %8, %9, %10
%12:i32 = var
%13:i32 = phi %6, %11, %12
%14:i32 = var
%15:i32 = phi %5, %13, %14
%16:i32 = var
%17:i32 = phi %4, %15, %16
%18:i32 = var
%19:i32 = phi %3, %17, %18
%20:i32 = var
%21:i32 = phi %2, %19, %20
%22:i32 = var
%23:i32 = phi %1, %21, %22
%24:i32 = var
%25:i32 = phi %0, %23, %24
infer %25
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 3
%8:i8 = phi %7, 1:i8, 0:i8, 0:i8
%9:i8 = phi %6, %8, 0:i8
%10:i8 = phi %5, %9, 0:i8
%11:i8 = phi %4, %10, 0:i8
%12:i8 = phi %3, %11, 0:i8
%13:i8 = phi %2, %12, 0:i8
%14:i8 = phi %1, %13, 0:i8
%15:i8 = phi %0, %14, 0:i8
%16:i1 = eq 0:i8, %15
infer %16
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 3
%8:i8 = phi %7, 1:i8, 0:i8, 0:i8
%9:i8 = phi %6, %8, 0:i8
%10:i8 = phi %5, %9, 0:i8
%11:i8 = phi %4, %10, 0:i8
%12:i8 = phi %3, %11, 0:i8
%13:i8 = phi %2, %12, 0:i8
%14:i8 = phi %1, %13, 0:i8
%15:i8 = phi %0, %14, 0:i8
infer %15
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17:i32 = var
%18:i32 = var
%19:i32 = phi %16, %17, %18
%20:i32 = var
%21:i32 = phi %15, %19, %20
%22:i32 = var
%23:i32 = phi %14, %21, %22
%24:i32 = var
%25:i32 = phi %13, %23, %24
%26:i32 = var
%27:i32 = phi %12, %25, %26
%28:i32 = var
%29:i32 = phi %11, %27, %28
%30:i32 = var
%31:i32 = phi %10, %29, %30
%32:i32 = var
%33:i32 = phi %9, %31, %32
%34:i32 = var
%35:i32 = phi %8, %33, %34
%36:i32 = phi %6, %7, %35
%37:i32 = var
%38:i32 = phi %5, %36, %37
%39:i32 = var
%40:i32 = phi %4, %38, %39
%41:i32 = var
%42:i32 = phi %3, %40, %41
%43:i32 = var
%44:i32 = phi %2, %42, %43
%45:i32 = var
%46:i32 = phi %1, %44, %45
%47:i32 = var
%48:i32 = phi %0, %46, %47
%49:i32 = and 1052672:i32, %48
%50:i1 = eq 1052672:i32, %49
infer %50
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17:i32 = var
%18:i32 = var
%19:i32 = phi %16, %17, %18
%20:i32 = var
%21:i32 = phi %15, %19, %20
%22:i32 = var
%23:i32 = phi %14, %21, %22
%24:i32 = var
%25:i32 = phi %13, %23, %24
%26:i32 = var
%27:i32 = phi %12, %25, %26
%28:i32 = var
%29:i32 = phi %11, %27, %28
%30:i32 = var
%31:i32 = phi %10, %29, %30
%32:i32 = var
%33:i32 = phi %9, %31, %32
%34:i32 = var
%35:i32 = phi %8, %33, %34
%36:i32 = phi %6, %7, %35
%37:i32 = var
%38:i32 = phi %5, %36, %37
%39:i32 = var
%40:i32 = phi %4, %38, %39
%41:i32 = var
%42:i32 = phi %3, %40, %41
%43:i32 = var
%44:i32 = phi %2, %42, %43
%45:i32 = var
%46:i32 = phi %1, %44, %45
%47:i32 = var
%48:i32 = phi %0, %46, %47
%49:i32 = and 1052672:i32, %48
infer %49
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 2
%17:i32 = var
%18:i32 = var
%19:i32 = phi %16, %17, %18
%20:i32 = var
%21:i32 = phi %15, %19, %20
%22:i32 = var
%23:i32 = phi %14, %21, %22
%24:i32 = var
%25:i32 = phi %13, %23, %24
%26:i32 = var
%27:i32 = phi %12, %25, %26
%28:i32 = var
%29:i32 = phi %11, %27, %28
%30:i32 = var
%31:i32 = phi %10, %29, %30
%32:i32 = var
%33:i32 = phi %9, %31, %32
%34:i32 = var
%35:i32 = phi %8, %33, %34
%36:i32 = phi %6, %7, %35
%37:i32 = var
%38:i32 = phi %5, %36, %37
%39:i32 = var
%40:i32 = phi %4, %38, %39
%41:i32 = var
%42:i32 = phi %3, %40, %41
%43:i32 = var
%44:i32 = phi %2, %42, %43
%45:i32 = var
%46:i32 = phi %1, %44, %45
%47:i32 = var
%48:i32 = phi %0, %46, %47
infer %48 (demandedBits=11111111110100011001001000111100)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 3
%17:i32 = var
%18:i32 = var
%19:i32 = var
%20:i32 = phi %16, %17, %18, %19
%21:i32 = var
%22:i32 = phi %15, %20, %21
%23:i32 = var
%24:i32 = phi %14, %22, %23
%25:i32 = var
%26:i32 = phi %13, %24, %25
%27:i32 = var
%28:i32 = phi %12, %26, %27
%29:i32 = var
%30:i32 = phi %11, %28, %29
%31:i32 = var
%32:i32 = phi %10, %30, %31
%33:i32 = var
%34:i32 = phi %9, %32, %33
%35:i32 = var
%36:i32 = phi %8, %34, %35
%37:i32 = phi %6, %7, %36
%38:i32 = var
%39:i32 = phi %5, %37, %38
%40:i32 = var
%41:i32 = phi %4, %39, %40
%42:i32 = var
%43:i32 = phi %3, %41, %42
%44:i32 = var
%45:i32 = phi %2, %43, %44
%46:i32 = var
%47:i32 = phi %1, %45, %46
%48:i32 = var
%49:i32 = phi %0, %47, %48
%50:i32 = and 1052672:i32, %49
%51:i1 = eq 1052672:i32, %50
infer %51
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 3
%17:i32 = var
%18:i32 = var
%19:i32 = var
%20:i32 = phi %16, %17, %18, %19
%21:i32 = var
%22:i32 = phi %15, %20, %21
%23:i32 = var
%24:i32 = phi %14, %22, %23
%25:i32 = var
%26:i32 = phi %13, %24, %25
%27:i32 = var
%28:i32 = phi %12, %26, %27
%29:i32 = var
%30:i32 = phi %11, %28, %29
%31:i32 = var
%32:i32 = phi %10, %30, %31
%33:i32 = var
%34:i32 = phi %9, %32, %33
%35:i32 = var
%36:i32 = phi %8, %34, %35
%37:i32 = phi %6, %7, %36
%38:i32 = var
%39:i32 = phi %5, %37, %38
%40:i32 = var
%41:i32 = phi %4, %39, %40
%42:i32 = var
%43:i32 = phi %3, %41, %42
%44:i32 = var
%45:i32 = phi %2, %43, %44
%46:i32 = var
%47:i32 = phi %1, %45, %46
%48:i32 = var
%49:i32 = phi %0, %47, %48
%50:i32 = and 1052672:i32, %49
infer %50
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16 = block 3
%17:i32 = var
%18:i32 = var
%19:i32 = var
%20:i32 = phi %16, %17, %18, %19
%21:i32 = var
%22:i32 = phi %15, %20, %21
%23:i32 = var
%24:i32 = phi %14, %22, %23
%25:i32 = var
%26:i32 = phi %13, %24, %25
%27:i32 = var
%28:i32 = phi %12, %26, %27
%29:i32 = var
%30:i32 = phi %11, %28, %29
%31:i32 = var
%32:i32 = phi %10, %30, %31
%33:i32 = var
%34:i32 = phi %9, %32, %33
%35:i32 = var
%36:i32 = phi %8, %34, %35
%37:i32 = phi %6, %7, %36
%38:i32 = var
%39:i32 = phi %5, %37, %38
%40:i32 = var
%41:i32 = phi %4, %39, %40
%42:i32 = var
%43:i32 = phi %3, %41, %42
%44:i32 = var
%45:i32 = phi %2, %43, %44
%46:i32 = var
%47:i32 = phi %1, %45, %46
%48:i32 = var
%49:i32 = phi %0, %47, %48
infer %49 (demandedBits=11111111110100011001001000111100)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8:i32 = var
%9:i32 = phi %6, %7, %8
%10:i32 = var
%11:i32 = phi %5, %9, %10
%12:i32 = var
%13:i32 = phi %4, %11, %12
%14:i32 = var
%15:i32 = phi %3, %13, %14
%16:i32 = var
%17:i32 = phi %2, %15, %16
%18:i32 = var
%19:i32 = phi %1, %17, %18
%20:i32 = var
%21:i32 = phi %0, %19, %20
%22:i32 = and 65536:i32, %21
%23:i1 = eq 0:i32, %22
infer %23
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8:i32 = var
%9:i32 = phi %6, %7, %8
%10:i32 = var
%11:i32 = phi %5, %9, %10
%12:i32 = var
%13:i32 = phi %4, %11, %12
%14:i32 = var
%15:i32 = phi %3, %13, %14
%16:i32 = var
%17:i32 = phi %2, %15, %16
%18:i32 = var
%19:i32 = phi %1, %17, %18
%20:i32 = var
%21:i32 = phi %0, %19, %20
%22:i32 = and 65536:i32, %21
infer %22
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i32 = var
%8:i32 = var
%9:i32 = phi %6, %7, %8
%10:i32 = var
%11:i32 = phi %5, %9, %10
%12:i32 = var
%13:i32 = phi %4, %11, %12
%14:i32 = var
%15:i32 = phi %3, %13, %14
%16:i32 = var
%17:i32 = phi %2, %15, %16
%18:i32 = var
%19:i32 = phi %1, %17, %18
%20:i32 = var
%21:i32 = phi %0, %19, %20
infer %21
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i8 = phi %6, 0:i8, 1:i8
%8:i8 = phi %5, 0:i8, %7
%9:i8 = phi %4, 0:i8, %8
%10:i8 = phi %3, 0:i8, %9
%11:i8 = phi %2, 0:i8, %10
%12:i8 = phi %1, 0:i8, %11
%13:i8 = phi %0, %12, 0:i8
%14:i8 = and 1:i8, %13
%15:i1 = eq 0:i8, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i8 = phi %6, 0:i8, 1:i8
%8:i8 = phi %5, 0:i8, %7
%9:i8 = phi %4, 0:i8, %8
%10:i8 = phi %3, 0:i8, %9
%11:i8 = phi %2, 0:i8, %10
%12:i8 = phi %1, 0:i8, %11
%13:i8 = phi %0, %12, 0:i8
%14:i8 = and 1:i8, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i8 = phi %6, 0:i8, 1:i8
%8:i8 = phi %5, 0:i8, %7
%9:i8 = phi %4, 0:i8, %8
%10:i8 = phi %3, 0:i8, %9
%11:i8 = phi %2, 0:i8, %10
%12:i8 = phi %1, 0:i8, %11
%13:i8 = phi %0, %12, 0:i8
infer %13 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i8 = phi %6, 0:i8, 1:i8
%8:i8 = phi %5, 0:i8, %7
%9:i8 = phi %4, 0:i8, %8
%10:i8 = phi %3, 0:i8, %9
%11:i8 = phi %2, 0:i8, %10
%12:i8 = phi %1, 0:i8, %11
%13:i8 = phi %0, 0:i8, %12
%14:i8 = and 1:i8, %13
%15:i1 = eq 0:i8, %14
infer %15
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i8 = phi %6, 0:i8, 1:i8
%8:i8 = phi %5, 0:i8, %7
%9:i8 = phi %4, 0:i8, %8
%10:i8 = phi %3, 0:i8, %9
%11:i8 = phi %2, 0:i8, %10
%12:i8 = phi %1, 0:i8, %11
%13:i8 = phi %0, 0:i8, %12
%14:i8 = and 1:i8, %13
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i8 = phi %6, 0:i8, 1:i8
%8:i8 = phi %5, 0:i8, %7
%9:i8 = phi %4, 0:i8, %8
%10:i8 = phi %3, 0:i8, %9
%11:i8 = phi %2, 0:i8, %10
%12:i8 = phi %1, 0:i8, %11
%13:i8 = phi %0, 0:i8, %12
infer %13 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i8 = phi %6, 1:i8, 0:i8
%8:i8 = phi %5, %7, 0:i8
%9:i8 = phi %4, %8, 0:i8
%10:i8 = phi %3, %9, 0:i8
%11:i8 = phi %2, %10, 0:i8
%12:i8 = phi %1, %11, 0:i8
%13:i8 = phi %0, %12, 0:i8
%14:i1 = eq 0:i8, %13
infer %14
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7:i8 = phi %6, 1:i8, 0:i8
%8:i8 = phi %5, %7, 0:i8
%9:i8 = phi %4, %8, 0:i8
%10:i8 = phi %3, %9, 0:i8
%11:i8 = phi %2, %10, 0:i8
%12:i8 = phi %1, %11, 0:i8
%13:i8 = phi %0, %12, 0:i8
infer %13
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 3
%7:i32 = var
%8:i32 = var
%9:i32 = var
%10:i32 = phi %6, %7, %8, %9
%11:i32 = var
%12:i32 = phi %5, %10, %11
%13:i32 = var
%14:i32 = phi %4, %12, %13
%15:i32 = var
%16:i32 = phi %3, %14, %15
%17:i32 = var
%18:i32 = phi %2, %16, %17
%19:i32 = var
%20:i32 = phi %1, %18, %19
%21:i32 = var
%22:i32 = phi %0, %20, %21
%23:i32 = and 65536:i32, %22
%24:i1 = eq 0:i32, %23
infer %24
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 3
%7:i32 = var
%8:i32 = var
%9:i32 = var
%10:i32 = phi %6, %7, %8, %9
%11:i32 = var
%12:i32 = phi %5, %10, %11
%13:i32 = var
%14:i32 = phi %4, %12, %13
%15:i32 = var
%16:i32 = phi %3, %14, %15
%17:i32 = var
%18:i32 = phi %2, %16, %17
%19:i32 = var
%20:i32 = phi %1, %18, %19
%21:i32 = var
%22:i32 = phi %0, %20, %21
%23:i32 = and 65536:i32, %22
infer %23
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 3
%7:i32 = var
%8:i32 = var
%9:i32 = var
%10:i32 = phi %6, %7, %8, %9
%11:i32 = var
%12:i32 = phi %5, %10, %11
%13:i32 = var
%14:i32 = phi %4, %12, %13
%15:i32 = var
%16:i32 = phi %3, %14, %15
%17:i32 = var
%18:i32 = phi %2, %16, %17
%19:i32 = var
%20:i32 = phi %1, %18, %19
%21:i32 = var
%22:i32 = phi %0, %20, %21
infer %22
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 3
%7:i8 = phi %6, 1:i8, 0:i8, 0:i8
%8:i8 = phi %5, %7, 0:i8
%9:i8 = phi %4, %8, 0:i8
%10:i8 = phi %3, %9, 0:i8
%11:i8 = phi %2, %10, 0:i8
%12:i8 = phi %1, %11, 0:i8
%13:i8 = phi %0, %12, 0:i8
%14:i1 = eq 0:i8, %13
infer %14
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 3
%7:i8 = phi %6, 1:i8, 0:i8, 0:i8
%8:i8 = phi %5, %7, 0:i8
%9:i8 = phi %4, %8, 0:i8
%10:i8 = phi %3, %9, 0:i8
%11:i8 = phi %2, %10, 0:i8
%12:i8 = phi %1, %11, 0:i8
%13:i8 = phi %0, %12, 0:i8
infer %13
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i32 = var
%17:i32 = var
%18:i32 = phi %15, %16, %17
%19:i32 = var
%20:i32 = phi %14, %18, %19
%21:i32 = var
%22:i32 = phi %13, %20, %21
%23:i32 = var
%24:i32 = phi %12, %22, %23
%25:i32 = var
%26:i32 = phi %11, %24, %25
%27:i32 = var
%28:i32 = phi %10, %26, %27
%29:i32 = var
%30:i32 = phi %9, %28, %29
%31:i32 = var
%32:i32 = phi %8, %30, %31
%33:i32 = var
%34:i32 = phi %7, %32, %33
%35:i32 = phi %5, %6, %34
%36:i32 = var
%37:i32 = phi %4, %35, %36
%38:i32 = var
%39:i32 = phi %3, %37, %38
%40:i32 = var
%41:i32 = phi %2, %39, %40
%42:i32 = var
%43:i32 = phi %1, %41, %42
%44:i32 = var
%45:i32 = phi %0, %43, %44
%46:i32 = and 2097152:i32, %45
%47:i1 = eq 0:i32, %46
infer %47
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i32 = var
%17:i32 = var
%18:i32 = phi %15, %16, %17
%19:i32 = var
%20:i32 = phi %14, %18, %19
%21:i32 = var
%22:i32 = phi %13, %20, %21
%23:i32 = var
%24:i32 = phi %12, %22, %23
%25:i32 = var
%26:i32 = phi %11, %24, %25
%27:i32 = var
%28:i32 = phi %10, %26, %27
%29:i32 = var
%30:i32 = phi %9, %28, %29
%31:i32 = var
%32:i32 = phi %8, %30, %31
%33:i32 = var
%34:i32 = phi %7, %32, %33
%35:i32 = phi %5, %6, %34
%36:i32 = var
%37:i32 = phi %4, %35, %36
%38:i32 = var
%39:i32 = phi %3, %37, %38
%40:i32 = var
%41:i32 = phi %2, %39, %40
%42:i32 = var
%43:i32 = phi %1, %41, %42
%44:i32 = var
%45:i32 = phi %0, %43, %44
%46:i32 = and 2097152:i32, %45
infer %46
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 2
%16:i32 = var
%17:i32 = var
%18:i32 = phi %15, %16, %17
%19:i32 = var
%20:i32 = phi %14, %18, %19
%21:i32 = var
%22:i32 = phi %13, %20, %21
%23:i32 = var
%24:i32 = phi %12, %22, %23
%25:i32 = var
%26:i32 = phi %11, %24, %25
%27:i32 = var
%28:i32 = phi %10, %26, %27
%29:i32 = var
%30:i32 = phi %9, %28, %29
%31:i32 = var
%32:i32 = phi %8, %30, %31
%33:i32 = var
%34:i32 = phi %7, %32, %33
%35:i32 = phi %5, %6, %34
%36:i32 = var
%37:i32 = phi %4, %35, %36
%38:i32 = var
%39:i32 = phi %3, %37, %38
%40:i32 = var
%41:i32 = phi %2, %39, %40
%42:i32 = var
%43:i32 = phi %1, %41, %42
%44:i32 = var
%45:i32 = phi %0, %43, %44
infer %45 (demandedBits=11111111111100011001001000111100)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 3
%16:i32 = var
%17:i32 = var
%18:i32 = var
%19:i32 = phi %15, %16, %17, %18
%20:i32 = var
%21:i32 = phi %14, %19, %20
%22:i32 = var
%23:i32 = phi %13, %21, %22
%24:i32 = var
%25:i32 = phi %12, %23, %24
%26:i32 = var
%27:i32 = phi %11, %25, %26
%28:i32 = var
%29:i32 = phi %10, %27, %28
%30:i32 = var
%31:i32 = phi %9, %29, %30
%32:i32 = var
%33:i32 = phi %8, %31, %32
%34:i32 = var
%35:i32 = phi %7, %33, %34
%36:i32 = phi %5, %6, %35
%37:i32 = var
%38:i32 = phi %4, %36, %37
%39:i32 = var
%40:i32 = phi %3, %38, %39
%41:i32 = var
%42:i32 = phi %2, %40, %41
%43:i32 = var
%44:i32 = phi %1, %42, %43
%45:i32 = var
%46:i32 = phi %0, %44, %45
%47:i32 = and 2097152:i32, %46
%48:i1 = eq 0:i32, %47
infer %48
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 3
%16:i32 = var
%17:i32 = var
%18:i32 = var
%19:i32 = phi %15, %16, %17, %18
%20:i32 = var
%21:i32 = phi %14, %19, %20
%22:i32 = var
%23:i32 = phi %13, %21, %22
%24:i32 = var
%25:i32 = phi %12, %23, %24
%26:i32 = var
%27:i32 = phi %11, %25, %26
%28:i32 = var
%29:i32 = phi %10, %27, %28
%30:i32 = var
%31:i32 = phi %9, %29, %30
%32:i32 = var
%33:i32 = phi %8, %31, %32
%34:i32 = var
%35:i32 = phi %7, %33, %34
%36:i32 = phi %5, %6, %35
%37:i32 = var
%38:i32 = phi %4, %36, %37
%39:i32 = var
%40:i32 = phi %3, %38, %39
%41:i32 = var
%42:i32 = phi %2, %40, %41
%43:i32 = var
%44:i32 = phi %1, %42, %43
%45:i32 = var
%46:i32 = phi %0, %44, %45
%47:i32 = and 2097152:i32, %46
infer %47
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15 = block 3
%16:i32 = var
%17:i32 = var
%18:i32 = var
%19:i32 = phi %15, %16, %17, %18
%20:i32 = var
%21:i32 = phi %14, %19, %20
%22:i32 = var
%23:i32 = phi %13, %21, %22
%24:i32 = var
%25:i32 = phi %12, %23, %24
%26:i32 = var
%27:i32 = phi %11, %25, %26
%28:i32 = var
%29:i32 = phi %10, %27, %28
%30:i32 = var
%31:i32 = phi %9, %29, %30
%32:i32 = var
%33:i32 = phi %8, %31, %32
%34:i32 = var
%35:i32 = phi %7, %33, %34
%36:i32 = phi %5, %6, %35
%37:i32 = var
%38:i32 = phi %4, %36, %37
%39:i32 = var
%40:i32 = phi %3, %38, %39
%41:i32 = var
%42:i32 = phi %2, %40, %41
%43:i32 = var
%44:i32 = phi %1, %42, %43
%45:i32 = var
%46:i32 = phi %0, %44, %45
infer %46 (demandedBits=11111111111100011001001000111100)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7:i32 = var
%8:i32 = phi %5, %6, %7
%9:i32 = var
%10:i32 = phi %4, %8, %9
%11:i32 = var
%12:i32 = phi %3, %10, %11
%13:i32 = var
%14:i32 = phi %2, %12, %13
%15:i32 = var
%16:i32 = phi %1, %14, %15
%17:i32 = var
%18:i32 = phi %0, %16, %17
%19:i32 = and 16384:i32, %18
%20:i1 = eq 0:i32, %19
infer %20
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7:i32 = var
%8:i32 = phi %5, %6, %7
%9:i32 = var
%10:i32 = phi %4, %8, %9
%11:i32 = var
%12:i32 = phi %3, %10, %11
%13:i32 = var
%14:i32 = phi %2, %12, %13
%15:i32 = var
%16:i32 = phi %1, %14, %15
%17:i32 = var
%18:i32 = phi %0, %16, %17
%19:i32 = and 16384:i32, %18
infer %19
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i32 = var
%7:i32 = var
%8:i32 = phi %5, %6, %7
%9:i32 = var
%10:i32 = phi %4, %8, %9
%11:i32 = var
%12:i32 = phi %3, %10, %11
%13:i32 = var
%14:i32 = phi %2, %12, %13
%15:i32 = var
%16:i32 = phi %1, %14, %15
%17:i32 = var
%18:i32 = phi %0, %16, %17
infer %18
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i64 = phi %5, 64:i64, 32:i64
%7:i64 = addnsw 18446744073709551600:i64, %6
%8:i64 = phi %4, %6, %7
%9:i64 = addnsw 18446744073709551608:i64, %8
%10:i64 = phi %3, %8, %9
%11:i64 = addnsw 18446744073709551612:i64, %10
%12:i64 = phi %2, %10, %11
%13:i64 = add 18446744073709551614:i64, %12
%14:i64 = phi %1, %12, %13
%15:i64 = var
%16:i64 = lshr %15, 32:i64
%17:i64 = phi %5, %15, %16
%18:i64 = lshr %17, 16:i64
%19:i64 = phi %4, %17, %18
%20:i64 = lshr %19, 8:i64
%21:i64 = phi %3, %19, %20
%22:i64 = lshr %21, 4:i64
%23:i64 = phi %2, %21, %22
%24:i64 = lshr %23, 2:i64
%25:i64 = phi %1, %23, %24
%26:i64 = sub %14, %25
%27:i64 = add 18446744073709551614:i64, %14
%28:i64 = phi %0, %26, %27
infer %28
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i8 = phi %5, 0:i8, 1:i8
%7:i8 = phi %4, 0:i8, %6
%8:i8 = phi %3, 0:i8, %7
%9:i8 = phi %2, 0:i8, %8
%10:i8 = phi %1, 0:i8, %9
%11:i8 = phi %0, 0:i8, %10
%12:i8 = and 1:i8, %11
%13:i1 = eq 0:i8, %12
infer %13
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i8 = phi %5, 0:i8, 1:i8
%7:i8 = phi %4, 0:i8, %6
%8:i8 = phi %3, 0:i8, %7
%9:i8 = phi %2, 0:i8, %8
%10:i8 = phi %1, 0:i8, %9
%11:i8 = phi %0, 0:i8, %10
%12:i8 = and 1:i8, %11
infer %12
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i8 = phi %5, 0:i8, 1:i8
%7:i8 = phi %4, 0:i8, %6
%8:i8 = phi %3, 0:i8, %7
%9:i8 = phi %2, 0:i8, %8
%10:i8 = phi %1, 0:i8, %9
%11:i8 = phi %0, 0:i8, %10
infer %11 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i8 = phi %5, 1:i8, 0:i8
%7:i8 = phi %4, %6, 0:i8
%8:i8 = phi %3, %7, 0:i8
%9:i8 = phi %2, %8, 0:i8
%10:i8 = phi %1, %9, 0:i8
%11:i8 = phi %0, %10, 0:i8
%12:i1 = eq 0:i8, %11
infer %12
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 2
%6:i8 = phi %5, 1:i8, 0:i8
%7:i8 = phi %4, %6, 0:i8
%8:i8 = phi %3, %7, 0:i8
%9:i8 = phi %2, %8, 0:i8
%10:i8 = phi %1, %9, 0:i8
%11:i8 = phi %0, %10, 0:i8
infer %11
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 3
%6:i32 = var
%7:i32 = var
%8:i32 = var
%9:i32 = phi %5, %6, %7, %8
%10:i32 = var
%11:i32 = phi %4, %9, %10
%12:i32 = var
%13:i32 = phi %3, %11, %12
%14:i32 = var
%15:i32 = phi %2, %13, %14
%16:i32 = var
%17:i32 = phi %1, %15, %16
%18:i32 = var
%19:i32 = phi %0, %17, %18
%20:i32 = and 16384:i32, %19
%21:i1 = eq 0:i32, %20
infer %21
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 3
%6:i32 = var
%7:i32 = var
%8:i32 = var
%9:i32 = phi %5, %6, %7, %8
%10:i32 = var
%11:i32 = phi %4, %9, %10
%12:i32 = var
%13:i32 = phi %3, %11, %12
%14:i32 = var
%15:i32 = phi %2, %13, %14
%16:i32 = var
%17:i32 = phi %1, %15, %16
%18:i32 = var
%19:i32 = phi %0, %17, %18
%20:i32 = and 16384:i32, %19
infer %20
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 3
%6:i32 = var
%7:i32 = var
%8:i32 = var
%9:i32 = phi %5, %6, %7, %8
%10:i32 = var
%11:i32 = phi %4, %9, %10
%12:i32 = var
%13:i32 = phi %3, %11, %12
%14:i32 = var
%15:i32 = phi %2, %13, %14
%16:i32 = var
%17:i32 = phi %1, %15, %16
%18:i32 = var
%19:i32 = phi %0, %17, %18
infer %19
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 3
%6:i8 = phi %5, 1:i8, 0:i8, 0:i8
%7:i8 = phi %4, %6, 0:i8
%8:i8 = phi %3, %7, 0:i8
%9:i8 = phi %2, %8, 0:i8
%10:i8 = phi %1, %9, 0:i8
%11:i8 = phi %0, %10, 0:i8
%12:i1 = eq 0:i8, %11
infer %12
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5 = block 3
%6:i8 = phi %5, 1:i8, 0:i8, 0:i8
%7:i8 = phi %4, %6, 0:i8
%8:i8 = phi %3, %7, 0:i8
%9:i8 = phi %2, %8, 0:i8
%10:i8 = phi %1, %9, 0:i8
%11:i8 = phi %0, %10, 0:i8
infer %11
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15:i32 = var
%16:i32 = var
%17:i32 = phi %14, %15, %16
%18:i32 = var
%19:i32 = phi %13, %17, %18
%20:i32 = var
%21:i32 = phi %12, %19, %20
%22:i32 = var
%23:i32 = phi %11, %21, %22
%24:i32 = var
%25:i32 = phi %10, %23, %24
%26:i32 = var
%27:i32 = phi %9, %25, %26
%28:i32 = var
%29:i32 = phi %8, %27, %28
%30:i32 = var
%31:i32 = phi %7, %29, %30
%32:i32 = var
%33:i32 = phi %6, %31, %32
%34:i32 = phi %4, %5, %33
%35:i32 = var
%36:i32 = phi %3, %34, %35
%37:i32 = var
%38:i32 = phi %2, %36, %37
%39:i32 = var
%40:i32 = phi %1, %38, %39
%41:i32 = var
%42:i32 = phi %0, %40, %41
%43:i32 = and 2048:i32, %42
%44:i1 = eq 0:i32, %43
infer %44
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15:i32 = var
%16:i32 = var
%17:i32 = phi %14, %15, %16
%18:i32 = var
%19:i32 = phi %13, %17, %18
%20:i32 = var
%21:i32 = phi %12, %19, %20
%22:i32 = var
%23:i32 = phi %11, %21, %22
%24:i32 = var
%25:i32 = phi %10, %23, %24
%26:i32 = var
%27:i32 = phi %9, %25, %26
%28:i32 = var
%29:i32 = phi %8, %27, %28
%30:i32 = var
%31:i32 = phi %7, %29, %30
%32:i32 = var
%33:i32 = phi %6, %31, %32
%34:i32 = phi %4, %5, %33
%35:i32 = var
%36:i32 = phi %3, %34, %35
%37:i32 = var
%38:i32 = phi %2, %36, %37
%39:i32 = var
%40:i32 = phi %1, %38, %39
%41:i32 = var
%42:i32 = phi %0, %40, %41
%43:i32 = and 2048:i32, %42
infer %43
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 2
%15:i32 = var
%16:i32 = var
%17:i32 = phi %14, %15, %16
%18:i32 = var
%19:i32 = phi %13, %17, %18
%20:i32 = var
%21:i32 = phi %12, %19, %20
%22:i32 = var
%23:i32 = phi %11, %21, %22
%24:i32 = var
%25:i32 = phi %10, %23, %24
%26:i32 = var
%27:i32 = phi %9, %25, %26
%28:i32 = var
%29:i32 = phi %8, %27, %28
%30:i32 = var
%31:i32 = phi %7, %29, %30
%32:i32 = var
%33:i32 = phi %6, %31, %32
%34:i32 = phi %4, %5, %33
%35:i32 = var
%36:i32 = phi %3, %34, %35
%37:i32 = var
%38:i32 = phi %2, %36, %37
%39:i32 = var
%40:i32 = phi %1, %38, %39
%41:i32 = var
%42:i32 = phi %0, %40, %41
infer %42 (demandedBits=11111111111100011001101000111100)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 3
%15:i32 = var
%16:i32 = var
%17:i32 = var
%18:i32 = phi %14, %15, %16, %17
%19:i32 = var
%20:i32 = phi %13, %18, %19
%21:i32 = var
%22:i32 = phi %12, %20, %21
%23:i32 = var
%24:i32 = phi %11, %22, %23
%25:i32 = var
%26:i32 = phi %10, %24, %25
%27:i32 = var
%28:i32 = phi %9, %26, %27
%29:i32 = var
%30:i32 = phi %8, %28, %29
%31:i32 = var
%32:i32 = phi %7, %30, %31
%33:i32 = var
%34:i32 = phi %6, %32, %33
%35:i32 = phi %4, %5, %34
%36:i32 = var
%37:i32 = phi %3, %35, %36
%38:i32 = var
%39:i32 = phi %2, %37, %38
%40:i32 = var
%41:i32 = phi %1, %39, %40
%42:i32 = var
%43:i32 = phi %0, %41, %42
%44:i32 = and 2048:i32, %43
%45:i1 = eq 0:i32, %44
infer %45
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 3
%15:i32 = var
%16:i32 = var
%17:i32 = var
%18:i32 = phi %14, %15, %16, %17
%19:i32 = var
%20:i32 = phi %13, %18, %19
%21:i32 = var
%22:i32 = phi %12, %20, %21
%23:i32 = var
%24:i32 = phi %11, %22, %23
%25:i32 = var
%26:i32 = phi %10, %24, %25
%27:i32 = var
%28:i32 = phi %9, %26, %27
%29:i32 = var
%30:i32 = phi %8, %28, %29
%31:i32 = var
%32:i32 = phi %7, %30, %31
%33:i32 = var
%34:i32 = phi %6, %32, %33
%35:i32 = phi %4, %5, %34
%36:i32 = var
%37:i32 = phi %3, %35, %36
%38:i32 = var
%39:i32 = phi %2, %37, %38
%40:i32 = var
%41:i32 = phi %1, %39, %40
%42:i32 = var
%43:i32 = phi %0, %41, %42
%44:i32 = and 2048:i32, %43
infer %44
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14 = block 3
%15:i32 = var
%16:i32 = var
%17:i32 = var
%18:i32 = phi %14, %15, %16, %17
%19:i32 = var
%20:i32 = phi %13, %18, %19
%21:i32 = var
%22:i32 = phi %12, %20, %21
%23:i32 = var
%24:i32 = phi %11, %22, %23
%25:i32 = var
%26:i32 = phi %10, %24, %25
%27:i32 = var
%28:i32 = phi %9, %26, %27
%29:i32 = var
%30:i32 = phi %8, %28, %29
%31:i32 = var
%32:i32 = phi %7, %30, %31
%33:i32 = var
%34:i32 = phi %6, %32, %33
%35:i32 = phi %4, %5, %34
%36:i32 = var
%37:i32 = phi %3, %35, %36
%38:i32 = var
%39:i32 = phi %2, %37, %38
%40:i32 = var
%41:i32 = phi %1, %39, %40
%42:i32 = var
%43:i32 = phi %0, %41, %42
infer %43 (demandedBits=11111111111100011001101000111100)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6:i32 = var
%7:i32 = phi %4, %5, %6
%8:i32 = var
%9:i32 = phi %3, %7, %8
%10:i32 = var
%11:i32 = phi %2, %9, %10
%12:i32 = var
%13:i32 = phi %1, %11, %12
%14:i32 = var
%15:i32 = phi %0, %13, %14
%16:i32 = and 64:i32, %15
%17:i1 = eq 0:i32, %16
infer %17
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6:i32 = var
%7:i32 = phi %4, %5, %6
%8:i32 = var
%9:i32 = phi %3, %7, %8
%10:i32 = var
%11:i32 = phi %2, %9, %10
%12:i32 = var
%13:i32 = phi %1, %11, %12
%14:i32 = var
%15:i32 = phi %0, %13, %14
%16:i32 = and 64:i32, %15
infer %16
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i32 = var
%6:i32 = var
%7:i32 = phi %4, %5, %6
%8:i32 = var
%9:i32 = phi %3, %7, %8
%10:i32 = var
%11:i32 = phi %2, %9, %10
%12:i32 = var
%13:i32 = phi %1, %11, %12
%14:i32 = var
%15:i32 = phi %0, %13, %14
infer %15
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i64 = phi %4, 64:i64, 32:i64
%6:i64 = addnsw 18446744073709551600:i64, %5
%7:i64 = phi %3, %5, %6
%8:i64 = addnsw 18446744073709551608:i64, %7
%9:i64 = phi %2, %7, %8
%10:i64 = addnsw 18446744073709551612:i64, %9
%11:i64 = phi %1, %9, %10
%12:i64 = add 18446744073709551614:i64, %11
%13:i64 = phi %0, %11, %12
%14:i64 = add 18446744073709551614:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i64 = phi %4, 64:i64, 32:i64
%6:i64 = addnsw 18446744073709551600:i64, %5
%7:i64 = phi %3, %5, %6
%8:i64 = addnsw 18446744073709551608:i64, %7
%9:i64 = phi %2, %7, %8
%10:i64 = addnsw 18446744073709551612:i64, %9
%11:i64 = phi %1, %9, %10
%12:i64 = add 18446744073709551614:i64, %11
%13:i64 = phi %0, %11, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i64 = var
%6:i64 = lshr %5, 32:i64
%7:i64 = phi %4, %5, %6
%8:i64 = lshr %7, 16:i64
%9:i64 = phi %3, %7, %8
%10:i64 = lshr %9, 8:i64
%11:i64 = phi %2, %9, %10
%12:i64 = lshr %11, 4:i64
%13:i64 = phi %1, %11, %12
%14:i64 = lshr %13, 2:i64
%15:i64 = phi %0, %13, %14
%16:i1 = ult %15, 2:i64
infer %16
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i64 = var
%6:i64 = lshr %5, 32:i64
%7:i64 = phi %4, %5, %6
%8:i64 = lshr %7, 16:i64
%9:i64 = phi %3, %7, %8
%10:i64 = lshr %9, 8:i64
%11:i64 = phi %2, %9, %10
%12:i64 = lshr %11, 4:i64
%13:i64 = phi %1, %11, %12
%14:i64 = lshr %13, 2:i64
%15:i64 = phi %0, %13, %14
%16:i1 = ult %15, 2:i64
pc %16 1:i1
%17:i64 = phi %4, 64:i64, 32:i64
%18:i64 = addnsw 18446744073709551600:i64, %17
%19:i64 = phi %3, %17, %18
%20:i64 = addnsw 18446744073709551608:i64, %19
%21:i64 = phi %2, %19, %20
%22:i64 = addnsw 18446744073709551612:i64, %21
%23:i64 = phi %1, %21, %22
%24:i64 = add 18446744073709551614:i64, %23
%25:i64 = phi %0, %23, %24
%26:i64 = sub %25, %15
infer %26
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i64 = var
%6:i64 = lshr %5, 32:i64
%7:i64 = phi %4, %5, %6
%8:i64 = lshr %7, 16:i64
%9:i64 = phi %3, %7, %8
%10:i64 = lshr %9, 8:i64
%11:i64 = phi %2, %9, %10
%12:i64 = lshr %11, 4:i64
%13:i64 = phi %1, %11, %12
%14:i64 = lshr %13, 2:i64 (hasExternalUses)
%15:i64 = phi %0, %13, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i8 = phi %4, 0:i8, 1:i8
%6:i8 = phi %3, 0:i8, %5
%7:i8 = phi %2, 0:i8, %6
%8:i8 = phi %1, 0:i8, %7
%9:i8 = phi %0, %8, 0:i8
%10:i8 = and 1:i8, %9
%11:i1 = eq 0:i8, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i8 = phi %4, 0:i8, 1:i8
%6:i8 = phi %3, 0:i8, %5
%7:i8 = phi %2, 0:i8, %6
%8:i8 = phi %1, 0:i8, %7
%9:i8 = phi %0, %8, 0:i8
%10:i8 = and 1:i8, %9
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i8 = phi %4, 0:i8, 1:i8
%6:i8 = phi %3, 0:i8, %5
%7:i8 = phi %2, 0:i8, %6
%8:i8 = phi %1, 0:i8, %7
%9:i8 = phi %0, %8, 0:i8
infer %9 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i8 = phi %4, 0:i8, 1:i8
%6:i8 = phi %3, 0:i8, %5
%7:i8 = phi %2, 0:i8, %6
%8:i8 = phi %1, 0:i8, %7
%9:i8 = phi %0, 0:i8, %8
%10:i8 = and 1:i8, %9
%11:i1 = eq 0:i8, %10
infer %11
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i8 = phi %4, 0:i8, 1:i8
%6:i8 = phi %3, 0:i8, %5
%7:i8 = phi %2, 0:i8, %6
%8:i8 = phi %1, 0:i8, %7
%9:i8 = phi %0, 0:i8, %8
%10:i8 = and 1:i8, %9
infer %10
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i8 = phi %4, 0:i8, 1:i8
%6:i8 = phi %3, 0:i8, %5
%7:i8 = phi %2, 0:i8, %6
%8:i8 = phi %1, 0:i8, %7
%9:i8 = phi %0, 0:i8, %8
infer %9 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i8 = phi %4, 1:i8, 0:i8
%6:i8 = phi %3, %5, 0:i8
%7:i8 = phi %2, %6, 0:i8
%8:i8 = phi %1, %7, 0:i8
%9:i8 = phi %0, %8, 0:i8
%10:i1 = eq 0:i8, %9
infer %10
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 2
%5:i8 = phi %4, 1:i8, 0:i8
%6:i8 = phi %3, %5, 0:i8
%7:i8 = phi %2, %6, 0:i8
%8:i8 = phi %1, %7, 0:i8
%9:i8 = phi %0, %8, 0:i8
infer %9
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 3
%5:i32 = var
%6:i32 = var
%7:i32 = var
%8:i32 = phi %4, %5, %6, %7
%9:i32 = var
%10:i32 = phi %3, %8, %9
%11:i32 = var
%12:i32 = phi %2, %10, %11
%13:i32 = var
%14:i32 = phi %1, %12, %13
%15:i32 = var
%16:i32 = phi %0, %14, %15
%17:i32 = and 64:i32, %16
%18:i1 = eq 0:i32, %17
infer %18
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 3
%5:i32 = var
%6:i32 = var
%7:i32 = var
%8:i32 = phi %4, %5, %6, %7
%9:i32 = var
%10:i32 = phi %3, %8, %9
%11:i32 = var
%12:i32 = phi %2, %10, %11
%13:i32 = var
%14:i32 = phi %1, %12, %13
%15:i32 = var
%16:i32 = phi %0, %14, %15
%17:i32 = and 64:i32, %16
infer %17
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 3
%5:i32 = var
%6:i32 = var
%7:i32 = var
%8:i32 = phi %4, %5, %6, %7
%9:i32 = var
%10:i32 = phi %3, %8, %9
%11:i32 = var
%12:i32 = phi %2, %10, %11
%13:i32 = var
%14:i32 = phi %1, %12, %13
%15:i32 = var
%16:i32 = phi %0, %14, %15
infer %16
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 3
%5:i8 = phi %4, 1:i8, 0:i8, 0:i8
%6:i8 = phi %3, %5, 0:i8
%7:i8 = phi %2, %6, 0:i8
%8:i8 = phi %1, %7, 0:i8
%9:i8 = phi %0, %8, 0:i8
%10:i1 = eq 0:i8, %9
infer %10
>
<noinfer> <>
<sprofile > <10>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4 = block 3
%5:i8 = phi %4, 1:i8, 0:i8, 0:i8
%6:i8 = phi %3, %5, 0:i8
%7:i8 = phi %2, %6, 0:i8
%8:i8 = phi %1, %7, 0:i8
%9:i8 = phi %0, %8, 0:i8
infer %9
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14:i32 = var
%15:i32 = var
%16:i32 = phi %13, %14, %15
%17:i32 = var
%18:i32 = phi %12, %16, %17
%19:i32 = var
%20:i32 = phi %11, %18, %19
%21:i32 = var
%22:i32 = phi %10, %20, %21
%23:i32 = var
%24:i32 = phi %9, %22, %23
%25:i32 = var
%26:i32 = phi %8, %24, %25
%27:i32 = var
%28:i32 = phi %7, %26, %27
%29:i32 = var
%30:i32 = phi %6, %28, %29
%31:i32 = var
%32:i32 = phi %5, %30, %31
%33:i32 = phi %3, %4, %32
%34:i32 = var
%35:i32 = phi %2, %33, %34
%36:i32 = var
%37:i32 = phi %1, %35, %36
%38:i32 = var
%39:i32 = phi %0, %37, %38
%40:i32 = and 131072:i32, %39
%41:i1 = eq 0:i32, %40
infer %41
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14:i32 = var
%15:i32 = var
%16:i32 = phi %13, %14, %15
%17:i32 = var
%18:i32 = phi %12, %16, %17
%19:i32 = var
%20:i32 = phi %11, %18, %19
%21:i32 = var
%22:i32 = phi %10, %20, %21
%23:i32 = var
%24:i32 = phi %9, %22, %23
%25:i32 = var
%26:i32 = phi %8, %24, %25
%27:i32 = var
%28:i32 = phi %7, %26, %27
%29:i32 = var
%30:i32 = phi %6, %28, %29
%31:i32 = var
%32:i32 = phi %5, %30, %31
%33:i32 = phi %3, %4, %32
%34:i32 = var
%35:i32 = phi %2, %33, %34
%36:i32 = var
%37:i32 = phi %1, %35, %36
%38:i32 = var
%39:i32 = phi %0, %37, %38
%40:i32 = and 131072:i32, %39
infer %40
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 2
%14:i32 = var
%15:i32 = var
%16:i32 = phi %13, %14, %15
%17:i32 = var
%18:i32 = phi %12, %16, %17
%19:i32 = var
%20:i32 = phi %11, %18, %19
%21:i32 = var
%22:i32 = phi %10, %20, %21
%23:i32 = var
%24:i32 = phi %9, %22, %23
%25:i32 = var
%26:i32 = phi %8, %24, %25
%27:i32 = var
%28:i32 = phi %7, %26, %27
%29:i32 = var
%30:i32 = phi %6, %28, %29
%31:i32 = var
%32:i32 = phi %5, %30, %31
%33:i32 = phi %3, %4, %32
%34:i32 = var
%35:i32 = phi %2, %33, %34
%36:i32 = var
%37:i32 = phi %1, %35, %36
%38:i32 = var
%39:i32 = phi %0, %37, %38
infer %39 (demandedBits=11111111111100111001101000111100)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 3
%14:i32 = var
%15:i32 = var
%16:i32 = var
%17:i32 = phi %13, %14, %15, %16
%18:i32 = var
%19:i32 = phi %12, %17, %18
%20:i32 = var
%21:i32 = phi %11, %19, %20
%22:i32 = var
%23:i32 = phi %10, %21, %22
%24:i32 = var
%25:i32 = phi %9, %23, %24
%26:i32 = var
%27:i32 = phi %8, %25, %26
%28:i32 = var
%29:i32 = phi %7, %27, %28
%30:i32 = var
%31:i32 = phi %6, %29, %30
%32:i32 = var
%33:i32 = phi %5, %31, %32
%34:i32 = phi %3, %4, %33
%35:i32 = var
%36:i32 = phi %2, %34, %35
%37:i32 = var
%38:i32 = phi %1, %36, %37
%39:i32 = var
%40:i32 = phi %0, %38, %39
%41:i32 = and 131072:i32, %40
%42:i1 = eq 0:i32, %41
infer %42
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 3
%14:i32 = var
%15:i32 = var
%16:i32 = var
%17:i32 = phi %13, %14, %15, %16
%18:i32 = var
%19:i32 = phi %12, %17, %18
%20:i32 = var
%21:i32 = phi %11, %19, %20
%22:i32 = var
%23:i32 = phi %10, %21, %22
%24:i32 = var
%25:i32 = phi %9, %23, %24
%26:i32 = var
%27:i32 = phi %8, %25, %26
%28:i32 = var
%29:i32 = phi %7, %27, %28
%30:i32 = var
%31:i32 = phi %6, %29, %30
%32:i32 = var
%33:i32 = phi %5, %31, %32
%34:i32 = phi %3, %4, %33
%35:i32 = var
%36:i32 = phi %2, %34, %35
%37:i32 = var
%38:i32 = phi %1, %36, %37
%39:i32 = var
%40:i32 = phi %0, %38, %39
%41:i32 = and 131072:i32, %40
infer %41
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13 = block 3
%14:i32 = var
%15:i32 = var
%16:i32 = var
%17:i32 = phi %13, %14, %15, %16
%18:i32 = var
%19:i32 = phi %12, %17, %18
%20:i32 = var
%21:i32 = phi %11, %19, %20
%22:i32 = var
%23:i32 = phi %10, %21, %22
%24:i32 = var
%25:i32 = phi %9, %23, %24
%26:i32 = var
%27:i32 = phi %8, %25, %26
%28:i32 = var
%29:i32 = phi %7, %27, %28
%30:i32 = var
%31:i32 = phi %6, %29, %30
%32:i32 = var
%33:i32 = phi %5, %31, %32
%34:i32 = phi %3, %4, %33
%35:i32 = var
%36:i32 = phi %2, %34, %35
%37:i32 = var
%38:i32 = phi %1, %36, %37
%39:i32 = var
%40:i32 = phi %0, %38, %39
infer %40 (demandedBits=11111111111100111001101000111100)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5:i32 = var
%6:i32 = phi %3, %4, %5
%7:i32 = var
%8:i32 = phi %2, %6, %7
%9:i32 = var
%10:i32 = phi %1, %8, %9
%11:i32 = var
%12:i32 = phi %0, %10, %11
%13:i32 = and 524288:i32, %12
%14:i1 = eq 0:i32, %13
infer %14
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5:i32 = var
%6:i32 = phi %3, %4, %5
%7:i32 = var
%8:i32 = phi %2, %6, %7
%9:i32 = var
%10:i32 = phi %1, %8, %9
%11:i32 = var
%12:i32 = phi %0, %10, %11
%13:i32 = and 524288:i32, %12
infer %13
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i32 = var
%5:i32 = var
%6:i32 = phi %3, %4, %5
%7:i32 = var
%8:i32 = phi %2, %6, %7
%9:i32 = var
%10:i32 = phi %1, %8, %9
%11:i32 = var
%12:i32 = phi %0, %10, %11
infer %12
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i64 = phi %3, 64:i64, 32:i64
%5:i64 = addnsw 18446744073709551600:i64, %4
%6:i64 = phi %2, %4, %5
%7:i64 = addnsw 18446744073709551608:i64, %6
%8:i64 = phi %1, %6, %7
%9:i64 = addnsw 18446744073709551612:i64, %8
%10:i64 = phi %0, %8, %9
%11:i64 = add 18446744073709551614:i64, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i64 = phi %3, 64:i64, 32:i64
%5:i64 = addnsw 18446744073709551600:i64, %4
%6:i64 = phi %2, %4, %5
%7:i64 = addnsw 18446744073709551608:i64, %6
%8:i64 = phi %1, %6, %7
%9:i64 = addnsw 18446744073709551612:i64, %8
%10:i64 = phi %0, %8, %9
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i64 = var
%5:i64 = lshr %4, 32:i64
%6:i64 = phi %3, %4, %5
%7:i64 = lshr %6, 16:i64
%8:i64 = phi %2, %6, %7
%9:i64 = lshr %8, 8:i64
%10:i64 = phi %1, %8, %9
%11:i64 = lshr %10, 4:i64
%12:i64 = phi %0, %10, %11
%13:i64 = lshr %12, 2:i64
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i64 = var
%5:i64 = lshr %4, 32:i64
%6:i64 = phi %3, %4, %5
%7:i64 = lshr %6, 16:i64
%8:i64 = phi %2, %6, %7
%9:i64 = lshr %8, 8:i64
%10:i64 = phi %1, %8, %9
%11:i64 = lshr %10, 4:i64
%12:i64 = phi %0, %10, %11
%13:i64 = lshr %12, 2:i64 (hasExternalUses)
%14:i1 = eq 0:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i64 = var
%5:i64 = lshr %4, 32:i64
%6:i64 = phi %3, %4, %5
%7:i64 = lshr %6, 16:i64
%8:i64 = phi %2, %6, %7
%9:i64 = lshr %8, 8:i64
%10:i64 = phi %1, %8, %9
%11:i64 = lshr %10, 4:i64 (hasExternalUses)
%12:i64 = phi %0, %10, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i64 = var
%5:i64 = var
%6:i64 = add %4, %5
%7:i64 = add 18446744072757682816:i64, %6
%8:i64 = sdiv %7, 86400:i64
%9:i64 = addnsw 18446744073709551615:i64, %8
%10:i64 = phi %3, %9, %8
%11:i64 = srem %10, 146097:i64
%12:i64 = addnsw 146097:i64, %11
%13:i64 = phi %2, %12, %11
%14 = block 2
%15:i64 = sdiv %13, 36524:i64
%16:i64 = phi %14, 3:i64, %15
%17:i64 = mulnsw 18446744073709515092:i64, %16
%18:i64 = addnsw %13, %17
%19 = block 2
%20:i64 = sdiv %18, 1461:i64
%21:i64 = phi %19, 24:i64, %20
%22:i64 = mul 18446744073709550155:i64, %21
%23:i64 = add %18, %22
%24:i64 = sdiv %23, 365:i64
%25:i64 = phi %1, 3:i64, %24
%26:i64 = shlnsw %21, 2:i64
%27:i64 = addnsw %25, %26
%28:i64 = mulnsw 100:i64, %16
%29:i64 = addnsw %27, %28
%30:i64 = sdiv %10, 146097:i64
%31:i64 = addnsw 18446744073709551615:i64, %30
%32:i64 = phi %2, %31, %30
%33:i64 = mulnsw 400:i64, %32
%34:i64 = addnsw %29, %33
%35:i64 = addnsw 1:i64, %34
%36:i64 = phi %0, %35, %34
%37:i64 = add 100:i64, %36
infer %37
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i64 = var
%5:i64 = var
%6:i64 = add %4, %5
%7:i64 = add 18446744072757682816:i64, %6
%8:i64 = sdiv %7, 86400:i64
%9:i64 = addnsw 18446744073709551615:i64, %8
%10:i64 = phi %3, %9, %8
%11:i64 = srem %10, 146097:i64
%12:i64 = addnsw 146097:i64, %11
%13:i64 = phi %2, %12, %11
%14 = block 2
%15:i64 = sdiv %13, 36524:i64
%16:i64 = phi %14, 3:i64, %15
%17:i64 = mulnsw 18446744073709515092:i64, %16
%18:i64 = addnsw %13, %17
%19 = block 2
%20:i64 = sdiv %18, 1461:i64
%21:i64 = phi %19, 24:i64, %20
%22:i64 = mul 18446744073709550155:i64, %21
%23:i64 = add %18, %22
%24:i64 = sdiv %23, 365:i64
%25:i64 = phi %1, 3:i64, %24
%26:i64 = shlnsw %21, 2:i64
%27:i64 = addnsw %25, %26
%28:i64 = mulnsw 100:i64, %16
%29:i64 = addnsw %27, %28
%30:i64 = sdiv %10, 146097:i64
%31:i64 = addnsw 18446744073709551615:i64, %30
%32:i64 = phi %2, %31, %30
%33:i64 = mulnsw 400:i64, %32
%34:i64 = addnsw %29, %33
%35:i64 = addnsw 1:i64, %34
%36:i64 = phi %0, %35, %34
infer %36
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i8 = phi %3, 0:i8, 1:i8
%5:i8 = phi %2, 0:i8, %4
%6:i8 = phi %1, 0:i8, %5
%7:i8 = phi %0, %6, 0:i8
%8:i8 = and 1:i8, %7
%9:i1 = eq 0:i8, %8
infer %9
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i8 = phi %3, 0:i8, 1:i8
%5:i8 = phi %2, 0:i8, %4
%6:i8 = phi %1, 0:i8, %5
%7:i8 = phi %0, %6, 0:i8
%8:i8 = and 1:i8, %7
infer %8
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i8 = phi %3, 0:i8, 1:i8
%5:i8 = phi %2, 0:i8, %4
%6:i8 = phi %1, 0:i8, %5
%7:i8 = phi %0, %6, 0:i8
infer %7 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i8 = phi %3, 0:i8, 1:i8
%5:i8 = phi %2, 0:i8, %4
%6:i8 = phi %1, 0:i8, %5
%7:i8 = phi %0, 0:i8, %6
%8:i8 = and 1:i8, %7
%9:i1 = eq 0:i8, %8
infer %9
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i8 = phi %3, 0:i8, 1:i8
%5:i8 = phi %2, 0:i8, %4
%6:i8 = phi %1, 0:i8, %5
%7:i8 = phi %0, 0:i8, %6
%8:i8 = and 1:i8, %7
infer %8
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i8 = phi %3, 0:i8, 1:i8
%5:i8 = phi %2, 0:i8, %4
%6:i8 = phi %1, 0:i8, %5
%7:i8 = phi %0, 0:i8, %6
infer %7 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i8 = phi %3, 1:i8, 0:i8
%5:i8 = phi %2, %4, 0:i8
%6:i8 = phi %1, %5, 0:i8
%7:i8 = phi %0, %6, 0:i8
%8:i1 = eq 0:i8, %7
infer %8
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 2
%4:i8 = phi %3, 1:i8, 0:i8
%5:i8 = phi %2, %4, 0:i8
%6:i8 = phi %1, %5, 0:i8
%7:i8 = phi %0, %6, 0:i8
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 3
%4:i32 = var
%5:i32 = var
%6:i32 = var
%7:i32 = phi %3, %4, %5, %6
%8:i32 = var
%9:i32 = phi %2, %7, %8
%10:i32 = var
%11:i32 = phi %1, %9, %10
%12:i32 = var
%13:i32 = phi %0, %11, %12
%14:i32 = and 524288:i32, %13
%15:i1 = eq 0:i32, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 3
%4:i32 = var
%5:i32 = var
%6:i32 = var
%7:i32 = phi %3, %4, %5, %6
%8:i32 = var
%9:i32 = phi %2, %7, %8
%10:i32 = var
%11:i32 = phi %1, %9, %10
%12:i32 = var
%13:i32 = phi %0, %11, %12
%14:i32 = and 524288:i32, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 3
%4:i32 = var
%5:i32 = var
%6:i32 = var
%7:i32 = phi %3, %4, %5, %6
%8:i32 = var
%9:i32 = phi %2, %7, %8
%10:i32 = var
%11:i32 = phi %1, %9, %10
%12:i32 = var
%13:i32 = phi %0, %11, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 3
%4:i8 = phi %3, 1:i8, 0:i8, 0:i8
%5:i8 = phi %2, %4, 0:i8
%6:i8 = phi %1, %5, 0:i8
%7:i8 = phi %0, %6, 0:i8
%8:i1 = eq 0:i8, %7
infer %8
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3 = block 3
%4:i8 = phi %3, 1:i8, 0:i8, 0:i8
%5:i8 = phi %2, %4, 0:i8
%6:i8 = phi %1, %5, 0:i8
%7:i8 = phi %0, %6, 0:i8
infer %7
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i128 = phi %2, 0:i128, 340282366920938463463374607431768211455:i128
%4:i128 = phi %1, 0:i128, %3
%5 = block 2
%6:i128 = var
%7 = block 2
%8:i128 = var
%9:i128 = var
%10:i128 = phi %7, %8, %9
%11:i128 = phi %5, %6, %10
%12:i128 = phi %0, %4, %11
infer %12
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i128 = phi %2, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128
%4:i128 = phi %1, 0:i128, %3
%5 = block 2
%6:i128 = var
%7 = block 2
%8:i128 = var
%9:i128 = var
%10:i128 = phi %7, %8, %9
%11:i128 = phi %5, %6, %10
%12:i128 = phi %0, %4, %11
infer %12
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = phi %2, 0:i32, 4294967295:i32
%4:i32 = phi %1, 0:i32, %3
%5 = block 2
%6:i32 = var
%7:i32 = var
%8:i32 = phi %5, %6, %7
%9:i32 = phi %0, %4, %8
infer %9
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = phi %2, 2147483648:i32, 2147483647:i32
%4:i32 = phi %1, 0:i32, %3
%5 = block 2
%6:i32 = var
%7:i32 = var
%8:i32 = phi %5, %6, %7
%9:i32 = phi %0, %4, %8
infer %9
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13:i32 = var
%14:i32 = var
%15:i32 = phi %12, %13, %14
%16:i32 = var
%17:i32 = phi %11, %15, %16
%18:i32 = var
%19:i32 = phi %10, %17, %18
%20:i32 = var
%21:i32 = phi %9, %19, %20
%22:i32 = var
%23:i32 = phi %8, %21, %22
%24:i32 = var
%25:i32 = phi %7, %23, %24
%26:i32 = var
%27:i32 = phi %6, %25, %26
%28:i32 = var
%29:i32 = phi %5, %27, %28
%30:i32 = var
%31:i32 = phi %4, %29, %30
%32:i32 = phi %2, %3, %31
%33:i32 = var
%34:i32 = phi %1, %32, %33
%35:i32 = var
%36:i32 = phi %0, %34, %35
%37:i32 = and 256:i32, %36
%38:i1 = eq 0:i32, %37
infer %38
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13:i32 = var
%14:i32 = var
%15:i32 = phi %12, %13, %14
%16:i32 = var
%17:i32 = phi %11, %15, %16
%18:i32 = var
%19:i32 = phi %10, %17, %18
%20:i32 = var
%21:i32 = phi %9, %19, %20
%22:i32 = var
%23:i32 = phi %8, %21, %22
%24:i32 = var
%25:i32 = phi %7, %23, %24
%26:i32 = var
%27:i32 = phi %6, %25, %26
%28:i32 = var
%29:i32 = phi %5, %27, %28
%30:i32 = var
%31:i32 = phi %4, %29, %30
%32:i32 = phi %2, %3, %31
%33:i32 = var
%34:i32 = phi %1, %32, %33
%35:i32 = var
%36:i32 = phi %0, %34, %35
%37:i32 = and 256:i32, %36
infer %37
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 2
%13:i32 = var
%14:i32 = var
%15:i32 = phi %12, %13, %14
%16:i32 = var
%17:i32 = phi %11, %15, %16
%18:i32 = var
%19:i32 = phi %10, %17, %18
%20:i32 = var
%21:i32 = phi %9, %19, %20
%22:i32 = var
%23:i32 = phi %8, %21, %22
%24:i32 = var
%25:i32 = phi %7, %23, %24
%26:i32 = var
%27:i32 = phi %6, %25, %26
%28:i32 = var
%29:i32 = phi %5, %27, %28
%30:i32 = var
%31:i32 = phi %4, %29, %30
%32:i32 = phi %2, %3, %31
%33:i32 = var
%34:i32 = phi %1, %32, %33
%35:i32 = var
%36:i32 = phi %0, %34, %35
infer %36 (demandedBits=11111111111100111001101100111100)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 3
%13:i32 = var
%14:i32 = var
%15:i32 = var
%16:i32 = phi %12, %13, %14, %15
%17:i32 = var
%18:i32 = phi %11, %16, %17
%19:i32 = var
%20:i32 = phi %10, %18, %19
%21:i32 = var
%22:i32 = phi %9, %20, %21
%23:i32 = var
%24:i32 = phi %8, %22, %23
%25:i32 = var
%26:i32 = phi %7, %24, %25
%27:i32 = var
%28:i32 = phi %6, %26, %27
%29:i32 = var
%30:i32 = phi %5, %28, %29
%31:i32 = var
%32:i32 = phi %4, %30, %31
%33:i32 = phi %2, %3, %32
%34:i32 = var
%35:i32 = phi %1, %33, %34
%36:i32 = var
%37:i32 = phi %0, %35, %36
%38:i32 = and 256:i32, %37
%39:i1 = eq 0:i32, %38
infer %39
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 3
%13:i32 = var
%14:i32 = var
%15:i32 = var
%16:i32 = phi %12, %13, %14, %15
%17:i32 = var
%18:i32 = phi %11, %16, %17
%19:i32 = var
%20:i32 = phi %10, %18, %19
%21:i32 = var
%22:i32 = phi %9, %20, %21
%23:i32 = var
%24:i32 = phi %8, %22, %23
%25:i32 = var
%26:i32 = phi %7, %24, %25
%27:i32 = var
%28:i32 = phi %6, %26, %27
%29:i32 = var
%30:i32 = phi %5, %28, %29
%31:i32 = var
%32:i32 = phi %4, %30, %31
%33:i32 = phi %2, %3, %32
%34:i32 = var
%35:i32 = phi %1, %33, %34
%36:i32 = var
%37:i32 = phi %0, %35, %36
%38:i32 = and 256:i32, %37
infer %38
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12 = block 3
%13:i32 = var
%14:i32 = var
%15:i32 = var
%16:i32 = phi %12, %13, %14, %15
%17:i32 = var
%18:i32 = phi %11, %16, %17
%19:i32 = var
%20:i32 = phi %10, %18, %19
%21:i32 = var
%22:i32 = phi %9, %20, %21
%23:i32 = var
%24:i32 = phi %8, %22, %23
%25:i32 = var
%26:i32 = phi %7, %24, %25
%27:i32 = var
%28:i32 = phi %6, %26, %27
%29:i32 = var
%30:i32 = phi %5, %28, %29
%31:i32 = var
%32:i32 = phi %4, %30, %31
%33:i32 = phi %2, %3, %32
%34:i32 = var
%35:i32 = phi %1, %33, %34
%36:i32 = var
%37:i32 = phi %0, %35, %36
infer %37 (demandedBits=11111111111100111001101100111100)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4:i32 = phi %2, %3, 0:i32
%5:i32 = var
%6:i32 = sub %4, %5
%7:i32 = phi %1, %6, %4
%8:i32 = phi %0, %7, 0:i32
infer %8
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4:i32 = var
%5:i32 = phi %2, %3, %4
%6:i32 = var
%7:i32 = phi %1, %5, %6
%8:i32 = var
%9:i32 = phi %0, %7, %8
%10:i32 = and 8192:i32, %9
%11:i1 = eq 0:i32, %10
infer %11
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4:i32 = var
%5:i32 = phi %2, %3, %4
%6:i32 = var
%7:i32 = phi %1, %5, %6
%8:i32 = var
%9:i32 = phi %0, %7, %8
%10:i32 = and 8192:i32, %9
infer %10
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i32 = var
%4:i32 = var
%5:i32 = phi %2, %3, %4
%6:i32 = var
%7:i32 = phi %1, %5, %6
%8:i32 = var
%9:i32 = phi %0, %7, %8
infer %9
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = phi %2, 0:i64, 18446744073709551615:i64
%4:i64 = phi %1, 0:i64, %3
%5 = block 2
%6:i64 = var
%7 = block 2
%8:i64 = var
%9:i64 = var
%10:i64 = phi %7, %8, %9
%11:i64 = phi %5, %6, %10
%12:i64 = phi %0, %4, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = phi %2, 0:i64, 18446744073709551615:i64
%4:i64 = phi %1, 0:i64, %3
%5 = block 2
%6:i64 = var
%7:i64 = var
%8:i64 = phi %5, %6, %7
%9:i64 = phi %0, %4, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = phi %2, 64:i64, 32:i64
%4:i64 = addnsw 18446744073709551600:i64, %3
%5:i64 = phi %1, %3, %4
%6:i64 = addnsw 18446744073709551608:i64, %5
%7:i64 = phi %0, %5, %6
%8:i64 = addnsw 18446744073709551612:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = phi %2, 64:i64, 32:i64
%4:i64 = addnsw 18446744073709551600:i64, %3
%5:i64 = phi %1, %3, %4
%6:i64 = addnsw 18446744073709551608:i64, %5
%7:i64 = phi %0, %5, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = phi %2, 9223372036854775808:i64, 9223372036854775807:i64
%4:i64 = phi %1, 0:i64, %3
%5 = block 2
%6:i64 = var
%7 = block 2
%8:i64 = var
%9:i64 = var
%10:i64 = phi %7, %8, %9
%11:i64 = phi %5, %6, %10
%12:i64 = phi %0, %4, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = phi %2, 9223372036854775808:i64, 9223372036854775807:i64
%4:i64 = phi %1, 0:i64, %3
%5 = block 2
%6:i64 = var
%7:i64 = var
%8:i64 = phi %5, %6, %7
%9:i64 = phi %0, %4, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = lshr %3, 32:i64
%5:i64 = phi %2, %3, %4
%6:i64 = lshr %5, 16:i64
%7:i64 = phi %1, %5, %6
%8:i64 = lshr %7, 8:i64
%9:i64 = phi %0, %7, %8
%10:i64 = lshr %9, 4:i64
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = lshr %3, 32:i64
%5:i64 = phi %2, %3, %4
%6:i64 = lshr %5, 16:i64
%7:i64 = phi %1, %5, %6
%8:i64 = lshr %7, 8:i64
%9:i64 = phi %0, %7, %8
%10:i64 = lshr %9, 4:i64 (hasExternalUses)
%11:i1 = eq 0:i64, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = lshr %3, 32:i64
%5:i64 = phi %2, %3, %4
%6:i64 = lshr %5, 16:i64
%7:i64 = phi %1, %5, %6
%8:i64 = lshr %7, 8:i64 (hasExternalUses)
%9:i64 = phi %0, %7, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18 = block 2
%19:i64 = sdiv %17, 1461:i64
%20:i64 = phi %18, 24:i64, %19
%21:i64 = mul 18446744073709550155:i64, %20
%22:i64 = add %17, %21
%23:i64 = sdiv %22, 365:i64
%24:i64 = phi %0, 3:i64, %23
%25:i1 = eq 0:i64, %24
infer %25
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18 = block 2
%19:i64 = sdiv %17, 1461:i64
%20:i64 = phi %18, 24:i64, %19
%21:i64 = mul 18446744073709550155:i64, %20
%22:i64 = add %17, %21
%23:i64 = sdiv %22, 365:i64
%24:i64 = phi %0, 3:i64, %23
%25:i1 = eq 0:i64, %24
pc %25 0:i1
%26:i1 = eq 0:i64, %20
infer %26
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18 = block 2
%19:i64 = sdiv %17, 1461:i64
%20:i64 = phi %18, 24:i64, %19
%21:i64 = mul 18446744073709550155:i64, %20
%22:i64 = add %17, %21
%23:i64 = sdiv %22, 365:i64
%24:i64 = phi %0, 3:i64, %23
%25:i64 = mul 18446744073709551251:i64, %24
infer %25
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18 = block 2
%19:i64 = sdiv %17, 1461:i64
%20:i64 = phi %18, 24:i64, %19
%21:i64 = mul 18446744073709550155:i64, %20
%22:i64 = add %17, %21
%23:i64 = sdiv %22, 365:i64
%24:i64 = phi %0, 3:i64, %23
%25:i64 = shlnsw %20, 2:i64
%26:i64 = addnsw %24, %25
%27:i64 = mulnsw 100:i64, %15
%28:i64 = addnsw %26, %27
%29:i64 = sdiv %9, 146097:i64
%30:i64 = addnsw 18446744073709551615:i64, %29
%31:i64 = phi %1, %30, %29
%32:i64 = mulnsw 400:i64, %31
%33:i64 = addnsw %28, %32
infer %33
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18 = block 2
%19:i64 = sdiv %17, 1461:i64
%20:i64 = phi %18, 24:i64, %19
%21:i64 = mul 18446744073709550155:i64, %20
%22:i64 = add %17, %21
%23:i64 = sdiv %22, 365:i64
%24:i64 = phi %0, 3:i64, %23
%25:i64 = shlnsw %20, 2:i64
%26:i64 = addnsw %24, %25
%27:i64 = mulnsw 100:i64, %15
%28:i64 = addnsw %26, %27
%29:i64 = sdiv %9, 146097:i64
%30:i64 = addnsw 18446744073709551615:i64, %29
%31:i64 = phi %1, %30, %29
%32:i64 = mulnsw 400:i64, %31
%33:i64 = addnsw %28, %32 (hasExternalUses)
%34:i64 = addnsw 1:i64, %33
infer %34
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18 = block 2
%19:i64 = sdiv %17, 1461:i64
%20:i64 = phi %18, 24:i64, %19
%21:i64 = mul 18446744073709550155:i64, %20
%22:i64 = add %17, %21
%23:i64 = sdiv %22, 365:i64
%24:i64 = phi %0, 3:i64, %23
%25:i64 = shlnsw %20, 2:i64
%26:i64 = addnsw %24, %25
%27:i64 = mulnsw 100:i64, %15
%28:i64 = addnsw %26, %27
infer %28
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18 = block 2
%19:i64 = sdiv %17, 1461:i64
%20:i64 = phi %18, 24:i64, %19
%21:i64 = mul 18446744073709550155:i64, %20
%22:i64 = add %17, %21
%23:i64 = sdiv %22, 365:i64
%24:i64 = phi %0, 3:i64, %23
%25:i64 = shlnsw %20, 2:i64
%26:i64 = addnsw %24, %25
infer %26
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18:i64 = sdiv %17, 1461:i64
%19:i64 = phi %0, 24:i64, %18
%20:i64 = mul 18446744073709550155:i64, %19
infer %20
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16
%18:i64 = sdiv %17, 1461:i64
%19:i64 = phi %0, 24:i64, %18
%20:i64 = shlnsw %19, 2:i64
infer %20
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16 (hasExternalUses)
%18 = block 2
%19:i64 = sdiv %17, 1461:i64
%20:i64 = phi %18, 24:i64, %19
%21:i64 = mul 18446744073709550155:i64, %20
%22:i64 = add %17, %21 (hasExternalUses)
%23:i64 = sdiv %22, 365:i64
%24:i64 = phi %0, 3:i64, %23
infer %24
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13 = block 2
%14:i64 = sdiv %12, 36524:i64
%15:i64 = phi %13, 3:i64, %14
%16:i64 = mulnsw 18446744073709515092:i64, %15
%17:i64 = addnsw %12, %16 (hasExternalUses)
%18:i64 = sdiv %17, 1461:i64
%19:i64 = phi %0, 24:i64, %18
infer %19
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13:i64 = sdiv %12, 36524:i64
%14:i64 = phi %0, 3:i64, %13
%15:i64 = mulnsw 100:i64, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13:i64 = sdiv %12, 36524:i64
%14:i64 = phi %0, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = add 18446744072757682816:i64, %5
%7:i64 = sdiv %6, 86400:i64
%8:i64 = addnsw 18446744073709551615:i64, %7
%9:i64 = phi %2, %8, %7
%10:i64 = srem %9, 146097:i64
%11:i64 = addnsw 146097:i64, %10
%12:i64 = phi %1, %11, %10
%13:i64 = sdiv %12, 36524:i64
%14:i64 = phi %0, 3:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%4:i64 = phi %2, 2:i64, %3
%5 = block 2
%6 = block 2
%7:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%8:i64 = phi %6, 0:i64, %7
%9:i64 = phi %5, %8, %4
%10:i64 = phi %1, %4, %9
%11:i64 = phi %0, %10, %9
%12:i1 = eq 1:i64, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%4:i64 = phi %2, 2:i64, %3
%5 = block 2
%6 = block 2
%7:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%8:i64 = phi %6, 0:i64, %7
%9:i64 = phi %5, %8, %4
%10:i64 = phi %1, %4, %9
%11:i64 = phi %0, %10, %9
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%4:i64 = phi %2, 2:i64, %3
%5 = block 2
%6:i64 = phi %5, %3, %4
%7:i64 = phi %1, %4, %6
%8:i64 = phi %0, %7, %6
%9:i1 = eq 1:i64, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%4:i64 = phi %2, 2:i64, %3
%5 = block 2
%6:i64 = phi %5, %3, %4
%7:i64 = phi %1, %4, %6
%8:i64 = phi %0, %7, %6
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%4:i64 = phi %2, 2:i64, %3
%5 = block 2
%6:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%7:i64 = phi %5, %6, %4
%8:i64 = phi %1, %4, %7
%9:i64 = phi %0, %8, %7
%10:i1 = eq 1:i64, %9
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%4:i64 = phi %2, 2:i64, %3
%5 = block 2
%6:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%7:i64 = phi %5, %6, %4
%8:i64 = phi %1, %4, %7
%9:i64 = phi %0, %8, %7
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%4:i64 = add 18446744073709551613:i64, %3
%5:i64 = phi %2, %4, 19:i64
%6:i64 = addnsw 18446744073709551614:i64, %3
%7:i64 = phi %1, %5, %6
%8:i64 = subnw 20:i64, %7
%9:i64 = phi %0, 1:i64, %8
infer %9
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%4:i64 = addnsw 18446744073709551614:i64, %3
%5:i64 = phi %2, 20:i64, %4
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %1, %6, %5
%8:i64 = subnw 20:i64, %7
%9:i64 = phi %0, 1:i64, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i8 = phi %2, 0:i8, 1:i8
%4:i8 = phi %1, 0:i8, %3
%5:i8 = phi %0, 0:i8, %4
%6:i8 = and 1:i8, %5
%7:i1 = eq 0:i8, %6
infer %7
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i8 = phi %2, 0:i8, 1:i8
%4:i8 = phi %1, 0:i8, %3
%5:i8 = phi %0, 0:i8, %4
%6:i8 = and 1:i8, %5
infer %6
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i8 = phi %2, 0:i8, 1:i8
%4:i8 = phi %1, 0:i8, %3
%5:i8 = phi %0, 0:i8, %4
infer %5 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i8 = phi %2, 1:i8, 0:i8
%4:i8 = phi %1, %3, 0:i8
%5:i8 = phi %0, %4, 0:i8
%6:i1 = eq 0:i8, %5
infer %6
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i8 = phi %2, 1:i8, 0:i8
%4:i8 = phi %1, %3, 0:i8
%5:i8 = phi %0, %4, 0:i8
infer %5
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 2
%3:i8 = var (range=[-1,2))
%4:i8 = phi %2, 0:i8, %3
%5:i8 = phi %1, %4, 0:i8
%6:i8 = var (range=[-1,2))
%7:i8 = phi %0, %5, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i32 = var
%5:i32 = and 8388607:i32, %4
%6:i32 = ctlz %5
%7:i32 = addnw 24:i32, %6
%8:i32 = and 31:i32, %7
%9:i32 = shl %5, %8
%10:i32 = phi %3, %9, %5
%11:i32 = phi %2, %10, %10, %5
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i32 = var
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = addnw 24:i32, %16
%18:i32 = and 31:i32, %17
%19:i32 = shl %15, %18
%20:i32 = phi %2, %19, %15, %15
%21:i32 = shl %20, 8:i32
%22:i32 = or 2147483648:i32, %21
%23:i64 = zext %22
%24:i64 = mulnuw %13, %23
%25:i64 = lshr %24, 32:i64
%26:i32 = trunc %25
%27:i32 = trunc %24
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %25, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
%32:i32 = phi %1, %26, %31
%33:i32 = subnsw 9:i32, %6
%34:i32 = phi %3, %33, 0:i32
%35:i32 = subnsw 9:i32, %16
%36:i32 = addnsw %34, %35
%37:i32 = phi %2, %36, %34, 0:i32
%38:i32 = lshr %4, 23:i32
%39:i32 = and 255:i32, %38
%40:i32 = lshr %14, 23:i32
%41:i32 = and 255:i32, %40
%42:i32 = addnw %39, %41
%43:i32 = addnsw %37, %42
%44:i32 = addnsw 4294967170:i32, %43
%45:i32 = addnsw 4294967169:i32, %43
%46:i32 = phi %1, %44, %45
%47:i32 = addnsw 31:i32, %46
%48:i32 = shl %32, %47
%49:i32 = shl %27, 1:i32
%50:i32 = phi %1, %27, %49
%51:i32 = sub 1:i32, %46
%52:i32 = lshr %50, %51
%53:i32 = or %48, %52
%54:i32 = shl %50, %47
%55:i32 = or %53, %54
%56:i32 = phi %0, %55, %50
%57:i1 = ult 2147483648:i32, %56
infer %57
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i32 = var
%5:i32 = and 8388607:i32, %4
%6:i32 = ctlz %5
%7:i32 = addnw 24:i32, %6
%8:i32 = and 31:i32, %7
%9:i32 = shl %5, %8
%10:i32 = phi %3, %9, %5
%11:i32 = phi %2, %10, %10, %5
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i32 = var
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = addnw 24:i32, %16
%18:i32 = and 31:i32, %17
%19:i32 = shl %15, %18
%20:i32 = phi %2, %19, %15, %15
%21:i32 = shl %20, 8:i32
%22:i32 = or 2147483648:i32, %21
%23:i64 = zext %22
%24:i64 = mulnuw %13, %23
%25:i64 = lshr %24, 32:i64
%26:i32 = trunc %25
%27:i32 = trunc %24
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %25, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
%32:i32 = phi %1, %26, %31
%33:i32 = subnsw 9:i32, %6
%34:i32 = phi %3, %33, 0:i32
%35:i32 = subnsw 9:i32, %16
%36:i32 = addnsw %34, %35
%37:i32 = phi %2, %36, %34, 0:i32
%38:i32 = lshr %4, 23:i32
%39:i32 = and 255:i32, %38
%40:i32 = lshr %14, 23:i32
%41:i32 = and 255:i32, %40
%42:i32 = addnw %39, %41
%43:i32 = addnsw %37, %42
%44:i32 = addnsw 4294967170:i32, %43
%45:i32 = addnsw 4294967169:i32, %43
%46:i32 = phi %1, %44, %45
%47:i32 = addnsw 31:i32, %46
%48:i32 = shl %32, %47
%49:i32 = shl %27, 1:i32
%50:i32 = phi %1, %27, %49
%51:i32 = sub 1:i32, %46
%52:i32 = lshr %50, %51
%53:i32 = or %48, %52
%54:i32 = shl %50, %47
%55:i32 = or %53, %54
%56:i32 = phi %0, %55, %50
%57:i1 = ult 2147483648:i32, %56
pc %57 0:i1
%58:i1 = eq 2147483648:i32, %56
infer %58
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i32 = var
%5:i32 = and 8388607:i32, %4
%6:i32 = ctlz %5
%7:i32 = addnw 24:i32, %6
%8:i32 = and 31:i32, %7
%9:i32 = shl %5, %8
%10:i32 = phi %3, %9, %5
%11:i32 = phi %2, %10, %10, %5
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i32 = var
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = addnw 24:i32, %16
%18:i32 = and 31:i32, %17
%19:i32 = shl %15, %18
%20:i32 = phi %2, %19, %15, %15
%21:i32 = shl %20, 8:i32
%22:i32 = or 2147483648:i32, %21
%23:i64 = zext %22
%24:i64 = mulnuw %13, %23
%25:i64 = lshr %24, 32:i64
%26:i32 = trunc %25
%27:i32 = trunc %24
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %25, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
%32:i32 = phi %1, %26, %31
%33:i32 = subnsw 9:i32, %6
%34:i32 = phi %3, %33, 0:i32
%35:i32 = subnsw 9:i32, %16
%36:i32 = addnsw %34, %35
%37:i32 = phi %2, %36, %34, 0:i32
%38:i32 = lshr %4, 23:i32
%39:i32 = and 255:i32, %38
%40:i32 = lshr %14, 23:i32
%41:i32 = and 255:i32, %40
%42:i32 = addnw %39, %41
%43:i32 = addnsw %37, %42
%44:i32 = addnsw 4294967170:i32, %43
%45:i32 = addnsw 4294967169:i32, %43
%46:i32 = phi %1, %44, %45
%47:i32 = addnsw 31:i32, %46
%48:i32 = shl %32, %47
%49:i32 = shl %27, 1:i32
%50:i32 = phi %1, %27, %49
%51:i32 = sub 1:i32, %46
%52:i32 = lshr %50, %51
%53:i32 = or %48, %52
%54:i32 = shl %50, %47
%55:i32 = or %53, %54
%56:i32 = phi %0, %55, %50
%57:i1 = ult 2147483648:i32, %56
pc %57 0:i1
%58:i1 = eq 2147483648:i32, %56
pc %58 1:i1
%59:i32 = lshr %32, %51
%60:i32 = and 8388607:i32, %32
%61:i32 = shlnw %46, 23:i32
%62:i32 = or %60, %61
%63:i32 = phi %0, %59, %62
%64:i32 = and 1:i32, %63
%65:i32 = xor %4, %14
%66:i32 = and 2147483648:i32, %65 (hasExternalUses)
%67:i32 = or %63, %66 (hasExternalUses)
%68:i32 = add %64, %67
infer %68
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i32 = var
%5:i32 = and 8388607:i32, %4
%6:i32 = ctlz %5
%7:i32 = addnw 24:i32, %6
%8:i32 = and 31:i32, %7
%9:i32 = shl %5, %8
%10:i32 = phi %3, %9, %5
%11:i32 = phi %2, %10, %10, %5
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i32 = var
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = addnw 24:i32, %16
%18:i32 = and 31:i32, %17
%19:i32 = shl %15, %18
%20:i32 = phi %2, %19, %15, %15
%21:i32 = shl %20, 8:i32
%22:i32 = or 2147483648:i32, %21
%23:i64 = zext %22
%24:i64 = mulnuw %13, %23
%25:i64 = lshr %24, 32:i64
%26:i32 = trunc %25
%27:i32 = trunc %24
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %25, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
%32:i32 = phi %1, %26, %31
%33:i32 = subnsw 9:i32, %6
%34:i32 = phi %3, %33, 0:i32
%35:i32 = subnsw 9:i32, %16
%36:i32 = addnsw %34, %35
%37:i32 = phi %2, %36, %34, 0:i32
%38:i32 = lshr %4, 23:i32
%39:i32 = and 255:i32, %38
%40:i32 = lshr %14, 23:i32
%41:i32 = and 255:i32, %40
%42:i32 = addnw %39, %41
%43:i32 = addnsw %37, %42
%44:i32 = addnsw 4294967170:i32, %43
%45:i32 = addnsw 4294967169:i32, %43
%46:i32 = phi %1, %44, %45
%47:i32 = addnsw 31:i32, %46
%48:i32 = shl %32, %47
%49:i32 = shl %27, 1:i32
%50:i32 = phi %1, %27, %49
%51:i32 = sub 1:i32, %46
%52:i32 = lshr %50, %51
%53:i32 = or %48, %52
%54:i32 = shl %50, %47
%55:i32 = or %53, %54
%56:i32 = phi %0, %55, %50
%57:i1 = ult 2147483648:i32, %56
pc %57 0:i1
%58:i1 = eq 2147483648:i32, %56
pc %58 1:i1
%59:i32 = lshr %32, %51
%60:i32 = and 8388607:i32, %32
%61:i32 = shlnw %46, 23:i32
%62:i32 = or %60, %61
%63:i32 = phi %0, %59, %62
%64:i32 = and 1:i32, %63
infer %64
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i32 = var
%5:i32 = and 8388607:i32, %4
%6:i32 = ctlz %5
%7:i32 = addnw 24:i32, %6
%8:i32 = and 31:i32, %7
%9:i32 = shl %5, %8
%10:i32 = phi %3, %9, %5
%11:i32 = phi %2, %10, %10, %5
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i32 = var
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = addnw 24:i32, %16
%18:i32 = and 31:i32, %17
%19:i32 = shl %15, %18
%20:i32 = phi %2, %19, %15, %15
%21:i32 = shl %20, 8:i32
%22:i32 = or 2147483648:i32, %21
%23:i64 = zext %22
%24:i64 = mulnuw %13, %23
%25:i64 = lshr %24, 32:i64
%26:i32 = trunc %25
%27:i32 = trunc %24
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %25, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
%32:i32 = phi %1, %26, %31
%33:i32 = subnsw 9:i32, %6
%34:i32 = phi %3, %33, 0:i32
%35:i32 = subnsw 9:i32, %16
%36:i32 = addnsw %34, %35
%37:i32 = phi %2, %36, %34, 0:i32
%38:i32 = lshr %4, 23:i32
%39:i32 = and 255:i32, %38
%40:i32 = lshr %14, 23:i32
%41:i32 = and 255:i32, %40
%42:i32 = addnw %39, %41
%43:i32 = addnsw %37, %42
%44:i32 = addnsw 4294967170:i32, %43
%45:i32 = addnsw 4294967169:i32, %43
%46:i32 = phi %1, %44, %45
%47:i32 = addnsw 31:i32, %46
%48:i32 = shl %32, %47
%49:i32 = shl %27, 1:i32
%50:i32 = phi %1, %27, %49
%51:i32 = sub 1:i32, %46
%52:i32 = lshr %50, %51
%53:i32 = or %48, %52
%54:i32 = shl %50, %47
%55:i32 = or %53, %54
%56:i32 = phi %0, %55, %50
%57:i1 = ult 2147483648:i32, %56
pc %57 1:i1
%58:i32 = lshr %32, %51
%59:i32 = and 8388607:i32, %32
%60:i32 = shlnw %46, 23:i32
%61:i32 = or %59, %60
%62:i32 = phi %0, %58, %61
%63:i32 = xor %4, %14
%64:i32 = and 2147483648:i32, %63 (hasExternalUses)
%65:i32 = or %62, %64 (hasExternalUses)
%66:i32 = add 1:i32, %65
infer %66
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i32 = var
%5:i32 = and 8388607:i32, %4
%6:i32 = ctlz %5
%7:i32 = addnw 24:i32, %6
%8:i32 = and 31:i32, %7
%9:i32 = shl %5, %8
%10:i32 = phi %3, %9, %5
%11:i32 = phi %2, %10, %10, %5
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i32 = var
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = addnw 24:i32, %16
%18:i32 = and 31:i32, %17
%19:i32 = shl %15, %18
%20:i32 = phi %2, %19, %15, %15
%21:i32 = shl %20, 8:i32
%22:i32 = or 2147483648:i32, %21
%23:i64 = zext %22
%24:i64 = mulnuw %13, %23
%25:i64 = lshr %24, 32:i64
%26:i32 = trunc %25
%27:i32 = trunc %24
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %25, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
%32:i32 = phi %1, %26, %31
%33:i32 = subnsw 9:i32, %6
%34:i32 = phi %3, %33, 0:i32
%35:i32 = subnsw 9:i32, %16
%36:i32 = addnsw %34, %35
%37:i32 = phi %2, %36, %34, 0:i32
%38:i32 = lshr %4, 23:i32
%39:i32 = and 255:i32, %38
%40:i32 = lshr %14, 23:i32
%41:i32 = and 255:i32, %40
%42:i32 = addnw %39, %41
%43:i32 = addnsw %37, %42
%44:i32 = addnsw 4294967170:i32, %43
%45:i32 = addnsw 4294967169:i32, %43
%46:i32 = phi %1, %44, %45
%47:i32 = addnsw 31:i32, %46
%48:i32 = shl %32, %47
%49:i32 = shl %27, 1:i32
%50:i32 = phi %1, %27, %49
%51:i32 = sub 1:i32, %46 (hasExternalUses)
%52:i32 = lshr %50, %51
%53:i32 = or %48, %52
%54:i32 = shl %50, %47
%55:i32 = or %53, %54
%56:i32 = phi %0, %55, %50
infer %56
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i32 = var
%5:i32 = and 8388607:i32, %4
%6:i32 = ctlz %5
%7:i32 = addnw 24:i32, %6
%8:i32 = and 31:i32, %7
%9:i32 = shl %5, %8
%10:i32 = phi %3, %9, %5
%11:i32 = phi %2, %10, %10, %5
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i32 = var
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = addnw 24:i32, %16
%18:i32 = and 31:i32, %17
%19:i32 = shl %15, %18
%20:i32 = phi %2, %19, %15, %15
%21:i32 = shl %20, 8:i32
%22:i32 = or 2147483648:i32, %21
%23:i64 = zext %22
%24:i64 = mulnuw %13, %23
%25:i64 = lshr %24, 32:i64
%26:i32 = trunc %25
%27:i32 = trunc %24
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %25, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
%32:i32 = phi %1, %26, %31
%33:i32 = subnsw 9:i32, %6
%34:i32 = phi %3, %33, 0:i32
%35:i32 = subnsw 9:i32, %16
%36:i32 = addnsw %34, %35
%37:i32 = phi %2, %36, %34, 0:i32
%38:i32 = lshr %4, 23:i32
%39:i32 = and 255:i32, %38
%40:i32 = lshr %14, 23:i32
%41:i32 = and 255:i32, %40
%42:i32 = addnw %39, %41
%43:i32 = addnsw %37, %42
%44:i32 = addnsw 4294967170:i32, %43
%45:i32 = addnsw 4294967169:i32, %43
%46:i32 = phi %1, %44, %45
%47:i32 = sub 1:i32, %46
%48:i32 = lshr %32, %47
%49:i32 = and 8388607:i32, %32
%50:i32 = shlnw %46, 23:i32
%51:i32 = or %49, %50
%52:i32 = phi %0, %48, %51
%53:i32 = xor %4, %14
%54:i32 = and 2147483648:i32, %53 (hasExternalUses)
%55:i32 = or %52, %54
infer %55
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i32 = var
%5:i32 = and 8388607:i32, %4
%6:i32 = ctlz %5
%7:i32 = addnw 24:i32, %6
%8:i32 = and 31:i32, %7
%9:i32 = shl %5, %8
%10:i32 = phi %3, %9, %5
%11:i32 = phi %2, %10, %10, %5
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i32 = var
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = addnw 24:i32, %16
%18:i32 = and 31:i32, %17
%19:i32 = shl %15, %18
%20:i32 = phi %2, %19, %15, %15
%21:i32 = shl %20, 8:i32
%22:i32 = or 2147483648:i32, %21
%23:i64 = zext %22
%24:i64 = mulnuw %13, %23
%25:i64 = lshr %24, 32:i64
%26:i32 = trunc %25
%27:i32 = trunc %24
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %25, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
%32:i32 = phi %1, %26, %31
%33:i32 = subnsw 9:i32, %6
%34:i32 = phi %3, %33, 0:i32
%35:i32 = subnsw 9:i32, %16
%36:i32 = addnsw %34, %35
%37:i32 = phi %2, %36, %34, 0:i32
%38:i32 = lshr %4, 23:i32
%39:i32 = and 255:i32, %38
%40:i32 = lshr %14, 23:i32
%41:i32 = and 255:i32, %40
%42:i32 = addnw %39, %41
%43:i32 = addnsw %37, %42
%44:i32 = addnsw 4294967170:i32, %43
%45:i32 = addnsw 4294967169:i32, %43
%46:i32 = phi %1, %44, %45
%47:i32 = sub 1:i32, %46 (hasExternalUses)
%48:i32 = lshr %32, %47
%49:i32 = and 8388607:i32, %32
%50:i32 = shlnw %46, 23:i32
%51:i32 = or %49, %50
%52:i32 = phi %0, %48, %51
infer %52
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i64 = var
%5:i64 = and 4503599627370495:i64, %4
%6:i64 = ctlz %5
%7:i64 = addnw 53:i64, %6
%8:i64 = and 63:i64, %7
%9:i64 = shl %5, %8
%10:i64 = phi %3, %9, %5
%11:i64 = phi %2, %10, %10, %5
%12:i64 = or 4503599627370496:i64, %11
%13:i128 = zext %12
%14:i64 = var
%15:i64 = and 4503599627370495:i64, %14
%16:i64 = ctlz %15
%17:i64 = addnw 53:i64, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %15, %18
%20:i64 = phi %2, %19, %15, %15
%21:i64 = shl %20, 11:i64
%22:i64 = or 9223372036854775808:i64, %21
%23:i128 = zext %22
%24:i128 = mulnuw %13, %23
%25:i128 = lshr %24, 64:i128
%26:i64 = trunc %25
%27:i64 = trunc %24
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %25, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
%32:i64 = phi %1, %26, %31
%33:i32 = trunc %6
%34:i32 = subnsw 12:i32, %33
%35:i32 = phi %3, %34, 0:i32
%36:i32 = trunc %16
%37:i32 = subnsw 12:i32, %36
%38:i32 = addnsw %35, %37
%39:i32 = phi %2, %38, %35, 0:i32
%40:i64 = lshr %4, 52:i64
%41:i64 = and 2047:i64, %40
%42:i32 = trunc %41
%43:i64 = lshr %14, 52:i64
%44:i64 = and 2047:i64, %43
%45:i32 = trunc %44
%46:i32 = addnw %42, %45
%47:i32 = addnsw %39, %46
%48:i32 = add 4294966274:i32, %47
%49:i32 = add 4294966273:i32, %47
%50:i32 = phi %1, %48, %49
%51:i32 = addnsw 63:i32, %50
%52:i64 = zext %51
%53:i64 = shl %32, %52
%54:i64 = shl %27, 1:i64
%55:i64 = phi %1, %27, %54
%56:i32 = sub 1:i32, %50
%57:i64 = zext %56
%58:i64 = lshr %55, %57
%59:i64 = or %53, %58
%60:i64 = shl %55, %52
%61:i64 = or %59, %60
%62:i64 = phi %0, %61, %55
%63:i1 = ult 9223372036854775808:i64, %62
infer %63
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i64 = var
%5:i64 = and 4503599627370495:i64, %4
%6:i64 = ctlz %5
%7:i64 = addnw 53:i64, %6
%8:i64 = and 63:i64, %7
%9:i64 = shl %5, %8
%10:i64 = phi %3, %9, %5
%11:i64 = phi %2, %10, %10, %5
%12:i64 = or 4503599627370496:i64, %11
%13:i128 = zext %12
%14:i64 = var
%15:i64 = and 4503599627370495:i64, %14
%16:i64 = ctlz %15
%17:i64 = addnw 53:i64, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %15, %18
%20:i64 = phi %2, %19, %15, %15
%21:i64 = shl %20, 11:i64
%22:i64 = or 9223372036854775808:i64, %21
%23:i128 = zext %22
%24:i128 = mulnuw %13, %23
%25:i128 = lshr %24, 64:i128
%26:i64 = trunc %25
%27:i64 = trunc %24
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %25, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
%32:i64 = phi %1, %26, %31
%33:i32 = trunc %6
%34:i32 = subnsw 12:i32, %33
%35:i32 = phi %3, %34, 0:i32
%36:i32 = trunc %16
%37:i32 = subnsw 12:i32, %36
%38:i32 = addnsw %35, %37
%39:i32 = phi %2, %38, %35, 0:i32
%40:i64 = lshr %4, 52:i64
%41:i64 = and 2047:i64, %40
%42:i32 = trunc %41
%43:i64 = lshr %14, 52:i64
%44:i64 = and 2047:i64, %43
%45:i32 = trunc %44
%46:i32 = addnw %42, %45
%47:i32 = addnsw %39, %46
%48:i32 = add 4294966274:i32, %47
%49:i32 = add 4294966273:i32, %47
%50:i32 = phi %1, %48, %49
%51:i32 = addnsw 63:i32, %50
%52:i64 = zext %51
%53:i64 = shl %32, %52
%54:i64 = shl %27, 1:i64
%55:i64 = phi %1, %27, %54
%56:i32 = sub 1:i32, %50
%57:i64 = zext %56
%58:i64 = lshr %55, %57
%59:i64 = or %53, %58
%60:i64 = shl %55, %52
%61:i64 = or %59, %60
%62:i64 = phi %0, %61, %55
%63:i1 = ult 9223372036854775808:i64, %62
pc %63 0:i1
%64:i1 = eq 9223372036854775808:i64, %62
infer %64
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i64 = var
%5:i64 = and 4503599627370495:i64, %4
%6:i64 = ctlz %5
%7:i64 = addnw 53:i64, %6
%8:i64 = and 63:i64, %7
%9:i64 = shl %5, %8
%10:i64 = phi %3, %9, %5
%11:i64 = phi %2, %10, %10, %5
%12:i64 = or 4503599627370496:i64, %11
%13:i128 = zext %12
%14:i64 = var
%15:i64 = and 4503599627370495:i64, %14
%16:i64 = ctlz %15
%17:i64 = addnw 53:i64, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %15, %18
%20:i64 = phi %2, %19, %15, %15
%21:i64 = shl %20, 11:i64
%22:i64 = or 9223372036854775808:i64, %21
%23:i128 = zext %22
%24:i128 = mulnuw %13, %23
%25:i128 = lshr %24, 64:i128
%26:i64 = trunc %25
%27:i64 = trunc %24
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %25, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
%32:i64 = phi %1, %26, %31
%33:i32 = trunc %6
%34:i32 = subnsw 12:i32, %33
%35:i32 = phi %3, %34, 0:i32
%36:i32 = trunc %16
%37:i32 = subnsw 12:i32, %36
%38:i32 = addnsw %35, %37
%39:i32 = phi %2, %38, %35, 0:i32
%40:i64 = lshr %4, 52:i64
%41:i64 = and 2047:i64, %40
%42:i32 = trunc %41
%43:i64 = lshr %14, 52:i64
%44:i64 = and 2047:i64, %43
%45:i32 = trunc %44
%46:i32 = addnw %42, %45
%47:i32 = addnsw %39, %46
%48:i32 = add 4294966274:i32, %47
%49:i32 = add 4294966273:i32, %47
%50:i32 = phi %1, %48, %49
%51:i32 = addnsw 63:i32, %50
%52:i64 = zext %51
%53:i64 = shl %32, %52
%54:i64 = shl %27, 1:i64
%55:i64 = phi %1, %27, %54
%56:i32 = sub 1:i32, %50
%57:i64 = zext %56
%58:i64 = lshr %55, %57
%59:i64 = or %53, %58
%60:i64 = shl %55, %52
%61:i64 = or %59, %60
%62:i64 = phi %0, %61, %55
%63:i1 = ult 9223372036854775808:i64, %62
pc %63 0:i1
%64:i1 = eq 9223372036854775808:i64, %62
pc %64 1:i1
%65:i64 = lshr %32, %57
%66:i64 = and 4503599627370495:i64, %32
%67:i64 = zext %50
%68:i64 = shlnw %67, 52:i64
%69:i64 = or %66, %68
%70:i64 = phi %0, %65, %69
%71:i64 = and 1:i64, %70
%72:i64 = xor %4, %14
%73:i64 = and 9223372036854775808:i64, %72 (hasExternalUses)
%74:i64 = or %70, %73 (hasExternalUses)
%75:i64 = add %71, %74
infer %75
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i64 = var
%5:i64 = and 4503599627370495:i64, %4
%6:i64 = ctlz %5
%7:i64 = addnw 53:i64, %6
%8:i64 = and 63:i64, %7
%9:i64 = shl %5, %8
%10:i64 = phi %3, %9, %5
%11:i64 = phi %2, %10, %10, %5
%12:i64 = or 4503599627370496:i64, %11
%13:i128 = zext %12
%14:i64 = var
%15:i64 = and 4503599627370495:i64, %14
%16:i64 = ctlz %15
%17:i64 = addnw 53:i64, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %15, %18
%20:i64 = phi %2, %19, %15, %15
%21:i64 = shl %20, 11:i64
%22:i64 = or 9223372036854775808:i64, %21
%23:i128 = zext %22
%24:i128 = mulnuw %13, %23
%25:i128 = lshr %24, 64:i128
%26:i64 = trunc %25
%27:i64 = trunc %24
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %25, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
%32:i64 = phi %1, %26, %31
%33:i32 = trunc %6
%34:i32 = subnsw 12:i32, %33
%35:i32 = phi %3, %34, 0:i32
%36:i32 = trunc %16
%37:i32 = subnsw 12:i32, %36
%38:i32 = addnsw %35, %37
%39:i32 = phi %2, %38, %35, 0:i32
%40:i64 = lshr %4, 52:i64
%41:i64 = and 2047:i64, %40
%42:i32 = trunc %41
%43:i64 = lshr %14, 52:i64
%44:i64 = and 2047:i64, %43
%45:i32 = trunc %44
%46:i32 = addnw %42, %45
%47:i32 = addnsw %39, %46
%48:i32 = add 4294966274:i32, %47
%49:i32 = add 4294966273:i32, %47
%50:i32 = phi %1, %48, %49
%51:i32 = addnsw 63:i32, %50
%52:i64 = zext %51
%53:i64 = shl %32, %52
%54:i64 = shl %27, 1:i64
%55:i64 = phi %1, %27, %54
%56:i32 = sub 1:i32, %50
%57:i64 = zext %56
%58:i64 = lshr %55, %57
%59:i64 = or %53, %58
%60:i64 = shl %55, %52
%61:i64 = or %59, %60
%62:i64 = phi %0, %61, %55
%63:i1 = ult 9223372036854775808:i64, %62
pc %63 0:i1
%64:i1 = eq 9223372036854775808:i64, %62
pc %64 1:i1
%65:i64 = lshr %32, %57
%66:i64 = and 4503599627370495:i64, %32
%67:i64 = zext %50
%68:i64 = shlnw %67, 52:i64
%69:i64 = or %66, %68
%70:i64 = phi %0, %65, %69
%71:i64 = and 1:i64, %70
infer %71
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i64 = var
%5:i64 = and 4503599627370495:i64, %4
%6:i64 = ctlz %5
%7:i64 = addnw 53:i64, %6
%8:i64 = and 63:i64, %7
%9:i64 = shl %5, %8
%10:i64 = phi %3, %9, %5
%11:i64 = phi %2, %10, %10, %5
%12:i64 = or 4503599627370496:i64, %11
%13:i128 = zext %12
%14:i64 = var
%15:i64 = and 4503599627370495:i64, %14
%16:i64 = ctlz %15
%17:i64 = addnw 53:i64, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %15, %18
%20:i64 = phi %2, %19, %15, %15
%21:i64 = shl %20, 11:i64
%22:i64 = or 9223372036854775808:i64, %21
%23:i128 = zext %22
%24:i128 = mulnuw %13, %23
%25:i128 = lshr %24, 64:i128
%26:i64 = trunc %25
%27:i64 = trunc %24
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %25, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
%32:i64 = phi %1, %26, %31
%33:i32 = trunc %6
%34:i32 = subnsw 12:i32, %33
%35:i32 = phi %3, %34, 0:i32
%36:i32 = trunc %16
%37:i32 = subnsw 12:i32, %36
%38:i32 = addnsw %35, %37
%39:i32 = phi %2, %38, %35, 0:i32
%40:i64 = lshr %4, 52:i64
%41:i64 = and 2047:i64, %40
%42:i32 = trunc %41
%43:i64 = lshr %14, 52:i64
%44:i64 = and 2047:i64, %43
%45:i32 = trunc %44
%46:i32 = addnw %42, %45
%47:i32 = addnsw %39, %46
%48:i32 = add 4294966274:i32, %47
%49:i32 = add 4294966273:i32, %47
%50:i32 = phi %1, %48, %49
%51:i32 = addnsw 63:i32, %50
%52:i64 = zext %51
%53:i64 = shl %32, %52
%54:i64 = shl %27, 1:i64
%55:i64 = phi %1, %27, %54
%56:i32 = sub 1:i32, %50
%57:i64 = zext %56
%58:i64 = lshr %55, %57
%59:i64 = or %53, %58
%60:i64 = shl %55, %52
%61:i64 = or %59, %60
%62:i64 = phi %0, %61, %55
%63:i1 = ult 9223372036854775808:i64, %62
pc %63 1:i1
%64:i64 = lshr %32, %57
%65:i64 = and 4503599627370495:i64, %32
%66:i64 = zext %50
%67:i64 = shlnw %66, 52:i64
%68:i64 = or %65, %67
%69:i64 = phi %0, %64, %68
%70:i64 = xor %4, %14
%71:i64 = and 9223372036854775808:i64, %70 (hasExternalUses)
%72:i64 = or %69, %71 (hasExternalUses)
%73:i64 = add 1:i64, %72
infer %73
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i64 = var
%5:i64 = and 4503599627370495:i64, %4
%6:i64 = ctlz %5
%7:i64 = addnw 53:i64, %6
%8:i64 = and 63:i64, %7
%9:i64 = shl %5, %8
%10:i64 = phi %3, %9, %5
%11:i64 = phi %2, %10, %10, %5
%12:i64 = or 4503599627370496:i64, %11
%13:i128 = zext %12
%14:i64 = var
%15:i64 = and 4503599627370495:i64, %14
%16:i64 = ctlz %15
%17:i64 = addnw 53:i64, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %15, %18
%20:i64 = phi %2, %19, %15, %15
%21:i64 = shl %20, 11:i64
%22:i64 = or 9223372036854775808:i64, %21
%23:i128 = zext %22
%24:i128 = mulnuw %13, %23
%25:i128 = lshr %24, 64:i128
%26:i64 = trunc %25
%27:i64 = trunc %24
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %25, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
%32:i64 = phi %1, %26, %31
%33:i32 = trunc %6
%34:i32 = subnsw 12:i32, %33
%35:i32 = phi %3, %34, 0:i32
%36:i32 = trunc %16
%37:i32 = subnsw 12:i32, %36
%38:i32 = addnsw %35, %37
%39:i32 = phi %2, %38, %35, 0:i32
%40:i64 = lshr %4, 52:i64
%41:i64 = and 2047:i64, %40
%42:i32 = trunc %41
%43:i64 = lshr %14, 52:i64
%44:i64 = and 2047:i64, %43
%45:i32 = trunc %44
%46:i32 = addnw %42, %45
%47:i32 = addnsw %39, %46
%48:i32 = add 4294966274:i32, %47
%49:i32 = add 4294966273:i32, %47
%50:i32 = phi %1, %48, %49
%51:i32 = addnsw 63:i32, %50
%52:i64 = zext %51
%53:i64 = shl %32, %52
%54:i64 = shl %27, 1:i64
%55:i64 = phi %1, %27, %54
%56:i32 = sub 1:i32, %50 (hasExternalUses)
%57:i64 = zext %56 (hasExternalUses)
%58:i64 = lshr %55, %57
%59:i64 = or %53, %58
%60:i64 = shl %55, %52
%61:i64 = or %59, %60
%62:i64 = phi %0, %61, %55
infer %62
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i64 = var
%5:i64 = and 4503599627370495:i64, %4
%6:i64 = ctlz %5
%7:i64 = addnw 53:i64, %6
%8:i64 = and 63:i64, %7
%9:i64 = shl %5, %8
%10:i64 = phi %3, %9, %5
%11:i64 = phi %2, %10, %10, %5
%12:i64 = or 4503599627370496:i64, %11
%13:i128 = zext %12
%14:i64 = var
%15:i64 = and 4503599627370495:i64, %14
%16:i64 = ctlz %15
%17:i64 = addnw 53:i64, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %15, %18
%20:i64 = phi %2, %19, %15, %15
%21:i64 = shl %20, 11:i64
%22:i64 = or 9223372036854775808:i64, %21
%23:i128 = zext %22
%24:i128 = mulnuw %13, %23
%25:i128 = lshr %24, 64:i128
%26:i64 = trunc %25
%27:i64 = trunc %24
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %25, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
%32:i64 = phi %1, %26, %31
%33:i32 = trunc %6
%34:i32 = subnsw 12:i32, %33
%35:i32 = phi %3, %34, 0:i32
%36:i32 = trunc %16
%37:i32 = subnsw 12:i32, %36
%38:i32 = addnsw %35, %37
%39:i32 = phi %2, %38, %35, 0:i32
%40:i64 = lshr %4, 52:i64
%41:i64 = and 2047:i64, %40
%42:i32 = trunc %41
%43:i64 = lshr %14, 52:i64
%44:i64 = and 2047:i64, %43
%45:i32 = trunc %44
%46:i32 = addnw %42, %45
%47:i32 = addnsw %39, %46
%48:i32 = add 4294966274:i32, %47
%49:i32 = add 4294966273:i32, %47
%50:i32 = phi %1, %48, %49
%51:i32 = sub 1:i32, %50
%52:i64 = zext %51
%53:i64 = lshr %32, %52
%54:i64 = and 4503599627370495:i64, %32
%55:i64 = zext %50
%56:i64 = shlnw %55, 52:i64
%57:i64 = or %54, %56
%58:i64 = phi %0, %53, %57
%59:i64 = xor %4, %14
%60:i64 = and 9223372036854775808:i64, %59 (hasExternalUses)
%61:i64 = or %58, %60
infer %61
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3 = block 2
%4:i64 = var
%5:i64 = and 4503599627370495:i64, %4
%6:i64 = ctlz %5
%7:i64 = addnw 53:i64, %6
%8:i64 = and 63:i64, %7
%9:i64 = shl %5, %8
%10:i64 = phi %3, %9, %5
%11:i64 = phi %2, %10, %10, %5
%12:i64 = or 4503599627370496:i64, %11
%13:i128 = zext %12
%14:i64 = var
%15:i64 = and 4503599627370495:i64, %14
%16:i64 = ctlz %15
%17:i64 = addnw 53:i64, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %15, %18
%20:i64 = phi %2, %19, %15, %15
%21:i64 = shl %20, 11:i64
%22:i64 = or 9223372036854775808:i64, %21
%23:i128 = zext %22
%24:i128 = mulnuw %13, %23
%25:i128 = lshr %24, 64:i128
%26:i64 = trunc %25
%27:i64 = trunc %24
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %25, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
%32:i64 = phi %1, %26, %31
%33:i32 = trunc %6
%34:i32 = subnsw 12:i32, %33
%35:i32 = phi %3, %34, 0:i32
%36:i32 = trunc %16
%37:i32 = subnsw 12:i32, %36
%38:i32 = addnsw %35, %37
%39:i32 = phi %2, %38, %35, 0:i32
%40:i64 = lshr %4, 52:i64
%41:i64 = and 2047:i64, %40
%42:i32 = trunc %41
%43:i64 = lshr %14, 52:i64
%44:i64 = and 2047:i64, %43
%45:i32 = trunc %44
%46:i32 = addnw %42, %45
%47:i32 = addnsw %39, %46
%48:i32 = add 4294966274:i32, %47
%49:i32 = add 4294966273:i32, %47
%50:i32 = phi %1, %48, %49
%51:i32 = sub 1:i32, %50 (hasExternalUses)
%52:i64 = zext %51 (hasExternalUses)
%53:i64 = lshr %32, %52
%54:i64 = and 4503599627370495:i64, %32
%55:i64 = zext %50
%56:i64 = shlnw %55, 52:i64
%57:i64 = or %54, %56
%58:i64 = phi %0, %53, %57
infer %58
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3:i32 = var
%4:i32 = var
%5:i32 = var
%6:i32 = phi %2, %3, %4, %5
%7:i32 = var
%8:i32 = phi %1, %6, %7
%9:i32 = var
%10:i32 = phi %0, %8, %9
%11:i32 = and 8192:i32, %10
%12:i1 = eq 0:i32, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3:i32 = var
%4:i32 = var
%5:i32 = var
%6:i32 = phi %2, %3, %4, %5
%7:i32 = var
%8:i32 = phi %1, %6, %7
%9:i32 = var
%10:i32 = phi %0, %8, %9
%11:i32 = and 8192:i32, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3:i32 = var
%4:i32 = var
%5:i32 = var
%6:i32 = phi %2, %3, %4, %5
%7:i32 = var
%8:i32 = phi %1, %6, %7
%9:i32 = var
%10:i32 = phi %0, %8, %9
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3:i64 = var
%4:i1 = eq 0:i64, %3
%5:i64 = var
%6:i64 = select %4, 0:i64, %5
%7:i64 = phi %2, 0:i64, %6, %5
%8:i64 = phi %1, %7, 0:i64
%9 = block 2
%10:i64 = var
%11:i1 = eq 0:i64, %10
%12:i64 = select %11, 0:i64, %5
%13:i64 = phi %9, 0:i64, %12
%14:i64 = phi %0, %8, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3:i64 = var
%4:i64 = var
%5:i64 = var
%6:i64 = phi %2, %3, %4, %5
%7:i64 = phi %1, %6, 0:i64
%8 = block 2
%9:i64 = var
%10:i64 = phi %8, %3, %9
%11:i64 = phi %0, %7, %10
%12:i1 = eq 0:i64, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3:i8 = phi %2, 1:i8, 0:i8, 0:i8
%4:i8 = phi %1, %3, 0:i8
%5:i8 = phi %0, %4, 0:i8
%6:i1 = eq 0:i8, %5
infer %6
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2 = block 3
%3:i8 = phi %2, 1:i8, 0:i8, 0:i8
%4:i8 = phi %1, %3, 0:i8
%5:i8 = phi %0, %4, 0:i8
infer %5
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i1 = var
%3:i1 = phi %1, %2, 0:i1
%4:i1 = phi %0, %3, 1:i1
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i1 = var
%3:i1 = phi %1, %2, 1:i1
%4:i1 = phi %0, %3, 0:i1
infer %4
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i128 = phi %1, 0:i128, 340282366920938463463374607431768211455:i128
%3:i128 = phi %0, 0:i128, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i128 = phi %1, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128
%3:i128 = phi %0, 0:i128, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i128 = var
%3:i128 = var
%4:i128 = phi %1, %2, %3
%5:i128 = phi %0, 0:i128, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = phi %1, 0:i32, 4294967295:i32
%3:i32 = phi %0, 0:i32, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = phi %1, 1:i32, 0:i32
%3 = block 2
%4:i32 = phi %3, 1:i32, 0:i32
%5:i32 = phi %0, %2, %4
%6:i1 = eq 1:i32, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = phi %1, 1:i32, 0:i32
%3 = block 2
%4:i32 = phi %3, 1:i32, 0:i32
%5:i32 = phi %0, %2, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = phi %1, 2147483648:i32, 2147483647:i32
%3:i32 = phi %0, 0:i32, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12:i32 = var
%13:i32 = var
%14:i32 = phi %11, %12, %13
%15:i32 = var
%16:i32 = phi %10, %14, %15
%17:i32 = var
%18:i32 = phi %9, %16, %17
%19:i32 = var
%20:i32 = phi %8, %18, %19
%21:i32 = var
%22:i32 = phi %7, %20, %21
%23:i32 = var
%24:i32 = phi %6, %22, %23
%25:i32 = var
%26:i32 = phi %5, %24, %25
%27:i32 = var
%28:i32 = phi %4, %26, %27
%29:i32 = var
%30:i32 = phi %3, %28, %29
%31:i32 = phi %1, %2, %30
%32:i32 = var
%33:i32 = phi %0, %31, %32
%34:i32 = and 262144:i32, %33
%35:i1 = eq 0:i32, %34
infer %35
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12:i32 = var
%13:i32 = var
%14:i32 = phi %11, %12, %13
%15:i32 = var
%16:i32 = phi %10, %14, %15
%17:i32 = var
%18:i32 = phi %9, %16, %17
%19:i32 = var
%20:i32 = phi %8, %18, %19
%21:i32 = var
%22:i32 = phi %7, %20, %21
%23:i32 = var
%24:i32 = phi %6, %22, %23
%25:i32 = var
%26:i32 = phi %5, %24, %25
%27:i32 = var
%28:i32 = phi %4, %26, %27
%29:i32 = var
%30:i32 = phi %3, %28, %29
%31:i32 = phi %1, %2, %30
%32:i32 = var
%33:i32 = phi %0, %31, %32
%34:i32 = and 262144:i32, %33
infer %34
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 2
%12:i32 = var
%13:i32 = var
%14:i32 = phi %11, %12, %13
%15:i32 = var
%16:i32 = phi %10, %14, %15
%17:i32 = var
%18:i32 = phi %9, %16, %17
%19:i32 = var
%20:i32 = phi %8, %18, %19
%21:i32 = var
%22:i32 = phi %7, %20, %21
%23:i32 = var
%24:i32 = phi %6, %22, %23
%25:i32 = var
%26:i32 = phi %5, %24, %25
%27:i32 = var
%28:i32 = phi %4, %26, %27
%29:i32 = var
%30:i32 = phi %3, %28, %29
%31:i32 = phi %1, %2, %30
%32:i32 = var
%33:i32 = phi %0, %31, %32
infer %33 (demandedBits=11111111111101111001101100111100)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 3
%12:i32 = var
%13:i32 = var
%14:i32 = var
%15:i32 = phi %11, %12, %13, %14
%16:i32 = var
%17:i32 = phi %10, %15, %16
%18:i32 = var
%19:i32 = phi %9, %17, %18
%20:i32 = var
%21:i32 = phi %8, %19, %20
%22:i32 = var
%23:i32 = phi %7, %21, %22
%24:i32 = var
%25:i32 = phi %6, %23, %24
%26:i32 = var
%27:i32 = phi %5, %25, %26
%28:i32 = var
%29:i32 = phi %4, %27, %28
%30:i32 = var
%31:i32 = phi %3, %29, %30
%32:i32 = phi %1, %2, %31
%33:i32 = var
%34:i32 = phi %0, %32, %33
%35:i32 = and 262144:i32, %34
%36:i1 = eq 0:i32, %35
infer %36
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 3
%12:i32 = var
%13:i32 = var
%14:i32 = var
%15:i32 = phi %11, %12, %13, %14
%16:i32 = var
%17:i32 = phi %10, %15, %16
%18:i32 = var
%19:i32 = phi %9, %17, %18
%20:i32 = var
%21:i32 = phi %8, %19, %20
%22:i32 = var
%23:i32 = phi %7, %21, %22
%24:i32 = var
%25:i32 = phi %6, %23, %24
%26:i32 = var
%27:i32 = phi %5, %25, %26
%28:i32 = var
%29:i32 = phi %4, %27, %28
%30:i32 = var
%31:i32 = phi %3, %29, %30
%32:i32 = phi %1, %2, %31
%33:i32 = var
%34:i32 = phi %0, %32, %33
%35:i32 = and 262144:i32, %34
infer %35
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3 = block 2
%4 = block 2
%5 = block 2
%6 = block 2
%7 = block 2
%8 = block 2
%9 = block 2
%10 = block 2
%11 = block 3
%12:i32 = var
%13:i32 = var
%14:i32 = var
%15:i32 = phi %11, %12, %13, %14
%16:i32 = var
%17:i32 = phi %10, %15, %16
%18:i32 = var
%19:i32 = phi %9, %17, %18
%20:i32 = var
%21:i32 = phi %8, %19, %20
%22:i32 = var
%23:i32 = phi %7, %21, %22
%24:i32 = var
%25:i32 = phi %6, %23, %24
%26:i32 = var
%27:i32 = phi %5, %25, %26
%28:i32 = var
%29:i32 = phi %4, %27, %28
%30:i32 = var
%31:i32 = phi %3, %29, %30
%32:i32 = phi %1, %2, %31
%33:i32 = var
%34:i32 = phi %0, %32, %33
infer %34 (demandedBits=11111111111101111001101100111100)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3 = block 2
%4:i32 = var
%5:i32 = phi %3, %4, 0:i32
%6:i32 = add %2, %5
%7:i32 = phi %1, %6, %5
%8:i32 = phi %0, %7, 0:i32
infer %8
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = var
%7:i1 = slt %6, 0:i32
%8:i32 = sub 0:i32, %6
%9:i32 = select %7, %8, %6
%10:i32 = ctlz %9
%11:i32 = ctlz %5
%12:i32 = subnsw %10, %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %9, %13
%15:i1 = ult %5, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = zext %12
%18:i64 = addnsw %16, %17
%19:i32 = trunc %18
%20:i32 = and 31:i32, %19
%21:i32 = shl %9, %20
%22:i32 = sub %5, %21
%23:i32 = lshr %21, 1:i32
%24:i32 = sub %22, %23
%25:i1 = slt 4294967295:i32, %24
%26:i32 = select %25, %24, %22
%27:i32 = phi %1, %26, %22
%28:i32 = var
%29:i32 = shl %28, 1:i32
%30:i32 = phi %1, %23, %21
%31:i32 = addnsw 4294967295:i32, %30
%32:i32 = sub %29, %31
%33:i32 = ashr %32, 31:i32
%34:i32 = and %31, %33
%35:i32 = add %32, %34
%36:i32 = phi %0, %27, %35
%37:i64 = addnsw 18446744073709551615:i64, %18
%38:i32 = trunc %37
%39:i32 = and 31:i32, %38
%40:i32 = shlnuw 1:i32, %39
%41:i32 = shlnuw 1:i32, %20
%42:i32 = phi %1, %40, %41
%43:i32 = add 4294967295:i32, %42
%44:i32 = and %36, %43
infer %44
>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = var
%7:i1 = slt %6, 0:i32
%8:i32 = sub 0:i32, %6
%9:i32 = select %7, %8, %6
%10:i32 = ctlz %9
%11:i32 = ctlz %5
%12:i32 = subnsw %10, %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %9, %13
%15:i1 = ult %5, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = zext %12
%18:i64 = addnsw %16, %17
%19:i32 = trunc %18
%20:i32 = and 31:i32, %19
%21:i32 = shl %9, %20
%22:i32 = sub %5, %21
%23:i32 = lshr %21, 1:i32
%24:i32 = sub %22, %23
%25:i1 = slt 4294967295:i32, %24
%26:i32 = select %25, %24, %22
%27:i32 = phi %1, %26, %22
%28:i32 = var
%29:i32 = shl %28, 1:i32
%30:i32 = phi %1, %23, %21
%31:i32 = addnsw 4294967295:i32, %30
%32:i32 = sub %29, %31
%33:i32 = ashr %32, 31:i32
%34:i32 = and %31, %33
%35:i32 = add %32, %34
%36:i32 = phi %0, %27, %35
%37:i64 = addnsw 18446744073709551615:i64, %18
%38:i64 = phi %1, %37, %18
%39:i32 = trunc %38
%40:i32 = and 31:i32, %39
%41:i32 = lshr %36, %40
infer %41
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = var
%7:i1 = slt %6, 0:i32
%8:i32 = sub 0:i32, %6
%9:i32 = select %7, %8, %6
%10:i32 = ctlz %9
%11:i32 = ctlz %5
%12:i32 = subnsw %10, %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %9, %13
%15:i1 = ult %5, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = zext %12
%18:i64 = addnsw %16, %17
%19:i32 = trunc %18
%20:i32 = and 31:i32, %19
%21:i32 = shl %9, %20
%22:i32 = sub %5, %21
%23:i32 = lshr %21, 1:i32
%24:i32 = sub %22, %23
%25:i1 = slt 4294967295:i32, %24
%26:i32 = select %25, %24, %22
%27:i32 = phi %1, %26, %22
%28:i32 = var
%29:i32 = shl %28, 1:i32
%30:i32 = phi %1, %23, %21
%31:i32 = addnsw 4294967295:i32, %30
%32:i32 = sub %29, %31
%33:i32 = ashr %32, 31:i32
%34:i32 = and %31, %33
%35:i32 = add %32, %34 (hasExternalUses)
%36:i32 = phi %0, %27, %35
infer %36
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = var (range=[1,-2147483647))
%7:i32 = ctlz %6
%8:i32 = ctlz %5
%9:i32 = subnsw %7, %8
%10:i32 = and 31:i32, %9
%11:i32 = shl %6, %10
%12:i1 = ult %5, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = zext %9
%15:i64 = addnsw %13, %14
%16:i32 = trunc %15
%17:i32 = and 31:i32, %16
%18:i32 = shl %6, %17
%19:i32 = sub %5, %18
%20:i32 = lshr %18, 1:i32
%21:i32 = sub %19, %20
%22:i1 = slt 4294967295:i32, %21
%23:i32 = select %22, %21, %19
%24:i32 = phi %1, %23, %19
%25:i32 = var
%26:i32 = shl %25, 1:i32
%27:i32 = phi %1, %20, %18
%28:i32 = addnsw 4294967295:i32, %27
%29:i32 = sub %26, %28
%30:i32 = ashr %29, 31:i32
%31:i32 = and %28, %30
%32:i32 = add %29, %31
%33:i32 = phi %0, %24, %32
%34:i64 = addnsw 18446744073709551615:i64, %15
%35:i64 = phi %1, %34, %15
%36:i32 = trunc %35
%37:i32 = and 31:i32, %36
%38:i32 = lshr %33, %37
infer %38
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = var (range=[1,-2147483647))
%7:i32 = ctlz %6
%8:i32 = ctlz %5
%9:i32 = subnsw %7, %8
%10:i32 = and 31:i32, %9
%11:i32 = shl %6, %10
%12:i1 = ult %5, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = zext %9
%15:i64 = addnsw %13, %14
%16:i32 = trunc %15
%17:i32 = and 31:i32, %16
%18:i32 = shl %6, %17
%19:i32 = sub %5, %18
%20:i32 = lshr %18, 1:i32
%21:i32 = sub %19, %20
%22:i1 = slt 4294967295:i32, %21
%23:i32 = select %22, %21, %19
%24:i32 = phi %1, %23, %19
%25:i32 = var
%26:i32 = shl %25, 1:i32
%27:i32 = phi %1, %20, %18
%28:i32 = addnsw 4294967295:i32, %27
%29:i32 = sub %26, %28
%30:i32 = ashr %29, 31:i32
%31:i32 = and %28, %30
%32:i32 = add %29, %31 (hasExternalUses)
%33:i32 = phi %0, %24, %32
infer %33
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = lshr %2, 8:i32
%4:i8 = trunc %3
%5:i8 = var
%6:i8 = phi %1, %4, %5
%7:i8 = phi %0, 0:i8, %6
%8:i32 = zext %7
%9:i32 = shlnw %8, 8:i32
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = lshr %2, 8:i32
%4:i8 = trunc %3
%5:i8 = var
%6:i8 = phi %1, %4, %5
%7:i8 = phi %0, 0:i8, %6
%8:i32 = zext %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = lshr %2, 8:i32
%4:i8 = trunc %3
%5:i8 = var
%6:i8 = phi %1, %4, %5
%7:i8 = phi %0, 0:i8, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = phi %1, %2, 0:i32
%4:i32 = var
%5:i32 = sub %3, %4
%6:i32 = phi %0, %5, %3
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = sub 128:i32, %2
%4:i32 = sub 127:i32, %2
%5:i32 = phi %1, %3, %4
%6:i32 = phi %0, %5, %4
%7:i32 = add 1023:i32, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = sub 128:i32, %2
%4:i32 = sub 127:i32, %2
%5:i32 = phi %1, %3, %4
%6:i32 = phi %0, %5, %4
%7:i32 = add 127:i32, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = sub 128:i32, %2
%4:i32 = sub 127:i32, %2 (hasExternalUses)
%5:i32 = phi %1, %3, %4
%6:i32 = phi %0, %5, %4
infer %6
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = sub 32:i32, %2
%4:i32 = sub 31:i32, %2
%5:i32 = phi %1, %3, %4
%6:i32 = phi %0, %5, %4
%7:i32 = add 127:i32, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = sub 32:i32, %2
%4:i32 = sub 31:i32, %2 (hasExternalUses)
%5:i32 = phi %1, %3, %4
%6:i32 = phi %0, %5, %4
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = sub 64:i32, %2
%4:i32 = sub 63:i32, %2
%5:i32 = phi %1, %3, %4
%6:i32 = phi %0, %5, %4
%7:i32 = add 1023:i32, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = sub 64:i32, %2
%4:i32 = sub 63:i32, %2
%5:i32 = phi %1, %3, %4
%6:i32 = phi %0, %5, %4
%7:i32 = add 127:i32, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = sub 64:i32, %2
%4:i32 = sub 63:i32, %2 (hasExternalUses)
%5:i32 = phi %1, %3, %4
%6:i32 = phi %0, %5, %4
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = ctlz %3
%5:i32 = ctlz %2
%6:i32 = subnsw %4, %5
%7:i32 = and 31:i32, %6
%8:i32 = shl %3, %7
%9:i1 = ult %2, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = zext %6
%12:i64 = addnsw %10, %11
%13:i32 = trunc %12
%14:i32 = and 31:i32, %13
%15:i32 = shl %3, %14
%16:i32 = sub %2, %15
%17:i32 = lshr %15, 1:i32
%18:i32 = sub %16, %17
%19:i1 = slt 4294967295:i32, %18
%20:i32 = select %19, %18, %16
%21:i32 = phi %1, %20, %16
%22:i32 = var
%23:i32 = shl %22, 1:i32
%24:i32 = phi %1, %17, %15
%25:i32 = addnsw 4294967295:i32, %24
%26:i32 = sub %23, %25
%27:i32 = ashr %26, 31:i32
%28:i32 = and %25, %27
%29:i32 = add %26, %28
%30:i32 = phi %0, %21, %29
%31:i64 = addnsw 18446744073709551615:i64, %12
%32:i32 = trunc %31
%33:i32 = and 31:i32, %32
%34:i32 = shlnuw 1:i32, %33
%35:i32 = shlnuw 1:i32, %14
%36:i32 = phi %1, %34, %35
%37:i32 = add 4294967295:i32, %36
%38:i32 = and %30, %37
infer %38
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = ctlz %3
%5:i32 = ctlz %2
%6:i32 = subnsw %4, %5
%7:i32 = and 31:i32, %6
%8:i32 = shl %3, %7
%9:i1 = ult %2, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = zext %6
%12:i64 = addnsw %10, %11
%13:i32 = trunc %12
%14:i32 = and 31:i32, %13
%15:i32 = shl %3, %14
%16:i32 = sub %2, %15
%17:i32 = lshr %15, 1:i32
%18:i32 = sub %16, %17
%19:i1 = slt 4294967295:i32, %18
%20:i32 = select %19, %18, %16
%21:i32 = phi %1, %20, %16
%22:i32 = var
%23:i32 = shl %22, 1:i32
%24:i32 = phi %1, %17, %15
%25:i32 = addnsw 4294967295:i32, %24
%26:i32 = sub %23, %25
%27:i32 = ashr %26, 31:i32
%28:i32 = and %25, %27
%29:i32 = add %26, %28
%30:i32 = phi %0, %21, %29
%31:i64 = addnsw 18446744073709551615:i64, %12
%32:i64 = phi %1, %31, %12
%33:i32 = trunc %32
%34:i32 = and 31:i32, %33
%35:i32 = lshr %30, %34
infer %35
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = ctlz %3
%5:i32 = ctlz %2
%6:i32 = subnsw %4, %5
%7:i32 = and 31:i32, %6
%8:i32 = shl %3, %7
%9:i1 = ult %2, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = zext %6
%12:i64 = addnsw %10, %11
%13:i32 = trunc %12
%14:i32 = and 31:i32, %13
%15:i32 = shl %3, %14
%16:i32 = sub %2, %15
%17:i32 = lshr %15, 1:i32
%18:i32 = sub %16, %17
%19:i1 = slt 4294967295:i32, %18
%20:i32 = select %19, %18, %16
%21:i32 = phi %1, %20, %16
%22:i32 = var
%23:i32 = shl %22, 1:i32
%24:i32 = phi %1, %17, %15
%25:i32 = addnsw 4294967295:i32, %24
%26:i32 = sub %23, %25
%27:i32 = ashr %26, 31:i32
%28:i32 = and %25, %27
%29:i32 = add %26, %28 (hasExternalUses)
%30:i32 = phi %0, %21, %29
infer %30
>
<noinfer> <>
<sprofile > <18>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = phi %1, %2, %3
%5:i32 = phi %0, %4, %3
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = phi %1, %2, %3
%5:i32 = phi %0, 0:i32, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = phi %1, %2, %3
%5:i32 = var
%6 = block 2
%7:i64 = var
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %6, %8, %7
%10:i32 = trunc %9
%11:i32 = and 31:i32, %10
%12:i32 = lshr %5, %11
%13:i32 = phi %0, %4, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = phi %1, %2, %3
%5:i32 = var
%6:i32 = phi %0, %4, %5
%7:i32 = and 1024:i32, %6
%8:i1 = eq 0:i32, %7
infer %8
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = phi %1, %2, %3
%5:i32 = var
%6:i32 = phi %0, %4, %5
%7:i32 = and 1024:i32, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i32 = var
%4:i32 = phi %1, %2, %3
%5:i32 = var
%6:i32 = phi %0, %4, %5
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i8 = trunc %2
%4:i8 = var
%5:i8 = phi %1, %3, %4
%6:i8 = phi %0, 0:i8, %5
%7:i32 = zext %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i32 = var
%3:i8 = trunc %2
%4:i8 = var
%5:i8 = phi %1, %3, %4
%6:i8 = phi %0, 0:i8, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = phi %1, 0:i64, 18446744073709551615:i64
%3:i64 = phi %0, 0:i64, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = phi %1, 64:i64, 32:i64
%3:i64 = addnsw 18446744073709551600:i64, %2
%4:i64 = phi %0, %2, %3
%5:i64 = addnsw 18446744073709551608:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = phi %1, 64:i64, 32:i64
%3:i64 = addnsw 18446744073709551600:i64, %2
%4:i64 = phi %0, %2, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = phi %1, 9223372036854775808:i64, 9223372036854775807:i64
%3:i64 = phi %0, 0:i64, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i1 = slt %2, 0:i64
%4:i64 = sub 0:i64, %2
%5:i64 = select %3, %4, %2
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = ctlz %5
%12:i64 = subnsw %10, %11
%13:i64 = and 4294967295:i64, %12
%14:i64 = and 63:i64, %12
%15:i64 = shl %9, %14
%16:i1 = ult %5, %15
%17:i64 = select %16, 18446744073709551615:i64, 0:i64
%18:i64 = addnsw %13, %17
%19:i64 = and 63:i64, %18
%20:i64 = shl %9, %19
%21:i64 = sub %5, %20
%22:i64 = lshr %20, 1:i64
%23:i64 = sub %21, %22
%24:i1 = slt 18446744073709551615:i64, %23
%25:i64 = select %24, %23, %21
%26:i64 = phi %1, %25, %21
%27:i64 = var
%28:i64 = shl %27, 1:i64
%29:i64 = phi %1, %22, %20
%30:i64 = addnsw 18446744073709551615:i64, %29
%31:i64 = sub %28, %30
%32:i64 = ashr %31, 63:i64
%33:i64 = and %30, %32
%34:i64 = add %31, %33
%35:i64 = phi %0, %26, %34
%36:i64 = addnsw 18446744073709551615:i64, %18
%37:i64 = and 63:i64, %36
%38:i64 = shlnuw 1:i64, %37
%39:i64 = shlnuw 1:i64, %19
%40:i64 = phi %1, %38, %39
%41:i64 = add 18446744073709551615:i64, %40
%42:i64 = and %35, %41
infer %42
>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i1 = slt %2, 0:i64
%4:i64 = sub 0:i64, %2
%5:i64 = select %3, %4, %2
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = ctlz %5
%12:i64 = subnsw %10, %11
%13:i64 = and 4294967295:i64, %12
%14:i64 = and 63:i64, %12
%15:i64 = shl %9, %14
%16:i1 = ult %5, %15
%17:i64 = select %16, 18446744073709551615:i64, 0:i64
%18:i64 = addnsw %13, %17
%19:i64 = and 63:i64, %18
%20:i64 = shl %9, %19
%21:i64 = sub %5, %20
%22:i64 = lshr %20, 1:i64
%23:i64 = sub %21, %22
%24:i1 = slt 18446744073709551615:i64, %23
%25:i64 = select %24, %23, %21
%26:i64 = phi %1, %25, %21
%27:i64 = var
%28:i64 = shl %27, 1:i64
%29:i64 = phi %1, %22, %20
%30:i64 = addnsw 18446744073709551615:i64, %29
%31:i64 = sub %28, %30
%32:i64 = ashr %31, 63:i64
%33:i64 = and %30, %32
%34:i64 = add %31, %33
%35:i64 = phi %0, %26, %34
%36:i64 = addnsw 18446744073709551615:i64, %18
%37:i64 = phi %1, %36, %18
%38:i64 = and 63:i64, %37
%39:i64 = lshr %35, %38
infer %39
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i1 = slt %2, 0:i64
%4:i64 = sub 0:i64, %2
%5:i64 = select %3, %4, %2
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = ctlz %5
%12:i64 = subnsw %10, %11
%13:i64 = and 4294967295:i64, %12
%14:i64 = and 63:i64, %12
%15:i64 = shl %9, %14
%16:i1 = ult %5, %15
%17:i64 = select %16, 18446744073709551615:i64, 0:i64
%18:i64 = addnsw %13, %17
%19:i64 = and 63:i64, %18
%20:i64 = shl %9, %19
%21:i64 = sub %5, %20
%22:i64 = lshr %20, 1:i64
%23:i64 = sub %21, %22
%24:i1 = slt 18446744073709551615:i64, %23
%25:i64 = select %24, %23, %21
%26:i64 = phi %1, %25, %21
%27:i64 = var
%28:i64 = shl %27, 1:i64
%29:i64 = phi %1, %22, %20
%30:i64 = addnsw 18446744073709551615:i64, %29
%31:i64 = sub %28, %30
%32:i64 = ashr %31, 63:i64
%33:i64 = and %30, %32
%34:i64 = add %31, %33 (hasExternalUses)
%35:i64 = phi %0, %26, %34
infer %35
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i1 = slt %2, 0:i64
%4:i64 = sub 0:i64, %2
%5:i64 = select %3, %4, %2
%6:i64 = var (range=[1,-9223372036854775807))
%7:i64 = ctlz %6
%8:i64 = ctlz %5
%9:i64 = subnsw %7, %8
%10:i64 = and 4294967295:i64, %9
%11:i64 = and 63:i64, %9
%12:i64 = shl %6, %11
%13:i1 = ult %5, %12
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %10, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %6, %16
%18:i64 = sub %5, %17
%19:i64 = lshr %17, 1:i64
%20:i64 = sub %18, %19
%21:i1 = slt 18446744073709551615:i64, %20
%22:i64 = select %21, %20, %18
%23:i64 = phi %1, %22, %18
%24:i64 = var
%25:i64 = shl %24, 1:i64
%26:i64 = phi %1, %19, %17
%27:i64 = addnsw 18446744073709551615:i64, %26
%28:i64 = sub %25, %27
%29:i64 = ashr %28, 63:i64
%30:i64 = and %27, %29
%31:i64 = add %28, %30
%32:i64 = phi %0, %23, %31
%33:i64 = addnsw 18446744073709551615:i64, %15
%34:i64 = phi %1, %33, %15
%35:i64 = and 63:i64, %34
%36:i64 = lshr %32, %35
infer %36
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i1 = slt %2, 0:i64
%4:i64 = sub 0:i64, %2
%5:i64 = select %3, %4, %2
%6:i64 = var (range=[1,-9223372036854775807))
%7:i64 = ctlz %6
%8:i64 = ctlz %5
%9:i64 = subnsw %7, %8
%10:i64 = and 4294967295:i64, %9
%11:i64 = and 63:i64, %9
%12:i64 = shl %6, %11
%13:i1 = ult %5, %12
%14:i64 = select %13, 18446744073709551615:i64, 0:i64
%15:i64 = addnsw %10, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %6, %16
%18:i64 = sub %5, %17
%19:i64 = lshr %17, 1:i64
%20:i64 = sub %18, %19
%21:i1 = slt 18446744073709551615:i64, %20
%22:i64 = select %21, %20, %18
%23:i64 = phi %1, %22, %18
%24:i64 = var
%25:i64 = shl %24, 1:i64
%26:i64 = phi %1, %19, %17
%27:i64 = addnsw 18446744073709551615:i64, %26
%28:i64 = sub %25, %27
%29:i64 = ashr %28, 63:i64
%30:i64 = and %27, %29
%31:i64 = add %28, %30 (hasExternalUses)
%32:i64 = phi %0, %23, %31
infer %32
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i32 = trunc %2
%4:i32 = and 31:i32, %3
%5:i32 = shl 1:i32, %4
%6 = block 2
%7 = block 2
%8:i64 = add 18446744073709551615:i64, %2
%9:i32 = trunc %8
%10:i32 = and 31:i32, %9
%11:i32 = shl 1:i32, %10
%12:i32 = or %5, %11
%13:i32 = phi %7, %12, %5
%14 = block 2
%15:i32 = phi %14, %13, %5
%16:i32 = var
%17:i32 = phi %14, %11, %5
%18:i32 = add 4294967295:i32, %17
%19:i32 = and %16, %18
%20:i32 = or %15, %19
%21:i32 = phi %6, %13, %20
%22:i32 = phi %1, %5, %21
%23:i32 = phi %0, 0:i32, %22
infer %23
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i32 = trunc %2
%4:i32 = and 31:i32, %3
%5:i32 = shl 1:i32, %4
%6:i64 = add 18446744073709551615:i64, %2
%7:i32 = trunc %6
%8:i32 = and 31:i32, %7
%9:i32 = shl 1:i32, %8
%10:i32 = or %5, %9
%11:i32 = phi %1, %10, %5
%12 = block 2
%13:i32 = phi %12, %11, %5
%14:i32 = var
%15:i32 = phi %12, %9, %5
%16:i32 = add 4294967295:i32, %15
%17:i32 = and %14, %16
%18:i32 = or %13, %17
%19:i32 = phi %0, %11, %18
infer %19
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i32 = trunc %2
%4:i32 = and 31:i32, %3
%5:i32 = shl 1:i32, %4
%6:i64 = add 18446744073709551615:i64, %2
%7:i32 = trunc %6
%8:i32 = and 31:i32, %7
%9:i32 = shl 1:i32, %8
%10:i32 = or %5, %9
%11:i32 = phi %1, %10, %5
%12:i32 = phi %0, %11, %5
%13:i32 = var
%14:i32 = phi %0, %9, %5
%15:i32 = add 4294967295:i32, %14
%16:i32 = and %13, %15
%17:i32 = or %12, %16
infer %17
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i32 = trunc %2
%4:i32 = and 31:i32, %3 (hasExternalUses)
%5:i32 = shl 1:i32, %4 (hasExternalUses)
%6:i64 = add 18446744073709551615:i64, %2
%7:i32 = trunc %6
%8:i32 = and 31:i32, %7
%9:i32 = shl 1:i32, %8
%10:i32 = or %5, %9
%11:i32 = phi %1, %10, %5
%12:i32 = phi %0, %11, %5
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i32 = var
%4:i32 = sub 63:i32, %3
%5:i32 = and 63:i32, %4
%6:i64 = zext %5
%7:i64 = lshr %2, %6
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %1, 0:i64, %8
%10:i64 = add 1:i64, %9
%11:i64 = phi %0, %10, %9
%12:i128 = zext %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i32 = var
%4:i32 = sub 63:i32, %3
%5:i32 = and 63:i32, %4
%6:i64 = zext %5
%7:i64 = lshr %2, %6
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %1, 0:i64, %8
%10:i64 = add 1:i64, %9
%11:i64 = phi %0, %10, %9
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = and 63:i64, %2
%4:i64 = shl 1:i64, %3
%5 = block 2
%6 = block 2
%7:i64 = add 18446744073709551615:i64, %2
%8:i64 = and 63:i64, %7
%9:i64 = shl 1:i64, %8
%10:i64 = or %4, %9
%11:i64 = phi %6, %10, %4
%12 = block 2
%13:i64 = phi %12, %11, %4
%14:i64 = var
%15:i64 = phi %12, %9, %4
%16:i64 = add 18446744073709551615:i64, %15
%17:i64 = and %14, %16
%18:i64 = or %13, %17
%19:i64 = phi %5, %11, %18
%20:i64 = phi %1, %4, %19
%21:i64 = phi %0, 0:i64, %20
infer %21
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = and 63:i64, %2
%4:i64 = shl 1:i64, %3
%5:i64 = add 18446744073709551615:i64, %2
%6:i64 = and 63:i64, %5
%7:i64 = shl 1:i64, %6
%8:i64 = or %4, %7
%9:i64 = phi %1, %8, %4
%10 = block 2
%11:i64 = phi %10, %9, %4
%12:i64 = var
%13:i64 = phi %10, %7, %4
%14:i64 = add 18446744073709551615:i64, %13
%15:i64 = and %12, %14
%16:i64 = or %11, %15
%17:i64 = phi %0, %9, %16
infer %17
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = and 63:i64, %2
%4:i64 = shl 1:i64, %3
%5:i64 = add 18446744073709551615:i64, %2
%6:i64 = and 63:i64, %5
%7:i64 = shl 1:i64, %6
%8:i64 = or %4, %7
%9:i64 = phi %1, %8, %4
%10:i64 = phi %0, %9, %4
%11:i64 = var
%12:i64 = phi %0, %7, %4
%13:i64 = add 18446744073709551615:i64, %12
%14:i64 = and %11, %13
%15:i64 = or %10, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = and 63:i64, %2 (hasExternalUses)
%4:i64 = shl 1:i64, %3 (hasExternalUses)
%5:i64 = add 18446744073709551615:i64, %2
%6:i64 = and 63:i64, %5
%7:i64 = shl 1:i64, %6
%8:i64 = or %4, %7
%9:i64 = phi %1, %8, %4
%10:i64 = phi %0, %9, %4
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = lshr %2, 32:i64
%4:i64 = phi %1, %2, %3
%5:i64 = lshr %4, 16:i64
%6:i64 = phi %0, %4, %5
%7:i64 = lshr %6, 8:i64
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = lshr %2, 32:i64
%4:i64 = phi %1, %2, %3
%5:i64 = lshr %4, 16:i64
%6:i64 = phi %0, %4, %5
%7:i64 = lshr %6, 8:i64 (hasExternalUses)
%8:i1 = eq 0:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = lshr %2, 32:i64
%4:i64 = phi %1, %2, %3
%5:i64 = lshr %4, 16:i64 (hasExternalUses)
%6:i64 = phi %0, %4, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = sdiv %8, 146097:i64
%10:i64 = addnsw 18446744073709551615:i64, %9
%11:i64 = phi %0, %10, %9
%12:i64 = mulnsw 400:i64, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = sdiv %8, 146097:i64
%10:i64 = addnsw 18446744073709551615:i64, %9
%11:i64 = phi %0, %10, %9
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15
infer %16
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15 (hasExternalUses)
%17 = block 2
%18:i64 = sdiv %16, 1461:i64
%19:i64 = phi %17, 24:i64, %18
%20:i64 = mul 18446744073709550155:i64, %19
%21:i64 = add %16, %20
infer %21
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15 (hasExternalUses)
%17 = block 2
%18:i64 = sdiv %16, 1461:i64
%19:i64 = phi %17, 24:i64, %18
%20:i64 = mul 18446744073709550155:i64, %19
%21:i64 = add %16, %20 (hasExternalUses)
%22 = block 2
%23:i64 = sdiv %21, 365:i64
%24:i64 = phi %22, 3:i64, %23
%25:i64 = mul 18446744073709551251:i64, %24
%26:i64 = add %21, %25
infer %26
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15 (hasExternalUses)
%17 = block 2
%18:i64 = sdiv %16, 1461:i64
%19:i64 = phi %17, 24:i64, %18
%20:i64 = mul 18446744073709550155:i64, %19
%21:i64 = add %16, %20 (hasExternalUses)
%22:i64 = add 18446744073709550156:i64, %21
%23:i1 = ult %22, 365:i64
infer %23
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15 (hasExternalUses)
%17 = block 2
%18:i64 = sdiv %16, 1461:i64
%19:i64 = phi %17, 24:i64, %18
%20:i64 = mul 18446744073709550155:i64, %19
%21:i64 = add %16, %20 (hasExternalUses)
%22:i64 = add 18446744073709550156:i64, %21
infer %22
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15 (hasExternalUses)
%17 = block 2
%18:i64 = sdiv %16, 1461:i64
%19:i64 = phi %17, 24:i64, %18
%20:i64 = mul 18446744073709550155:i64, %19
%21:i64 = add %16, %20 (hasExternalUses)
%22:i64 = sdiv %21, 365:i64
infer %22
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15 (hasExternalUses)
%17:i64 = add 18446744073709515091:i64, %16
%18:i1 = ult %17, 1461:i64
infer %18
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15 (hasExternalUses)
%17:i64 = add 18446744073709515091:i64, %16
infer %17
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12 = block 2
%13:i64 = sdiv %11, 36524:i64
%14:i64 = phi %12, 3:i64, %13
%15:i64 = mulnsw 18446744073709515092:i64, %14
%16:i64 = addnsw %11, %15 (hasExternalUses)
%17:i64 = sdiv %16, 1461:i64
infer %17
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12:i64 = addnsw 18446744073709405520:i64, %11
%13:i1 = ult %12, 36524:i64
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12:i64 = addnsw 18446744073709405520:i64, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
%12:i64 = sdiv %11, 36524:i64
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = add 18446744072757682816:i64, %4
%6:i64 = sdiv %5, 86400:i64
%7:i64 = addnsw 18446744073709551615:i64, %6
%8:i64 = phi %1, %7, %6
%9:i64 = srem %8, 146097:i64 (hasExternalUses)
%10:i64 = addnsw 146097:i64, %9
%11:i64 = phi %0, %10, %9
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = var
%6:i64 = phi %1, %4, %5
%7:i64 = add 12:i64, %6 (hasExternalUses)
%8:i64 = var
%9:i64 = add 12:i64, %8
%10:i64 = phi %0, %7, %9
infer %10
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = var
%6:i64 = phi %1, %4, %5
%7:i64 = var
%8:i64 = phi %0, %6, %7
%9:i1 = ult 18446744073709551603:i64, %8
infer %9
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = var
%6:i64 = phi %1, %4, %5
%7:i64 = var
%8:i64 = phi %0, %6, %7
%9:i1 = ult 18446744073709551603:i64, %8
pc %9 0:i1
%10:i64 = add 12:i64, %6
%11:i64 = add 12:i64, %7
%12:i64 = phi %0, %10, %11
%13:i1 = ult 4096:i64, %12
infer %13
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3
%5:i64 = var
%6:i64 = phi %1, %4, %5
%7:i64 = var
%8:i64 = phi %0, %6, %7
infer %8
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add 1:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = var
%7:i64 = phi %0, %5, %6
%8:i1 = eq 0:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add 1:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = var
%7:i64 = phi %0, %5, %6
%8:i1 = eq 0:i64, %7
pc %8 0:i1
%9:i64 = add 18446744073709551615:i64, %7
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = add 1:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = var
%7:i64 = phi %0, %5, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = ctlz %2
%6:i64 = subnsw %4, %5
%7:i64 = and 4294967295:i64, %6
%8:i64 = and 63:i64, %6
%9:i64 = shl %3, %8
%10:i1 = ult %2, %9
%11:i64 = select %10, 18446744073709551615:i64, 0:i64
%12:i64 = addnsw %7, %11
%13:i64 = and 63:i64, %12
%14:i64 = shl %3, %13
%15:i64 = sub %2, %14
%16:i64 = lshr %14, 1:i64
%17:i64 = sub %15, %16
%18:i1 = slt 18446744073709551615:i64, %17
%19:i64 = select %18, %17, %15
%20:i64 = phi %1, %19, %15
%21:i64 = var
%22:i64 = shl %21, 1:i64
%23:i64 = phi %1, %16, %14
%24:i64 = addnsw 18446744073709551615:i64, %23
%25:i64 = sub %22, %24
%26:i64 = ashr %25, 63:i64
%27:i64 = and %24, %26
%28:i64 = add %25, %27
%29:i64 = phi %0, %20, %28
%30:i64 = addnsw 18446744073709551615:i64, %12
%31:i64 = and 63:i64, %30
%32:i64 = shlnuw 1:i64, %31
%33:i64 = shlnuw 1:i64, %13
%34:i64 = phi %1, %32, %33
%35:i64 = add 18446744073709551615:i64, %34
%36:i64 = and %29, %35
infer %36
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = ctlz %2
%6:i64 = subnsw %4, %5
%7:i64 = and 4294967295:i64, %6
%8:i64 = and 63:i64, %6
%9:i64 = shl %3, %8
%10:i1 = ult %2, %9
%11:i64 = select %10, 18446744073709551615:i64, 0:i64
%12:i64 = addnsw %7, %11
%13:i64 = and 63:i64, %12
%14:i64 = shl %3, %13
%15:i64 = sub %2, %14
%16:i64 = lshr %14, 1:i64
%17:i64 = sub %15, %16
%18:i1 = slt 18446744073709551615:i64, %17
%19:i64 = select %18, %17, %15
%20:i64 = phi %1, %19, %15
%21:i64 = var
%22:i64 = shl %21, 1:i64
%23:i64 = phi %1, %16, %14
%24:i64 = addnsw 18446744073709551615:i64, %23
%25:i64 = sub %22, %24
%26:i64 = ashr %25, 63:i64
%27:i64 = and %24, %26
%28:i64 = add %25, %27
%29:i64 = phi %0, %20, %28
%30:i64 = addnsw 18446744073709551615:i64, %12
%31:i64 = phi %1, %30, %12
%32:i64 = and 63:i64, %31
%33:i64 = lshr %29, %32
infer %33
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = ctlz %2
%6:i64 = subnsw %4, %5
%7:i64 = and 4294967295:i64, %6
%8:i64 = and 63:i64, %6
%9:i64 = shl %3, %8
%10:i1 = ult %2, %9
%11:i64 = select %10, 18446744073709551615:i64, 0:i64
%12:i64 = addnsw %7, %11
%13:i64 = and 63:i64, %12
%14:i64 = shl %3, %13
%15:i64 = sub %2, %14
%16:i64 = lshr %14, 1:i64
%17:i64 = sub %15, %16
%18:i1 = slt 18446744073709551615:i64, %17
%19:i64 = select %18, %17, %15
%20:i64 = phi %1, %19, %15
%21:i64 = var
%22:i64 = shl %21, 1:i64
%23:i64 = phi %1, %16, %14
%24:i64 = addnsw 18446744073709551615:i64, %23
%25:i64 = sub %22, %24
%26:i64 = ashr %25, 63:i64
%27:i64 = and %24, %26
%28:i64 = add %25, %27 (hasExternalUses)
%29:i64 = phi %0, %20, %28
infer %29
>
<noinfer> <>
<sprofile > <18>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = phi %1, %2, %3
%5:i32 = trunc %4
%6:i32 = sub 0:i32, %5
%7:i64 = var
%8:i32 = trunc %7
%9:i32 = sub 0:i32, %8 (hasExternalUses)
%10:i32 = phi %0, %6, %9
infer %10
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = phi %1, %2, %3
%5:i64 = phi %0, %4, %3
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = phi %1, %2, %3
%5:i64 = phi %0, 0:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = phi %1, %2, %3
%5:i64 = var
%6 = block 2
%7:i64 = var
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %6, %8, %7
%10:i64 = and 63:i64, %9
%11:i64 = lshr %5, %10
%12:i64 = phi %0, %4, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = phi %1, %2, %5
%7:i64 = var
%8:i64 = phi %1, 4096:i64, %7
%9:i64 = phi %0, %6, %8
%10:i1 = ult %9, 24:i64
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = phi %1, %2, %5
%7:i64 = var
%8:i64 = phi %1, 4096:i64, %7
%9:i64 = phi %0, %6, %8
%10:i1 = ult %9, 24:i64
pc %10 0:i1
%11:i64 = udiv %9, 24:i64
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var
%4:i64 = var
%5:i64 = add %3, %4
%6:i64 = phi %1, %2, %5
%7:i64 = var
%8:i64 = phi %1, 4096:i64, %7
%9:i64 = phi %0, %6, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var (knownBits=0000000000000000000000000000000000000000000000000000000000001000) (nonNegative) (nonZero) (signBits=60)
%4:i64 = phi %1, %2, %3
%5:i64 = var (knownBits=0000000000000000000000000000000000000000000000000000000000001000) (nonNegative) (nonZero) (signBits=60)
%6:i64 = phi %0, %4, %5
%7:i1 = ne 0:i64, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var
%3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000xxxxxxxx) (nonNegative) (signBits=56) (range=[0,256))
%4:i64 = add %2, %3
%5:i64 = phi %1, %4, %2
%6:i64 = phi %0, 0:i64, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%3:i64 = phi %1, 0:i64, %2
%4 = block 2
%5:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%6:i64 = phi %4, 2:i64, %5
%7:i64 = phi %0, %3, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%3:i64 = phi %1, 2:i64, %2
%4 = block 2
%5 = block 2
%6:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%7:i64 = phi %5, 0:i64, %6
%8:i64 = phi %4, %7, %3
%9:i64 = phi %0, %3, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%3:i64 = phi %1, 2:i64, %2
%4 = block 2
%5:i64 = phi %4, %2, %3
%6:i64 = phi %0, %3, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%3:i64 = phi %1, 2:i64, %2
%4 = block 2
%5:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%6:i64 = phi %4, %5, %3
%7:i64 = phi %0, %3, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%3:i64 = add 18446744073709551613:i64, %2
%4:i64 = phi %1, %3, 19:i64
%5:i64 = addnsw 18446744073709551614:i64, %2
%6:i64 = phi %0, %4, %5
%7:i64 = subnw 20:i64, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%3:i64 = add 18446744073709551613:i64, %2
%4:i64 = phi %1, %3, 19:i64
%5:i64 = addnsw 18446744073709551614:i64, %2 (hasExternalUses)
%6:i64 = phi %0, %4, %5
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%3:i64 = add 18446744073709551615:i64, %2
%4:i64 = phi %1, %3, %2
%5:i64 = subnw 20:i64, %4
%6:i64 = phi %0, 1:i64, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%3:i64 = addnsw 18446744073709551614:i64, %2
%4:i64 = phi %1, 20:i64, %3
%5:i64 = add 18446744073709551615:i64, %4
%6:i64 = phi %0, %5, %4
%7:i64 = subnw 20:i64, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%3:i64 = addnsw 18446744073709551614:i64, %2
%4:i64 = phi %1, 20:i64, %3
%5:i64 = add 18446744073709551615:i64, %4 (hasExternalUses)
%6:i64 = phi %0, %5, %4
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (range=[0,-1))
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = phi %0, 0:i64, %5
%7 = block 3
%8:i64 = var (nonZero)
%9:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero)
%10:i64 = sub %8, %9
%11:i64 = var (nonZero)
%12:i64 = sub %11, %9
%13:i64 = var
%14:i64 = sub %13, %9
%15:i64 = phi %7, %10, %12, %14
%16:i64 = udiv %15, 112:i64
%17:i64 = add %6, %16
infer %17
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (range=[0,-1))
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = phi %0, 0:i64, %5
%7 = block 3
%8:i64 = var (nonZero)
%9:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero)
%10:i64 = sub %8, %9
%11:i64 = var (nonZero)
%12:i64 = sub %11, %9
%13:i64 = var
%14:i64 = sub %13, %9
%15:i64 = phi %7, %10, %12, %14
%16:i64 = udiv %15, 112:i64
%17:i64 = add %6, %16 (hasExternalUses)
%18:i1 = ult %17, %3
infer %18
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (range=[0,-1))
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = phi %0, 0:i64, %5
%7 = block 3
%8:i64 = var (nonZero)
%9:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero)
%10:i64 = sub %8, %9
%11:i64 = var (nonZero)
%12:i64 = sub %11, %9
%13:i64 = var
%14:i64 = sub %13, %9
%15:i64 = phi %7, %10, %12, %14
%16:i64 = udiv %15, 112:i64
%17:i64 = add %6, %16 (hasExternalUses)
%18:i1 = ult %17, %3
pc %18 1:i1
%19:i64 = var
%20:i1 = ule %19, %6
%21:i8 = zext %20
infer %21
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (range=[0,-1))
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = phi %0, 0:i64, %5
%7 = block 3
%8:i64 = var (nonZero)
%9:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero)
%10:i64 = sub %8, %9
%11:i64 = var (nonZero)
%12:i64 = sub %11, %9
%13:i64 = var
%14:i64 = sub %13, %9
%15:i64 = phi %7, %10, %12, %14
%16:i64 = udiv %15, 112:i64
%17:i64 = add %6, %16 (hasExternalUses)
%18:i1 = ult %17, %3
pc %18 1:i1
%19:i64 = var
%20:i1 = ule %19, %6
infer %20
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (range=[0,-1))
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = phi %0, 0:i64, %5
%7:i64 = var
%8:i1 = ult %6, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (range=[0,-1))
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = phi %0, 0:i64, %5
%7:i64 = var
%8:i1 = ult %6, %7
pc %8 1:i1
%9:i64 = add 18446744073709551615:i64, %7
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i64 = var (range=[0,-1))
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %1, %2, %4
%6:i64 = phi %0, 0:i64, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = phi %1, 0:i8, 1:i8
%3:i8 = phi %0, 0:i8, %2
%4:i8 = and 1:i8, %3
%5:i1 = eq 0:i8, %4
infer %5
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = phi %1, 0:i8, 1:i8
%3:i8 = phi %0, 0:i8, %2
%4:i8 = and 1:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = phi %1, 0:i8, 1:i8
%3:i8 = phi %0, 0:i8, %2
infer %3 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = phi %1, 1:i8, 0:i8
%3:i8 = phi %0, %2, 0:i8
%4:i1 = eq 0:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = phi %1, 1:i8, 0:i8
%3:i8 = phi %0, %2, 0:i8
infer %3
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = phi %1, 3:i8, 1:i8
%3 = block 6
%4:i8 = phi %3, 0:i8, 1:i8, 2:i8, 0:i8, 1:i8, 2:i8
%5:i8 = phi %0, %2, %4
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = var
%3:i8 = and 1:i8, %2
%4:i8 = phi %1, 1:i8, %3
%5:i8 = phi %0, 0:i8, %4
%6:i8 = and 1:i8, %5
infer %6
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = var
%3:i8 = and 1:i8, %2
%4:i8 = phi %1, 1:i8, %3
%5:i8 = phi %0, 0:i8, %4
infer %5 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = var
%3:i8 = var
%4:i1 = ne %2, %3
%5:i1 = phi %1, %4, 0:i1
%6:i1 = phi %0, %5, 1:i1
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 2
%2:i8 = var (range=[-1,2))
%3:i8 = phi %1, 0:i8, %2
%4:i8 = phi %0, %3, 0:i8
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = addnw 24:i32, %5
%7:i32 = and 31:i32, %6
%8:i32 = shl %4, %7
%9:i32 = phi %2, %8, %4
%10:i32 = phi %1, %9, %9, %4
%11:i32 = or 8388608:i32, %10
%12:i64 = zext %11
%13:i32 = var
%14:i32 = and 8388607:i32, %13
%15:i32 = ctlz %14
%16:i32 = addnw 24:i32, %15
%17:i32 = and 31:i32, %16
%18:i32 = shl %14, %17
%19:i32 = phi %1, %18, %14, %14
%20:i32 = shl %19, 8:i32
%21:i32 = or 2147483648:i32, %20
%22:i64 = zext %21
%23:i64 = mulnuw %12, %22
%24:i64 = lshr %23, 32:i64
%25:i32 = trunc %24 (hasExternalUses)
%26:i32 = trunc %23 (hasExternalUses)
%27:i32 = lshr %26, 31:i32
%28:i64 = shlnw %24, 1:i64
%29:i32 = trunc %28
%30:i32 = or %27, %29
%31:i32 = phi %0, %25, %30
infer %31
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = addnw 24:i32, %5
%7:i32 = and 31:i32, %6
%8:i32 = shl %4, %7
%9:i32 = phi %2, %8, %4
%10:i32 = phi %1, %9, %9, %4
%11:i32 = or 8388608:i32, %10
%12:i64 = zext %11
%13:i32 = var
%14:i32 = and 8388607:i32, %13
%15:i32 = ctlz %14
%16:i32 = addnw 24:i32, %15
%17:i32 = and 31:i32, %16
%18:i32 = shl %14, %17
%19:i32 = phi %1, %18, %14, %14
%20:i32 = shl %19, 8:i32
%21:i32 = or 2147483648:i32, %20
%22:i64 = zext %21
%23:i64 = mulnuw %12, %22 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = shl %24, 1:i32
%26:i32 = phi %0, %24, %25
infer %26
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = addnw 24:i32, %5
%7:i32 = and 31:i32, %6
%8:i32 = shl %4, %7
%9:i32 = phi %2, %8, %4
%10:i32 = phi %1, %9, %9, %4
%11:i32 = shl %10, 24:i32
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %1, %17, %13, %13
%19:i32 = or 8388608:i32, %18 (hasExternalUses)
%20:i32 = shl %19, 8:i32
%21:i32 = sub 1963258675:i32, %20
%22:i64 = zext %21
%23:i64 = zext %20
%24:i64 = mulnuw %22, %23
%25:i64 = lshr %24, 32:i64
%26:i64 = subnsw 0:i64, %25
%27:i64 = and 4294967295:i64, %26
%28:i64 = mulnuw %27, %22
%29:i64 = lshr %28, 31:i64
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %23
%32:i64 = lshr %31, 32:i64
%33:i64 = subnsw 0:i64, %32
%34:i64 = and 4294967295:i64, %33
%35:i64 = mulnuw %34, %30
%36:i64 = lshr %35, 31:i64
%37:i64 = and 4294967295:i64, %36
%38:i64 = mulnuw %37, %23
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %37
%43:i64 = lshr %42, 31:i64
%44:i64 = addnw 4294967294:i64, %43
%45:i64 = and 4294967295:i64, %44
%46:i32 = shl %10, 1:i32
%47:i32 = or 16777216:i32, %46
%48:i64 = zext %47
%49:i64 = mulnuw %45, %48
%50:i64 = lshr %49, 32:i64
%51:i32 = trunc %50 (hasExternalUses)
%52:i32 = mul %19, %51
%53:i32 = sub %11, %52
%54:i32 = shl %10, 23:i32
%55:i64 = lshr %49, 33:i64
%56:i32 = trunc %55 (hasExternalUses)
%57:i32 = mul %19, %56
%58:i32 = sub %54, %57
%59:i32 = phi %0, %53, %58
infer %59 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21
infer %22
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
infer %23
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
infer %24
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %10
%26:i32 = and 31:i32, %25
%27:i32 = shl %9, %26
%28:i32 = phi %1, %27, %9, %9
%29:i32 = or 8388608:i32, %28
%30:i32 = shl %29, 8:i32
%31:i32 = sub 1963258675:i32, %30
%32:i64 = zext %31
%33:i64 = zext %30
%34:i64 = mulnuw %32, %33
%35:i64 = lshr %34, 32:i64
%36:i64 = subnsw 0:i64, %35
%37:i64 = and 4294967295:i64, %36
%38:i64 = mulnuw %37, %32
%39:i64 = lshr %38, 31:i64
%40:i64 = and 4294967295:i64, %39
%41:i64 = mulnuw %40, %33
%42:i64 = lshr %41, 32:i64
%43:i64 = subnsw 0:i64, %42
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %40
%46:i64 = lshr %45, 31:i64
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %33
%49:i64 = lshr %48, 32:i64
%50:i64 = subnsw 0:i64, %49
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %47
%53:i64 = lshr %52, 31:i64
%54:i64 = addnw 4294967294:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i32 = addnw 24:i32, %5
%57:i32 = and 31:i32, %56
%58:i32 = shl %4, %57
%59:i32 = phi %2, %58, %4
%60:i32 = phi %1, %59, %59, %4
%61:i32 = shl %60, 1:i32
%62:i32 = or 16777216:i32, %61
%63:i64 = zext %62
%64:i64 = mulnuw %55, %63
%65:i64 = lshr %64, 32:i64
%66:i32 = trunc %65
%67:i64 = lshr %64, 33:i64
%68:i32 = trunc %67
%69:i32 = phi %0, %66, %68
%70:i32 = and 8388607:i32, %69
%71:i32 = shlnw %22, 23:i32
%72:i32 = or %70, %71
infer %72
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %10
%26:i32 = and 31:i32, %25
%27:i32 = shl %9, %26
%28:i32 = phi %1, %27, %9, %9
%29:i32 = or 8388608:i32, %28
%30:i32 = shl %29, 8:i32
%31:i32 = sub 1963258675:i32, %30
%32:i64 = zext %31
%33:i64 = zext %30
%34:i64 = mulnuw %32, %33
%35:i64 = lshr %34, 32:i64
%36:i64 = subnsw 0:i64, %35
%37:i64 = and 4294967295:i64, %36
%38:i64 = mulnuw %37, %32
%39:i64 = lshr %38, 31:i64
%40:i64 = and 4294967295:i64, %39
%41:i64 = mulnuw %40, %33
%42:i64 = lshr %41, 32:i64
%43:i64 = subnsw 0:i64, %42
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %40
%46:i64 = lshr %45, 31:i64
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %33
%49:i64 = lshr %48, 32:i64
%50:i64 = subnsw 0:i64, %49
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %47
%53:i64 = lshr %52, 31:i64
%54:i64 = addnw 4294967294:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i32 = addnw 24:i32, %5
%57:i32 = and 31:i32, %56
%58:i32 = shl %4, %57
%59:i32 = phi %2, %58, %4
%60:i32 = phi %1, %59, %59, %4
%61:i32 = shl %60, 1:i32
%62:i32 = or 16777216:i32, %61
%63:i64 = zext %62
%64:i64 = mulnuw %55, %63
%65:i64 = lshr %64, 32:i64
%66:i32 = trunc %65
%67:i64 = lshr %64, 33:i64
%68:i32 = trunc %67
%69:i32 = phi %0, %66, %68
%70:i32 = and 8388607:i32, %69
infer %70
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %10
%26:i32 = and 31:i32, %25
%27:i32 = shl %9, %26
%28:i32 = phi %1, %27, %9, %9
%29:i32 = or 8388608:i32, %28 (hasExternalUses)
%30:i32 = addnw 24:i32, %5
%31:i32 = and 31:i32, %30
%32:i32 = shl %4, %31
%33:i32 = phi %2, %32, %4
%34:i32 = phi %1, %33, %33, %4
%35:i32 = shl %34, 24:i32
%36:i32 = shl %29, 8:i32
%37:i32 = sub 1963258675:i32, %36
%38:i64 = zext %37
%39:i64 = zext %36
%40:i64 = mulnuw %38, %39
%41:i64 = lshr %40, 32:i64
%42:i64 = subnsw 0:i64, %41
%43:i64 = and 4294967295:i64, %42
%44:i64 = mulnuw %43, %38
%45:i64 = lshr %44, 31:i64
%46:i64 = and 4294967295:i64, %45
%47:i64 = mulnuw %46, %39
%48:i64 = lshr %47, 32:i64
%49:i64 = subnsw 0:i64, %48
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %46
%52:i64 = lshr %51, 31:i64
%53:i64 = and 4294967295:i64, %52
%54:i64 = mulnuw %53, %39
%55:i64 = lshr %54, 32:i64
%56:i64 = subnsw 0:i64, %55
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %53
%59:i64 = lshr %58, 31:i64
%60:i64 = addnw 4294967294:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i32 = shl %34, 1:i32
%63:i32 = or 16777216:i32, %62
%64:i64 = zext %63
%65:i64 = mulnuw %61, %64
%66:i64 = lshr %65, 32:i64
%67:i32 = trunc %66
%68:i32 = mul %29, %67
%69:i32 = sub %35, %68
%70:i32 = shl %34, 23:i32
%71:i64 = lshr %65, 33:i64
%72:i32 = trunc %71
%73:i32 = mul %29, %72
%74:i32 = sub %70, %73
%75:i32 = phi %0, %69, %74
%76:i32 = shl %75, 1:i32
%77:i1 = ult %29, %76
%78:i32 = zext %77
infer %78
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %10
%26:i32 = and 31:i32, %25
%27:i32 = shl %9, %26
%28:i32 = phi %1, %27, %9, %9
%29:i32 = or 8388608:i32, %28 (hasExternalUses)
%30:i32 = addnw 24:i32, %5
%31:i32 = and 31:i32, %30
%32:i32 = shl %4, %31
%33:i32 = phi %2, %32, %4
%34:i32 = phi %1, %33, %33, %4
%35:i32 = shl %34, 24:i32
%36:i32 = shl %29, 8:i32
%37:i32 = sub 1963258675:i32, %36
%38:i64 = zext %37
%39:i64 = zext %36
%40:i64 = mulnuw %38, %39
%41:i64 = lshr %40, 32:i64
%42:i64 = subnsw 0:i64, %41
%43:i64 = and 4294967295:i64, %42
%44:i64 = mulnuw %43, %38
%45:i64 = lshr %44, 31:i64
%46:i64 = and 4294967295:i64, %45
%47:i64 = mulnuw %46, %39
%48:i64 = lshr %47, 32:i64
%49:i64 = subnsw 0:i64, %48
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %46
%52:i64 = lshr %51, 31:i64
%53:i64 = and 4294967295:i64, %52
%54:i64 = mulnuw %53, %39
%55:i64 = lshr %54, 32:i64
%56:i64 = subnsw 0:i64, %55
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %53
%59:i64 = lshr %58, 31:i64
%60:i64 = addnw 4294967294:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i32 = shl %34, 1:i32
%63:i32 = or 16777216:i32, %62
%64:i64 = zext %63
%65:i64 = mulnuw %61, %64
%66:i64 = lshr %65, 32:i64
%67:i32 = trunc %66
%68:i32 = mul %29, %67
%69:i32 = sub %35, %68
%70:i32 = shl %34, 23:i32
%71:i64 = lshr %65, 33:i64
%72:i32 = trunc %71
%73:i32 = mul %29, %72
%74:i32 = sub %70, %73
%75:i32 = phi %0, %69, %74
%76:i32 = shl %75, 1:i32
%77:i1 = ult %29, %76
infer %77
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %10
%26:i32 = and 31:i32, %25
%27:i32 = shl %9, %26
%28:i32 = phi %1, %27, %9, %9
%29:i32 = or 8388608:i32, %28 (hasExternalUses)
%30:i32 = shl %29, 8:i32
%31:i32 = sub 1963258675:i32, %30
%32:i64 = zext %31
%33:i64 = zext %30
%34:i64 = mulnuw %32, %33
%35:i64 = lshr %34, 32:i64
%36:i64 = subnsw 0:i64, %35
%37:i64 = and 4294967295:i64, %36
%38:i64 = mulnuw %37, %32
%39:i64 = lshr %38, 31:i64
%40:i64 = and 4294967295:i64, %39
%41:i64 = mulnuw %40, %33
%42:i64 = lshr %41, 32:i64
%43:i64 = subnsw 0:i64, %42
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %40
%46:i64 = lshr %45, 31:i64
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %33
%49:i64 = lshr %48, 32:i64
%50:i64 = subnsw 0:i64, %49
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %47
%53:i64 = lshr %52, 31:i64
%54:i64 = addnw 4294967294:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i32 = addnw 24:i32, %5
%57:i32 = and 31:i32, %56
%58:i32 = shl %4, %57
%59:i32 = phi %2, %58, %4
%60:i32 = phi %1, %59, %59, %4
%61:i32 = shl %60, 1:i32
%62:i32 = or 16777216:i32, %61
%63:i64 = zext %62
%64:i64 = mulnuw %55, %63
%65:i64 = lshr %64, 32:i64
%66:i32 = trunc %65
%67:i64 = lshr %64, 33:i64
%68:i32 = trunc %67
%69:i32 = phi %0, %66, %68
%70:i32 = and 8388607:i32, %69
%71:i32 = shlnw %22, 23:i32
%72:i32 = or %70, %71
%73:i32 = shl %60, 24:i32
%74:i32 = mul %29, %66
%75:i32 = sub %73, %74
%76:i32 = shl %60, 23:i32
%77:i32 = mul %29, %68
%78:i32 = sub %76, %77
%79:i32 = phi %0, %75, %78
%80:i32 = shl %79, 1:i32
%81:i1 = ult %29, %80
%82:i32 = zext %81
%83:i32 = add %72, %82
%84:i32 = xor %3, %8
%85:i32 = and 2147483648:i32, %84 (hasExternalUses)
%86:i32 = or %83, %85
infer %86
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %10
%26:i32 = and 31:i32, %25
%27:i32 = shl %9, %26
%28:i32 = phi %1, %27, %9, %9
%29:i32 = or 8388608:i32, %28 (hasExternalUses)
%30:i32 = shl %29, 8:i32
%31:i32 = sub 1963258675:i32, %30
%32:i64 = zext %31
%33:i64 = zext %30
%34:i64 = mulnuw %32, %33
%35:i64 = lshr %34, 32:i64
%36:i64 = subnsw 0:i64, %35
%37:i64 = and 4294967295:i64, %36
%38:i64 = mulnuw %37, %32
%39:i64 = lshr %38, 31:i64
%40:i64 = and 4294967295:i64, %39
%41:i64 = mulnuw %40, %33
%42:i64 = lshr %41, 32:i64
%43:i64 = subnsw 0:i64, %42
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %40
%46:i64 = lshr %45, 31:i64
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %33
%49:i64 = lshr %48, 32:i64
%50:i64 = subnsw 0:i64, %49
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %47
%53:i64 = lshr %52, 31:i64
%54:i64 = addnw 4294967294:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i32 = addnw 24:i32, %5
%57:i32 = and 31:i32, %56
%58:i32 = shl %4, %57
%59:i32 = phi %2, %58, %4
%60:i32 = phi %1, %59, %59, %4
%61:i32 = shl %60, 1:i32
%62:i32 = or 16777216:i32, %61
%63:i64 = zext %62
%64:i64 = mulnuw %55, %63
%65:i64 = lshr %64, 32:i64
%66:i32 = trunc %65
%67:i64 = lshr %64, 33:i64
%68:i32 = trunc %67
%69:i32 = phi %0, %66, %68
%70:i32 = and 8388607:i32, %69
%71:i32 = shlnw %22, 23:i32
%72:i32 = or %70, %71
%73:i32 = shl %60, 24:i32
%74:i32 = mul %29, %66
%75:i32 = sub %73, %74
%76:i32 = shl %60, 23:i32
%77:i32 = mul %29, %68
%78:i32 = sub %76, %77
%79:i32 = phi %0, %75, %78
%80:i32 = shl %79, 1:i32
%81:i1 = ult %29, %80
%82:i32 = zext %81
%83:i32 = add %72, %82
infer %83
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %5
%26:i32 = and 31:i32, %25
%27:i32 = shl %4, %26
%28:i32 = phi %2, %27, %4
%29:i32 = phi %1, %28, %28, %4
%30:i32 = shl %29, 24:i32
%31:i32 = addnw 24:i32, %10
%32:i32 = and 31:i32, %31
%33:i32 = shl %9, %32
%34:i32 = phi %1, %33, %9, %9
%35:i32 = or 8388608:i32, %34
%36:i32 = shl %35, 8:i32
%37:i32 = sub 1963258675:i32, %36
%38:i64 = zext %37
%39:i64 = zext %36
%40:i64 = mulnuw %38, %39
%41:i64 = lshr %40, 32:i64
%42:i64 = subnsw 0:i64, %41
%43:i64 = and 4294967295:i64, %42
%44:i64 = mulnuw %43, %38
%45:i64 = lshr %44, 31:i64
%46:i64 = and 4294967295:i64, %45
%47:i64 = mulnuw %46, %39
%48:i64 = lshr %47, 32:i64
%49:i64 = subnsw 0:i64, %48
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %46
%52:i64 = lshr %51, 31:i64
%53:i64 = and 4294967295:i64, %52
%54:i64 = mulnuw %53, %39
%55:i64 = lshr %54, 32:i64
%56:i64 = subnsw 0:i64, %55
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %53
%59:i64 = lshr %58, 31:i64
%60:i64 = addnw 4294967294:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i32 = shl %29, 1:i32
%63:i32 = or 16777216:i32, %62
%64:i64 = zext %63
%65:i64 = mulnuw %61, %64
%66:i64 = lshr %65, 32:i64
%67:i32 = trunc %66
%68:i32 = mul %35, %67
%69:i32 = sub %30, %68
%70:i32 = shl %29, 23:i32
%71:i64 = lshr %65, 33:i64
%72:i32 = trunc %71
%73:i32 = mul %35, %72
%74:i32 = sub %70, %73
%75:i32 = phi %0, %69, %74
%76:i32 = shl %75, 1:i32
infer %76
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = shlnw %22, 23:i32
infer %25
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
%22:i32 = add 127:i32, %21 (hasExternalUses)
%23:i1 = slt 254:i32, %22
pc %23 1:i1
%24:i32 = xor %3, %8
%25:i32 = and 2147483648:i32, %24 (hasExternalUses)
%26:i32 = or 2139095040:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnsw 4294967287:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14 (hasExternalUses)
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16 (hasExternalUses)
%18:i32 = subnsw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = phi %0, %20, %19
infer %21
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
infer %23
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
infer %24
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %5
%26:i32 = and 31:i32, %25
%27:i32 = shl %4, %26
%28:i32 = phi %2, %27, %4
%29:i32 = phi %1, %28, %28, %4
%30:i32 = or 8388608:i32, %29
%31:i64 = zext %30
%32:i32 = addnw 24:i32, %10
%33:i32 = and 31:i32, %32
%34:i32 = shl %9, %33
%35:i32 = phi %1, %34, %9, %9
%36:i32 = shl %35, 8:i32
%37:i32 = or 2147483648:i32, %36
%38:i64 = zext %37
%39:i64 = mulnuw %31, %38
%40:i64 = lshr %39, 32:i64
%41:i32 = trunc %40
%42:i32 = trunc %39
%43:i32 = lshr %42, 31:i32
%44:i64 = shlnw %40, 1:i64
%45:i32 = trunc %44
%46:i32 = or %43, %45
%47:i32 = phi %0, %41, %46
%48:i32 = and 8388607:i32, %47
%49:i32 = shlnw %22, 23:i32
%50:i32 = or %48, %49
infer %50
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = addnw 24:i32, %5
%26:i32 = and 31:i32, %25
%27:i32 = shl %4, %26
%28:i32 = phi %2, %27, %4
%29:i32 = phi %1, %28, %28, %4
%30:i32 = or 8388608:i32, %29
%31:i64 = zext %30
%32:i32 = addnw 24:i32, %10
%33:i32 = and 31:i32, %32
%34:i32 = shl %9, %33
%35:i32 = phi %1, %34, %9, %9
%36:i32 = shl %35, 8:i32
%37:i32 = or 2147483648:i32, %36
%38:i64 = zext %37
%39:i64 = mulnuw %31, %38
%40:i64 = lshr %39, 32:i64
%41:i32 = trunc %40
%42:i32 = trunc %39
%43:i32 = lshr %42, 31:i32
%44:i64 = shlnw %40, 1:i64
%45:i32 = trunc %44
%46:i32 = or %43, %45
%47:i32 = phi %0, %41, %46
%48:i32 = and 8388607:i32, %47
infer %48
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 0:i1
%25:i32 = shlnw %22, 23:i32
infer %25
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22
infer %25
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22 (hasExternalUses)
%26:i1 = ult 31:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22 (hasExternalUses)
%26:i1 = ult 31:i32, %25
pc %26 0:i1
%27:i32 = addnsw 31:i32, %22
infer %27
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22 (hasExternalUses)
%26:i1 = ult 31:i32, %25
pc %26 0:i1
%27:i32 = addnw 24:i32, %5
%28:i32 = and 31:i32, %27
%29:i32 = shl %4, %28
%30:i32 = phi %2, %29, %4
%31:i32 = phi %1, %30, %30, %4
%32:i32 = or 8388608:i32, %31
%33:i64 = zext %32
%34:i32 = addnw 24:i32, %10
%35:i32 = and 31:i32, %34
%36:i32 = shl %9, %35
%37:i32 = phi %1, %36, %9, %9
%38:i32 = shl %37, 8:i32
%39:i32 = or 2147483648:i32, %38
%40:i64 = zext %39
%41:i64 = mulnuw %33, %40
%42:i32 = trunc %41
%43:i32 = shl %42, 1:i32
%44:i32 = phi %0, %42, %43
%45:i32 = addnsw 31:i32, %22 (hasExternalUses)
%46:i32 = shl %44, %45
infer %46
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22 (hasExternalUses)
%26:i1 = ult 31:i32, %25
pc %26 0:i1
%27:i32 = addnw 24:i32, %5
%28:i32 = and 31:i32, %27
%29:i32 = shl %4, %28
%30:i32 = phi %2, %29, %4
%31:i32 = phi %1, %30, %30, %4
%32:i32 = or 8388608:i32, %31
%33:i64 = zext %32
%34:i32 = addnw 24:i32, %10
%35:i32 = and 31:i32, %34
%36:i32 = shl %9, %35
%37:i32 = phi %1, %36, %9, %9
%38:i32 = shl %37, 8:i32
%39:i32 = or 2147483648:i32, %38
%40:i64 = zext %39
%41:i64 = mulnuw %33, %40
%42:i32 = trunc %41
%43:i32 = shl %42, 1:i32
%44:i32 = phi %0, %42, %43
%45:i32 = lshr %44, %25
infer %45
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22 (hasExternalUses)
%26:i1 = ult 31:i32, %25
pc %26 0:i1
%27:i32 = addnw 24:i32, %5
%28:i32 = and 31:i32, %27
%29:i32 = shl %4, %28
%30:i32 = phi %2, %29, %4
%31:i32 = phi %1, %30, %30, %4
%32:i32 = or 8388608:i32, %31
%33:i64 = zext %32
%34:i32 = addnw 24:i32, %10
%35:i32 = and 31:i32, %34
%36:i32 = shl %9, %35
%37:i32 = phi %1, %36, %9, %9
%38:i32 = shl %37, 8:i32
%39:i32 = or 2147483648:i32, %38
%40:i64 = zext %39
%41:i64 = mulnuw %33, %40
%42:i64 = lshr %41, 32:i64
%43:i32 = trunc %42
%44:i32 = trunc %41
%45:i32 = lshr %44, 31:i32
%46:i64 = shlnw %42, 1:i64
%47:i32 = trunc %46
%48:i32 = or %45, %47
%49:i32 = phi %0, %43, %48
%50:i32 = addnsw 31:i32, %22
%51:i32 = shl %49, %50
%52:i32 = shl %44, 1:i32
%53:i32 = phi %0, %44, %52
%54:i32 = lshr %53, %25
%55:i32 = or %51, %54
%56:i32 = shl %53, %50
%57:i32 = or %55, %56
infer %57
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22 (hasExternalUses)
%26:i1 = ult 31:i32, %25
pc %26 0:i1
%27:i32 = addnw 24:i32, %5
%28:i32 = and 31:i32, %27
%29:i32 = shl %4, %28
%30:i32 = phi %2, %29, %4
%31:i32 = phi %1, %30, %30, %4
%32:i32 = or 8388608:i32, %31
%33:i64 = zext %32
%34:i32 = addnw 24:i32, %10
%35:i32 = and 31:i32, %34
%36:i32 = shl %9, %35
%37:i32 = phi %1, %36, %9, %9
%38:i32 = shl %37, 8:i32
%39:i32 = or 2147483648:i32, %38
%40:i64 = zext %39
%41:i64 = mulnuw %33, %40
%42:i64 = lshr %41, 32:i64
%43:i32 = trunc %42
%44:i32 = trunc %41
%45:i32 = lshr %44, 31:i32
%46:i64 = shlnw %42, 1:i64
%47:i32 = trunc %46
%48:i32 = or %45, %47
%49:i32 = phi %0, %43, %48
%50:i32 = addnsw 31:i32, %22 (hasExternalUses)
%51:i32 = shl %49, %50
%52:i32 = shl %44, 1:i32
%53:i32 = phi %0, %44, %52
%54:i32 = lshr %53, %25
%55:i32 = or %51, %54
infer %55
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22 (hasExternalUses)
%26:i1 = ult 31:i32, %25
pc %26 0:i1
%27:i32 = addnw 24:i32, %5
%28:i32 = and 31:i32, %27
%29:i32 = shl %4, %28
%30:i32 = phi %2, %29, %4
%31:i32 = phi %1, %30, %30, %4
%32:i32 = or 8388608:i32, %31
%33:i64 = zext %32
%34:i32 = addnw 24:i32, %10
%35:i32 = and 31:i32, %34
%36:i32 = shl %9, %35
%37:i32 = phi %1, %36, %9, %9
%38:i32 = shl %37, 8:i32
%39:i32 = or 2147483648:i32, %38
%40:i64 = zext %39
%41:i64 = mulnuw %33, %40
%42:i64 = lshr %41, 32:i64
%43:i32 = trunc %42
%44:i32 = trunc %41
%45:i32 = lshr %44, 31:i32
%46:i64 = shlnw %42, 1:i64
%47:i32 = trunc %46
%48:i32 = or %45, %47
%49:i32 = phi %0, %43, %48
%50:i32 = addnsw 31:i32, %22 (hasExternalUses)
%51:i32 = shl %49, %50
infer %51
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 0:i1
%24:i1 = slt %22, 1:i32
pc %24 1:i1
%25:i32 = sub 1:i32, %22 (hasExternalUses)
%26:i1 = ult 31:i32, %25
pc %26 0:i1
%27:i32 = addnw 24:i32, %5
%28:i32 = and 31:i32, %27
%29:i32 = shl %4, %28
%30:i32 = phi %2, %29, %4
%31:i32 = phi %1, %30, %30, %4
%32:i32 = or 8388608:i32, %31
%33:i64 = zext %32
%34:i32 = addnw 24:i32, %10
%35:i32 = and 31:i32, %34
%36:i32 = shl %9, %35
%37:i32 = phi %1, %36, %9, %9
%38:i32 = shl %37, 8:i32
%39:i32 = or 2147483648:i32, %38
%40:i64 = zext %39
%41:i64 = mulnuw %33, %40
%42:i64 = lshr %41, 32:i64
%43:i32 = trunc %42
%44:i32 = trunc %41
%45:i32 = lshr %44, 31:i32
%46:i64 = shlnw %42, 1:i64
%47:i32 = trunc %46
%48:i32 = or %45, %47
%49:i32 = phi %0, %43, %48
%50:i32 = lshr %49, %25
infer %50
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
%23:i1 = slt 254:i32, %22
pc %23 1:i1
%24:i32 = xor %3, %8
%25:i32 = and 2147483648:i32, %24 (hasExternalUses)
%26:i32 = or 2139095040:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i32 = var
%4:i32 = and 8388607:i32, %3
%5:i32 = ctlz %4
%6:i32 = subnsw 9:i32, %5
%7:i32 = phi %2, %6, 0:i32
%8:i32 = var
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = addnsw %7, %11
%13:i32 = phi %1, %12, %7, 0:i32
%14:i32 = lshr %3, 23:i32
%15:i32 = and 255:i32, %14 (hasExternalUses)
%16:i32 = lshr %8, 23:i32
%17:i32 = and 255:i32, %16 (hasExternalUses)
%18:i32 = addnw %15, %17
%19:i32 = addnsw %13, %18
%20:i32 = addnsw 4294967170:i32, %19
%21:i32 = addnsw 4294967169:i32, %19
%22:i32 = phi %0, %20, %21
infer %22
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
infer %27
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
infer %28
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = add 18446744073709551614:i64, %68
%70:i64 = and 4294967295:i64, %66
%71:i64 = mulnuw %59, %70
%72:i64 = lshr %71, 32:i64
%73:i64 = add %69, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
infer %89
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = and 4294967295:i64, %66
%70:i64 = mulnuw %59, %69
%71:i64 = lshr %70, 32:i64
%72:i64 = addnuw %68, %71
%73:i64 = add 18446744073709551614:i64, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
%90:i64 = zext %26
%91:i64 = shlnw %90, 52:i64
%92:i64 = or %89, %91
infer %92
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = and 4294967295:i64, %66
%70:i64 = mulnuw %59, %69
%71:i64 = lshr %70, 32:i64
%72:i64 = addnuw %68, %71
%73:i64 = add 18446744073709551614:i64, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
infer %89
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = addnw 53:i64, %5
%35:i64 = and 63:i64, %34
%36:i64 = shl %4, %35
%37:i64 = phi %2, %36, %4
%38:i64 = phi %1, %37, %37, %4
%39:i64 = shl %38, 53:i64
%40:i64 = lshr %33, 21:i64
%41:i64 = subnsw 1963258675:i64, %40
%42:i64 = and 4294967295:i64, %41
%43:i64 = and 4294967295:i64, %40
%44:i64 = mulnuw %42, %43
%45:i64 = lshr %44, 32:i64
%46:i64 = subnsw 0:i64, %45
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %42
%49:i64 = lshr %48, 31:i64
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %43
%52:i64 = lshr %51, 32:i64
%53:i64 = subnsw 0:i64, %52
%54:i64 = and 4294967295:i64, %53
%55:i64 = mulnuw %54, %50
%56:i64 = lshr %55, 31:i64
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %43
%59:i64 = lshr %58, 32:i64
%60:i64 = subnsw 0:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i64 = mulnuw %61, %57
%63:i64 = lshr %62, 31:i64
%64:i64 = addnw 4294967295:i64, %63
%65:i64 = and 4294967295:i64, %64
%66:i64 = mulnuw %65, %43
%67:i64 = shl %32, 11:i64
%68:i64 = and 4294965248:i64, %67
%69:i64 = mulnuw %68, %65
%70:i64 = lshr %69, 32:i64
%71:i64 = addnuw %66, %70
%72:i64 = sub 0:i64, %71
%73:i64 = lshr %72, 32:i64
%74:i64 = mulnuw %65, %73
%75:i64 = add 18446744073709551614:i64, %74
%76:i64 = and 4294967295:i64, %72
%77:i64 = mulnuw %65, %76
%78:i64 = lshr %77, 32:i64
%79:i64 = add %75, %78
%80:i128 = zext %79
%81:i64 = shl %38, 2:i64
%82:i64 = or 18014398509481984:i64, %81
%83:i128 = zext %82
%84:i128 = mulnuw %80, %83
%85:i128 = lshr %84, 64:i128
%86:i64 = trunc %85
%87:i64 = mul %33, %86
%88:i64 = sub %39, %87
%89:i64 = shl %38, 52:i64
%90:i128 = lshr %84, 65:i128
%91:i64 = trunc %90
%92:i64 = mul %33, %91
%93:i64 = sub %89, %92
%94:i64 = phi %0, %88, %93
%95:i64 = shl %94, 1:i64
%96:i1 = ult %33, %95
%97:i64 = zext %96
infer %97
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = addnw 53:i64, %5
%35:i64 = and 63:i64, %34
%36:i64 = shl %4, %35
%37:i64 = phi %2, %36, %4
%38:i64 = phi %1, %37, %37, %4
%39:i64 = shl %38, 53:i64
%40:i64 = lshr %33, 21:i64
%41:i64 = subnsw 1963258675:i64, %40
%42:i64 = and 4294967295:i64, %41
%43:i64 = and 4294967295:i64, %40
%44:i64 = mulnuw %42, %43
%45:i64 = lshr %44, 32:i64
%46:i64 = subnsw 0:i64, %45
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %42
%49:i64 = lshr %48, 31:i64
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %43
%52:i64 = lshr %51, 32:i64
%53:i64 = subnsw 0:i64, %52
%54:i64 = and 4294967295:i64, %53
%55:i64 = mulnuw %54, %50
%56:i64 = lshr %55, 31:i64
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %43
%59:i64 = lshr %58, 32:i64
%60:i64 = subnsw 0:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i64 = mulnuw %61, %57
%63:i64 = lshr %62, 31:i64
%64:i64 = addnw 4294967295:i64, %63
%65:i64 = and 4294967295:i64, %64
%66:i64 = mulnuw %65, %43
%67:i64 = shl %32, 11:i64
%68:i64 = and 4294965248:i64, %67
%69:i64 = mulnuw %68, %65
%70:i64 = lshr %69, 32:i64
%71:i64 = addnuw %66, %70
%72:i64 = sub 0:i64, %71
%73:i64 = lshr %72, 32:i64
%74:i64 = mulnuw %65, %73
%75:i64 = add 18446744073709551614:i64, %74
%76:i64 = and 4294967295:i64, %72
%77:i64 = mulnuw %65, %76
%78:i64 = lshr %77, 32:i64
%79:i64 = add %75, %78
%80:i128 = zext %79
%81:i64 = shl %38, 2:i64
%82:i64 = or 18014398509481984:i64, %81
%83:i128 = zext %82
%84:i128 = mulnuw %80, %83
%85:i128 = lshr %84, 64:i128
%86:i64 = trunc %85
%87:i64 = mul %33, %86
%88:i64 = sub %39, %87
%89:i64 = shl %38, 52:i64
%90:i128 = lshr %84, 65:i128
%91:i64 = trunc %90
%92:i64 = mul %33, %91
%93:i64 = sub %89, %92
%94:i64 = phi %0, %88, %93
%95:i64 = shl %94, 1:i64
%96:i1 = ult %33, %95
infer %96
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = addnw 53:i64, %5
%35:i64 = and 63:i64, %34
%36:i64 = shl %4, %35
%37:i64 = phi %2, %36, %4
%38:i64 = phi %1, %37, %37, %4
%39:i64 = shl %38, 53:i64
%40:i64 = lshr %33, 21:i64
%41:i64 = subnsw 1963258675:i64, %40
%42:i64 = and 4294967295:i64, %41
%43:i64 = and 4294967295:i64, %40
%44:i64 = mulnuw %42, %43
%45:i64 = lshr %44, 32:i64
%46:i64 = subnsw 0:i64, %45
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %42
%49:i64 = lshr %48, 31:i64
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %43
%52:i64 = lshr %51, 32:i64
%53:i64 = subnsw 0:i64, %52
%54:i64 = and 4294967295:i64, %53
%55:i64 = mulnuw %54, %50
%56:i64 = lshr %55, 31:i64
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %43
%59:i64 = lshr %58, 32:i64
%60:i64 = subnsw 0:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i64 = mulnuw %61, %57
%63:i64 = lshr %62, 31:i64
%64:i64 = addnw 4294967295:i64, %63
%65:i64 = and 4294967295:i64, %64
%66:i64 = mulnuw %65, %43
%67:i64 = shl %32, 11:i64
%68:i64 = and 4294965248:i64, %67
%69:i64 = mulnuw %68, %65
%70:i64 = lshr %69, 32:i64
%71:i64 = addnuw %66, %70
%72:i64 = sub 0:i64, %71
%73:i64 = lshr %72, 32:i64
%74:i64 = mulnuw %65, %73
%75:i64 = and 4294967295:i64, %72
%76:i64 = mulnuw %65, %75
%77:i64 = lshr %76, 32:i64
%78:i64 = addnuw %74, %77
%79:i64 = add 18446744073709551614:i64, %78
%80:i128 = zext %79
%81:i64 = shl %38, 2:i64
%82:i64 = or 18014398509481984:i64, %81
%83:i128 = zext %82
%84:i128 = mulnuw %80, %83
%85:i128 = lshr %84, 64:i128
%86:i64 = trunc %85
%87:i64 = mul %33, %86
%88:i64 = sub %39, %87
%89:i64 = shl %38, 52:i64
%90:i128 = lshr %84, 65:i128
%91:i64 = trunc %90
%92:i64 = mul %33, %91
%93:i64 = sub %89, %92
%94:i64 = phi %0, %88, %93
%95:i64 = shl %94, 1:i64
%96:i1 = ult %33, %95
%97:i64 = zext %96
infer %97
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = addnw 53:i64, %5
%35:i64 = and 63:i64, %34
%36:i64 = shl %4, %35
%37:i64 = phi %2, %36, %4
%38:i64 = phi %1, %37, %37, %4
%39:i64 = shl %38, 53:i64
%40:i64 = lshr %33, 21:i64
%41:i64 = subnsw 1963258675:i64, %40
%42:i64 = and 4294967295:i64, %41
%43:i64 = and 4294967295:i64, %40
%44:i64 = mulnuw %42, %43
%45:i64 = lshr %44, 32:i64
%46:i64 = subnsw 0:i64, %45
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %42
%49:i64 = lshr %48, 31:i64
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %43
%52:i64 = lshr %51, 32:i64
%53:i64 = subnsw 0:i64, %52
%54:i64 = and 4294967295:i64, %53
%55:i64 = mulnuw %54, %50
%56:i64 = lshr %55, 31:i64
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %43
%59:i64 = lshr %58, 32:i64
%60:i64 = subnsw 0:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i64 = mulnuw %61, %57
%63:i64 = lshr %62, 31:i64
%64:i64 = addnw 4294967295:i64, %63
%65:i64 = and 4294967295:i64, %64
%66:i64 = mulnuw %65, %43
%67:i64 = shl %32, 11:i64
%68:i64 = and 4294965248:i64, %67
%69:i64 = mulnuw %68, %65
%70:i64 = lshr %69, 32:i64
%71:i64 = addnuw %66, %70
%72:i64 = sub 0:i64, %71
%73:i64 = lshr %72, 32:i64
%74:i64 = mulnuw %65, %73
%75:i64 = and 4294967295:i64, %72
%76:i64 = mulnuw %65, %75
%77:i64 = lshr %76, 32:i64
%78:i64 = addnuw %74, %77
%79:i64 = add 18446744073709551614:i64, %78
%80:i128 = zext %79
%81:i64 = shl %38, 2:i64
%82:i64 = or 18014398509481984:i64, %81
%83:i128 = zext %82
%84:i128 = mulnuw %80, %83
%85:i128 = lshr %84, 64:i128
%86:i64 = trunc %85
%87:i64 = mul %33, %86
%88:i64 = sub %39, %87
%89:i64 = shl %38, 52:i64
%90:i128 = lshr %84, 65:i128
%91:i64 = trunc %90
%92:i64 = mul %33, %91
%93:i64 = sub %89, %92
%94:i64 = phi %0, %88, %93
%95:i64 = shl %94, 1:i64
%96:i1 = ult %33, %95
infer %96
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = add 18446744073709551614:i64, %68
%70:i64 = and 4294967295:i64, %66
%71:i64 = mulnuw %59, %70
%72:i64 = lshr %71, 32:i64
%73:i64 = add %69, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
%90:i64 = shl %79, 53:i64
%91:i64 = mul %33, %85
%92:i64 = sub %90, %91
%93:i64 = shl %79, 52:i64
%94:i64 = mul %33, %87
%95:i64 = sub %93, %94
%96:i64 = phi %0, %92, %95
%97:i64 = shl %96, 1:i64
%98:i1 = ult %33, %97
%99:i64 = zext %98
%100:i64 = addnw %89, %99
%101:i64 = zext %26
%102:i64 = shlnw %101, 52:i64
%103:i64 = addnuw %100, %102
%104:i64 = xor %3, %9
%105:i64 = and 9223372036854775808:i64, %104 (hasExternalUses)
%106:i64 = or %103, %105
infer %106
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = add 18446744073709551614:i64, %68
%70:i64 = and 4294967295:i64, %66
%71:i64 = mulnuw %59, %70
%72:i64 = lshr %71, 32:i64
%73:i64 = add %69, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
%90:i64 = shl %79, 53:i64
%91:i64 = mul %33, %85
%92:i64 = sub %90, %91
%93:i64 = shl %79, 52:i64
%94:i64 = mul %33, %87
%95:i64 = sub %93, %94
%96:i64 = phi %0, %92, %95
%97:i64 = shl %96, 1:i64
%98:i1 = ult %33, %97
%99:i64 = zext %98
%100:i64 = addnw %89, %99
%101:i64 = zext %26
%102:i64 = shlnw %101, 52:i64
%103:i64 = addnuw %100, %102
infer %103
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = add 18446744073709551614:i64, %68
%70:i64 = and 4294967295:i64, %66
%71:i64 = mulnuw %59, %70
%72:i64 = lshr %71, 32:i64
%73:i64 = add %69, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
%90:i64 = shl %79, 53:i64
%91:i64 = mul %33, %85
%92:i64 = sub %90, %91
%93:i64 = shl %79, 52:i64
%94:i64 = mul %33, %87
%95:i64 = sub %93, %94
%96:i64 = phi %0, %92, %95
%97:i64 = shl %96, 1:i64
%98:i1 = ult %33, %97
%99:i64 = zext %98
%100:i64 = addnw %89, %99
%101:i64 = zext %26
%102:i64 = shlnw %101, 52:i64
%103:i64 = addnw %100, %102
%104:i64 = xor %3, %9
%105:i64 = and 9223372036854775808:i64, %104 (hasExternalUses)
%106:i64 = or %103, %105
infer %106
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = add 18446744073709551614:i64, %68
%70:i64 = and 4294967295:i64, %66
%71:i64 = mulnuw %59, %70
%72:i64 = lshr %71, 32:i64
%73:i64 = add %69, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
%90:i64 = shl %79, 53:i64
%91:i64 = mul %33, %85
%92:i64 = sub %90, %91
%93:i64 = shl %79, 52:i64
%94:i64 = mul %33, %87
%95:i64 = sub %93, %94
%96:i64 = phi %0, %92, %95
%97:i64 = shl %96, 1:i64
%98:i1 = ult %33, %97
%99:i64 = zext %98
%100:i64 = addnw %89, %99
%101:i64 = zext %26
%102:i64 = shlnw %101, 52:i64
%103:i64 = addnw %100, %102
infer %103
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = add 18446744073709551614:i64, %68
%70:i64 = and 4294967295:i64, %66
%71:i64 = mulnuw %59, %70
%72:i64 = lshr %71, 32:i64
%73:i64 = add %69, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
%90:i64 = shl %79, 53:i64
%91:i64 = mul %33, %85
%92:i64 = sub %90, %91
%93:i64 = shl %79, 52:i64
%94:i64 = mul %33, %87
%95:i64 = sub %93, %94
%96:i64 = phi %0, %92, %95
%97:i64 = shl %96, 1:i64
%98:i1 = ult %33, %97
%99:i64 = zext %98
%100:i64 = addnw %89, %99
infer %100
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = and 4294967295:i64, %66
%70:i64 = mulnuw %59, %69
%71:i64 = lshr %70, 32:i64
%72:i64 = addnuw %68, %71
%73:i64 = add 18446744073709551614:i64, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
%90:i64 = zext %26
%91:i64 = shlnw %90, 52:i64
%92:i64 = or %89, %91
%93:i64 = shl %79, 53:i64
%94:i64 = mul %33, %85
%95:i64 = sub %93, %94
%96:i64 = shl %79, 52:i64
%97:i64 = mul %33, %87
%98:i64 = sub %96, %97
%99:i64 = phi %0, %95, %98
%100:i64 = shl %99, 1:i64
%101:i1 = ult %33, %100
%102:i64 = zext %101
%103:i64 = addnuw %92, %102
%104:i64 = xor %3, %9
%105:i64 = and 9223372036854775808:i64, %104 (hasExternalUses)
%106:i64 = or %103, %105
infer %106
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %11
%30:i64 = and 63:i64, %29
%31:i64 = shl %10, %30
%32:i64 = phi %1, %31, %10, %10
%33:i64 = or 4503599627370496:i64, %32 (hasExternalUses)
%34:i64 = lshr %33, 21:i64
%35:i64 = subnsw 1963258675:i64, %34
%36:i64 = and 4294967295:i64, %35
%37:i64 = and 4294967295:i64, %34
%38:i64 = mulnuw %36, %37
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %36
%43:i64 = lshr %42, 31:i64
%44:i64 = and 4294967295:i64, %43
%45:i64 = mulnuw %44, %37
%46:i64 = lshr %45, 32:i64
%47:i64 = subnsw 0:i64, %46
%48:i64 = and 4294967295:i64, %47
%49:i64 = mulnuw %48, %44
%50:i64 = lshr %49, 31:i64
%51:i64 = and 4294967295:i64, %50
%52:i64 = mulnuw %51, %37
%53:i64 = lshr %52, 32:i64
%54:i64 = subnsw 0:i64, %53
%55:i64 = and 4294967295:i64, %54
%56:i64 = mulnuw %55, %51
%57:i64 = lshr %56, 31:i64
%58:i64 = addnw 4294967295:i64, %57
%59:i64 = and 4294967295:i64, %58
%60:i64 = mulnuw %59, %37
%61:i64 = shl %32, 11:i64
%62:i64 = and 4294965248:i64, %61
%63:i64 = mulnuw %62, %59
%64:i64 = lshr %63, 32:i64
%65:i64 = addnuw %60, %64
%66:i64 = sub 0:i64, %65
%67:i64 = lshr %66, 32:i64
%68:i64 = mulnuw %59, %67
%69:i64 = and 4294967295:i64, %66
%70:i64 = mulnuw %59, %69
%71:i64 = lshr %70, 32:i64
%72:i64 = addnuw %68, %71
%73:i64 = add 18446744073709551614:i64, %72
%74:i128 = zext %73
%75:i64 = addnw 53:i64, %5
%76:i64 = and 63:i64, %75
%77:i64 = shl %4, %76
%78:i64 = phi %2, %77, %4
%79:i64 = phi %1, %78, %78, %4
%80:i64 = shl %79, 2:i64
%81:i64 = or 18014398509481984:i64, %80
%82:i128 = zext %81
%83:i128 = mulnuw %74, %82
%84:i128 = lshr %83, 64:i128
%85:i64 = trunc %84
%86:i128 = lshr %83, 65:i128
%87:i64 = trunc %86
%88:i64 = phi %0, %85, %87
%89:i64 = and 4503599627370495:i64, %88
%90:i64 = zext %26
%91:i64 = shlnw %90, 52:i64
%92:i64 = or %89, %91
%93:i64 = shl %79, 53:i64
%94:i64 = mul %33, %85
%95:i64 = sub %93, %94
%96:i64 = shl %79, 52:i64
%97:i64 = mul %33, %87
%98:i64 = sub %96, %97
%99:i64 = phi %0, %95, %98
%100:i64 = shl %99, 1:i64
%101:i1 = ult %33, %100
%102:i64 = zext %101
%103:i64 = addnuw %92, %102
infer %103
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %5
%30:i64 = and 63:i64, %29
%31:i64 = shl %4, %30
%32:i64 = phi %2, %31, %4
%33:i64 = phi %1, %32, %32, %4
%34:i64 = shl %33, 53:i64
%35:i64 = addnw 53:i64, %11
%36:i64 = and 63:i64, %35
%37:i64 = shl %10, %36
%38:i64 = phi %1, %37, %10, %10
%39:i64 = or 4503599627370496:i64, %38
%40:i64 = lshr %39, 21:i64
%41:i64 = subnsw 1963258675:i64, %40
%42:i64 = and 4294967295:i64, %41
%43:i64 = and 4294967295:i64, %40
%44:i64 = mulnuw %42, %43
%45:i64 = lshr %44, 32:i64
%46:i64 = subnsw 0:i64, %45
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %42
%49:i64 = lshr %48, 31:i64
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %43
%52:i64 = lshr %51, 32:i64
%53:i64 = subnsw 0:i64, %52
%54:i64 = and 4294967295:i64, %53
%55:i64 = mulnuw %54, %50
%56:i64 = lshr %55, 31:i64
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %43
%59:i64 = lshr %58, 32:i64
%60:i64 = subnsw 0:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i64 = mulnuw %61, %57
%63:i64 = lshr %62, 31:i64
%64:i64 = addnw 4294967295:i64, %63
%65:i64 = and 4294967295:i64, %64
%66:i64 = mulnuw %65, %43
%67:i64 = shl %38, 11:i64
%68:i64 = and 4294965248:i64, %67
%69:i64 = mulnuw %68, %65
%70:i64 = lshr %69, 32:i64
%71:i64 = addnuw %66, %70
%72:i64 = sub 0:i64, %71
%73:i64 = lshr %72, 32:i64
%74:i64 = mulnuw %65, %73
%75:i64 = add 18446744073709551614:i64, %74
%76:i64 = and 4294967295:i64, %72
%77:i64 = mulnuw %65, %76
%78:i64 = lshr %77, 32:i64
%79:i64 = add %75, %78
%80:i128 = zext %79
%81:i64 = shl %33, 2:i64
%82:i64 = or 18014398509481984:i64, %81
%83:i128 = zext %82
%84:i128 = mulnuw %80, %83
%85:i128 = lshr %84, 64:i128
%86:i64 = trunc %85
%87:i64 = mul %39, %86
%88:i64 = sub %34, %87
%89:i64 = shl %33, 52:i64
%90:i128 = lshr %84, 65:i128
%91:i64 = trunc %90
%92:i64 = mul %39, %91
%93:i64 = sub %89, %92
%94:i64 = phi %0, %88, %93
%95:i64 = shl %94, 1:i64
infer %95
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %5
%30:i64 = and 63:i64, %29
%31:i64 = shl %4, %30
%32:i64 = phi %2, %31, %4
%33:i64 = phi %1, %32, %32, %4
%34:i64 = shl %33, 53:i64
%35:i64 = addnw 53:i64, %11
%36:i64 = and 63:i64, %35
%37:i64 = shl %10, %36
%38:i64 = phi %1, %37, %10, %10
%39:i64 = or 4503599627370496:i64, %38
%40:i64 = lshr %39, 21:i64
%41:i64 = subnsw 1963258675:i64, %40
%42:i64 = and 4294967295:i64, %41
%43:i64 = and 4294967295:i64, %40
%44:i64 = mulnuw %42, %43
%45:i64 = lshr %44, 32:i64
%46:i64 = subnsw 0:i64, %45
%47:i64 = and 4294967295:i64, %46
%48:i64 = mulnuw %47, %42
%49:i64 = lshr %48, 31:i64
%50:i64 = and 4294967295:i64, %49
%51:i64 = mulnuw %50, %43
%52:i64 = lshr %51, 32:i64
%53:i64 = subnsw 0:i64, %52
%54:i64 = and 4294967295:i64, %53
%55:i64 = mulnuw %54, %50
%56:i64 = lshr %55, 31:i64
%57:i64 = and 4294967295:i64, %56
%58:i64 = mulnuw %57, %43
%59:i64 = lshr %58, 32:i64
%60:i64 = subnsw 0:i64, %59
%61:i64 = and 4294967295:i64, %60
%62:i64 = mulnuw %61, %57
%63:i64 = lshr %62, 31:i64
%64:i64 = addnw 4294967295:i64, %63
%65:i64 = and 4294967295:i64, %64
%66:i64 = mulnuw %65, %43
%67:i64 = shl %38, 11:i64
%68:i64 = and 4294965248:i64, %67
%69:i64 = mulnuw %68, %65
%70:i64 = lshr %69, 32:i64
%71:i64 = addnuw %66, %70
%72:i64 = sub 0:i64, %71
%73:i64 = lshr %72, 32:i64
%74:i64 = mulnuw %65, %73
%75:i64 = and 4294967295:i64, %72
%76:i64 = mulnuw %65, %75
%77:i64 = lshr %76, 32:i64
%78:i64 = addnuw %74, %77
%79:i64 = add 18446744073709551614:i64, %78
%80:i128 = zext %79
%81:i64 = shl %33, 2:i64
%82:i64 = or 18014398509481984:i64, %81
%83:i128 = zext %82
%84:i128 = mulnuw %80, %83
%85:i128 = lshr %84, 64:i128
%86:i64 = trunc %85
%87:i64 = mul %39, %86
%88:i64 = sub %34, %87
%89:i64 = shl %33, 52:i64
%90:i128 = lshr %84, 65:i128
%91:i64 = trunc %90
%92:i64 = mul %39, %91
%93:i64 = sub %89, %92
%94:i64 = phi %0, %88, %93
%95:i64 = shl %94, 1:i64
infer %95
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = zext %26
%30:i64 = shlnw %29, 52:i64
infer %30
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = zext %26
infer %29
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
%26:i32 = add 1023:i32, %25 (hasExternalUses)
%27:i1 = slt 2046:i32, %26
pc %27 1:i1
%28:i64 = xor %3, %9
%29:i64 = and 9223372036854775808:i64, %28 (hasExternalUses)
%30:i64 = or 9218868437227405312:i64, %29
infer %30
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = addnsw 4294967284:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16 (hasExternalUses)
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19 (hasExternalUses)
%21:i32 = trunc %20
%22:i32 = subnsw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294967295:i32, %23
%25:i32 = phi %0, %24, %23
infer %25
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
infer %27
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %5
%30:i64 = and 63:i64, %29
%31:i64 = shl %4, %30
%32:i64 = phi %2, %31, %4
%33:i64 = phi %1, %32, %32, %4
%34:i64 = or 4503599627370496:i64, %33
%35:i128 = zext %34
%36:i64 = addnw 53:i64, %11
%37:i64 = and 63:i64, %36
%38:i64 = shl %10, %37
%39:i64 = phi %1, %38, %10, %10
%40:i64 = shl %39, 11:i64
%41:i64 = or 9223372036854775808:i64, %40
%42:i128 = zext %41
%43:i128 = mulnuw %35, %42
%44:i128 = lshr %43, 64:i128
%45:i64 = trunc %44
%46:i64 = trunc %43
%47:i64 = lshr %46, 63:i64
%48:i128 = shlnw %44, 1:i128
%49:i64 = trunc %48
%50:i64 = or %47, %49
%51:i64 = phi %0, %45, %50
%52:i64 = and 4503599627370495:i64, %51
%53:i64 = zext %26
%54:i64 = shlnw %53, 52:i64
%55:i64 = or %52, %54
infer %55
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = addnw 53:i64, %5
%30:i64 = and 63:i64, %29
%31:i64 = shl %4, %30
%32:i64 = phi %2, %31, %4
%33:i64 = phi %1, %32, %32, %4
%34:i64 = or 4503599627370496:i64, %33
%35:i128 = zext %34
%36:i64 = addnw 53:i64, %11
%37:i64 = and 63:i64, %36
%38:i64 = shl %10, %37
%39:i64 = phi %1, %38, %10, %10
%40:i64 = shl %39, 11:i64
%41:i64 = or 9223372036854775808:i64, %40
%42:i128 = zext %41
%43:i128 = mulnuw %35, %42
%44:i128 = lshr %43, 64:i128
%45:i64 = trunc %44
%46:i64 = trunc %43
%47:i64 = lshr %46, 63:i64
%48:i128 = shlnw %44, 1:i128
%49:i64 = trunc %48
%50:i64 = or %47, %49
%51:i64 = phi %0, %45, %50
%52:i64 = and 4503599627370495:i64, %51
infer %52
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = zext %26
%30:i64 = shlnw %29, 52:i64
infer %30
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 0:i1
%29:i64 = zext %26
infer %29
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26
infer %29
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
infer %30
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i32 = addnsw 63:i32, %26
%32:i64 = zext %31
infer %32
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i32 = addnsw 63:i32, %26
infer %31
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i64 = addnw 53:i64, %5
%32:i64 = and 63:i64, %31
%33:i64 = shl %4, %32
%34:i64 = phi %2, %33, %4
%35:i64 = phi %1, %34, %34, %4
%36:i64 = or 4503599627370496:i64, %35
%37:i128 = zext %36
%38:i64 = addnw 53:i64, %11
%39:i64 = and 63:i64, %38
%40:i64 = shl %10, %39
%41:i64 = phi %1, %40, %10, %10
%42:i64 = shl %41, 11:i64
%43:i64 = or 9223372036854775808:i64, %42
%44:i128 = zext %43
%45:i128 = mulnuw %37, %44
%46:i128 = lshr %45, 64:i128
%47:i64 = trunc %46
%48:i64 = trunc %45
%49:i64 = lshr %48, 63:i64
%50:i128 = shlnw %46, 1:i128
%51:i64 = trunc %50
%52:i64 = or %49, %51
%53:i64 = phi %0, %47, %52
%54:i32 = addnsw 63:i32, %26
%55:i64 = zext %54
%56:i64 = shl %53, %55
%57:i64 = shl %48, 1:i64
%58:i64 = phi %0, %48, %57
%59:i64 = zext %29 (hasExternalUses)
%60:i64 = lshr %58, %59
%61:i64 = or %56, %60
%62:i64 = shl %58, %55
%63:i64 = or %61, %62
infer %63
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i64 = addnw 53:i64, %5
%32:i64 = and 63:i64, %31
%33:i64 = shl %4, %32
%34:i64 = phi %2, %33, %4
%35:i64 = phi %1, %34, %34, %4
%36:i64 = or 4503599627370496:i64, %35
%37:i128 = zext %36
%38:i64 = addnw 53:i64, %11
%39:i64 = and 63:i64, %38
%40:i64 = shl %10, %39
%41:i64 = phi %1, %40, %10, %10
%42:i64 = shl %41, 11:i64
%43:i64 = or 9223372036854775808:i64, %42
%44:i128 = zext %43
%45:i128 = mulnuw %37, %44
%46:i128 = lshr %45, 64:i128
%47:i64 = trunc %46
%48:i64 = trunc %45
%49:i64 = lshr %48, 63:i64
%50:i128 = shlnw %46, 1:i128
%51:i64 = trunc %50
%52:i64 = or %49, %51
%53:i64 = phi %0, %47, %52
%54:i32 = addnsw 63:i32, %26
%55:i64 = zext %54 (hasExternalUses)
%56:i64 = shl %53, %55
%57:i64 = shl %48, 1:i64
%58:i64 = phi %0, %48, %57
%59:i64 = zext %29 (hasExternalUses)
%60:i64 = lshr %58, %59
%61:i64 = or %56, %60
infer %61
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i64 = addnw 53:i64, %5
%32:i64 = and 63:i64, %31
%33:i64 = shl %4, %32
%34:i64 = phi %2, %33, %4
%35:i64 = phi %1, %34, %34, %4
%36:i64 = or 4503599627370496:i64, %35
%37:i128 = zext %36
%38:i64 = addnw 53:i64, %11
%39:i64 = and 63:i64, %38
%40:i64 = shl %10, %39
%41:i64 = phi %1, %40, %10, %10
%42:i64 = shl %41, 11:i64
%43:i64 = or 9223372036854775808:i64, %42
%44:i128 = zext %43
%45:i128 = mulnuw %37, %44
%46:i128 = lshr %45, 64:i128
%47:i64 = trunc %46
%48:i64 = trunc %45
%49:i64 = lshr %48, 63:i64
%50:i128 = shlnw %46, 1:i128
%51:i64 = trunc %50
%52:i64 = or %49, %51
%53:i64 = phi %0, %47, %52
%54:i32 = addnsw 63:i32, %26
%55:i64 = zext %54 (hasExternalUses)
%56:i64 = shl %53, %55
infer %56
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i64 = addnw 53:i64, %5
%32:i64 = and 63:i64, %31
%33:i64 = shl %4, %32
%34:i64 = phi %2, %33, %4
%35:i64 = phi %1, %34, %34, %4
%36:i64 = or 4503599627370496:i64, %35
%37:i128 = zext %36
%38:i64 = addnw 53:i64, %11
%39:i64 = and 63:i64, %38
%40:i64 = shl %10, %39
%41:i64 = phi %1, %40, %10, %10
%42:i64 = shl %41, 11:i64
%43:i64 = or 9223372036854775808:i64, %42
%44:i128 = zext %43
%45:i128 = mulnuw %37, %44
%46:i128 = lshr %45, 64:i128
%47:i64 = trunc %46
%48:i64 = trunc %45
%49:i64 = lshr %48, 63:i64
%50:i128 = shlnw %46, 1:i128
%51:i64 = trunc %50
%52:i64 = or %49, %51
%53:i64 = phi %0, %47, %52
%54:i64 = zext %29 (hasExternalUses)
%55:i64 = lshr %53, %54
infer %55
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i64 = addnw 53:i64, %5
%32:i64 = and 63:i64, %31
%33:i64 = shl %4, %32
%34:i64 = phi %2, %33, %4
%35:i64 = phi %1, %34, %34, %4
%36:i64 = or 4503599627370496:i64, %35
%37:i128 = zext %36
%38:i64 = addnw 53:i64, %11
%39:i64 = and 63:i64, %38
%40:i64 = shl %10, %39
%41:i64 = phi %1, %40, %10, %10
%42:i64 = shl %41, 11:i64
%43:i64 = or 9223372036854775808:i64, %42
%44:i128 = zext %43
%45:i128 = mulnuw %37, %44
%46:i64 = trunc %45
%47:i64 = shl %46, 1:i64
%48:i64 = phi %0, %46, %47
%49:i32 = addnsw 63:i32, %26
%50:i64 = zext %49 (hasExternalUses)
%51:i64 = shl %48, %50
infer %51
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i64 = addnw 53:i64, %5
%32:i64 = and 63:i64, %31
%33:i64 = shl %4, %32
%34:i64 = phi %2, %33, %4
%35:i64 = phi %1, %34, %34, %4
%36:i64 = or 4503599627370496:i64, %35
%37:i128 = zext %36
%38:i64 = addnw 53:i64, %11
%39:i64 = and 63:i64, %38
%40:i64 = shl %10, %39
%41:i64 = phi %1, %40, %10, %10
%42:i64 = shl %41, 11:i64
%43:i64 = or 9223372036854775808:i64, %42
%44:i128 = zext %43
%45:i128 = mulnuw %37, %44
%46:i64 = trunc %45
%47:i64 = shl %46, 1:i64
%48:i64 = phi %0, %46, %47
%49:i64 = zext %29 (hasExternalUses)
%50:i64 = lshr %48, %49
infer %50
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 0:i1
%28:i1 = slt %26, 1:i32
pc %28 1:i1
%29:i32 = sub 1:i32, %26 (hasExternalUses)
%30:i1 = ult 63:i32, %29
pc %30 0:i1
%31:i64 = zext %29
infer %31
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
%27:i1 = slt 2046:i32, %26
pc %27 1:i1
%28:i64 = xor %3, %9
%29:i64 = and 9223372036854775808:i64, %28 (hasExternalUses)
%30:i64 = or 9218868437227405312:i64, %29
infer %30
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnsw 12:i32, %6
%8:i32 = phi %2, %7, 0:i32
%9:i64 = var
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i32 = trunc %11
%13:i32 = subnsw 12:i32, %12
%14:i32 = addnsw %8, %13
%15:i32 = phi %1, %14, %8, 0:i32
%16:i64 = lshr %3, 52:i64
%17:i64 = and 2047:i64, %16 (hasExternalUses)
%18:i32 = trunc %17
%19:i64 = lshr %9, 52:i64
%20:i64 = and 2047:i64, %19 (hasExternalUses)
%21:i32 = trunc %20
%22:i32 = addnw %18, %21
%23:i32 = addnsw %15, %22
%24:i32 = add 4294966274:i32, %23
%25:i32 = add 4294966273:i32, %23
%26:i32 = phi %0, %24, %25
infer %26
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i64 = addnw 53:i64, %5
%7:i64 = and 63:i64, %6
%8:i64 = shl %4, %7
%9:i64 = phi %2, %8, %4
%10:i64 = phi %1, %9, %9, %4
%11:i64 = or 4503599627370496:i64, %10
%12:i128 = zext %11
%13:i64 = var
%14:i64 = and 4503599627370495:i64, %13
%15:i64 = ctlz %14
%16:i64 = addnw 53:i64, %15
%17:i64 = and 63:i64, %16
%18:i64 = shl %14, %17
%19:i64 = phi %1, %18, %14, %14
%20:i64 = shl %19, 11:i64
%21:i64 = or 9223372036854775808:i64, %20
%22:i128 = zext %21
%23:i128 = mulnuw %12, %22
%24:i128 = lshr %23, 64:i128
%25:i64 = trunc %24 (hasExternalUses)
%26:i64 = trunc %23 (hasExternalUses)
%27:i64 = lshr %26, 63:i64
%28:i128 = shlnw %24, 1:i128
%29:i64 = trunc %28
%30:i64 = or %27, %29
%31:i64 = phi %0, %25, %30
infer %31
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i64 = addnw 53:i64, %5
%7:i64 = and 63:i64, %6
%8:i64 = shl %4, %7
%9:i64 = phi %2, %8, %4
%10:i64 = phi %1, %9, %9, %4
%11:i64 = or 4503599627370496:i64, %10
%12:i128 = zext %11
%13:i64 = var
%14:i64 = and 4503599627370495:i64, %13
%15:i64 = ctlz %14
%16:i64 = addnw 53:i64, %15
%17:i64 = and 63:i64, %16
%18:i64 = shl %14, %17
%19:i64 = phi %1, %18, %14, %14
%20:i64 = shl %19, 11:i64
%21:i64 = or 9223372036854775808:i64, %20
%22:i128 = zext %21
%23:i128 = mulnuw %12, %22 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = shl %24, 1:i64
%26:i64 = phi %0, %24, %25
infer %26
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i64 = addnw 53:i64, %5
%7:i64 = and 63:i64, %6
%8:i64 = shl %4, %7
%9:i64 = phi %2, %8, %4
%10:i64 = phi %1, %9, %9, %4
%11:i64 = shl %10, 53:i64
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %1, %17, %13, %13
%19:i64 = or 4503599627370496:i64, %18 (hasExternalUses)
%20:i64 = lshr %19, 21:i64
%21:i64 = subnsw 1963258675:i64, %20
%22:i64 = and 4294967295:i64, %21
%23:i64 = and 4294967295:i64, %20
%24:i64 = mulnuw %22, %23
%25:i64 = lshr %24, 32:i64
%26:i64 = subnsw 0:i64, %25
%27:i64 = and 4294967295:i64, %26
%28:i64 = mulnuw %27, %22
%29:i64 = lshr %28, 31:i64
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %23
%32:i64 = lshr %31, 32:i64
%33:i64 = subnsw 0:i64, %32
%34:i64 = and 4294967295:i64, %33
%35:i64 = mulnuw %34, %30
%36:i64 = lshr %35, 31:i64
%37:i64 = and 4294967295:i64, %36
%38:i64 = mulnuw %37, %23
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %37
%43:i64 = lshr %42, 31:i64
%44:i64 = addnw 4294967295:i64, %43
%45:i64 = and 4294967295:i64, %44
%46:i64 = mulnuw %45, %23
%47:i64 = shl %18, 11:i64
%48:i64 = and 4294965248:i64, %47
%49:i64 = mulnuw %48, %45
%50:i64 = lshr %49, 32:i64
%51:i64 = addnuw %46, %50
%52:i64 = sub 0:i64, %51
%53:i64 = lshr %52, 32:i64
%54:i64 = mulnuw %45, %53
%55:i64 = add 18446744073709551614:i64, %54
%56:i64 = and 4294967295:i64, %52
%57:i64 = mulnuw %45, %56
%58:i64 = lshr %57, 32:i64
%59:i64 = add %55, %58
%60:i128 = zext %59
%61:i64 = shl %10, 2:i64
%62:i64 = or 18014398509481984:i64, %61
%63:i128 = zext %62
%64:i128 = mulnuw %60, %63
%65:i128 = lshr %64, 64:i128
%66:i64 = trunc %65 (hasExternalUses)
%67:i64 = mul %19, %66
%68:i64 = sub %11, %67
%69:i64 = shl %10, 52:i64
%70:i128 = lshr %64, 65:i128
%71:i64 = trunc %70 (hasExternalUses)
%72:i64 = mul %19, %71
%73:i64 = sub %69, %72
%74:i64 = phi %0, %68, %73
infer %74 (demandedBits=0111111111111111111111111111111111111111111111111111111111111111)
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = and 4503599627370495:i64, %3
%5:i64 = ctlz %4
%6:i64 = addnw 53:i64, %5
%7:i64 = and 63:i64, %6
%8:i64 = shl %4, %7
%9:i64 = phi %2, %8, %4
%10:i64 = phi %1, %9, %9, %4
%11:i64 = shl %10, 53:i64
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %1, %17, %13, %13
%19:i64 = or 4503599627370496:i64, %18 (hasExternalUses)
%20:i64 = lshr %19, 21:i64
%21:i64 = subnsw 1963258675:i64, %20
%22:i64 = and 4294967295:i64, %21
%23:i64 = and 4294967295:i64, %20
%24:i64 = mulnuw %22, %23
%25:i64 = lshr %24, 32:i64
%26:i64 = subnsw 0:i64, %25
%27:i64 = and 4294967295:i64, %26
%28:i64 = mulnuw %27, %22
%29:i64 = lshr %28, 31:i64
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %23
%32:i64 = lshr %31, 32:i64
%33:i64 = subnsw 0:i64, %32
%34:i64 = and 4294967295:i64, %33
%35:i64 = mulnuw %34, %30
%36:i64 = lshr %35, 31:i64
%37:i64 = and 4294967295:i64, %36
%38:i64 = mulnuw %37, %23
%39:i64 = lshr %38, 32:i64
%40:i64 = subnsw 0:i64, %39
%41:i64 = and 4294967295:i64, %40
%42:i64 = mulnuw %41, %37
%43:i64 = lshr %42, 31:i64
%44:i64 = addnw 4294967295:i64, %43
%45:i64 = and 4294967295:i64, %44
%46:i64 = mulnuw %45, %23
%47:i64 = shl %18, 11:i64
%48:i64 = and 4294965248:i64, %47
%49:i64 = mulnuw %48, %45
%50:i64 = lshr %49, 32:i64
%51:i64 = addnuw %46, %50
%52:i64 = sub 0:i64, %51
%53:i64 = lshr %52, 32:i64
%54:i64 = mulnuw %45, %53
%55:i64 = and 4294967295:i64, %52
%56:i64 = mulnuw %45, %55
%57:i64 = lshr %56, 32:i64
%58:i64 = addnuw %54, %57
%59:i64 = add 18446744073709551614:i64, %58
%60:i128 = zext %59
%61:i64 = shl %10, 2:i64
%62:i64 = or 18014398509481984:i64, %61
%63:i128 = zext %62
%64:i128 = mulnuw %60, %63
%65:i128 = lshr %64, 64:i128
%66:i64 = trunc %65 (hasExternalUses)
%67:i64 = mul %19, %66
%68:i64 = sub %11, %67
%69:i64 = shl %10, 52:i64
%70:i128 = lshr %64, 65:i128
%71:i64 = trunc %70 (hasExternalUses)
%72:i64 = mul %19, %71
%73:i64 = sub %69, %72
%74:i64 = phi %0, %68, %73
infer %74 (demandedBits=0111111111111111111111111111111111111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3, %3
%9:i32 = or 8388608:i32, %8 (hasExternalUses)
%10:i32 = shl %9, 8:i32
%11:i32 = sub 1963258675:i32, %10
%12:i64 = zext %11
%13:i64 = zext %10
%14:i64 = mulnuw %12, %13
%15:i64 = lshr %14, 32:i64
%16:i64 = subnsw 0:i64, %15
%17:i64 = and 4294967295:i64, %16
%18:i64 = mulnuw %17, %12
%19:i64 = lshr %18, 31:i64
%20:i64 = and 4294967295:i64, %19
%21:i64 = mulnuw %20, %13
%22:i64 = lshr %21, 32:i64
%23:i64 = subnsw 0:i64, %22
%24:i64 = and 4294967295:i64, %23
%25:i64 = mulnuw %24, %20
%26:i64 = lshr %25, 31:i64
%27:i64 = and 4294967295:i64, %26
%28:i64 = mulnuw %27, %13
%29:i64 = lshr %28, 32:i64
%30:i64 = subnsw 0:i64, %29
%31:i64 = and 4294967295:i64, %30
%32:i64 = mulnuw %31, %27
%33:i64 = lshr %32, 31:i64
%34:i64 = addnw 4294967294:i64, %33
%35:i64 = and 4294967295:i64, %34
%36 = block 2
%37:i32 = var
%38:i32 = and 8388607:i32, %37
%39:i32 = ctlz %38
%40:i32 = addnw 24:i32, %39
%41:i32 = and 31:i32, %40
%42:i32 = shl %38, %41
%43:i32 = phi %36, %42, %38
%44:i32 = phi %1, %43, %43, %38
%45:i32 = shl %44, 1:i32
%46:i32 = or 16777216:i32, %45
%47:i64 = zext %46
%48:i64 = mulnuw %35, %47
%49:i64 = lshr %48, 32:i64
%50:i32 = trunc %49 (hasExternalUses)
%51:i64 = lshr %48, 33:i64
%52:i32 = trunc %51 (hasExternalUses)
%53:i32 = phi %0, %50, %52
infer %53 (demandedBits=00000000011111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i32 = var
%3:i32 = var
%4:i32 = var
%5:i32 = phi %1, %2, %3, %4
%6:i32 = var
%7:i32 = phi %0, %5, %6
%8:i32 = and 1024:i32, %7
%9:i1 = eq 0:i32, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i32 = var
%3:i32 = var
%4:i32 = var
%5:i32 = phi %1, %2, %3, %4
%6:i32 = var
%7:i32 = phi %0, %5, %6
%8:i32 = and 1024:i32, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i32 = var
%3:i32 = var
%4:i32 = var
%5:i32 = phi %1, %2, %3, %4
%6:i32 = var
%7:i32 = phi %0, %5, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i64 = var
%3:i1 = eq 0:i64, %2
%4:i64 = var
%5:i64 = select %3, 0:i64, %4
%6:i64 = phi %1, 0:i64, %5, %4
%7:i64 = phi %0, %6, 0:i64
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3, %3
%9:i64 = or 4503599627370496:i64, %8 (hasExternalUses)
%10:i64 = lshr %9, 21:i64
%11:i64 = subnsw 1963258675:i64, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 4294967295:i64, %10
%14:i64 = mulnuw %12, %13
%15:i64 = lshr %14, 32:i64
%16:i64 = subnsw 0:i64, %15
%17:i64 = and 4294967295:i64, %16
%18:i64 = mulnuw %17, %12
%19:i64 = lshr %18, 31:i64
%20:i64 = and 4294967295:i64, %19
%21:i64 = mulnuw %20, %13
%22:i64 = lshr %21, 32:i64
%23:i64 = subnsw 0:i64, %22
%24:i64 = and 4294967295:i64, %23
%25:i64 = mulnuw %24, %20
%26:i64 = lshr %25, 31:i64
%27:i64 = and 4294967295:i64, %26
%28:i64 = mulnuw %27, %13
%29:i64 = lshr %28, 32:i64
%30:i64 = subnsw 0:i64, %29
%31:i64 = and 4294967295:i64, %30
%32:i64 = mulnuw %31, %27
%33:i64 = lshr %32, 31:i64
%34:i64 = addnw 4294967295:i64, %33
%35:i64 = and 4294967295:i64, %34
%36:i64 = mulnuw %35, %13
%37:i64 = shl %8, 11:i64
%38:i64 = and 4294965248:i64, %37
%39:i64 = mulnuw %38, %35
%40:i64 = lshr %39, 32:i64
%41:i64 = addnuw %36, %40
%42:i64 = sub 0:i64, %41
%43:i64 = lshr %42, 32:i64
%44:i64 = mulnuw %35, %43
%45:i64 = add 18446744073709551614:i64, %44
%46:i64 = and 4294967295:i64, %42
%47:i64 = mulnuw %35, %46
%48:i64 = lshr %47, 32:i64
%49:i64 = add %45, %48
%50:i128 = zext %49
%51 = block 2
%52:i64 = var
%53:i64 = and 4503599627370495:i64, %52
%54:i64 = ctlz %53
%55:i64 = addnw 53:i64, %54
%56:i64 = and 63:i64, %55
%57:i64 = shl %53, %56
%58:i64 = phi %51, %57, %53
%59:i64 = phi %1, %58, %58, %53
%60:i64 = shl %59, 2:i64
%61:i64 = or 18014398509481984:i64, %60
%62:i128 = zext %61
%63:i128 = mulnuw %50, %62
%64:i128 = lshr %63, 64:i128
%65:i64 = trunc %64 (hasExternalUses)
%66:i128 = lshr %63, 65:i128
%67:i64 = trunc %66 (hasExternalUses)
%68:i64 = phi %0, %65, %67
infer %68 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3, %3
%9:i64 = or 4503599627370496:i64, %8 (hasExternalUses)
%10:i64 = lshr %9, 21:i64
%11:i64 = subnsw 1963258675:i64, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 4294967295:i64, %10
%14:i64 = mulnuw %12, %13
%15:i64 = lshr %14, 32:i64
%16:i64 = subnsw 0:i64, %15
%17:i64 = and 4294967295:i64, %16
%18:i64 = mulnuw %17, %12
%19:i64 = lshr %18, 31:i64
%20:i64 = and 4294967295:i64, %19
%21:i64 = mulnuw %20, %13
%22:i64 = lshr %21, 32:i64
%23:i64 = subnsw 0:i64, %22
%24:i64 = and 4294967295:i64, %23
%25:i64 = mulnuw %24, %20
%26:i64 = lshr %25, 31:i64
%27:i64 = and 4294967295:i64, %26
%28:i64 = mulnuw %27, %13
%29:i64 = lshr %28, 32:i64
%30:i64 = subnsw 0:i64, %29
%31:i64 = and 4294967295:i64, %30
%32:i64 = mulnuw %31, %27
%33:i64 = lshr %32, 31:i64
%34:i64 = addnw 4294967295:i64, %33
%35:i64 = and 4294967295:i64, %34
%36:i64 = mulnuw %35, %13
%37:i64 = shl %8, 11:i64
%38:i64 = and 4294965248:i64, %37
%39:i64 = mulnuw %38, %35
%40:i64 = lshr %39, 32:i64
%41:i64 = addnuw %36, %40
%42:i64 = sub 0:i64, %41
%43:i64 = lshr %42, 32:i64
%44:i64 = mulnuw %35, %43
%45:i64 = and 4294967295:i64, %42
%46:i64 = mulnuw %35, %45
%47:i64 = lshr %46, 32:i64
%48:i64 = addnuw %44, %47
%49:i64 = add 18446744073709551614:i64, %48
%50:i128 = zext %49
%51 = block 2
%52:i64 = var
%53:i64 = and 4503599627370495:i64, %52
%54:i64 = ctlz %53
%55:i64 = addnw 53:i64, %54
%56:i64 = and 63:i64, %55
%57:i64 = shl %53, %56
%58:i64 = phi %51, %57, %53
%59:i64 = phi %1, %58, %58, %53
%60:i64 = shl %59, 2:i64
%61:i64 = or 18014398509481984:i64, %60
%62:i128 = zext %61
%63:i128 = mulnuw %50, %62
%64:i128 = lshr %63, 64:i128
%65:i64 = trunc %64 (hasExternalUses)
%66:i128 = lshr %63, 65:i128
%67:i64 = trunc %66 (hasExternalUses)
%68:i64 = phi %0, %65, %67
infer %68 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i64 = var
%3:i64 = phi %1, 0:i64, %2, 0:i64
%4:i64 = var
%5:i64 = add 1:i64, %4
%6:i64 = phi %0, %3, %5
%7:i1 = eq 0:i64, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i64 = var
%3:i64 = phi %1, 0:i64, %2, 0:i64
%4:i64 = var
%5:i64 = add 1:i64, %4
%6:i64 = phi %0, %3, %5
%7:i1 = eq 0:i64, %6 (hasExternalUses)
%8:i1 = select %7, 0:i1, 1:i1
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i64 = var
%3:i64 = phi %1, 0:i64, %2, 0:i64
%4:i64 = var
%5:i64 = add 1:i64, %4
%6:i64 = phi %0, %3, %5
%7:i64 = add 18446744073709551615:i64, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i64 = var
%3:i64 = phi %1, 0:i64, %2, 0:i64
%4:i64 = var
%5:i64 = add 1:i64, %4 (hasExternalUses)
%6:i64 = phi %0, %3, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i8 = phi %1, 1:i8, 0:i8, 0:i8
%3:i8 = phi %0, %2, 0:i8
%4:i1 = eq 0:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1 = block 3
%2:i8 = phi %1, 1:i8, 0:i8, 0:i8
%3:i8 = phi %0, %2, 0:i8
infer %3
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = and 7:i32, %66
infer %67
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = and 7:i32, %66 (hasExternalUses)
%68:i1 = ult 4:i32, %67
infer %68
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = and 7:i32, %66 (hasExternalUses)
%68:i1 = ult 4:i32, %67
pc %68 0:i1
%69:i1 = eq 4:i32, %67
infer %69
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = and 7:i32, %66 (hasExternalUses)
%68:i1 = ult 4:i32, %67
pc %68 0:i1
%69:i1 = eq 4:i32, %67
pc %69 1:i1
%70:i32 = lshr %66, 3:i32
%71:i32 = and 1:i32, %70
%72:i32 = and 2147483648:i32, %8 (hasExternalUses)
%73:i32 = and 8388607:i32, %70
%74:i32 = phi %0, 0:i32, %56
%75:i32 = shlnw %74, 23:i32
%76:i32 = or %73, %75
%77:i32 = or %72, %76 (hasExternalUses)
%78:i32 = add %71, %77
infer %78
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = and 7:i32, %66 (hasExternalUses)
%68:i1 = ult 4:i32, %67
pc %68 0:i1
%69:i1 = eq 4:i32, %67
pc %69 1:i1
%70:i32 = lshr %66, 3:i32
%71:i32 = and 1:i32, %70
%72:i32 = and 8388607:i32, %70
%73:i32 = and 2147483648:i32, %8 (hasExternalUses)
%74:i32 = phi %0, 0:i32, %56
%75:i32 = shlnw %74, 23:i32
%76:i32 = or %73, %75
%77:i32 = or %72, %76 (hasExternalUses)
%78:i32 = add %71, %77
infer %78
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = and 7:i32, %66 (hasExternalUses)
%68:i1 = ult 4:i32, %67
pc %68 0:i1
%69:i1 = eq 4:i32, %67
pc %69 1:i1
%70:i32 = lshr %66, 3:i32 (hasExternalUses)
%71:i32 = and 1:i32, %70
infer %71
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = and 7:i32, %66 (hasExternalUses)
%68:i1 = ult 4:i32, %67
pc %68 1:i1
%69:i32 = and 2147483648:i32, %8 (hasExternalUses)
%70:i32 = lshr %66, 3:i32 (hasExternalUses)
%71:i32 = and 8388607:i32, %70
%72:i32 = phi %0, 0:i32, %56
%73:i32 = shlnw %72, 23:i32
%74:i32 = or %71, %73
%75:i32 = or %69, %74 (hasExternalUses)
%76:i32 = add 1:i32, %75
infer %76
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = and 7:i32, %66 (hasExternalUses)
%68:i1 = ult 4:i32, %67
pc %68 1:i1
%69:i32 = lshr %66, 3:i32 (hasExternalUses)
%70:i32 = and 8388607:i32, %69
%71:i32 = and 2147483648:i32, %8 (hasExternalUses)
%72:i32 = phi %0, 0:i32, %56
%73:i32 = shlnw %72, 23:i32
%74:i32 = or %71, %73
%75:i32 = or %70, %74 (hasExternalUses)
%76:i32 = add 1:i32, %75
infer %76
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = lshr %66, 3:i32
infer %67 (demandedBits=00000000011111111111111111111111)
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = lshr %66, 3:i32 (hasExternalUses)
%68:i32 = and 8388607:i32, %67
%69:i32 = phi %0, 0:i32, %56
%70:i32 = shlnw %69, 23:i32
%71:i32 = or %68, %70
infer %71
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = lshr %66, 3:i32 (hasExternalUses)
%68:i32 = and 8388607:i32, %67
infer %68
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
infer %66 (demandedBits=00000011111111111111111111111111)
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = lshr %8, 23:i32
%13:i32 = and 255:i32, %12
%14:i32 = phi %2, %11, %13
%15:i32 = addnw 24:i32, %10
%16:i32 = and 31:i32, %15
%17:i32 = shl %9, %16
%18:i32 = phi %2, %17, %9
%19:i32 = shl %18, 3:i32
%20:i32 = or 67108864:i32, %19
%21 = block 3
%22 = block 2
%23:i32 = select %7, %3, %5
%24:i32 = and 8388607:i32, %23
%25:i32 = ctlz %24
%26:i32 = addnw 24:i32, %25
%27:i32 = and 31:i32, %26
%28:i32 = shl %24, %27
%29:i32 = phi %22, %28, %24
%30:i32 = shl %29, 3:i32
%31:i32 = or 67108864:i32, %30
%32:i32 = subnsw 9:i32, %25
%33:i32 = lshr %23, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %22, %32, %34
%36:i32 = subnsw %14, %35
%37:i32 = lshr %31, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %31, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %21, %42, %31, 1:i32
%44:i32 = sub %20, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = subnsw %14, %46
%48:i32 = addnsw 1:i32, %14
%49:i32 = phi %1, %47, %14, %48, %14
%50:i32 = phi %0, 0:i32, %49
%51:i32 = shlnw %50, 23:i32
infer %51
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i32 = var
%6:i32 = and 2147483647:i32, %5
%7:i1 = ult %4, %6
%8:i32 = select %7, %5, %3
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = subnsw 9:i32, %10
%12:i32 = lshr %8, 23:i32
%13:i32 = and 255:i32, %12
%14:i32 = phi %2, %11, %13
%15:i32 = addnw 24:i32, %10
%16:i32 = and 31:i32, %15
%17:i32 = shl %9, %16
%18:i32 = phi %2, %17, %9
%19:i32 = shl %18, 3:i32
%20:i32 = or 67108864:i32, %19
%21 = block 3
%22 = block 2
%23:i32 = select %7, %3, %5
%24:i32 = and 8388607:i32, %23
%25:i32 = ctlz %24
%26:i32 = addnw 24:i32, %25
%27:i32 = and 31:i32, %26
%28:i32 = shl %24, %27
%29:i32 = phi %22, %28, %24
%30:i32 = shl %29, 3:i32
%31:i32 = or 67108864:i32, %30
%32:i32 = subnsw 9:i32, %25
%33:i32 = lshr %23, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %22, %32, %34
%36:i32 = subnsw %14, %35
%37:i32 = lshr %31, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %31, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %21, %42, %31, 1:i32
%44:i32 = sub %20, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = subnsw %14, %46
%48:i32 = addnsw 1:i32, %14
%49:i32 = phi %1, %47, %14, %48, %14
%50:i32 = phi %0, 0:i32, %49
infer %50
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = and 2147483647:i32, %3 (hasExternalUses)
%5:i32 = var
%6:i32 = and 2147483647:i32, %5 (hasExternalUses)
%7:i1 = ult %4, %6 (hasExternalUses)
%8:i32 = select %7, %5, %3 (hasExternalUses)
%9:i32 = and 8388607:i32, %8
%10:i32 = ctlz %9
%11:i32 = addnw 24:i32, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %9, %12
%14:i32 = phi %2, %13, %9
%15:i32 = shl %14, 3:i32
%16:i32 = or 67108864:i32, %15
%17 = block 3
%18 = block 2
%19:i32 = select %7, %3, %5
%20:i32 = and 8388607:i32, %19
%21:i32 = ctlz %20
%22:i32 = addnw 24:i32, %21
%23:i32 = and 31:i32, %22
%24:i32 = shl %20, %23
%25:i32 = phi %18, %24, %20
%26:i32 = shl %25, 3:i32
%27:i32 = or 67108864:i32, %26
%28:i32 = subnsw 9:i32, %10
%29:i32 = lshr %8, 23:i32
%30:i32 = and 255:i32, %29
%31:i32 = phi %2, %28, %30
%32:i32 = subnsw 9:i32, %21
%33:i32 = lshr %19, 23:i32
%34:i32 = and 255:i32, %33
%35:i32 = phi %18, %32, %34
%36:i32 = subnsw %31, %35
%37:i32 = lshr %27, %36
%38:i32 = subnw 32:i32, %36
%39:i32 = shl %27, %38
%40:i1 = ne 0:i32, %39
%41:i32 = zext %40
%42:i32 = or %37, %41
%43:i32 = phi %17, %42, %27, 1:i32
%44:i32 = sub %16, %43
%45:i32 = ctlz %44
%46:i32 = addnsw 4294967291:i32, %45
%47:i32 = and 31:i32, %46
%48:i32 = shl %44, %47
%49:i32 = add %43, %16
%50:i32 = and 1:i32, %49
%51:i32 = lshr %49, 1:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %48, %44, %52, %49
%54:i32 = subnsw %31, %46
%55:i32 = addnsw 1:i32, %31
%56:i32 = phi %1, %54, %31, %55, %31
%57:i32 = subnsw 1:i32, %56
%58:i32 = and 31:i32, %57
%59:i32 = lshr %53, %58
%60:i32 = addnsw 31:i32, %56
%61:i32 = and 31:i32, %60
%62:i32 = shl %53, %61
%63:i1 = ne 0:i32, %62
%64:i32 = zext %63
%65:i32 = or %59, %64
%66:i32 = phi %0, %65, %53
%67:i32 = lshr %66, 3:i32 (hasExternalUses)
%68:i32 = and 8388607:i32, %67
%69:i32 = and 2147483648:i32, %8 (hasExternalUses)
%70:i32 = phi %0, 0:i32, %56
%71:i32 = shlnw %70, 23:i32
%72:i32 = or %69, %71
%73:i32 = or %68, %72
infer %73
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i32 = var
%4:i32 = var
%5:i32 = phi %2, %3, %4
%6:i32 = var
%7:i32 = var
%8:i32 = sub %6, %7
%9:i32 = sub %5, %8
%10:i32 = add 1:i32, %5
%11:i32 = phi %1, %9, %5, %10, %5
%12:i32 = phi %0, 0:i32, %11
infer %12
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i32 = trunc %10
%12:i32 = subnsw 12:i32, %11
%13:i64 = lshr %8, 52:i64
%14:i32 = trunc %13
%15:i32 = and 2047:i32, %14
%16:i32 = phi %2, %12, %15
%17:i64 = addnw 53:i64, %10
%18:i64 = and 63:i64, %17
%19:i64 = shl %9, %18
%20:i64 = phi %2, %19, %9
%21:i64 = shl %20, 3:i64
%22:i64 = or 36028797018963968:i64, %21
%23 = block 3
%24 = block 2
%25:i64 = select %7, %3, %5
%26:i64 = and 4503599627370495:i64, %25
%27:i64 = ctlz %26
%28:i64 = addnw 53:i64, %27
%29:i64 = and 63:i64, %28
%30:i64 = shl %26, %29
%31:i64 = phi %24, %30, %26
%32:i64 = shl %31, 3:i64
%33:i64 = or 36028797018963968:i64, %32
%34:i32 = trunc %27
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %25, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %24, %35, %38
%40:i32 = subnsw %16, %39
%41:i64 = zext %40
%42:i64 = lshr %33, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %33, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %23, %49, %33, 1:i64
%51:i64 = sub %22, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = subnsw %16, %54
%56:i32 = addnsw 1:i32, %16
%57:i32 = phi %1, %55, %16, %56, %16
%58:i32 = phi %0, 0:i32, %57
%59:i64 = zext %58
%60:i64 = shlnw %59, 52:i64
infer %60
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i32 = trunc %10
%12:i32 = subnsw 12:i32, %11
%13:i64 = lshr %8, 52:i64
%14:i32 = trunc %13
%15:i32 = and 2047:i32, %14
%16:i32 = phi %2, %12, %15
%17:i64 = addnw 53:i64, %10
%18:i64 = and 63:i64, %17
%19:i64 = shl %9, %18
%20:i64 = phi %2, %19, %9
%21:i64 = shl %20, 3:i64
%22:i64 = or 36028797018963968:i64, %21
%23 = block 3
%24 = block 2
%25:i64 = select %7, %3, %5
%26:i64 = and 4503599627370495:i64, %25
%27:i64 = ctlz %26
%28:i64 = addnw 53:i64, %27
%29:i64 = and 63:i64, %28
%30:i64 = shl %26, %29
%31:i64 = phi %24, %30, %26
%32:i64 = shl %31, 3:i64
%33:i64 = or 36028797018963968:i64, %32
%34:i32 = trunc %27
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %25, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %24, %35, %38
%40:i32 = subnsw %16, %39
%41:i64 = zext %40
%42:i64 = lshr %33, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %33, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %23, %49, %33, 1:i64
%51:i64 = sub %22, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = subnsw %16, %54
%56:i32 = addnsw 1:i32, %16
%57:i32 = phi %1, %55, %16, %56, %16
%58:i32 = phi %0, 0:i32, %57
%59:i64 = zext %58
infer %59
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i32 = trunc %10
%12:i32 = subnsw 12:i32, %11
%13:i64 = lshr %8, 52:i64
%14:i32 = trunc %13
%15:i32 = and 2047:i32, %14
%16:i32 = phi %2, %12, %15
%17:i64 = addnw 53:i64, %10
%18:i64 = and 63:i64, %17
%19:i64 = shl %9, %18
%20:i64 = phi %2, %19, %9
%21:i64 = shl %20, 3:i64
%22:i64 = or 36028797018963968:i64, %21
%23 = block 3
%24 = block 2
%25:i64 = select %7, %3, %5
%26:i64 = and 4503599627370495:i64, %25
%27:i64 = ctlz %26
%28:i64 = addnw 53:i64, %27
%29:i64 = and 63:i64, %28
%30:i64 = shl %26, %29
%31:i64 = phi %24, %30, %26
%32:i64 = shl %31, 3:i64
%33:i64 = or 36028797018963968:i64, %32
%34:i32 = trunc %27
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %25, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %24, %35, %38
%40:i32 = subnsw %16, %39
%41:i64 = zext %40
%42:i64 = lshr %33, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %33, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %23, %49, %33, 1:i64
%51:i64 = sub %22, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = subnsw %16, %54
%56:i32 = addnsw 1:i32, %16
%57:i32 = phi %1, %55, %16, %56, %16
%58:i32 = phi %0, 0:i32, %57
infer %58
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
%79:i32 = and 7:i32, %78
infer %79
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
%79:i32 = and 7:i32, %78 (hasExternalUses)
%80:i1 = ult 4:i32, %79
infer %80
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
%79:i32 = and 7:i32, %78 (hasExternalUses)
%80:i1 = ult 4:i32, %79
pc %80 0:i1
%81:i1 = eq 4:i32, %79
infer %81
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
%79:i32 = and 7:i32, %78 (hasExternalUses)
%80:i1 = ult 4:i32, %79
pc %80 0:i1
%81:i1 = eq 4:i32, %79
pc %81 1:i1
%82:i64 = lshr %77, 3:i64
%83:i64 = and 1:i64, %82
%84:i64 = and 4503599627370495:i64, %82
%85:i64 = and 9223372036854775808:i64, %8 (hasExternalUses)
%86:i64 = or %84, %85
%87:i32 = phi %0, 0:i32, %65
%88:i64 = zext %87
%89:i64 = shlnw %88, 52:i64
%90:i64 = or %86, %89 (hasExternalUses)
%91:i64 = add %83, %90
infer %91
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
%79:i32 = and 7:i32, %78 (hasExternalUses)
%80:i1 = ult 4:i32, %79
pc %80 0:i1
%81:i1 = eq 4:i32, %79
pc %81 1:i1
%82:i64 = lshr %77, 3:i64
%83:i64 = and 1:i64, %82
%84:i64 = and 9223372036854775808:i64, %8 (hasExternalUses)
%85:i64 = and 4503599627370495:i64, %82
%86:i32 = phi %0, 0:i32, %65
%87:i64 = zext %86
%88:i64 = shlnw %87, 52:i64
%89:i64 = or %85, %88
%90:i64 = or %84, %89 (hasExternalUses)
%91:i64 = add %83, %90
infer %91
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
%79:i32 = and 7:i32, %78 (hasExternalUses)
%80:i1 = ult 4:i32, %79
pc %80 0:i1
%81:i1 = eq 4:i32, %79
pc %81 1:i1
%82:i64 = lshr %77, 3:i64 (hasExternalUses)
%83:i64 = and 1:i64, %82
infer %83
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
%79:i32 = and 7:i32, %78 (hasExternalUses)
%80:i1 = ult 4:i32, %79
pc %80 1:i1
%81:i64 = and 9223372036854775808:i64, %8 (hasExternalUses)
%82:i64 = lshr %77, 3:i64 (hasExternalUses)
%83:i64 = and 4503599627370495:i64, %82
%84:i32 = phi %0, 0:i32, %65
%85:i64 = zext %84
%86:i64 = shlnw %85, 52:i64
%87:i64 = or %83, %86
%88:i64 = or %81, %87 (hasExternalUses)
%89:i64 = add 1:i64, %88
infer %89
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
%79:i32 = and 7:i32, %78 (hasExternalUses)
%80:i1 = ult 4:i32, %79
pc %80 1:i1
%81:i64 = lshr %77, 3:i64 (hasExternalUses)
%82:i64 = and 4503599627370495:i64, %81
%83:i64 = and 9223372036854775808:i64, %8 (hasExternalUses)
%84:i64 = or %82, %83
%85:i32 = phi %0, 0:i32, %65
%86:i64 = zext %85
%87:i64 = shlnw %86, 52:i64
%88:i64 = or %84, %87 (hasExternalUses)
%89:i64 = add 1:i64, %88
infer %89
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i32 = trunc %77
infer %78 (demandedBits=00000000000000000000000000000111)
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i64 = lshr %77, 3:i64
infer %78 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i64 = lshr %77, 3:i64 (hasExternalUses)
%79:i64 = and 4503599627370495:i64, %78
%80:i32 = phi %0, 0:i32, %65
%81:i64 = zext %80
%82:i64 = shlnw %81, 52:i64
%83:i64 = or %79, %82
infer %83
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i64 = lshr %77, 3:i64 (hasExternalUses)
%79:i64 = and 4503599627370495:i64, %78
infer %79
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5
%7:i1 = ult %4, %6
%8:i64 = select %7, %5, %3
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
infer %77 (demandedBits=0000000001111111111111111111111111111111111111111111111111111111)
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses)
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5 (hasExternalUses)
%7:i1 = ult %4, %6 (hasExternalUses)
%8:i64 = select %7, %5, %3 (hasExternalUses)
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i64 = lshr %77, 3:i64 (hasExternalUses)
%79:i64 = and 4503599627370495:i64, %78
%80:i64 = and 9223372036854775808:i64, %8 (hasExternalUses)
%81:i64 = or %79, %80
%82:i32 = phi %0, 0:i32, %65
%83:i64 = zext %82
%84:i64 = shlnw %83, 52:i64
%85:i64 = or %81, %84
infer %85
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2 = block 2
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses)
%5:i64 = var
%6:i64 = and 9223372036854775807:i64, %5 (hasExternalUses)
%7:i1 = ult %4, %6 (hasExternalUses)
%8:i64 = select %7, %5, %3 (hasExternalUses)
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i64 = addnw 53:i64, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %9, %12
%14:i64 = phi %2, %13, %9
%15:i64 = shl %14, 3:i64
%16:i64 = or 36028797018963968:i64, %15
%17 = block 3
%18 = block 2
%19:i64 = select %7, %3, %5
%20:i64 = and 4503599627370495:i64, %19
%21:i64 = ctlz %20
%22:i64 = addnw 53:i64, %21
%23:i64 = and 63:i64, %22
%24:i64 = shl %20, %23
%25:i64 = phi %18, %24, %20
%26:i64 = shl %25, 3:i64
%27:i64 = or 36028797018963968:i64, %26
%28:i32 = trunc %10
%29:i32 = subnsw 12:i32, %28
%30:i64 = lshr %8, 52:i64
%31:i32 = trunc %30
%32:i32 = and 2047:i32, %31
%33:i32 = phi %2, %29, %32
%34:i32 = trunc %21
%35:i32 = subnsw 12:i32, %34
%36:i64 = lshr %19, 52:i64
%37:i32 = trunc %36
%38:i32 = and 2047:i32, %37
%39:i32 = phi %18, %35, %38
%40:i32 = subnsw %33, %39
%41:i64 = zext %40
%42:i64 = lshr %27, %41
%43:i32 = subnsw 0:i32, %40
%44:i32 = and 63:i32, %43
%45:i64 = zext %44
%46:i64 = shl %27, %45
%47:i1 = ne 0:i64, %46
%48:i64 = zext %47
%49:i64 = or %42, %48
%50:i64 = phi %17, %49, %27, 1:i64
%51:i64 = sub %16, %50
%52:i64 = ctlz %51
%53:i32 = trunc %52
%54:i32 = addnsw 4294967288:i32, %53
%55:i32 = and 63:i32, %54
%56:i64 = zext %55
%57:i64 = shl %51, %56
%58:i64 = add %50, %16
%59:i64 = and 1:i64, %58
%60:i64 = lshr %58, 1:i64
%61:i64 = or %59, %60
%62:i64 = phi %1, %57, %51, %61, %58
%63:i32 = subnsw %33, %54
%64:i32 = addnsw 1:i32, %33
%65:i32 = phi %1, %63, %33, %64, %33
%66:i32 = subnsw 1:i32, %65
%67:i32 = and 63:i32, %66
%68:i64 = zext %67
%69:i64 = lshr %62, %68
%70:i32 = addnsw 63:i32, %65
%71:i32 = and 63:i32, %70
%72:i64 = zext %71
%73:i64 = shl %62, %72
%74:i1 = ne 0:i64, %73
%75:i64 = zext %74
%76:i64 = or %69, %75
%77:i64 = phi %0, %76, %62
%78:i64 = lshr %77, 3:i64 (hasExternalUses)
%79:i64 = and 4503599627370495:i64, %78
%80:i64 = and 9223372036854775808:i64, %8 (hasExternalUses)
%81:i64 = or %79, %80
infer %81
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2:i64 = var
%3:i1 = eq 0:i64, %2
%4:i64 = var
%5:i64 = select %3, 0:i64, %4
%6:i64 = var
%7:i1 = eq 0:i64, %6
%8:i64 = select %7, 0:i64, %4
%9:i64 = phi %1, 0:i64, %5, 0:i64, %8
%10:i64 = phi %0, %9, %4
infer %10
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1 = block 4
%2:i8 = var (range=[-1,2))
%3:i8 = var (range=[-1,2))
%4:i8 = phi %1, %2, 1:i8, 255:i8, %3
%5:i8 = phi %0, %4, 0:i8
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i1 = phi %0, 0:i1, 1:i1
infer %1
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i1 = var
%2:i1 = phi %0, %1, 0:i1
infer %2
>
<noinfer> <>
<sprofile > <13>
------------------------------------------------------
<%0 = block 2
%1:i1 = var
%2:i1 = phi %0, %1, 1:i1
infer %2
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i1 = var
%2:i1 = phi %0, 0:i1, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i1 = var
%2:i1 = phi %0, 1:i1, %1
infer %2
>
<noinfer> <>
<sprofile > <23>
------------------------------------------------------
<%0 = block 2
%1:i1 = var
%2:i1 = xor 1:i1, %1
%3:i1 = phi %0, %2, 0:i1
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i1 = var
%2:i1 = xor 1:i1, %1
%3:i1 = phi %0, 1:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i1 = var
%2:i1 = xor 1:i1, %1
%3:i8 = zext %2
%4:i8 = phi %0, 1:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i1 = var
%2:i8 = zext %1
%3:i8 = phi %0, 2:i8, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i128 = phi %0, 0:i128, 340282366920938463463374607431768211455:i128
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i128 = phi %0, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2 = block 2
%3:i128 = var
%4:i128 = var
%5:i128 = phi %2, %3, %4
%6:i128 = phi %0, %1, %5
infer %6
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i1 = eq 0:i128, %1
%3:i1 = phi %0, 1:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i1 = eq 0:i128, %1
%3:i1 = phi %0, 1:i1, %2
pc %3 0:i1
%4:i1 = slt %1, 0:i128
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i1 = slt %1, 0:i128 (hasExternalUses)
%3:i128 = var
%4:i1 = slt %3, 0:i128 (hasExternalUses)
%5:i1 = xor %2, %4
%6 = block 4
%7:i128 = sub 0:i128, %1
%8:i128 = select %2, %7, %1
%9:i128 = and 18446744073709551615:i128, %8
%10:i128 = sub 0:i128, %3
%11:i128 = select %4, %10, %3
%12:i128 = and 18446744073709551615:i128, %11
%13:i128 = mulnuw %9, %12
%14:i128 = mul %8, %11
%15:i128 = lshr %11, 64:i128
%16:i128 = mulnw %9, %15
%17:i128 = shl %16, 64:i128
%18:i129 = uadd.with.overflow %13, %17
%19:i128 = extractvalue %18, 0:i32
%20:i128 = lshr %8, 64:i128
%21:i128 = mulnw %12, %20
%22:i128 = shl %21, 64:i128
%23:i129 = uadd.with.overflow %13, %22
%24:i128 = extractvalue %23, 0:i32
%25:i128 = phi %6, %13, %14, %19, %24
%26:i128 = sub 0:i128, %25
%27:i128 = select %5, %26, %25 (hasExternalUses)
%28:i1 = slt %27, 0:i128
%29:i1 = xor %5, %28
%30:i1 = extractvalue %18, 1:i32
%31:i1 = ult 18446744073709551615:i128, %16
%32:i1 = select %30, 1:i1, %31
%33:i1 = extractvalue %23, 1:i32
%34:i1 = ult 18446744073709551615:i128, %21
%35:i1 = select %33, 1:i1, %34
%36:i1 = phi %6, 0:i1, 1:i1, %32, %35
%37:i1 = select %29, 1:i1, %36
%38:i32 = zext %37
%39:i32 = phi %0, 0:i32, %38
infer %39
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i1 = slt %1, 0:i128 (hasExternalUses)
%3:i128 = var
%4:i1 = slt %3, 0:i128 (hasExternalUses)
%5:i1 = xor %2, %4
%6 = block 4
%7:i128 = sub 0:i128, %1
%8:i128 = select %2, %7, %1
%9:i128 = and 18446744073709551615:i128, %8
%10:i128 = sub 0:i128, %3
%11:i128 = select %4, %10, %3
%12:i128 = and 18446744073709551615:i128, %11
%13:i128 = mulnuw %9, %12
%14:i128 = mul %8, %11
%15:i128 = lshr %11, 64:i128
%16:i128 = mulnw %9, %15
%17:i128 = shl %16, 64:i128
%18:i129 = uadd.with.overflow %13, %17
%19:i128 = extractvalue %18, 0:i32
%20:i128 = lshr %8, 64:i128
%21:i128 = mulnw %12, %20
%22:i128 = shl %21, 64:i128
%23:i129 = uadd.with.overflow %13, %22
%24:i128 = extractvalue %23, 0:i32
%25:i128 = phi %6, %13, %14, %19, %24
%26:i128 = sub 0:i128, %25
%27:i128 = select %5, %26, %25 (hasExternalUses)
%28:i1 = slt %27, 0:i128
%29:i1 = xor %5, %28
%30:i1 = extractvalue %18, 1:i32
%31:i1 = ult 18446744073709551615:i128, %16
%32:i1 = select %30, 1:i1, %31
%33:i1 = extractvalue %23, 1:i32
%34:i1 = ult 18446744073709551615:i128, %21
%35:i1 = select %33, 1:i1, %34
%36:i1 = phi %6, 0:i1, 1:i1, %32, %35
%37:i1 = select %29, 1:i1, %36
%38:i8 = zext %37
%39:i8 = phi %0, 0:i8, %38
infer %39
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i1 = slt %1, 0:i128 (hasExternalUses)
%3:i128 = var
%4:i1 = slt %3, 0:i128 (hasExternalUses)
%5:i1 = xor %2, %4
%6 = block 4
%7:i128 = sub 0:i128, %1
%8:i128 = select %2, %7, %1
%9:i128 = sub 0:i128, %3
%10:i128 = select %4, %9, %3
%11:i128 = mul %8, %10
%12:i128 = and 18446744073709551615:i128, %8
%13:i128 = and 18446744073709551615:i128, %10
%14:i128 = mulnuw %12, %13
%15:i128 = lshr %10, 64:i128
%16:i128 = mulnw %12, %15
%17:i128 = shl %16, 64:i128
%18:i129 = uadd.with.overflow %14, %17
%19:i128 = extractvalue %18, 0:i32
%20:i128 = lshr %8, 64:i128
%21:i128 = mulnw %13, %20
%22:i128 = shl %21, 64:i128
%23:i129 = uadd.with.overflow %14, %22
%24:i128 = extractvalue %23, 0:i32
%25:i128 = phi %6, %11, %19, %24, %14
%26:i128 = sub 0:i128, %25
%27:i128 = select %5, %26, %25 (hasExternalUses)
%28:i1 = slt %27, 0:i128
%29:i1 = xor %5, %28
%30:i1 = extractvalue %18, 1:i32
%31:i1 = ult 18446744073709551615:i128, %16
%32:i1 = select %30, 1:i1, %31
%33:i1 = extractvalue %23, 1:i32
%34:i1 = ult 18446744073709551615:i128, %21
%35:i1 = select %33, 1:i1, %34
%36:i1 = phi %6, 1:i1, %32, %35, 0:i1
%37:i1 = select %29, 1:i1, %36
%38:i32 = zext %37
%39:i32 = phi %0, 0:i32, %38
infer %39
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i1 = slt %1, 0:i128 (hasExternalUses)
%3:i128 = var
%4:i1 = slt %3, 0:i128 (hasExternalUses)
%5:i1 = xor %2, %4
%6 = block 4
%7:i128 = sub 0:i128, %1
%8:i128 = select %2, %7, %1
%9:i128 = sub 0:i128, %3
%10:i128 = select %4, %9, %3
%11:i128 = mul %8, %10
%12:i128 = and 18446744073709551615:i128, %8
%13:i128 = and 18446744073709551615:i128, %10
%14:i128 = mulnuw %12, %13
%15:i128 = lshr %10, 64:i128
%16:i128 = mulnw %12, %15
%17:i128 = shl %16, 64:i128
%18:i129 = uadd.with.overflow %14, %17
%19:i128 = extractvalue %18, 0:i32
%20:i128 = lshr %8, 64:i128
%21:i128 = mulnw %13, %20
%22:i128 = shl %21, 64:i128
%23:i129 = uadd.with.overflow %14, %22
%24:i128 = extractvalue %23, 0:i32
%25:i128 = phi %6, %11, %19, %24, %14
%26:i128 = sub 0:i128, %25
%27:i128 = select %5, %26, %25 (hasExternalUses)
%28:i1 = slt %27, 0:i128
%29:i1 = xor %5, %28
%30:i1 = extractvalue %18, 1:i32
%31:i1 = ult 18446744073709551615:i128, %16
%32:i1 = select %30, 1:i1, %31
%33:i1 = extractvalue %23, 1:i32
%34:i1 = ult 18446744073709551615:i128, %21
%35:i1 = select %33, 1:i1, %34
%36:i1 = phi %6, 1:i1, %32, %35, 0:i1
%37:i1 = select %29, 1:i1, %36
%38:i8 = zext %37
%39:i8 = phi %0, 0:i8, %38
infer %39
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i1 = slt %1, 0:i128 (hasExternalUses)
%3:i128 = var
%4:i1 = slt %3, 0:i128 (hasExternalUses)
%5:i1 = xor %2, %4 (hasExternalUses)
%6 = block 4
%7:i128 = sub 0:i128, %1
%8:i128 = select %2, %7, %1
%9:i128 = and 18446744073709551615:i128, %8
%10:i128 = sub 0:i128, %3
%11:i128 = select %4, %10, %3
%12:i128 = and 18446744073709551615:i128, %11
%13:i128 = mulnuw %9, %12
%14:i128 = mul %8, %11
%15:i128 = lshr %11, 64:i128
%16:i128 = mulnw %9, %15
%17:i128 = shl %16, 64:i128
%18:i129 = uadd.with.overflow %13, %17
%19:i128 = extractvalue %18, 0:i32
%20:i128 = lshr %8, 64:i128
%21:i128 = mulnw %12, %20
%22:i128 = shl %21, 64:i128
%23:i129 = uadd.with.overflow %13, %22
%24:i128 = extractvalue %23, 0:i32
%25:i128 = phi %6, %13, %14, %19, %24
%26:i128 = sub 0:i128, %25
%27:i128 = select %5, %26, %25 (hasExternalUses)
%28:i128 = phi %0, 0:i128, %27
infer %28
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i1 = slt %1, 0:i128 (hasExternalUses)
%3:i128 = var
%4:i1 = slt %3, 0:i128 (hasExternalUses)
%5:i1 = xor %2, %4 (hasExternalUses)
%6 = block 4
%7:i128 = sub 0:i128, %1
%8:i128 = select %2, %7, %1
%9:i128 = sub 0:i128, %3
%10:i128 = select %4, %9, %3
%11:i128 = mul %8, %10
%12:i128 = and 18446744073709551615:i128, %8
%13:i128 = and 18446744073709551615:i128, %10
%14:i128 = mulnuw %12, %13
%15:i128 = lshr %10, 64:i128
%16:i128 = mulnw %12, %15
%17:i128 = shl %16, 64:i128
%18:i129 = uadd.with.overflow %14, %17
%19:i128 = extractvalue %18, 0:i32
%20:i128 = lshr %8, 64:i128
%21:i128 = mulnw %13, %20
%22:i128 = shl %21, 64:i128
%23:i129 = uadd.with.overflow %14, %22
%24:i128 = extractvalue %23, 0:i32
%25:i128 = phi %6, %11, %19, %24, %14
%26:i128 = sub 0:i128, %25
%27:i128 = select %5, %26, %25 (hasExternalUses)
%28:i128 = phi %0, 0:i128, %27
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i128 = var
%3:i128 = phi %0, %1, %2
%4:i1 = slt %3, 0:i128
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i128 = var
%3:i128 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <23>
------------------------------------------------------
<%0 = block 2
%1:i128 = var
%2:i128 = var
%3:i128 = sub %1, %2 (hasExternalUses)
%4:i128 = var
%5:i128 = sub %3, %4
%6:i128 = phi %0, %5, %3
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i16 = var
%2:i16 = phi %0, 0:i16, %1
%3:i24 = zext %2
%4:i24 = shlnuw %3, 8:i24
%5:i8 = phi %0, 1:i8, 0:i8
%6:i24 = zext %5
%7:i24 = or %4, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i16 = var
%2:i16 = phi %0, 0:i16, %1
%3:i24 = zext %2
%4:i24 = shlnuw %3, 8:i24
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i16 = var
%2:i16 = phi %0, 0:i16, %1
%3:i24 = zext %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i16 = var
%2:i16 = phi %0, 0:i16, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i16 = var
%2:i16 = var
%3:i16 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i24 = var
%2:i24 = lshr %1, 8:i24
%3:i16 = trunc %2
%4:i16 = phi %0, 0:i16, %3
%5:i24 = zext %4
%6:i24 = shlnuw %5, 8:i24
%7:i8 = trunc %1
%8:i8 = phi %0, 14:i8, %7
%9:i24 = zext %8
%10:i24 = or %6, %9
infer %10
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i24 = var
%2:i24 = lshr %1, 8:i24
%3:i16 = trunc %2
%4:i16 = phi %0, 0:i16, %3
%5:i24 = zext %4
%6:i24 = shlnuw %5, 8:i24
infer %6
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i24 = var
%2:i24 = lshr %1, 8:i24
%3:i16 = trunc %2
%4:i16 = phi %0, 0:i16, %3
%5:i24 = zext %4
infer %5
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i24 = var
%2:i24 = lshr %1, 8:i24
%3:i16 = trunc %2
%4:i16 = phi %0, 0:i16, %3
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i24 = var
%2:i8 = trunc %1
%3:i8 = phi %0, 14:i8, %2
%4:i24 = zext %3
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i24 = var
%2:i8 = trunc %1
%3:i8 = phi %0, 14:i8, %2
infer %3
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = phi %0, 0:i32, 1:i32
infer %1
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = phi %0, 0:i32, 4294967295:i32
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = phi %0, 1:i32, 0:i32
infer %1
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = phi %0, 2147483648:i32, 2147483647:i32
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%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
%10 = block 2
%11:i32 = var
%12:i32 = var
%13:i32 = phi %10, %11, %12
%14:i32 = var
%15:i32 = phi %9, %13, %14
%16:i32 = var
%17:i32 = phi %8, %15, %16
%18:i32 = var
%19:i32 = phi %7, %17, %18
%20:i32 = var
%21:i32 = phi %6, %19, %20
%22:i32 = var
%23:i32 = phi %5, %21, %22
%24:i32 = var
%25:i32 = phi %4, %23, %24
%26:i32 = var
%27:i32 = phi %3, %25, %26
%28:i32 = var
%29:i32 = phi %2, %27, %28
%30:i32 = phi %0, %1, %29
%31:i1 = eq 0:i32, %30
infer %31
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%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
%10 = block 2
%11:i32 = var
%12:i32 = var
%13:i32 = phi %10, %11, %12
%14:i32 = var
%15:i32 = phi %9, %13, %14
%16:i32 = var
%17:i32 = phi %8, %15, %16
%18:i32 = var
%19:i32 = phi %7, %17, %18
%20:i32 = var
%21:i32 = phi %6, %19, %20
%22:i32 = var
%23:i32 = phi %5, %21, %22
%24:i32 = var
%25:i32 = phi %4, %23, %24
%26:i32 = var
%27:i32 = phi %3, %25, %26
%28:i32 = var
%29:i32 = phi %2, %27, %28
%30:i32 = phi %0, %1, %29
infer %30
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%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
%10 = block 3
%11:i32 = var
%12:i32 = var
%13:i32 = var
%14:i32 = phi %10, %11, %12, %13
%15:i32 = var
%16:i32 = phi %9, %14, %15
%17:i32 = var
%18:i32 = phi %8, %16, %17
%19:i32 = var
%20:i32 = phi %7, %18, %19
%21:i32 = var
%22:i32 = phi %6, %20, %21
%23:i32 = var
%24:i32 = phi %5, %22, %23
%25:i32 = var
%26:i32 = phi %4, %24, %25
%27:i32 = var
%28:i32 = phi %3, %26, %27
%29:i32 = var
%30:i32 = phi %2, %28, %29
%31:i32 = phi %0, %1, %30
%32:i1 = eq 0:i32, %31
infer %32
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%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
%10 = block 3
%11:i32 = var
%12:i32 = var
%13:i32 = var
%14:i32 = phi %10, %11, %12, %13
%15:i32 = var
%16:i32 = phi %9, %14, %15
%17:i32 = var
%18:i32 = phi %8, %16, %17
%19:i32 = var
%20:i32 = phi %7, %18, %19
%21:i32 = var
%22:i32 = phi %6, %20, %21
%23:i32 = var
%24:i32 = phi %5, %22, %23
%25:i32 = var
%26:i32 = phi %4, %24, %25
%27:i32 = var
%28:i32 = phi %3, %26, %27
%29:i32 = var
%30:i32 = phi %2, %28, %29
%31:i32 = phi %0, %1, %30
infer %31
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2 = block 2
%3 = block 2
%4:i32 = var
%5:i32 = phi %3, %4, %1
%6:i32 = var
%7 = block 2
%8:i64 = var
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %7, %9, %8
%11:i32 = trunc %10
%12:i32 = and 31:i32, %11
%13:i32 = lshr %6, %12
%14:i32 = phi %2, %5, %13
%15:i32 = phi %0, %1, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2 = block 2
%3:i32 = var
%4 = block 2
%5 = block 2
%6:i32 = var
%7:i32 = phi %5, %6, %3
%8:i32 = var
%9 = block 2
%10:i64 = var
%11:i64 = add 18446744073709551615:i64, %10
%12:i64 = phi %9, %11, %10
%13:i32 = trunc %12
%14:i32 = and 31:i32, %13
%15:i32 = lshr %8, %14
%16:i32 = phi %4, %7, %15
%17:i32 = phi %2, %3, %16
%18:i32 = phi %0, %1, %17
infer %18
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2 = block 2
%3:i32 = var
%4:i32 = phi %2, %3, 0:i32
%5:i32 = add %1, %4
%6:i32 = phi %0, %5, %4
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = eq 0:i32, %1
%3:i1 = phi %0, 0:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = eq 0:i32, %1
%3:i1 = phi %0, 1:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = eq 0:i32, %1
%3:i1 = phi %0, 1:i1, %2
pc %3 0:i1
%4:i1 = slt %1, 0:i32
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var
%6:i1 = slt %5, 0:i32
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5
%9:i32 = ctlz %4
%10:i32 = ctlz %8
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %4, %12
%14:i1 = ult %8, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16
%18:i32 = trunc %17
%19:i32 = and 31:i32, %18
%20:i32 = shl %4, %19
%21:i32 = lshr %20, 1:i32
%22:i32 = phi %0, %21, %20
%23:i32 = addnsw 4294967295:i32, %22
%24:i32 = var
%25:i32 = shl %24, 1:i32
%26:i32 = sub %25, %23 (hasExternalUses)
%27:i32 = ashr %26, 31:i32
%28:i32 = and %23, %27
infer %28
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var
%6:i1 = slt %5, 0:i32
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5
%9:i32 = ctlz %4
%10:i32 = ctlz %8
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %4, %12
%14:i1 = ult %8, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16
%18:i32 = trunc %17
%19:i32 = and 31:i32, %18
%20:i32 = shl %4, %19
%21:i32 = lshr %20, 1:i32
%22:i32 = phi %0, %21, %20
%23:i32 = addnsw 4294967295:i32, %22
infer %23
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var
%6:i1 = slt %5, 0:i32
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16
%18:i32 = trunc %17
%19:i32 = and 31:i32, %18
%20:i32 = shlnuw 1:i32, %19
%21:i32 = shl %8, %19
%22:i32 = sub %4, %21
%23:i32 = lshr %21, 1:i32
%24:i32 = sub %22, %23
%25:i1 = slt 4294967295:i32, %24
%26:i64 = addnsw 18446744073709551615:i64, %17
%27:i32 = trunc %26
%28:i32 = and 31:i32, %27
%29:i32 = shlnuw 1:i32, %28
%30:i32 = select %25, %29, 0:i32
%31:i32 = or %20, %30
%32:i32 = phi %0, %31, %20
%33 = block 2
%34:i32 = select %25, %24, %22
%35:i32 = phi %0, %34, %22
%36:i32 = var
%37:i32 = shl %36, 1:i32
%38:i32 = phi %0, %23, %21
%39:i32 = addnsw 4294967295:i32, %38
%40:i32 = sub %37, %39
%41:i32 = ashr %40, 31:i32
%42:i32 = and %39, %41
%43:i32 = add %40, %42
%44:i32 = phi %33, %35, %43
%45:i32 = phi %0, %29, %20
%46:i32 = add 4294967295:i32, %45
%47:i32 = and %44, %46
%48:i32 = or %32, %47
infer %48
>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var
%6:i1 = slt %5, 0:i32
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16
%18:i32 = trunc %17
%19:i32 = and 31:i32, %18
%20:i32 = shlnuw 1:i32, %19
%21:i32 = shl %8, %19
%22:i32 = sub %4, %21
%23:i32 = lshr %21, 1:i32
%24:i32 = sub %22, %23
%25:i1 = slt 4294967295:i32, %24
%26:i64 = addnsw 18446744073709551615:i64, %17
%27:i32 = trunc %26
%28:i32 = and 31:i32, %27
%29:i32 = shlnuw 1:i32, %28
%30:i32 = select %25, %29, 0:i32
%31:i32 = or %20, %30
%32:i32 = phi %0, %31, %20
%33:i32 = var
%34:i32 = phi %0, %29, %20
%35:i32 = add 4294967295:i32, %34
%36:i32 = and %33, %35
%37:i32 = or %32, %36
infer %37
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var
%6:i1 = slt %5, 0:i32
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16
%18:i64 = addnsw 18446744073709551615:i64, %17
%19:i32 = trunc %18
%20:i32 = and 31:i32, %19
%21:i32 = shlnuw 1:i32, %20
%22:i32 = trunc %17
%23:i32 = and 31:i32, %22
%24:i32 = shlnuw 1:i32, %23
%25:i32 = phi %0, %21, %24
%26:i32 = add 4294967295:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var
%6:i1 = slt %5, 0:i32
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16
%18:i64 = addnsw 18446744073709551615:i64, %17
%19:i64 = phi %0, %18, %17
%20:i1 = eq 0:i64, %19
infer %20
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var
%6:i1 = slt %5, 0:i32
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16
%18:i64 = addnsw 18446744073709551615:i64, %17
%19:i64 = phi %0, %18, %17
%20:i32 = trunc %19
%21:i32 = and 31:i32, %20
infer %21
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var
%6:i1 = slt %5, 0:i32
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16
%18:i64 = addnsw 18446744073709551615:i64, %17
%19:i64 = phi %0, %18, %17
%20:i32 = trunc %19
infer %20 (demandedBits=00000000000000000000000000011111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var (range=[1,-2147483647))
%6:i32 = ctlz %5
%7:i32 = ctlz %4
%8:i32 = subnsw %6, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %5, %9
%11:i1 = ult %4, %10
%12:i64 = select %11, 18446744073709551615:i64, 0:i64
%13:i64 = zext %8
%14:i64 = addnsw %12, %13
%15:i64 = addnsw 18446744073709551615:i64, %14
%16:i64 = phi %0, %15, %14
%17:i1 = eq 0:i64, %16
infer %17
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var (range=[1,-2147483647))
%6:i32 = ctlz %5
%7:i32 = ctlz %4
%8:i32 = subnsw %6, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %5, %9
%11:i1 = ult %4, %10
%12:i64 = select %11, 18446744073709551615:i64, 0:i64
%13:i64 = zext %8
%14:i64 = addnsw %12, %13
%15:i64 = addnsw 18446744073709551615:i64, %14
%16:i64 = phi %0, %15, %14
%17:i32 = trunc %16
%18:i32 = and 31:i32, %17
infer %18
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1
%5:i32 = var (range=[1,-2147483647))
%6:i32 = ctlz %5
%7:i32 = ctlz %4
%8:i32 = subnsw %6, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %5, %9
%11:i1 = ult %4, %10
%12:i64 = select %11, 18446744073709551615:i64, 0:i64
%13:i64 = zext %8
%14:i64 = addnsw %12, %13
%15:i64 = addnsw 18446744073709551615:i64, %14
%16:i64 = phi %0, %15, %14
%17:i32 = trunc %16
infer %17 (demandedBits=00000000000000000000000000011111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1 (hasExternalUses)
%5:i32 = var
%6:i1 = slt %5, 0:i32 (hasExternalUses)
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5 (hasExternalUses)
%9:i32 = ctlz %4
%10:i32 = ctlz %8
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %4, %12
%14:i1 = ult %8, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16 (hasExternalUses)
%18:i32 = trunc %17
%19:i32 = and 31:i32, %18 (hasExternalUses)
%20:i32 = shl %4, %19 (hasExternalUses)
%21:i32 = lshr %20, 1:i32 (hasExternalUses)
%22:i32 = phi %0, %21, %20
infer %22
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1 (hasExternalUses)
%5:i32 = var
%6:i1 = slt %5, 0:i32 (hasExternalUses)
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5 (hasExternalUses)
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16 (hasExternalUses)
%18:i32 = trunc %17
%19:i32 = and 31:i32, %18
%20:i32 = shlnuw 1:i32, %19 (hasExternalUses)
%21:i32 = shl %8, %19 (hasExternalUses)
%22:i32 = sub %4, %21 (hasExternalUses)
%23:i32 = lshr %21, 1:i32 (hasExternalUses)
%24:i32 = sub %22, %23 (hasExternalUses)
%25:i1 = slt 4294967295:i32, %24 (hasExternalUses)
%26:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses)
%27:i32 = trunc %26
%28:i32 = and 31:i32, %27
%29:i32 = shlnuw 1:i32, %28 (hasExternalUses)
%30:i32 = select %25, %29, 0:i32
%31:i32 = or %20, %30 (hasExternalUses)
%32:i32 = phi %0, %31, %20
infer %32
>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1 (hasExternalUses)
%5:i32 = var
%6:i1 = slt %5, 0:i32 (hasExternalUses)
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5 (hasExternalUses)
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16 (hasExternalUses)
%18:i32 = trunc %17
%19:i32 = and 31:i32, %18 (hasExternalUses)
%20:i32 = shl %8, %19 (hasExternalUses)
%21:i32 = sub %4, %20 (hasExternalUses)
%22:i32 = lshr %20, 1:i32 (hasExternalUses)
%23:i32 = sub %21, %22
%24:i1 = slt 4294967295:i32, %23 (hasExternalUses)
%25:i32 = select %24, %23, %21 (hasExternalUses)
%26:i32 = phi %0, %25, %21
infer %26
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1 (hasExternalUses)
%5:i32 = var
%6:i1 = slt %5, 0:i32 (hasExternalUses)
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5 (hasExternalUses)
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16 (hasExternalUses)
%18:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses)
%19:i32 = trunc %18
%20:i32 = and 31:i32, %19
%21:i32 = shlnuw 1:i32, %20 (hasExternalUses)
%22:i32 = trunc %17
%23:i32 = and 31:i32, %22 (hasExternalUses)
%24:i32 = shlnuw 1:i32, %23 (hasExternalUses)
%25:i32 = phi %0, %21, %24
infer %25
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1 (hasExternalUses)
%5:i32 = var
%6:i1 = slt %5, 0:i32 (hasExternalUses)
%7:i32 = sub 0:i32, %5
%8:i32 = select %6, %7, %5 (hasExternalUses)
%9:i32 = ctlz %8
%10:i32 = ctlz %4
%11:i32 = subnsw %9, %10
%12:i32 = and 31:i32, %11
%13:i32 = shl %8, %12
%14:i1 = ult %4, %13
%15:i64 = select %14, 18446744073709551615:i64, 0:i64
%16:i64 = zext %11
%17:i64 = addnsw %15, %16 (hasExternalUses)
%18:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses)
%19:i64 = phi %0, %18, %17
infer %19
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1 (hasExternalUses)
%5:i32 = var (range=[1,-2147483647))
%6:i32 = ctlz %5
%7:i32 = ctlz %4
%8:i32 = subnsw %6, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %5, %9
%11:i1 = ult %4, %10
%12:i64 = select %11, 18446744073709551615:i64, 0:i64
%13:i64 = zext %8
%14:i64 = addnsw %12, %13 (hasExternalUses)
%15:i32 = trunc %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %5, %16 (hasExternalUses)
%18:i32 = sub %4, %17 (hasExternalUses)
%19:i32 = lshr %17, 1:i32 (hasExternalUses)
%20:i32 = sub %18, %19
%21:i1 = slt 4294967295:i32, %20
%22:i32 = select %21, %20, %18 (hasExternalUses)
%23:i32 = phi %0, %22, %18
infer %23
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = sub 0:i32, %1
%4:i32 = select %2, %3, %1 (hasExternalUses)
%5:i32 = var (range=[1,-2147483647))
%6:i32 = ctlz %5
%7:i32 = ctlz %4
%8:i32 = subnsw %6, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %5, %9
%11:i1 = ult %4, %10
%12:i64 = select %11, 18446744073709551615:i64, 0:i64
%13:i64 = zext %8
%14:i64 = addnsw %12, %13 (hasExternalUses)
%15:i64 = addnsw 18446744073709551615:i64, %14
%16:i64 = phi %0, %15, %14
infer %16
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = var
%4:i1 = slt %3, 0:i32 (hasExternalUses)
%5:i1 = xor %2, %4
%6 = block 4
%7:i32 = sub 0:i32, %1
%8:i32 = select %2, %7, %1
%9:i32 = and 65535:i32, %8
%10:i32 = sub 0:i32, %3
%11:i32 = select %4, %10, %3
%12:i32 = and 65535:i32, %11
%13:i32 = mulnuw %9, %12
%14:i32 = mul %8, %11
%15:i32 = lshr %11, 16:i32
%16:i32 = mulnw %9, %15
%17:i32 = shl %16, 16:i32
%18:i33 = uadd.with.overflow %13, %17
%19:i32 = extractvalue %18, 0:i32
%20:i32 = lshr %8, 16:i32
%21:i32 = mulnw %12, %20
%22:i32 = shl %21, 16:i32
%23:i33 = uadd.with.overflow %13, %22
%24:i32 = extractvalue %23, 0:i32
%25:i32 = phi %6, %13, %14, %19, %24
%26:i32 = sub 0:i32, %25
%27:i32 = select %5, %26, %25 (hasExternalUses)
%28:i1 = slt %27, 0:i32
%29:i1 = xor %5, %28
%30:i1 = extractvalue %18, 1:i32
%31:i1 = ult 65535:i32, %16
%32:i1 = select %30, 1:i1, %31
%33:i1 = extractvalue %23, 1:i32
%34:i1 = ult 65535:i32, %21
%35:i1 = select %33, 1:i1, %34
%36:i1 = phi %6, 0:i1, 1:i1, %32, %35
%37:i1 = select %29, 1:i1, %36
%38:i32 = zext %37
%39:i32 = phi %0, 0:i32, %38
infer %39
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = var
%4:i1 = slt %3, 0:i32 (hasExternalUses)
%5:i1 = xor %2, %4
%6 = block 4
%7:i32 = sub 0:i32, %1
%8:i32 = select %2, %7, %1
%9:i32 = sub 0:i32, %3
%10:i32 = select %4, %9, %3
%11:i32 = mul %8, %10
%12:i32 = and 65535:i32, %8
%13:i32 = and 65535:i32, %10
%14:i32 = mulnuw %12, %13
%15:i32 = lshr %10, 16:i32
%16:i32 = mulnw %12, %15
%17:i32 = shl %16, 16:i32
%18:i33 = uadd.with.overflow %14, %17
%19:i32 = extractvalue %18, 0:i32
%20:i32 = lshr %8, 16:i32
%21:i32 = mulnw %13, %20
%22:i32 = shl %21, 16:i32
%23:i33 = uadd.with.overflow %14, %22
%24:i32 = extractvalue %23, 0:i32
%25:i32 = phi %6, %11, %19, %24, %14
%26:i32 = sub 0:i32, %25
%27:i32 = select %5, %26, %25 (hasExternalUses)
%28:i1 = slt %27, 0:i32
%29:i1 = xor %5, %28
%30:i1 = extractvalue %18, 1:i32
%31:i1 = ult 65535:i32, %16
%32:i1 = select %30, 1:i1, %31
%33:i1 = extractvalue %23, 1:i32
%34:i1 = ult 65535:i32, %21
%35:i1 = select %33, 1:i1, %34
%36:i1 = phi %6, 1:i1, %32, %35, 0:i1
%37:i1 = select %29, 1:i1, %36
%38:i32 = zext %37
%39:i32 = phi %0, 0:i32, %38
infer %39
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = var
%4:i1 = slt %3, 0:i32 (hasExternalUses)
%5:i1 = xor %2, %4 (hasExternalUses)
%6 = block 4
%7:i32 = sub 0:i32, %1
%8:i32 = select %2, %7, %1
%9:i32 = and 65535:i32, %8
%10:i32 = sub 0:i32, %3
%11:i32 = select %4, %10, %3
%12:i32 = and 65535:i32, %11
%13:i32 = mulnuw %9, %12
%14:i32 = mul %8, %11
%15:i32 = lshr %11, 16:i32
%16:i32 = mulnw %9, %15
%17:i32 = shl %16, 16:i32
%18:i33 = uadd.with.overflow %13, %17
%19:i32 = extractvalue %18, 0:i32
%20:i32 = lshr %8, 16:i32
%21:i32 = mulnw %12, %20
%22:i32 = shl %21, 16:i32
%23:i33 = uadd.with.overflow %13, %22
%24:i32 = extractvalue %23, 0:i32
%25:i32 = phi %6, %13, %14, %19, %24
%26:i32 = sub 0:i32, %25
%27:i32 = select %5, %26, %25 (hasExternalUses)
%28:i32 = phi %0, 0:i32, %27
infer %28
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i1 = slt %1, 0:i32 (hasExternalUses)
%3:i32 = var
%4:i1 = slt %3, 0:i32 (hasExternalUses)
%5:i1 = xor %2, %4 (hasExternalUses)
%6 = block 4
%7:i32 = sub 0:i32, %1
%8:i32 = select %2, %7, %1
%9:i32 = sub 0:i32, %3
%10:i32 = select %4, %9, %3
%11:i32 = mul %8, %10
%12:i32 = and 65535:i32, %8
%13:i32 = and 65535:i32, %10
%14:i32 = mulnuw %12, %13
%15:i32 = lshr %10, 16:i32
%16:i32 = mulnw %12, %15
%17:i32 = shl %16, 16:i32
%18:i33 = uadd.with.overflow %14, %17
%19:i32 = extractvalue %18, 0:i32
%20:i32 = lshr %8, 16:i32
%21:i32 = mulnw %13, %20
%22:i32 = shl %21, 16:i32
%23:i33 = uadd.with.overflow %14, %22
%24:i32 = extractvalue %23, 0:i32
%25:i32 = phi %6, %11, %19, %24, %14
%26:i32 = sub 0:i32, %25
%27:i32 = select %5, %26, %25 (hasExternalUses)
%28:i32 = phi %0, 0:i32, %27
infer %28
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %1, %3
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = addnw 24:i32, %8
%10:i32 = and 31:i32, %9
%11:i32 = shl %7, %10
%12:i32 = phi %0, %11, %7
%13:i32 = shl %12, 3:i32
%14:i32 = or 67108864:i32, %13
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %1, %3
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = addnw 24:i32, %8
%10:i32 = and 31:i32, %9
%11:i32 = shl %7, %10
%12:i32 = phi %0, %11, %7
%13:i32 = shl %12, 3:i32
infer %13 (demandedBits=11111011111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = addnw 24:i32, %8
%10:i32 = and 31:i32, %9
%11:i32 = shl %7, %10
%12:i32 = phi %0, %11, %7
%13:i32 = shl %12, 3:i32
%14:i32 = or 67108864:i32, %13
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = addnw 24:i32, %8
%10:i32 = and 31:i32, %9
%11:i32 = shl %7, %10
%12:i32 = phi %0, %11, %7
%13:i32 = shl %12, 3:i32
infer %13 (demandedBits=11111011111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20
infer %21
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20 (hasExternalUses)
%22:i1 = eq 0:i32, %21
infer %22
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20 (hasExternalUses)
%22:i1 = eq 0:i32, %21
pc %22 0:i1
%23:i1 = ult %21, 32:i32
infer %23
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20 (hasExternalUses)
%22:i1 = eq 0:i32, %21
pc %22 0:i1
%23:i1 = ult %21, 32:i32
pc %23 1:i1
%24:i32 = addnw 24:i32, %16
%25:i32 = and 31:i32, %24
%26:i32 = shl %15, %25
%27:i32 = phi %13, %26, %15
%28:i32 = shl %27, 3:i32
%29:i32 = or 67108864:i32, %28 (hasExternalUses)
%30:i32 = lshr %29, %21
%31:i32 = subnw 32:i32, %21
%32:i32 = shl %29, %31
%33:i1 = ne 0:i32, %32
%34:i32 = zext %33
%35:i32 = or %30, %34
infer %35
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20 (hasExternalUses)
%22:i1 = eq 0:i32, %21
pc %22 0:i1
%23:i1 = ult %21, 32:i32
pc %23 1:i1
%24:i32 = addnw 24:i32, %16
%25:i32 = and 31:i32, %24
%26:i32 = shl %15, %25
%27:i32 = phi %13, %26, %15
%28:i32 = shl %27, 3:i32
%29:i32 = or 67108864:i32, %28 (hasExternalUses)
%30:i32 = lshr %29, %21
infer %30
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20 (hasExternalUses)
%22:i1 = eq 0:i32, %21
pc %22 0:i1
%23:i1 = ult %21, 32:i32
pc %23 1:i1
%24:i32 = addnw 24:i32, %16
%25:i32 = and 31:i32, %24
%26:i32 = shl %15, %25
%27:i32 = phi %13, %26, %15
%28:i32 = shl %27, 3:i32
%29:i32 = or 67108864:i32, %28 (hasExternalUses)
%30:i32 = subnw 32:i32, %21
%31:i32 = shl %29, %30
%32:i1 = ne 0:i32, %31
%33:i32 = zext %32
infer %33
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20 (hasExternalUses)
%22:i1 = eq 0:i32, %21
pc %22 0:i1
%23:i1 = ult %21, 32:i32
pc %23 1:i1
%24:i32 = addnw 24:i32, %16
%25:i32 = and 31:i32, %24
%26:i32 = shl %15, %25
%27:i32 = phi %13, %26, %15
%28:i32 = shl %27, 3:i32
%29:i32 = or 67108864:i32, %28 (hasExternalUses)
%30:i32 = subnw 32:i32, %21
%31:i32 = shl %29, %30
%32:i1 = ne 0:i32, %31
infer %32
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20 (hasExternalUses)
%22:i1 = eq 0:i32, %21
pc %22 0:i1
%23:i1 = ult %21, 32:i32
pc %23 1:i1
%24:i32 = addnw 24:i32, %16
%25:i32 = and 31:i32, %24
%26:i32 = shl %15, %25
%27:i32 = phi %13, %26, %15
%28:i32 = shl %27, 3:i32
%29:i32 = or 67108864:i32, %28 (hasExternalUses)
%30:i32 = subnw 32:i32, %21
%31:i32 = shl %29, %30
infer %31
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1
%3:i32 = var
%4:i32 = and 2147483647:i32, %3
%5:i1 = ult %2, %4
%6:i32 = select %5, %3, %1
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10
%12:i32 = phi %0, %9, %11
%13 = block 2
%14:i32 = select %5, %1, %3
%15:i32 = and 8388607:i32, %14
%16:i32 = ctlz %15
%17:i32 = subnsw 9:i32, %16
%18:i32 = lshr %14, 23:i32
%19:i32 = and 255:i32, %18
%20:i32 = phi %13, %17, %19
%21:i32 = subnsw %12, %20 (hasExternalUses)
%22:i1 = eq 0:i32, %21
pc %22 0:i1
%23:i1 = ult %21, 32:i32
pc %23 1:i1
%24:i32 = subnw 32:i32, %21
infer %24
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1 (hasExternalUses)
%3:i32 = var
%4:i32 = and 2147483647:i32, %3 (hasExternalUses)
%5:i1 = ult %2, %4 (hasExternalUses)
%6:i32 = select %5, %1, %3 (hasExternalUses)
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7 (hasExternalUses)
%9:i32 = addnw 24:i32, %8
%10:i32 = and 31:i32, %9
%11:i32 = shl %7, %10
%12:i32 = phi %0, %11, %7
infer %12 (demandedBits=00011111011111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1 (hasExternalUses)
%3:i32 = var
%4:i32 = and 2147483647:i32, %3 (hasExternalUses)
%5:i1 = ult %2, %4 (hasExternalUses)
%6:i32 = select %5, %1, %3 (hasExternalUses)
%7:i32 = and 8388607:i32, %6 (hasExternalUses)
%8:i32 = ctlz %7 (hasExternalUses)
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10 (hasExternalUses)
%12:i32 = phi %0, %9, %11
infer %12
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1 (hasExternalUses)
%3:i32 = var
%4:i32 = and 2147483647:i32, %3 (hasExternalUses)
%5:i1 = ult %2, %4 (hasExternalUses)
%6:i32 = select %5, %3, %1 (hasExternalUses)
%7:i32 = and 8388607:i32, %6
%8:i32 = ctlz %7 (hasExternalUses)
%9:i32 = addnw 24:i32, %8
%10:i32 = and 31:i32, %9
%11:i32 = shl %7, %10
%12:i32 = phi %0, %11, %7
infer %12 (demandedBits=00011111011111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 2147483647:i32, %1 (hasExternalUses)
%3:i32 = var
%4:i32 = and 2147483647:i32, %3 (hasExternalUses)
%5:i1 = ult %2, %4 (hasExternalUses)
%6:i32 = select %5, %3, %1 (hasExternalUses)
%7:i32 = and 8388607:i32, %6 (hasExternalUses)
%8:i32 = ctlz %7 (hasExternalUses)
%9:i32 = subnsw 9:i32, %8
%10:i32 = lshr %6, 23:i32
%11:i32 = and 255:i32, %10 (hasExternalUses)
%12:i32 = phi %0, %9, %11
infer %12
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i128 = zext %3
%5:i32 = lshr %1, 23:i32
%6:i16 = trunc %5
%7:i16 = and 255:i16, %6
%8:i16 = subnw 150:i16, %7
%9:i32 = sext %8
%10:i128 = zext %9
%11:i128 = lshr %4, %10
%12:i16 = addnsw 65386:i16, %7
%13:i32 = sext %12
%14:i128 = zext %13
%15:i128 = shl %4, %14
%16:i128 = phi %0, %11, %15
%17:i128 = sub 0:i128, %16
infer %17
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i128 = zext %3
%5:i32 = lshr %1, 23:i32
%6:i16 = trunc %5
%7:i16 = and 255:i16, %6
%8:i16 = subnw 150:i16, %7
%9:i32 = sext %8
%10:i128 = zext %9
%11:i128 = lshr %4, %10
%12:i32 = and 8388607:i32, %1
%13:i32 = or 8388608:i32, %12
%14:i128 = zext %13
%15:i16 = addnsw 65386:i16, %7
%16:i32 = sext %15
%17:i128 = zext %16
%18:i128 = shl %14, %17
%19:i128 = phi %0, %11, %18
%20:i128 = sub 0:i128, %19
infer %20
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i128 = zext %3
%5:i32 = lshr %1, 23:i32
%6:i16 = trunc %5
%7:i16 = and 255:i16, %6 (hasExternalUses)
%8:i16 = subnw 150:i16, %7
%9:i32 = sext %8
%10:i128 = zext %9
%11:i128 = lshr %4, %10
%12:i16 = addnsw 65386:i16, %7
%13:i32 = sext %12
%14:i128 = zext %13
%15:i128 = shl %4, %14
%16:i128 = phi %0, %11, %15
infer %16
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i128 = zext %3
%5:i32 = lshr %1, 23:i32
%6:i16 = trunc %5
%7:i16 = and 255:i16, %6 (hasExternalUses)
%8:i16 = subnw 150:i16, %7
%9:i32 = sext %8
%10:i128 = zext %9
%11:i128 = lshr %4, %10
%12:i32 = and 8388607:i32, %1
%13:i32 = or 8388608:i32, %12
%14:i128 = zext %13
%15:i16 = addnsw 65386:i16, %7
%16:i32 = sext %15
%17:i128 = zext %16
%18:i128 = shl %14, %17
%19:i128 = phi %0, %11, %18
infer %19
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i32 = lshr %1, 23:i32
%5:i16 = trunc %4
%6:i16 = and 255:i16, %5
%7:i16 = subnw 150:i16, %6
%8:i32 = zext %7
%9:i32 = lshr %3, %8
%10:i16 = addnsw 65386:i16, %6
%11:i32 = zext %10
%12:i32 = shl %3, %11
%13:i32 = phi %0, %9, %12
%14:i32 = sub 0:i32, %13
infer %14
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i32 = lshr %1, 23:i32
%5:i16 = trunc %4
%6:i16 = and 255:i16, %5
%7:i16 = subnw 150:i16, %6
%8:i32 = zext %7
%9:i32 = lshr %3, %8
%10:i32 = and 8388607:i32, %1
%11:i32 = or 8388608:i32, %10
%12:i16 = addnsw 65386:i16, %6
%13:i32 = zext %12
%14:i32 = shl %11, %13
%15:i32 = phi %0, %9, %14
%16:i32 = sub 0:i32, %15
infer %16
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i32 = lshr %1, 23:i32
%5:i16 = trunc %4
%6:i16 = and 255:i16, %5 (hasExternalUses)
%7:i16 = subnw 150:i16, %6
%8:i32 = zext %7
%9:i32 = lshr %3, %8
%10:i16 = addnsw 65386:i16, %6
%11:i32 = zext %10
%12:i32 = shl %3, %11
%13:i32 = phi %0, %9, %12
infer %13
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i32 = lshr %1, 23:i32
%5:i16 = trunc %4
%6:i16 = and 255:i16, %5 (hasExternalUses)
%7:i16 = subnw 150:i16, %6
%8:i32 = zext %7
%9:i32 = lshr %3, %8
%10:i32 = and 8388607:i32, %1
%11:i32 = or 8388608:i32, %10
%12:i16 = addnsw 65386:i16, %6
%13:i32 = zext %12
%14:i32 = shl %11, %13
%15:i32 = phi %0, %9, %14
infer %15
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i64 = zext %3
%5:i32 = lshr %1, 23:i32
%6:i16 = trunc %5
%7:i16 = and 255:i16, %6
%8:i16 = subnw 150:i16, %7
%9:i64 = zext %8
%10:i64 = lshr %4, %9
%11:i16 = addnsw 65386:i16, %7
%12:i64 = zext %11
%13:i64 = shl %4, %12
%14:i64 = phi %0, %10, %13
%15:i64 = sub 0:i64, %14
infer %15
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i64 = zext %3
%5:i32 = lshr %1, 23:i32
%6:i16 = trunc %5
%7:i16 = and 255:i16, %6
%8:i16 = subnw 150:i16, %7
%9:i64 = zext %8
%10:i64 = lshr %4, %9
%11:i32 = and 8388607:i32, %1
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i16 = addnsw 65386:i16, %7
%15:i64 = zext %14
%16:i64 = shl %13, %15
%17:i64 = phi %0, %10, %16
%18:i64 = sub 0:i64, %17
infer %18
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i64 = zext %3
%5:i32 = lshr %1, 23:i32
%6:i16 = trunc %5
%7:i16 = and 255:i16, %6 (hasExternalUses)
%8:i16 = subnw 150:i16, %7
%9:i64 = zext %8
%10:i64 = lshr %4, %9
%11:i16 = addnsw 65386:i16, %7
%12:i64 = zext %11
%13:i64 = shl %4, %12
%14:i64 = phi %0, %10, %13
infer %14
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = or 8388608:i32, %2
%4:i64 = zext %3
%5:i32 = lshr %1, 23:i32
%6:i16 = trunc %5
%7:i16 = and 255:i16, %6 (hasExternalUses)
%8:i16 = subnw 150:i16, %7
%9:i64 = zext %8
%10:i64 = lshr %4, %9
%11:i32 = and 8388607:i32, %1
%12:i32 = or 8388608:i32, %11
%13:i64 = zext %12
%14:i16 = addnsw 65386:i16, %7
%15:i64 = zext %14
%16:i64 = shl %13, %15
%17:i64 = phi %0, %10, %16
infer %17
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1 (hasExternalUses)
%3:i32 = ctlz %2 (hasExternalUses)
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2
infer %7
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = and 8388607:i32, %1 (hasExternalUses)
%3:i32 = ctlz %2 (hasExternalUses)
%4:i32 = subnsw 9:i32, %3
%5:i32 = phi %0, %4, 0:i32
infer %5
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = ctlz %1
%3:i32 = addnw 24:i32, %2
%4:i32 = and 31:i32, %3
%5:i32 = shl %1, %4
%6 = block 3
%7:i32 = subnsw 6:i32, %2
%8:i32 = and 31:i32, %7
%9:i32 = lshr %1, %8
%10:i32 = addnw 26:i32, %2
%11:i32 = and 31:i32, %10
%12:i32 = shl %1, %11
%13:i1 = ne 0:i32, %12
%14:i32 = zext %13
%15:i32 = or %9, %14
%16:i32 = shl %1, 1:i32
%17:i32 = phi %6, %15, %16, %1
%18:i32 = lshr %17, 2:i32
%19:i32 = and 1:i32, %18
%20:i32 = or %17, %19
%21:i32 = add 1:i32, %20
%22:i32 = and 67108864:i32, %21
%23:i1 = eq 0:i32, %22
%24:i32 = select %23, 2:i32, 3:i32
%25:i32 = lshr %21, %24
%26:i32 = phi %0, %5, %25
%27:i32 = and 8388607:i32, %26
%28:i32 = xor 31:i32, %2
%29:i32 = subnw 32:i32, %2
%30:i32 = select %23, %28, %29
%31:i32 = phi %0, %28, %30
%32:i32 = shlnsw %31, 23:i32
%33:i32 = addnsw 1065353216:i32, %32
%34:i32 = and 2139095040:i32, %33
%35:i32 = or %27, %34
infer %35
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = ctlz %1
%3:i32 = addnw 24:i32, %2
%4:i32 = and 31:i32, %3
%5:i32 = shl %1, %4
%6 = block 3
%7:i32 = subnsw 6:i32, %2
%8:i32 = and 31:i32, %7
%9:i32 = lshr %1, %8
%10:i32 = addnw 26:i32, %2
%11:i32 = and 31:i32, %10
%12:i32 = shl %1, %11
%13:i1 = ne 0:i32, %12
%14:i32 = zext %13
%15:i32 = or %9, %14
%16:i32 = shl %1, 1:i32
%17:i32 = phi %6, %15, %16, %1
%18:i32 = lshr %17, 2:i32
%19:i32 = and 1:i32, %18
%20:i32 = or %17, %19
%21:i32 = add 1:i32, %20
%22:i32 = and 67108864:i32, %21
%23:i1 = eq 0:i32, %22
%24:i32 = select %23, 2:i32, 3:i32
%25:i32 = lshr %21, %24
%26:i32 = phi %0, %5, %25
%27:i32 = and 8388607:i32, %26
infer %27
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = ctlz %1
%3:i32 = xor 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20
%22:i32 = subnw 32:i32, %2
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
%25:i32 = shlnsw %24, 23:i32
%26:i32 = addnsw 1065353216:i32, %25
%27:i32 = and 2139095040:i32, %26
infer %27
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = ctlz %1
%3:i32 = xor 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20
%22:i32 = subnw 32:i32, %2
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
%25:i32 = shlnsw %24, 23:i32
%26:i32 = addnsw 1065353216:i32, %25
infer %26 (demandedBits=01111111100000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = ctlz %1
%3:i32 = xor 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20
%22:i32 = subnw 32:i32, %2
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
%25:i32 = shlnsw %24, 23:i32
infer %25 (demandedBits=01111111110000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = ctlz %1 (hasExternalUses)
%3:i32 = addnw 24:i32, %2
%4:i32 = and 31:i32, %3
%5:i32 = shl %1, %4
%6 = block 3
%7:i32 = subnsw 6:i32, %2
%8:i32 = and 31:i32, %7
%9:i32 = lshr %1, %8
%10:i32 = addnw 26:i32, %2
%11:i32 = and 31:i32, %10
%12:i32 = shl %1, %11
%13:i1 = ne 0:i32, %12
%14:i32 = zext %13
%15:i32 = or %9, %14
%16:i32 = shl %1, 1:i32
%17:i32 = phi %6, %15, %16, %1
%18:i32 = lshr %17, 2:i32
%19:i32 = and 1:i32, %18
%20:i32 = or %17, %19
%21:i32 = add 1:i32, %20
%22:i32 = and 67108864:i32, %21
%23:i1 = eq 0:i32, %22 (hasExternalUses)
%24:i32 = select %23, 2:i32, 3:i32
%25:i32 = lshr %21, %24
%26:i32 = phi %0, %5, %25
infer %26 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = ctlz %1 (hasExternalUses)
%3:i32 = xor 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18 (hasExternalUses)
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20 (hasExternalUses)
%22:i32 = subnw 32:i32, %2 (hasExternalUses)
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
infer %24
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = lshr %1, 8:i32
%3:i8 = trunc %2
%4:i8 = var
%5:i8 = phi %0, %3, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = phi %0, %1, %1
%3:i64 = sext %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = phi %0, %1, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = phi %0, %1, 0:i32
%3:i32 = var
%4:i32 = sub %2, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = phi %0, %1, 0:i32
infer %2
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = phi %0, 0:i32, %1
infer %2
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = sub 128:i32, %1 (hasExternalUses)
%3:i32 = sub 127:i32, %1 (hasExternalUses)
%4:i32 = phi %0, %2, %3
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = sub 32:i32, %1 (hasExternalUses)
%3:i32 = sub 31:i32, %1 (hasExternalUses)
%4:i32 = phi %0, %2, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = sub 64:i32, %1 (hasExternalUses)
%3:i32 = sub 63:i32, %1 (hasExternalUses)
%4:i32 = phi %0, %2, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i1 = eq %1, %2
%4:i1 = phi %0, %3, 1:i1
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i1 = eq %1, %2
%4:i1 = phi %0, 1:i1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %1
%4:i32 = ctlz %2
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %1, %6
%8:i1 = ult %2, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %1, %13
%15:i32 = lshr %14, 1:i32
%16:i32 = phi %0, %15, %14
%17:i32 = addnsw 4294967295:i32, %16
%18:i32 = var
%19:i32 = shl %18, 1:i32
%20:i32 = sub %19, %17 (hasExternalUses)
%21:i32 = ashr %20, 31:i32
%22:i32 = and %17, %21
infer %22
>
<noinfer> <>
<sprofile > <24>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %1
%4:i32 = ctlz %2
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %1, %6
%8:i1 = ult %2, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %1, %13
%15:i32 = lshr %14, 1:i32
%16:i32 = phi %0, %15, %14
%17:i32 = addnsw 4294967295:i32, %16
infer %17
>
<noinfer> <>
<sprofile > <24>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %1
%4:i32 = ctlz %2
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %1, %6
%8:i1 = ult %2, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10 (hasExternalUses)
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %1, %13 (hasExternalUses)
%15:i32 = lshr %14, 1:i32 (hasExternalUses)
%16:i32 = phi %0, %15, %14
infer %16
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %1
%4:i32 = ctlz %2
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %1, %6
%8:i1 = ult %2, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10 (hasExternalUses)
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12 (hasExternalUses)
%14:i32 = shl %1, %13 (hasExternalUses)
%15:i32 = lshr %14, 1:i32 (hasExternalUses)
%16:i32 = phi %0, %15, %14
infer %16
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12
%14:i32 = shlnuw 1:i32, %13
%15:i32 = shl %2, %13
%16:i32 = sub %1, %15
%17:i32 = lshr %15, 1:i32
%18:i32 = sub %16, %17
%19:i1 = slt 4294967295:i32, %18
%20:i64 = addnsw 18446744073709551615:i64, %11
%21:i32 = trunc %20
%22:i32 = and 31:i32, %21
%23:i32 = shlnuw 1:i32, %22
%24:i32 = select %19, %23, 0:i32
%25:i32 = or %14, %24
%26:i32 = phi %0, %25, %14
%27 = block 2
%28:i32 = select %19, %18, %16
%29:i32 = phi %0, %28, %16
%30:i32 = var
%31:i32 = shl %30, 1:i32
%32:i32 = phi %0, %17, %15
%33:i32 = addnsw 4294967295:i32, %32
%34:i32 = sub %31, %33
%35:i32 = ashr %34, 31:i32
%36:i32 = and %33, %35
%37:i32 = add %34, %36
%38:i32 = phi %27, %29, %37
%39:i32 = phi %0, %23, %14
%40:i32 = add 4294967295:i32, %39
%41:i32 = and %38, %40
%42:i32 = or %26, %41
infer %42
>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12
%14:i32 = shlnuw 1:i32, %13
%15:i32 = shl %2, %13
%16:i32 = sub %1, %15
%17:i32 = lshr %15, 1:i32
%18:i32 = sub %16, %17
%19:i1 = slt 4294967295:i32, %18
%20:i64 = addnsw 18446744073709551615:i64, %11
%21:i32 = trunc %20
%22:i32 = and 31:i32, %21
%23:i32 = shlnuw 1:i32, %22
%24:i32 = select %19, %23, 0:i32
%25:i32 = or %14, %24
%26:i32 = phi %0, %25, %14
%27:i32 = var
%28:i32 = phi %0, %23, %14
%29:i32 = add 4294967295:i32, %28
%30:i32 = and %27, %29
%31:i32 = or %26, %30
infer %31
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i32 = trunc %12
%14:i32 = and 31:i32, %13
%15:i32 = shlnuw 1:i32, %14
%16:i32 = trunc %11
%17:i32 = and 31:i32, %16
%18:i32 = shlnuw 1:i32, %17
%19:i32 = phi %0, %15, %18
%20:i32 = add 4294967295:i32, %19
infer %20
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i64 = phi %0, %12, %11
%14:i1 = eq 0:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <18>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i64 = phi %0, %12, %11
%14:i32 = trunc %13
%15:i32 = and 31:i32, %14
infer %15
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i64 = phi %0, %12, %11
%14:i32 = trunc %13
infer %14 (demandedBits=00000000000000000000000000011111)
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10 (hasExternalUses)
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %2, %13 (hasExternalUses)
%15:i32 = sub %1, %14 (hasExternalUses)
%16:i32 = lshr %14, 1:i32 (hasExternalUses)
%17:i32 = sub %15, %16
%18:i1 = slt 4294967295:i32, %17
%19:i32 = select %18, %17, %15 (hasExternalUses)
%20:i32 = phi %0, %19, %15
infer %20
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10 (hasExternalUses)
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12
%14:i32 = shlnuw 1:i32, %13 (hasExternalUses)
%15:i32 = shl %2, %13 (hasExternalUses)
%16:i32 = sub %1, %15 (hasExternalUses)
%17:i32 = lshr %15, 1:i32 (hasExternalUses)
%18:i32 = sub %16, %17 (hasExternalUses)
%19:i1 = slt 4294967295:i32, %18 (hasExternalUses)
%20:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses)
%21:i32 = trunc %20
%22:i32 = and 31:i32, %21
%23:i32 = shlnuw 1:i32, %22 (hasExternalUses)
%24:i32 = select %19, %23, 0:i32
%25:i32 = or %14, %24 (hasExternalUses)
%26:i32 = phi %0, %25, %14
infer %26
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10 (hasExternalUses)
%12:i32 = trunc %11
%13:i32 = and 31:i32, %12 (hasExternalUses)
%14:i32 = shl %2, %13 (hasExternalUses)
%15:i32 = sub %1, %14 (hasExternalUses)
%16:i32 = lshr %14, 1:i32 (hasExternalUses)
%17:i32 = sub %15, %16
%18:i1 = slt 4294967295:i32, %17 (hasExternalUses)
%19:i32 = select %18, %17, %15 (hasExternalUses)
%20:i32 = phi %0, %19, %15
infer %20
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10 (hasExternalUses)
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i64 = phi %0, %12, %11
infer %13
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10 (hasExternalUses)
%12:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses)
%13:i32 = trunc %12
%14:i32 = and 31:i32, %13
%15:i32 = shlnuw 1:i32, %14 (hasExternalUses)
%16:i32 = trunc %11
%17:i32 = and 31:i32, %16 (hasExternalUses)
%18:i32 = shlnuw 1:i32, %17 (hasExternalUses)
%19:i32 = phi %0, %15, %18
infer %19
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = ctlz %2
%4:i32 = ctlz %1
%5:i32 = subnsw %3, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %2, %6
%8:i1 = ult %1, %7
%9:i64 = select %8, 18446744073709551615:i64, 0:i64
%10:i64 = zext %5
%11:i64 = addnsw %9, %10 (hasExternalUses)
%12:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses)
%13:i64 = phi %0, %12, %11
infer %13
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i1 = eq 0:i32, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i1 = slt %3, 0:i32
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i1 = slt 2046:i32, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i1 = slt 2046:i32, %3
pc %4 0:i1
%5:i1 = slt %3, 1:i32
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i1 = slt 254:i32, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i1 = slt 254:i32, %3
pc %4 0:i1
%5:i1 = slt %3, 1:i32
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i16 = trunc %3
%5:i16 = and 61440:i16, %4
%6:i1 = ne 16384:i16, %5
pc %6 1:i1
%7:i1 = ne 4096:i16, %5
pc %7 1:i1
%8:i1 = ne 40960:i16, %5
pc %8 1:i1
%9:i32 = and 64:i32, %3
%10:i1 = eq 0:i32, %9
%11:i8 = select %10, 2:i8, 1:i8
infer %11
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i16 = trunc %3
%5:i16 = and 61440:i16, %4
%6:i1 = ne 16384:i16, %5
pc %6 1:i1
%7:i1 = ne 4096:i16, %5
pc %7 1:i1
%8:i1 = ne 40960:i16, %5
pc %8 1:i1
%9:i32 = and 64:i32, %3
%10:i1 = eq 0:i32, %9
infer %10
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i16 = trunc %3
%5:i16 = and 61440:i16, %4
%6:i1 = ne 16384:i16, %5
pc %6 1:i1
%7:i1 = ne 4096:i16, %5
pc %7 1:i1
%8:i1 = ne 40960:i16, %5
pc %8 1:i1
%9:i32 = and 64:i32, %3
infer %9
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i16 = trunc %3
%5:i16 = and 61440:i16, %4
infer %5
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i16 = trunc %3
infer %4 (demandedBits=1111000000000000)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i32 = add 1:i32, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i32 = and 2:i32, %3
%5:i1 = eq 0:i32, %4
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i32 = and 2:i32, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i32 = var
%5:i1 = ult %3, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i32 = var
%5:i32 = var
%6:i32 = sub %4, %5 (hasExternalUses)
%7:i32 = sub %3, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
%4:i64 = sext %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <42>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = phi %0, %1, %2
infer %3 (demandedBits=00000000000000001111000001000000)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = sub %1, %2
%4:i64 = zext %3 (hasExternalUses)
%5:i64 = addnsw 18446744073709551615:i64, %4
%6:i64 = phi %0, %5, %4
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i32 = var
%3:i32 = sub %1, %2 (hasExternalUses)
%4:i64 = zext %3
%5:i64 = addnsw 18446744073709551615:i64, %4
%6:i64 = phi %0, %5, %4
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i64 = var
%3:i32 = trunc %2
%4:i32 = and 31:i32, %3 (hasExternalUses)
%5:i32 = shl %1, %4 (hasExternalUses)
%6:i32 = lshr %5, 1:i32 (hasExternalUses)
%7:i32 = phi %0, %6, %5
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i64 = zext %1
%3:i64 = shlnuw %2, 32:i64
%4:i64 = phi %0, 0:i64, %3
%5:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%6:i64 = zext %5
%7:i64 = shlnw %6, 8:i64
%8:i64 = phi %0, %7, 0:i64
%9:i64 = or %4, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i64 = zext %1
%3:i64 = shlnuw %2, 32:i64
%4:i64 = phi %0, 0:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var
%2:i8 = trunc %1 (hasExternalUses)
%3:i8 = var
%4:i8 = phi %0, %2, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112))
%2:i32 = phi %0, 1114112:i32, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112))
%2:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112))
%3:i1 = ule %1, %2
%4:i1 = phi %0, %3, 0:i1
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112))
%2:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112))
%3:i1 = ule %1, %2
%4:i1 = phi %0, %3, 0:i1
pc %4 0:i1
%5:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112))
%6:i1 = ult %2, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1
%3:i32 = addnw 24:i32, %2
%4:i32 = and 31:i32, %3
%5:i32 = shl %1, %4
%6 = block 3
%7:i32 = subnsw 6:i32, %2
%8:i32 = and 31:i32, %7
%9:i32 = lshr %1, %8
%10:i32 = addnw 26:i32, %2
%11:i32 = and 31:i32, %10
%12:i32 = shl %1, %11
%13:i1 = ne 0:i32, %12
%14:i32 = zext %13
%15:i32 = or %9, %14
%16:i32 = shl %1, 1:i32
%17:i32 = phi %6, %15, %16, %1
%18:i32 = lshr %17, 2:i32
%19:i32 = and 1:i32, %18
%20:i32 = or %17, %19
%21:i32 = add 1:i32, %20
%22:i32 = and 67108864:i32, %21
%23:i1 = eq 0:i32, %22
%24:i32 = select %23, 2:i32, 3:i32
%25:i32 = lshr %21, %24
%26:i32 = phi %0, %5, %25
%27:i32 = and 8388607:i32, %26
%28:i32 = subnsw 31:i32, %2
%29:i32 = subnw 32:i32, %2
%30:i32 = select %23, %28, %29
%31:i32 = phi %0, %28, %30
%32:i32 = shlnsw %31, 23:i32
%33:i32 = addnsw 1065353216:i32, %32
%34:i32 = and 2139095040:i32, %33
%35:i32 = var
%36:i32 = and 2147483648:i32, %35
%37:i32 = or %34, %36
%38:i32 = or %27, %37
infer %38
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1
%3:i32 = addnw 24:i32, %2
%4:i32 = and 31:i32, %3
%5:i32 = shl %1, %4
%6 = block 3
%7:i32 = subnsw 6:i32, %2
%8:i32 = and 31:i32, %7
%9:i32 = lshr %1, %8
%10:i32 = addnw 26:i32, %2
%11:i32 = and 31:i32, %10
%12:i32 = shl %1, %11
%13:i1 = ne 0:i32, %12
%14:i32 = zext %13
%15:i32 = or %9, %14
%16:i32 = shl %1, 1:i32
%17:i32 = phi %6, %15, %16, %1
%18:i32 = lshr %17, 2:i32
%19:i32 = and 1:i32, %18
%20:i32 = or %17, %19
%21:i32 = add 1:i32, %20
%22:i32 = and 67108864:i32, %21
%23:i1 = eq 0:i32, %22
%24:i32 = select %23, 2:i32, 3:i32
%25:i32 = lshr %21, %24
%26:i32 = phi %0, %5, %25
%27:i32 = and 8388607:i32, %26
%28:i32 = var
%29:i32 = and 2147483648:i32, %28
%30:i32 = or %27, %29
infer %30
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1
%3:i32 = addnw 24:i32, %2
%4:i32 = and 31:i32, %3
%5:i32 = shl %1, %4
%6 = block 3
%7:i32 = subnsw 6:i32, %2
%8:i32 = and 31:i32, %7
%9:i32 = lshr %1, %8
%10:i32 = addnw 26:i32, %2
%11:i32 = and 31:i32, %10
%12:i32 = shl %1, %11
%13:i1 = ne 0:i32, %12
%14:i32 = zext %13
%15:i32 = or %9, %14
%16:i32 = shl %1, 1:i32
%17:i32 = phi %6, %15, %16, %1
%18:i32 = lshr %17, 2:i32
%19:i32 = and 1:i32, %18
%20:i32 = or %17, %19
%21:i32 = add 1:i32, %20
%22:i32 = and 67108864:i32, %21
%23:i1 = eq 0:i32, %22
%24:i32 = select %23, 2:i32, 3:i32
%25:i32 = lshr %21, %24
%26:i32 = phi %0, %5, %25
%27:i32 = and 8388607:i32, %26
infer %27
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1
%3:i32 = subnsw 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20
%22:i32 = subnw 32:i32, %2
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
%25:i32 = shlnsw %24, 23:i32
%26:i32 = addnsw 1065353216:i32, %25
%27:i32 = and 2139095040:i32, %26
%28:i32 = addnw 24:i32, %2
%29:i32 = and 31:i32, %28
%30:i32 = shl %1, %29
%31:i32 = select %21, 2:i32, 3:i32
%32:i32 = lshr %19, %31
%33:i32 = phi %0, %30, %32
%34:i32 = and 8388607:i32, %33
%35:i32 = var
%36:i32 = and 2147483648:i32, %35
%37:i32 = or %34, %36
%38:i32 = or %27, %37
infer %38
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1
%3:i32 = subnsw 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20
%22:i32 = subnw 32:i32, %2
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
%25:i32 = shlnsw %24, 23:i32
%26:i32 = addnsw 1065353216:i32, %25
%27:i32 = and 2139095040:i32, %26
%28:i32 = var
%29:i32 = and 2147483648:i32, %28
%30:i32 = or %27, %29
infer %30
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1
%3:i32 = subnsw 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20
%22:i32 = subnw 32:i32, %2
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
%25:i32 = shlnsw %24, 23:i32
%26:i32 = addnsw 1065353216:i32, %25
%27:i32 = and 2139095040:i32, %26
infer %27
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1
%3:i32 = subnsw 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20
%22:i32 = subnw 32:i32, %2
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
%25:i32 = shlnsw %24, 23:i32
%26:i32 = addnsw 1065353216:i32, %25
infer %26 (demandedBits=01111111100000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1
%3:i32 = subnsw 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20
%22:i32 = subnw 32:i32, %2
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
%25:i32 = shlnsw %24, 23:i32
infer %25 (demandedBits=01111111110000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1 (hasExternalUses)
%3:i32 = addnw 24:i32, %2
%4:i32 = and 31:i32, %3
%5:i32 = shl %1, %4
%6 = block 3
%7:i32 = subnsw 6:i32, %2
%8:i32 = and 31:i32, %7
%9:i32 = lshr %1, %8
%10:i32 = addnw 26:i32, %2
%11:i32 = and 31:i32, %10
%12:i32 = shl %1, %11
%13:i1 = ne 0:i32, %12
%14:i32 = zext %13
%15:i32 = or %9, %14
%16:i32 = shl %1, 1:i32
%17:i32 = phi %6, %15, %16, %1
%18:i32 = lshr %17, 2:i32
%19:i32 = and 1:i32, %18
%20:i32 = or %17, %19
%21:i32 = add 1:i32, %20
%22:i32 = and 67108864:i32, %21
%23:i1 = eq 0:i32, %22 (hasExternalUses)
%24:i32 = select %23, 2:i32, 3:i32
%25:i32 = lshr %21, %24
%26:i32 = phi %0, %5, %25
infer %26 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = ctlz %1 (hasExternalUses)
%3:i32 = subnsw 31:i32, %2
%4 = block 3
%5:i32 = subnsw 6:i32, %2
%6:i32 = and 31:i32, %5
%7:i32 = lshr %1, %6
%8:i32 = addnw 26:i32, %2
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ne 0:i32, %10
%12:i32 = zext %11
%13:i32 = or %7, %12
%14:i32 = shl %1, 1:i32
%15:i32 = phi %4, %13, %14, %1
%16:i32 = lshr %15, 2:i32
%17:i32 = and 1:i32, %16
%18:i32 = or %15, %17
%19:i32 = add 1:i32, %18 (hasExternalUses)
%20:i32 = and 67108864:i32, %19
%21:i1 = eq 0:i32, %20 (hasExternalUses)
%22:i32 = subnw 32:i32, %2 (hasExternalUses)
%23:i32 = select %21, %3, %22
%24:i32 = phi %0, %3, %23
infer %24
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = ctlz %1
%7:i32 = ctlz %5
%8:i32 = subnsw %6, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ult %5, %10
%12:i64 = select %11, 18446744073709551615:i64, 0:i64
%13:i64 = zext %8
%14:i64 = addnsw %12, %13
%15:i32 = trunc %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %1, %16
%18:i32 = lshr %17, 1:i32
%19:i32 = phi %0, %18, %17
%20:i32 = addnsw 4294967295:i32, %19
%21:i32 = var
%22:i32 = shl %21, 1:i32
%23:i32 = sub %22, %20 (hasExternalUses)
%24:i32 = ashr %23, 31:i32
%25:i32 = and %20, %24
infer %25
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = ctlz %1
%7:i32 = ctlz %5
%8:i32 = subnsw %6, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ult %5, %10
%12:i64 = select %11, 18446744073709551615:i64, 0:i64
%13:i64 = zext %8
%14:i64 = addnsw %12, %13
%15:i32 = trunc %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %1, %16
%18:i32 = lshr %17, 1:i32
%19:i32 = phi %0, %18, %17
%20:i32 = addnsw 4294967295:i32, %19
infer %20
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i32 = var (range=[1,-2147483647))
%2:i32 = var
%3:i1 = slt %2, 0:i32 (hasExternalUses)
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2 (hasExternalUses)
%6:i32 = ctlz %1
%7:i32 = ctlz %5
%8:i32 = subnsw %6, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %1, %9
%11:i1 = ult %5, %10
%12:i64 = select %11, 18446744073709551615:i64, 0:i64
%13:i64 = zext %8
%14:i64 = addnsw %12, %13 (hasExternalUses)
%15:i32 = trunc %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %1, %16 (hasExternalUses)
%18:i32 = lshr %17, 1:i32 (hasExternalUses)
%19:i32 = phi %0, %18, %17
infer %19
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 18446744073709551615:i64
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 1:i64
%2:i32 = var
%3:i64 = zext %2
%4:i64 = shlnuw %3, 32:i64
%5:i64 = or %1, %4
%6:i64 = or 256:i64, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 1:i64
%2:i32 = var
%3:i64 = zext %2
%4:i64 = shlnuw %3, 32:i64
%5:i64 = or %1, %4
%6:i64 = or 768:i64, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 1:i64
%2:i32 = var
%3:i64 = zext %2
%4:i64 = shlnuw %3, 32:i64
%5:i64 = or %1, %4
infer %5 (demandedBits=1111111111111111111111111111111111111111111111111111110011111111)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 1:i64
%2:i32 = var
%3:i64 = zext %2
%4:i64 = shlnuw %3, 32:i64
%5:i64 = or %1, %4
infer %5 (demandedBits=1111111111111111111111111111111111111111111111111111111011111111)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 1:i64
%2:i32 = var
%3:i64 = zext %2
%4:i64 = shlnuw %3, 32:i64
%5:i64 = phi %0, 0:i64, %4
%6:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%7:i64 = zext %6
%8:i64 = shlnw %7, 8:i64
%9:i64 = phi %0, %8, 0:i64
%10:i64 = or %5, %9
%11:i64 = or %1, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 1:i64
infer %1
>
<noinfer> <>
<sprofile > <23>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 1:i64
infer %1 (demandedBits=1111111111111111111111111111111111111111111111111111110011111111)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 1:i64
infer %1 (demandedBits=1111111111111111111111111111111111111111111111111111111011111111)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 0:i64, 8:i64
infer %1
>
<noinfer> <>
<sprofile > <9>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 1:i64, 0:i64
infer %1
>
<noinfer> <>
<sprofile > <22>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 64:i64, 32:i64
%2:i64 = addnsw 18446744073709551600:i64, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 64:i64, 32:i64
infer %1
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 8:i64, 0:i64
infer %1
>
<noinfer> <>
<sprofile > <18>
------------------------------------------------------
<%0 = block 2
%1:i64 = phi %0, 9223372036854775808:i64, 9223372036854775807:i64
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3 = block 2
%4:i64 = var
%5:i64 = phi %3, %4, %1
%6:i64 = var
%7 = block 2
%8:i64 = var
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %7, %9, %8
%11:i64 = and 63:i64, %10
%12:i64 = lshr %6, %11
%13:i64 = phi %2, %5, %12
%14:i64 = phi %0, %1, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 2
%5 = block 2
%6:i64 = var
%7:i64 = phi %5, %6, %3
%8:i64 = var
%9 = block 2
%10:i64 = var
%11:i64 = add 18446744073709551615:i64, %10
%12:i64 = phi %9, %11, %10
%13:i64 = and 63:i64, %12
%14:i64 = lshr %8, %13
%15:i64 = phi %4, %7, %14
%16:i64 = phi %2, %3, %15
%17:i64 = phi %0, %1, %16
infer %17
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 3
%5 = block 3
%6 = block 2
%7:i64 = var
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %6, %7, %8
%10:i64 = add 18446744073709551615:i64, %9
%11:i64 = phi %5, %9, %9, %10
%12:i64 = phi %4, %11, %9, %7
%13:i64 = add %3, %12
%14:i64 = var
%15:i64 = phi %2, %13, %14
%16:i64 = phi %0, %1, %15
%17:i1 = ult 18446744073709551613:i64, %16
infer %17
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 3
%5 = block 3
%6 = block 2
%7:i64 = var
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %6, %7, %8
%10:i64 = add 18446744073709551615:i64, %9
%11:i64 = phi %5, %9, %9, %10
%12:i64 = phi %4, %11, %9, %7
%13:i64 = add %3, %12
%14:i64 = var
%15:i64 = phi %2, %13, %14
%16:i64 = phi %0, %1, %15
%17:i1 = ult 18446744073709551613:i64, %16
pc %17 0:i1
%18:i64 = add 2:i64, %1
%19:i64 = add 2:i64, %15
%20:i64 = phi %0, %18, %19
%21:i1 = ult 4096:i64, %20
infer %21
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 3
%5 = block 3
%6 = block 2
%7:i64 = var
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %6, %7, %8
%10:i64 = add 18446744073709551615:i64, %9
%11:i64 = phi %5, %9, %9, %10
%12:i64 = phi %4, %11, %9, %7
%13:i64 = add %3, %12
%14:i64 = var
%15:i64 = phi %2, %13, %14
%16:i64 = phi %0, %1, %15
infer %16
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 5
%5 = block 2
%6:i64 = var
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %5, %6, %7
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %4, 1:i64, %8, %9, %6, %6
%11:i64 = add %3, %10
%12:i64 = var
%13:i64 = phi %2, %11, %12
%14:i64 = phi %0, %1, %13
%15:i1 = ult 18446744073709551613:i64, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 5
%5 = block 2
%6:i64 = var
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %5, %6, %7
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %4, 1:i64, %8, %9, %6, %6
%11:i64 = add %3, %10
%12:i64 = var
%13:i64 = phi %2, %11, %12
%14:i64 = phi %0, %1, %13
%15:i1 = ult 18446744073709551613:i64, %14
pc %15 0:i1
%16:i64 = add 2:i64, %1
%17:i64 = add 2:i64, %13
%18:i64 = phi %0, %16, %17
%19:i1 = ult 4096:i64, %18
infer %19
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 5
%5 = block 2
%6:i64 = var
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %5, %6, %7
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %4, 1:i64, %8, %9, %6, %6
%11:i64 = add %3, %10
%12:i64 = var
%13:i64 = phi %2, %11, %12
%14:i64 = phi %0, %1, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 5
%5:i64 = var
%6 = block 2
%7:i64 = add 18446744073709551615:i64, %5
%8:i64 = phi %6, %7, %5
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %4, 1:i64, %5, %8, %9, %5
%11:i64 = add %3, %10
%12:i64 = var
%13:i64 = phi %2, %11, %12
%14:i64 = phi %0, %1, %13
%15:i1 = ult 18446744073709551613:i64, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 5
%5:i64 = var
%6 = block 2
%7:i64 = add 18446744073709551615:i64, %5
%8:i64 = phi %6, %7, %5
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %4, 1:i64, %5, %8, %9, %5
%11:i64 = add %3, %10
%12:i64 = var
%13:i64 = phi %2, %11, %12
%14:i64 = phi %0, %1, %13
%15:i1 = ult 18446744073709551613:i64, %14
pc %15 0:i1
%16:i64 = add 2:i64, %1
%17:i64 = add 2:i64, %13
%18:i64 = phi %0, %16, %17
%19:i1 = ult 4096:i64, %18
infer %19
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4 = block 5
%5:i64 = var
%6 = block 2
%7:i64 = add 18446744073709551615:i64, %5
%8:i64 = phi %6, %7, %5
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %4, 1:i64, %5, %8, %9, %5
%11:i64 = add %3, %10
%12:i64 = var
%13:i64 = phi %2, %11, %12
%14:i64 = phi %0, %1, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 2
%3:i64 = var
%4:i64 = var
%5:i64 = phi %2, %3, %4
%6:i64 = phi %0, %1, %5
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 3
%3 = block 3
%4 = block 2
%5:i64 = var
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %4, %5, %6
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %3, %7, %7, %8
%10:i64 = phi %2, %9, %7, %5
%11:i64 = add %1, %10
%12:i64 = var
%13:i64 = phi %0, %11, %12
%14:i64 = add 2:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 3
%3 = block 3
%4 = block 2
%5:i64 = var
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %4, %5, %6
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %3, %7, %7, %8
%10:i64 = phi %2, %9, %7, %5
%11:i64 = add %1, %10
%12:i64 = var
%13:i64 = phi %0, %11, %12
%14:i64 = add 2:i64, %13 (hasExternalUses)
%15:i1 = ult 4095:i64, %14
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 3
%3 = block 3
%4 = block 2
%5:i64 = var
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %4, %5, %6
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %3, %7, %7, %8
%10:i64 = phi %2, %9, %7, %5
%11:i64 = add %1, %10 (hasExternalUses)
%12:i64 = var
%13:i64 = phi %0, %11, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 5
%3 = block 2
%4:i64 = var
%5:i64 = add 18446744073709551615:i64, %4
%6:i64 = phi %3, %4, %5
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %2, 1:i64, %6, %7, %4, %4
%9:i64 = add %1, %8
%10:i64 = var
%11:i64 = phi %0, %9, %10
%12:i64 = add 2:i64, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 5
%3 = block 2
%4:i64 = var
%5:i64 = add 18446744073709551615:i64, %4
%6:i64 = phi %3, %4, %5
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %2, 1:i64, %6, %7, %4, %4
%9:i64 = add %1, %8
%10:i64 = var
%11:i64 = phi %0, %9, %10
%12:i64 = add 2:i64, %11 (hasExternalUses)
%13:i1 = ult 4095:i64, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 5
%3 = block 2
%4:i64 = var
%5:i64 = add 18446744073709551615:i64, %4
%6:i64 = phi %3, %4, %5
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %2, 1:i64, %6, %7, %4, %4
%9:i64 = add %1, %8 (hasExternalUses)
%10:i64 = var
%11:i64 = phi %0, %9, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 5
%3:i64 = var
%4 = block 2
%5:i64 = add 18446744073709551615:i64, %3
%6:i64 = phi %4, %5, %3
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %2, 1:i64, %3, %6, %7, %3
%9:i64 = add %1, %8
%10:i64 = var
%11:i64 = phi %0, %9, %10
%12:i64 = add 2:i64, %11
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 5
%3:i64 = var
%4 = block 2
%5:i64 = add 18446744073709551615:i64, %3
%6:i64 = phi %4, %5, %3
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %2, 1:i64, %3, %6, %7, %3
%9:i64 = add %1, %8
%10:i64 = var
%11:i64 = phi %0, %9, %10
%12:i64 = add 2:i64, %11 (hasExternalUses)
%13:i1 = ult 4095:i64, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2 = block 5
%3:i64 = var
%4 = block 2
%5:i64 = add 18446744073709551615:i64, %3
%6:i64 = phi %4, %5, %3
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %2, 1:i64, %3, %6, %7, %3
%9:i64 = add %1, %8 (hasExternalUses)
%10:i64 = var
%11:i64 = phi %0, %9, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = eq 0:i64, %1
%3:i1 = phi %0, 1:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = eq 0:i64, %1
%3:i1 = phi %0, 1:i1, %2
pc %3 0:i1
%4:i1 = slt %1, 0:i64
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = eq 0:i64, %1
%3:i64 = var
%4:i64 = select %2, 0:i64, %3
%5:i64 = phi %0, 0:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = eq 0:i64, %1
%3:i8 = zext %2
%4:i8 = phi %0, %3, 1:i8
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = eq 18446744073709551615:i64, %1
%3:i1 = phi %0, %2, 1:i1
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16
%18:i64 = addnsw 18446744073709551615:i64, %17
%19:i64 = and 63:i64, %18
%20:i64 = shlnuw 1:i64, %19
%21:i64 = and 63:i64, %17
%22:i64 = shlnuw 1:i64, %21
%23:i64 = phi %0, %20, %22
%24:i64 = add 18446744073709551615:i64, %23
infer %24
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16
%18:i64 = addnsw 18446744073709551615:i64, %17
%19:i64 = phi %0, %18, %17
%20:i1 = eq 0:i64, %19
infer %20
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16
%18:i64 = addnsw 18446744073709551615:i64, %17
%19:i64 = phi %0, %18, %17
%20:i64 = and 63:i64, %19
infer %20
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %4, %18
%20:i64 = lshr %19, 1:i64
%21:i64 = phi %0, %20, %19
%22:i64 = addnsw 18446744073709551615:i64, %21
%23:i64 = var
%24:i64 = shl %23, 1:i64
%25:i64 = sub %24, %22 (hasExternalUses)
%26:i64 = ashr %25, 63:i64
%27:i64 = and %22, %26
infer %27
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16
%18:i64 = and 63:i64, %17
%19:i64 = shl %4, %18
%20:i64 = lshr %19, 1:i64
%21:i64 = phi %0, %20, %19
%22:i64 = addnsw 18446744073709551615:i64, %21
infer %22
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16
%18:i64 = and 63:i64, %17
%19:i64 = shlnuw 1:i64, %18
%20:i64 = shl %4, %18
%21:i64 = sub %9, %20
%22:i64 = lshr %20, 1:i64
%23:i64 = sub %21, %22
%24:i1 = slt 18446744073709551615:i64, %23
%25:i64 = addnsw 18446744073709551615:i64, %17
%26:i64 = and 63:i64, %25
%27:i64 = shlnuw 1:i64, %26
%28:i64 = select %24, %27, 0:i64
%29:i64 = or %19, %28
%30:i64 = phi %0, %29, %19
%31 = block 2
%32:i64 = select %24, %23, %21
%33:i64 = phi %0, %32, %21
%34:i64 = var
%35:i64 = shl %34, 1:i64
%36:i64 = phi %0, %22, %20
%37:i64 = addnsw 18446744073709551615:i64, %36
%38:i64 = sub %35, %37
%39:i64 = ashr %38, 63:i64
%40:i64 = and %37, %39
%41:i64 = add %38, %40
%42:i64 = phi %31, %33, %41
%43:i64 = phi %0, %27, %19
%44:i64 = add 18446744073709551615:i64, %43
%45:i64 = and %42, %44
%46:i64 = or %30, %45
infer %46
>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16
%18:i64 = and 63:i64, %17
%19:i64 = shlnuw 1:i64, %18
%20:i64 = shl %4, %18
%21:i64 = sub %9, %20
%22:i64 = lshr %20, 1:i64
%23:i64 = sub %21, %22
%24:i1 = slt 18446744073709551615:i64, %23
%25:i64 = addnsw 18446744073709551615:i64, %17
%26:i64 = and 63:i64, %25
%27:i64 = shlnuw 1:i64, %26
%28:i64 = select %24, %27, 0:i64
%29:i64 = or %19, %28
%30:i64 = phi %0, %29, %19
%31:i64 = var
%32:i64 = phi %0, %27, %19
%33:i64 = add 18446744073709551615:i64, %32
%34:i64 = and %31, %33
%35:i64 = or %30, %34
infer %35
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1 (hasExternalUses)
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64 (hasExternalUses)
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6 (hasExternalUses)
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16 (hasExternalUses)
%18:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses)
%19:i64 = and 63:i64, %18
%20:i64 = shlnuw 1:i64, %19 (hasExternalUses)
%21:i64 = and 63:i64, %17 (hasExternalUses)
%22:i64 = shlnuw 1:i64, %21 (hasExternalUses)
%23:i64 = phi %0, %20, %22
infer %23
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1 (hasExternalUses)
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64 (hasExternalUses)
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6 (hasExternalUses)
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16 (hasExternalUses)
%18:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses)
%19:i64 = phi %0, %18, %17
infer %19
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1 (hasExternalUses)
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64 (hasExternalUses)
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6 (hasExternalUses)
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16 (hasExternalUses)
%18:i64 = and 63:i64, %17
%19:i64 = shlnuw 1:i64, %18 (hasExternalUses)
%20:i64 = shl %4, %18 (hasExternalUses)
%21:i64 = sub %9, %20 (hasExternalUses)
%22:i64 = lshr %20, 1:i64 (hasExternalUses)
%23:i64 = sub %21, %22 (hasExternalUses)
%24:i1 = slt 18446744073709551615:i64, %23 (hasExternalUses)
%25:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses)
%26:i64 = and 63:i64, %25
%27:i64 = shlnuw 1:i64, %26 (hasExternalUses)
%28:i64 = select %24, %27, 0:i64
%29:i64 = or %19, %28 (hasExternalUses)
%30:i64 = phi %0, %29, %19
infer %30
>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1 (hasExternalUses)
%5:i64 = ctlz %4
%6:i64 = var
%7:i1 = slt %6, 0:i64 (hasExternalUses)
%8:i64 = sub 0:i64, %6
%9:i64 = select %7, %8, %6 (hasExternalUses)
%10:i64 = ctlz %9
%11:i64 = subnsw %5, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %4, %13
%15:i1 = ult %9, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16 (hasExternalUses)
%18:i64 = and 63:i64, %17 (hasExternalUses)
%19:i64 = shl %4, %18 (hasExternalUses)
%20:i64 = lshr %19, 1:i64 (hasExternalUses)
%21:i64 = phi %0, %20, %19
infer %21
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1 (hasExternalUses)
%5:i64 = var
%6:i1 = slt %5, 0:i64 (hasExternalUses)
%7:i64 = sub 0:i64, %5
%8:i64 = select %6, %7, %5 (hasExternalUses)
%9:i64 = ctlz %8
%10:i64 = ctlz %4
%11:i64 = subnsw %9, %10
%12:i64 = and 4294967295:i64, %11
%13:i64 = and 63:i64, %11
%14:i64 = shl %8, %13
%15:i1 = ult %4, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = addnsw %12, %16 (hasExternalUses)
%18:i64 = and 63:i64, %17 (hasExternalUses)
%19:i64 = shl %8, %18 (hasExternalUses)
%20:i64 = sub %4, %19 (hasExternalUses)
%21:i64 = lshr %19, 1:i64 (hasExternalUses)
%22:i64 = sub %20, %21
%23:i1 = slt 18446744073709551615:i64, %22 (hasExternalUses)
%24:i64 = select %23, %22, %20 (hasExternalUses)
%25:i64 = phi %0, %24, %20
infer %25
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = sub 0:i64, %1
%4:i64 = select %2, %3, %1 (hasExternalUses)
%5:i64 = var (range=[1,-9223372036854775807))
%6:i64 = ctlz %5
%7:i64 = ctlz %4
%8:i64 = subnsw %6, %7
%9:i64 = and 4294967295:i64, %8
%10:i64 = and 63:i64, %8
%11:i64 = shl %5, %10
%12:i1 = ult %4, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = addnsw %9, %13 (hasExternalUses)
%15:i64 = and 63:i64, %14
%16:i64 = shl %5, %15 (hasExternalUses)
%17:i64 = sub %4, %16 (hasExternalUses)
%18:i64 = lshr %16, 1:i64 (hasExternalUses)
%19:i64 = sub %17, %18
%20:i1 = slt 18446744073709551615:i64, %19
%21:i64 = select %20, %19, %17 (hasExternalUses)
%22:i64 = phi %0, %21, %17
infer %22
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = var
%4:i1 = slt %3, 0:i64 (hasExternalUses)
%5:i1 = xor %2, %4
%6 = block 4
%7:i64 = sub 0:i64, %1
%8:i64 = select %2, %7, %1
%9:i64 = and 4294967295:i64, %8
%10:i64 = sub 0:i64, %3
%11:i64 = select %4, %10, %3
%12:i64 = and 4294967295:i64, %11
%13:i64 = mulnuw %9, %12
%14:i64 = mul %8, %11
%15:i64 = lshr %11, 32:i64
%16:i64 = mulnw %9, %15
%17:i64 = shl %16, 32:i64
%18:i65 = uadd.with.overflow %13, %17
%19:i64 = extractvalue %18, 0:i32
%20:i64 = lshr %8, 32:i64
%21:i64 = mulnw %12, %20
%22:i64 = shl %21, 32:i64
%23:i65 = uadd.with.overflow %13, %22
%24:i64 = extractvalue %23, 0:i32
%25:i64 = phi %6, %13, %14, %19, %24
%26:i64 = sub 0:i64, %25
%27:i64 = select %5, %26, %25 (hasExternalUses)
%28:i1 = slt %27, 0:i64
%29:i1 = xor %5, %28
%30:i1 = extractvalue %18, 1:i32
%31:i1 = ult 4294967295:i64, %16
%32:i1 = select %30, 1:i1, %31
%33:i1 = extractvalue %23, 1:i32
%34:i1 = ult 4294967295:i64, %21
%35:i1 = select %33, 1:i1, %34
%36:i1 = phi %6, 0:i1, 1:i1, %32, %35
%37:i1 = select %29, 1:i1, %36
%38:i32 = zext %37
%39:i32 = phi %0, 0:i32, %38
infer %39
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = var
%4:i1 = slt %3, 0:i64 (hasExternalUses)
%5:i1 = xor %2, %4
%6 = block 4
%7:i64 = sub 0:i64, %1
%8:i64 = select %2, %7, %1
%9:i64 = sub 0:i64, %3
%10:i64 = select %4, %9, %3
%11:i64 = mul %8, %10
%12:i64 = and 4294967295:i64, %8
%13:i64 = and 4294967295:i64, %10
%14:i64 = mulnuw %12, %13
%15:i64 = lshr %10, 32:i64
%16:i64 = mulnw %12, %15
%17:i64 = shl %16, 32:i64
%18:i65 = uadd.with.overflow %14, %17
%19:i64 = extractvalue %18, 0:i32
%20:i64 = lshr %8, 32:i64
%21:i64 = mulnw %13, %20
%22:i64 = shl %21, 32:i64
%23:i65 = uadd.with.overflow %14, %22
%24:i64 = extractvalue %23, 0:i32
%25:i64 = phi %6, %11, %19, %24, %14
%26:i64 = sub 0:i64, %25
%27:i64 = select %5, %26, %25 (hasExternalUses)
%28:i1 = slt %27, 0:i64
%29:i1 = xor %5, %28
%30:i1 = extractvalue %18, 1:i32
%31:i1 = ult 4294967295:i64, %16
%32:i1 = select %30, 1:i1, %31
%33:i1 = extractvalue %23, 1:i32
%34:i1 = ult 4294967295:i64, %21
%35:i1 = select %33, 1:i1, %34
%36:i1 = phi %6, 1:i1, %32, %35, 0:i1
%37:i1 = select %29, 1:i1, %36
%38:i32 = zext %37
%39:i32 = phi %0, 0:i32, %38
infer %39
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = var
%4:i1 = slt %3, 0:i64 (hasExternalUses)
%5:i1 = xor %2, %4 (hasExternalUses)
%6 = block 4
%7:i64 = sub 0:i64, %1
%8:i64 = select %2, %7, %1
%9:i64 = and 4294967295:i64, %8
%10:i64 = sub 0:i64, %3
%11:i64 = select %4, %10, %3
%12:i64 = and 4294967295:i64, %11
%13:i64 = mulnuw %9, %12
%14:i64 = mul %8, %11
%15:i64 = lshr %11, 32:i64
%16:i64 = mulnw %9, %15
%17:i64 = shl %16, 32:i64
%18:i65 = uadd.with.overflow %13, %17
%19:i64 = extractvalue %18, 0:i32
%20:i64 = lshr %8, 32:i64
%21:i64 = mulnw %12, %20
%22:i64 = shl %21, 32:i64
%23:i65 = uadd.with.overflow %13, %22
%24:i64 = extractvalue %23, 0:i32
%25:i64 = phi %6, %13, %14, %19, %24
%26:i64 = sub 0:i64, %25
%27:i64 = select %5, %26, %25 (hasExternalUses)
%28:i64 = phi %0, 0:i64, %27
infer %28
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt %1, 0:i64 (hasExternalUses)
%3:i64 = var
%4:i1 = slt %3, 0:i64 (hasExternalUses)
%5:i1 = xor %2, %4 (hasExternalUses)
%6 = block 4
%7:i64 = sub 0:i64, %1
%8:i64 = select %2, %7, %1
%9:i64 = sub 0:i64, %3
%10:i64 = select %4, %9, %3
%11:i64 = mul %8, %10
%12:i64 = and 4294967295:i64, %8
%13:i64 = and 4294967295:i64, %10
%14:i64 = mulnuw %12, %13
%15:i64 = lshr %10, 32:i64
%16:i64 = mulnw %12, %15
%17:i64 = shl %16, 32:i64
%18:i65 = uadd.with.overflow %14, %17
%19:i64 = extractvalue %18, 0:i32
%20:i64 = lshr %8, 32:i64
%21:i64 = mulnw %13, %20
%22:i64 = shl %21, 32:i64
%23:i65 = uadd.with.overflow %14, %22
%24:i64 = extractvalue %23, 0:i32
%25:i64 = phi %6, %11, %19, %24, %14
%26:i64 = sub 0:i64, %25
%27:i64 = select %5, %26, %25 (hasExternalUses)
%28:i64 = phi %0, 0:i64, %27
infer %28
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt 2147483647:i64, %1
%3:i1 = phi %0, 1:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = slt 2147483647:i64, %1
%3:i1 = phi %0, 1:i1, %2
pc %3 0:i1
%4:i32 = trunc %1
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i1 = ult 4096:i64, %1
%3:i1 = phi %0, 1:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = trunc %1
%3:i32 = and 31:i32, %2 (hasExternalUses)
%4:i32 = shl 1:i32, %3 (hasExternalUses)
%5 = block 2
%6 = block 2
%7:i64 = add 18446744073709551615:i64, %1
%8:i32 = trunc %7
%9:i32 = and 31:i32, %8
%10:i32 = shl 1:i32, %9
%11:i32 = or %4, %10
%12:i32 = phi %6, %11, %4
%13 = block 2
%14:i32 = phi %13, %12, %4
%15:i32 = var
%16:i32 = phi %13, %10, %4
%17:i32 = add 4294967295:i32, %16
%18:i32 = and %15, %17
%19:i32 = or %14, %18
%20:i32 = phi %5, %12, %19
%21:i32 = phi %0, %4, %20
infer %21
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = trunc %1
%3:i32 = and 31:i32, %2 (hasExternalUses)
%4:i32 = shl 1:i32, %3 (hasExternalUses)
%5:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%6:i32 = trunc %5
%7:i32 = and 31:i32, %6
%8:i32 = shl 1:i32, %7 (hasExternalUses)
%9:i32 = or %4, %8
%10:i32 = phi %0, %9, %4
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = trunc %1
%3:i32 = phi %0, 0:i32, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = trunc %1
%3:i32 = sub 0:i32, %2
%4:i32 = phi %0, %3, 0:i32
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = trunc %1
%3:i32 = sub 0:i32, %2
%4:i32 = var
%5:i32 = phi %0, %3, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = trunc %1
%3:i32 = sub 0:i32, %2 (hasExternalUses)
%4 = block 2
%5 = block 2
%6:i64 = var
%7:i64 = var
%8:i64 = phi %5, %6, %7
%9:i32 = trunc %8
%10:i32 = sub 0:i32, %9
%11:i32 = phi %4, %10, %3
%12:i32 = phi %0, %3, %11
infer %12
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = var
%3:i32 = sub 63:i32, %2
%4:i32 = and 63:i32, %3
%5:i64 = zext %4
%6:i64 = lshr %1, %5
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %0, 0:i64, %7
%9:i128 = zext %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = var
%3:i32 = sub 63:i32, %2
%4:i32 = and 63:i32, %3
%5:i64 = zext %4
%6:i64 = lshr %1, %5
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %0, 0:i64, %7
%9:i64 = add 1:i64, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i32 = var
%3:i32 = sub 63:i32, %2
%4:i32 = and 63:i32, %3
%5:i64 = zext %4
%6:i64 = lshr %1, %5 (hasExternalUses)
%7:i64 = add 18446744073709551615:i64, %6
%8:i64 = phi %0, 0:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i32 = trunc %2
%4:i32 = and 31:i32, %3
%5:i32 = shl 1:i32, %4
%6:i32 = trunc %1
%7:i32 = and 31:i32, %6
%8:i32 = shl 1:i32, %7
%9:i32 = phi %0, %5, %8
%10:i32 = add 4294967295:i32, %9
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = and 63:i64, %2
%4:i64 = shl 1:i64, %3
%5:i64 = and 63:i64, %1
%6:i64 = shl 1:i64, %5
%7:i64 = phi %0, %4, %6
%8:i64 = add 18446744073709551615:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = phi %0, %1, %2
%4:i1 = ult 1:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = phi %0, %1, %2
%4:i1 = ult 1:i64, %3
pc %4 1:i1
%5:i64 = add 18446744073709551615:i64, %3
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = phi %0, %1, %2
%4:i64 = add 18446744073709551615:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = phi %0, %2, %1
%4:i32 = trunc %3
%5:i32 = and 31:i32, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = phi %0, %2, %1
%4:i32 = trunc %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = phi %0, %2, %1
%4:i64 = add 18446744073709551615:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = phi %0, %2, %1
%4:i64 = and 63:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = var
%4:i64 = sub %2, %3
%5:i64 = phi %0, %4, %2
%6:i64 = var
%7:i1 = ult %5, %6
%8:i64 = select %7, %5, %6
infer %8
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = var
%4:i64 = sub %2, %3
%5:i64 = phi %0, %4, %2
%6:i64 = var
%7:i1 = ult %5, %6
infer %7
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%3:i32 = trunc %2
%4:i32 = and 31:i32, %3
%5:i32 = shl 1:i32, %4 (hasExternalUses)
%6:i32 = trunc %1
%7:i32 = and 31:i32, %6 (hasExternalUses)
%8:i32 = shl 1:i32, %7 (hasExternalUses)
%9:i32 = phi %0, %5, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%3:i64 = and 63:i64, %2
%4:i64 = shl 1:i64, %3 (hasExternalUses)
%5:i64 = and 63:i64, %1 (hasExternalUses)
%6:i64 = shl 1:i64, %5 (hasExternalUses)
%7:i64 = phi %0, %4, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%3:i64 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%3:i64 = phi %0, %2, %1
infer %3
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%3:i64 = phi %0, %2, 0:i64
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = sub %2, %3
%5:i64 = phi %0, %4, %2
infer %5
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1
%3:i64 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1
%3:i64 = var
%4:i1 = ult %2, %3
%5:i1 = phi %0, 1:i1, %4
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1
%3:i64 = var
%4:i64 = add 1:i64, %3 (hasExternalUses)
%5:i64 = phi %0, %2, %4
infer %5
>
<noinfer> <>
<sprofile > <9>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1
%3:i64 = var
%4:i64 = phi %0, %2, %3
%5:i1 = eq 0:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1
%3:i64 = var
%4:i64 = phi %0, %2, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
%7:i32 = subnw 64:i32, %6
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1
%3:i64 = var
%4:i64 = phi %0, %2, %3
%5:i64 = ctlz %4
%6:i32 = trunc %5
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1
%3:i64 = var
%4:i64 = phi %0, %2, %3
%5:i64 = ctlz %4
infer %5 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = add 1:i64, %3
%5:i64 = phi %0, %2, %4
infer %5
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = add 1:i64, %3 (hasExternalUses)
%5:i64 = phi %0, %2, %4
infer %5
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 1:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = phi %0, %2, %3
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 2:i64, %1
%3 = block 2
%4:i64 = var
%5 = block 3
%6 = block 3
%7 = block 2
%8:i64 = var
%9:i64 = add 18446744073709551615:i64, %8
%10:i64 = phi %7, %8, %9
%11:i64 = add 18446744073709551615:i64, %10
%12:i64 = phi %6, %10, %10, %11
%13:i64 = phi %5, %12, %10, %8
%14:i64 = add %4, %13
%15:i64 = var
%16:i64 = phi %3, %14, %15
%17:i64 = add 2:i64, %16 (hasExternalUses)
%18:i64 = phi %0, %2, %17
infer %18
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 2:i64, %1
%3 = block 2
%4:i64 = var
%5 = block 5
%6 = block 2
%7:i64 = var
%8:i64 = add 18446744073709551615:i64, %7
%9:i64 = phi %6, %7, %8
%10:i64 = add 18446744073709551615:i64, %9
%11:i64 = phi %5, 1:i64, %9, %10, %7, %7
%12:i64 = add %4, %11
%13:i64 = var
%14:i64 = phi %3, %12, %13
%15:i64 = add 2:i64, %14 (hasExternalUses)
%16:i64 = phi %0, %2, %15
infer %16
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 2:i64, %1
%3 = block 2
%4:i64 = var
%5 = block 5
%6:i64 = var
%7 = block 2
%8:i64 = add 18446744073709551615:i64, %6
%9:i64 = phi %7, %8, %6
%10:i64 = add 18446744073709551615:i64, %9
%11:i64 = phi %5, 1:i64, %6, %9, %10, %6
%12:i64 = add %4, %11
%13:i64 = var
%14:i64 = phi %3, %12, %13
%15:i64 = add 2:i64, %14 (hasExternalUses)
%16:i64 = phi %0, %2, %15
infer %16
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 4096:i64, %1
%3:i64 = and 18446744073709547520:i64, %2
%4:i64 = phi %0, %1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 64:i64, %1
%3:i64 = and 18446744073709551552:i64, %2
%4:i64 = phi %0, %1, %3
%5:i64 = lshr %4, 6:i64
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 64:i64, %1
%3:i64 = and 18446744073709551552:i64, %2
%4:i64 = phi %0, %1, %3
infer %4 (demandedBits=1111111111111111111111111111111111111111111111111111111111000000)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 6:i64, %1
%3:i64 = var
%4:i64 = add 6:i64, %3 (hasExternalUses)
%5:i64 = phi %0, %2, %4
infer %5
>
<noinfer> <>
<sprofile > <9>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 6:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = add 6:i64, %3
%5:i64 = phi %0, %2, %4
infer %5
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = add 9:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = add 9:i64, %3
%5:i64 = phi %0, %2, %4
infer %5
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1
%3:i64 = or 4503599627370496:i64, %2
%4:i128 = zext %3
%5:i64 = lshr %1, 52:i64
%6:i16 = trunc %5
%7:i16 = and 2047:i16, %6
%8:i16 = subnw 1075:i16, %7
%9:i32 = sext %8
%10:i128 = zext %9
%11:i128 = lshr %4, %10
%12:i16 = addnsw 64461:i16, %7
%13:i32 = sext %12
%14:i128 = zext %13
%15:i128 = shl %4, %14
%16:i128 = phi %0, %11, %15
%17:i128 = sub 0:i128, %16
infer %17
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1
%3:i64 = or 4503599627370496:i64, %2
%4:i128 = zext %3
%5:i64 = lshr %1, 52:i64
%6:i16 = trunc %5
%7:i16 = and 2047:i16, %6
%8:i16 = subnw 1075:i16, %7
%9:i32 = sext %8
%10:i128 = zext %9
%11:i128 = lshr %4, %10
%12:i64 = and 4503599627370495:i64, %1
%13:i64 = or 4503599627370496:i64, %12
%14:i128 = zext %13
%15:i16 = addnsw 64461:i16, %7
%16:i32 = sext %15
%17:i128 = zext %16
%18:i128 = shl %14, %17
%19:i128 = phi %0, %11, %18
%20:i128 = sub 0:i128, %19
infer %20
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1
%3:i64 = or 4503599627370496:i64, %2
%4:i128 = zext %3
%5:i64 = lshr %1, 52:i64
%6:i16 = trunc %5
%7:i16 = and 2047:i16, %6 (hasExternalUses)
%8:i16 = subnw 1075:i16, %7
%9:i32 = sext %8
%10:i128 = zext %9
%11:i128 = lshr %4, %10
%12:i16 = addnsw 64461:i16, %7
%13:i32 = sext %12
%14:i128 = zext %13
%15:i128 = shl %4, %14
%16:i128 = phi %0, %11, %15
infer %16
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1
%3:i64 = or 4503599627370496:i64, %2
%4:i128 = zext %3
%5:i64 = lshr %1, 52:i64
%6:i16 = trunc %5
%7:i16 = and 2047:i16, %6 (hasExternalUses)
%8:i16 = subnw 1075:i16, %7
%9:i32 = sext %8
%10:i128 = zext %9
%11:i128 = lshr %4, %10
%12:i64 = and 4503599627370495:i64, %1
%13:i64 = or 4503599627370496:i64, %12
%14:i128 = zext %13
%15:i16 = addnsw 64461:i16, %7
%16:i32 = sext %15
%17:i128 = zext %16
%18:i128 = shl %14, %17
%19:i128 = phi %0, %11, %18
infer %19
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1
%3:i64 = or 4503599627370496:i64, %2
%4:i64 = lshr %1, 52:i64
%5:i16 = trunc %4
%6:i16 = and 2047:i16, %5
%7:i16 = subnw 1075:i16, %6
%8:i64 = zext %7
%9:i64 = lshr %3, %8
%10:i16 = addnsw 64461:i16, %6
%11:i64 = zext %10
%12:i64 = shl %3, %11
%13:i64 = phi %0, %9, %12
%14:i64 = sub 0:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1
%3:i64 = or 4503599627370496:i64, %2
%4:i64 = lshr %1, 52:i64
%5:i16 = trunc %4
%6:i16 = and 2047:i16, %5
%7:i16 = subnw 1075:i16, %6
%8:i64 = zext %7
%9:i64 = lshr %3, %8
%10:i64 = and 4503599627370495:i64, %1
%11:i64 = or 4503599627370496:i64, %10
%12:i16 = addnsw 64461:i16, %6
%13:i64 = zext %12
%14:i64 = shl %11, %13
%15:i64 = phi %0, %9, %14
%16:i64 = sub 0:i64, %15
infer %16
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1
%3:i64 = or 4503599627370496:i64, %2
%4:i64 = lshr %1, 52:i64
%5:i16 = trunc %4
%6:i16 = and 2047:i16, %5 (hasExternalUses)
%7:i16 = subnw 1075:i16, %6
%8:i64 = zext %7
%9:i64 = lshr %3, %8
%10:i16 = addnsw 64461:i16, %6
%11:i64 = zext %10
%12:i64 = shl %3, %11
%13:i64 = phi %0, %9, %12
infer %13
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1
%3:i64 = or 4503599627370496:i64, %2
%4:i64 = lshr %1, 52:i64
%5:i16 = trunc %4
%6:i16 = and 2047:i16, %5 (hasExternalUses)
%7:i16 = subnw 1075:i16, %6
%8:i64 = zext %7
%9:i64 = lshr %3, %8
%10:i64 = and 4503599627370495:i64, %1
%11:i64 = or 4503599627370496:i64, %10
%12:i16 = addnsw 64461:i16, %6
%13:i64 = zext %12
%14:i64 = shl %11, %13
%15:i64 = phi %0, %9, %14
infer %15
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1 (hasExternalUses)
%3:i64 = ctlz %2 (hasExternalUses)
%4:i32 = trunc %3
%5:i32 = subnsw 12:i32, %4
%6:i32 = phi %0, %5, 0:i32
infer %6
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 4503599627370495:i64, %1 (hasExternalUses)
%3:i64 = ctlz %2 (hasExternalUses)
%4:i64 = addnw 53:i64, %3
%5:i64 = and 63:i64, %4
%6:i64 = shl %2, %5
%7:i64 = phi %0, %6, %2
infer %7
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 63:i64, %1 (hasExternalUses)
%3:i64 = shl 1:i64, %2 (hasExternalUses)
%4 = block 2
%5 = block 2
%6:i64 = add 18446744073709551615:i64, %1
%7:i64 = and 63:i64, %6
%8:i64 = shl 1:i64, %7
%9:i64 = or %3, %8
%10:i64 = phi %5, %9, %3
%11 = block 2
%12:i64 = phi %11, %10, %3
%13:i64 = var
%14:i64 = phi %11, %8, %3
%15:i64 = add 18446744073709551615:i64, %14
%16:i64 = and %13, %15
%17:i64 = or %12, %16
%18:i64 = phi %4, %10, %17
%19:i64 = phi %0, %3, %18
infer %19
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 63:i64, %1 (hasExternalUses)
%3:i64 = shl 1:i64, %2 (hasExternalUses)
%4:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%5:i64 = and 63:i64, %4
%6:i64 = shl 1:i64, %5 (hasExternalUses)
%7:i64 = or %3, %6
%8:i64 = phi %0, %7, %3
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %1, %3
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i64 = addnw 53:i64, %8
%10:i64 = and 63:i64, %9
%11:i64 = shl %7, %10
%12:i64 = phi %0, %11, %7
%13:i64 = shl %12, 3:i64
%14:i64 = or 36028797018963968:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %1, %3
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i64 = addnw 53:i64, %8
%10:i64 = and 63:i64, %9
%11:i64 = shl %7, %10
%12:i64 = phi %0, %11, %7
%13:i64 = shl %12, 3:i64
infer %13 (demandedBits=1111111101111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24
infer %25
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
infer %27
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i32 = subnsw 0:i32, %25
%29:i32 = and 63:i32, %28
%30:i64 = zext %29
infer %30
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i32 = subnsw 0:i32, %25
%29:i32 = and 63:i32, %28
infer %29
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i32 = subnsw 0:i32, %25
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i64 = addnw 53:i64, %18
%29:i64 = and 63:i64, %28
%30:i64 = shl %17, %29
%31:i64 = phi %15, %30, %17
%32:i64 = shl %31, 3:i64
%33:i64 = or 36028797018963968:i64, %32 (hasExternalUses)
%34:i32 = subnsw 0:i32, %25
%35:i32 = and 63:i32, %34
%36:i64 = zext %35
%37:i64 = shl %33, %36
%38:i1 = ne 0:i64, %37
%39:i64 = zext %38
infer %39
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i64 = addnw 53:i64, %18
%29:i64 = and 63:i64, %28
%30:i64 = shl %17, %29
%31:i64 = phi %15, %30, %17
%32:i64 = shl %31, 3:i64
%33:i64 = or 36028797018963968:i64, %32 (hasExternalUses)
%34:i32 = subnsw 0:i32, %25
%35:i32 = and 63:i32, %34
%36:i64 = zext %35
%37:i64 = shl %33, %36
%38:i1 = ne 0:i64, %37
infer %38
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i64 = addnw 53:i64, %18
%29:i64 = and 63:i64, %28
%30:i64 = shl %17, %29
%31:i64 = phi %15, %30, %17
%32:i64 = shl %31, 3:i64
%33:i64 = or 36028797018963968:i64, %32 (hasExternalUses)
%34:i32 = subnsw 0:i32, %25
%35:i32 = and 63:i32, %34
%36:i64 = zext %35
%37:i64 = shl %33, %36
infer %37
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i64 = addnw 53:i64, %18
%29:i64 = and 63:i64, %28
%30:i64 = shl %17, %29
%31:i64 = phi %15, %30, %17
%32:i64 = shl %31, 3:i64
%33:i64 = or 36028797018963968:i64, %32 (hasExternalUses)
%34:i64 = zext %25
%35:i64 = lshr %33, %34
%36:i32 = subnsw 0:i32, %25
%37:i32 = and 63:i32, %36
%38:i64 = zext %37
%39:i64 = shl %33, %38
%40:i1 = ne 0:i64, %39
%41:i64 = zext %40
%42:i64 = or %35, %41
infer %42
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i64 = addnw 53:i64, %18
%29:i64 = and 63:i64, %28
%30:i64 = shl %17, %29
%31:i64 = phi %15, %30, %17
%32:i64 = shl %31, 3:i64
%33:i64 = or 36028797018963968:i64, %32 (hasExternalUses)
%34:i64 = zext %25
%35:i64 = lshr %33, %34
infer %35
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12
%14:i32 = phi %0, %10, %13
%15 = block 2
%16:i64 = select %5, %1, %3
%17:i64 = and 4503599627370495:i64, %16
%18:i64 = ctlz %17
%19:i32 = trunc %18
%20:i32 = subnsw 12:i32, %19
%21:i64 = lshr %16, 52:i64
%22:i32 = trunc %21
%23:i32 = and 2047:i32, %22
%24:i32 = phi %15, %20, %23
%25:i32 = subnsw %14, %24 (hasExternalUses)
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i1 = ult %25, 64:i32
pc %27 1:i1
%28:i64 = zext %25
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i64 = addnw 53:i64, %8
%10:i64 = and 63:i64, %9
%11:i64 = shl %7, %10
%12:i64 = phi %0, %11, %7
%13:i64 = shl %12, 3:i64
%14:i64 = or 36028797018963968:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3
%5:i1 = ult %2, %4
%6:i64 = select %5, %3, %1
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7
%9:i64 = addnw 53:i64, %8
%10:i64 = and 63:i64, %9
%11:i64 = shl %7, %10
%12:i64 = phi %0, %11, %7
%13:i64 = shl %12, 3:i64
infer %13 (demandedBits=1111111101111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses)
%5:i1 = ult %2, %4 (hasExternalUses)
%6:i64 = select %5, %1, %3 (hasExternalUses)
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7 (hasExternalUses)
%9:i64 = addnw 53:i64, %8
%10:i64 = and 63:i64, %9
%11:i64 = shl %7, %10
%12:i64 = phi %0, %11, %7
infer %12 (demandedBits=0001111111101111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses)
%5:i1 = ult %2, %4 (hasExternalUses)
%6:i64 = select %5, %1, %3 (hasExternalUses)
%7:i64 = and 4503599627370495:i64, %6 (hasExternalUses)
%8:i64 = ctlz %7 (hasExternalUses)
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12 (hasExternalUses)
%14:i32 = phi %0, %10, %13
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses)
%5:i1 = ult %2, %4 (hasExternalUses)
%6:i64 = select %5, %3, %1 (hasExternalUses)
%7:i64 = and 4503599627370495:i64, %6
%8:i64 = ctlz %7 (hasExternalUses)
%9:i64 = addnw 53:i64, %8
%10:i64 = and 63:i64, %9
%11:i64 = shl %7, %10
%12:i64 = phi %0, %11, %7
infer %12 (demandedBits=0001111111101111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = and 9223372036854775807:i64, %1 (hasExternalUses)
%3:i64 = var
%4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses)
%5:i1 = ult %2, %4 (hasExternalUses)
%6:i64 = select %5, %3, %1 (hasExternalUses)
%7:i64 = and 4503599627370495:i64, %6 (hasExternalUses)
%8:i64 = ctlz %7 (hasExternalUses)
%9:i32 = trunc %8
%10:i32 = subnsw 12:i32, %9
%11:i64 = lshr %6, 52:i64
%12:i32 = trunc %11
%13:i32 = and 2047:i32, %12 (hasExternalUses)
%14:i32 = phi %0, %10, %13
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 38:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 26:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19
%21:i64 = and 67108864:i64, %20
%22:i1 = eq 0:i64, %21
%23:i32 = subnw 64:i32, %3
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
%26:i32 = shlnsw %25, 23:i32
%27:i32 = add 1065353216:i32, %26
%28:i32 = and 2139095040:i32, %27
infer %28
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 38:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 26:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19
%21:i64 = and 67108864:i64, %20
%22:i1 = eq 0:i64, %21
%23:i32 = subnw 64:i32, %3
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
%26:i32 = shlnsw %25, 23:i32
%27:i32 = add 1065353216:i32, %26
infer %27 (demandedBits=01111111100000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 38:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 26:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19
%21:i64 = and 67108864:i64, %20
%22:i1 = eq 0:i64, %21
%23:i32 = subnw 64:i32, %3
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
%26:i32 = shlnsw %25, 23:i32
infer %26 (demandedBits=01111111110000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 9:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 55:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19
%21:i64 = and 36028797018963968:i64, %20
%22:i1 = eq 0:i64, %21
%23:i32 = subnw 64:i32, %3
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
%26:i32 = addnsw 1023:i32, %25
%27:i64 = zext %26
%28:i64 = shl %27, 52:i64
%29:i64 = and 9218868437227405312:i64, %28
infer %29
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 9:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 55:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19
%21:i64 = and 36028797018963968:i64, %20
%22:i1 = eq 0:i64, %21
%23:i32 = subnw 64:i32, %3
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
%26:i32 = addnsw 1023:i32, %25
%27:i64 = zext %26
%28:i64 = shl %27, 52:i64
infer %28 (demandedBits=0111111111110000000000000000000000000000000000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 9:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 55:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19
%21:i64 = and 36028797018963968:i64, %20
%22:i1 = eq 0:i64, %21
%23:i32 = subnw 64:i32, %3
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
%26:i32 = addnsw 1023:i32, %25
%27:i64 = zext %26
infer %27 (demandedBits=0000000000000000000000000000000000000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 9:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 55:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19
%21:i64 = and 36028797018963968:i64, %20
%22:i1 = eq 0:i64, %21
%23:i32 = subnw 64:i32, %3
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
%26:i32 = addnsw 1023:i32, %25
infer %26 (demandedBits=00000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = addnw 24:i64, %2
%4:i64 = and 63:i64, %3
%5:i64 = shl %1, %4
%6 = block 3
%7:i64 = subnsw 38:i64, %2
%8:i64 = and 63:i64, %7
%9:i64 = lshr %1, %8
%10:i64 = addnw 26:i64, %2
%11:i64 = and 63:i64, %10
%12:i64 = shl %1, %11
%13:i1 = ne 0:i64, %12
%14:i64 = zext %13
%15:i64 = or %9, %14
%16:i64 = shl %1, 1:i64
%17:i64 = phi %6, %15, %16, %1
%18:i64 = lshr %17, 2:i64
%19:i64 = and 1:i64, %18
%20:i64 = or %17, %19
%21:i64 = add 1:i64, %20
%22:i64 = and 67108864:i64, %21
%23:i1 = eq 0:i64, %22
%24:i64 = select %23, 2:i64, 3:i64
%25:i64 = lshr %21, %24
%26:i64 = phi %0, %5, %25
%27:i32 = trunc %26
%28:i32 = and 8388607:i32, %27
%29:i32 = trunc %2
%30:i32 = xor 63:i32, %29
%31:i32 = subnw 64:i32, %29
%32:i32 = select %23, %30, %31
%33:i32 = phi %0, %30, %32
%34:i32 = shlnsw %33, 23:i32
%35:i32 = add 1065353216:i32, %34
%36:i32 = and 2139095040:i32, %35
%37:i32 = or %28, %36
infer %37
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = addnw 24:i64, %2
%4:i64 = and 63:i64, %3
%5:i64 = shl %1, %4
%6 = block 3
%7:i64 = subnsw 38:i64, %2
%8:i64 = and 63:i64, %7
%9:i64 = lshr %1, %8
%10:i64 = addnw 26:i64, %2
%11:i64 = and 63:i64, %10
%12:i64 = shl %1, %11
%13:i1 = ne 0:i64, %12
%14:i64 = zext %13
%15:i64 = or %9, %14
%16:i64 = shl %1, 1:i64
%17:i64 = phi %6, %15, %16, %1
%18:i64 = lshr %17, 2:i64
%19:i64 = and 1:i64, %18
%20:i64 = or %17, %19
%21:i64 = add 1:i64, %20
%22:i64 = and 67108864:i64, %21
%23:i1 = eq 0:i64, %22
%24:i64 = select %23, 2:i64, 3:i64
%25:i64 = lshr %21, %24
%26:i64 = phi %0, %5, %25
%27:i32 = trunc %26
%28:i32 = and 8388607:i32, %27
infer %28
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = addnw 24:i64, %2
%4:i64 = and 63:i64, %3
%5:i64 = shl %1, %4
%6 = block 3
%7:i64 = subnsw 38:i64, %2
%8:i64 = and 63:i64, %7
%9:i64 = lshr %1, %8
%10:i64 = addnw 26:i64, %2
%11:i64 = and 63:i64, %10
%12:i64 = shl %1, %11
%13:i1 = ne 0:i64, %12
%14:i64 = zext %13
%15:i64 = or %9, %14
%16:i64 = shl %1, 1:i64
%17:i64 = phi %6, %15, %16, %1
%18:i64 = lshr %17, 2:i64
%19:i64 = and 1:i64, %18
%20:i64 = or %17, %19
%21:i64 = add 1:i64, %20
%22:i64 = and 67108864:i64, %21
%23:i1 = eq 0:i64, %22
%24:i64 = select %23, 2:i64, 3:i64
%25:i64 = lshr %21, %24
%26:i64 = phi %0, %5, %25
%27:i32 = trunc %26
infer %27 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = addnw 53:i64, %2
%4:i64 = and 63:i64, %3
%5:i64 = shl %1, %4
%6 = block 3
%7:i64 = subnsw 9:i64, %2
%8:i64 = and 63:i64, %7
%9:i64 = lshr %1, %8
%10:i64 = addnw 55:i64, %2
%11:i64 = and 63:i64, %10
%12:i64 = shl %1, %11
%13:i1 = ne 0:i64, %12
%14:i64 = zext %13
%15:i64 = or %9, %14
%16:i64 = shl %1, 1:i64
%17:i64 = phi %6, %15, %16, %1
%18:i64 = lshr %17, 2:i64
%19:i64 = and 1:i64, %18
%20:i64 = or %17, %19
%21:i64 = add 1:i64, %20
%22:i64 = and 36028797018963968:i64, %21
%23:i1 = eq 0:i64, %22
%24:i64 = select %23, 2:i64, 3:i64
%25:i64 = lshr %21, %24
%26:i64 = phi %0, %5, %25
%27:i64 = and 4503599627370495:i64, %26
%28:i32 = trunc %2
%29:i32 = xor 63:i32, %28
%30:i32 = subnw 64:i32, %28
%31:i32 = select %23, %29, %30
%32:i32 = phi %0, %29, %31
%33:i32 = addnsw 1023:i32, %32
%34:i64 = zext %33
%35:i64 = shl %34, 52:i64
%36:i64 = and 9218868437227405312:i64, %35
%37:i64 = or %27, %36
infer %37
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = addnw 53:i64, %2
%4:i64 = and 63:i64, %3
%5:i64 = shl %1, %4
%6 = block 3
%7:i64 = subnsw 9:i64, %2
%8:i64 = and 63:i64, %7
%9:i64 = lshr %1, %8
%10:i64 = addnw 55:i64, %2
%11:i64 = and 63:i64, %10
%12:i64 = shl %1, %11
%13:i1 = ne 0:i64, %12
%14:i64 = zext %13
%15:i64 = or %9, %14
%16:i64 = shl %1, 1:i64
%17:i64 = phi %6, %15, %16, %1
%18:i64 = lshr %17, 2:i64
%19:i64 = and 1:i64, %18
%20:i64 = or %17, %19
%21:i64 = add 1:i64, %20
%22:i64 = and 36028797018963968:i64, %21
%23:i1 = eq 0:i64, %22
%24:i64 = select %23, 2:i64, 3:i64
%25:i64 = lshr %21, %24
%26:i64 = phi %0, %5, %25
%27:i64 = and 4503599627370495:i64, %26
infer %27
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i64 = and 63:i64, %12
%14:i64 = shlnuw 1:i64, %13
%15:i64 = and 63:i64, %11
%16:i64 = shlnuw 1:i64, %15
%17:i64 = phi %0, %14, %16
%18:i64 = add 18446744073709551615:i64, %17
infer %18
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i64 = phi %0, %12, %11
%14:i1 = eq 0:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <18>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i64 = phi %0, %12, %11
%14:i64 = and 63:i64, %13
infer %14
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %1, %12
%14:i64 = lshr %13, 1:i64
%15:i64 = phi %0, %14, %13
%16:i64 = addnsw 18446744073709551615:i64, %15
%17:i64 = var
%18:i64 = shl %17, 1:i64
%19:i64 = sub %18, %16 (hasExternalUses)
%20:i64 = ashr %19, 63:i64
%21:i64 = and %16, %20
infer %21
>
<noinfer> <>
<sprofile > <24>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10
%12:i64 = and 63:i64, %11
%13:i64 = shl %1, %12
%14:i64 = lshr %13, 1:i64
%15:i64 = phi %0, %14, %13
%16:i64 = addnsw 18446744073709551615:i64, %15
infer %16
>
<noinfer> <>
<sprofile > <24>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10
%12:i64 = and 63:i64, %11
%13:i64 = shlnuw 1:i64, %12
%14:i64 = shl %1, %12
%15:i64 = sub %3, %14
%16:i64 = lshr %14, 1:i64
%17:i64 = sub %15, %16
%18:i1 = slt 18446744073709551615:i64, %17
%19:i64 = addnsw 18446744073709551615:i64, %11
%20:i64 = and 63:i64, %19
%21:i64 = shlnuw 1:i64, %20
%22:i64 = select %18, %21, 0:i64
%23:i64 = or %13, %22
%24:i64 = phi %0, %23, %13
%25 = block 2
%26:i64 = select %18, %17, %15
%27:i64 = phi %0, %26, %15
%28:i64 = var
%29:i64 = shl %28, 1:i64
%30:i64 = phi %0, %16, %14
%31:i64 = addnsw 18446744073709551615:i64, %30
%32:i64 = sub %29, %31
%33:i64 = ashr %32, 63:i64
%34:i64 = and %31, %33
%35:i64 = add %32, %34
%36:i64 = phi %25, %27, %35
%37:i64 = phi %0, %21, %13
%38:i64 = add 18446744073709551615:i64, %37
%39:i64 = and %36, %38
%40:i64 = or %24, %39
infer %40
>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10
%12:i64 = and 63:i64, %11
%13:i64 = shlnuw 1:i64, %12
%14:i64 = shl %1, %12
%15:i64 = sub %3, %14
%16:i64 = lshr %14, 1:i64
%17:i64 = sub %15, %16
%18:i1 = slt 18446744073709551615:i64, %17
%19:i64 = addnsw 18446744073709551615:i64, %11
%20:i64 = and 63:i64, %19
%21:i64 = shlnuw 1:i64, %20
%22:i64 = select %18, %21, 0:i64
%23:i64 = or %13, %22
%24:i64 = phi %0, %23, %13
%25:i64 = var
%26:i64 = phi %0, %21, %13
%27:i64 = add 18446744073709551615:i64, %26
%28:i64 = and %25, %27
%29:i64 = or %24, %28
infer %29
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10 (hasExternalUses)
%12:i64 = addnsw 18446744073709551615:i64, %11
%13:i64 = phi %0, %12, %11
infer %13
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10 (hasExternalUses)
%12:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses)
%13:i64 = and 63:i64, %12
%14:i64 = shlnuw 1:i64, %13 (hasExternalUses)
%15:i64 = and 63:i64, %11 (hasExternalUses)
%16:i64 = shlnuw 1:i64, %15 (hasExternalUses)
%17:i64 = phi %0, %14, %16
infer %17
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10 (hasExternalUses)
%12:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses)
%13:i64 = phi %0, %12, %11
infer %13
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10 (hasExternalUses)
%12:i64 = and 63:i64, %11
%13:i64 = shl %1, %12 (hasExternalUses)
%14:i64 = lshr %13, 1:i64 (hasExternalUses)
%15:i64 = phi %0, %14, %13
infer %15
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10 (hasExternalUses)
%12:i64 = and 63:i64, %11
%13:i64 = shlnuw 1:i64, %12 (hasExternalUses)
%14:i64 = shl %1, %12 (hasExternalUses)
%15:i64 = sub %3, %14 (hasExternalUses)
%16:i64 = lshr %14, 1:i64 (hasExternalUses)
%17:i64 = sub %15, %16 (hasExternalUses)
%18:i1 = slt 18446744073709551615:i64, %17 (hasExternalUses)
%19:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses)
%20:i64 = and 63:i64, %19
%21:i64 = shlnuw 1:i64, %20 (hasExternalUses)
%22:i64 = select %18, %21, 0:i64
%23:i64 = or %13, %22 (hasExternalUses)
%24:i64 = phi %0, %23, %13
infer %24
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1
%3:i64 = var
%4:i64 = ctlz %3
%5:i64 = subnsw %2, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %1, %7
%9:i1 = ult %3, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10 (hasExternalUses)
%12:i64 = and 63:i64, %11 (hasExternalUses)
%13:i64 = shl %1, %12 (hasExternalUses)
%14:i64 = lshr %13, 1:i64 (hasExternalUses)
%15:i64 = phi %0, %14, %13
infer %15
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1 (hasExternalUses)
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 38:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 26:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19 (hasExternalUses)
%21:i64 = and 67108864:i64, %20
%22:i1 = eq 0:i64, %21 (hasExternalUses)
%23:i32 = subnw 64:i32, %3 (hasExternalUses)
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
infer %25
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1 (hasExternalUses)
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = xor 63:i32, %3
%5 = block 3
%6:i64 = subnsw 9:i64, %2
%7:i64 = and 63:i64, %6
%8:i64 = lshr %1, %7
%9:i64 = addnw 55:i64, %2
%10:i64 = and 63:i64, %9
%11:i64 = shl %1, %10
%12:i1 = ne 0:i64, %11
%13:i64 = zext %12
%14:i64 = or %8, %13
%15:i64 = shl %1, 1:i64
%16:i64 = phi %5, %14, %15, %1
%17:i64 = lshr %16, 2:i64
%18:i64 = and 1:i64, %17
%19:i64 = or %16, %18
%20:i64 = add 1:i64, %19 (hasExternalUses)
%21:i64 = and 36028797018963968:i64, %20
%22:i1 = eq 0:i64, %21 (hasExternalUses)
%23:i32 = subnw 64:i32, %3 (hasExternalUses)
%24:i32 = select %22, %4, %23
%25:i32 = phi %0, %4, %24
infer %25 (demandedBits=00000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1 (hasExternalUses)
%3:i64 = addnw 24:i64, %2
%4:i64 = and 63:i64, %3
%5:i64 = shl %1, %4
%6 = block 3
%7:i64 = subnsw 38:i64, %2
%8:i64 = and 63:i64, %7
%9:i64 = lshr %1, %8
%10:i64 = addnw 26:i64, %2
%11:i64 = and 63:i64, %10
%12:i64 = shl %1, %11
%13:i1 = ne 0:i64, %12
%14:i64 = zext %13
%15:i64 = or %9, %14
%16:i64 = shl %1, 1:i64
%17:i64 = phi %6, %15, %16, %1
%18:i64 = lshr %17, 2:i64
%19:i64 = and 1:i64, %18
%20:i64 = or %17, %19
%21:i64 = add 1:i64, %20
%22:i64 = and 67108864:i64, %21
%23:i1 = eq 0:i64, %22 (hasExternalUses)
%24:i64 = select %23, 2:i64, 3:i64
%25:i64 = lshr %21, %24
%26:i64 = phi %0, %5, %25
infer %26 (demandedBits=0000000000000000000000000000000000000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = ctlz %1 (hasExternalUses)
%3:i64 = addnw 53:i64, %2
%4:i64 = and 63:i64, %3
%5:i64 = shl %1, %4
%6 = block 3
%7:i64 = subnsw 9:i64, %2
%8:i64 = and 63:i64, %7
%9:i64 = lshr %1, %8
%10:i64 = addnw 55:i64, %2
%11:i64 = and 63:i64, %10
%12:i64 = shl %1, %11
%13:i1 = ne 0:i64, %12
%14:i64 = zext %13
%15:i64 = or %9, %14
%16:i64 = shl %1, 1:i64
%17:i64 = phi %6, %15, %16, %1
%18:i64 = lshr %17, 2:i64
%19:i64 = and 1:i64, %18
%20:i64 = or %17, %19
%21:i64 = add 1:i64, %20
%22:i64 = and 36028797018963968:i64, %21
%23:i1 = eq 0:i64, %22 (hasExternalUses)
%24:i64 = select %23, 2:i64, 3:i64
%25:i64 = lshr %21, %24
%26:i64 = phi %0, %5, %25
infer %26 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = lshr %1, 32:i64
%3:i64 = phi %0, %1, %2
%4:i64 = lshr %3, 16:i64
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = lshr %1, 32:i64
%3:i64 = phi %0, %1, %2
%4:i64 = lshr %3, 16:i64 (hasExternalUses)
%5:i1 = eq 0:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = lshr %1, 32:i64 (hasExternalUses)
%3:i64 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = lshr %1, 8:i64
%3:i8 = trunc %2
%4:i8 = var
%5:i8 = phi %0, %3, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, %1, 0:i64
%3 = block 2
%4:i64 = var
%5:i64 = phi %3, %4, 0:i64
%6:i64 = add %2, %5
%7:i32 = var
%8:i32 = and 16711680:i32, %7
%9:i1 = ne 0:i32, %8
%10:i64 = zext %9
%11:i64 = add %6, %10
infer %11
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, %1, 0:i64
%3 = block 2
%4:i64 = var
%5:i64 = phi %3, %4, 0:i64
%6:i64 = add %2, %5
infer %6
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, %1, 0:i64
%3 = block 2
%4:i64 = var
%5:i64 = phi %3, %4, 0:i64
%6:i64 = var
%7:i1 = var
%8:i64 = zext %7
%9:i64 = add %6, %8
%10:i64 = add %5, %9
%11:i64 = add %2, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, %1, 0:i64
%3 = block 2
%4:i64 = var
%5:i64 = phi %3, %4, 0:i64
%6:i64 = var
%7:i32 = var
%8:i32 = and 16711680:i32, %7
%9:i1 = ne 0:i32, %8
%10:i64 = zext %9
%11:i64 = add %6, %10
%12:i64 = add %5, %11
%13:i64 = add %2, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, %1, 0:i64
%3:i64 = var
%4:i1 = var
%5:i64 = zext %4
%6:i64 = add %3, %5
%7:i64 = add %2, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, %1, 0:i64
%3:i64 = var
%4:i32 = var
%5:i32 = and 16711680:i32, %4
%6:i1 = ne 0:i32, %5
%7:i64 = zext %6
%8:i64 = add %3, %7
%9:i64 = add %2, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, %1, 0:i64
%3:i64 = var
%4:i64 = sub %2, %3
infer %4
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, %1, 0:i64
infer %2
>
<noinfer> <>
<sprofile > <61>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 0:i64, %1
%3:i64 = add 1:i64, %2
infer %3
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 0:i64, %1
infer %2
>
<noinfer> <>
<sprofile > <52>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 19:i64, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 1:i64, %1
infer %2
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 4096:i64, %1
%3:i64 = var
%4:i64 = var
%5:i64 = var
%6:i64 = add %4, %5
%7:i64 = phi %0, %3, %6
%8:i1 = ult %2, %7
%9:i64 = select %8, %2, %7
infer %9
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 4096:i64, %1
%3:i64 = var
%4:i64 = var
%5:i64 = var
%6:i64 = add %4, %5
%7:i64 = phi %0, %3, %6
%8:i1 = ult %2, %7
%9:i64 = select %8, %2, %7 (hasExternalUses)
%10:i1 = ult %9, 24:i64
infer %10
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 4096:i64, %1
%3:i64 = var
%4:i64 = var
%5:i64 = var
%6:i64 = add %4, %5
%7:i64 = phi %0, %3, %6
%8:i1 = ult %2, %7
%9:i64 = select %8, %2, %7 (hasExternalUses)
%10:i1 = ult %9, 24:i64
pc %10 0:i1
%11:i64 = udiv %9, 24:i64
infer %11
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 4096:i64, %1
%3:i64 = var
%4:i64 = var
%5:i64 = var
%6:i64 = add %4, %5
%7:i64 = phi %0, %3, %6
%8:i1 = ult %2, %7
infer %8
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 4096:i64, %1
infer %2
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = phi %0, 9223372036854775809:i64, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = sub 0:i64, %1
%3:i64 = var
%4:i64 = lshr %3, 16:i64
%5:i64 = phi %0, %2, %4
infer %5 (demandedBits=0000000000000000000000000000000000000000000000001111111111111111)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = udiv %1, 100:i64
%3:i64 = var
%4:i64 = phi %0, %2, %3
%5:i8 = trunc %4
%6:i8 = addnw 48:i8, %5
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = udiv %1, 100:i64
%3:i64 = var
%4:i64 = phi %0, %2, %3
%5:i8 = trunc %4
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = udiv %1, 100:i64 (hasExternalUses)
%3:i64 = var
%4:i64 = phi %0, %2, %3
infer %4 (demandedBits=0000000000000000000000000000000000000000000000000000000011111111)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i1 = eq %1, %2
%4:i1 = phi %0, %3, 1:i1
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i1 = eq %1, %2
%4:i1 = phi %0, 1:i1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i1 = eq %1, %2 (hasExternalUses)
%4:i1 = phi %0, 0:i1, %3
infer %4
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i1 = ule %1, %2
%4:i1 = phi %0, %3, 0:i1
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i1 = ult %1, %2
%4:i1 = phi %0, 1:i1, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = sdiv %4, 86400:i64
%6:i64 = addnsw 18446744073709551615:i64, %5
%7:i64 = phi %0, %6, %5
%8:i64 = sdiv %7, 146097:i64
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = sdiv %4, 86400:i64
%6:i64 = addnsw 18446744073709551615:i64, %5
%7:i64 = phi %0, %6, %5
%8:i64 = srem %7, 146097:i64
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = sdiv %4, 86400:i64
%6:i64 = addnsw 18446744073709551615:i64, %5
%7:i64 = phi %0, %6, %5
%8:i64 = srem %7, 146097:i64 (hasExternalUses)
%9:i1 = slt %8, 0:i64
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = sdiv %4, 86400:i64
%6:i64 = addnsw 18446744073709551615:i64, %5
%7:i64 = phi %0, %6, %5
%8:i64 = srem %7, 146097:i64 (hasExternalUses)
%9:i1 = slt %8, 0:i64
pc %9 1:i1
%10:i64 = addnsw 146097:i64, %8
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = sdiv %4, 86400:i64
%6:i64 = addnsw 18446744073709551615:i64, %5
%7:i64 = phi %0, %6, %5
%8:i64 = srem %7, 146097:i64 (hasExternalUses)
%9:i1 = slt %8, 0:i64
pc %9 1:i1
%10:i64 = sdiv %7, 146097:i64 (hasExternalUses)
%11:i64 = addnsw 18446744073709551615:i64, %10
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = srem %4, 86400:i64
%6:i64 = addnsw 86400:i64, %5
%7:i64 = phi %0, %6, %5
%8:i64 = sdiv %7, 3600:i64
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = srem %4, 86400:i64
%6:i64 = addnsw 86400:i64, %5
%7:i64 = phi %0, %6, %5
%8:i64 = sdiv %7, 60:i64
%9:i64 = srem %8, 60:i64
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3
%5:i64 = srem %4, 86400:i64
%6:i64 = addnsw 86400:i64, %5
%7:i64 = phi %0, %6, %5
%8:i64 = sdiv %7, 60:i64
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3 (hasExternalUses)
%5:i64 = sdiv %4, 86400:i64
%6:i64 = addnsw 18446744073709551615:i64, %5
%7:i64 = phi %0, %6, %5
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = add 18446744072757682816:i64, %3 (hasExternalUses)
%5:i64 = srem %4, 86400:i64 (hasExternalUses)
%6:i64 = addnsw 86400:i64, %5
%7:i64 = phi %0, %6, %5
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = phi %0, %3, 0:i64
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = var
%5:i64 = phi %0, %3, %4
%6:i64 = add 12:i64, %5
infer %6
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2
%4:i64 = var
%5:i64 = phi %0, %3, %4
%6:i64 = add 12:i64, %5 (hasExternalUses)
%7:i1 = ult 4095:i64, %6
infer %7
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add %1, %2 (hasExternalUses)
%4:i64 = var
%5:i64 = phi %0, %3, %4
infer %5
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add 18446744073709551615:i64, %2
%4:i64 = phi %0, %1, %3
%5:i1 = ult 1:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add 18446744073709551615:i64, %2
%4:i64 = phi %0, %1, %3
%5:i1 = ult 1:i64, %4
pc %5 1:i1
%6:i64 = add 18446744073709551615:i64, %4
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add 18446744073709551615:i64, %2 (hasExternalUses)
%4:i64 = phi %0, %1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add 1:i64, %2
%4:i64 = phi %0, %1, %3
%5:i1 = ult 4096:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add 1:i64, %2
%4:i64 = phi %0, %1, %3
%5:i1 = ult 4096:i64, %4 (hasExternalUses)
%6:i1 = select %5, 0:i1, 1:i1
infer %6
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add 1:i64, %2 (hasExternalUses)
%4:i64 = phi %0, %1, %3
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = add 4096:i64, %2
%4:i64 = var
%5:i64 = and 4095:i64, %4 (hasExternalUses)
%6:i64 = sub %3, %5
%7:i64 = phi %0, %1, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = addnuw %1, %2
%4:i64 = phi %0, %3, 0:i64
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = and 63:i64, %2 (hasExternalUses)
%4:i64 = shl %1, %3 (hasExternalUses)
%5:i64 = lshr %4, 1:i64 (hasExternalUses)
%6:i64 = phi %0, %5, %4
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = ctlz %2
%4:i64 = ctlz %1
%5:i64 = subnsw %3, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %2, %7
%9:i1 = ult %1, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10 (hasExternalUses)
%12:i64 = and 63:i64, %11
%13:i64 = shl %2, %12 (hasExternalUses)
%14:i64 = sub %1, %13 (hasExternalUses)
%15:i64 = lshr %13, 1:i64 (hasExternalUses)
%16:i64 = sub %14, %15
%17:i1 = slt 18446744073709551615:i64, %16
%18:i64 = select %17, %16, %14 (hasExternalUses)
%19:i64 = phi %0, %18, %14
infer %19
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = ctlz %2
%4:i64 = ctlz %1
%5:i64 = subnsw %3, %4
%6:i64 = and 4294967295:i64, %5
%7:i64 = and 63:i64, %5
%8:i64 = shl %2, %7
%9:i1 = ult %1, %8
%10:i64 = select %9, 18446744073709551615:i64, 0:i64
%11:i64 = addnsw %6, %10 (hasExternalUses)
%12:i64 = and 63:i64, %11 (hasExternalUses)
%13:i64 = shl %2, %12 (hasExternalUses)
%14:i64 = sub %1, %13 (hasExternalUses)
%15:i64 = lshr %13, 1:i64 (hasExternalUses)
%16:i64 = sub %14, %15
%17:i1 = slt 18446744073709551615:i64, %16 (hasExternalUses)
%18:i64 = select %17, %16, %14 (hasExternalUses)
%19:i64 = phi %0, %18, %14
infer %19
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = lshr %2, 1:i64
%4:i64 = add %1, %3
%5:i64 = add 1:i64, %1
%6:i64 = phi %0, %4, %5
%7:i64 = var
%8:i1 = ult %6, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = lshr %2, 1:i64
%4:i64 = add %1, %3 (hasExternalUses)
%5:i64 = add 1:i64, %1
%6:i64 = phi %0, %4, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = lshr %2, 1:i64
%4:i64 = add %1, %3 (hasExternalUses)
%5:i64 = phi %0, %4, %1
infer %5
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 0:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 0:i64, %3
pc %4 0:i1
%5:i64 = var
%6:i1 = eq 0:i64, %5
pc %6 0:i1
%7:i64 = udiv %5, %3
%8:i64 = urem %5, %3
%9:i1 = eq 0:i64, %8
%10:i64 = select %9, 0:i64, 1:i64
%11:i64 = add %7, %10
infer %11
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 0:i64, %3
pc %4 0:i1
%5:i64 = var
%6:i1 = eq 0:i64, %5
pc %6 0:i1
%7:i64 = udiv %5, %3
%8:i64 = urem %5, %3
%9:i1 = eq 0:i64, %8
%10:i64 = select %9, 0:i64, 1:i64
%11:i64 = add %7, %10 (hasExternalUses)
%12:i1 = eq 0:i64, %11
infer %12
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 0:i64, %3
pc %4 0:i1
%5:i64 = var
%6:i1 = eq 0:i64, %5
pc %6 0:i1
%7:i64 = udiv %5, %3
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 0:i64, %3
pc %4 0:i1
%5:i64 = var
%6:i1 = eq 0:i64, %5
pc %6 0:i1
%7:i64 = urem %5, %3
%8:i1 = eq 0:i64, %7
%9:i64 = select %8, 0:i64, 1:i64
infer %9
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 0:i64, %3
pc %4 0:i1
%5:i64 = var
%6:i1 = eq 0:i64, %5
pc %6 0:i1
%7:i64 = urem %5, %3
%8:i1 = eq 0:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 0:i64, %3
pc %4 0:i1
%5:i64 = var
%6:i1 = eq 0:i64, %5
pc %6 0:i1
%7:i64 = urem %5, %3
infer %7
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 18446744073709551615:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = eq 18446744073709551615:i64, %3
pc %4 0:i1
%5:i64 = add 1:i64, %1
%6:i64 = add 1:i64, %2
%7:i64 = phi %0, %5, %6
%8:i1 = ult 4096:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ne 0:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = slt %3, 0:i64
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ult 18446744073709551606:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ult 18446744073709551606:i64, %3
pc %4 0:i1
%5:i64 = add 9:i64, %1
%6:i64 = add 9:i64, %2
%7:i64 = phi %0, %5, %6
%8:i1 = ult 4096:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ult 18446744073709551609:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ult 18446744073709551609:i64, %3
pc %4 0:i1
%5:i64 = add 6:i64, %1
%6:i64 = add 6:i64, %2
%7:i64 = phi %0, %5, %6
%8:i1 = ult 4096:i64, %7
infer %8
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ult 1:i64, %3
%5:i64 = select %4, %3, 1:i64
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ult 1:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i32 = trunc %3
%5:i32 = sub 0:i32, %4
infer %5
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i32 = trunc %3
infer %4
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i64 = add 18446744073709551615:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i64 = shl %3, 3:i64
%5:i64 = add 18446744073709551608:i64, %4
%6:i64 = lshrexact %5, 3:i64
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i64 = shl %3, 3:i64
%5:i64 = add 18446744073709551608:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i64 = shl %3, 3:i64
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i64 = var
%5:i1 = ult %3, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i64 = var (range=[1,0))
%5:i1 = ult %3, %4
%6:i64 = select %5, %3, %4
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i64 = var (range=[1,0))
%5:i1 = ult %3, %4
%6:i64 = select %5, %3, %4 (hasExternalUses)
%7:i1 = eq 1:i64, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i64 = var (range=[1,0))
%5:i1 = ult %3, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <93>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = phi %0, %1, %2
infer %3 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = udiv %1, %2
%4:i64 = add 1:i64, %3
%5:i64 = phi %0, %4, %3
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = udiv %2, 100:i64
%4:i64 = phi %0, %1, %3
%5:i1 = eq 0:i64, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = udiv %2, 100:i64
%4:i64 = phi %0, %1, %3
%5:i1 = eq 0:i64, %4
pc %5 0:i1
%6:i8 = trunc %4
%7:i8 = addnw 48:i8, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = udiv %2, 100:i64
%4:i64 = phi %0, %1, %3
%5:i1 = eq 0:i64, %4
pc %5 0:i1
%6:i8 = trunc %4
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = udiv %2, 100:i64 (hasExternalUses)
%4:i64 = phi %0, %1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = var
%4:i64 = add %2, %3 (hasExternalUses)
%5:i64 = phi %0, %1, %4
infer %5
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var
%3:i64 = var
%4:i64 = xor 18446744073709551615:i64, %3
%5:i64 = add %2, %4
%6:i64 = phi %0, %1, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var (knownBits=0000000000000000000000000000000000000000000000000000000000001000) (nonNegative) (nonZero) (signBits=60)
%3:i64 = phi %0, %1, %2
%4:i1 = ne 0:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var
%2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000xxxxxxxx) (nonNegative) (signBits=56) (range=[0,256))
%3:i64 = add %1, %2 (hasExternalUses)
%4:i64 = phi %0, %3, %1
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=0000000000000000000000000000000000000000000000000000000000000001) (nonNegative) (nonZero) (signBits=63)
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ne 0:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%2 = block 2
%3:i64 = phi %2, 2:i64, %1
%4:i64 = phi %0, %1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%2 = block 2
%3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%4:i64 = phi %2, 2:i64, %3
%5:i64 = phi %0, %1, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%2:i64 = phi %0, 0:i64, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4))
%2:i64 = phi %0, 2:i64, %1
infer %2
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero)
%2:i64 = var
%3:i64 = phi %0, %1, %2
%4:i1 = ne 0:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero)
%2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000)
%3:i64 = phi %0, %1, %2
%4:i1 = ne 0:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,-1))
%2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%3:i64 = phi %0, %2, %1
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%2:i64 = add 18446744073709551613:i64, %1 (hasExternalUses)
%3:i64 = phi %0, %2, 19:i64
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%2:i64 = add 18446744073709551615:i64, %1
%3:i64 = phi %0, %2, %1
%4:i64 = subnw 20:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses)
%3:i64 = phi %0, %2, %1
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%2:i64 = addnsw 18446744073709551614:i64, %1
%3:i64 = phi %0, 20:i64, %2
%4:i1 = ult 20:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%2:i64 = addnsw 18446744073709551614:i64, %1
%3:i64 = phi %0, 20:i64, %2
%4:i64 = add 18446744073709551615:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%2:i64 = addnsw 18446744073709551614:i64, %1
%3:i64 = phi %0, 20:i64, %2
%4:i64 = add 18446744073709551615:i64, %3 (hasExternalUses)
%5:i1 = ult %4, 20:i64
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21))
%2:i64 = addnsw 18446744073709551614:i64, %1 (hasExternalUses)
%3:i64 = phi %0, 20:i64, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (nonZero)
%2:i64 = phi %0, %1, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (nonZero)
%2:i64 = var (nonZero)
%3:i64 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[0,-1))
%2:i64 = var
%3:i64 = add 18446744073709551615:i64, %2 (hasExternalUses)
%4:i64 = phi %0, %1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[0,-1))
%2:i64 = var
%3:i64 = lshr %2, 1:i64
%4:i64 = add %1, %3
%5 = block 2
%6:i64 = var
%7:i64 = phi %5, 0:i64, %6
%8:i64 = add 1:i64, %7
%9:i64 = phi %0, %4, %8
%10:i64 = var
%11:i1 = ult %9, %10
infer %11
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[0,-1))
%2:i64 = var
%3:i64 = lshr %2, 1:i64
%4:i64 = add %1, %3 (hasExternalUses)
%5 = block 2
%6:i64 = var
%7:i64 = phi %5, 0:i64, %6
%8:i64 = add 1:i64, %7
%9:i64 = phi %0, %4, %8
infer %9
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[0,13))
%2:i64 = add 18446744073709551604:i64, %1
%3:i64 = phi %0, %2, %1
%4:i64 = add 2:i64, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[0,13))
%2:i64 = add 18446744073709551604:i64, %1
%3:i64 = phi %0, %2, %1
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[1,-9223372036854775807))
%2:i64 = ctlz %1
%3:i64 = var
%4:i1 = slt %3, 0:i64
%5:i64 = sub 0:i64, %3
%6:i64 = select %4, %5, %3
%7:i64 = ctlz %6
%8:i64 = subnsw %2, %7
%9:i64 = and 4294967295:i64, %8
%10:i64 = and 63:i64, %8
%11:i64 = shl %1, %10
%12:i1 = ult %6, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = addnsw %9, %13
%15:i64 = addnsw 18446744073709551615:i64, %14
%16:i64 = phi %0, %15, %14
%17:i1 = eq 0:i64, %16
infer %17
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[1,-9223372036854775807))
%2:i64 = ctlz %1
%3:i64 = var
%4:i1 = slt %3, 0:i64
%5:i64 = sub 0:i64, %3
%6:i64 = select %4, %5, %3
%7:i64 = ctlz %6
%8:i64 = subnsw %2, %7
%9:i64 = and 4294967295:i64, %8
%10:i64 = and 63:i64, %8
%11:i64 = shl %1, %10
%12:i1 = ult %6, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = addnsw %9, %13
%15:i64 = addnsw 18446744073709551615:i64, %14
%16:i64 = phi %0, %15, %14
%17:i64 = and 63:i64, %16
infer %17
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[1,-9223372036854775807))
%2:i64 = ctlz %1
%3:i64 = var
%4:i1 = slt %3, 0:i64
%5:i64 = sub 0:i64, %3
%6:i64 = select %4, %5, %3
%7:i64 = ctlz %6
%8:i64 = subnsw %2, %7
%9:i64 = and 4294967295:i64, %8
%10:i64 = and 63:i64, %8
%11:i64 = shl %1, %10
%12:i1 = ult %6, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = addnsw %9, %13
%15:i64 = and 63:i64, %14
%16:i64 = shl %1, %15
%17:i64 = lshr %16, 1:i64
%18:i64 = phi %0, %17, %16
%19:i64 = addnsw 18446744073709551615:i64, %18
%20:i64 = var
%21:i64 = shl %20, 1:i64
%22:i64 = sub %21, %19 (hasExternalUses)
%23:i64 = ashr %22, 63:i64
%24:i64 = and %19, %23
infer %24
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[1,-9223372036854775807))
%2:i64 = ctlz %1
%3:i64 = var
%4:i1 = slt %3, 0:i64
%5:i64 = sub 0:i64, %3
%6:i64 = select %4, %5, %3
%7:i64 = ctlz %6
%8:i64 = subnsw %2, %7
%9:i64 = and 4294967295:i64, %8
%10:i64 = and 63:i64, %8
%11:i64 = shl %1, %10
%12:i1 = ult %6, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = addnsw %9, %13
%15:i64 = and 63:i64, %14
%16:i64 = shl %1, %15
%17:i64 = lshr %16, 1:i64
%18:i64 = phi %0, %17, %16
%19:i64 = addnsw 18446744073709551615:i64, %18
infer %19
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[1,-9223372036854775807))
%2:i64 = ctlz %1
%3:i64 = var
%4:i1 = slt %3, 0:i64 (hasExternalUses)
%5:i64 = sub 0:i64, %3
%6:i64 = select %4, %5, %3 (hasExternalUses)
%7:i64 = ctlz %6
%8:i64 = subnsw %2, %7
%9:i64 = and 4294967295:i64, %8
%10:i64 = and 63:i64, %8
%11:i64 = shl %1, %10
%12:i1 = ult %6, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = addnsw %9, %13 (hasExternalUses)
%15:i64 = addnsw 18446744073709551615:i64, %14
%16:i64 = phi %0, %15, %14
infer %16
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i64 = var (range=[1,-9223372036854775807))
%2:i64 = ctlz %1
%3:i64 = var
%4:i1 = slt %3, 0:i64 (hasExternalUses)
%5:i64 = sub 0:i64, %3
%6:i64 = select %4, %5, %3 (hasExternalUses)
%7:i64 = ctlz %6
%8:i64 = subnsw %2, %7
%9:i64 = and 4294967295:i64, %8
%10:i64 = and 63:i64, %8
%11:i64 = shl %1, %10
%12:i1 = ult %6, %11
%13:i64 = select %12, 18446744073709551615:i64, 0:i64
%14:i64 = addnsw %9, %13 (hasExternalUses)
%15:i64 = and 63:i64, %14
%16:i64 = shl %1, %15 (hasExternalUses)
%17:i64 = lshr %16, 1:i64 (hasExternalUses)
%18:i64 = phi %0, %17, %16
infer %18
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i8 = phi %0, 0:i8, 1:i8
infer %1 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 2
%1:i8 = phi %0, 1:i8, 0:i8
%2:i24 = zext %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = phi %0, 1:i8, 0:i8
infer %1
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 2
%1:i8 = phi %0, 3:i8, 1:i8
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = phi %0, 4:i8, 3:i8
infer %1
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i1 = eq 1:i8, %1
%3:i1 = phi %0, 0:i1, %2
%4:i8 = var
%5:i8 = select %3, 1:i8, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i1 = eq 1:i8, %1
%3:i1 = phi %0, 0:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i1 = eq 3:i8, %1
%3:i1 = select %2, 0:i1, 1:i1
%4:i1 = eq 1:i8, %1
%5:i1 = select %3, %4, 1:i1
%6:i1 = phi %0, 0:i1, %5
%7:i8 = var
%8:i8 = select %6, 1:i8, %7
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i1 = eq 3:i8, %1 (hasExternalUses)
%3:i1 = select %2, 0:i1, 1:i1
%4:i1 = eq 1:i8, %1
%5:i1 = select %3, %4, 1:i1
%6:i1 = phi %0, 0:i1, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i32 = zext %1
%3:i32 = shlnw %2, 8:i32
%4:i8 = var
%5:i32 = zext %4
%6:i32 = or %3, %5
%7:i8 = var
%8:i32 = zext %7
%9:i32 = shlnw %8, 16:i32
%10:i32 = or %6, %9
%11:i8 = var
%12:i32 = zext %11
%13:i32 = shlnuw %12, 24:i32
%14:i32 = or %10, %13
%15:i32 = bswap %14
%16:i64 = sext %15
%17:i64 = mulnsw 6:i64, %16 (hasExternalUses)
%18:i64 = udiv %17, 6:i64 (hasExternalUses)
%19:i64 = mulnuw 6:i64, %18
%20:i64 = add 18446744073709551610:i64, %19
%21:i64 = udiv %20, 6:i64 (hasExternalUses)
%22:i64 = addnw 1:i64, %21
%23:i64 = phi %0, 0:i64, %22
infer %23
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i32 = zext %1
%3:i32 = shlnw %2, 8:i32
%4:i8 = var
%5:i32 = zext %4
%6:i32 = or %3, %5
%7:i8 = var
%8:i32 = zext %7
%9:i32 = shlnw %8, 16:i32
%10:i32 = or %6, %9
%11:i8 = var
%12:i32 = zext %11
%13:i32 = shlnuw %12, 24:i32
%14:i32 = or %10, %13 (hasExternalUses)
%15:i32 = bswap %14
%16:i64 = sext %15 (hasExternalUses)
%17:i64 = shlnsw %16, 3:i64 (hasExternalUses)
%18:i64 = addnsw 18446744073709551608:i64, %17
%19:i64 = lshrexact %18, 3:i64
%20:i64 = addnw 1:i64, %19
%21:i64 = phi %0, %20, 0:i64
infer %21
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i32 = zext %1
%3:i32 = shlnw %2, 8:i32
%4:i8 = var
%5:i32 = zext %4
%6:i32 = or %3, %5
%7:i8 = var
%8:i32 = zext %7
%9:i32 = shlnw %8, 16:i32
%10:i32 = or %6, %9
%11:i8 = var
%12:i32 = zext %11
%13:i32 = shlnuw %12, 24:i32
%14:i32 = or %10, %13 (hasExternalUses)
%15:i32 = bswap %14
%16:i64 = sext %15 (hasExternalUses)
%17:i64 = shlnsw %16, 3:i64 (hasExternalUses)
%18:i64 = addnsw 18446744073709551608:i64, %17
%19:i64 = lshrexact %18, 3:i64
%20:i64 = addnw 1:i64, %19
%21:i64 = phi %0, 0:i64, %20
infer %21
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i32 = zext %1
%3:i8 = var
%4:i32 = zext %3
%5:i32 = subnsw %2, %4
%6:i32 = phi %0, %5, 0:i32
infer %6
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = and 1:i8, %1
%3:i1 = ne 0:i8, %2
%4:i1 = phi %0, 0:i1, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = and 1:i8, %1
%3:i8 = phi %0, 1:i8, %2
infer %3
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = phi %0, %1, 0:i8
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = phi %0, %1, 1:i8
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = phi %0, 0:i8, %1
infer %2
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i1 = ne %1, %2
%4:i1 = phi %0, %3, 0:i1
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i1 = eq 0:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i1 = eq 0:i8, %3 (hasExternalUses)
%5:i32 = select %4, 0:i32, 65536:i32
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i1 = eq 0:i8, %3 (hasExternalUses)
%5:i32 = select %4, 0:i32, 788529152:i32
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i1 = eq 2:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i1 = eq 2:i8, %3 (hasExternalUses)
%5:i32 = select %4, 1073741824:i32, 0:i32
infer %5
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i1 = eq 2:i8, %3 (hasExternalUses)
%5:i32 = select %4, 65536:i32, 0:i32
infer %5
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i1 = eq 2:i8, %3 (hasExternalUses)
%5:i32 = select %4, 704643072:i32, 0:i32
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i8 = and 1:i8, %3
%5:i1 = eq 0:i8, %4
infer %5
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i8 = and 1:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <16>
------------------------------------------------------
<%0 = block 2
%1:i8 = var
%2:i8 = var
%3:i8 = phi %0, %1, %2
infer %3 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2))
%2:i1 = ne 0:i8, %1
%3:i1 = phi %0, 1:i1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2))
%2:i8 = phi %0, 1:i8, %1
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2))
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i8 = and 1:i8, %3
%5:i1 = eq 0:i8, %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2))
%2:i8 = var
%3:i8 = phi %0, %1, %2
%4:i8 = and 1:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2))
%2:i8 = var
%3:i8 = phi %0, %1, %2
infer %3 (demandedBits=00000001)
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%2 = block 14
%3:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%4:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%5:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%6:i8 = phi %2, 2:i8, 6:i8, 3:i8, 0:i8, 7:i8, 5:i8, 2:i8, 6:i8, %3, %4, 0:i8, 7:i8, 5:i8, %5
%7:i8 = phi %0, %1, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8))
%2:i64 = zext %1
%3:i64 = shlnw %2, 8:i64
%4:i64 = phi %0, %3, 0:i64
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14))
%2:i8 = phi %0, %1, 5:i8
infer %2
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (range=[-1,2))
%2 = block 3
%3:i8 = var (range=[-1,2))
%4:i8 = var (range=[-1,2))
%5:i8 = var (range=[-1,2))
%6:i8 = phi %2, %3, %4, %5
%7:i8 = phi %0, %1, %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (range=[-1,2))
%2:i8 = phi %0, 0:i8, %1
infer %2
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (range=[-1,2))
%2:i8 = var
%3:i8 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 2
%1:i8 = var (range=[-1,2))
%2:i8 = var (range=[-1,2))
%3:i8 = phi %0, %1, %2
infer %3
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2 = block 2
%3 = block 3
%4 = block 2
%5:i32 = var
%6:i32 = and 8388607:i32, %5
%7:i32 = ctlz %6
%8:i32 = addnw 24:i32, %7
%9:i32 = and 31:i32, %8
%10:i32 = shl %6, %9
%11:i32 = phi %4, %10, %6
%12:i32 = phi %3, %11, %11, %6
%13:i32 = or 8388608:i32, %12
%14:i64 = zext %13
%15:i32 = var
%16:i32 = and 8388607:i32, %15
%17:i32 = ctlz %16
%18:i32 = addnw 24:i32, %17
%19:i32 = and 31:i32, %18
%20:i32 = shl %16, %19
%21:i32 = phi %3, %20, %16, %16
%22:i32 = shl %21, 8:i32
%23:i32 = or 2147483648:i32, %22
%24:i64 = zext %23
%25:i64 = mulnuw %14, %24
%26:i64 = lshr %25, 32:i64
%27:i32 = trunc %26
%28:i32 = trunc %25
%29:i32 = lshr %28, 31:i32
%30:i64 = shlnw %26, 1:i64
%31:i32 = trunc %30
%32:i32 = or %29, %31
%33:i32 = phi %2, %27, %32
%34:i32 = subnsw 9:i32, %7
%35:i32 = phi %4, %34, 0:i32
%36:i32 = subnsw 9:i32, %17
%37:i32 = addnsw %35, %36
%38:i32 = phi %3, %37, %35, 0:i32
%39:i32 = lshr %5, 23:i32
%40:i32 = and 255:i32, %39
%41:i32 = lshr %15, 23:i32
%42:i32 = and 255:i32, %41
%43:i32 = addnw %40, %42
%44:i32 = addnsw %38, %43
%45:i32 = addnsw 4294967170:i32, %44
%46:i32 = addnsw 4294967169:i32, %44
%47:i32 = phi %2, %45, %46
%48:i32 = sub 1:i32, %47
%49:i32 = lshr %33, %48
%50:i32 = and 8388607:i32, %33
%51:i32 = shlnw %47, 23:i32
%52:i32 = or %50, %51
%53:i32 = phi %1, %49, %52
%54:i32 = and 1:i32, %53
%55:i32 = xor %5, %15
%56:i32 = and 2147483648:i32, %55 (hasExternalUses)
%57:i32 = or %53, %56
%58:i32 = add %54, %57
%59:i32 = add 1:i32, %57
%60:i32 = phi %0, %58, %57, %59
infer %60
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2 = block 2
%3 = block 3
%4 = block 2
%5:i64 = var
%6:i64 = and 4503599627370495:i64, %5
%7:i64 = ctlz %6
%8:i64 = addnw 53:i64, %7
%9:i64 = and 63:i64, %8
%10:i64 = shl %6, %9
%11:i64 = phi %4, %10, %6
%12:i64 = phi %3, %11, %11, %6
%13:i64 = or 4503599627370496:i64, %12
%14:i128 = zext %13
%15:i64 = var
%16:i64 = and 4503599627370495:i64, %15
%17:i64 = ctlz %16
%18:i64 = addnw 53:i64, %17
%19:i64 = and 63:i64, %18
%20:i64 = shl %16, %19
%21:i64 = phi %3, %20, %16, %16
%22:i64 = shl %21, 11:i64
%23:i64 = or 9223372036854775808:i64, %22
%24:i128 = zext %23
%25:i128 = mulnuw %14, %24
%26:i128 = lshr %25, 64:i128
%27:i64 = trunc %26
%28:i64 = trunc %25
%29:i64 = lshr %28, 63:i64
%30:i128 = shlnw %26, 1:i128
%31:i64 = trunc %30
%32:i64 = or %29, %31
%33:i64 = phi %2, %27, %32
%34:i32 = trunc %7
%35:i32 = subnsw 12:i32, %34
%36:i32 = phi %4, %35, 0:i32
%37:i32 = trunc %17
%38:i32 = subnsw 12:i32, %37
%39:i32 = addnsw %36, %38
%40:i32 = phi %3, %39, %36, 0:i32
%41:i64 = lshr %5, 52:i64
%42:i64 = and 2047:i64, %41
%43:i32 = trunc %42
%44:i64 = lshr %15, 52:i64
%45:i64 = and 2047:i64, %44
%46:i32 = trunc %45
%47:i32 = addnw %43, %46
%48:i32 = addnsw %40, %47
%49:i32 = add 4294966274:i32, %48
%50:i32 = add 4294966273:i32, %48
%51:i32 = phi %2, %49, %50
%52:i32 = sub 1:i32, %51
%53:i64 = zext %52
%54:i64 = lshr %33, %53
%55:i64 = and 4503599627370495:i64, %33
%56:i64 = zext %51
%57:i64 = shlnw %56, 52:i64
%58:i64 = or %55, %57
%59:i64 = phi %1, %54, %58
%60:i64 = and 1:i64, %59
%61:i64 = xor %5, %15
%62:i64 = and 9223372036854775808:i64, %61 (hasExternalUses)
%63:i64 = or %59, %62
%64:i64 = add %60, %63
%65:i64 = add 1:i64, %63
%66:i64 = phi %0, %64, %63, %65
infer %66
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2 = block 4
%3 = block 2
%4:i32 = var
%5:i32 = and 2147483647:i32, %4 (hasExternalUses)
%6:i32 = var
%7:i32 = and 2147483647:i32, %6 (hasExternalUses)
%8:i1 = ult %5, %7 (hasExternalUses)
%9:i32 = select %8, %6, %4 (hasExternalUses)
%10:i32 = and 8388607:i32, %9
%11:i32 = ctlz %10
%12:i32 = addnw 24:i32, %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %10, %13
%15:i32 = phi %3, %14, %10
%16:i32 = shl %15, 3:i32
%17:i32 = or 67108864:i32, %16
%18 = block 3
%19 = block 2
%20:i32 = select %8, %4, %6
%21:i32 = and 8388607:i32, %20
%22:i32 = ctlz %21
%23:i32 = addnw 24:i32, %22
%24:i32 = and 31:i32, %23
%25:i32 = shl %21, %24
%26:i32 = phi %19, %25, %21
%27:i32 = shl %26, 3:i32
%28:i32 = or 67108864:i32, %27
%29:i32 = subnsw 9:i32, %11
%30:i32 = lshr %9, 23:i32
%31:i32 = and 255:i32, %30
%32:i32 = phi %3, %29, %31
%33:i32 = subnsw 9:i32, %22
%34:i32 = lshr %20, 23:i32
%35:i32 = and 255:i32, %34
%36:i32 = phi %19, %33, %35
%37:i32 = subnsw %32, %36
%38:i32 = lshr %28, %37
%39:i32 = subnw 32:i32, %37
%40:i32 = shl %28, %39
%41:i1 = ne 0:i32, %40
%42:i32 = zext %41
%43:i32 = or %38, %42
%44:i32 = phi %18, %43, %28, 1:i32
%45:i32 = sub %17, %44
%46:i32 = ctlz %45
%47:i32 = addnsw 4294967291:i32, %46
%48:i32 = and 31:i32, %47
%49:i32 = shl %45, %48
%50:i32 = add %44, %17
%51:i32 = and 1:i32, %50
%52:i32 = lshr %50, 1:i32
%53:i32 = or %51, %52
%54:i32 = phi %2, %49, %45, %53, %50
%55:i32 = subnsw %32, %47
%56:i32 = addnsw 1:i32, %32
%57:i32 = phi %2, %55, %32, %56, %32
%58:i32 = subnsw 1:i32, %57
%59:i32 = and 31:i32, %58
%60:i32 = lshr %54, %59
%61:i32 = addnsw 31:i32, %57
%62:i32 = and 31:i32, %61
%63:i32 = shl %54, %62
%64:i1 = ne 0:i32, %63
%65:i32 = zext %64
%66:i32 = or %60, %65
%67:i32 = phi %1, %66, %54
%68:i32 = lshr %67, 3:i32
%69:i32 = and 1:i32, %68
%70:i32 = and 2147483648:i32, %9 (hasExternalUses)
%71:i32 = and 8388607:i32, %68
%72:i32 = phi %1, 0:i32, %57
%73:i32 = shlnw %72, 23:i32
%74:i32 = or %71, %73
%75:i32 = or %70, %74
%76:i32 = add %69, %75
%77:i32 = add 1:i32, %75
%78:i32 = phi %0, %76, %75, %77
infer %78
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2 = block 4
%3 = block 2
%4:i32 = var
%5:i32 = and 2147483647:i32, %4 (hasExternalUses)
%6:i32 = var
%7:i32 = and 2147483647:i32, %6 (hasExternalUses)
%8:i1 = ult %5, %7 (hasExternalUses)
%9:i32 = select %8, %6, %4 (hasExternalUses)
%10:i32 = and 8388607:i32, %9
%11:i32 = ctlz %10
%12:i32 = addnw 24:i32, %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %10, %13
%15:i32 = phi %3, %14, %10
%16:i32 = shl %15, 3:i32
%17:i32 = or 67108864:i32, %16
%18 = block 3
%19 = block 2
%20:i32 = select %8, %4, %6
%21:i32 = and 8388607:i32, %20
%22:i32 = ctlz %21
%23:i32 = addnw 24:i32, %22
%24:i32 = and 31:i32, %23
%25:i32 = shl %21, %24
%26:i32 = phi %19, %25, %21
%27:i32 = shl %26, 3:i32
%28:i32 = or 67108864:i32, %27
%29:i32 = subnsw 9:i32, %11
%30:i32 = lshr %9, 23:i32
%31:i32 = and 255:i32, %30
%32:i32 = phi %3, %29, %31
%33:i32 = subnsw 9:i32, %22
%34:i32 = lshr %20, 23:i32
%35:i32 = and 255:i32, %34
%36:i32 = phi %19, %33, %35
%37:i32 = subnsw %32, %36
%38:i32 = lshr %28, %37
%39:i32 = subnw 32:i32, %37
%40:i32 = shl %28, %39
%41:i1 = ne 0:i32, %40
%42:i32 = zext %41
%43:i32 = or %38, %42
%44:i32 = phi %18, %43, %28, 1:i32
%45:i32 = sub %17, %44
%46:i32 = ctlz %45
%47:i32 = addnsw 4294967291:i32, %46
%48:i32 = and 31:i32, %47
%49:i32 = shl %45, %48
%50:i32 = add %44, %17
%51:i32 = and 1:i32, %50
%52:i32 = lshr %50, 1:i32
%53:i32 = or %51, %52
%54:i32 = phi %2, %49, %45, %53, %50
%55:i32 = subnsw %32, %47
%56:i32 = addnsw 1:i32, %32
%57:i32 = phi %2, %55, %32, %56, %32
%58:i32 = subnsw 1:i32, %57
%59:i32 = and 31:i32, %58
%60:i32 = lshr %54, %59
%61:i32 = addnsw 31:i32, %57
%62:i32 = and 31:i32, %61
%63:i32 = shl %54, %62
%64:i1 = ne 0:i32, %63
%65:i32 = zext %64
%66:i32 = or %60, %65
%67:i32 = phi %1, %66, %54
%68:i32 = lshr %67, 3:i32
%69:i32 = and 1:i32, %68
%70:i32 = and 8388607:i32, %68
%71:i32 = and 2147483648:i32, %9 (hasExternalUses)
%72:i32 = phi %1, 0:i32, %57
%73:i32 = shlnw %72, 23:i32
%74:i32 = or %71, %73
%75:i32 = or %70, %74
%76:i32 = add %69, %75
%77:i32 = add 1:i32, %75
%78:i32 = phi %0, %76, %75, %77
infer %78
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2 = block 4
%3 = block 2
%4:i64 = var
%5:i64 = and 9223372036854775807:i64, %4 (hasExternalUses)
%6:i64 = var
%7:i64 = and 9223372036854775807:i64, %6 (hasExternalUses)
%8:i1 = ult %5, %7 (hasExternalUses)
%9:i64 = select %8, %6, %4 (hasExternalUses)
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i64 = addnw 53:i64, %11
%13:i64 = and 63:i64, %12
%14:i64 = shl %10, %13
%15:i64 = phi %3, %14, %10
%16:i64 = shl %15, 3:i64
%17:i64 = or 36028797018963968:i64, %16
%18 = block 3
%19 = block 2
%20:i64 = select %8, %4, %6
%21:i64 = and 4503599627370495:i64, %20
%22:i64 = ctlz %21
%23:i64 = addnw 53:i64, %22
%24:i64 = and 63:i64, %23
%25:i64 = shl %21, %24
%26:i64 = phi %19, %25, %21
%27:i64 = shl %26, 3:i64
%28:i64 = or 36028797018963968:i64, %27
%29:i32 = trunc %11
%30:i32 = subnsw 12:i32, %29
%31:i64 = lshr %9, 52:i64
%32:i32 = trunc %31
%33:i32 = and 2047:i32, %32
%34:i32 = phi %3, %30, %33
%35:i32 = trunc %22
%36:i32 = subnsw 12:i32, %35
%37:i64 = lshr %20, 52:i64
%38:i32 = trunc %37
%39:i32 = and 2047:i32, %38
%40:i32 = phi %19, %36, %39
%41:i32 = subnsw %34, %40
%42:i64 = zext %41
%43:i64 = lshr %28, %42
%44:i32 = subnsw 0:i32, %41
%45:i32 = and 63:i32, %44
%46:i64 = zext %45
%47:i64 = shl %28, %46
%48:i1 = ne 0:i64, %47
%49:i64 = zext %48
%50:i64 = or %43, %49
%51:i64 = phi %18, %50, %28, 1:i64
%52:i64 = sub %17, %51
%53:i64 = ctlz %52
%54:i32 = trunc %53
%55:i32 = addnsw 4294967288:i32, %54
%56:i32 = and 63:i32, %55
%57:i64 = zext %56
%58:i64 = shl %52, %57
%59:i64 = add %51, %17
%60:i64 = and 1:i64, %59
%61:i64 = lshr %59, 1:i64
%62:i64 = or %60, %61
%63:i64 = phi %2, %58, %52, %62, %59
%64:i32 = subnsw %34, %55
%65:i32 = addnsw 1:i32, %34
%66:i32 = phi %2, %64, %34, %65, %34
%67:i32 = subnsw 1:i32, %66
%68:i32 = and 63:i32, %67
%69:i64 = zext %68
%70:i64 = lshr %63, %69
%71:i32 = addnsw 63:i32, %66
%72:i32 = and 63:i32, %71
%73:i64 = zext %72
%74:i64 = shl %63, %73
%75:i1 = ne 0:i64, %74
%76:i64 = zext %75
%77:i64 = or %70, %76
%78:i64 = phi %1, %77, %63
%79:i64 = lshr %78, 3:i64
%80:i64 = and 1:i64, %79
%81:i64 = and 4503599627370495:i64, %79
%82:i64 = and 9223372036854775808:i64, %9 (hasExternalUses)
%83:i64 = or %81, %82
%84:i32 = phi %1, 0:i32, %66
%85:i64 = zext %84
%86:i64 = shlnw %85, 52:i64
%87:i64 = or %83, %86
%88:i64 = add %80, %87
%89:i64 = add 1:i64, %87
%90:i64 = phi %0, %88, %87, %89
infer %90
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2 = block 4
%3 = block 2
%4:i64 = var
%5:i64 = and 9223372036854775807:i64, %4 (hasExternalUses)
%6:i64 = var
%7:i64 = and 9223372036854775807:i64, %6 (hasExternalUses)
%8:i1 = ult %5, %7 (hasExternalUses)
%9:i64 = select %8, %6, %4 (hasExternalUses)
%10:i64 = and 4503599627370495:i64, %9
%11:i64 = ctlz %10
%12:i64 = addnw 53:i64, %11
%13:i64 = and 63:i64, %12
%14:i64 = shl %10, %13
%15:i64 = phi %3, %14, %10
%16:i64 = shl %15, 3:i64
%17:i64 = or 36028797018963968:i64, %16
%18 = block 3
%19 = block 2
%20:i64 = select %8, %4, %6
%21:i64 = and 4503599627370495:i64, %20
%22:i64 = ctlz %21
%23:i64 = addnw 53:i64, %22
%24:i64 = and 63:i64, %23
%25:i64 = shl %21, %24
%26:i64 = phi %19, %25, %21
%27:i64 = shl %26, 3:i64
%28:i64 = or 36028797018963968:i64, %27
%29:i32 = trunc %11
%30:i32 = subnsw 12:i32, %29
%31:i64 = lshr %9, 52:i64
%32:i32 = trunc %31
%33:i32 = and 2047:i32, %32
%34:i32 = phi %3, %30, %33
%35:i32 = trunc %22
%36:i32 = subnsw 12:i32, %35
%37:i64 = lshr %20, 52:i64
%38:i32 = trunc %37
%39:i32 = and 2047:i32, %38
%40:i32 = phi %19, %36, %39
%41:i32 = subnsw %34, %40
%42:i64 = zext %41
%43:i64 = lshr %28, %42
%44:i32 = subnsw 0:i32, %41
%45:i32 = and 63:i32, %44
%46:i64 = zext %45
%47:i64 = shl %28, %46
%48:i1 = ne 0:i64, %47
%49:i64 = zext %48
%50:i64 = or %43, %49
%51:i64 = phi %18, %50, %28, 1:i64
%52:i64 = sub %17, %51
%53:i64 = ctlz %52
%54:i32 = trunc %53
%55:i32 = addnsw 4294967288:i32, %54
%56:i32 = and 63:i32, %55
%57:i64 = zext %56
%58:i64 = shl %52, %57
%59:i64 = add %51, %17
%60:i64 = and 1:i64, %59
%61:i64 = lshr %59, 1:i64
%62:i64 = or %60, %61
%63:i64 = phi %2, %58, %52, %62, %59
%64:i32 = subnsw %34, %55
%65:i32 = addnsw 1:i32, %34
%66:i32 = phi %2, %64, %34, %65, %34
%67:i32 = subnsw 1:i32, %66
%68:i32 = and 63:i32, %67
%69:i64 = zext %68
%70:i64 = lshr %63, %69
%71:i32 = addnsw 63:i32, %66
%72:i32 = and 63:i32, %71
%73:i64 = zext %72
%74:i64 = shl %63, %73
%75:i1 = ne 0:i64, %74
%76:i64 = zext %75
%77:i64 = or %70, %76
%78:i64 = phi %1, %77, %63
%79:i64 = lshr %78, 3:i64
%80:i64 = and 1:i64, %79
%81:i64 = and 9223372036854775808:i64, %9 (hasExternalUses)
%82:i64 = and 4503599627370495:i64, %79
%83:i32 = phi %1, 0:i32, %66
%84:i64 = zext %83
%85:i64 = shlnw %84, 52:i64
%86:i64 = or %82, %85
%87:i64 = or %81, %86
%88:i64 = add %80, %87
%89:i64 = add 1:i64, %87
%90:i64 = phi %0, %88, %87, %89
infer %90
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 2147483647:i32, %2
%4:i32 = var
%5:i32 = and 2147483647:i32, %4
%6:i1 = ult %3, %5
%7:i32 = select %6, %2, %4
%8:i32 = and 8388607:i32, %7
%9:i32 = ctlz %8
%10:i32 = addnw 24:i32, %9
%11:i32 = and 31:i32, %10
%12:i32 = shl %8, %11
%13:i32 = phi %1, %12, %8
%14:i32 = shl %13, 3:i32
%15:i32 = or 67108864:i32, %14
%16 = block 2
%17:i32 = select %6, %4, %2
%18:i32 = and 8388607:i32, %17
%19:i32 = ctlz %18
%20:i32 = subnsw 9:i32, %19
%21:i32 = lshr %17, 23:i32
%22:i32 = and 255:i32, %21
%23:i32 = phi %16, %20, %22
%24:i32 = subnsw 9:i32, %9
%25:i32 = lshr %7, 23:i32
%26:i32 = and 255:i32, %25
%27:i32 = phi %1, %24, %26
%28:i32 = subnsw %23, %27 (hasExternalUses)
%29:i32 = lshr %15, %28
%30:i32 = subnw 32:i32, %28
%31:i32 = shl %15, %30
%32:i1 = ne 0:i32, %31
%33:i32 = zext %32
%34:i32 = or %29, %33
%35:i32 = phi %0, %34, %15, 1:i32
infer %35
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21
infer %22
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i32 = trunc %22
infer %23
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64
infer %23 (demandedBits=1100000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23
infer %24
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
%26:i1 = eq 0:i32, %25
infer %26
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
%26:i1 = eq 0:i32, %25
pc %26 0:i1
%27:i32 = subnsw 9:i32, %4
%28:i32 = phi %1, %27, 0:i32
%29:i32 = subnsw 9:i32, %14
%30:i32 = addnsw %28, %29
%31:i32 = phi %0, %30, %28, 0:i32
%32:i32 = lshr %2, 23:i32
%33:i32 = and 255:i32, %32 (hasExternalUses)
%34:i32 = lshr %12, 23:i32
%35:i32 = and 255:i32, %34 (hasExternalUses)
%36:i32 = addnw %33, %35
%37:i32 = addnsw %31, %36 (hasExternalUses)
%38:i32 = addnsw 4294967170:i32, %37
infer %38
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
%26:i1 = eq 0:i32, %25
pc %26 1:i1
%27:i32 = subnsw 9:i32, %4
%28:i32 = phi %1, %27, 0:i32
%29:i32 = subnsw 9:i32, %14
%30:i32 = addnsw %28, %29
%31:i32 = phi %0, %30, %28, 0:i32
%32:i32 = lshr %2, 23:i32
%33:i32 = and 255:i32, %32 (hasExternalUses)
%34:i32 = lshr %12, 23:i32
%35:i32 = and 255:i32, %34 (hasExternalUses)
%36:i32 = addnw %33, %35
%37:i32 = addnsw %31, %36 (hasExternalUses)
%38:i32 = addnsw 4294967169:i32, %37
infer %38
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
%26:i1 = eq 0:i32, %25
pc %26 1:i1
%27:i32 = trunc %22 (hasExternalUses)
%28:i32 = lshr %27, 31:i32
%29:i64 = shlnw %23, 1:i64
%30:i32 = trunc %29
%31:i32 = or %28, %30
infer %31
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
%26:i1 = eq 0:i32, %25
pc %26 1:i1
%27:i32 = trunc %22 (hasExternalUses)
%28:i32 = lshr %27, 31:i32
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
%26:i1 = eq 0:i32, %25
pc %26 1:i1
%27:i32 = trunc %22 (hasExternalUses)
%28:i32 = shl %27, 1:i32
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
%26:i1 = eq 0:i32, %25
pc %26 1:i1
%27:i64 = shlnw %23, 1:i64
%28:i32 = trunc %27
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
%26:i1 = eq 0:i32, %25
pc %26 1:i1
%27:i64 = shlnw %23, 1:i64
infer %27 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
%12:i32 = var
%13:i32 = and 8388607:i32, %12
%14:i32 = ctlz %13
%15:i32 = addnw 24:i32, %14
%16:i32 = and 31:i32, %15
%17:i32 = shl %13, %16
%18:i32 = phi %0, %17, %13, %13
%19:i32 = shl %18, 8:i32
%20:i32 = or 2147483648:i32, %19
%21:i64 = zext %20
%22:i64 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = lshr %22, 32:i64 (hasExternalUses)
%24:i32 = trunc %23 (hasExternalUses)
%25:i32 = and 8388608:i32, %24
infer %25
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
%11:i64 = zext %10
infer %11
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = or 8388608:i32, %9
infer %10
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = shl %9, 1:i32
%11:i32 = or 16777216:i32, %10
%12:i64 = zext %11
infer %12
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = shl %9, 1:i32
%11:i32 = or 16777216:i32, %10
infer %11
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = shl %9, 1:i32
infer %10 (demandedBits=11111110111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = var
%11:i32 = and 8388607:i32, %10
%12:i32 = ctlz %11
%13:i32 = addnw 24:i32, %12
%14:i32 = and 31:i32, %13
%15:i32 = shl %11, %14
%16:i32 = phi %0, %15, %11, %11
%17:i32 = or 8388608:i32, %16 (hasExternalUses)
%18:i32 = shl %17, 8:i32
%19:i32 = sub 1963258675:i32, %18
%20:i64 = zext %19
%21:i64 = zext %18
%22:i64 = mulnuw %20, %21
%23:i64 = lshr %22, 32:i64
%24:i64 = subnsw 0:i64, %23
%25:i64 = and 4294967295:i64, %24
%26:i64 = mulnuw %25, %20
%27:i64 = lshr %26, 31:i64
%28:i64 = and 4294967295:i64, %27
%29:i64 = mulnuw %28, %21
%30:i64 = lshr %29, 32:i64
%31:i64 = subnsw 0:i64, %30
%32:i64 = and 4294967295:i64, %31
%33:i64 = mulnuw %32, %28
%34:i64 = lshr %33, 31:i64
%35:i64 = and 4294967295:i64, %34
%36:i64 = mulnuw %35, %21
%37:i64 = lshr %36, 32:i64
%38:i64 = subnsw 0:i64, %37
%39:i64 = and 4294967295:i64, %38
%40:i64 = mulnuw %39, %35
%41:i64 = lshr %40, 31:i64
%42:i64 = addnw 4294967294:i64, %41
%43:i64 = and 4294967295:i64, %42
%44:i32 = shl %9, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %43, %46
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = select %50, 24:i32, 23:i32
%52:i32 = shl %9, %51
%53:i64 = lshr %47, 33:i64
%54:i32 = trunc %53
%55:i32 = select %50, %49, %54 (hasExternalUses)
%56:i32 = mul %17, %55
%57:i32 = sub %52, %56
infer %57 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
%10:i32 = var
%11:i32 = and 8388607:i32, %10
%12:i32 = ctlz %11
%13:i32 = addnw 24:i32, %12
%14:i32 = and 31:i32, %13
%15:i32 = shl %11, %14
%16:i32 = phi %0, %15, %11, %11
%17:i32 = or 8388608:i32, %16 (hasExternalUses)
%18:i32 = shl %17, 8:i32
%19:i32 = sub 1963258675:i32, %18
%20:i64 = zext %19
%21:i64 = zext %18
%22:i64 = mulnuw %20, %21
%23:i64 = lshr %22, 32:i64
%24:i64 = subnsw 0:i64, %23
%25:i64 = and 4294967295:i64, %24
%26:i64 = mulnuw %25, %20
%27:i64 = lshr %26, 31:i64
%28:i64 = and 4294967295:i64, %27
%29:i64 = mulnuw %28, %21
%30:i64 = lshr %29, 32:i64
%31:i64 = subnsw 0:i64, %30
%32:i64 = and 4294967295:i64, %31
%33:i64 = mulnuw %32, %28
%34:i64 = lshr %33, 31:i64
%35:i64 = and 4294967295:i64, %34
%36:i64 = mulnuw %35, %21
%37:i64 = lshr %36, 32:i64
%38:i64 = subnsw 0:i64, %37
%39:i64 = and 4294967295:i64, %38
%40:i64 = mulnuw %39, %35
%41:i64 = lshr %40, 31:i64
%42:i64 = addnw 4294967294:i64, %41
%43:i64 = and 4294967295:i64, %42
%44:i32 = shl %9, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %43, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = select %50, 24:i32, 23:i32
%52:i32 = shl %9, %51
infer %52 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = subnsw 9:i32, %4
%6:i32 = phi %1, %5, 0:i32
%7:i32 = var
%8:i32 = and 8388607:i32, %7
%9:i32 = ctlz %8
%10:i32 = addnsw 4294967287:i32, %9
%11:i32 = addnsw %6, %10
%12:i32 = phi %0, %11, %6, 0:i32
%13:i32 = lshr %2, 23:i32
%14:i32 = and 255:i32, %13 (hasExternalUses)
%15:i32 = lshr %7, 23:i32
%16:i32 = and 255:i32, %15 (hasExternalUses)
%17:i32 = subnsw %14, %16
%18:i32 = addnsw %12, %17
infer %18
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = subnsw 9:i32, %4
%6:i32 = phi %1, %5, 0:i32
%7:i32 = var
%8:i32 = and 8388607:i32, %7
%9:i32 = ctlz %8
%10:i32 = addnsw 4294967287:i32, %9
%11:i32 = addnsw %6, %10
%12:i32 = phi %0, %11, %6, 0:i32
%13:i32 = lshr %2, 23:i32
%14:i32 = and 255:i32, %13 (hasExternalUses)
%15:i32 = lshr %7, 23:i32
%16:i32 = and 255:i32, %15 (hasExternalUses)
%17:i32 = subnsw %14, %16
%18:i32 = addnsw %12, %17 (hasExternalUses)
%19:i32 = addnsw 4294967295:i32, %18
infer %19
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = subnsw 9:i32, %4
%6:i32 = phi %1, %5, 0:i32
%7:i32 = var
%8:i32 = and 8388607:i32, %7
%9:i32 = ctlz %8
%10:i32 = subnsw 9:i32, %9
%11:i32 = addnsw %6, %10
%12:i32 = phi %0, %11, %6, 0:i32
%13:i32 = lshr %2, 23:i32
%14:i32 = and 255:i32, %13 (hasExternalUses)
%15:i32 = lshr %7, 23:i32
%16:i32 = and 255:i32, %15 (hasExternalUses)
%17:i32 = addnw %14, %16
%18:i32 = addnsw %12, %17
infer %18
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = subnsw 9:i32, %4
%6:i32 = phi %1, %5, 0:i32
%7:i32 = var
%8:i32 = and 8388607:i32, %7 (hasExternalUses)
%9:i32 = ctlz %8 (hasExternalUses)
%10:i32 = addnsw 4294967287:i32, %9
%11:i32 = addnsw %6, %10
%12:i32 = phi %0, %11, %6, 0:i32
infer %12
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2
%4:i32 = ctlz %3
%5:i32 = subnsw 9:i32, %4
%6:i32 = phi %1, %5, 0:i32
%7:i32 = var
%8:i32 = and 8388607:i32, %7 (hasExternalUses)
%9:i32 = ctlz %8 (hasExternalUses)
%10:i32 = subnsw 9:i32, %9
%11:i32 = addnsw %6, %10
%12:i32 = phi %0, %11, %6, 0:i32
infer %12
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2 (hasExternalUses)
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2 (hasExternalUses)
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
infer %9 (demandedBits=01111111011111111111111111111111)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i32 = var
%3:i32 = and 8388607:i32, %2 (hasExternalUses)
%4:i32 = ctlz %3
%5:i32 = addnw 24:i32, %4
%6:i32 = and 31:i32, %5
%7:i32 = shl %3, %6
%8:i32 = phi %1, %7, %3
%9:i32 = phi %0, %8, %8, %3
infer %9 (demandedBits=11111111011111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = add 18446744073709551615:i64, %2
%4:i64 = phi %1, %2, %3
%5:i64 = add 18446744073709551615:i64, %4 (hasExternalUses)
%6:i64 = phi %0, %4, %4, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = add 1:i64, %2
%4:i64 = var
%5:i64 = add 1:i64, %4
%6:i64 = phi %1, %3, %5
%7:i64 = var
%8:i64 = phi %0, %6, %6, %7
%9:i1 = ult %8, 4096:i64
infer %9
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = add 1:i64, %2
%4:i64 = var
%5:i64 = add 1:i64, %4
%6:i64 = phi %1, %3, %5
%7:i64 = var
%8:i64 = phi %0, %6, %6, %7
infer %8
>
<noinfer> <>
<sprofile > <12>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i32 = trunc %4
%6:i32 = subnsw 12:i32, %5
%7:i32 = phi %1, %6, 0:i32
%8:i64 = var
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i32 = trunc %10
%12:i32 = addnsw 4294967284:i32, %11
%13:i32 = addnsw %7, %12
%14:i32 = phi %0, %13, %7, 0:i32
%15:i64 = lshr %2, 52:i64
%16:i64 = and 2047:i64, %15 (hasExternalUses)
%17:i32 = trunc %16
%18:i64 = lshr %8, 52:i64
%19:i64 = and 2047:i64, %18 (hasExternalUses)
%20:i32 = trunc %19
%21:i32 = subnsw %17, %20
%22:i32 = addnsw %14, %21
infer %22
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i32 = trunc %4
%6:i32 = subnsw 12:i32, %5
%7:i32 = phi %1, %6, 0:i32
%8:i64 = var
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i32 = trunc %10
%12:i32 = addnsw 4294967284:i32, %11
%13:i32 = addnsw %7, %12
%14:i32 = phi %0, %13, %7, 0:i32
%15:i64 = lshr %2, 52:i64
%16:i64 = and 2047:i64, %15 (hasExternalUses)
%17:i32 = trunc %16
%18:i64 = lshr %8, 52:i64
%19:i64 = and 2047:i64, %18 (hasExternalUses)
%20:i32 = trunc %19
%21:i32 = subnsw %17, %20
%22:i32 = addnsw %14, %21 (hasExternalUses)
%23:i32 = add 4294967295:i32, %22
infer %23
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i32 = trunc %4
%6:i32 = subnsw 12:i32, %5
%7:i32 = phi %1, %6, 0:i32
%8:i64 = var
%9:i64 = and 4503599627370495:i64, %8
%10:i64 = ctlz %9
%11:i32 = trunc %10
%12:i32 = subnsw 12:i32, %11
%13:i32 = addnsw %7, %12
%14:i32 = phi %0, %13, %7, 0:i32
%15:i64 = lshr %2, 52:i64
%16:i64 = and 2047:i64, %15 (hasExternalUses)
%17:i32 = trunc %16
%18:i64 = lshr %8, 52:i64
%19:i64 = and 2047:i64, %18 (hasExternalUses)
%20:i32 = trunc %19
%21:i32 = addnw %17, %20
%22:i32 = addnsw %14, %21
infer %22
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i32 = trunc %4
%6:i32 = subnsw 12:i32, %5
%7:i32 = phi %1, %6, 0:i32
%8:i64 = var
%9:i64 = and 4503599627370495:i64, %8 (hasExternalUses)
%10:i64 = ctlz %9 (hasExternalUses)
%11:i32 = trunc %10
%12:i32 = addnsw 4294967284:i32, %11
%13:i32 = addnsw %7, %12
%14:i32 = phi %0, %13, %7, 0:i32
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i32 = trunc %4
%6:i32 = subnsw 12:i32, %5
%7:i32 = phi %1, %6, 0:i32
%8:i64 = var
%9:i64 = and 4503599627370495:i64, %8 (hasExternalUses)
%10:i64 = ctlz %9 (hasExternalUses)
%11:i32 = trunc %10
%12:i32 = subnsw 12:i32, %11
%13:i32 = addnsw %7, %12
%14:i32 = phi %0, %13, %7, 0:i32
infer %14
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21
infer %22
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128
infer %23 (demandedBits=11000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23
infer %24
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
%26:i1 = eq 0:i64, %25
infer %26
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
%26:i1 = eq 0:i64, %25
pc %26 0:i1
%27:i32 = trunc %4
%28:i32 = subnsw 12:i32, %27
%29:i32 = phi %1, %28, 0:i32
%30:i32 = trunc %14
%31:i32 = subnsw 12:i32, %30
%32:i32 = addnsw %29, %31
%33:i32 = phi %0, %32, %29, 0:i32
%34:i64 = lshr %2, 52:i64
%35:i64 = and 2047:i64, %34 (hasExternalUses)
%36:i32 = trunc %35
%37:i64 = lshr %12, 52:i64
%38:i64 = and 2047:i64, %37 (hasExternalUses)
%39:i32 = trunc %38
%40:i32 = addnw %36, %39
%41:i32 = addnsw %33, %40 (hasExternalUses)
%42:i32 = add 4294966274:i32, %41
infer %42
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
%26:i1 = eq 0:i64, %25
pc %26 1:i1
%27:i128 = shlnw %23, 1:i128
%28:i64 = trunc %27
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
%26:i1 = eq 0:i64, %25
pc %26 1:i1
%27:i128 = shlnw %23, 1:i128
infer %27 (demandedBits=00000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
%26:i1 = eq 0:i64, %25
pc %26 1:i1
%27:i32 = trunc %4
%28:i32 = subnsw 12:i32, %27
%29:i32 = phi %1, %28, 0:i32
%30:i32 = trunc %14
%31:i32 = subnsw 12:i32, %30
%32:i32 = addnsw %29, %31
%33:i32 = phi %0, %32, %29, 0:i32
%34:i64 = lshr %2, 52:i64
%35:i64 = and 2047:i64, %34 (hasExternalUses)
%36:i32 = trunc %35
%37:i64 = lshr %12, 52:i64
%38:i64 = and 2047:i64, %37 (hasExternalUses)
%39:i32 = trunc %38
%40:i32 = addnw %36, %39
%41:i32 = addnsw %33, %40 (hasExternalUses)
%42:i32 = add 4294966273:i32, %41
infer %42
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
%26:i1 = eq 0:i64, %25
pc %26 1:i1
%27:i64 = trunc %22 (hasExternalUses)
%28:i64 = lshr %27, 63:i64
%29:i128 = shlnw %23, 1:i128
%30:i64 = trunc %29
%31:i64 = or %28, %30
infer %31
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
%26:i1 = eq 0:i64, %25
pc %26 1:i1
%27:i64 = trunc %22 (hasExternalUses)
%28:i64 = lshr %27, 63:i64
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
%26:i1 = eq 0:i64, %25
pc %26 1:i1
%27:i64 = trunc %22 (hasExternalUses)
%28:i64 = shl %27, 1:i64
infer %28
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i128 = lshr %22, 64:i128 (hasExternalUses)
%24:i64 = trunc %23 (hasExternalUses)
%25:i64 = and 4503599627370496:i64, %24
infer %25
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
%12:i64 = var
%13:i64 = and 4503599627370495:i64, %12
%14:i64 = ctlz %13
%15:i64 = addnw 53:i64, %14
%16:i64 = and 63:i64, %15
%17:i64 = shl %13, %16
%18:i64 = phi %0, %17, %13, %13
%19:i64 = shl %18, 11:i64
%20:i64 = or 9223372036854775808:i64, %19
%21:i128 = zext %20
%22:i128 = mulnuw %11, %21 (hasExternalUses)
%23:i64 = trunc %22
infer %23
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
%11:i128 = zext %10
infer %11
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = or 4503599627370496:i64, %9
infer %10
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = shl %9, 2:i64
%11:i64 = or 18014398509481984:i64, %10
%12:i128 = zext %11
infer %12
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = shl %9, 2:i64
%11:i64 = or 18014398509481984:i64, %10
infer %11
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = shl %9, 2:i64
infer %10 (demandedBits=1111111110111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = var
%11:i64 = and 4503599627370495:i64, %10
%12:i64 = ctlz %11
%13:i64 = addnw 53:i64, %12
%14:i64 = and 63:i64, %13
%15:i64 = shl %11, %14
%16:i64 = phi %0, %15, %11, %11
%17:i64 = or 4503599627370496:i64, %16 (hasExternalUses)
%18:i64 = lshr %17, 21:i64
%19:i64 = subnsw 1963258675:i64, %18
%20:i64 = and 4294967295:i64, %19
%21:i64 = and 4294967295:i64, %18
%22:i64 = mulnuw %20, %21
%23:i64 = lshr %22, 32:i64
%24:i64 = subnsw 0:i64, %23
%25:i64 = and 4294967295:i64, %24
%26:i64 = mulnuw %25, %20
%27:i64 = lshr %26, 31:i64
%28:i64 = and 4294967295:i64, %27
%29:i64 = mulnuw %28, %21
%30:i64 = lshr %29, 32:i64
%31:i64 = subnsw 0:i64, %30
%32:i64 = and 4294967295:i64, %31
%33:i64 = mulnuw %32, %28
%34:i64 = lshr %33, 31:i64
%35:i64 = and 4294967295:i64, %34
%36:i64 = mulnuw %35, %21
%37:i64 = lshr %36, 32:i64
%38:i64 = subnsw 0:i64, %37
%39:i64 = and 4294967295:i64, %38
%40:i64 = mulnuw %39, %35
%41:i64 = lshr %40, 31:i64
%42:i64 = addnw 4294967295:i64, %41
%43:i64 = and 4294967295:i64, %42
%44:i64 = mulnuw %43, %21
%45:i64 = shl %16, 11:i64
%46:i64 = and 4294965248:i64, %45
%47:i64 = mulnuw %46, %43
%48:i64 = lshr %47, 32:i64
%49:i64 = addnuw %44, %48
%50:i64 = sub 0:i64, %49
%51:i64 = lshr %50, 32:i64
%52:i64 = mulnuw %43, %51
%53:i64 = add 18446744073709551614:i64, %52
%54:i64 = and 4294967295:i64, %50
%55:i64 = mulnuw %43, %54
%56:i64 = lshr %55, 32:i64
%57:i64 = add %53, %56
%58:i128 = zext %57
%59:i64 = shl %9, 2:i64
%60:i64 = or 18014398509481984:i64, %59
%61:i128 = zext %60
%62:i128 = mulnuw %58, %61
%63:i128 = lshr %62, 64:i128
%64:i64 = trunc %63
%65:i1 = ult %64, 9007199254740992:i64 (hasExternalUses)
%66:i64 = select %65, 53:i64, 52:i64
%67:i64 = shl %9, %66
%68:i128 = lshr %62, 65:i128
%69:i64 = trunc %68
%70:i64 = select %65, %64, %69 (hasExternalUses)
%71:i64 = mul %17, %70
%72:i64 = sub %67, %71
infer %72 (demandedBits=0111111111111111111111111111111111111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
%10:i64 = var
%11:i64 = and 4503599627370495:i64, %10
%12:i64 = ctlz %11
%13:i64 = addnw 53:i64, %12
%14:i64 = and 63:i64, %13
%15:i64 = shl %11, %14
%16:i64 = phi %0, %15, %11, %11
%17:i64 = or 4503599627370496:i64, %16 (hasExternalUses)
%18:i64 = lshr %17, 21:i64
%19:i64 = subnsw 1963258675:i64, %18
%20:i64 = and 4294967295:i64, %19
%21:i64 = and 4294967295:i64, %18
%22:i64 = mulnuw %20, %21
%23:i64 = lshr %22, 32:i64
%24:i64 = subnsw 0:i64, %23
%25:i64 = and 4294967295:i64, %24
%26:i64 = mulnuw %25, %20
%27:i64 = lshr %26, 31:i64
%28:i64 = and 4294967295:i64, %27
%29:i64 = mulnuw %28, %21
%30:i64 = lshr %29, 32:i64
%31:i64 = subnsw 0:i64, %30
%32:i64 = and 4294967295:i64, %31
%33:i64 = mulnuw %32, %28
%34:i64 = lshr %33, 31:i64
%35:i64 = and 4294967295:i64, %34
%36:i64 = mulnuw %35, %21
%37:i64 = lshr %36, 32:i64
%38:i64 = subnsw 0:i64, %37
%39:i64 = and 4294967295:i64, %38
%40:i64 = mulnuw %39, %35
%41:i64 = lshr %40, 31:i64
%42:i64 = addnw 4294967295:i64, %41
%43:i64 = and 4294967295:i64, %42
%44:i64 = mulnuw %43, %21
%45:i64 = shl %16, 11:i64
%46:i64 = and 4294965248:i64, %45
%47:i64 = mulnuw %46, %43
%48:i64 = lshr %47, 32:i64
%49:i64 = addnuw %44, %48
%50:i64 = sub 0:i64, %49
%51:i64 = lshr %50, 32:i64
%52:i64 = mulnuw %43, %51
%53:i64 = add 18446744073709551614:i64, %52
%54:i64 = and 4294967295:i64, %50
%55:i64 = mulnuw %43, %54
%56:i64 = lshr %55, 32:i64
%57:i64 = add %53, %56
%58:i128 = zext %57
%59:i64 = shl %9, 2:i64
%60:i64 = or 18014398509481984:i64, %59
%61:i128 = zext %60
%62:i128 = mulnuw %58, %61 (hasExternalUses)
%63:i128 = lshr %62, 64:i128
%64:i64 = trunc %63 (hasExternalUses)
%65:i1 = ult %64, 9007199254740992:i64 (hasExternalUses)
%66:i64 = select %65, 53:i64, 52:i64
%67:i64 = shl %9, %66
infer %67 (demandedBits=0111111111111111111111111111111111111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2 (hasExternalUses)
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2 (hasExternalUses)
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
infer %9 (demandedBits=0011111111101111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 4503599627370495:i64, %2 (hasExternalUses)
%4:i64 = ctlz %3
%5:i64 = addnw 53:i64, %4
%6:i64 = and 63:i64, %5
%7:i64 = shl %3, %6
%8:i64 = phi %1, %7, %3
%9:i64 = phi %0, %8, %8, %3
infer %9 (demandedBits=1111111111101111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i64 = var
%3:i64 = and 9223372036854775807:i64, %2
%4:i64 = var
%5:i64 = and 9223372036854775807:i64, %4
%6:i1 = ult %3, %5
%7:i64 = select %6, %2, %4
%8:i64 = and 4503599627370495:i64, %7
%9:i64 = ctlz %8
%10:i64 = addnw 53:i64, %9
%11:i64 = and 63:i64, %10
%12:i64 = shl %8, %11
%13:i64 = phi %1, %12, %8
%14:i64 = shl %13, 3:i64
%15:i64 = or 36028797018963968:i64, %14
%16 = block 2
%17:i64 = select %6, %4, %2
%18:i64 = and 4503599627370495:i64, %17
%19:i64 = ctlz %18
%20:i32 = trunc %19
%21:i32 = subnsw 12:i32, %20
%22:i64 = lshr %17, 52:i64
%23:i32 = trunc %22
%24:i32 = and 2047:i32, %23
%25:i32 = phi %16, %21, %24
%26:i32 = trunc %9
%27:i32 = subnsw 12:i32, %26
%28:i64 = lshr %7, 52:i64
%29:i32 = trunc %28
%30:i32 = and 2047:i32, %29
%31:i32 = phi %1, %27, %30
%32:i32 = subnsw %25, %31 (hasExternalUses)
%33:i64 = zext %32
%34:i64 = lshr %15, %33
%35:i32 = subnsw 0:i32, %32
%36:i32 = and 63:i32, %35
%37:i64 = zext %36
%38:i64 = shl %15, %37
%39:i1 = ne 0:i64, %38
%40:i64 = zext %39
%41:i64 = or %34, %40
%42:i64 = phi %0, %41, %15, 1:i64
infer %42
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i8 = var
%3:i1 = eq 1:i8, %2
%4:i1 = phi %1, 0:i1, %3
%5:i8 = var
%6:i8 = select %4, 1:i8, %5
%7:i8 = phi %0, 1:i8, %6, 1:i8
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i8 = var
%3:i1 = eq 3:i8, %2
%4:i1 = select %3, 0:i1, 1:i1
%5:i1 = eq 1:i8, %2
%6:i1 = select %4, %5, 1:i1
%7:i1 = phi %1, 0:i1, %6
%8:i8 = var
%9:i8 = select %7, 1:i8, %8
%10:i8 = phi %0, 1:i8, %9, 1:i8
infer %10
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i8 = var
%3:i8 = phi %1, %2, 0:i8
%4:i8 = phi %0, 244:i8, 0:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 2
%2:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14))
%3:i8 = phi %1, %2, 5:i8
%4:i8 = phi %0, 13:i8, 5:i8, %3
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %2, %3, %4
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %1, %5, %5, %6
%8:i64 = phi %0, %7, %5, %3
%9:i1 = ult 4096:i64, %8
infer %9
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %2, %3, %4
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %1, %5, %5, %6
%8:i64 = phi %0, %7, %5, %3
%9:i1 = ult 4096:i64, %8
pc %9 0:i1
%10:i64 = var
%11:i64 = add %10, %8
infer %11
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %2, %3, %4
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %1, %5, %5, %6
%8:i64 = phi %0, %7, %5, %3
%9:i1 = ult 4096:i64, %8
pc %9 0:i1
%10:i64 = var
%11:i64 = add %10, %8 (hasExternalUses)
%12:i1 = ult %11, %10
infer %12
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %2, %3, %4
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %1, %5, %5, %6
%8:i64 = phi %0, %7, %5, %3
%9:i1 = ult 4096:i64, %8
pc %9 0:i1
%10:i64 = var
%11:i64 = add %10, %8 (hasExternalUses)
%12:i1 = ult %11, %10
pc %12 0:i1
%13:i1 = ult 4096:i64, %11
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %2, %3, %4
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %1, %5, %5, %6
%8:i64 = phi %0, %7, %5, %3
%9:i1 = ult 4096:i64, %8
pc %9 0:i1
%10:i64 = var
%11:i64 = add %10, %8 (hasExternalUses)
%12:i1 = ult %11, %10
pc %12 0:i1
%13:i1 = ult 4096:i64, %11
pc %13 0:i1
%14:i64 = var
%15:i64 = add %14, %8
infer %15
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 3
%2 = block 2
%3:i64 = var
%4:i64 = add 18446744073709551615:i64, %3
%5:i64 = phi %2, %3, %4
%6:i64 = add 18446744073709551615:i64, %5
%7:i64 = phi %1, %5, %5, %6
%8:i64 = phi %0, %7, %5, %3
infer %8
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 3
%2:i64 = var
%3:i128 = zext %2
%4:i128 = var
%5:i1 = slt %4, 0:i128
%6:i128 = sub 0:i128, %4
%7:i128 = select %5, %6, %4
%8:i128 = lshr %7, 64:i128
%9:i64 = trunc %8
%10:i128 = var
%11:i1 = slt %10, 0:i128
%12:i128 = sub 0:i128, %10
%13:i128 = select %11, %12, %10
%14:i64 = trunc %13
%15:i64 = udiv %9, %14
%16:i128 = zext %15
%17:i128 = shlnuw %16, 64:i128
%18:i64 = var
%19:i128 = zext %18
%20:i128 = or %17, %19
%21:i64 = var
%22:i128 = lshr %13, 64:i128
%23:i64 = trunc %22
%24:i64 = ctlz %23
%25:i64 = xor 63:i64, %24
%26:i64 = lshr %21, %25
%27:i1 = eq 0:i64, %26
%28:i64 = add 18446744073709551615:i64, %26
%29:i64 = select %27, 0:i64, %28
%30:i128 = zext %29
%31:i128 = mul %13, %30
%32:i128 = sub %7, %31
%33:i1 = ult %32, %13
%34:i64 = select %33, 0:i64, 1:i64
%35:i64 = add %29, %34
%36:i128 = zext %35
%37:i128 = phi %1, %3, %20, %36
%38:i128 = sub 0:i128, %37
%39:i128 = phi %0, %38, %37, %37
infer %39
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1 = block 4
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = var
%7:i1 = slt %6, 0:i32
%8:i32 = sub 0:i32, %6
%9:i32 = select %7, %8, %6
%10:i32 = ctlz %9
%11:i32 = ctlz %5
%12:i32 = subnsw %10, %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %9, %13
%15:i1 = ult %5, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = zext %12
%18:i64 = addnsw %16, %17
%19:i32 = trunc %18
%20:i32 = and 31:i32, %19
%21:i32 = shlnuw 1:i32, %20
%22 = block 2
%23:i32 = shl %9, %20
%24:i32 = sub %5, %23
%25:i32 = lshr %23, 1:i32
%26:i32 = sub %24, %25
%27:i1 = slt 4294967295:i32, %26
%28:i64 = addnsw 18446744073709551615:i64, %18
%29:i32 = trunc %28
%30:i32 = and 31:i32, %29
%31:i32 = shlnuw 1:i32, %30
%32:i32 = select %27, %31, 0:i32
%33:i32 = or %21, %32
%34:i32 = phi %22, %33, %21
%35 = block 2
%36:i32 = select %27, %26, %24
%37:i32 = phi %22, %36, %24
%38:i32 = var
%39:i32 = shl %38, 1:i32
%40:i32 = phi %22, %25, %23
%41:i32 = addnsw 4294967295:i32, %40
%42:i32 = sub %39, %41
%43:i32 = ashr %42, 31:i32
%44:i32 = and %41, %43
%45:i32 = add %42, %44
%46:i32 = phi %35, %37, %45
%47:i32 = phi %22, %31, %21
%48:i32 = add 4294967295:i32, %47
%49:i32 = and %46, %48
%50:i32 = or %34, %49
%51:i32 = phi %1, 0:i32, %21, %50, %33
%52:i32 = sub 0:i32, %51
%53:i32 = phi %0, %52, %51, %51
infer %53
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1 = block 4
%2:i32 = var
%3:i1 = slt %2, 0:i32
%4:i32 = sub 0:i32, %2
%5:i32 = select %3, %4, %2
%6:i32 = var
%7:i1 = slt %6, 0:i32
%8:i32 = sub 0:i32, %6
%9:i32 = select %7, %8, %6
%10:i32 = ctlz %9
%11:i32 = ctlz %5
%12:i32 = subnsw %10, %11
%13:i32 = and 31:i32, %12
%14:i32 = shl %9, %13
%15:i1 = ult %5, %14
%16:i64 = select %15, 18446744073709551615:i64, 0:i64
%17:i64 = zext %12
%18:i64 = addnsw %16, %17
%19:i32 = trunc %18
%20:i32 = and 31:i32, %19
%21:i32 = shlnuw 1:i32, %20
%22 = block 2
%23:i32 = shl %9, %20
%24:i32 = sub %5, %23
%25:i32 = lshr %23, 1:i32
%26:i32 = sub %24, %25
%27:i1 = slt 4294967295:i32, %26
%28:i64 = addnsw 18446744073709551615:i64, %18
%29:i32 = trunc %28
%30:i32 = and 31:i32, %29
%31:i32 = shlnuw 1:i32, %30
%32:i32 = select %27, %31, 0:i32
%33:i32 = or %21, %32
%34:i32 = phi %22, %33, %21
%35:i32 = var
%36:i32 = phi %22, %31, %21
%37:i32 = add 4294967295:i32, %36
%38:i32 = and %35, %37
%39:i32 = or %34, %38
%40:i32 = phi %1, 0:i32, %21, %39, %33
%41:i32 = sub 0:i32, %40
%42:i32 = phi %0, %41, %40, %40
infer %42
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1 = block 4
%2:i64 = var
%3:i1 = slt %2, 0:i64
%4:i64 = sub 0:i64, %2
%5:i64 = select %3, %4, %2
%6:i64 = ctlz %5
%7:i64 = var
%8:i1 = slt %7, 0:i64
%9:i64 = sub 0:i64, %7
%10:i64 = select %8, %9, %7
%11:i64 = ctlz %10
%12:i64 = subnsw %6, %11
%13:i64 = and 4294967295:i64, %12
%14:i64 = and 63:i64, %12
%15:i64 = shl %5, %14
%16:i1 = ult %10, %15
%17:i64 = select %16, 18446744073709551615:i64, 0:i64
%18:i64 = addnsw %13, %17
%19:i64 = and 63:i64, %18
%20:i64 = shlnuw 1:i64, %19
%21 = block 2
%22:i64 = shl %5, %19
%23:i64 = sub %10, %22
%24:i64 = lshr %22, 1:i64
%25:i64 = sub %23, %24
%26:i1 = slt 18446744073709551615:i64, %25
%27:i64 = addnsw 18446744073709551615:i64, %18
%28:i64 = and 63:i64, %27
%29:i64 = shlnuw 1:i64, %28
%30:i64 = select %26, %29, 0:i64
%31:i64 = or %20, %30
%32:i64 = phi %21, %31, %20
%33 = block 2
%34:i64 = select %26, %25, %23
%35:i64 = phi %21, %34, %23
%36:i64 = var
%37:i64 = shl %36, 1:i64
%38:i64 = phi %21, %24, %22
%39:i64 = addnsw 18446744073709551615:i64, %38
%40:i64 = sub %37, %39
%41:i64 = ashr %40, 63:i64
%42:i64 = and %39, %41
%43:i64 = add %40, %42
%44:i64 = phi %33, %35, %43
%45:i64 = phi %21, %29, %20
%46:i64 = add 18446744073709551615:i64, %45
%47:i64 = and %44, %46
%48:i64 = or %32, %47
%49:i64 = phi %1, 0:i64, %20, %48, %31
%50:i64 = sub 0:i64, %49
%51:i64 = phi %0, %50, %49, %49
infer %51
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1 = block 4
%2:i64 = var
%3:i1 = slt %2, 0:i64
%4:i64 = sub 0:i64, %2
%5:i64 = select %3, %4, %2
%6:i64 = ctlz %5
%7:i64 = var
%8:i1 = slt %7, 0:i64
%9:i64 = sub 0:i64, %7
%10:i64 = select %8, %9, %7
%11:i64 = ctlz %10
%12:i64 = subnsw %6, %11
%13:i64 = and 4294967295:i64, %12
%14:i64 = and 63:i64, %12
%15:i64 = shl %5, %14
%16:i1 = ult %10, %15
%17:i64 = select %16, 18446744073709551615:i64, 0:i64
%18:i64 = addnsw %13, %17
%19:i64 = and 63:i64, %18
%20:i64 = shlnuw 1:i64, %19
%21 = block 2
%22:i64 = shl %5, %19
%23:i64 = sub %10, %22
%24:i64 = lshr %22, 1:i64
%25:i64 = sub %23, %24
%26:i1 = slt 18446744073709551615:i64, %25
%27:i64 = addnsw 18446744073709551615:i64, %18
%28:i64 = and 63:i64, %27
%29:i64 = shlnuw 1:i64, %28
%30:i64 = select %26, %29, 0:i64
%31:i64 = or %20, %30
%32:i64 = phi %21, %31, %20
%33:i64 = var
%34:i64 = phi %21, %29, %20
%35:i64 = add 18446744073709551615:i64, %34
%36:i64 = and %33, %35
%37:i64 = or %32, %36
%38:i64 = phi %1, 0:i64, %20, %37, %31
%39:i64 = sub 0:i64, %38
%40:i64 = phi %0, %39, %38, %38
infer %40
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1 = block 5
%2:i8 = var
%3:i8 = phi %1, 244:i8, 244:i8, %2, 0:i8, 244:i8
%4:i8 = phi %0, 0:i8, %3, 0:i8
%5:i32 = zext %4
%6:i32 = shlnw %5, 8:i32
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 5
%2:i8 = var
%3:i8 = phi %1, 244:i8, 244:i8, %2, 0:i8, 244:i8
%4:i8 = phi %0, 0:i8, %3, 0:i8
%5:i32 = zext %4
infer %5
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 5
%2:i8 = var
%3:i8 = phi %1, 244:i8, 244:i8, %2, 0:i8, 244:i8
%4:i8 = phi %0, 0:i8, %3, 0:i8
infer %4
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 5
%2:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14))
%3:i8 = phi %1, 13:i8, 13:i8, %2, 5:i8, 13:i8
%4 = block 13
%5:i8 = phi %4, 9:i8, 11:i8, 14:i8, 9:i8, 7:i8, 12:i8, 8:i8, 10:i8, 14:i8, 14:i8, 14:i8, 14:i8, 14:i8
%6:i8 = phi %0, 0:i8, %3, %5
%7:i32 = zext %6
infer %7
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 5
%2:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14))
%3:i8 = phi %1, 13:i8, 13:i8, %2, 5:i8, 13:i8
%4 = block 13
%5:i8 = phi %4, 9:i8, 11:i8, 14:i8, 9:i8, 7:i8, 12:i8, 8:i8, 10:i8, 14:i8, 14:i8, 14:i8, 14:i8, 14:i8
%6:i8 = phi %0, 0:i8, %3, %5
infer %6
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 6
%2:i64 = var
%3:i1 = slt 18446744073709551615:i64, %2
%4:i8 = select %3, 3:i8, 4:i8
%5 = block 2
%6:i32 = var
%7:i32 = var
%8:i32 = phi %5, %6, %7
%9:i32 = and 64:i32, %8
%10:i1 = eq 0:i32, %9
%11:i8 = select %10, 2:i8, 1:i8
%12:i8 = phi %1, %4, 3:i8, %11, 5:i8, 0:i8, 0:i8
%13:i8 = phi %0, 3:i8, 1:i8, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1 = block 6
%2:i64 = var
%3:i1 = slt 18446744073709551615:i64, %2
%4:i8 = select %3, 3:i8, 4:i8
%5 = block 2
%6:i32 = var
%7:i32 = var
%8:i32 = phi %5, %6, %7
%9:i32 = and 64:i32, %8
%10:i1 = eq 0:i32, %9
%11:i8 = select %10, 2:i8, 1:i8
%12:i8 = phi %1, 0:i8, %4, 3:i8, %11, 5:i8, 0:i8
%13:i8 = phi %0, 3:i8, 1:i8, %12
infer %13
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i1 = phi %0, 0:i1, 1:i1, 0:i1
infer %1
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i1 = phi %0, 0:i1, 1:i1, 1:i1
infer %1
>
<noinfer> <>
<sprofile > <13>
------------------------------------------------------
<%0 = block 3
%1:i1 = phi %0, 1:i1, 1:i1, 0:i1
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i1 = var
%2:i1 = var
%3:i1 = var
%4:i1 = phi %0, %1, %2, %3
infer %4
>
<noinfer> <>
<sprofile > <5>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i32 = trunc %7
%9 = block 3
%10:i32 = subnsw 102:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 26:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i32 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i32 = trunc %29
%31:i32 = phi %0, %8, %28, %30
%32:i32 = and 8388607:i32, %31
%33:i32 = xor 127:i32, %3
%34:i32 = subnw 128:i32, %3
%35:i32 = phi %0, %33, %34, %33
%36:i32 = shl %35, 23:i32
%37:i32 = add 1065353216:i32, %36
%38:i32 = and 2139095040:i32, %37
%39:i32 = or %32, %38
infer %39
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i32 = trunc %7
%9 = block 3
%10:i32 = subnsw 102:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 26:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i32 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i32 = trunc %29
%31:i32 = phi %0, %8, %28, %30
%32:i32 = and 8388607:i32, %31
infer %32
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 53:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i64 = trunc %7
%9 = block 3
%10:i32 = subnsw 73:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 55:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i64 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i64 = trunc %29
%31:i64 = phi %0, %8, %28, %30
%32:i64 = and 4503599627370495:i64, %31
%33:i32 = xor 127:i32, %3
%34:i32 = subnw 128:i32, %3
%35:i32 = phi %0, %33, %34, %33
%36:i32 = addnsw 1023:i32, %35
%37:i64 = zext %36
%38:i64 = shl %37, 52:i64
%39:i64 = and 9218868437227405312:i64, %38
%40:i64 = or %32, %39
infer %40
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 53:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i64 = trunc %7
%9 = block 3
%10:i32 = subnsw 73:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 55:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i64 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i64 = trunc %29
%31:i64 = phi %0, %8, %28, %30
%32:i64 = and 4503599627370495:i64, %31
infer %32
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19
infer %20 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111100)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 67108864:i128, %20
%22:i1 = eq 0:i128, %21
infer %22
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 67108864:i128, %20
%22:i1 = eq 0:i128, %21
pc %22 0:i1
%23:i128 = lshr %20, 3:i128
%24:i32 = trunc %23
infer %24 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 67108864:i128, %20
%22:i1 = eq 0:i128, %21
pc %22 0:i1
%23:i128 = lshr %20, 3:i128
infer %23 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 67108864:i128, %20
infer %21
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = lshr %20, 2:i128
%22:i32 = trunc %21
infer %22 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = lshr %20, 2:i128
infer %21 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
infer %19 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
infer %18 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
infer %17 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19
infer %20 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111100)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 36028797018963968:i128, %20
%22:i1 = eq 0:i128, %21
infer %22
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 36028797018963968:i128, %20
%22:i1 = eq 0:i128, %21
pc %22 0:i1
%23:i128 = lshr %20, 3:i128
%24:i64 = trunc %23
infer %24 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 36028797018963968:i128, %20
%22:i1 = eq 0:i128, %21
pc %22 0:i1
%23:i128 = lshr %20, 3:i128
infer %23 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 36028797018963968:i128, %20
infer %21
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = lshr %20, 2:i128
%22:i64 = trunc %21
infer %22 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = lshr %20, 2:i128
infer %21 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
infer %19 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
infer %18 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
infer %17 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
%8:i64 = zext %7
%9:i64 = shl %8, 52:i64
%10:i64 = and 9218868437227405312:i64, %9
infer %10
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
%8:i64 = zext %7
%9:i64 = shl %8, 52:i64
infer %9 (demandedBits=0111111111110000000000000000000000000000000000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
%8:i64 = zext %7
infer %8 (demandedBits=0000000000000000000000000000000000000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
infer %7 (demandedBits=00000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = shl %6, 23:i32
%8:i32 = add 1065353216:i32, %7
%9:i32 = and 2139095040:i32, %8
infer %9
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = shl %6, 23:i32
%8:i32 = add 1065353216:i32, %7
infer %8 (demandedBits=01111111100000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = shl %6, 23:i32
infer %7 (demandedBits=01111111110000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = addnw 24:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i32 = trunc %7
%9 = block 3
%10:i32 = subnsw 102:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 26:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25 (hasExternalUses)
%27:i128 = lshr %26, 3:i128
%28:i32 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i32 = trunc %29
%31:i32 = phi %0, %8, %28, %30
infer %31 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = addnw 53:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i64 = trunc %7
%9 = block 3
%10:i32 = subnsw 73:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 55:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25 (hasExternalUses)
%27:i128 = lshr %26, 3:i128
%28:i64 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i64 = trunc %29
%31:i64 = phi %0, %8, %28, %30
infer %31 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
infer %16 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
infer %16 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3 (hasExternalUses)
%6:i32 = phi %0, %4, %5, %4
infer %6 (demandedBits=00000000000000000000000011111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = xor 127:i32, %3
%5:i32 = subnw 128:i32, %3 (hasExternalUses)
%6:i32 = phi %0, %4, %5, %4
infer %6 (demandedBits=00000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = lshr %1, 64:i128
%3:i64 = trunc %2
%4:i32 = var
%5:i32 = and 63:i32, %4
%6:i64 = zext %5 (hasExternalUses)
%7:i64 = ashr %3, %6
%8:i128 = zext %7
%9:i128 = shlnuw %8, 64:i128
%10:i32 = sub 0:i32, %4
%11:i32 = and 63:i32, %10
%12:i64 = zext %11
%13:i64 = shl %3, %12
%14:i64 = trunc %1
%15:i64 = lshr %14, %6
%16:i64 = or %13, %15
%17:i128 = zext %16
%18:i128 = or %9, %17
%19:i128 = lshr %1, 64:i128
%20:i64 = trunc %19
%21:i64 = ashr %20, 63:i64
%22:i128 = zext %21
%23:i128 = shlnuw %22, 64:i128
%24:i64 = ashr %20, %6
%25:i128 = zext %24
%26:i128 = or %23, %25
%27:i128 = phi %0, %18, %26, %1
infer %27
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = lshr %1, 64:i128
%3:i64 = trunc %2
%4:i32 = var
%5:i32 = and 63:i32, %4
%6:i64 = zext %5 (hasExternalUses)
%7:i64 = lshr %3, %6
%8:i128 = zext %7
%9:i128 = shlnuw %8, 64:i128
%10:i32 = sub 0:i32, %4
%11:i32 = and 63:i32, %10
%12:i64 = zext %11
%13:i64 = shl %3, %12
%14:i64 = trunc %1
%15:i64 = lshr %14, %6
%16:i64 = or %13, %15
%17:i128 = zext %16
%18:i128 = or %9, %17
%19:i128 = lshr %1, 64:i128
%20:i64 = trunc %19
%21:i64 = lshr %20, %6
%22:i128 = zext %21
%23:i128 = phi %0, %18, %22, %1
infer %23
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = lshr %1, 64:i128
%3:i64 = trunc %2
%4:i32 = var
%5:i32 = and 63:i32, %4
%6:i64 = zext %5 (hasExternalUses)
%7:i64 = shl %3, %6
%8:i64 = trunc %1 (hasExternalUses)
%9:i32 = sub 0:i32, %4
%10:i32 = and 63:i32, %9
%11:i64 = zext %10
%12:i64 = lshr %8, %11
%13:i64 = or %7, %12
%14:i128 = zext %13
%15:i128 = shlnuw %14, 64:i128
%16:i64 = shl %8, %6
%17:i128 = zext %16 (hasExternalUses)
%18:i128 = or %15, %17
%19:i128 = shlnuw %17, 64:i128
%20:i128 = phi %0, %18, %19, %1
infer %20
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var
%2:i128 = var
%3:i128 = var
%4:i128 = phi %0, %1, %2, %3
infer %4
>
<noinfer> <>
<sprofile > <7>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i32 = trunc %7
%9 = block 3
%10:i32 = subnsw 102:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 26:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i32 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i32 = trunc %29
%31:i32 = phi %0, %8, %28, %30
%32:i32 = and 8388607:i32, %31
%33:i128 = var
%34:i128 = lshr %33, 96:i128
%35:i32 = trunc %34
%36:i32 = and 2147483648:i32, %35
%37:i32 = or %32, %36
infer %37
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i32 = trunc %7
%9 = block 3
%10:i32 = subnsw 102:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 26:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i32 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i32 = trunc %29
%31:i32 = phi %0, %8, %28, %30
%32:i32 = and 8388607:i32, %31
%33:i32 = subnsw 127:i32, %3
%34:i32 = subnsw 128:i32, %3
%35:i32 = phi %0, %33, %34, %33
%36:i32 = shl %35, 23:i32
%37:i32 = add 1065353216:i32, %36
%38:i32 = and 2139095040:i32, %37
%39:i128 = var
%40:i128 = lshr %39, 96:i128
%41:i32 = trunc %40
%42:i32 = and 2147483648:i32, %41
%43:i32 = or %38, %42
%44:i32 = or %32, %43
infer %44
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i32 = trunc %7
%9 = block 3
%10:i32 = subnsw 102:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 26:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i32 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i32 = trunc %29
%31:i32 = phi %0, %8, %28, %30
%32:i32 = and 8388607:i32, %31
infer %32
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 53:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i64 = trunc %7
%9 = block 3
%10:i32 = subnsw 73:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 55:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i64 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i64 = trunc %29
%31:i64 = phi %0, %8, %28, %30
%32:i64 = and 4503599627370495:i64, %31
%33:i128 = var
%34:i128 = lshr %33, 64:i128
%35:i64 = trunc %34
%36:i64 = and 9223372036854775808:i64, %35
%37:i64 = or %32, %36
infer %37
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 53:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i64 = trunc %7
%9 = block 3
%10:i32 = subnsw 73:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 55:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i64 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i64 = trunc %29
%31:i64 = phi %0, %8, %28, %30
%32:i64 = and 4503599627370495:i64, %31
%33:i32 = subnsw 127:i32, %3
%34:i32 = subnsw 128:i32, %3
%35:i32 = phi %0, %33, %34, %33
%36:i32 = addnsw 1023:i32, %35
%37:i64 = zext %36
%38:i64 = shl %37, 52:i64
%39:i64 = and 9218868437227405312:i64, %38
%40:i128 = var
%41:i128 = lshr %40, 64:i128
%42:i64 = trunc %41
%43:i64 = and 9223372036854775808:i64, %42
%44:i64 = or %39, %43
%45:i64 = or %32, %44
infer %45
>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = addnw 53:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i64 = trunc %7
%9 = block 3
%10:i32 = subnsw 73:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 55:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25
%27:i128 = lshr %26, 3:i128
%28:i64 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i64 = trunc %29
%31:i64 = phi %0, %8, %28, %30
%32:i64 = and 4503599627370495:i64, %31
infer %32
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19
infer %20 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111100)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 67108864:i128, %20
%22:i1 = eq 0:i128, %21
infer %22
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 67108864:i128, %20
%22:i1 = eq 0:i128, %21
pc %22 0:i1
%23:i128 = lshr %20, 3:i128
%24:i32 = trunc %23
infer %24 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 67108864:i128, %20
%22:i1 = eq 0:i128, %21
pc %22 0:i1
%23:i128 = lshr %20, 3:i128
infer %23 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 67108864:i128, %20
infer %21
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = lshr %20, 2:i128
%22:i32 = trunc %21
infer %22 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = lshr %20, 2:i128
infer %21 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
infer %19 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
infer %18 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
infer %17 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
%8:i64 = zext %7
%9:i64 = shl %8, 52:i64
%10:i64 = and 9218868437227405312:i64, %9
%11:i128 = var
%12:i128 = lshr %11, 64:i128
%13:i64 = trunc %12
%14:i64 = and 9223372036854775808:i64, %13
%15:i64 = or %10, %14
infer %15
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
%8:i64 = zext %7
%9:i64 = shl %8, 52:i64
%10:i64 = and 9218868437227405312:i64, %9
%11:i32 = addnw 53:i32, %3
%12:i32 = and 127:i32, %11
%13:i128 = zext %12
%14:i128 = shl %1, %13
%15:i64 = trunc %14
%16 = block 3
%17:i32 = subnsw 73:i32, %3
%18:i32 = and 127:i32, %17
%19:i128 = zext %18
%20:i128 = lshr %1, %19
%21:i32 = addnw 55:i32, %3
%22:i32 = and 127:i32, %21
%23:i128 = zext %22
%24:i128 = shl %1, %23
%25:i1 = ne 0:i128, %24
%26:i128 = zext %25
%27:i128 = or %20, %26
%28:i128 = shl %1, 1:i128
%29:i128 = phi %16, %27, %28, %1
%30:i128 = lshr %29, 2:i128
%31:i128 = and 1:i128, %30
%32:i128 = or %29, %31
%33:i128 = add 1:i128, %32
%34:i128 = lshr %33, 3:i128
%35:i64 = trunc %34
%36:i128 = lshr %33, 2:i128
%37:i64 = trunc %36
%38:i64 = phi %0, %15, %35, %37
%39:i64 = and 4503599627370495:i64, %38
%40:i128 = var
%41:i128 = lshr %40, 64:i128
%42:i64 = trunc %41
%43:i64 = and 9223372036854775808:i64, %42
%44:i64 = or %39, %43
%45:i64 = or %10, %44
infer %45
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
%8:i64 = zext %7
%9:i64 = shl %8, 52:i64
%10:i64 = and 9218868437227405312:i64, %9
infer %10
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
%8:i64 = zext %7
%9:i64 = shl %8, 52:i64
infer %9 (demandedBits=0111111111110000000000000000000000000000000000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
%8:i64 = zext %7
infer %8 (demandedBits=0000000000000000000000000000000000000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = addnsw 1023:i32, %6
infer %7 (demandedBits=00000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = shl %6, 23:i32
%8:i32 = add 1065353216:i32, %7
%9:i32 = and 2139095040:i32, %8
%10:i128 = var
%11:i128 = lshr %10, 96:i128
%12:i32 = trunc %11
%13:i32 = and 2147483648:i32, %12
%14:i32 = or %9, %13
infer %14
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = shl %6, 23:i32
%8:i32 = add 1065353216:i32, %7
%9:i32 = and 2139095040:i32, %8
%10:i32 = addnw 24:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = shl %1, %12
%14:i32 = trunc %13
%15 = block 3
%16:i32 = subnsw 102:i32, %3
%17:i32 = and 127:i32, %16
%18:i128 = zext %17
%19:i128 = lshr %1, %18
%20:i32 = addnw 26:i32, %3
%21:i32 = and 127:i32, %20
%22:i128 = zext %21
%23:i128 = shl %1, %22
%24:i1 = ne 0:i128, %23
%25:i128 = zext %24
%26:i128 = or %19, %25
%27:i128 = shl %1, 1:i128
%28:i128 = phi %15, %26, %27, %1
%29:i128 = lshr %28, 2:i128
%30:i128 = and 1:i128, %29
%31:i128 = or %28, %30
%32:i128 = add 1:i128, %31
%33:i128 = lshr %32, 3:i128
%34:i32 = trunc %33
%35:i128 = lshr %32, 2:i128
%36:i32 = trunc %35
%37:i32 = phi %0, %14, %34, %36
%38:i32 = and 8388607:i32, %37
%39:i128 = var
%40:i128 = lshr %39, 96:i128
%41:i32 = trunc %40
%42:i32 = and 2147483648:i32, %41
%43:i32 = or %38, %42
%44:i32 = or %9, %43
infer %44
>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = shl %6, 23:i32
%8:i32 = add 1065353216:i32, %7
%9:i32 = and 2139095040:i32, %8
infer %9
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = shl %6, 23:i32
%8:i32 = add 1065353216:i32, %7
infer %8 (demandedBits=01111111100000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3
%6:i32 = phi %0, %4, %5, %4
%7:i32 = shl %6, 23:i32
infer %7 (demandedBits=01111111110000000000000000000000)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19
infer %20 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111100)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 36028797018963968:i128, %20
%22:i1 = eq 0:i128, %21
infer %22
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 36028797018963968:i128, %20
%22:i1 = eq 0:i128, %21
pc %22 0:i1
%23:i128 = lshr %20, 3:i128
%24:i64 = trunc %23
infer %24 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 36028797018963968:i128, %20
%22:i1 = eq 0:i128, %21
pc %22 0:i1
%23:i128 = lshr %20, 3:i128
infer %23 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = and 36028797018963968:i128, %20
infer %21
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = lshr %20, 2:i128
%22:i64 = trunc %21
infer %22 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
%20:i128 = add 1:i128, %19 (hasExternalUses)
%21:i128 = lshr %20, 2:i128
infer %21 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
%19:i128 = or %16, %18
infer %19 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
%18:i128 = and 1:i128, %17
infer %18 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
%17:i128 = lshr %16, 2:i128
infer %17 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = addnw 24:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i32 = trunc %7
%9 = block 3
%10:i32 = subnsw 102:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 26:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25 (hasExternalUses)
%27:i128 = lshr %26, 3:i128
%28:i32 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i32 = trunc %29
%31:i32 = phi %0, %8, %28, %30
infer %31 (demandedBits=00000000011111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = addnw 53:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = shl %1, %6
%8:i64 = trunc %7
%9 = block 3
%10:i32 = subnsw 73:i32, %3
%11:i32 = and 127:i32, %10
%12:i128 = zext %11
%13:i128 = lshr %1, %12
%14:i32 = addnw 55:i32, %3
%15:i32 = and 127:i32, %14
%16:i128 = zext %15
%17:i128 = shl %1, %16
%18:i1 = ne 0:i128, %17
%19:i128 = zext %18
%20:i128 = or %13, %19
%21:i128 = shl %1, 1:i128
%22:i128 = phi %9, %20, %21, %1
%23:i128 = lshr %22, 2:i128
%24:i128 = and 1:i128, %23
%25:i128 = or %22, %24
%26:i128 = add 1:i128, %25 (hasExternalUses)
%27:i128 = lshr %26, 3:i128
%28:i64 = trunc %27
%29:i128 = lshr %26, 2:i128
%30:i64 = trunc %29
%31:i64 = phi %0, %8, %28, %30
infer %31 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = subnsw 102:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 26:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
infer %16 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3 (hasExternalUses)
%6:i32 = phi %0, %4, %5, %4
infer %6 (demandedBits=00000000000000000000000011111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = subnsw 127:i32, %3
%5:i32 = subnsw 128:i32, %3 (hasExternalUses)
%6:i32 = phi %0, %4, %5, %4
infer %6 (demandedBits=00000000000000000000011111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i128 = var (range=[1,-170141183460469231731687303715884105727))
%2:i128 = ctlz %1
%3:i32 = trunc %2 (hasExternalUses)
%4:i32 = subnsw 73:i32, %3
%5:i32 = and 127:i32, %4
%6:i128 = zext %5
%7:i128 = lshr %1, %6
%8:i32 = addnw 55:i32, %3
%9:i32 = and 127:i32, %8
%10:i128 = zext %9
%11:i128 = shl %1, %10
%12:i1 = ne 0:i128, %11
%13:i128 = zext %12
%14:i128 = or %7, %13
%15:i128 = shl %1, 1:i128
%16:i128 = phi %0, %14, %15, %1
infer %16 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <8>
------------------------------------------------------
<%0 = block 3
%1:i32 = phi %0, 0:i32, 1:i32, 1:i32
infer %1
>
<noinfer> <>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = phi %0, 1:i32, 0:i32, 0:i32
infer %1
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3 = block 2
%4:i32 = and 8388607:i32, %1
%5:i32 = or 8388608:i32, %4
%6:i128 = zext %5
%7:i32 = lshr %1, 23:i32
%8:i16 = trunc %7
%9:i16 = and 255:i16, %8
%10:i16 = subnw 150:i16, %9
%11:i32 = sext %10
%12:i128 = zext %11
%13:i128 = lshr %6, %12
%14:i16 = addnsw 65386:i16, %9
%15:i32 = sext %14
%16:i128 = zext %15
%17:i128 = shl %6, %16
%18:i128 = phi %3, %13, %17
%19:i128 = sub 0:i128, %18
%20:i128 = select %2, %19, %18
%21:i128 = select %2, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128
%22:i128 = phi %0, %20, %21, 0:i128
infer %22
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3 = block 2
%4:i32 = and 8388607:i32, %1
%5:i32 = or 8388608:i32, %4
%6:i128 = zext %5
%7:i32 = lshr %1, 23:i32
%8:i16 = trunc %7
%9:i16 = and 255:i16, %8
%10:i16 = subnw 150:i16, %9
%11:i32 = sext %10
%12:i128 = zext %11
%13:i128 = lshr %6, %12
%14:i32 = and 8388607:i32, %1
%15:i32 = or 8388608:i32, %14
%16:i128 = zext %15
%17:i16 = addnsw 65386:i16, %9
%18:i32 = sext %17
%19:i128 = zext %18
%20:i128 = shl %16, %19
%21:i128 = phi %3, %13, %20
%22:i128 = sub 0:i128, %21
%23:i128 = select %2, %22, %21
%24:i128 = select %2, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128
%25:i128 = phi %0, %23, %24, 0:i128
infer %25
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3 = block 2
%4:i32 = and 8388607:i32, %1
%5:i32 = or 8388608:i32, %4
%6:i32 = lshr %1, 23:i32
%7:i16 = trunc %6
%8:i16 = and 255:i16, %7
%9:i16 = subnw 150:i16, %8
%10:i32 = zext %9
%11:i32 = lshr %5, %10
%12:i16 = addnsw 65386:i16, %8
%13:i32 = zext %12
%14:i32 = shl %5, %13
%15:i32 = phi %3, %11, %14
%16:i32 = sub 0:i32, %15
%17:i32 = select %2, %16, %15
%18:i32 = select %2, 2147483648:i32, 2147483647:i32
%19:i32 = phi %0, %17, %18, 0:i32
infer %19
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3 = block 2
%4:i32 = and 8388607:i32, %1
%5:i32 = or 8388608:i32, %4
%6:i32 = lshr %1, 23:i32
%7:i16 = trunc %6
%8:i16 = and 255:i16, %7
%9:i16 = subnw 150:i16, %8
%10:i32 = zext %9
%11:i32 = lshr %5, %10
%12:i32 = and 8388607:i32, %1
%13:i32 = or 8388608:i32, %12
%14:i16 = addnsw 65386:i16, %8
%15:i32 = zext %14
%16:i32 = shl %13, %15
%17:i32 = phi %3, %11, %16
%18:i32 = sub 0:i32, %17
%19:i32 = select %2, %18, %17
%20:i32 = select %2, 2147483648:i32, 2147483647:i32
%21:i32 = phi %0, %19, %20, 0:i32
infer %21
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3 = block 2
%4:i32 = and 8388607:i32, %1
%5:i32 = or 8388608:i32, %4
%6:i64 = zext %5
%7:i32 = lshr %1, 23:i32
%8:i16 = trunc %7
%9:i16 = and 255:i16, %8
%10:i16 = subnw 150:i16, %9
%11:i64 = zext %10
%12:i64 = lshr %6, %11
%13:i16 = addnsw 65386:i16, %9
%14:i64 = zext %13
%15:i64 = shl %6, %14
%16:i64 = phi %3, %12, %15
%17:i64 = sub 0:i64, %16
%18:i64 = select %2, %17, %16
%19:i64 = select %2, 9223372036854775808:i64, 9223372036854775807:i64
%20:i64 = phi %0, %18, %19, 0:i64
infer %20
>
<noinfer> <>
<sprofile > <2>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i1 = slt %1, 0:i32
%3 = block 2
%4:i32 = and 8388607:i32, %1
%5:i32 = or 8388608:i32, %4
%6:i64 = zext %5
%7:i32 = lshr %1, 23:i32
%8:i16 = trunc %7
%9:i16 = and 255:i16, %8
%10:i16 = subnw 150:i16, %9
%11:i64 = zext %10
%12:i64 = lshr %6, %11
%13:i32 = and 8388607:i32, %1
%14:i32 = or 8388608:i32, %13
%15:i64 = zext %14
%16:i16 = addnsw 65386:i16, %9
%17:i64 = zext %16
%18:i64 = shl %15, %17
%19:i64 = phi %3, %12, %18
%20:i64 = sub 0:i64, %19
%21:i64 = select %2, %20, %19
%22:i64 = select %2, 9223372036854775808:i64, 9223372036854775807:i64
%23:i64 = phi %0, %21, %22, 0:i64
infer %23
>
<noinfer> <>
<sprofile > <6>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7
infer %8
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i64 = lshr %47, 33:i64
%52:i32 = trunc %51
%53:i32 = select %50, %49, %52
infer %53 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i64 = lshr %47, 33:i64
%52:i32 = trunc %51
%53:i32 = select %50, %49, %52 (hasExternalUses)
%54:i32 = mul %8, %53
infer %54 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46
infer %47 (demandedBits=1111111111111111111111111111111100000000000000000000000000000000)
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48
infer %49
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
infer %50
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 0:i1
%51:i32 = shl %43, 23:i32
%52:i64 = lshr %47, 33:i64
%53:i32 = trunc %52 (hasExternalUses)
%54:i32 = mul %8, %53
%55:i32 = sub %51, %54
infer %55 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 0:i1
%51:i32 = shl %43, 23:i32
infer %51 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 0:i1
%51:i64 = lshr %47, 33:i64
%52:i32 = trunc %51
infer %52 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 0:i1
%51:i64 = lshr %47, 33:i64
%52:i32 = trunc %51 (hasExternalUses)
%53:i32 = mul %8, %52
infer %53 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 0:i1
%51:i64 = lshr %47, 33:i64
infer %51 (demandedBits=0000000000000000000000000000000001111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 1:i1
%51:i32 = mul %8, %49
infer %51 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 1:i1
%51:i32 = shl %43, 24:i32
%52:i32 = mul %8, %49
%53:i32 = sub %51, %52
infer %53 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 1:i1
%51:i32 = shl %43, 24:i32
infer %51 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32
pc %50 1:i1
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60 (hasExternalUses)
%62:i32 = addnsw 4294967295:i32, %61
infer %62
>
<sprofile > <3>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = select %50, 24:i32, 23:i32
infer %51
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63
infer %64
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
infer %65
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
infer %66
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
pc %66 0:i1
%67:i32 = select %50, 24:i32, 23:i32
%68:i32 = shl %43, %67
%69:i64 = lshr %47, 33:i64
%70:i32 = trunc %69
%71:i32 = select %50, %49, %70 (hasExternalUses)
%72:i32 = mul %8, %71
%73:i32 = sub %68, %72
%74:i32 = shl %73, 1:i32
%75:i1 = ult %8, %74
%76:i32 = zext %75
infer %76
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
pc %66 0:i1
%67:i32 = select %50, 24:i32, 23:i32
%68:i32 = shl %43, %67
%69:i64 = lshr %47, 33:i64
%70:i32 = trunc %69
%71:i32 = select %50, %49, %70 (hasExternalUses)
%72:i32 = mul %8, %71
%73:i32 = sub %68, %72
%74:i32 = shl %73, 1:i32
%75:i1 = ult %8, %74
infer %75
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
pc %66 0:i1
%67:i32 = select %50, 24:i32, 23:i32
%68:i32 = shl %43, %67
%69:i64 = lshr %47, 33:i64
%70:i32 = trunc %69
%71:i32 = select %50, %49, %70 (hasExternalUses)
%72:i32 = mul %8, %71
%73:i32 = sub %68, %72
%74:i32 = shl %73, 1:i32
infer %74
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
pc %66 0:i1
%67:i32 = shlnw %64, 23:i32
infer %67
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
pc %66 0:i1
%67:i64 = lshr %47, 33:i64
%68:i32 = trunc %67
%69:i32 = select %50, %49, %68
%70:i32 = and 8388607:i32, %69
%71:i32 = shlnw %64, 23:i32
%72:i32 = or %70, %71
%73:i32 = select %50, 24:i32, 23:i32
%74:i32 = shl %43, %73
%75:i32 = mul %8, %69
%76:i32 = sub %74, %75
%77:i32 = shl %76, 1:i32
%78:i1 = ult %8, %77
%79:i32 = zext %78
%80:i32 = add %72, %79
%81:i32 = xor %36, %1
%82:i32 = and 2147483648:i32, %81 (hasExternalUses)
%83:i32 = or %80, %82
infer %83
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
pc %66 0:i1
%67:i64 = lshr %47, 33:i64
%68:i32 = trunc %67
%69:i32 = select %50, %49, %68
%70:i32 = and 8388607:i32, %69
%71:i32 = shlnw %64, 23:i32
%72:i32 = or %70, %71
%73:i32 = select %50, 24:i32, 23:i32
%74:i32 = shl %43, %73
%75:i32 = mul %8, %69
%76:i32 = sub %74, %75
%77:i32 = shl %76, 1:i32
%78:i1 = ult %8, %77
%79:i32 = zext %78
%80:i32 = add %72, %79
infer %80
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
pc %66 0:i1
%67:i64 = lshr %47, 33:i64
%68:i32 = trunc %67
%69:i32 = select %50, %49, %68 (hasExternalUses)
%70:i32 = and 8388607:i32, %69
%71:i32 = shlnw %64, 23:i32
%72:i32 = or %70, %71
infer %72
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 0:i1
%66:i1 = slt %64, 1:i32
pc %66 0:i1
%67:i64 = lshr %47, 33:i64
%68:i32 = trunc %67
%69:i32 = select %50, %49, %68 (hasExternalUses)
%70:i32 = and 8388607:i32, %69
infer %70
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
%64:i32 = add 127:i32, %63 (hasExternalUses)
%65:i1 = slt 254:i32, %64
pc %65 1:i1
%66:i32 = xor %36, %1
%67:i32 = and 2147483648:i32, %66 (hasExternalUses)
%68:i32 = or 2139095040:i32, %67
infer %68
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
%49:i32 = trunc %48 (hasExternalUses)
%50:i1 = ult %49, 16777216:i32 (hasExternalUses)
%51:i32 = subnsw 9:i32, %38
%52:i32 = phi %35, %51, 0:i32
%53:i32 = addnsw 4294967287:i32, %3
%54:i32 = addnsw %52, %53
%55:i32 = phi %0, %54, %52, 0:i32
%56:i32 = lshr %36, 23:i32
%57:i32 = and 255:i32, %56 (hasExternalUses)
%58:i32 = lshr %1, 23:i32
%59:i32 = and 255:i32, %58 (hasExternalUses)
%60:i32 = subnsw %57, %59
%61:i32 = addnsw %55, %60
%62:i32 = addnsw 4294967295:i32, %61
%63:i32 = select %50, %62, %61
infer %63
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 32:i64
infer %48 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 33:i64
%49:i32 = trunc %48
infer %49 (demandedBits=01111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
%35 = block 2
%36:i32 = var
%37:i32 = and 8388607:i32, %36
%38:i32 = ctlz %37
%39:i32 = addnw 24:i32, %38
%40:i32 = and 31:i32, %39
%41:i32 = shl %37, %40
%42:i32 = phi %35, %41, %37
%43:i32 = phi %0, %42, %42, %37
%44:i32 = shl %43, 1:i32
%45:i32 = or 16777216:i32, %44
%46:i64 = zext %45
%47:i64 = mulnuw %34, %46 (hasExternalUses)
%48:i64 = lshr %47, 33:i64
infer %48 (demandedBits=0000000000000000000000000000000001111111111111111111111111111111)
>
<sprofile > <1>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
%34:i64 = and 4294967295:i64, %33
infer %34
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
%33:i64 = addnw 4294967294:i64, %32
infer %33 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:i32 = ctlz %2
%4:i32 = addnw 24:i32, %3
%5:i32 = and 31:i32, %4
%6:i32 = shl %2, %5
%7:i32 = phi %0, %6, %2, %2
%8:i32 = or 8388608:i32, %7 (hasExternalUses)
%9:i32 = shl %8, 8:i32
%10:i32 = sub 1963258675:i32, %9
%11:i64 = zext %10
%12:i64 = zext %9
%13:i64 = mulnuw %11, %12
%14:i64 = lshr %13, 32:i64
%15:i64 = subnsw 0:i64, %14
%16:i64 = and 4294967295:i64, %15
%17:i64 = mulnuw %16, %11
%18:i64 = lshr %17, 31:i64
%19:i64 = and 4294967295:i64, %18
%20:i64 = mulnuw %19, %12
%21:i64 = lshr %20, 32:i64
%22:i64 = subnsw 0:i64, %21
%23:i64 = and 4294967295:i64, %22
%24:i64 = mulnuw %23, %19
%25:i64 = lshr %24, 31:i64
%26:i64 = and 4294967295:i64, %25
%27:i64 = mulnuw %26, %12
%28:i64 = lshr %27, 32:i64
%29:i64 = subnsw 0:i64, %28
%30:i64 = and 4294967295:i64, %29
%31:i64 = mulnuw %30, %26
%32:i64 = lshr %31, 31:i64
infer %32 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111)
>
<noinfer> <>
<sprofile > <4>
------------------------------------------------------
<%0 = block 3
%1:i32 = var
%2:i32 = and 8388607:i32, %1
%3:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment